summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/Makefile.am19
-rw-r--r--client/Makefile.in938
-rw-r--r--client/buttons.h759
-rwxr-xr-xclient/config/Makefile.am14
-rw-r--r--client/config/Makefile.in786
-rw-r--r--client/config/configdialog.cc276
-rwxr-xr-xclient/config/configdialog.ui566
-rwxr-xr-xclient/config/polyesterconfig.cc205
-rwxr-xr-xclient/config/polyesterconfig.h60
-rwxr-xr-xclient/create-buttons.sh17
-rw-r--r--client/images/Makefile.am1
-rw-r--r--client/images/Makefile.in550
-rwxr-xr-xclient/images/button.svg628
-rwxr-xr-xclient/images/circle.svg296
-rwxr-xr-xclient/images/circle2.svg306
-rwxr-xr-xclient/images/close.svg378
-rwxr-xr-xclient/images/help.svg415
-rwxr-xr-xclient/images/keep_above.svg624
-rwxr-xr-xclient/images/keep_above_lit.svg626
-rwxr-xr-xclient/images/keep_below.svg792
-rwxr-xr-xclient/images/keep_below_lit.svg778
-rwxr-xr-xclient/images/maximize.svg200
-rwxr-xr-xclient/images/minimize.svg774
-rwxr-xr-xclient/images/restore.svg952
-rwxr-xr-xclient/images/splat.svg1109
-rwxr-xr-xclient/images/unsplat.svg1263
-rwxr-xr-xclient/images/window_background.svg1415
-rwxr-xr-xclient/images/window_foreground.svg1586
-rwxr-xr-xclient/polyester.cc1858
-rwxr-xr-xclient/polyester.desktop5
-rwxr-xr-xclient/polyester.h298
-rwxr-xr-xclient/shadow.cpp124
-rwxr-xr-xclient/shadow.h51
33 files changed, 18669 insertions, 0 deletions
diff --git a/client/Makefile.am b/client/Makefile.am
new file mode 100644
index 0000000..5b779ba
--- /dev/null
+++ b/client/Makefile.am
@@ -0,0 +1,19 @@
+AUTOMAKE_OPTIONS = foreign
+
+SUBDIRS = config images
+
+KDE_CXXFLAGS = -DQT_PLUGIN
+
+METASOURCES = AUTO
+
+INCLUDES = $(all_includes) -I$(kde_includes)/kwin
+
+kwindir = $(kde_datadir)/kwin/
+kwin_DATA = polyester.desktop
+
+noinst_HEADERS = polyester.h buttons.h shadow.h ../style/misc.h
+
+kde_module_LTLIBRARIES = kwin3_polyester.la
+kwin3_polyester_la_SOURCES = polyester.cc shadow.cpp ../style/misc.cpp
+kwin3_polyester_la_LIBADD = $(kde_libraries)/libkdecorations.la
+kwin3_polyester_la_LDFLAGS = -module $(all_libraries) $(KDE_PLUGIN) -lkdecore
diff --git a/client/Makefile.in b/client/Makefile.in
new file mode 100644
index 0000000..5680077
--- /dev/null
+++ b/client/Makefile.in
@@ -0,0 +1,938 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = client
+DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(kde_moduledir)" "$(DESTDIR)$(kwindir)"
+kde_moduleLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(kde_module_LTLIBRARIES)
+kwin3_polyester_la_DEPENDENCIES = $(kde_libraries)/libkdecorations.la
+am_kwin3_polyester_la_OBJECTS = polyester.lo shadow.lo misc.lo
+#>- kwin3_polyester_la_OBJECTS = $(am_kwin3_polyester_la_OBJECTS)
+#>+ 4
+kwin3_polyester_la_final_OBJECTS = polyester.lo kwin3_polyester_la.all_cpp.lo
+kwin3_polyester_la_nofinal_OBJECTS = polyester.lo shadow.lo misc.lo
+@KDE_USE_FINAL_FALSE@kwin3_polyester_la_OBJECTS = $(kwin3_polyester_la_nofinal_OBJECTS)
+@KDE_USE_FINAL_TRUE@kwin3_polyester_la_OBJECTS = $(kwin3_polyester_la_final_OBJECTS)
+#>- kwin3_polyester_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+#>- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+#>- $(CXXFLAGS) $(kwin3_polyester_la_LDFLAGS) $(LDFLAGS) -o $@
+#>+ 3
+kwin3_polyester_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(KDE_CXXFLAGS) $(kwin3_polyester_la_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/admin/depcomp
+am__depfiles_maybe = depfiles
+#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+#>+ 2
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS)
+#>- LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+#>+ 3
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS)
+CXXLD = $(CXX)
+#>- CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+#>- $(LDFLAGS) -o $@
+#>+ 3
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(kwin3_polyester_la_SOURCES)
+DIST_SOURCES = $(kwin3_polyester_la_SOURCES)
+#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+#>- html-recursive info-recursive install-data-recursive \
+#>- install-dvi-recursive install-exec-recursive \
+#>- install-html-recursive install-info-recursive \
+#>- install-pdf-recursive install-ps-recursive install-recursive \
+#>- installcheck-recursive installdirs-recursive pdf-recursive \
+#>- ps-recursive uninstall-recursive
+#>+ 7
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive
+kwinDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(kwin_DATA)
+HEADERS = $(noinst_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+AUTOMAKE_OPTIONS = foreign
+SUBDIRS = config images
+KDE_CXXFLAGS = -DQT_PLUGIN
+#>- METASOURCES = AUTO
+INCLUDES = $(all_includes) -I$(kde_includes)/kwin
+kwindir = $(kde_datadir)/kwin/
+kwin_DATA = polyester.desktop
+noinst_HEADERS = polyester.h buttons.h shadow.h ../style/misc.h
+kde_module_LTLIBRARIES = kwin3_polyester.la
+kwin3_polyester_la_SOURCES = polyester.cc shadow.cpp ../style/misc.cpp
+kwin3_polyester_la_LIBADD = $(kde_libraries)/libkdecorations.la
+kwin3_polyester_la_LDFLAGS = -module $(all_libraries) $(KDE_PLUGIN) -lkdecore
+#>- all: all-recursive
+#>+ 1
+all: docs-am all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .cc .cpp .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign client/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --foreign client/Makefile
+#>+ 12
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign client/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign client/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin client/Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-kde_moduleLTLIBRARIES: $(kde_module_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(kde_moduledir)" || $(MKDIR_P) "$(DESTDIR)$(kde_moduledir)"
+ @list='$(kde_module_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=install $(kde_moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(kde_moduledir)/$$f'"; \
+ $(LIBTOOL) --mode=install $(kde_moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(kde_moduledir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-kde_moduleLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(kde_module_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(kde_moduledir)/$$p'"; \
+ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(kde_moduledir)/$$p"; \
+ done
+
+clean-kde_moduleLTLIBRARIES:
+ -test -z "$(kde_module_LTLIBRARIES)" || rm -f $(kde_module_LTLIBRARIES)
+ @list='$(kde_module_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+kwin3_polyester.la: $(kwin3_polyester_la_OBJECTS) $(kwin3_polyester_la_DEPENDENCIES)
+ $(kwin3_polyester_la_LINK) -rpath $(kde_moduledir) $(kwin3_polyester_la_OBJECTS) $(kwin3_polyester_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polyester.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadow.Plo@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+misc.lo: ../style/misc.cpp
+#>- @am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT misc.lo -MD -MP -MF $(DEPDIR)/misc.Tpo -c -o misc.lo `test -f '../style/misc.cpp' || echo '$(srcdir)/'`../style/misc.cpp
+#>+ 1
+@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -MT misc.lo -MD -MP -MF $(DEPDIR)/misc.Tpo -c -o misc.lo `test -f '../style/misc.cpp' || echo '$(srcdir)/'`../style/misc.cpp
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/misc.Tpo $(DEPDIR)/misc.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../style/misc.cpp' object='misc.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+#>- @am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o misc.lo `test -f '../style/misc.cpp' || echo '$(srcdir)/'`../style/misc.cpp
+#>+ 1
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -c -o misc.lo `test -f '../style/misc.cpp' || echo '$(srcdir)/'`../style/misc.cpp
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-kwinDATA: $(kwin_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(kwindir)" || $(MKDIR_P) "$(DESTDIR)$(kwindir)"
+ @list='$(kwin_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(kwinDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(kwindir)/$$f'"; \
+ $(kwinDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(kwindir)/$$f"; \
+ done
+
+uninstall-kwinDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(kwin_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(kwindir)/$$f'"; \
+ rm -f "$(DESTDIR)$(kwindir)/$$f"; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(kde_moduledir)" "$(DESTDIR)$(kwindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+#>- clean: clean-recursive
+#>+ 1
+clean: kde-rpo-clean clean-recursive
+
+#>- clean-am: clean-generic clean-kde_moduleLTLIBRARIES clean-libtool \
+#>- mostlyclean-am
+#>+ 2
+clean-am: clean-metasources clean-bcheck clean-final clean-generic clean-kde_moduleLTLIBRARIES clean-libtool \
+ mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+#>- install-data-am: install-kde_moduleLTLIBRARIES install-kwinDATA
+#>+ 1
+install-data-am: install-kwinDATA
+
+install-dvi: install-dvi-recursive
+
+#>- install-exec-am:
+#>+ 1
+install-exec-am: install-kde_moduleLTLIBRARIES
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-kde_moduleLTLIBRARIES uninstall-kwinDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic \
+ clean-kde_moduleLTLIBRARIES clean-libtool ctags \
+ ctags-recursive distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-kde_moduleLTLIBRARIES install-kwinDATA \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am \
+ uninstall-kde_moduleLTLIBRARIES uninstall-kwinDATA
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
+
+
+#>+ 3
+polyester.moc: $(srcdir)/polyester.h
+ $(MOC) $(srcdir)/polyester.h -o polyester.moc
+
+#>+ 2
+mocs: polyester.moc
+
+#>+ 3
+clean-metasources:
+ -rm -f polyester.moc
+
+#>+ 2
+KDE_DIST=polyester.desktop Makefile.in create-buttons.sh Makefile.am
+
+#>+ 2
+docs-am:
+
+#>+ 15
+force-reedit:
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign client/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign client/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin client/Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-recursive
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXXCOMPILE) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 11
+kwin3_polyester_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/shadow.cpp $(srcdir)/../style/misc.cpp polyester.moc
+ @echo 'creating kwin3_polyester_la.all_cpp.cpp ...'; \
+ rm -f kwin3_polyester_la.all_cpp.files kwin3_polyester_la.all_cpp.final; \
+ echo "#define KDE_USE_FINAL 1" >> kwin3_polyester_la.all_cpp.final; \
+ for file in shadow.cpp ../style/misc.cpp ; do \
+ echo "#include \"$$file\"" >> kwin3_polyester_la.all_cpp.files; \
+ test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> kwin3_polyester_la.all_cpp.final; \
+ done; \
+ cat kwin3_polyester_la.all_cpp.final kwin3_polyester_la.all_cpp.files > kwin3_polyester_la.all_cpp.cpp; \
+ rm -f kwin3_polyester_la.all_cpp.final kwin3_polyester_la.all_cpp.files
+
+#>+ 3
+clean-final:
+ -rm -f kwin3_polyester_la.all_cpp.cpp
+
+#>+ 3
+final:
+ $(MAKE) kwin3_polyester_la_OBJECTS="$(kwin3_polyester_la_final_OBJECTS)" all-am
+
+#>+ 3
+final-install:
+ $(MAKE) kwin3_polyester_la_OBJECTS="$(kwin3_polyester_la_final_OBJECTS)" install-am
+
+#>+ 3
+no-final:
+ $(MAKE) kwin3_polyester_la_OBJECTS="$(kwin3_polyester_la_nofinal_OBJECTS)" all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) kwin3_polyester_la_OBJECTS="$(kwin3_polyester_la_nofinal_OBJECTS)" install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 5
+nmcheck:
+polyester.lo: polyester.moc
+nmcheck-am: nmcheck
+polyester.o: polyester.moc
diff --git a/client/buttons.h b/client/buttons.h
new file mode 100644
index 0000000..33f5f6c
--- /dev/null
+++ b/client/buttons.h
@@ -0,0 +1,759 @@
+/****************************************************************************
+** Image collection for project 'buttons'.
+**
+** Generated from reading image files:
+** images/circle.png
+** images/circle2.png
+** images/close.png
+** images/help.png
+** images/keep_above.png
+** images/keep_above_lit.png
+** images/keep_below.png
+** images/keep_below_lit.png
+** images/maximize.png
+** images/minimize.png
+** images/restore.png
+** images/splat.png
+** images/unsplat.png
+** images/window_background.png
+** images/window_foreground.png
+**
+** Created: Tue Nov 21 15:01:22 2006
+** by: The User Interface Compiler ($Id: qt/embed.cpp 3.3.6 edited Aug 31 2005 $)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+
+#include <qimage.h>
+#include <qdict.h>
+#include <qmime.h>
+#include <qdragobject.h>
+
+// images/circle.png
+static const unsigned char image_0_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0x96,0x5f,0x48,0x53,0x61,0x18,0xc6,
+ 0xfd,0xff,0x1f,0x8d,0x94,0xc2,0x10,0x4d,0x6a,0xc6,0xee,0x94,0x0c,0x42,
+ 0xcd,0x44,0xa5,0x8b,0x12,0x0c,0xd3,0xc0,0x50,0x49,0xbd,0x31,0x08,0x63,
+ 0xea,0x45,0x24,0x12,0x98,0x17,0x41,0x6a,0x4e,0x8d,0xf2,0x22,0x91,0xa4,
+ 0x22,0xa2,0x34,0xf2,0x22,0x4b,0x37,0x13,0x24,0x8c,0xca,0x6a,0xab,0xe9,
+ 0x56,0xea,0x2a,0x45,0x65,0x3a,0x99,0xdb,0x3c,0xea,0xf4,0xf4,0xbc,0x6c,
+ 0xe7,0x30,0x2d,0xdd,0x99,0x69,0x57,0x0a,0xbf,0x0b,0xdf,0xef,0xbc,0xdf,
+ 0x73,0xce,0xf7,0x3e,0xef,0xfb,0x8d,0x65,0x59,0x17,0x76,0x87,0x1d,0x84,
+ 0x13,0x08,0x0e,0x81,0x53,0xa0,0x0c,0x54,0x80,0x73,0x20,0x06,0xec,0x05,
+ 0x6e,0xdb,0xa4,0x1b,0x09,0x6e,0x80,0x17,0xe0,0x3d,0xd0,0x28,0x14,0x8a,
+ 0xc9,0xbe,0xbe,0x3e,0x9d,0xd9,0x6c,0x1e,0xc1,0xff,0x0a,0x20,0x07,0xf7,
+ 0x40,0x0a,0x70,0xdd,0x22,0x5d,0x4f,0x70,0x16,0xbc,0x52,0xab,0xd5,0x13,
+ 0xa5,0xa5,0xa5,0xf3,0x71,0x71,0x71,0x8b,0x01,0x01,0x01,0x2b,0x2e,0x2e,
+ 0x2e,0x2c,0xe1,0xee,0xee,0xce,0x8a,0xc5,0x62,0x4b,0x5e,0x5e,0x1e,0xd3,
+ 0xd1,0xd1,0x31,0x8b,0x67,0x3f,0x80,0xab,0x20,0xf8,0x1f,0xb5,0xf7,0x80,
+ 0x9b,0x40,0xd9,0xd8,0xd8,0x38,0xe7,0xe7,0xe7,0xc7,0x6b,0x6e,0x44,0x6e,
+ 0x6e,0x2e,0xa3,0xd7,0xeb,0xb5,0xc8,0x7b,0x0a,0xe2,0x36,0xa9,0xed,0x05,
+ 0xa4,0xe3,0xe3,0xe3,0xbf,0x52,0x52,0x52,0x16,0xff,0xa6,0x13,0x14,0x14,
+ 0xb4,0x12,0x16,0x16,0xb6,0xec,0xea,0xea,0xfa,0xc7,0x5a,0x68,0x68,0xe8,
+ 0x72,0x57,0x57,0x97,0x1e,0x7b,0x74,0x81,0x03,0x9b,0xd0,0x27,0x4f,0x7d,
+ 0x4d,0x48,0x48,0x58,0xa5,0x1d,0x19,0x19,0x69,0x69,0x69,0x69,0x31,0x0c,
+ 0x0e,0x0e,0x4e,0x62,0xfd,0x1b,0x18,0xd2,0xe9,0x74,0x63,0x74,0xee,0xe9,
+ 0xe9,0xe9,0x0b,0xf6,0xcf,0xfa,0xfb,0xfb,0xaf,0x68,0x34,0x9a,0x09,0x3c,
+ 0xd3,0x08,0xbc,0x9d,0xd0,0x16,0x01,0x59,0x6d,0x6d,0xad,0x91,0xdb,0x8b,
+ 0xbe,0xb1,0xa8,0xa8,0x68,0xde,0x60,0x30,0x8c,0x62,0xed,0x09,0xb8,0x0c,
+ 0x4e,0x83,0x54,0x70,0x11,0xdc,0x01,0x9f,0xe9,0xdd,0x02,0x03,0x03,0xf9,
+ 0x3a,0xd1,0xfb,0xd3,0x77,0x80,0x3c,0x81,0xda,0xe4,0xdb,0x06,0x95,0x4a,
+ 0x35,0xe1,0xe3,0xe3,0xc3,0xef,0x53,0x56,0x56,0x36,0x8f,0xf8,0x47,0x70,
+ 0x05,0xec,0x5e,0xc7,0xa7,0x67,0x40,0xa7,0x4c,0x26,0xd3,0xbb,0xb9,0xb9,
+ 0xf1,0xe7,0x50,0x5d,0x5d,0x6d,0x44,0xbc,0x1b,0x84,0x09,0xd0,0xa7,0x1e,
+ 0x96,0xe7,0xe7,0xe7,0x33,0x5c,0x7e,0x54,0x54,0x94,0x85,0x61,0x98,0x11,
+ 0xd6,0xda,0xef,0x8e,0xf2,0xc9,0x6f,0xfd,0x12,0x89,0x64,0x9e,0xcb,0x0f,
+ 0x0e,0x0e,0x5e,0x46,0x4c,0x03,0x4e,0x0a,0xc8,0x3f,0x4c,0x7e,0x47,0x3f,
+ 0x2d,0x71,0xf9,0x6d,0x6d,0x6d,0xd4,0x53,0x0f,0x41,0x90,0xc0,0x33,0x94,
+ 0x60,0x26,0x68,0xed,0x7b,0x94,0x7a,0x57,0xe0,0xfb,0xe7,0xe0,0x5b,0x47,
+ 0x3d,0x3c,0x3c,0xf8,0xba,0xa3,0x97,0x7e,0x22,0x7e,0xc1,0x09,0xff,0x88,
+ 0xc1,0xbb,0xf8,0xf8,0x78,0xde,0xbb,0xad,0xad,0xad,0x06,0xc4,0xee,0x0a,
+ 0xc8,0xad,0xec,0xed,0xed,0xd5,0x71,0x79,0x11,0x11,0x11,0x16,0xf2,0x38,
+ 0x48,0x72,0x42,0x9f,0xce,0xa9,0xb3,0xb8,0xb8,0x98,0xaf,0x01,0xe6,0x96,
+ 0x19,0xb1,0x97,0x60,0x97,0x83,0xdc,0xfa,0xf6,0xf6,0xf6,0x59,0x2e,0x2f,
+ 0x36,0x36,0x76,0x89,0xb5,0xce,0xd6,0x18,0x27,0xf4,0x3d,0xc0,0xb3,0xaa,
+ 0xaa,0x2a,0x13,0xb7,0x4f,0x41,0x41,0x01,0x83,0xd8,0x6b,0x10,0xea,0x20,
+ 0xf7,0x92,0x56,0xab,0x1d,0xe7,0xf2,0x68,0xe6,0xe1,0x6f,0x98,0xb5,0xce,
+ 0x60,0xa1,0xfa,0xe4,0xf3,0xde,0xcc,0xcc,0x4c,0x7e,0x1e,0xd4,0xd4,0xd4,
+ 0x50,0x0f,0xd0,0x3c,0xf4,0x74,0x90,0x7b,0x02,0xa8,0x43,0x42,0x42,0x96,
+ 0xb9,0xdc,0x81,0x81,0x81,0x29,0xc4,0xaa,0x9c,0xd0,0x3f,0x0e,0xbe,0xd0,
+ 0xac,0xe2,0xf6,0x40,0x4f,0x4e,0x23,0x76,0x5d,0x40,0xee,0x41,0xf0,0x36,
+ 0x39,0x39,0x99,0xf7,0x0e,0x7a,0x89,0x6a,0xd7,0x0f,0x8e,0x0a,0xac,0xfd,
+ 0x03,0x9a,0xbd,0xdc,0x5c,0xa6,0xfb,0xc9,0x64,0x32,0xfd,0x40,0xfc,0xbc,
+ 0x80,0x7c,0x3f,0xaa,0x5d,0x53,0x53,0xd3,0x1c,0xa7,0x4f,0xb3,0x44,0x2e,
+ 0x97,0xcf,0x20,0xfe,0xd8,0xf6,0x7e,0x1b,0x69,0x57,0x18,0x8d,0xc6,0x51,
+ 0xf2,0x2d,0x97,0x9f,0x9a,0x9a,0x4a,0x33,0xf0,0x13,0x88,0x15,0x78,0x7e,
+ 0x39,0x40,0x95,0x98,0x98,0xc8,0x9f,0x41,0x78,0x78,0xb8,0x45,0xa9,0x54,
+ 0xd2,0xcc,0x97,0xdb,0xd6,0xc3,0x59,0xeb,0x1d,0x45,0xf3,0x92,0xee,0xc9,
+ 0x63,0xe0,0x3e,0xfa,0xfe,0x7b,0x56,0x56,0xd6,0x82,0xbd,0x7f,0x86,0x86,
+ 0x86,0x28,0xef,0x36,0x2b,0xfc,0x0e,0xa0,0xe7,0x6e,0xd1,0xcc,0xf0,0xf5,
+ 0xf5,0xe5,0x67,0x08,0xcd,0xe3,0xba,0xba,0x3a,0xf2,0x91,0x1a,0xf4,0x81,
+ 0x76,0xf0,0x08,0xc8,0x80,0x02,0x35,0x9e,0xb1,0xaf,0x39,0xd1,0xd0,0xd0,
+ 0x60,0xb4,0xad,0x8b,0x9c,0xf0,0x0f,0x41,0x77,0x66,0x77,0x73,0x73,0xb3,
+ 0x81,0xea,0x67,0xbf,0x27,0x9d,0x45,0x46,0x46,0xc6,0x42,0x65,0x65,0xa5,
+ 0xa9,0xbe,0xbe,0x7e,0xae,0xb0,0xb0,0x90,0x89,0x8e,0x8e,0x5e,0xb2,0x9f,
+ 0xf9,0x04,0xf9,0x9f,0x7c,0xc8,0x5a,0xef,0x52,0x67,0xb4,0x39,0x32,0xc0,
+ 0x1b,0xfc,0xc6,0x9a,0x16,0x89,0x44,0xab,0xbe,0x6b,0x23,0xe8,0xcc,0xa4,
+ 0x52,0x29,0x7d,0xb7,0xca,0xe6,0x79,0xaf,0x4d,0xea,0x13,0x47,0xc8,0xcf,
+ 0xa8,0xeb,0x70,0x49,0x49,0x89,0xd9,0xdb,0xdb,0x7b,0xdd,0xdf,0x40,0xe4,
+ 0xf7,0xa4,0xa4,0xa4,0x45,0xdc,0x9d,0x9c,0x4f,0x72,0x9d,0xa8,0xb9,0xa3,
+ 0x9e,0x92,0xd0,0x59,0xd0,0xdd,0xd0,0xd3,0xd3,0x33,0x4d,0xf3,0x24,0x3b,
+ 0x3b,0x9b,0x49,0x4b,0x4b,0x5b,0x28,0x2f,0x2f,0x37,0xd3,0x1d,0x35,0x35,
+ 0x35,0x35,0x86,0x67,0x94,0x36,0xaf,0x45,0x6d,0x81,0xee,0x5a,0xc4,0x36,
+ 0xef,0x5f,0x63,0xad,0xbd,0x28,0xb7,0xf9,0xf0,0x39,0x90,0xb2,0xd6,0x3b,
+ 0x2a,0x01,0xf8,0x6c,0x83,0xf6,0x5a,0xdc,0xc1,0x3e,0xb0,0x1f,0xf8,0xfe,
+ 0x07,0xbd,0x1d,0xb6,0x81,0xdf,0x69,0x85,0x22,0xea
+};
+
+// images/circle2.png
+static const unsigned char image_1_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0x96,0x6b,0x48,0x64,0x65,0x18,0xc7,
+ 0xbd,0x95,0x57,0x54,0x54,0x0a,0x43,0x34,0x6b,0xd6,0x34,0x0a,0xcc,0x4c,
+ 0xca,0x4b,0x92,0x4a,0x7e,0xa8,0x34,0x12,0x89,0x6a,0x54,0x34,0x29,0x49,
+ 0x6a,0x1c,0x4d,0x54,0x2c,0xa8,0x35,0xe9,0x43,0x5e,0x30,0xdd,0x0d,0x43,
+ 0xd4,0x90,0xc5,0x2e,0x64,0x36,0x28,0x74,0x11,0x67,0x50,0xa7,0x60,0x71,
+ 0x57,0xd8,0xb1,0x11,0x67,0xc2,0x75,0x96,0xc9,0x9c,0x6a,0x2e,0x8c,0x73,
+ 0x71,0xdc,0x71,0x4e,0xff,0xa7,0x73,0x61,0xda,0x46,0x1d,0xdd,0xdd,0x3e,
+ 0x29,0xfc,0x90,0x79,0xde,0xf3,0x9e,0xff,0x79,0x9f,0xeb,0xcb,0x30,0x4c,
+ 0x00,0x73,0xca,0x29,0xfe,0x13,0x0d,0x1e,0x00,0xcf,0x80,0x56,0xf0,0x2e,
+ 0x78,0x09,0x3c,0x02,0xee,0x02,0x41,0xb7,0x49,0x37,0x15,0x7c,0x04,0xbe,
+ 0x03,0x97,0x80,0x56,0xa5,0x52,0x19,0x94,0x4a,0xe5,0x5f,0x0e,0x87,0xe3,
+ 0x2a,0x7e,0xab,0xc0,0x3c,0xf8,0x0c,0x14,0x81,0xc0,0x5b,0xa4,0x7b,0x07,
+ 0xa8,0x04,0x73,0x1a,0x8d,0x66,0xbb,0xb9,0xb9,0xd9,0x91,0x9b,0x9b,0xbb,
+ 0x17,0x15,0x15,0xe5,0x09,0x08,0x08,0x60,0x88,0xe0,0xe0,0x60,0x26,0x23,
+ 0x23,0xc3,0x5d,0x5d,0x5d,0xbd,0x3b,0x33,0x33,0x63,0xe1,0xbe,0xef,0x1d,
+ 0x10,0x7f,0x93,0xda,0xe4,0xcf,0x7e,0xb0,0x3a,0x34,0x34,0xb4,0x13,0x11,
+ 0x11,0x21,0x68,0x1e,0x46,0x55,0x55,0xd5,0xae,0xd9,0x6c,0xd6,0x61,0xdf,
+ 0x14,0xc8,0x3d,0xa1,0xf6,0x9d,0x60,0x48,0xaf,0xd7,0xff,0x56,0x54,0x54,
+ 0xb4,0xe7,0x4b,0x27,0x26,0x26,0xc6,0x93,0x94,0x94,0xb4,0x1f,0x18,0x18,
+ 0xf8,0x9f,0xb5,0xc4,0xc4,0xc4,0xfd,0xb9,0xb9,0x39,0x33,0xf9,0x0d,0xdc,
+ 0x7f,0x02,0xfd,0x57,0x80,0x3a,0x2f,0x2f,0xef,0x5f,0xda,0xa9,0xa9,0xa9,
+ 0xee,0xb1,0xb1,0x31,0xeb,0xfa,0xfa,0xfa,0x36,0xe5,0x00,0x58,0x37,0x1a,
+ 0x8d,0x7a,0x99,0x4c,0x66,0x2e,0x2f,0x2f,0x77,0x79,0x3f,0x1b,0x19,0x19,
+ 0xe9,0xd1,0x6a,0xb5,0xf4,0xdc,0x39,0x10,0x7a,0x0c,0xed,0x33,0x40,0xde,
+ 0xd7,0xd7,0x67,0xe3,0xdf,0x45,0x67,0x6c,0x68,0x68,0x70,0xda,0x6c,0xb6,
+ 0x4d,0xac,0x7d,0x05,0x5a,0xc0,0xb3,0xa0,0x10,0xbc,0xce,0x69,0x5c,0x19,
+ 0x1f,0x1f,0xb7,0x46,0x47,0x47,0x0b,0x71,0xca,0xcf,0xcf,0xdf,0x83,0x7d,
+ 0x0d,0x54,0xfb,0xa9,0x4d,0x79,0x3b,0xb8,0xb6,0xb6,0x66,0x08,0x0b,0x0b,
+ 0x13,0xde,0xd3,0xd2,0xd2,0xe2,0x80,0xfd,0x32,0xe8,0x00,0x77,0x73,0x39,
+ 0x2e,0xe1,0x7e,0xbf,0x00,0xee,0x01,0xcf,0x83,0xef,0xc9,0xef,0x41,0x41,
+ 0x41,0x82,0x1f,0x7a,0x7a,0x7a,0x6c,0x74,0x1e,0x90,0xec,0x87,0x3e,0xbd,
+ 0x5b,0x5e,0x5b,0x5b,0xbb,0xcb,0xef,0x4f,0x4b,0x4b,0x73,0x3b,0x9d,0xce,
+ 0xab,0xb0,0xb7,0x31,0x6c,0x1d,0x7e,0xba,0xb8,0xb8,0xb8,0xd1,0xd1,0xd1,
+ 0x61,0x69,0x6c,0x6c,0xb4,0x22,0x1e,0xdb,0x1e,0x8f,0x67,0x16,0xf6,0xa7,
+ 0x41,0x1e,0xb8,0xd8,0xd4,0xd4,0xe4,0xe0,0xf7,0xc7,0xc7,0xc7,0xef,0xc3,
+ 0xf6,0x2b,0x78,0xce,0x0f,0xfd,0x47,0x29,0xdf,0xd3,0xd3,0xd3,0xdd,0xfc,
+ 0xfe,0xa9,0xa9,0x29,0xaa,0xa9,0x2f,0xb8,0x33,0x8e,0xb6,0xb5,0xb5,0x59,
+ 0xbc,0xcf,0x47,0xe4,0xe4,0xe4,0xb8,0x90,0x07,0x4a,0xac,0x3f,0x0c,0xde,
+ 0x46,0x4f,0xd0,0x79,0xd7,0x28,0x6a,0xd7,0xc0,0x7d,0xff,0x51,0xfa,0x62,
+ 0x9c,0x75,0x33,0x24,0x24,0x44,0x88,0xbb,0xc9,0x64,0xd2,0xc3,0xfe,0x06,
+ 0xa8,0x98,0x9d,0x9d,0xbd,0xe6,0x2b,0xdf,0x89,0xba,0xba,0xba,0x1d,0x3c,
+ 0x73,0x1e,0x64,0x80,0x4b,0xde,0xb9,0x3b,0x31,0x31,0x61,0x65,0xd8,0xde,
+ 0x74,0x94,0xfe,0xd9,0x85,0x85,0x05,0x23,0xbf,0x2f,0x25,0x25,0xc5,0x0d,
+ 0x9b,0x86,0x8b,0xf7,0xd9,0x9a,0x9a,0x1a,0x9b,0x2f,0x6d,0x22,0x36,0x36,
+ 0x96,0xfc,0xfc,0x03,0x48,0xa1,0xff,0x12,0x89,0xc4,0xc9,0xaf,0xb5,0xb6,
+ 0xb6,0x3a,0x61,0xfb,0x11,0xc4,0x1e,0xa1,0xff,0xf1,0xf4,0xf4,0xb4,0x85,
+ 0xdf,0x97,0x9d,0x9d,0x7d,0x9d,0xe2,0xc1,0xb0,0xfd,0xfd,0x7c,0x69,0x69,
+ 0xa9,0xf3,0x20,0x7d,0x8a,0x09,0x7c,0xa7,0xe4,0x72,0x44,0xd6,0xdd,0xdd,
+ 0x6d,0xe7,0xd7,0xea,0xeb,0xeb,0x77,0x61,0x5b,0x04,0x89,0x47,0xe8,0x4b,
+ 0x74,0x3a,0xdd,0x16,0xbf,0x8f,0x7a,0x1e,0xfe,0x36,0x60,0x7f,0x11,0x48,
+ 0xdb,0xdb,0xdb,0x2d,0x07,0xe9,0x8b,0x44,0x22,0xfa,0xd6,0x6f,0xc1,0x7d,
+ 0x60,0xa9,0xb2,0xb2,0x52,0xe8,0x07,0xbd,0xbd,0xbd,0x54,0x03,0xd3,0x0c,
+ 0xdb,0xcf,0x0f,0xd3,0xa7,0x1c,0xd6,0x26,0x24,0x24,0xec,0xf3,0x7b,0x57,
+ 0x56,0x56,0xfe,0x84,0xed,0x03,0x90,0xb5,0xb5,0xb5,0xb5,0x1c,0x17,0x17,
+ 0xb7,0xef,0x4b,0x7f,0x72,0x72,0xf2,0x77,0x3c,0xf3,0x16,0x78,0x0a,0xa8,
+ 0xa9,0x57,0xf1,0x6b,0x72,0xb9,0xdc,0x04,0x5b,0x8f,0x1f,0xf1,0x17,0x51,
+ 0xfd,0x14,0x17,0x17,0x0b,0xb9,0x23,0x95,0x4a,0x29,0x76,0x17,0xc1,0x13,
+ 0xe0,0xcd,0xe5,0xe5,0x65,0x4d,0x56,0x56,0x96,0x70,0x36,0xfa,0x9e,0x91,
+ 0x91,0x91,0x3f,0xa8,0x36,0xb8,0x1a,0xff,0x9c,0x7a,0x00,0x9f,0xa7,0x34,
+ 0x9f,0xec,0x76,0xfb,0x35,0xd8,0x5f,0xf5,0x43,0x3f,0x82,0x7c,0x38,0x3c,
+ 0x3c,0xbc,0xe3,0x1d,0x57,0xee,0xfb,0xbf,0x66,0xd8,0xd9,0x4f,0x7d,0xe6,
+ 0x1b,0xf8,0xe2,0x32,0x66,0xb0,0x9a,0xcb,0x39,0xaa,0xad,0x7b,0xc1,0x7b,
+ 0xd4,0x23,0x93,0x93,0x93,0x85,0xb3,0x97,0x94,0x94,0x50,0x0f,0xbc,0x02,
+ 0x1e,0xf7,0x43,0xff,0x9f,0x1a,0x24,0xff,0x15,0x14,0x14,0x08,0x3e,0xa0,
+ 0xf7,0xad,0xae,0xae,0x52,0x0d,0x2b,0xb8,0x75,0xfa,0x8e,0x07,0xc1,0x43,
+ 0x20,0x0d,0x3c,0x49,0xe7,0x46,0xdd,0x6f,0x78,0xc7,0x9d,0xf2,0x87,0xe6,
+ 0x36,0xd6,0x3e,0x61,0xfc,0x9f,0x01,0xf4,0xdc,0x39,0x9a,0x31,0xe1,0xe1,
+ 0xe1,0x42,0x0f,0xa1,0x7e,0xdc,0xdf,0xdf,0x6f,0xe3,0xea,0x91,0xf2,0x5c,
+ 0x06,0xbe,0x64,0xd8,0xde,0xaa,0x9a,0x9f,0x9f,0x37,0x79,0xc7,0x9c,0xa0,
+ 0xb9,0xcd,0xb0,0xf7,0x92,0x33,0x7e,0x6a,0xf3,0xd0,0xcc,0x9c,0x1b,0x1d,
+ 0x1d,0xb5,0x52,0xfc,0xbc,0xdf,0x49,0xbe,0xa8,0xa8,0xa8,0x70,0x75,0x75,
+ 0x75,0xd9,0x07,0x07,0x07,0x6d,0x54,0x5b,0x99,0x99,0x99,0xd7,0x6f,0xec,
+ 0x89,0xf4,0x0c,0xde,0xf1,0x0b,0x78,0xf9,0x98,0xda,0x3c,0x34,0x57,0x7e,
+ 0x5a,0x5a,0x5a,0x32,0xa2,0xb6,0xdc,0xbe,0x72,0xde,0x17,0xe4,0xb3,0x81,
+ 0x81,0x01,0x1b,0xa7,0xfd,0x21,0xc3,0xde,0x25,0x4e,0xa2,0x4f,0x3c,0x06,
+ 0x2e,0x50,0x5c,0x51,0x07,0x8e,0xd0,0xd0,0xd0,0x03,0xef,0x40,0x94,0xef,
+ 0x85,0x85,0x85,0x7b,0x6a,0xb5,0x7a,0x9b,0xf3,0xb9,0xf8,0x18,0x31,0x3f,
+ 0x0c,0xba,0xf3,0x4a,0xc1,0xcf,0x2e,0x97,0x6b,0x53,0xa1,0x50,0x18,0xa9,
+ 0x9f,0x88,0xc5,0xe2,0xdd,0xb2,0xb2,0x32,0x57,0x67,0x67,0xa7,0x83,0x66,
+ 0x94,0xc1,0x60,0xa0,0x39,0x41,0xf7,0x50,0x9a,0x01,0xa2,0x5b,0xa0,0x7b,
+ 0x23,0xe9,0x0c,0x7b,0xd7,0x7e,0x9f,0x61,0xe7,0xa1,0x82,0xcb,0x43,0xea,
+ 0x79,0x7d,0xe0,0x35,0x86,0xad,0xb1,0x9b,0xf1,0xb7,0xbf,0xd0,0x3d,0x9f,
+ 0xee,0xa7,0x49,0xff,0x93,0xde,0x29,0xb7,0x81,0xbf,0x01,0xd9,0x31,0xda,
+ 0x9e
+};
+
+// images/close.png
+static const unsigned char image_2_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0xd6,0x5d,0x48,0x53,0x61,0x18,0x07,
+ 0x70,0xcd,0xcf,0xbe,0x6c,0x99,0x1f,0x69,0x18,0x65,0xa1,0x58,0x8a,0x96,
+ 0x86,0x82,0x42,0x8a,0x90,0x08,0x49,0xe8,0x85,0x92,0x61,0x30,0xc8,0x20,
+ 0x50,0x88,0x6e,0xf2,0xa2,0x84,0xc0,0xa8,0x84,0x5c,0x32,0xb1,0x08,0x9a,
+ 0x41,0x5e,0x34,0x31,0x64,0x65,0x9a,0x08,0xad,0x6c,0x58,0x58,0x33,0x0d,
+ 0x4d,0x2d,0x48,0x5d,0xb3,0xe5,0xd4,0xb9,0xd9,0xd4,0xb9,0x9d,0x75,0xfa,
+ 0x3f,0xb9,0x13,0xb2,0x33,0x75,0x9b,0xd2,0x95,0x17,0x3f,0x18,0x3b,0xef,
+ 0x7b,0xfe,0xcf,0x39,0xe7,0x7d,0xcf,0x79,0x58,0x96,0xf5,0x60,0x37,0x6c,
+ 0x70,0x2c,0x08,0xce,0x80,0xb7,0x1b,0x73,0xc3,0xa1,0x00,0x3c,0xdd,0xcc,
+ 0xde,0x05,0xf7,0xe0,0x23,0x5c,0x06,0x5f,0x17,0xe6,0xee,0x85,0xc7,0xf0,
+ 0x1e,0x84,0x6e,0xd4,0xb0,0x13,0x6a,0xf5,0x7a,0xfd,0xa8,0x58,0x2c,0x9e,
+ 0xc5,0xef,0x01,0xb8,0x02,0x9b,0x9d,0x98,0x7b,0x00,0x1a,0x47,0x46,0x46,
+ 0x34,0x12,0x89,0xe4,0x97,0xad,0xfe,0xb3,0x2e,0xd4,0x20,0x00,0xb1,0xd1,
+ 0x68,0x1c,0x4d,0x4b,0x4b,0x33,0x7b,0x78,0x78,0xb0,0x42,0xa1,0xd0,0x64,
+ 0xb5,0x5a,0xbf,0xe0,0xff,0x6b,0xb0,0x65,0x85,0xb9,0xd1,0xd0,0x34,0x34,
+ 0x34,0xa4,0x8d,0x88,0x88,0x60,0x68,0x6e,0x55,0x55,0x95,0x11,0xff,0x29,
+ 0xa1,0xc8,0x89,0x1a,0x02,0x40,0x34,0x3b,0x3b,0x3b,0x9c,0x9e,0x9e,0xfe,
+ 0x37,0x9b,0x53,0x58,0x58,0xc8,0xd5,0x50,0x01,0x5b,0x1d,0xcc,0x8d,0x01,
+ 0xd9,0xe0,0xe0,0xa0,0x36,0x2c,0x2c,0xcc,0xba,0x74,0x6e,0x75,0x75,0xb5,
+ 0xb3,0x35,0x1c,0x82,0xd6,0xde,0xde,0xde,0xc9,0x80,0x80,0x80,0xdf,0x4b,
+ 0xcf,0x41,0xf2,0xf3,0xf3,0x17,0xcc,0x66,0xf3,0x57,0x8c,0xb9,0x01,0xdb,
+ 0x96,0xcc,0x3b,0x0c,0x4f,0xfb,0xfa,0xfa,0x26,0x42,0x42,0x42,0xac,0xf6,
+ 0xf3,0x32,0x32,0x32,0xcc,0x38,0x3e,0x0c,0x77,0x60,0xfb,0x2a,0xf7,0xe0,
+ 0x08,0xbc,0xe8,0xec,0xec,0xd4,0x39,0xaa,0x21,0x37,0x37,0x97,0xab,0xe1,
+ 0x96,0xed,0x5c,0x71,0xd0,0xdc,0xd3,0xd3,0x33,0x11,0x1c,0x1c,0xcc,0xcb,
+ 0xce,0xcc,0xcc,0x34,0xcf,0xcd,0xcd,0x51,0xb6,0x18,0x02,0x9d,0x5c,0x03,
+ 0x47,0xa9,0x86,0xae,0xae,0xae,0x29,0x81,0x40,0xc0,0x3b,0x67,0x4e,0x4e,
+ 0xce,0x82,0xc9,0x64,0xfa,0x86,0x31,0xd5,0xd0,0xa2,0x54,0x2a,0x27,0x03,
+ 0x03,0x03,0x79,0xe3,0xb2,0xb2,0xb2,0xcc,0xf3,0xf3,0xf3,0xdc,0x75,0x0b,
+ 0x5c,0xdc,0x03,0x54,0x43,0x6b,0x77,0x77,0xb7,0xc3,0x73,0x67,0x67,0x67,
+ 0x2f,0xe0,0xba,0x46,0x9c,0xa8,0xf1,0x36,0xec,0x70,0x31,0x9b,0x13,0x0f,
+ 0xcf,0xe9,0xde,0x06,0x05,0x05,0xf1,0x32,0x52,0x52,0x52,0x2c,0x8e,0x9e,
+ 0x51,0x5e,0x5e,0x1e,0xf7,0x8c,0x2a,0x6d,0x6b,0xda,0x9d,0x6c,0x0e,0x3d,
+ 0xdf,0x67,0xfd,0xfd,0xfd,0x13,0xa1,0xa1,0xa1,0xbc,0x1a,0xec,0x15,0x14,
+ 0x14,0x98,0x18,0x86,0xa1,0xec,0x9b,0x76,0x6b,0x74,0x2d,0x68,0x7d,0xcb,
+ 0x68,0x5f,0x87,0x87,0x87,0x2f,0x5b,0x43,0x51,0x51,0x11,0xb7,0x47,0xaf,
+ 0xb3,0x8e,0xf7,0xe8,0x5a,0x9c,0x86,0x0f,0x0d,0x0d,0x0d,0x33,0x9e,0x9e,
+ 0x9e,0xbc,0x6c,0x5a,0xfb,0x78,0x5f,0xfe,0xc4,0x98,0x26,0xd8,0xbf,0xce,
+ 0xd9,0x27,0xe0,0x55,0x5b,0x5b,0x9b,0xde,0xdf,0xdf,0x9f,0xf7,0xbc,0x39,
+ 0x49,0x49,0x49,0x96,0xe9,0xe9,0x69,0x15,0xc6,0x4a,0x20,0x74,0x9d,0xb2,
+ 0xb3,0xa1,0xa3,0xb9,0xb9,0xd9,0xe0,0xe7,0xe7,0xb7,0x6c,0x36,0x27,0x21,
+ 0x21,0xc1,0xa2,0xd5,0x6a,0xd5,0x98,0xf3,0x10,0x76,0xaf,0x31,0xfb,0x24,
+ 0xbc,0x91,0xc9,0x64,0x06,0x5f,0x5f,0x5f,0x5e,0x76,0x49,0x49,0x89,0x29,
+ 0x3a,0x3a,0x9a,0xb1,0xff,0x3f,0x2e,0x2e,0xce,0xa2,0xd1,0x68,0xc6,0x30,
+ 0xf7,0x11,0xbb,0xf8,0x1d,0x76,0x27,0xfb,0x14,0x28,0x1a,0x1b,0x1b,0x0d,
+ 0x3e,0x3e,0x3e,0xbc,0xec,0xb2,0xb2,0xb2,0x39,0x1c,0xef,0xa7,0x9c,0xd8,
+ 0xd8,0x58,0x8b,0xfd,0xf1,0x98,0x98,0x18,0x46,0xad,0x56,0xff,0xc0,0x98,
+ 0x7a,0xd8,0xe3,0x62,0x76,0x1e,0xbc,0x95,0x4a,0xa5,0x33,0xde,0xde,0xde,
+ 0xbc,0x7b,0x5c,0x5e,0x5e,0x4e,0xdf,0xe4,0x4f,0x70,0x11,0xea,0xc6,0xc7,
+ 0xc7,0xc7,0xe2,0xe3,0xe3,0x79,0x35,0x44,0x45,0x45,0x31,0x2a,0x95,0x4a,
+ 0x83,0x31,0x52,0xd8,0xe7,0x64,0x76,0x3e,0xbc,0xab,0xaf,0xaf,0x9f,0xf1,
+ 0xf2,0xf2,0xe2,0x65,0x57,0x54,0x54,0x50,0x76,0x0f,0x5c,0x00,0x2f,0xdb,
+ 0x3a,0x7b,0x30,0x35,0x35,0xf5,0x3d,0x31,0x31,0x91,0x57,0x43,0x64,0x64,
+ 0x24,0x43,0xbd,0x00,0xc6,0x3c,0x81,0x83,0xab,0x64,0x1f,0x83,0x97,0x78,
+ 0x9f,0xeb,0x1c,0x65,0x57,0x56,0x56,0x1a,0x6d,0xd9,0xe7,0x6d,0xd9,0xdc,
+ 0xbc,0x10,0xb8,0xaf,0xd3,0xe9,0x54,0xc9,0xc9,0xc9,0xbc,0x1a,0xb0,0x1e,
+ 0x18,0x1c,0xa7,0x7d,0x51,0xc7,0xae,0xfc,0x3e,0xa4,0x73,0x5e,0x82,0xcf,
+ 0xa5,0xa5,0xa5,0xf3,0x4b,0xcf,0x21,0x12,0x89,0x28,0xbb,0x1b,0xce,0xc1,
+ 0x26,0x07,0x73,0xa9,0x57,0xbc,0x4b,0x3d,0x53,0x6a,0x6a,0xea,0xbf,0xde,
+ 0x81,0xf6,0x4c,0x7b,0x7b,0xfb,0x34,0x5d,0x17,0xa4,0x39,0x71,0xff,0x7d,
+ 0xa0,0x0c,0x06,0x8a,0x8b,0x8b,0x4d,0xf4,0xae,0xa9,0xa9,0xa9,0xe1,0xfa,
+ 0x07,0xe1,0x32,0xd9,0x1c,0xea,0x19,0x6b,0xa9,0x77,0xa2,0xfe,0x85,0xb2,
+ 0x5b,0x5a,0x5a,0x0c,0xf8,0x4f,0x0e,0xe9,0x2e,0xac,0x3f,0xea,0x35,0xaf,
+ 0xc2,0xa0,0x5c,0x2e,0xd7,0xb3,0x8b,0x7d,0xa4,0xb3,0x3d,0x1c,0xf5,0x8e,
+ 0x62,0xfa,0xe6,0x2b,0x14,0x0a,0xba,0xee,0xd7,0x90,0xe9,0x42,0x36,0xc7,
+ 0x9f,0x5d,0xec,0xf7,0x3a,0xd8,0xc5,0x1e,0xdc,0x95,0x1e,0x96,0xbe,0xf5,
+ 0x22,0xdb,0x75,0x67,0xb9,0x91,0xcd,0xa1,0x7e,0xf7,0xb8,0x9b,0x73,0xa9,
+ 0x37,0x4a,0x59,0x43,0xf6,0x86,0xff,0xe0,0x0f,0x3b,0xd0,0xff,0x96
+};
+
+// images/help.png
+static const unsigned char image_3_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0xd6,0x4f,0x88,0x12,0x51,0x1c,0x07,
+ 0x70,0xdd,0x4a,0x11,0x57,0x22,0x83,0x08,0x51,0xa9,0x4e,0x7a,0x91,0xcd,
+ 0xab,0x88,0x07,0xbd,0x98,0x57,0xa1,0x0e,0xee,0xa1,0xf0,0x62,0xe0,0x21,
+ 0x3a,0x78,0x89,0x8a,0x88,0x04,0x15,0xa1,0xf2,0x60,0x10,0x91,0x98,0xa0,
+ 0x22,0xb8,0x1b,0x41,0xf4,0x87,0x0e,0x1a,0x81,0x17,0x95,0x30,0x3a,0x44,
+ 0xab,0xee,0x52,0xb2,0x98,0xda,0xea,0x98,0xee,0x6c,0x3a,0x7d,0x5f,0x8e,
+ 0xcb,0xb8,0xec,0x25,0xff,0x1d,0x42,0xe1,0x83,0xf0,0xde,0x1b,0xbf,0xf3,
+ 0x7e,0xf3,0xe6,0x87,0x0c,0xc3,0xf0,0x98,0x85,0x85,0xf1,0x1c,0x99,0x73,
+ 0xde,0x29,0xb0,0xc1,0x4d,0x78,0x02,0x6b,0xec,0xf7,0x2d,0xb8,0x02,0xb2,
+ 0x19,0xe5,0x8a,0xe0,0x22,0xbc,0xa0,0x69,0xfa,0x6b,0x3e,0x9f,0xaf,0xc6,
+ 0x62,0xb1,0xa6,0xdf,0xef,0xa7,0xa2,0xd1,0x68,0x33,0x97,0xcb,0x55,0xbb,
+ 0xdd,0x6e,0x09,0xf3,0xaf,0xe1,0x32,0x48,0xa6,0x98,0x7d,0x0c,0xee,0xc1,
+ 0xe7,0x50,0x28,0xd4,0x94,0xc9,0x64,0x3d,0x1e,0x8f,0xc7,0x1c,0x24,0x95,
+ 0x4a,0x7b,0x81,0x40,0x80,0xea,0xf5,0x7a,0x5f,0xb0,0xf6,0xd1,0x14,0xef,
+ 0x81,0xd4,0xf5,0x93,0xd5,0x6a,0xdd,0x3d,0x2c,0xf7,0x20,0xbd,0x5e,0x8f,
+ 0x12,0xd1,0x1b,0xb8,0xe6,0xc6,0x14,0xce,0x87,0x0a,0xde,0xbb,0xdd,0xee,
+ 0x36,0x37,0x43,0x28,0x14,0xf6,0xed,0x76,0x7b,0xd7,0xe3,0xf1,0x50,0x2e,
+ 0x97,0xeb,0x97,0x52,0xa9,0xfc,0xcd,0x9d,0x77,0x38,0x1c,0x1d,0x5c,0x97,
+ 0x07,0xc3,0x84,0xf9,0xab,0xa8,0x67,0x51,0x2c,0x16,0xf7,0x87,0xbf,0x2d,
+ 0x91,0x48,0xfa,0x85,0x42,0xa1,0x8a,0xb9,0x0f,0xb0,0x0e,0x6f,0xf0,0xec,
+ 0x37,0xe5,0x72,0xf9,0xfe,0x3d,0xf0,0xf9,0x7c,0xe6,0x3b,0x3e,0x98,0xbb,
+ 0x36,0x61,0xfe,0xfd,0x54,0x2a,0x55,0xe7,0xee,0x8d,0x9c,0x39,0x8c,0xbf,
+ 0x85,0x15,0x58,0x82,0x33,0xf0,0x8a,0x8c,0x73,0xd7,0x45,0x22,0x91,0x26,
+ 0x33,0x78,0x37,0xc6,0xcd,0x3e,0x0e,0x2f,0xb1,0x8d,0x6d,0x72,0xd6,0xbd,
+ 0x5e,0x2f,0xe5,0x74,0x3a,0x3b,0x95,0x4a,0x85,0xec,0xeb,0x3a,0x67,0x1d,
+ 0x79,0x27,0xd7,0x82,0xc1,0x60,0x8b,0x9b,0x1f,0x0e,0x87,0x49,0x7e,0x18,
+ 0xf8,0x63,0xe6,0x9f,0x06,0x07,0xdc,0x81,0xc7,0xf0,0x1c,0xde,0xb1,0xb4,
+ 0xec,0x9a,0xb3,0xf0,0xac,0x56,0xab,0x6d,0x69,0x34,0x9a,0xbd,0x61,0xb6,
+ 0x40,0x20,0xe8,0x37,0x1a,0x8d,0x2d,0xcc,0x5d,0x9d,0xb0,0xfe,0x5c,0x47,
+ 0xe1,0x24,0x9c,0x03,0x01,0x28,0x21,0x51,0x2a,0x95,0x2a,0x6a,0xb5,0x7a,
+ 0xe4,0xfc,0xd9,0x6c,0xb6,0x2e,0x7b,0xfe,0x56,0xa6,0x98,0xcf,0x45,0x6a,
+ 0x1e,0x2e,0x97,0xcb,0x15,0x85,0x42,0x31,0x92,0xad,0xd5,0x6a,0xf7,0x5a,
+ 0xad,0x56,0x19,0xf3,0x6e,0x66,0xd0,0x3b,0xa6,0x9d,0xbd,0x0c,0x41,0x52,
+ 0x73,0x95,0x4a,0x35,0x92,0x6d,0x30,0x18,0xe8,0x7a,0xbd,0xbe,0xc9,0x3e,
+ 0xaf,0x13,0x33,0xda,0xfb,0x79,0xf8,0x68,0x36,0x9b,0x47,0xfa,0x91,0xc5,
+ 0x62,0xd9,0xed,0x74,0x3a,0xa4,0xef,0x3c,0x60,0x9f,0xd3,0x2c,0xb2,0x89,
+ 0x4b,0xe8,0x09,0x1b,0x22,0x91,0x68,0xbf,0x27,0xe8,0x74,0x3a,0xba,0xdd,
+ 0x6e,0x17,0xd9,0x9a,0x2f,0xcf,0x30,0x9b,0xb8,0x9d,0xcd,0x66,0xab,0xdc,
+ 0xbd,0xc7,0xe3,0xf1,0x1d,0x8c,0x3f,0x9d,0x43,0x36,0x11,0x48,0x24,0x12,
+ 0x3f,0xb9,0xf9,0x99,0x4c,0xe6,0x07,0xc6,0xef,0x32,0xe3,0xbf,0xeb,0xff,
+ 0xe2,0x21,0xea,0xff,0x8d,0xa2,0xa8,0xed,0x21,0x8c,0x91,0x33,0x17,0x63,
+ 0x06,0xef,0xe8,0xcc,0xf3,0xd3,0xe9,0x74,0xc3,0x64,0x32,0xd1,0x46,0xa3,
+ 0xf1,0xaf,0x64,0x32,0x49,0x7a,0xdd,0xfa,0xbc,0xf2,0xd1,0x8f,0x77,0xb8,
+ 0xf5,0xf7,0xf9,0x7c,0xd4,0x22,0x7f,0x7e,0xf9,0x40,0xfa,0x4c,0x99,0xa3,
+ 0x08,0xc9,0x39,0xe5,0x5f,0x80,0xd5,0x43,0x90,0xff,0xa7,0x4b,0x73,0xc8,
+ 0x5f,0xf8,0x8f,0xfc,0x01,0x9a,0x31,0x8c,0xf2
+};
+
+// images/keep_above.png
+static const unsigned char image_4_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xfb,0xff,0xff,0x3f,0xc3,0xff,0x51,0x3c,
+ 0x8a,0x07,0x0f,0xe6,0x00,0x62,0x1e,0x1a,0x61,0x76,0x22,0xec,0xcf,0x05,
+ 0xe2,0xed,0x40,0xbc,0x83,0xca,0x78,0x1b,0x10,0x87,0x13,0x61,0x7f,0xd9,
+ 0xcb,0x97,0x2f,0x5f,0x94,0x95,0x95,0x7d,0x2f,0x2d,0x2d,0xa5,0x0a,0x06,
+ 0x99,0x05,0x34,0xf7,0x01,0x10,0xc7,0x12,0x63,0xff,0xd5,0xab,0x57,0x5f,
+ 0x31,0x30,0x30,0xfc,0xa7,0x26,0x06,0x82,0x87,0x43,0xc5,0x7e,0x62,0xc3,
+ 0xbf,0xbc,0xbc,0x9c,0x16,0xe1,0x4f,0x4c,0xfa,0xdb,0x0b,0xc4,0x77,0xba,
+ 0xba,0xba,0xbe,0x81,0x68,0x28,0x9f,0x5a,0xe9,0x8f,0x50,0xfe,0x53,0x00,
+ 0xe2,0x4d,0x2b,0x57,0xae,0xfc,0x04,0x0a,0x57,0x10,0x0d,0xe2,0x43,0xc5,
+ 0xa9,0x91,0xff,0x08,0xe1,0x82,0xef,0xdf,0xbf,0x3f,0x90,0x91,0x91,0xf9,
+ 0x03,0xb2,0x1f,0x44,0x83,0xf8,0x20,0x71,0x2a,0x98,0x4d,0x08,0xab,0x03,
+ 0xf1,0xa1,0xc6,0xc6,0xc6,0xaf,0xc8,0x69,0x0b,0xc4,0x07,0x89,0x43,0xe5,
+ 0x69,0x65,0x37,0x33,0x10,0xf7,0x3e,0x78,0xf0,0xe0,0x39,0x17,0x17,0xd7,
+ 0x3f,0x64,0xfb,0x41,0x7c,0x90,0x38,0x48,0x1e,0xaa,0x8e,0x16,0xf6,0x3b,
+ 0x02,0xf1,0xd9,0xeb,0xd7,0xaf,0xbf,0x5d,0xb6,0x6c,0xd9,0x67,0x64,0xfb,
+ 0x41,0x7c,0x90,0x38,0x48,0x1e,0xaa,0x8e,0xda,0x76,0x83,0xd2,0x64,0x2d,
+ 0x10,0xcf,0x01,0xe2,0x15,0x40,0xfc,0x08,0x2d,0x6f,0x3f,0x82,0x8a,0xcf,
+ 0x81,0xaa,0xe3,0xa0,0x61,0x3c,0x80,0xf2,0xf0,0x43,0x32,0xcb,0x96,0x51,
+ 0xfb,0x47,0xed,0x1f,0xb5,0x9f,0x72,0xfb,0xef,0x9c,0x39,0x73,0xe6,0x0d,
+ 0x0c,0xff,0x87,0xd4,0x81,0xf4,0xb2,0xdf,0x1e,0x88,0xab,0xb1,0x60,0x7b,
+ 0x3a,0xd9,0x3f,0x8a,0x47,0x31,0xd5,0x30,0x00,0x52,0x62,0x90,0x09
+};
+
+// images/keep_above_lit.png
+static const unsigned char image_5_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0x95,0xb1,0x4a,0xc4,0x40,0x10,0x86,
+ 0x63,0x1a,0x2d,0x84,0x2b,0x2c,0xae,0xce,0x4b,0x88,0x85,0xa5,0xef,0x60,
+ 0x75,0xb0,0x2f,0x90,0x32,0xb1,0xb3,0x3e,0x9f,0xe1,0x1e,0xc0,0xca,0x42,
+ 0x0b,0xb5,0x90,0x14,0x29,0xaf,0xb8,0x2e,0xf5,0x79,0x62,0x61,0xae,0x38,
+ 0x6c,0xe2,0x22,0x08,0xeb,0xff,0xcb,0x04,0xae,0xb8,0x23,0x2b,0xec,0xe6,
+ 0x14,0x36,0xf0,0x31,0xcc,0xcc,0x26,0x1f,0x4c,0x76,0x13,0x63,0x4c,0x64,
+ 0x02,0x81,0xbf,0xc3,0x01,0x38,0xf4,0xc4,0xbe,0x85,0x3f,0x05,0x0f,0xe0,
+ 0xd1,0x31,0xf7,0xe0,0xdc,0xc2,0x9f,0xd7,0x75,0xfd,0x96,0xe7,0xb9,0xce,
+ 0xb2,0xcc,0x09,0x7c,0x16,0x9e,0xfb,0x0c,0x46,0x36,0xfe,0xaa,0xaa,0x96,
+ 0x51,0x14,0x19,0x97,0xe0,0x5a,0xfc,0x17,0xff,0x8e,0xe7,0xdf,0xb5,0xff,
+ 0x9e,0xc0,0x1c,0xd7,0xb2,0x85,0xb9,0xd4,0x5d,0xec,0xbf,0xae,0xf3,0xa7,
+ 0x38,0xcb,0x0d,0xb3,0x55,0x1d,0xf7,0xd9,0x9e,0xbf,0x2e,0x46,0x5b,0xfc,
+ 0x36,0xb3,0x75,0x41,0xf0,0x07,0x7f,0xdf,0x7e,0x9e,0xdb,0x31,0xb8,0x02,
+ 0x93,0x2d,0xfe,0x89,0xf4,0xc7,0xc6,0xee,0x9c,0xff,0x86,0x21,0xb8,0x05,
+ 0xaf,0x45,0x51,0xac,0xc0,0xfb,0xba,0x9f,0x39,0xeb,0xec,0xcb,0xba,0xa1,
+ 0x87,0x19,0x9c,0x81,0x59,0x9a,0xa6,0x7a,0xd3,0xf7,0x9d,0x75,0xf6,0x65,
+ 0x9d,0x8f,0x77,0xb0,0x07,0x2e,0x9b,0xa6,0x59,0x24,0x49,0xf2,0xb5,0xee,
+ 0x66,0xce,0x3a,0xfb,0xb2,0xce,0xd7,0x3e,0x38,0x02,0x37,0x65,0x59,0xae,
+ 0xe2,0x38,0xfe,0x71,0x33,0x32,0x67,0x5d,0xfa,0xbe,0xdc,0x2d,0xa7,0x60,
+ 0x8a,0x7f,0xda,0x07,0xfd,0x8c,0xcc,0xa5,0xee,0xdb,0xdd,0x72,0xa1,0xb5,
+ 0x9e,0x2b,0xa5,0x3e,0x19,0x99,0xf7,0xe8,0x26,0x03,0x70,0x0d,0x5e,0x24,
+ 0x0e,0x7a,0xf6,0x93,0x63,0x70,0x27,0xb1,0x6f,0x77,0xcb,0xc9,0x0e,0xdd,
+ 0x01,0x07,0x7c,0x03,0xce,0x04,0x8c,0x12
+};
+
+// images/keep_below.png
+static const unsigned char image_6_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0xd5,0xbf,0x4b,0x02,0x61,0x1c,0xc7,
+ 0xf1,0x33,0x22,0x83,0x22,0x8c,0x08,0xec,0x68,0x68,0x6b,0x73,0x6b,0x90,
+ 0xd6,0x28,0x5a,0x45,0x1c,0x73,0x34,0x68,0xa9,0x41,0x71,0x13,0x6c,0xb9,
+ 0x29,0x82,0x1c,0xfa,0x03,0xa4,0xb8,0x5a,0x03,0x1d,0x84,0x24,0x38,0x82,
+ 0xa6,0xa6,0xe8,0xe2,0x50,0x1a,0x24,0x43,0x50,0xb0,0x3a,0x95,0xe3,0x7a,
+ 0xfa,0x7c,0xe5,0x84,0x08,0x7f,0x9c,0xe4,0xe3,0x50,0x37,0xbc,0xe0,0x78,
+ 0x9e,0xd3,0x37,0xdc,0x3d,0x7c,0x8f,0x31,0x26,0x30,0x87,0xc3,0x61,0xd7,
+ 0x0c,0xcc,0x76,0x31,0x31,0xa6,0xfe,0x29,0x64,0x7f,0x90,0x61,0x79,0x4c,
+ 0xfd,0x0b,0x45,0x51,0x6a,0xd1,0x68,0xb4,0x41,0x64,0x59,0x7e,0xc3,0x9a,
+ 0x32,0xce,0x7e,0x2a,0x95,0x7a,0x17,0x04,0x81,0x91,0x60,0x30,0xd8,0x72,
+ 0xfa,0x4e,0xff,0x8f,0xf7,0xe7,0x61,0xc5,0x72,0xd9,0xa3,0xbf,0x66,0xed,
+ 0x2f,0x71,0xe8,0x8b,0x70,0x06,0xb7,0x70,0xdf,0xa5,0xff,0x60,0xed,0x65,
+ 0x60,0x9d,0xd3,0x33,0xd8,0x81,0x27,0x49,0x92,0x74,0x9f,0xcf,0x67,0x74,
+ 0xfa,0x5e,0xaf,0xd7,0x0c,0x87,0xc3,0x4d,0xc3,0x30,0x4a,0xd8,0x3f,0x62,
+ 0xfc,0xe6,0x30,0xcd,0xf8,0xf3,0x5c,0x2e,0x57,0x73,0xb9,0x5c,0xac,0xd3,
+ 0x27,0x89,0x44,0xe2,0x03,0x7b,0x37,0xb0,0xca,0xf1,0x0c,0x90,0x0d,0x7a,
+ 0xfe,0x81,0x40,0xa0,0xd5,0x69,0x8b,0xa2,0x68,0xea,0xba,0xfe,0x8c,0xf5,
+ 0x03,0xce,0x6d,0x32,0x09,0xc7,0x9a,0xa6,0xbd,0xba,0xdd,0xee,0x4f,0xea,
+ 0xa7,0xd3,0xe9,0x3a,0xd6,0xae,0x60,0x71,0x04,0xff,0x3f,0x0d,0xbb,0xb0,
+ 0xdf,0xc7,0x21,0xdc,0xc5,0xe3,0x71,0xdd,0xef,0xf7,0x1b,0xb8,0x7e,0x84,
+ 0x93,0x01,0xbf,0x21,0x7b,0xb0,0x60,0xe3,0x1d,0x67,0xaa,0xd5,0x6a,0xa9,
+ 0x50,0x28,0x94,0x7b,0x29,0x16,0x8b,0x65,0x55,0x55,0x6b,0xf9,0x7c,0xbe,
+ 0x4e,0xd7,0xfd,0xee,0x25,0x95,0x4a,0xe5,0xc5,0x3a,0x1f,0x83,0x66,0x04,
+ 0xf5,0xb3,0xb1,0x58,0xac,0xf1,0xfd,0x7c,0xfd,0x56,0x28,0x14,0xb2,0x3b,
+ 0xa3,0xda,0x7d,0xfa,0xae,0x8f,0xb2,0x3f,0xc4,0x8c,0x6c,0xf7,0x93,0xc9,
+ 0xa4,0xee,0xf1,0x78,0xcc,0x51,0x89,0x44,0x22,0xcd,0x21,0xfa,0x74,0x96,
+ 0x35,0x0e,0xae,0x6d,0xf4,0xa7,0x60,0x13,0xb6,0x39,0xd8,0x82,0xb9,0x01,
+ 0x7d,0xc7,0x3f,0xf3,0x05,0x37,0x4d,0x8d,0x64
+};
+
+// images/keep_below_lit.png
+static const unsigned char image_7_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0xd6,0xbd,0x4b,0x02,0x61,0x00,0xc7,
+ 0xf1,0x0b,0xa3,0x17,0xa8,0x38,0x6b,0x8d,0x16,0x29,0x5a,0x5c,0xa2,0x7f,
+ 0x40,0xa4,0xa2,0xa9,0x45,0xdc,0x83,0xc0,0x24,0x89,0x16,0xcf,0x2d,0xc8,
+ 0xdd,0x21,0x10,0x21,0x5a,0x1b,0x22,0x1c,0x2a,0x92,0x82,0x88,0x20,0x8c,
+ 0x5e,0x16,0x23,0x68,0x89,0xd2,0x21,0xac,0xb8,0xe3,0x0e,0x0a,0xeb,0xaa,
+ 0xeb,0x78,0xfa,0x3d,0x7a,0xd7,0x20,0x96,0x4a,0x3e,0x27,0xc1,0x0d,0x1f,
+ 0x38,0x9f,0x47,0xfd,0xe2,0x3d,0xe7,0x73,0x47,0x08,0xe1,0x88,0xcd,0x56,
+ 0xbf,0x1e,0x18,0x6a,0x62,0x7f,0x06,0x96,0xa1,0xb5,0x09,0xed,0x01,0x38,
+ 0x80,0x0b,0x18,0xb3,0xb8,0xdd,0x02,0x4b,0xa2,0x28,0xe6,0xd3,0xe9,0xb4,
+ 0x82,0xe3,0x75,0xe8,0xb6,0xb0,0x3f,0x0a,0xe7,0xc1,0x60,0x50,0x75,0xbb,
+ 0xdd,0x9a,0xae,0xeb,0xd7,0x78,0x3d,0x6d,0x51,0xbb,0x1d,0x56,0x33,0x99,
+ 0x8c,0xe4,0x70,0x38,0x08,0xc7,0x71,0x24,0x1e,0x8f,0x17,0x30,0xb6,0x0f,
+ 0xfd,0x16,0xf4,0xa7,0xe0,0xca,0xe3,0xf1,0x7c,0xd0,0x36,0xe5,0x74,0x3a,
+ 0x75,0x59,0x96,0xef,0x30,0xbe,0xc8,0xb8,0xdd,0x0b,0x9b,0xc9,0x64,0xf2,
+ 0xc9,0x6c,0x9b,0x42,0xa1,0x90,0x8a,0xb9,0x33,0x18,0x61,0xd8,0x9f,0x87,
+ 0xdb,0x44,0x22,0xf1,0xe2,0xf5,0x7a,0xbf,0x7f,0xbf,0xcb,0xe5,0xfa,0x8c,
+ 0x44,0x22,0xaa,0xa6,0x69,0xf7,0x98,0x5f,0x81,0x36,0x06,0xed,0x41,0x58,
+ 0x33,0xd6,0xf9,0x94,0xae,0xb9,0xd9,0xf7,0xf9,0x7c,0xef,0x18,0xbb,0x34,
+ 0xe6,0xb6,0x60,0x92,0x41,0xbf,0x13,0x78,0xc3,0x46,0x85,0xfe,0x31,0x0c,
+ 0x1b,0xf3,0xac,0xff,0x8b,0x3f,0xf5,0xad,0xb8,0xfe,0xed,0xbe,0xdd,0x67,
+ 0xd9,0xef,0x80,0x59,0x58,0xf8,0xc5,0x36,0xf6,0x7f,0x39,0x16,0x8b,0x15,
+ 0xa8,0x54,0x2a,0xf5,0x8c,0xb1,0x13,0x10,0xaa,0x7c,0x6e,0x0e,0xfa,0xaa,
+ 0xf4,0xbb,0x60,0x57,0x51,0x94,0x7c,0x36,0x9b,0x7d,0xac,0x24,0x97,0xcb,
+ 0x51,0x62,0x99,0x8a,0xef,0x35,0x49,0x92,0xf4,0x80,0xef,0x3d,0xaa,0xe1,
+ 0x1c,0xd1,0xfe,0x9e,0x20,0x08,0x6a,0xf9,0x1e,0xff,0x17,0x7e,0xbf,0xbf,
+ 0xd6,0x35,0x2a,0xf6,0xc3,0xe1,0x70,0x43,0xfb,0x75,0x5c,0x23,0xc5,0x7e,
+ 0x34,0x1a,0x7d,0xe5,0x79,0x5e,0x6f,0x94,0x40,0x20,0xf0,0x56,0x47,0x7f,
+ 0x07,0x6e,0x18,0x38,0xac,0xa1,0x4f,0xef,0x9d,0xe3,0xa4,0x74,0x0f,0x6b,
+ 0xb4,0x09,0x52,0x7a,0x66,0xb7,0x62,0x8f,0xb0,0xfd,0x13,0x5f,0x6c,0x07,
+ 0x8e,0x23
+};
+
+// images/maximize.png
+static const unsigned char image_8_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0xd6,0x3d,0x0a,0xc2,0x30,0x14,0xc0,
+ 0xf1,0xf8,0x31,0x38,0x38,0x3a,0x78,0xac,0x5e,0x20,0x2e,0xa5,0x47,0xe8,
+ 0x98,0xad,0xd0,0xa9,0x57,0x10,0x29,0xa1,0x3a,0x04,0x04,0xa9,0x45,0x3a,
+ 0x08,0x82,0x17,0xb1,0x27,0x10,0xdb,0x62,0x71,0x89,0xaf,0x93,0x8e,0x49,
+ 0x7d,0x1d,0xd4,0x37,0xfc,0x86,0x0c,0x79,0xff,0xe9,0x91,0x68,0xad,0x99,
+ 0x26,0xe4,0x65,0x04,0x66,0x3d,0x19,0x18,0xf4,0xe7,0x40,0x81,0x23,0x32,
+ 0x09,0x26,0x86,0xfd,0x93,0x94,0xb2,0xf2,0x3c,0xaf,0xc1,0x90,0xa6,0xe9,
+ 0x0d,0x66,0xee,0x6d,0xfa,0x9c,0xf3,0x86,0x31,0xa6,0x31,0x08,0x21,0x6a,
+ 0xea,0x53,0xbf,0x4b,0x3f,0x49,0x92,0x12,0xce,0x05,0xb8,0x58,0x2a,0xc2,
+ 0x30,0xac,0x3f,0xed,0xc7,0x71,0xdc,0xee,0xce,0x06,0x70,0x0b,0x0b,0x90,
+ 0x05,0x41,0x80,0xd5,0x5f,0x1a,0xdc,0x7b,0x37,0x06,0x3b,0xea,0x53,0x9f,
+ 0xfa,0x3f,0xd1,0x6f,0xff,0x0f,0x5b,0x4b,0x67,0x8c,0xbe,0xeb,0xba,0x4d,
+ 0x14,0x45,0x55,0x17,0x8e,0xe3,0x3c,0xbe,0xf5,0xfd,0x51,0x4a,0x95,0xbe,
+ 0xef,0xdf,0x31,0xe4,0x79,0x7e,0xb5,0xec,0xaf,0xc1,0x01,0xd9,0xca,0xb0,
+ 0x3f,0x04,0xd3,0x9e,0xd8,0xec,0x10,0xf9,0x03,0x4f,0xa7,0xb4,0x12,0xd3
+};
+
+// images/minimize.png
+static const unsigned char image_9_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0xcd,0xb1,0x0d,0x80,0x20,0x10,0x85,
+ 0xe1,0xeb,0x58,0xc1,0x11,0x1c,0x82,0xca,0x41,0x28,0xdc,0x07,0x0a,0x87,
+ 0xa0,0x23,0xc6,0x82,0x01,0x9c,0xc0,0x5d,0x8c,0x26,0xc6,0xe6,0xe4,0x12,
+ 0x17,0xe0,0xa4,0xf3,0x15,0x5f,0xf9,0xde,0xcf,0xcc,0xc4,0x00,0x00,0x00,
+ 0x00,0xf0,0x77,0xa6,0xe8,0x1a,0x32,0x95,0xfd,0xbe,0xc8,0xc5,0xda,0x40,
+ 0x7e,0xff,0x6a,0xfb,0x9b,0xf7,0xe1,0x74,0x6e,0xbc,0xb4,0x64,0x2f,0x3f,
+ 0xda,0xbe,0xb5,0xc3,0x4d,0x44,0xac,0x25,0x7b,0xf4,0xf5,0xfd,0x94,0x96,
+ 0x3d,0x84,0xe9,0xd0,0x92,0xfd,0x87,0x7e,0x2c,0xe6,0x06,0xa2,0xa2,0x0f,
+ 0x3f,0xf1,0x00,0xed,0x04,0xa6,0xee
+};
+
+// images/restore.png
+static const unsigned char image_10_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0xd5,0xcb,0x4b,0x02,0x41,0x1c,0xc0,
+ 0x71,0xb1,0xac,0x4e,0x3d,0xce,0x42,0x74,0x4c,0x82,0x12,0xea,0x22,0x41,
+ 0x82,0x74,0xee,0xd0,0x1f,0x11,0x2b,0x82,0x50,0x5d,0xa3,0x17,0x44,0xd4,
+ 0xa1,0x28,0x82,0x20,0xc2,0x12,0x3c,0x84,0x98,0x15,0x22,0x64,0x0f,0x84,
+ 0xba,0x84,0x45,0x0a,0x15,0x9d,0xa2,0x7c,0x24,0xee,0xb6,0x21,0x3e,0x2a,
+ 0xb3,0xc7,0xf4,0x1b,0x30,0x83,0xdc,0xb1,0x1c,0x57,0x14,0xf1,0xf0,0x61,
+ 0xd9,0xdd,0x61,0xbe,0x8b,0xce,0xec,0x22,0x84,0x24,0xa8,0xa2,0xd4,0xb5,
+ 0x81,0x15,0x60,0x10,0x81,0x9e,0xa2,0xaf,0x04,0x97,0x0e,0xc7,0x41,0xc4,
+ 0x64,0x32,0x47,0x69,0xb1,0xec,0x03,0x0b,0xf3,0xcc,0x50,0xf6,0xaf,0x3a,
+ 0x3a,0x3a,0xdf,0x24,0x12,0x09,0xa2,0x75,0x78,0x78,0x14,0x2e,0x87,0x7e,
+ 0x55,0x55,0x35,0x1a,0x1f,0x9f,0x7c,0x1e,0x1d,0x9d,0x78,0xfa,0x8b,0x4a,
+ 0xd5,0xfd,0x26,0x76,0x5f,0x26,0xab,0x81,0x53,0xe4,0x05,0xbb,0xc0,0x9e,
+ 0xc5,0xa9,0x5e,0x3f,0xf4,0xf2,0xcf,0xbe,0x14,0xb4,0x10,0xf4,0x0a,0xf4,
+ 0x6f,0xc1,0x00,0x68,0x25,0x90,0x83,0xfd,0x1c,0xfa,0x75,0x60,0x03,0x9c,
+ 0x10,0xdc,0xfc,0xea,0xfb,0x80,0x8b,0x30,0x76,0x33,0xf5,0xdc,0xb9,0xf6,
+ 0xed,0x66,0xb3,0x25,0xd6,0xd7,0xd7,0xff,0x2a,0xa4,0xbe,0xbe,0xe9,0x13,
+ 0xcf,0x23,0x95,0x4a,0x11,0x69,0xcc,0xfa,0xba,0x31,0x8e,0xbb,0xb4,0x7d,
+ 0xbc,0x66,0xf2,0x59,0xe3,0xb8,0x57,0x2e,0x7d,0x83,0xc1,0x18,0xf3,0x7a,
+ 0x03,0xa1,0xbb,0xbb,0x40,0xc8,0xe7,0x0b,0x70,0x0a,0x45,0xfb,0xfb,0xf7,
+ 0xff,0xef,0xf7,0xdf,0xf3,0xf8,0x3a,0x66,0xb5,0x6e,0x47,0x0b,0xd1,0xb7,
+ 0x58,0x76,0x22,0xa9,0x35,0x39,0x42,0x58,0xff,0xb3,0xc0,0x88,0xe7,0x2d,
+ 0x60,0x7f,0x19,0x09,0xef,0x7f,0xdc,0x9f,0x06,0x6b,0x02,0x7d,0x27,0x18,
+ 0xc6,0xc7,0x42,0xf5,0x79,0x9e,0xe7,0x58,0x96,0x0f,0x72,0x1c,0x1f,0xb4,
+ 0xd9,0xec,0xe9,0xdf,0x9f,0x61,0x74,0x09,0xb8,0x1e,0xc2,0xf7,0xf0,0x11,
+ 0x9f,0x8b,0xdd,0x2f,0xd0,0xfb,0xbf,0xe4,0xfb,0x5a,0xad,0x2e,0xd1,0xd3,
+ 0xa3,0x49,0xfe,0xa6,0x54,0x76,0xa5,0x9f,0x4b,0x2e,0x6f,0xfe,0x10,0x1a,
+ 0xa3,0x56,0x6b,0x92,0x1e,0xcf,0xc5,0x63,0x1e,0xfd,0x63,0xe0,0x16,0xe0,
+ 0x71,0x3a,0x33,0xd6,0xdf,0x35,0x61,0xec,0x39,0x98,0xa2,0xe8,0x37,0x20,
+ 0xf2,0x77,0x66,0x8e,0xb0,0xff,0x3a,0x09,0xe3,0x5b,0x72,0xec,0x1f,0x80,
+ 0xad,0x2c,0xf6,0x08,0xfd,0x46,0x42,0x87,0x24,0xa3,0xcf,0x30,0xda,0xc4,
+ 0xfc,0xfc,0x62,0xfc,0x2f,0x83,0x83,0x3f,0x7b,0x5c,0xcc,0x7e,0x9e,0xef,
+ 0x7f,0xaa,0xfe,0xd8,0x58,0x71,0xfb,0x6e,0xf7,0xc5,0xe3,0xea,0xaa,0x31,
+ 0x46,0xcb,0xe5,0x3a,0x0b,0x53,0xf6,0x6b,0xc1,0x02,0x30,0x89,0x60,0x29,
+ 0xb5,0x67,0x72,0xe9,0x57,0x14,0xc1,0x17,0x14,0x8f,0x98,0x2d
+};
+
+// images/splat.png
+static const unsigned char image_11_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0x95,0x4f,0x88,0x12,0x51,0x1c,0xc7,
+ 0xfd,0x97,0x25,0xa4,0x24,0x74,0x30,0x48,0x09,0x94,0x2e,0x4a,0x47,0xa1,
+ 0x8b,0x74,0x32,0x3c,0x8a,0x92,0xac,0x20,0x1d,0x42,0xa1,0x0e,0x76,0x52,
+ 0x88,0x20,0xc8,0x43,0x17,0x43,0x08,0xf4,0x18,0x21,0x0b,0x81,0x74,0x92,
+ 0x95,0x88,0xf4,0x50,0x81,0x10,0x81,0xd6,0x4a,0x04,0xfd,0x21,0x77,0x5d,
+ 0x74,0x24,0x76,0x76,0x6b,0x99,0x72,0xd5,0x1d,0xdf,0x7e,0x1f,0x3a,0x83,
+ 0x87,0x0d,0xc7,0x66,0xa4,0x08,0x0f,0x1f,0x18,0x7e,0xef,0xf1,0xfb,0x30,
+ 0xef,0xf7,0xfb,0xbd,0x47,0x08,0x51,0x91,0x25,0x4b,0xfe,0x0d,0x8e,0x83,
+ 0x10,0x88,0x2c,0x80,0x15,0x70,0x6a,0x86,0xff,0x24,0x78,0x0a,0x36,0xc0,
+ 0xa6,0xc2,0xbc,0x00,0x67,0x25,0xf8,0x9f,0x25,0x93,0xc9,0x9e,0x4a,0xa5,
+ 0x22,0x4a,0x11,0x0a,0x85,0xfa,0xc8,0x5b,0x95,0xea,0x4f,0x24,0x12,0x8a,
+ 0xfa,0x83,0xc1,0xe0,0x5c,0xfe,0xbf,0xfc,0xff,0x52,0xea,0xcf,0xf8,0x7c,
+ 0xbe,0x3e,0xcd,0x1d,0x08,0x04,0x68,0x6e,0x46,0xa1,0xfa,0xcf,0xea,0xff,
+ 0x1b,0xf4,0x7c,0x4a,0xa5,0xd2,0x8f,0xe9,0xff,0x2b,0x97,0xcb,0xbb,0x88,
+ 0xaf,0x81,0x98,0xcc,0xfe,0x9f,0xc5,0xf5,0xc1,0x60,0xf0,0xd5,0xe1,0x70,
+ 0x1c,0x4c,0xfb,0x5d,0x2e,0xd7,0x90,0xe7,0xf9,0x4f,0x13,0xcf,0xa2,0xee,
+ 0x86,0x73,0xe0,0x65,0x26,0x93,0xe1,0x8e,0xaa,0x71,0x2e,0x97,0xe3,0xb0,
+ 0xfe,0x1c,0x9c,0x59,0x80,0x5b,0x0d,0xee,0x75,0xbb,0x5d,0xc6,0x64,0x32,
+ 0x8d,0x04,0xa7,0xcd,0x66,0xe3,0x85,0x6f,0xb3,0xd9,0xcc,0xb3,0x2c,0xbb,
+ 0x85,0x7d,0xb7,0x17,0xe0,0xbf,0x08,0x6a,0xb1,0x58,0x4c,0x9c,0x0b,0x8b,
+ 0xc5,0xc2,0x77,0x3a,0x1d,0x96,0x7a,0x85,0x58,0x3c,0x1e,0xff,0x85,0x7d,
+ 0xaf,0xc1,0x05,0x05,0xdd,0x27,0xc0,0xa3,0x7a,0xbd,0xbe,0xad,0xd5,0x6a,
+ 0xc5,0xf3,0xce,0xe7,0xf3,0x7b,0x88,0xaf,0x67,0xb3,0x59,0xb1,0x1e,0x3a,
+ 0x9d,0x8e,0x34,0x1a,0x8d,0x6f,0x88,0xe7,0x80,0x4e,0x21,0x7f,0x00,0x7c,
+ 0xf0,0x78,0x3c,0x03,0xc1,0xe3,0x76,0xbb,0x87,0x88,0x7d,0x04,0x0f,0xd0,
+ 0x77,0x5f,0x9c,0x4e,0xe7,0x50,0x58,0xf3,0x7a,0xbd,0x03,0xc4,0x1b,0xe0,
+ 0xb2,0x02,0xee,0xd3,0x60,0xad,0x50,0x28,0xec,0x09,0xf9,0xd5,0x6a,0x35,
+ 0xa9,0x56,0xab,0x3b,0x88,0xaf,0x4e,0x7a,0xed,0x49,0xa5,0x52,0xd9,0x9d,
+ 0xee,0xc5,0x62,0xb1,0xf8,0x9d,0xc6,0x81,0x49,0xa6,0xff,0x66,0xaf,0xd7,
+ 0xdb,0xb0,0x5a,0xad,0xe2,0xbc,0x85,0xc3,0xe1,0x7d,0xc4,0xdf,0x81,0x5b,
+ 0xe0,0x0a,0xb8,0x03,0xde,0xfb,0xfd,0xfe,0xbe,0xb0,0xc7,0x6e,0xb7,0x1f,
+ 0x60,0x4e,0x3f,0x23,0x7e,0x4d,0x86,0xfb,0x3c,0x78,0x95,0x4a,0xa5,0x7e,
+ 0x0a,0x79,0x0d,0x06,0xc3,0xa8,0xdd,0x6e,0xb3,0x64,0x7c,0x3f,0x36,0xa7,
+ 0xd8,0x6c,0x36,0x9b,0x3b,0x7a,0xbd,0x5e,0x9c,0x8d,0x74,0x3a,0x4d,0xe7,
+ 0xb1,0x02,0xac,0x7f,0xe0,0xd6,0x80,0xfb,0xad,0x56,0x8b,0xa1,0xce,0xe9,
+ 0xb3,0xa7,0x3d,0xf6,0x3b,0xe8,0xba,0xb0,0xd7,0x68,0x34,0x8e,0x18,0x86,
+ 0x69,0x23,0xcf,0x5d,0x32,0x9e,0xdf,0x79,0xfc,0x97,0xc0,0xdb,0x48,0x24,
+ 0xb2,0x2f,0xe7,0xdd,0x89,0x46,0xa3,0xb4,0x56,0x6f,0x80,0x7b,0x0e,0x37,
+ 0x7d,0x83,0x1e,0xd3,0x1e,0xd3,0x68,0x34,0xb2,0xde,0x3d,0x7a,0x26,0xb5,
+ 0x5a,0x6d,0x1b,0xf9,0x1e,0x92,0xf1,0xdb,0x22,0xc5,0x7f,0x15,0xac,0xa3,
+ 0x7f,0x5a,0x1c,0xc7,0x6d,0xc9,0x85,0xe6,0x41,0xbe,0x3a,0x19,0xcf,0xb1,
+ 0x94,0xbb,0x66,0x65,0xd2,0xb7,0x4a,0x43,0x67,0xe5,0x98,0x8c,0x79,0x58,
+ 0xb2,0xe4,0xbf,0xe3,0x10,0x41,0x16,0x22,0x58
+};
+
+// images/unsplat.png
+static const unsigned char image_12_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0xd6,0x4b,0x88,0x52,0x51,0x18,0x07,
+ 0x70,0x5f,0x64,0x62,0x52,0x0a,0x99,0x82,0xb8,0x2a,0x88,0xc6,0xda,0x0c,
+ 0x81,0x50,0x4a,0xc4,0x30,0xad,0xda,0x0c,0x43,0x96,0x14,0x6e,0xca,0x45,
+ 0x4c,0xb3,0x29,0x07,0x0c,0x37,0x12,0x2e,0x62,0x20,0x82,0xb0,0x8d,0x60,
+ 0x08,0x11,0x8c,0x2d,0x42,0xa6,0xc7,0x10,0x2e,0x2a,0xab,0xcd,0x18,0x95,
+ 0x8b,0xe9,0x21,0x54,0xa3,0xc1,0x50,0x0c,0x9a,0x7a,0xc7,0xc7,0x8c,0xf7,
+ 0xde,0xfe,0x27,0x3d,0x72,0x0b,0x62,0x74,0xbc,0xea,0x2c,0x46,0xf8,0x6d,
+ 0x8e,0x97,0xef,0xef,0x39,0xe7,0x3b,0xe7,0xca,0xf3,0xbc,0x84,0xdf,0xb2,
+ 0x65,0x73,0x50,0x82,0x03,0xce,0xf5,0xc0,0x19,0xd8,0xb5,0x4e,0xfe,0x0e,
+ 0x78,0x0c,0xdf,0x60,0x51,0x64,0xcf,0xc0,0xd4,0x46,0xfe,0xdc,0xd4,0xd4,
+ 0x54,0x45,0x22,0x91,0xf0,0x62,0x71,0x38,0x1c,0x35,0xd4,0x7d,0xd5,0x6e,
+ 0xbe,0xc7,0xe3,0x11,0x35,0x7f,0x7c,0x7c,0xbc,0xa3,0xfc,0x01,0xce,0x7f,
+ 0x1f,0x3c,0x19,0xe0,0xfe,0x6f,0x87,0xdb,0x90,0xae,0x54,0x2a,0x59,0x86,
+ 0x61,0xba,0xd6,0x9c,0xcb,0x53,0x38,0xdb,0x46,0xff,0x13,0x87,0xe0,0xb5,
+ 0xcf,0xe7,0x2b,0x77,0xbb,0xee,0x43,0x43,0x43,0x75,0x96,0x65,0xd3,0xa8,
+ 0x77,0xa1,0x8d,0x5c,0x21,0x6f,0xa1,0x50,0xc8,0xe8,0xf5,0x7a,0xb6,0x9b,
+ 0xfc,0xd9,0xd9,0xd9,0x5f,0xa8,0x75,0x1f,0x76,0x76,0x98,0x6f,0x20,0x7d,
+ 0x10,0x0e,0x87,0x8b,0xc2,0x7a,0x32,0x99,0x8c,0x57,0x28,0x14,0xff,0x25,
+ 0x7c,0x76,0x74,0x74,0x74,0x15,0x35,0xde,0xc3,0x89,0x0e,0xb3,0x29,0x27,
+ 0x7c,0x1a,0x1e,0x1e,0x5e,0xa3,0x35,0xed,0x76,0x3b,0xa9,0xb9,0x04,0x5f,
+ 0xff,0x91,0x0d,0x85,0x42,0x0c,0x7d,0x8e,0xfc,0x96,0x54,0x2a,0xf5,0x13,
+ 0xe3,0xb7,0x40,0xb1,0xc1,0x7c,0x35,0xdc,0x4d,0x24,0x12,0x39,0xa9,0x54,
+ 0xda,0x9a,0x57,0x34,0x1a,0x2d,0x60,0x7c,0x0e,0xce,0xf3,0x8d,0xbb,0xfa,
+ 0x4e,0x2e,0x97,0xfb,0xae,0xd5,0x6a,0x5b,0x7b,0x35,0x39,0x39,0x59,0xe6,
+ 0x1b,0xe7,0xed,0xe0,0x06,0xb3,0xa9,0x63,0xf0,0xd6,0xe9,0x74,0x56,0x69,
+ 0x6d,0xb3,0xd9,0x5c,0xaf,0x56,0xab,0x64,0xce,0x97,0xe0,0x30,0xcc,0x4f,
+ 0x4c,0x4c,0xb4,0xee,0x0b,0x9d,0x4e,0xc7,0xe6,0xf3,0xf9,0x0c,0xc6,0xaf,
+ 0x76,0x99,0x4d,0xc8,0xe1,0x46,0x26,0x93,0x59,0x52,0xa9,0x54,0x1c,0xcd,
+ 0x08,0x04,0x02,0x2b,0x18,0x7f,0x01,0x11,0xac,0xf3,0xb2,0x70,0xef,0x83,
+ 0xc1,0x20,0xd3,0x5c,0x1f,0xa3,0x08,0xf9,0xc4,0x7e,0x48,0xf8,0xfd,0xfe,
+ 0x15,0x9a,0xa1,0x56,0xab,0xb9,0x6c,0x36,0x4b,0xfa,0xe0,0xe3,0xc8,0xc8,
+ 0xc8,0x2a,0x1d,0xb7,0x58,0x2c,0x6b,0x1c,0xc7,0x7d,0xe6,0x1b,0xef,0x3b,
+ 0x31,0xb2,0xa9,0xcb,0xe5,0x72,0x79,0xd1,0x64,0x32,0xd5,0x69,0x96,0xcb,
+ 0xe5,0xaa,0xc6,0x62,0xb1,0x82,0xb0,0xe7,0xe3,0xf1,0x78,0x1e,0xcf,0xde,
+ 0xe3,0x1b,0xf7,0xb8,0x98,0xf9,0xbb,0xe1,0xe1,0xcc,0xcc,0x4c,0x51,0x78,
+ 0x16,0x8d,0x46,0x63,0xab,0xe7,0xc6,0xc6,0xc6,0xc8,0x1d,0xff,0x0e,0x8e,
+ 0x8b,0x9c,0x4d,0x9d,0x82,0x0f,0x36,0x9b,0x6d,0x55,0x38,0x67,0x42,0xa9,
+ 0x54,0x72,0xe9,0x74,0xfa,0x07,0xbe,0xbf,0xd9,0xec,0x99,0x5e,0xe4,0xab,
+ 0x48,0xbf,0x25,0x93,0xc9,0x65,0xb9,0x5c,0xfe,0x57,0xbe,0xd7,0xeb,0x25,
+ 0xe7,0xed,0x25,0x1c,0xe8,0x51,0x36,0x75,0x14,0xde,0xb8,0xdd,0xee,0xd6,
+ 0x79,0x33,0x18,0x0c,0x6c,0xa9,0x54,0x22,0xef,0xb7,0x2b,0x3d,0xce,0x26,
+ 0x64,0x70,0x7d,0x09,0x1f,0x8d,0x46,0xf3,0xe7,0x3c,0x46,0x22,0x91,0x22,
+ 0xc6,0x1e,0xc1,0x9e,0x3e,0xe4,0x13,0x7b,0xe1,0xf9,0xf4,0xf4,0x34,0x63,
+ 0xb5,0x5a,0xd7,0x48,0x4f,0xc0,0xe9,0x3e,0x65,0x53,0x17,0x6b,0xb5,0xda,
+ 0x97,0x85,0x85,0x85,0x65,0xd2,0x13,0xcd,0xde,0xe8,0x67,0xbe,0x16,0x1e,
+ 0xc0,0x3c,0x1c,0xe9,0x73,0x36,0x75,0x12,0xae,0x81,0x74,0x40,0xf9,0xdb,
+ 0xf8,0xf5,0xff,0xcf,0x6d,0x7a,0xbf,0x01,0x32,0x22,0x1e,0x30
+};
+
+// images/window_background.png
+static const unsigned char image_13_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0xd6,0xbf,0x4e,0x83,0x40,0x1c,0xc0,
+ 0x71,0xe2,0x82,0xbb,0x09,0x09,0x8b,0xe9,0x40,0xc3,0xd2,0xc5,0x04,0x12,
+ 0x17,0xde,0x80,0xc8,0x6e,0xe2,0x0b,0xf8,0x0e,0xa8,0x8d,0x9a,0x2e,0x0e,
+ 0x3e,0x02,0x89,0x8b,0xcc,0xc4,0x91,0xbf,0x81,0x20,0x74,0x51,0x97,0x3a,
+ 0xea,0x26,0x89,0xad,0x26,0x8d,0x26,0xd5,0xd6,0xf3,0x77,0xba,0x74,0x00,
+ 0x4b,0x0f,0x28,0x0e,0x0c,0x9f,0x81,0x01,0xbe,0x17,0x92,0xbb,0xfb,0x21,
+ 0x84,0x28,0xd4,0xf8,0xef,0xd6,0x40,0xab,0x24,0x1b,0x04,0xfd,0x75,0x70,
+ 0x09,0xae,0x0b,0xf2,0xc1,0x2e,0x61,0xff,0x4a,0xd7,0xf5,0xb1,0x2c,0xcb,
+ 0x13,0x12,0x8a,0xa2,0x4c,0xe0,0x1b,0x8f,0x60,0x8f,0xb4,0xaf,0xaa,0xea,
+ 0x1b,0x45,0x51,0x88,0x54,0xd3,0xff,0xb3,0xdf,0x06,0x9d,0x0c,0x5b,0x2b,
+ 0xe8,0x9f,0x81,0x1b,0x70,0x97,0x61,0x00,0xfd,0xf7,0x0a,0xfb,0xe7,0xbe,
+ 0xef,0xbf,0x88,0xa2,0xf8,0x29,0x08,0x42,0x2a,0x96,0x65,0x67,0x55,0xf6,
+ 0x0d,0xc3,0x78,0x2d,0xf2,0xfd,0xb2,0xfa,0x92,0x24,0x7d,0xc0,0xbf,0x18,
+ 0xa5,0x09,0x82,0xe0,0x47,0x18,0x86,0xc3,0x28,0x8a,0x86,0x71,0x1c,0x3f,
+ 0x6b,0x9a,0x36,0x2e,0xb3,0x8f,0xcf,0x0b,0x78,0xee,0x83,0x1e,0xe8,0xce,
+ 0x39,0x9a,0x73,0x08,0x0e,0xc0,0x85,0x69,0x9a,0xa3,0x0a,0xfa,0xf8,0xbc,
+ 0x6c,0xe5,0xd8,0x9b,0xa7,0x96,0x65,0xd5,0xd9,0x3f,0xb1,0x6d,0xbb,0xd6,
+ 0xbe,0xe3,0x38,0x75,0xf6,0x8f,0x5d,0xd7,0xad,0xb3,0xdf,0xf5,0x3c,0xaf,
+ 0xd6,0x3e,0xde,0x97,0xf8,0x3d,0x9a,0xa6,0xbf,0x38,0x8e,0x9b,0xa6,0xe1,
+ 0x79,0x7e,0x5a,0x75,0x1f,0x9f,0x91,0xf0,0xfc,0x00,0xee,0x33,0xdc,0xae,
+ 0xa0,0x8f,0xef,0x8a,0x1d,0x20,0x64,0xd8,0x5c,0xa2,0xbf,0x8d,0x16,0xcf,
+ 0x73,0xbd,0x94,0x7e,0x27,0xc7,0xba,0x17,0xf5,0x07,0x28,0xdf,0x4c,0xd7,
+ 0x2f,0xbb,0xcf,0x30,0xcc,0x6c,0x99,0xd9,0x0e,0xdf,0x17,0x65,0xf6,0x49,
+ 0xe1,0xbb,0xbb,0x48,0x3f,0x49,0x92,0x27,0xbc,0x06,0x52,0x78,0x7e,0x40,
+ 0xbf,0x33,0x0c,0x49,0x7f,0x1f,0xaf,0xa1,0x04,0x78,0x8e,0x6a,0x13,0xf4,
+ 0x1b,0x35,0xf8,0x06,0xf5,0x99,0x77,0xf9
+};
+
+// images/window_foreground.png
+static const unsigned char image_14_data[] = {
+ 0x00,0x00,0x10,0x00,0x78,0x9c,0xed,0xd6,0x3f,0x4b,0xc3,0x40,0x1c,0xc6,
+ 0xf1,0x18,0x0c,0x58,0x1c,0x74,0x90,0x40,0x76,0x5f,0x88,0xf1,0x25,0x74,
+ 0xa8,0x38,0x38,0x69,0x9a,0x25,0x93,0x64,0x0a,0x64,0x4a,0x20,0x2f,0x20,
+ 0xef,0xa0,0x83,0x6b,0x40,0x28,0xa6,0x28,0xee,0xee,0x4e,0x3a,0xd4,0x62,
+ 0x11,0x57,0x25,0x69,0x8b,0x50,0xce,0xe7,0x20,0x85,0x52,0x2e,0x69,0x73,
+ 0xb9,0x14,0xc4,0x04,0x3e,0x43,0xc8,0x9f,0xef,0x6f,0x48,0x2e,0x21,0x84,
+ 0x48,0xa4,0xf1,0x17,0x1c,0x09,0xb2,0xcf,0xd1,0xde,0x85,0x1e,0x3c,0x56,
+ 0xf4,0x00,0xe7,0x9c,0xfd,0xdb,0x38,0x8e,0xbf,0x0c,0xc3,0x98,0xf1,0x30,
+ 0x4d,0x73,0x86,0x7b,0xbc,0xc1,0x05,0x6f,0xdf,0xf7,0xfd,0x54,0x92,0x24,
+ 0xc2,0x0b,0xdb,0xa8,0xe9,0x33,0xfb,0x2d,0x68,0x43,0x27,0xc7,0x19,0xf4,
+ 0x6b,0xec,0x1f,0x42,0x0c,0xc3,0x02,0xa3,0x20,0x08,0xea,0xec,0xdf,0xdb,
+ 0xb6,0x3d,0x55,0x14,0x85,0xe4,0x91,0x65,0x99,0xbb,0xbd,0x49,0xdf,0xb2,
+ 0xac,0x69,0x95,0xfb,0x8b,0xea,0x3b,0x8e,0x33,0x49,0x92,0x64,0x0c,0xef,
+ 0x4b,0xc6,0x9e,0xe7,0x4d,0xb6,0xd1,0x77,0x5d,0x37,0xc5,0xfe,0x00,0xba,
+ 0x70,0x09,0x57,0x70,0x57,0xf3,0xf3,0xb7,0xda,0xef,0xc3,0xde,0x96,0xde,
+ 0xbf,0xa6,0xdf,0xf4,0xd7,0xf6,0xc3,0x30,0x4c,0x54,0x55,0x9d,0xb3,0x2c,
+ 0x1a,0x79,0xc7,0x35,0x4d,0x9b,0x57,0xec,0x47,0xf0,0x02,0xaf,0xab,0xd2,
+ 0x34,0xfd,0xa4,0xd7,0xd1,0x35,0x12,0xdb,0x07,0xeb,0x9c,0xcc,0x33,0x67,
+ 0x7f,0x07,0x4e,0xe0,0x94,0xc1,0xa1,0xeb,0xd3,0x52,0x7f,0x08,0xd7,0x39,
+ 0xe7,0x52,0xc7,0x25,0xfa,0x07,0xd9,0x0c,0x45,0xba,0x8c,0x7e,0x87,0xd1,
+ 0x28,0xc2,0xea,0x3f,0x65,0x33,0xac,0x33,0xa0,0x6b,0xb3,0xc8,0xbe,0xae,
+ 0xeb,0x3f,0x74,0x86,0x4d,0xd1,0xef,0x85,0xc8,0x3e,0xaf,0xaa,0xfd,0x28,
+ 0x8a,0xbe,0xe9,0x0c,0xbc,0xe8,0xff,0x43,0x85,0xfe,0x0d,0x9d,0x41,0x00,
+ 0xfa,0x1f,0xd5,0x2e,0xd9,0x97,0xb3,0x19,0x44,0x69,0x95,0xec,0xff,0x5b,
+ 0xbf,0xdb,0x3f,0x14,0x40
+};
+
+static struct EmbedImage {
+ int width, height, depth;
+ const unsigned char *data;
+ ulong compressed;
+ int numColors;
+ const QRgb *colorTable;
+ bool alpha;
+ const char *name;
+} embed_image_vec[] = {
+ { 32, 32, 32, (const unsigned char*)image_0_data, 1004, 0, 0, TRUE, "circle.png" },
+ { 32, 32, 32, (const unsigned char*)image_1_data, 1163, 0, 0, TRUE, "circle2.png" },
+ { 32, 32, 32, (const unsigned char*)image_2_data, 951, 0, 0, TRUE, "close.png" },
+ { 32, 32, 32, (const unsigned char*)image_3_data, 639, 0, 0, TRUE, "help.png" },
+ { 32, 32, 32, (const unsigned char*)image_4_data, 293, 0, 0, TRUE, "keep_above.png" },
+ { 32, 32, 32, (const unsigned char*)image_5_data, 316, 0, 0, TRUE, "keep_above_lit.png" },
+ { 32, 32, 32, (const unsigned char*)image_6_data, 387, 0, 0, TRUE, "keep_below.png" },
+ { 32, 32, 32, (const unsigned char*)image_7_data, 408, 0, 0, TRUE, "keep_below_lit.png" },
+ { 32, 32, 32, (const unsigned char*)image_8_data, 210, 0, 0, TRUE, "maximize.png" },
+ { 32, 32, 32, (const unsigned char*)image_9_data, 119, 0, 0, TRUE, "minimize.png" },
+ { 32, 32, 32, (const unsigned char*)image_10_data, 474, 0, 0, TRUE, "restore.png" },
+ { 32, 32, 32, (const unsigned char*)image_11_data, 597, 0, 0, TRUE, "splat.png" },
+ { 32, 32, 32, (const unsigned char*)image_12_data, 656, 0, 0, TRUE, "unsplat.png" },
+ { 32, 32, 32, (const unsigned char*)image_13_data, 358, 0, 0, TRUE, "window_background.png" },
+ { 32, 32, 32, (const unsigned char*)image_14_data, 341, 0, 0, TRUE, "window_foreground.png" },
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static QImage uic_findImage( const QString& name )
+{
+ for ( int i=0; embed_image_vec[i].data; i++ ) {
+ if ( QString::fromUtf8(embed_image_vec[i].name) == name ) {
+ QByteArray baunzip;
+ baunzip = qUncompress( embed_image_vec[i].data,
+ embed_image_vec[i].compressed );
+ QImage img((uchar*)baunzip.data(),
+ embed_image_vec[i].width,
+ embed_image_vec[i].height,
+ embed_image_vec[i].depth,
+ (QRgb*)embed_image_vec[i].colorTable,
+ embed_image_vec[i].numColors,
+ QImage::BigEndian
+ );
+ img = img.copy();
+ if ( embed_image_vec[i].alpha )
+ img.setAlphaBuffer(TRUE);
+ return img;
+ }
+ }
+ return QImage();
+}
+
+class MimeSourceFactory_buttons : public QMimeSourceFactory
+{
+public:
+ MimeSourceFactory_buttons() {}
+ ~MimeSourceFactory_buttons() {}
+ const QMimeSource* data( const QString& abs_name ) const {
+ const QMimeSource* d = QMimeSourceFactory::data( abs_name );
+ if ( d || abs_name.isNull() ) return d;
+ QImage img = uic_findImage( abs_name );
+ if ( !img.isNull() )
+ ((QMimeSourceFactory*)this)->setImage( abs_name, img );
+ return QMimeSourceFactory::data( abs_name );
+ };
+};
+
+static QMimeSourceFactory* bfactory = 0;
+
+void qInitImages_buttons()
+{
+ if ( !bfactory ) {
+ bfactory = new MimeSourceFactory_buttons;
+ QMimeSourceFactory::defaultFactory()->addFactory( bfactory );
+ }
+}
+
+void qCleanupImages_buttons()
+{
+ if ( bfactory ) {
+ QMimeSourceFactory::defaultFactory()->removeFactory( bfactory );
+ delete bfactory;
+ bfactory = 0;
+ }
+}
+
+class StaticInitImages_buttons
+{
+public:
+ StaticInitImages_buttons() { qInitImages_buttons(); }
+#if defined(Q_OS_SCO) || defined(Q_OS_UNIXWARE)
+ ~StaticInitImages_buttons() { }
+#else
+ ~StaticInitImages_buttons() { qCleanupImages_buttons(); }
+#endif
+};
+
+static StaticInitImages_buttons staticImages;
diff --git a/client/config/Makefile.am b/client/config/Makefile.am
new file mode 100755
index 0000000..8e7e2ea
--- /dev/null
+++ b/client/config/Makefile.am
@@ -0,0 +1,14 @@
+AUTOMAKE_OPTIONS = foreign
+
+KDE_CXXFLAGS = -DQT_PLUGIN
+
+METASOURCES = AUTO
+
+INCLUDES = $(all_includes)
+
+noinst_HEADERS = polyesterconfig.h
+
+kde_module_LTLIBRARIES = kwin_polyester_config.la
+kwin_polyester_config_la_SOURCES = configdialog.ui polyesterconfig.cc
+kwin_polyester_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kwin_polyester_config_la_LIBADD = $(LIB_KDEUI)
diff --git a/client/config/Makefile.in b/client/config/Makefile.in
new file mode 100644
index 0000000..bb23099
--- /dev/null
+++ b/client/config/Makefile.in
@@ -0,0 +1,786 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = client/config
+DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(kde_moduledir)"
+kde_moduleLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(kde_module_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+kwin_polyester_config_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_kwin_polyester_config_la_OBJECTS = polyesterconfig.lo
+#>- kwin_polyester_config_la_OBJECTS = \
+#>- $(am_kwin_polyester_config_la_OBJECTS)
+#>+ 4
+kwin_polyester_config_la_final_OBJECTS = kwin_polyester_config_la.all_cc.lo
+kwin_polyester_config_la_nofinal_OBJECTS = polyesterconfig.lo configdialog.lo
+@KDE_USE_FINAL_FALSE@kwin_polyester_config_la_OBJECTS = $(kwin_polyester_config_la_nofinal_OBJECTS)
+@KDE_USE_FINAL_TRUE@kwin_polyester_config_la_OBJECTS = $(kwin_polyester_config_la_final_OBJECTS)
+#>- kwin_polyester_config_la_LINK = $(LIBTOOL) --tag=CXX \
+#>- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+#>- $(AM_CXXFLAGS) $(CXXFLAGS) $(kwin_polyester_config_la_LDFLAGS) \
+#>- $(LDFLAGS) -o $@
+#>+ 4
+kwin_polyester_config_la_LINK = $(LIBTOOL) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) $(kwin_polyester_config_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/admin/depcomp
+am__depfiles_maybe = depfiles
+#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+#>+ 2
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS)
+#>- LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+#>+ 3
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS)
+CXXLD = $(CXX)
+#>- CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+#>- $(LDFLAGS) -o $@
+#>+ 3
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(kwin_polyester_config_la_SOURCES)
+DIST_SOURCES = $(kwin_polyester_config_la_SOURCES)
+HEADERS = $(noinst_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+AUTOMAKE_OPTIONS = foreign
+KDE_CXXFLAGS = -DQT_PLUGIN
+#>- METASOURCES = AUTO
+INCLUDES = $(all_includes)
+noinst_HEADERS = polyesterconfig.h
+kde_module_LTLIBRARIES = kwin_polyester_config.la
+#>- kwin_polyester_config_la_SOURCES = configdialog.ui polyesterconfig.cc
+#>+ 1
+kwin_polyester_config_la_SOURCES= polyesterconfig.cc configdialog.cc
+kwin_polyester_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
+kwin_polyester_config_la_LIBADD = $(LIB_KDEUI)
+#>- all: all-am
+#>+ 1
+all: docs-am all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign client/config/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --foreign client/config/Makefile
+#>+ 12
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign client/config/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign client/config/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin client/config/Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-kde_moduleLTLIBRARIES: $(kde_module_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(kde_moduledir)" || $(MKDIR_P) "$(DESTDIR)$(kde_moduledir)"
+ @list='$(kde_module_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=install $(kde_moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(kde_moduledir)/$$f'"; \
+ $(LIBTOOL) --mode=install $(kde_moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(kde_moduledir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-kde_moduleLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(kde_module_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(kde_moduledir)/$$p'"; \
+ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(kde_moduledir)/$$p"; \
+ done
+
+clean-kde_moduleLTLIBRARIES:
+ -test -z "$(kde_module_LTLIBRARIES)" || rm -f $(kde_module_LTLIBRARIES)
+ @list='$(kde_module_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+kwin_polyester_config.la: $(kwin_polyester_config_la_OBJECTS) $(kwin_polyester_config_la_DEPENDENCIES)
+ $(kwin_polyester_config_la_LINK) -rpath $(kde_moduledir) $(kwin_polyester_config_la_OBJECTS) $(kwin_polyester_config_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polyesterconfig.Plo@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(kde_moduledir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+#>- clean: clean-am
+#>+ 1
+clean: kde-rpo-clean clean-am
+
+#>- clean-am: clean-generic clean-kde_moduleLTLIBRARIES clean-libtool \
+#>- mostlyclean-am
+#>+ 2
+clean-am: clean-metasources clean-ui clean-bcheck clean-final clean-generic clean-kde_moduleLTLIBRARIES clean-libtool \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+#>- install-data-am: install-kde_moduleLTLIBRARIES
+#>+ 1
+install-data-am:
+
+install-dvi: install-dvi-am
+
+#>- install-exec-am:
+#>+ 1
+install-exec-am: install-kde_moduleLTLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-kde_moduleLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-kde_moduleLTLIBRARIES clean-libtool ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am \
+ install-kde_moduleLTLIBRARIES install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-kde_moduleLTLIBRARIES
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
+
+
+#>+ 3
+polyesterconfig.moc: $(srcdir)/polyesterconfig.h
+ $(MOC) $(srcdir)/polyesterconfig.h -o polyesterconfig.moc
+
+#>+ 2
+mocs: polyesterconfig.moc
+
+#>+ 3
+clean-metasources:
+ -rm -f polyesterconfig.moc
+
+#>+ 2
+KDE_DIST=Makefile.in configdialog.ui Makefile.am
+
+#>+ 4
+clean-ui:
+ -rm -f \
+ configdialog.cc configdialog.h configdialog.moc
+
+#>+ 2
+docs-am:
+
+#>+ 15
+force-reedit:
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign client/config/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign client/config/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin client/config/Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-am
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXXCOMPILE) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 11
+kwin_polyester_config_la.all_cc.cc: $(srcdir)/Makefile.in $(srcdir)/polyesterconfig.cc $(srcdir)/configdialog.cc polyesterconfig.moc
+ @echo 'creating kwin_polyester_config_la.all_cc.cc ...'; \
+ rm -f kwin_polyester_config_la.all_cc.files kwin_polyester_config_la.all_cc.final; \
+ echo "#define KDE_USE_FINAL 1" >> kwin_polyester_config_la.all_cc.final; \
+ for file in polyesterconfig.cc configdialog.cc ; do \
+ echo "#include \"$$file\"" >> kwin_polyester_config_la.all_cc.files; \
+ test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> kwin_polyester_config_la.all_cc.final; \
+ done; \
+ cat kwin_polyester_config_la.all_cc.final kwin_polyester_config_la.all_cc.files > kwin_polyester_config_la.all_cc.cc; \
+ rm -f kwin_polyester_config_la.all_cc.final kwin_polyester_config_la.all_cc.files
+
+#>+ 3
+clean-final:
+ -rm -f kwin_polyester_config_la.all_cc.cc
+
+#>+ 3
+final:
+ $(MAKE) kwin_polyester_config_la_OBJECTS="$(kwin_polyester_config_la_final_OBJECTS)" all-am
+
+#>+ 3
+final-install:
+ $(MAKE) kwin_polyester_config_la_OBJECTS="$(kwin_polyester_config_la_final_OBJECTS)" install-am
+
+#>+ 3
+no-final:
+ $(MAKE) kwin_polyester_config_la_OBJECTS="$(kwin_polyester_config_la_nofinal_OBJECTS)" all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) kwin_polyester_config_la_OBJECTS="$(kwin_polyester_config_la_nofinal_OBJECTS)" install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 6
+nmcheck:
+polyesterconfig.lo: polyesterconfig.moc
+$(srcdir)/polyesterconfig.cc: configdialog.h
+nmcheck-am: nmcheck
+polyesterconfig.o: polyesterconfig.moc
+
+#>+ 15
+configdialog.cc: $(srcdir)/configdialog.ui configdialog.h configdialog.moc
+ rm -f configdialog.cc
+ echo '#include <kdialog.h>' > configdialog.cc
+ echo '#include <klocale.h>' >> configdialog.cc
+ $(UIC) -tr ${UIC_TR} -i configdialog.h $(srcdir)/configdialog.ui > configdialog.cc.temp ; ret=$$?; \
+ $(PERL) -pe "s,${UIC_TR}( \"\" ),QString::null,g" configdialog.cc.temp | $(PERL) -pe "s,${UIC_TR}( \"\"\, \"\" ),QString::null,g" | $(PERL) -pe "s,image([0-9][0-9]*)_data,img\$$1_configdialog,g" | $(PERL) -pe "s,: QWizard\(,: KWizard(,g" >> configdialog.cc ;\
+ rm -f configdialog.cc.temp ;\
+ if test "$$ret" = 0; then echo '#include "configdialog.moc"' >> configdialog.cc; else rm -f configdialog.cc ; exit $$ret ; fi
+
+configdialog.h: $(srcdir)/configdialog.ui
+ rm -rf configdialog.h;
+ $(UIC) $(srcdir)/configdialog.ui | $(PERL) -pi -e "s,public QWizard,public KWizard,g; s,#include <qwizard.h>,#include <kwizard.h>,g" >> configdialog.h ;
+configdialog.moc: configdialog.h
+ $(MOC) configdialog.h -o configdialog.moc
diff --git a/client/config/configdialog.cc b/client/config/configdialog.cc
new file mode 100644
index 0000000..27e7511
--- /dev/null
+++ b/client/config/configdialog.cc
@@ -0,0 +1,276 @@
+#include <kdialog.h>
+#include <klocale.h>
+/****************************************************************************
+** Form implementation generated from reading ui file './configdialog.ui'
+**
+** Created: Mon Jun 23 19:18:43 2008
+** by: The User Interface Compiler ($Id: qt/main.cpp 3.3.8 edited Jan 11 14:47 $)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+
+#include "configdialog.h"
+
+#include <qvariant.h>
+#include <qpushbutton.h>
+#include <qtabwidget.h>
+#include <qspinbox.h>
+#include <qcheckbox.h>
+#include <qcombobox.h>
+#include <qlabel.h>
+#include <qbuttongroup.h>
+#include <qradiobutton.h>
+#include <qlayout.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+
+/*
+ * Constructs a ConfigDialog as a child of 'parent', with the
+ * name 'name' and widget flags set to 'f'.
+ */
+ConfigDialog::ConfigDialog( QWidget* parent, const char* name, WFlags fl )
+ : QWidget( parent, name, fl )
+{
+ if ( !name )
+ setName( "ConfigDialog" );
+ setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, 0, 0, sizePolicy().hasHeightForWidth() ) );
+ ConfigDialogLayout = new QVBoxLayout( this, 0, 6, "ConfigDialogLayout");
+
+ tabWidget3 = new QTabWidget( this, "tabWidget3" );
+
+ tab = new QWidget( tabWidget3, "tab" );
+ tabLayout = new QGridLayout( tab, 1, 1, 11, 6, "tabLayout");
+
+ titlesize = new QSpinBox( tab, "titlesize" );
+ titlesize->setMaxValue( 64 );
+ titlesize->setMinValue( 16 );
+
+ tabLayout->addWidget( titlesize, 1, 2 );
+
+ framesize = new QSpinBox( tab, "framesize" );
+ framesize->setMaxValue( 64 );
+ framesize->setMinValue( 1 );
+ framesize->setValue( 4 );
+
+ tabLayout->addWidget( framesize, 2, 2 );
+
+ titleshadow = new QCheckBox( tab, "titleshadow" );
+ titleshadow->setChecked( TRUE );
+
+ tabLayout->addWidget( titleshadow, 3, 2 );
+
+ roundCorners = new QCheckBox( tab, "roundCorners" );
+ roundCorners->setChecked( TRUE );
+
+ tabLayout->addWidget( roundCorners, 4, 2 );
+
+ titleBarStyle = new QComboBox( FALSE, tab, "titleBarStyle" );
+
+ tabLayout->addWidget( titleBarStyle, 5, 2 );
+
+ textLabel1_4 = new QLabel( tab, "textLabel1_4" );
+ textLabel1_4->setAlignment( int( QLabel::AlignVCenter | QLabel::AlignRight ) );
+
+ tabLayout->addWidget( textLabel1_4, 5, 1 );
+
+ textLabel1_2 = new QLabel( tab, "textLabel1_2" );
+ textLabel1_2->setAlignment( int( QLabel::AlignVCenter | QLabel::AlignRight ) );
+
+ tabLayout->addWidget( textLabel1_2, 2, 1 );
+
+ textLabel1 = new QLabel( tab, "textLabel1" );
+ textLabel1->setAlignment( int( QLabel::AlignVCenter | QLabel::AlignRight ) );
+
+ tabLayout->addWidget( textLabel1, 1, 1 );
+
+ textLabel1_3 = new QLabel( tab, "textLabel1_3" );
+ textLabel1_3->setAlignment( int( QLabel::AlignVCenter | QLabel::AlignRight ) );
+
+ tabLayout->addMultiCellWidget( textLabel1_3, 0, 0, 0, 1 );
+ spacer5 = new QSpacerItem( 71, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ tabLayout->addItem( spacer5, 2, 0 );
+ spacer4 = new QSpacerItem( 81, 21, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ tabLayout->addItem( spacer4, 2, 3 );
+
+ titlealign = new QButtonGroup( tab, "titlealign" );
+ titlealign->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)0, 0, 0, titlealign->sizePolicy().hasHeightForWidth() ) );
+ titlealign->setLineWidth( 0 );
+ titlealign->setColumnLayout(0, Qt::Vertical );
+ titlealign->layout()->setSpacing( 6 );
+ titlealign->layout()->setMargin( 0 );
+ titlealignLayout = new QHBoxLayout( titlealign->layout() );
+ titlealignLayout->setAlignment( Qt::AlignTop );
+
+ AlignLeft = new QRadioButton( titlealign, "AlignLeft" );
+ titlealignLayout->addWidget( AlignLeft );
+
+ AlignHCenter = new QRadioButton( titlealign, "AlignHCenter" );
+ AlignHCenter->setChecked( TRUE );
+ titlealignLayout->addWidget( AlignHCenter );
+
+ AlignRight = new QRadioButton( titlealign, "AlignRight" );
+ titlealignLayout->addWidget( AlignRight );
+
+ tabLayout->addWidget( titlealign, 0, 2 );
+ tabWidget3->insertTab( tab, QString::fromLatin1("") );
+
+ tab_2 = new QWidget( tabWidget3, "tab_2" );
+ tabLayout_2 = new QGridLayout( tab_2, 1, 1, 11, 6, "tabLayout_2");
+
+ textLabel1_5 = new QLabel( tab_2, "textLabel1_5" );
+ textLabel1_5->setAlignment( int( QLabel::AlignVCenter | QLabel::AlignRight ) );
+
+ tabLayout_2->addWidget( textLabel1_5, 1, 0 );
+
+ buttonStyle = new QComboBox( FALSE, tab_2, "buttonStyle" );
+
+ tabLayout_2->addWidget( buttonStyle, 1, 1 );
+
+ textLabel4 = new QLabel( tab_2, "textLabel4" );
+ textLabel4->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)5, 0, 0, textLabel4->sizePolicy().hasHeightForWidth() ) );
+ textLabel4->setAlignment( int( QLabel::AlignVCenter | QLabel::AlignRight ) );
+
+ tabLayout_2->addWidget( textLabel4, 0, 0 );
+
+ buttonsize = new QSpinBox( tab_2, "buttonsize" );
+ buttonsize->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, buttonsize->sizePolicy().hasHeightForWidth() ) );
+ buttonsize->setButtonSymbols( QSpinBox::UpDownArrows );
+ buttonsize->setMaxValue( 64 );
+ buttonsize->setMinValue( 1 );
+ buttonsize->setValue( 16 );
+
+ tabLayout_2->addWidget( buttonsize, 0, 1 );
+
+ animatebuttons = new QCheckBox( tab_2, "animatebuttons" );
+ animatebuttons->setEnabled( TRUE );
+ animatebuttons->setChecked( TRUE );
+
+ tabLayout_2->addWidget( animatebuttons, 2, 1 );
+
+ layout11 = new QHBoxLayout( 0, 0, 6, "layout11");
+ spacer3 = new QSpacerItem( 30, 20, QSizePolicy::Maximum, QSizePolicy::Minimum );
+ layout11->addItem( spacer3 );
+
+ textLabel2 = new QLabel( tab_2, "textLabel2" );
+ layout11->addWidget( textLabel2 );
+
+ btnComboBox = new QComboBox( FALSE, tab_2, "btnComboBox" );
+ btnComboBox->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, btnComboBox->sizePolicy().hasHeightForWidth() ) );
+ layout11->addWidget( btnComboBox );
+
+ tabLayout_2->addLayout( layout11, 3, 1 );
+
+ squareButton = new QCheckBox( tab_2, "squareButton" );
+ squareButton->setChecked( TRUE );
+
+ tabLayout_2->addMultiCellWidget( squareButton, 4, 4, 1, 2 );
+
+ lightBorder = new QCheckBox( tab_2, "lightBorder" );
+
+ tabLayout_2->addMultiCellWidget( lightBorder, 5, 5, 1, 2 );
+
+ nomodalbuttons = new QCheckBox( tab_2, "nomodalbuttons" );
+ nomodalbuttons->setChecked( TRUE );
+
+ tabLayout_2->addWidget( nomodalbuttons, 6, 1 );
+
+ menuClose = new QCheckBox( tab_2, "menuClose" );
+ menuClose->setEnabled( TRUE );
+
+ tabLayout_2->addMultiCellWidget( menuClose, 7, 7, 1, 2 );
+ spacer3_3 = new QSpacerItem( 121, 21, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ tabLayout_2->addItem( spacer3_3, 1, 2 );
+ tabWidget3->insertTab( tab_2, QString::fromLatin1("") );
+ ConfigDialogLayout->addWidget( tabWidget3 );
+ languageChange();
+ resize( QSize(388, 265).expandedTo(minimumSizeHint()) );
+ clearWState( WState_Polished );
+
+ // signals and slots connections
+ connect( animatebuttons, SIGNAL( toggled(bool) ), textLabel2, SLOT( setEnabled(bool) ) );
+ connect( animatebuttons, SIGNAL( toggled(bool) ), btnComboBox, SLOT( setEnabled(bool) ) );
+
+ // tab order
+ setTabOrder( AlignLeft, AlignHCenter );
+ setTabOrder( AlignHCenter, AlignRight );
+ setTabOrder( AlignRight, titlesize );
+ setTabOrder( titlesize, framesize );
+ setTabOrder( framesize, titleshadow );
+ setTabOrder( titleshadow, roundCorners );
+ setTabOrder( roundCorners, buttonsize );
+ setTabOrder( buttonsize, animatebuttons );
+ setTabOrder( animatebuttons, btnComboBox );
+ setTabOrder( btnComboBox, menuClose );
+}
+
+/*
+ * Destroys the object and frees any allocated resources
+ */
+ConfigDialog::~ConfigDialog()
+{
+ // no need to delete child widgets, Qt does it all for us
+}
+
+/*
+ * Sets the strings of the subwidgets using the current
+ * language.
+ */
+void ConfigDialog::languageChange()
+{
+ setCaption( tr2i18n( "Config Dialog" ) );
+ titlesize->setSuffix( tr2i18n( " pixels" ) );
+ framesize->setSuffix( tr2i18n( " pixels" ) );
+ framesize->setSpecialValueText( tr2i18n( "1 pixel" ) );
+ titleshadow->setText( tr2i18n( "&Use shadowed text" ) );
+ titleshadow->setAccel( QKeySequence( tr2i18n( "Alt+U" ) ) );
+ QWhatsThis::add( titleshadow, tr2i18n( "Check this option if you want the titlebar text to have a 3D look with a shadow behind it." ) );
+ roundCorners->setText( tr2i18n( "R&ound top corners" ) );
+ roundCorners->setAccel( QKeySequence( tr2i18n( "Alt+O" ) ) );
+ titleBarStyle->clear();
+ titleBarStyle->insertItem( tr2i18n( "Gradients" ) );
+ titleBarStyle->insertItem( tr2i18n( "Glass" ) );
+ textLabel1_4->setText( tr2i18n( "Titlebar style:" ) );
+ textLabel1_2->setText( tr2i18n( "Frame width:" ) );
+ textLabel1->setText( tr2i18n( "Title height:" ) );
+ textLabel1_3->setText( tr2i18n( "Text alignment:" ) );
+ titlealign->setTitle( QString::null );
+ AlignLeft->setText( tr2i18n( "L&eft" ) );
+ AlignLeft->setAccel( QKeySequence( tr2i18n( "Alt+E" ) ) );
+ QToolTip::add( AlignLeft, QString::null );
+ AlignHCenter->setText( tr2i18n( "Ce&nter" ) );
+ AlignHCenter->setAccel( QKeySequence( tr2i18n( "Alt+N" ) ) );
+ QToolTip::add( AlignHCenter, QString::null );
+ AlignRight->setText( tr2i18n( "Ri&ght" ) );
+ AlignRight->setAccel( QKeySequence( tr2i18n( "Alt+G" ) ) );
+ QToolTip::add( AlignRight, QString::null );
+ tabWidget3->changeTab( tab, tr2i18n( "Titleb&ar" ) );
+ textLabel1_5->setText( tr2i18n( "Button Style:" ) );
+ buttonStyle->clear();
+ buttonStyle->insertItem( tr2i18n( "Gradients" ) );
+ buttonStyle->insertItem( tr2i18n( "Glass" ) );
+ buttonStyle->insertItem( tr2i18n( "Reverse Gradients" ) );
+ buttonStyle->insertItem( tr2i18n( "Flat" ) );
+ buttonStyle->setCurrentItem( 1 );
+ textLabel4->setText( tr2i18n( "Button size:" ) );
+ buttonsize->setSuffix( tr2i18n( " pixels" ) );
+ buttonsize->setSpecialValueText( tr2i18n( "1 pixel" ) );
+ animatebuttons->setText( tr2i18n( "&Animate buttons" ) );
+ animatebuttons->setAccel( QKeySequence( tr2i18n( "Alt+A" ) ) );
+ QWhatsThis::add( animatebuttons, tr2i18n( "Check this option if you want to use button animations when hovering with the mouse." ) );
+ textLabel2->setText( tr2i18n( "Animation style:" ) );
+ btnComboBox->clear();
+ btnComboBox->insertItem( tr2i18n( "Colorize" ) );
+ btnComboBox->insertItem( tr2i18n( "Intensify" ) );
+ btnComboBox->insertItem( tr2i18n( "Fade" ) );
+ squareButton->setText( tr2i18n( "S&quare buttons" ) );
+ squareButton->setAccel( QKeySequence( tr2i18n( "Alt+Q" ) ) );
+ lightBorder->setText( tr2i18n( "Li&ghter button borders" ) );
+ lightBorder->setAccel( QKeySequence( tr2i18n( "Alt+G" ) ) );
+ nomodalbuttons->setText( tr2i18n( "&No buttons on modal windows" ) );
+ nomodalbuttons->setAccel( QKeySequence( tr2i18n( "Alt+N" ) ) );
+ menuClose->setText( tr2i18n( "Close window when &menu double clicked" ) );
+ menuClose->setAccel( QKeySequence( tr2i18n( "Alt+M" ) ) );
+ tabWidget3->changeTab( tab_2, tr2i18n( "&Buttons appearance" ) );
+}
+
+#include "configdialog.moc"
diff --git a/client/config/configdialog.ui b/client/config/configdialog.ui
new file mode 100755
index 0000000..8233edd
--- /dev/null
+++ b/client/config/configdialog.ui
@@ -0,0 +1,566 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>ConfigDialog</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>ConfigDialog</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>388</width>
+ <height>265</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="caption">
+ <string>Config Dialog</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QTabWidget">
+ <property name="name">
+ <cstring>tabWidget3</cstring>
+ </property>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>tab</cstring>
+ </property>
+ <attribute name="title">
+ <string>Titleb&amp;ar</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QSpinBox" row="1" column="2">
+ <property name="name">
+ <cstring>titlesize</cstring>
+ </property>
+ <property name="suffix">
+ <string> pixels</string>
+ </property>
+ <property name="maxValue">
+ <number>64</number>
+ </property>
+ <property name="minValue">
+ <number>16</number>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="2" column="2">
+ <property name="name">
+ <cstring>framesize</cstring>
+ </property>
+ <property name="suffix">
+ <string> pixels</string>
+ </property>
+ <property name="specialValueText">
+ <string>1 pixel</string>
+ </property>
+ <property name="maxValue">
+ <number>64</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>4</number>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="2">
+ <property name="name">
+ <cstring>titleshadow</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Use shadowed text</string>
+ </property>
+ <property name="accel">
+ <string>Alt+U</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Check this option if you want the titlebar text to have a 3D look with a shadow behind it.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="4" column="2">
+ <property name="name">
+ <cstring>roundCorners</cstring>
+ </property>
+ <property name="text">
+ <string>R&amp;ound top corners</string>
+ </property>
+ <property name="accel">
+ <string>Alt+O</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QComboBox" row="5" column="2">
+ <item>
+ <property name="text">
+ <string>Gradients</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Glass</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>titleBarStyle</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="5" column="1">
+ <property name="name">
+ <cstring>textLabel1_4</cstring>
+ </property>
+ <property name="text">
+ <string>Titlebar style:</string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="1">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>Frame width:</string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="1">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Title height:</string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel1_3</cstring>
+ </property>
+ <property name="text">
+ <string>Text alignment:</string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <spacer row="2" column="0">
+ <property name="name">
+ <cstring>spacer5</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>71</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="2" column="3">
+ <property name="name">
+ <cstring>spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>81</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QButtonGroup" row="0" column="2">
+ <property name="name">
+ <cstring>titlealign</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>AlignLeft</cstring>
+ </property>
+ <property name="text">
+ <string>L&amp;eft</string>
+ </property>
+ <property name="accel">
+ <string>Alt+E</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>AlignHCenter</cstring>
+ </property>
+ <property name="text">
+ <string>Ce&amp;nter</string>
+ </property>
+ <property name="accel">
+ <string>Alt+N</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>AlignRight</cstring>
+ </property>
+ <property name="text">
+ <string>Ri&amp;ght</string>
+ </property>
+ <property name="accel">
+ <string>Alt+G</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>tab</cstring>
+ </property>
+ <attribute name="title">
+ <string>&amp;Buttons appearance</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel1_5</cstring>
+ </property>
+ <property name="text">
+ <string>Button Style:</string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QComboBox" row="1" column="1">
+ <item>
+ <property name="text">
+ <string>Gradients</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Glass</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Reverse Gradients</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Flat</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>buttonStyle</cstring>
+ </property>
+ <property name="currentItem">
+ <number>1</number>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel4</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Button size:</string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="1">
+ <property name="name">
+ <cstring>buttonsize</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="suffix">
+ <string> pixels</string>
+ </property>
+ <property name="specialValueText">
+ <string>1 pixel</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>UpDownArrows</enum>
+ </property>
+ <property name="maxValue">
+ <number>64</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>16</number>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="1">
+ <property name="name">
+ <cstring>animatebuttons</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Animate buttons</string>
+ </property>
+ <property name="accel">
+ <string>Alt+A</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Check this option if you want to use button animations when hovering with the mouse.</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="3" column="1">
+ <property name="name">
+ <cstring>layout11</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Maximum</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>30</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>Animation style:</string>
+ </property>
+ </widget>
+ <widget class="QComboBox">
+ <item>
+ <property name="text">
+ <string>Colorize</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Intensify</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Fade</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>btnComboBox</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QCheckBox" row="4" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>squareButton</cstring>
+ </property>
+ <property name="text">
+ <string>S&amp;quare buttons</string>
+ </property>
+ <property name="accel">
+ <string>Alt+Q</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="5" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>lightBorder</cstring>
+ </property>
+ <property name="text">
+ <string>Li&amp;ghter button borders</string>
+ </property>
+ <property name="accel">
+ <string>Alt+G</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="6" column="1">
+ <property name="name">
+ <cstring>nomodalbuttons</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;No buttons on modal windows</string>
+ </property>
+ <property name="accel">
+ <string>Alt+N</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="7" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>menuClose</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Close window when &amp;menu double clicked</string>
+ </property>
+ <property name="accel">
+ <string>Alt+M</string>
+ </property>
+ </widget>
+ <spacer row="1" column="2">
+ <property name="name">
+ <cstring>spacer3_3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>121</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ </widget>
+ </vbox>
+</widget>
+<connections>
+ <connection>
+ <sender>animatebuttons</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>textLabel2</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>animatebuttons</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>btnComboBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>AlignLeft</tabstop>
+ <tabstop>AlignHCenter</tabstop>
+ <tabstop>AlignRight</tabstop>
+ <tabstop>titlesize</tabstop>
+ <tabstop>framesize</tabstop>
+ <tabstop>titleshadow</tabstop>
+ <tabstop>roundCorners</tabstop>
+ <tabstop>buttonsize</tabstop>
+ <tabstop>animatebuttons</tabstop>
+ <tabstop>btnComboBox</tabstop>
+ <tabstop>menuClose</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/client/config/polyesterconfig.cc b/client/config/polyesterconfig.cc
new file mode 100755
index 0000000..c526504
--- /dev/null
+++ b/client/config/polyesterconfig.cc
@@ -0,0 +1,205 @@
+//////////////////////////////////////////////////////////////////////////////
+// polyesterconfig.cc
+// -------------------
+// Config module for Polyester window decoration
+// -------------------
+// Copyright (c) 2005 Marco Martin
+// -------------------
+// derived from Smooth Blend
+// Copyright (c) 2005 Ryan Nickell
+// Please see the header file for copyright and license information.
+//////////////////////////////////////////////////////////////////////////////
+
+#include <kconfig.h>
+#include <klocale.h>
+#include <kglobal.h>
+#include <qbuttongroup.h>
+#include <qgroupbox.h>
+#include <qradiobutton.h>
+#include <qcheckbox.h>
+#include <qspinbox.h>
+#include <qwhatsthis.h>
+#include <qcombobox.h>
+
+#include "polyesterconfig.h"
+#include "configdialog.h"
+
+//////////////////////////////////////////////////////////////////////////////
+// polyesterConfig()
+// -------------
+// Constructor
+
+polyesterConfig::polyesterConfig(KConfig* config, QWidget* parent)
+ : QObject(parent), config_(0), dialog_(0) {
+ // create the configuration object
+ config_ = new KConfig("kwinpolyesterrc");
+ KGlobal::locale()->insertCatalogue("kwin_polyester_config");
+
+ // create and show the configuration dialog
+ dialog_ = new ConfigDialog(parent);
+
+ dialog_->show();
+ // load the configuration
+ load(config_);
+
+ // setup the connections for title align
+ connect(dialog_->titlealign, SIGNAL(clicked(int)),this, SLOT(selectionChanged(int)));
+ // setup the connections for corner rounding
+ connect(dialog_->roundCorners, SIGNAL(stateChanged(int)),this,SLOT(selectionChanged(int)));
+ connect(dialog_->titleBarStyle, SIGNAL(activated(int)),this,SLOT(selectionChanged(int)));
+ connect(dialog_->buttonStyle, SIGNAL(activated(int)),this,SLOT(selectionChanged(int)));
+ // setup title shadow
+ connect(dialog_->titleshadow, SIGNAL(stateChanged(int)),this,SLOT(selectionChanged(int)));
+ // setup button actions
+ connect(dialog_->animatebuttons, SIGNAL(stateChanged(int)),this,SLOT(selectionChanged(int)));
+ connect(dialog_->nomodalbuttons, SIGNAL(stateChanged(int)),this,SLOT(selectionChanged(int)));
+ connect(dialog_->btnComboBox, SIGNAL(activated(int)),this,SLOT(selectionChanged(int)));
+ connect(dialog_->lightBorder, SIGNAL(stateChanged(int)),this,SLOT(selectionChanged(int)));
+ // setup the connections for spin boxes
+ connect(dialog_->titlesize, SIGNAL(valueChanged(int)),this,SLOT(selectionChanged(int)));
+ connect(dialog_->buttonsize, SIGNAL(valueChanged(int)),this,SLOT(selectionChanged(int)));
+ connect(dialog_->framesize, SIGNAL(valueChanged(int)),this,SLOT(selectionChanged(int)));
+ connect(dialog_->squareButton, SIGNAL(stateChanged(int)),this,SLOT(selectionChanged(int)));
+ // double click the menu
+ connect(dialog_->menuClose, SIGNAL(stateChanged(int)),this, SLOT(selectionChanged(int)));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// ~polyesterConfig()
+// --------------
+// Destructor
+
+polyesterConfig::~polyesterConfig() {
+ if (dialog_)
+ {
+ delete dialog_;
+ }
+ if (config_)
+ {
+ delete config_;
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// selectionChanged()
+// ------------------
+// Selection has changed
+
+void polyesterConfig::selectionChanged(int) {
+
+ if(dialog_->buttonsize->value() + dialog_->framesize->value() > dialog_->titlesize->value())
+ {
+ dialog_->buttonsize->setValue(dialog_->titlesize->value()- dialog_->framesize->value());
+ }
+ // setting the framesize to less than 2 will lose the top gradient and look flat
+ /* if(dialog_->framesize->value() < 2)
+ {
+ dialog_->framesize->setValue(2);
+ }*/
+ emit changed();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// load()
+// ------
+// Load configuration data
+
+void polyesterConfig::load(KConfig*) {
+ config_->setGroup("General");
+
+ QString value = config_->readEntry("TitleAlignment", "AlignHCenter");
+ QRadioButton *button = (QRadioButton*)dialog_->titlealign->child(value);
+ if (button)
+ {
+ button->setChecked(true);
+ }
+
+ dialog_->titlesize->setValue( config_->readNumEntry("TitleSize",20 ) );
+ dialog_->buttonsize->setValue( config_->readNumEntry("ButtonSize",18 ) );
+ dialog_->squareButton->setChecked( config_->readBoolEntry("SquareButton", false ) );
+ dialog_->framesize->setValue( config_->readNumEntry("FrameSize",2 ) );
+
+ bool cornersFlag = config_->readBoolEntry("RoundCorners", true);
+ dialog_->roundCorners->setChecked( cornersFlag );
+ bool titleshadow = config_->readBoolEntry("TitleShadow", true);
+ dialog_->titleshadow->setChecked(titleshadow);
+ bool animatebuttons = config_->readBoolEntry("AnimateButtons", true);
+ dialog_->animatebuttons->setChecked(animatebuttons);
+ bool lightBorder = config_->readBoolEntry("LightBorder", true);
+ dialog_->lightBorder->setChecked(lightBorder);
+ dialog_->titleBarStyle->setCurrentItem(config_->readNumEntry("TitleBarStyle",0));
+ dialog_->buttonStyle->setCurrentItem(config_->readNumEntry("ButtonStyle",1));
+ bool nomodalbuttons = config_->readBoolEntry("NoModalButtons", false);
+ dialog_->nomodalbuttons->setChecked(nomodalbuttons);
+ dialog_->btnComboBox->setCurrentItem(config_->readNumEntry("ButtonComboBox",0));
+ bool menuClose = config_->readBoolEntry("CloseOnMenuDoubleClick");
+ dialog_->menuClose->setChecked(menuClose);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// save()
+// ------
+// Save configuration data
+
+void polyesterConfig::save(KConfig*) {
+ config_->setGroup("General");
+
+ QRadioButton *button = (QRadioButton*)dialog_->titlealign->selected();
+ if (button)
+ {
+ config_->writeEntry("TitleAlignment", QString(button->name()));
+ }
+ config_->writeEntry("RoundCorners", dialog_->roundCorners->isChecked() );
+ config_->writeEntry("TitleSize", dialog_->titlesize->value() );
+ config_->writeEntry("ButtonSize", dialog_->buttonsize->value() );
+ config_->writeEntry("SquareButton", dialog_->squareButton->isChecked() );
+ config_->writeEntry("FrameSize", dialog_->framesize->value() );
+ config_->writeEntry("TitleShadow", dialog_->titleshadow->isChecked() );
+ config_->writeEntry("TitleBarStyle", dialog_->titleBarStyle->currentItem());
+ config_->writeEntry("ButtonStyle", dialog_->buttonStyle->currentItem());
+ config_->writeEntry("AnimateButtons", dialog_->animatebuttons->isChecked() );
+ config_->writeEntry("LightBorder", dialog_->lightBorder->isChecked() );
+ config_->writeEntry("NoModalButtons", dialog_->nomodalbuttons->isChecked() );
+ config_->writeEntry("ButtonComboBox", dialog_->btnComboBox->currentItem());
+ config_->writeEntry("CloseOnMenuDoubleClick", dialog_->menuClose->isChecked() );
+
+ config_->sync();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// defaults()
+// ----------
+// Set configuration defaults
+
+void polyesterConfig::defaults() {
+ QRadioButton *button = (QRadioButton*)dialog_->titlealign->child("AlignHCenter");
+ if (button)
+ {
+ button->setChecked(true);
+ }
+ dialog_->roundCorners->setChecked( true );
+ dialog_->titlesize->setValue( 20 );
+ dialog_->squareButton->setChecked( false );
+ dialog_->buttonsize->setValue( 18 );
+ dialog_->framesize->setValue( 2 );
+ dialog_->titleBarStyle->setCurrentItem( 0 );
+ dialog_->buttonStyle->setCurrentItem( 1 );
+ dialog_->titleshadow->setChecked( true );
+ dialog_->animatebuttons->setChecked( true );
+ dialog_->nomodalbuttons->setChecked( true );
+ dialog_->lightBorder->setChecked( true );
+ dialog_->btnComboBox->setCurrentItem( 0 );
+ dialog_->menuClose->setChecked( false );
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Plugin Stuff //
+//////////////////////////////////////////////////////////////////////////////
+
+extern "C" {
+ QObject* allocate_config(KConfig* config, QWidget* parent) {
+ return (new polyesterConfig(config, parent));
+ }
+}
+
+#include "polyesterconfig.moc"
diff --git a/client/config/polyesterconfig.h b/client/config/polyesterconfig.h
new file mode 100755
index 0000000..5c5a882
--- /dev/null
+++ b/client/config/polyesterconfig.h
@@ -0,0 +1,60 @@
+//////////////////////////////////////////////////////////////////////////////
+// polyesterconfig.h
+// -------------------
+// Config module for Smooth Blend window decoration
+// -------------------
+// Copyright (c) 2005 Marco Martin
+// -------------------
+// derived from Smooth Blend
+// Copyright (c) 2005 Ryan Nickell
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+//////////////////////////////////////////////////////////////////////////////
+
+#ifndef polyesterCONFIG_H
+#define polyesterCONFIG_H
+
+#include <qobject.h>
+
+class KConfig;
+class ConfigDialog;
+
+class polyesterConfig : public QObject {
+ Q_OBJECT
+public:
+ polyesterConfig(KConfig* config, QWidget* parent);
+ ~polyesterConfig();
+
+signals:
+ void changed();
+
+public slots:
+ void load(KConfig*);
+ void save(KConfig*);
+ void defaults();
+
+protected slots:
+ void selectionChanged(int);
+
+private:
+ KConfig *config_;
+ ConfigDialog *dialog_;
+};
+
+#endif // polyesterCONFIG_H
diff --git a/client/create-buttons.sh b/client/create-buttons.sh
new file mode 100755
index 0000000..578fb57
--- /dev/null
+++ b/client/create-buttons.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+for f in `ls images/*.svg`
+do
+ #ksvgtopng 32 32 $f images/`basename $f .svg`.png
+ inkscape -z --file=$f --export-png=images/`basename $f .svg`.png --export-width=32 --export-height=32
+done
+
+#for f in `ls images/*.png`
+#do
+# composite -compose overlay images/button.png $f $f
+#done
+
+uic -o buttons.h -embed buttons images/circle.png images/circle2.png images/close.png images/help.png images/keep_above.png images/keep_above_lit.png images/keep_below.png images/keep_below_lit.png images/maximize.png images/minimize.png images/restore.png images/splat.png images/unsplat.png images/window_background.png images/window_foreground.png
+
+sed -e "s/factory/bfactory/" buttons.h >buttons.h.temp
+mv buttons.h.temp buttons.h
diff --git a/client/images/Makefile.am b/client/images/Makefile.am
new file mode 100644
index 0000000..8d1c8b6
--- /dev/null
+++ b/client/images/Makefile.am
@@ -0,0 +1 @@
+
diff --git a/client/images/Makefile.in b/client/images/Makefile.in
new file mode 100644
index 0000000..4148411
--- /dev/null
+++ b/client/images/Makefile.in
@@ -0,0 +1,550 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = client/images
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+#>- all: all-am
+#>+ 1
+all: docs-am all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/images/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --gnu client/images/Makefile
+#>+ 12
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/images/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu client/images/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin client/images/Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+#>- clean: clean-am
+#>+ 1
+clean: kde-rpo-clean clean-am
+
+#>- clean-am: clean-generic clean-libtool mostlyclean-am
+#>+ 1
+clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
+
+
+#>+ 2
+KDE_DIST=unsplat.svg window_foreground.svg minimize.svg keep_above_lit.svg Makefile.in maximize.svg keep_below.svg close.svg splat.svg circle2.svg window_background.svg restore.svg circle.svg keep_below_lit.svg button.svg Makefile.am help.svg keep_above.svg
+
+#>+ 2
+docs-am:
+
+#>+ 15
+force-reedit:
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/images/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu client/images/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin client/images/Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-am
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 3
+final:
+ $(MAKE) all-am
+
+#>+ 3
+final-install:
+ $(MAKE) install-am
+
+#>+ 3
+no-final:
+ $(MAKE) all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 3
+nmcheck:
+nmcheck-am: nmcheck
diff --git a/client/images/button.svg b/client/images/button.svg
new file mode 100755
index 0000000..81290bb
--- /dev/null
+++ b/client/images/button.svg
@@ -0,0 +1,628 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.42"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="button.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/button.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.91397852;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.043010753;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.59139782;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="18.116261"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.878261,0.000000,0.000000,0.878261,1.920772,2.078328)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3811"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3809"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3801">
+ <stop
+ id="stop3803"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3805" />
+ <stop
+ id="stop3807"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3797" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3799" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4657"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4655"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4647">
+ <stop
+ id="stop4649"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:0.47282609;" />
+ <stop
+ id="stop4653"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4641">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4643" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4645" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4637"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4639"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4633"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4635"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4629"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4631"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4625"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4627"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4621"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4623"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient6321"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6319"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6311">
+ <stop
+ id="stop6313"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:0.47058824;" />
+ <stop
+ id="stop6317"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.47058824;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6305">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6307" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.11372549;"
+ offset="1.0000000"
+ id="stop6309" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker6301"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path6303"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6297"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6299"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6293"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path6295"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6289"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6291"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6285"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path6287"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient6340"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(33.15942,-13.44928)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.069439,0.000000,0.000000,1.069439,-1.111002,-1.111002)"
+ x1="14.907752"
+ y1="5.3867264"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4647"
+ id="linearGradient2235"
+ x1="24.808367"
+ y1="25.754074"
+ x2="14.183644"
+ y2="14.940851"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.072999,0.000000,0.000000,1.072999,-1.167983,-1.167983)" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.3928571"
+ inkscape:cx="47.177185"
+ inkscape:cy="9.3986724"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1024"
+ inkscape:window-height="723"
+ inkscape:window-x="0"
+ inkscape:window-y="25" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <rect
+ y="1.0278717"
+ x="1.0278715"
+ height="29.944256"
+ width="29.944258"
+ id="rect2221"
+ style="opacity:1.0000000;fill:url(#linearGradient3045);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#000000;stroke-width:2.0557435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:0.21973094"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000"
+ ry="5.8226213" />
+ <path
+ style="fill:url(#linearGradient4962);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ d="M 6.8730281,4.7131112 L 25.088325,4.7131112 C 26.213930,4.7131112 27.000000,5.8470807 27.000000,7.0305843 L 27.000000,17.000000 L 4.5555550,17.000000 L 4.5555550,7.0305843 C 4.5555550,5.7325593 5.7489161,4.7131112 6.8730281,4.7131112 z "
+ id="rect3501"
+ sodipodi:nodetypes="ccccccc" />
+ <rect
+ ry="3.7040951"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ style="opacity:0.61085973;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient2235);stroke-width:2.6021311;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ id="rect2217"
+ width="25.397867"
+ height="25.397867"
+ x="3.3010657"
+ y="3.3010657" />
+ </g>
+</svg>
diff --git a/client/images/circle.svg b/client/images/circle.svg
new file mode 100755
index 0000000..143eb20
--- /dev/null
+++ b/client/images/circle.svg
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="circle.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/circle.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.3125"
+ inkscape:cx="12.065993"
+ inkscape:cy="25.81752"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1016"
+ inkscape:window-height="699"
+ inkscape:window-x="0"
+ inkscape:window-y="36" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ id="path4356"
+ d="M 16.16857,5.775643 C 10.401907,5.775643 5.6909132,10.486636 5.6909132,16.2533 C 5.6909132,22.019963 10.401907,26.699865 16.16857,26.699865 C 21.935233,26.699865 26.646227,22.019963 26.646226,16.2533 C 26.646226,10.486636 21.935233,5.775643 16.16857,5.775643 z M 16.16857,8.760376 C 20.320304,8.760376 23.661493,12.101565 23.661493,16.2533 C 23.661494,20.405034 20.320304,23.715132 16.16857,23.715132 C 12.016835,23.715132 8.6756462,20.405034 8.6756462,16.2533 C 8.6756462,12.101565 12.016835,8.760376 16.16857,8.760376 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 16.16857,5.775643 C 10.401907,5.775643 5.6909132,10.486636 5.6909132,16.2533 C 5.6909132,22.019963 10.401907,26.699865 16.16857,26.699865 C 21.935233,26.699865 26.646227,22.019963 26.646226,16.2533 C 26.646226,10.486636 21.935233,5.775643 16.16857,5.775643 z M 16.16857,8.760376 C 20.320304,8.760376 23.661493,12.101565 23.661493,16.2533 C 23.661494,20.405034 20.320304,23.715132 16.16857,23.715132 C 12.016835,23.715132 8.6756462,20.405034 8.6756462,16.2533 C 8.6756462,12.101565 12.016835,8.760376 16.16857,8.760376 z "
+ id="path4354" />
+ <path
+ id="path4352"
+ d="M 16.16857,5.775643 C 10.401907,5.775643 5.6909132,10.486636 5.6909132,16.2533 C 5.6909132,22.019963 10.401907,26.699865 16.16857,26.699865 C 21.935233,26.699865 26.646227,22.019963 26.646226,16.2533 C 26.646226,10.486636 21.935233,5.775643 16.16857,5.775643 z M 16.16857,8.760376 C 20.320304,8.760376 23.661493,12.101565 23.661493,16.2533 C 23.661494,20.405034 20.320304,23.715132 16.16857,23.715132 C 12.016835,23.715132 8.6756462,20.405034 8.6756462,16.2533 C 8.6756462,12.101565 12.016835,8.760376 16.16857,8.760376 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:0.8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 16.16857,5.775643 C 10.401907,5.775643 5.6909132,10.486636 5.6909132,16.2533 C 5.6909132,22.019963 10.401907,26.699865 16.16857,26.699865 C 21.935233,26.699865 26.646227,22.019963 26.646226,16.2533 C 26.646226,10.486636 21.935233,5.775643 16.16857,5.775643 z M 16.16857,8.760376 C 20.320304,8.760376 23.661493,12.101565 23.661493,16.2533 C 23.661494,20.405034 20.320304,23.715132 16.16857,23.715132 C 12.016835,23.715132 8.6756462,20.405034 8.6756462,16.2533 C 8.6756462,12.101565 12.016835,8.760376 16.16857,8.760376 z "
+ id="path4346" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1.0000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#000000;stroke-width:3.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ id="path5694"
+ sodipodi:cx="14.334352"
+ sodipodi:cy="24.485516"
+ sodipodi:rx="9.0300102"
+ sodipodi:ry="9.0300102"
+ d="M 23.364362 24.485516 A 9.0300102 9.0300102 0 1 1 5.3043413,24.485516 A 9.0300102 9.0300102 0 1 1 23.364362 24.485516 z"
+ transform="matrix(0.994911,0.000000,0.000000,0.994911,1.897815,-8.122020)" />
+ </g>
+</svg>
diff --git a/client/images/circle2.svg b/client/images/circle2.svg
new file mode 100755
index 0000000..7fb47eb
--- /dev/null
+++ b/client/images/circle2.svg
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="circle2.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/circle.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.3125"
+ inkscape:cx="17.220828"
+ inkscape:cy="15.631611"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1016"
+ inkscape:window-height="699"
+ inkscape:window-x="0"
+ inkscape:window-y="36" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ id="path4373"
+ d="M 16.15625 5.78125 C 10.389587 5.7812501 5.6875 10.483336 5.6875 16.25 C 5.6875 22.016663 10.389587 26.6875 16.15625 26.6875 C 21.922913 26.6875 26.656251 22.016663 26.65625 16.25 C 26.656249 10.483336 21.922913 5.78125 16.15625 5.78125 z M 16.15625 8.75 C 20.307984 8.75 23.65625 12.098265 23.65625 16.25 C 23.656251 20.401734 20.307984 23.71875 16.15625 23.71875 C 12.004515 23.71875 8.6875 20.401734 8.6875 16.25 C 8.6875004 12.098265 12.004515 8.75 16.15625 8.75 z M 16.15625 12.40625 C 14.011376 12.40625 12.28125 14.136376 12.28125 16.28125 C 12.28125 18.426124 14.011377 20.187499 16.15625 20.1875 C 18.301124 20.1875 20.062499 18.426123 20.0625 16.28125 C 20.0625 14.136376 18.301124 12.40625 16.15625 12.40625 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 16.15625 5.78125 C 10.389587 5.7812501 5.6875 10.483336 5.6875 16.25 C 5.6875 22.016663 10.389587 26.6875 16.15625 26.6875 C 21.922913 26.6875 26.656251 22.016663 26.65625 16.25 C 26.656249 10.483336 21.922913 5.78125 16.15625 5.78125 z M 16.15625 8.75 C 20.307984 8.75 23.65625 12.098265 23.65625 16.25 C 23.656251 20.401734 20.307984 23.71875 16.15625 23.71875 C 12.004515 23.71875 8.6875 20.401734 8.6875 16.25 C 8.6875004 12.098265 12.004515 8.75 16.15625 8.75 z M 16.15625 12.40625 C 14.011376 12.40625 12.28125 14.136376 12.28125 16.28125 C 12.28125 18.426124 14.011377 20.187499 16.15625 20.1875 C 18.301124 20.1875 20.062499 18.426123 20.0625 16.28125 C 20.0625 14.136376 18.301124 12.40625 16.15625 12.40625 z "
+ id="path4371" />
+ <path
+ id="path4369"
+ d="M 16.15625 5.78125 C 10.389587 5.7812501 5.6875 10.483336 5.6875 16.25 C 5.6875 22.016663 10.389587 26.6875 16.15625 26.6875 C 21.922913 26.6875 26.656251 22.016663 26.65625 16.25 C 26.656249 10.483336 21.922913 5.78125 16.15625 5.78125 z M 16.15625 8.75 C 20.307984 8.75 23.65625 12.098265 23.65625 16.25 C 23.656251 20.401734 20.307984 23.71875 16.15625 23.71875 C 12.004515 23.71875 8.6875 20.401734 8.6875 16.25 C 8.6875004 12.098265 12.004515 8.75 16.15625 8.75 z M 16.15625 12.40625 C 14.011376 12.40625 12.28125 14.136376 12.28125 16.28125 C 12.28125 18.426124 14.011377 20.187499 16.15625 20.1875 C 18.301124 20.1875 20.062499 18.426123 20.0625 16.28125 C 20.0625 14.136376 18.301124 12.40625 16.15625 12.40625 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:0.8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 16.15625 5.78125 C 10.389587 5.7812501 5.6875 10.483336 5.6875 16.25 C 5.6875 22.016663 10.389587 26.6875 16.15625 26.6875 C 21.922913 26.6875 26.656251 22.016663 26.65625 16.25 C 26.656249 10.483336 21.922913 5.78125 16.15625 5.78125 z M 16.15625 8.75 C 20.307984 8.75 23.65625 12.098265 23.65625 16.25 C 23.656251 20.401734 20.307984 23.71875 16.15625 23.71875 C 12.004515 23.71875 8.6875 20.401734 8.6875 16.25 C 8.6875004 12.098265 12.004515 8.75 16.15625 8.75 z M 16.15625 12.40625 C 14.011376 12.40625 12.28125 14.136376 12.28125 16.28125 C 12.28125 18.426124 14.011377 20.187499 16.15625 20.1875 C 18.301124 20.1875 20.062499 18.426123 20.0625 16.28125 C 20.0625 14.136376 18.301124 12.40625 16.15625 12.40625 z "
+ id="path4360" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1.0000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#000000;stroke-width:3.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ id="path5694"
+ sodipodi:cx="14.334352"
+ sodipodi:cy="24.485516"
+ sodipodi:rx="9.0300102"
+ sodipodi:ry="9.0300102"
+ d="M 23.364362 24.485516 A 9.0300102 9.0300102 0 1 1 5.3043413,24.485516 A 9.0300102 9.0300102 0 1 1 23.364362 24.485516 z"
+ transform="matrix(0.994911,0.000000,0.000000,0.994911,1.897815,-8.122020)" />
+ <path
+ transform="matrix(0.430303,0.000000,0.000000,0.430303,9.994344,5.753972)"
+ d="M 23.364362 24.485516 A 9.0300102 9.0300102 0 1 1 5.3043413,24.485516 A 9.0300102 9.0300102 0 1 1 23.364362 24.485516 z"
+ sodipodi:ry="9.0300102"
+ sodipodi:rx="9.0300102"
+ sodipodi:cy="24.485516"
+ sodipodi:cx="14.334352"
+ id="path1316"
+ style="opacity:1.0000000;fill:#000000;fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:3.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ sodipodi:type="arc" />
+ </g>
+</svg>
diff --git a/client/images/close.svg b/client/images/close.svg
new file mode 100755
index 0000000..ef49e87
--- /dev/null
+++ b/client/images/close.svg
@@ -0,0 +1,378 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="close.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/close.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3002"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3009"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(34.89855,-10.43478)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3012"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,34.42236,-10.91097)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="8.625"
+ inkscape:cx="35.004834"
+ inkscape:cy="20.710857"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1024"
+ inkscape:window-height="723"
+ inkscape:window-x="0"
+ inkscape:window-y="25" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ id="path2830"
+ d="M 8.375 6.34375 L 5.59375 9.1875 L 7 10.59375 L 12.9375 16.40625 L 7 22.21875 L 5.59375 23.59375 L 8.375 26.46875 L 9.8125 25.0625 L 15.8125 19.1875 L 21.8125 25.0625 L 23.25 26.46875 L 26.0625 23.59375 L 24.625 22.21875 L 18.6875 16.40625 L 24.625 10.59375 L 26.0625 9.1875 L 23.25 6.34375 L 21.8125 7.71875 L 15.8125 13.59375 L 9.8125 7.71875 L 8.375 6.34375 z "
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:3.2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.5" />
+ <path
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.4;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.5"
+ d="M 8.375 6.34375 L 5.59375 9.1875 L 7 10.59375 L 12.9375 16.40625 L 7 22.21875 L 5.59375 23.59375 L 8.375 26.46875 L 9.8125 25.0625 L 15.8125 19.1875 L 21.8125 25.0625 L 23.25 26.46875 L 26.0625 23.59375 L 24.625 22.21875 L 18.6875 16.40625 L 24.625 10.59375 L 26.0625 9.1875 L 23.25 6.34375 L 21.8125 7.71875 L 15.8125 13.59375 L 9.8125 7.71875 L 8.375 6.34375 z "
+ id="path2828" />
+ <path
+ id="path2826"
+ d="M 8.375 6.34375 L 5.59375 9.1875 L 7 10.59375 L 12.9375 16.40625 L 7 22.21875 L 5.59375 23.59375 L 8.375 26.46875 L 9.8125 25.0625 L 15.8125 19.1875 L 21.8125 25.0625 L 23.25 26.46875 L 26.0625 23.59375 L 24.625 22.21875 L 18.6875 16.40625 L 24.625 10.59375 L 26.0625 9.1875 L 23.25 6.34375 L 21.8125 7.71875 L 15.8125 13.59375 L 9.8125 7.71875 L 8.375 6.34375 z "
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.5" />
+ <path
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.8;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.5"
+ d="M 8.375 6.34375 L 5.59375 9.1875 L 7 10.59375 L 12.9375 16.40625 L 7 22.21875 L 5.59375 23.59375 L 8.375 26.46875 L 9.8125 25.0625 L 15.8125 19.1875 L 21.8125 25.0625 L 23.25 26.46875 L 26.0625 23.59375 L 24.625 22.21875 L 18.6875 16.40625 L 24.625 10.59375 L 26.0625 9.1875 L 23.25 6.34375 L 21.8125 7.71875 L 15.8125 13.59375 L 9.8125 7.71875 L 8.375 6.34375 z "
+ id="path1926" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:4.0000000;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
+ d="M 8.4136645,23.638095 L 23.221118,9.1619048"
+ id="path2114" />
+ <path
+ id="path2116"
+ d="M 23.221118,23.638095 L 8.4136645,9.1619048"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:4.0000000;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000" />
+ </g>
+</svg>
diff --git a/client/images/help.svg b/client/images/help.svg
new file mode 100755
index 0000000..9559975
--- /dev/null
+++ b/client/images/help.svg
@@ -0,0 +1,415 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="help.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/close.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3811"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3809"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3801">
+ <stop
+ id="stop3803"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3805" />
+ <stop
+ id="stop3807"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3797" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3799" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.3125"
+ inkscape:cx="5.6170226"
+ inkscape:cy="18.570365"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1016"
+ inkscape:window-height="699"
+ inkscape:window-x="0"
+ inkscape:window-y="36" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <text
+ xml:space="preserve"
+ style="font-size:26.88840294px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.5;fill:black;fill-opacity:1;stroke:white;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;stroke-miterlimit:4;stroke-dasharray:none"
+ x="7.2212601"
+ y="26"
+ id="text4340"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4342"
+ x="7.2212601"
+ y="26">?</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text4336"
+ y="26"
+ x="7.2212601"
+ style="font-size:26.88840294px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.5;fill:black;fill-opacity:1;stroke:white;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;stroke-miterlimit:4;stroke-dasharray:none"
+ xml:space="preserve"><tspan
+ y="26"
+ x="7.2212601"
+ id="tspan4338"
+ sodipodi:role="line">?</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:26.88840294px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.5;fill:black;fill-opacity:1;stroke:white;stroke-width:1.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;stroke-miterlimit:4;stroke-dasharray:none"
+ x="7.2212601"
+ y="26"
+ id="text4332"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4334"
+ x="7.2212601"
+ y="26">?</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text4928"
+ y="26"
+ x="7.2212601"
+ style="font-size:26.88840294px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.5;fill:black;fill-opacity:1;stroke:white;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;stroke-miterlimit:4;stroke-dasharray:none"
+ xml:space="preserve"><tspan
+ y="26"
+ x="7.2212601"
+ id="tspan4930"
+ sodipodi:role="line">?</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:26.88840294px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:black;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans"
+ x="7.2212601"
+ y="26"
+ id="text6422"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan6424"
+ x="7.2212601"
+ y="26">?</tspan></text>
+ </g>
+</svg>
diff --git a/client/images/keep_above.svg b/client/images/keep_above.svg
new file mode 100755
index 0000000..eec84a4
--- /dev/null
+++ b/client/images/keep_above.svg
@@ -0,0 +1,624 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="keep_above.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/keep_above.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3811"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3809"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3801">
+ <stop
+ id="stop3803"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3805" />
+ <stop
+ id="stop3807"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3797" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3799" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4657"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4655"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4647">
+ <stop
+ id="stop4649"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4651" />
+ <stop
+ id="stop4653"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4641">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4643" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4645" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4637"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4639"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4633"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4635"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4629"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4631"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4625"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4627"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4621"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4623"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient6321"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6319"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6311">
+ <stop
+ id="stop6313"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop6315" />
+ <stop
+ id="stop6317"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6305">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6307" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop6309" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker6301"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path6303"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6297"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6299"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6293"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path6295"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6289"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6291"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6285"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path6287"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient6340"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(33.15942,-13.44928)" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.049398"
+ inkscape:cx="21.318946"
+ inkscape:cy="2.7198237"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1024"
+ inkscape:window-height="723"
+ inkscape:window-x="0"
+ inkscape:window-y="25" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ id="path4313"
+ d="M 5.875 7.5 L 5.875 10.5 L 26 10.5 L 26 7.5 L 5.875 7.5 z M 15.5 11.125 L 12.5 16.3125 L 14 16.3125 L 14 25.15625 L 17 25.15625 L 17 16.3125 L 18.5 16.3125 L 15.5 11.125 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 5.875 7.5 L 5.875 10.5 L 26 10.5 L 26 7.5 L 5.875 7.5 z M 15.5 11.125 L 12.5 16.3125 L 14 16.3125 L 14 25.15625 L 17 25.15625 L 17 16.3125 L 18.5 16.3125 L 15.5 11.125 z "
+ id="path4311" />
+ <path
+ id="path4309"
+ d="M 5.875 7.5 L 5.875 10.5 L 26 10.5 L 26 7.5 L 5.875 7.5 z M 15.5 11.125 L 12.5 16.3125 L 14 16.3125 L 14 25.15625 L 17 25.15625 L 17 16.3125 L 18.5 16.3125 L 15.5 11.125 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 5.875 7.5 L 5.875 10.5 L 26 10.5 L 26 7.5 L 5.875 7.5 z M 15.5 11.125 L 12.5 16.3125 L 14 16.3125 L 14 25.15625 L 17 25.15625 L 17 16.3125 L 18.5 16.3125 L 15.5 11.125 z "
+ id="path4920" />
+ <path
+ style="opacity:1;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 5.875,7.5 L 5.875,10.5 L 26,10.5 L 26,7.5 L 5.875,7.5 z "
+ id="path6426" />
+ <path
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 15.5 11.125 L 12.5 16.3125 L 14 16.3125 L 14 25.15625 L 17 25.15625 L 17 16.3125 L 18.5 16.3125 L 15.5 11.125 z "
+ id="path7154" />
+ </g>
+</svg>
diff --git a/client/images/keep_above_lit.svg b/client/images/keep_above_lit.svg
new file mode 100755
index 0000000..eee9f32
--- /dev/null
+++ b/client/images/keep_above_lit.svg
@@ -0,0 +1,626 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="keep_above_lit.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/keep_above_lit.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3811"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3809"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3801">
+ <stop
+ id="stop3803"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3805" />
+ <stop
+ id="stop3807"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3797" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3799" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4657"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4655"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4647">
+ <stop
+ id="stop4649"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4651" />
+ <stop
+ id="stop4653"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4641">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4643" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4645" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4637"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4639"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4633"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4635"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4629"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4631"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4625"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4627"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4621"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4623"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient6321"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6319"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6311">
+ <stop
+ id="stop6313"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop6315" />
+ <stop
+ id="stop6317"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6305">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6307" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop6309" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker6301"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path6303"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6297"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6299"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6293"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path6295"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6289"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6291"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6285"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path6287"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient6340"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(33.15942,-13.44928)" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="10.275145"
+ inkscape:cx="24.388067"
+ inkscape:cy="19.105944"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1016"
+ inkscape:window-height="699"
+ inkscape:window-x="0"
+ inkscape:window-y="36" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ id="path4328"
+ d="M 5.875 7.5 L 5.875 10.5 L 26 10.5 L 26 7.5 L 5.875 7.5 z M 14 11.90625 L 14 20.78125 L 11.96875 20.78125 L 15.5 25.96875 L 19.03125 20.78125 L 17 20.78125 L 17 11.90625 L 14 11.90625 z "
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.5" />
+ <path
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.5"
+ d="M 5.875 7.5 L 5.875 10.5 L 26 10.5 L 26 7.5 L 5.875 7.5 z M 14 11.90625 L 14 20.78125 L 11.96875 20.78125 L 15.5 25.96875 L 19.03125 20.78125 L 17 20.78125 L 17 11.90625 L 14 11.90625 z "
+ id="path4326" />
+ <path
+ id="path4324"
+ d="M 5.875 7.5 L 5.875 10.5 L 26 10.5 L 26 7.5 L 5.875 7.5 z M 14 11.90625 L 14 20.78125 L 11.96875 20.78125 L 15.5 25.96875 L 19.03125 20.78125 L 17 20.78125 L 17 11.90625 L 14 11.90625 z "
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.5" />
+ <path
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.5"
+ d="M 5.875 7.5 L 5.875 10.5 L 26 10.5 L 26 7.5 L 5.875 7.5 z M 14 11.90625 L 14 20.78125 L 11.96875 20.78125 L 15.5 25.96875 L 19.03125 20.78125 L 17 20.78125 L 17 11.90625 L 14 11.90625 z "
+ id="path4926" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:3.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000;opacity:1.0000000"
+ d="M 5.8840570,9.0000000 L 26.000000,9.0000000"
+ id="path6426"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 14,11.90625 L 14,20.78125 L 11.978261,20.78125 L 15.5,25.96875 L 19.021739,20.78125 L 17,20.78125 L 17,11.90625 L 14,11.90625 z "
+ id="path3015"
+ sodipodi:nodetypes="cccccccc" />
+ </g>
+</svg>
diff --git a/client/images/keep_below.svg b/client/images/keep_below.svg
new file mode 100755
index 0000000..cb56c7b
--- /dev/null
+++ b/client/images/keep_below.svg
@@ -0,0 +1,792 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="keep_below.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/keep_below.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutM"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutM"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path3939"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3811"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3809"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3801">
+ <stop
+ id="stop3803"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3805" />
+ <stop
+ id="stop3807"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3797" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3799" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4657"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4655"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4647">
+ <stop
+ id="stop4649"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4651" />
+ <stop
+ id="stop4653"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4641">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4643" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4645" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4637"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4639"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4633"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4635"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4629"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4631"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4625"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4627"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4621"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4623"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient6321"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6319"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6311">
+ <stop
+ id="stop6313"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop6315" />
+ <stop
+ id="stop6317"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6305">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6307" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop6309" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker6301"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path6303"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6297"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6299"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6293"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path6295"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6289"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6291"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6285"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path6287"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient6340"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(33.15942,-13.44928)" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3945"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3943"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3935">
+ <stop
+ id="stop3937"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3939" />
+ <stop
+ id="stop3941"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3929">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3931" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3933" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker3925"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path3927"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3921"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3923"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3917"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path3919"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3913"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3915"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3909"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path3911"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3957"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3959"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3964"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(37.79710,-17.73913)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3967"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,37.32091,-18.21532)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.3125"
+ inkscape:cx="29.006417"
+ inkscape:cy="12.136696"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1024"
+ inkscape:window-height="723"
+ inkscape:window-x="0"
+ inkscape:window-y="25" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ id="path4295"
+ d="M 13.625 8.5 L 13.625 17.34375 L 12.125 17.34375 L 15.125 22.5625 L 18.125 17.34375 L 16.625 17.34375 L 16.625 8.5 L 13.625 8.5 z M 5.5 22.90625 L 5.5 25.90625 L 25.625 25.90625 L 25.625 22.90625 L 5.5 22.90625 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 13.625 8.5 L 13.625 17.34375 L 12.125 17.34375 L 15.125 22.5625 L 18.125 17.34375 L 16.625 17.34375 L 16.625 8.5 L 13.625 8.5 z M 5.5 22.90625 L 5.5 25.90625 L 25.625 25.90625 L 25.625 22.90625 L 5.5 22.90625 z "
+ id="path4293" />
+ <path
+ id="path4291"
+ d="M 13.625 8.5 L 13.625 17.34375 L 12.125 17.34375 L 15.125 22.5625 L 18.125 17.34375 L 16.625 17.34375 L 16.625 8.5 L 13.625 8.5 z M 5.5 22.90625 L 5.5 25.90625 L 25.625 25.90625 L 25.625 22.90625 L 5.5 22.90625 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 13.625 8.5 L 13.625 17.34375 L 12.125 17.34375 L 15.125 22.5625 L 18.125 17.34375 L 16.625 17.34375 L 16.625 8.5 L 13.625 8.5 z M 5.5 22.90625 L 5.5 25.90625 L 25.625 25.90625 L 25.625 22.90625 L 5.5 22.90625 z "
+ id="path4911" />
+ <path
+ style="opacity:1;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 5.5,22.90625 L 5.5,25.90625 L 25.625,25.90625 L 25.625,22.90625 L 5.5,22.90625 z "
+ id="path6426" />
+ <path
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 13.625 8.5 L 13.625 17.34375 L 12.125 17.34375 L 15.125 22.5625 L 18.125 17.34375 L 16.625 17.34375 L 16.625 8.5 L 13.625 8.5 z "
+ id="path7154" />
+ </g>
+</svg>
diff --git a/client/images/keep_below_lit.svg b/client/images/keep_below_lit.svg
new file mode 100755
index 0000000..7619531
--- /dev/null
+++ b/client/images/keep_below_lit.svg
@@ -0,0 +1,778 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="keep_below_lit.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/keep_below_lit.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3811"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3809"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3801">
+ <stop
+ id="stop3803"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3805" />
+ <stop
+ id="stop3807"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3797" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3799" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4657"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4655"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4647">
+ <stop
+ id="stop4649"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4651" />
+ <stop
+ id="stop4653"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4641">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4643" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4645" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4637"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4639"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4633"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4635"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4629"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4631"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4625"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4627"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4621"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4623"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient6321"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6319"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6311">
+ <stop
+ id="stop6313"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop6315" />
+ <stop
+ id="stop6317"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6305">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6307" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop6309" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker6301"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path6303"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6297"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6299"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6293"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path6295"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6289"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6291"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6285"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path6287"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient6340"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(33.15942,-13.44928)" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3945"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3943"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3935">
+ <stop
+ id="stop3937"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3939" />
+ <stop
+ id="stop3941"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3929">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3931" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3933" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker3925"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path3927"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3921"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3923"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3917"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path3919"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3913"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3915"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3909"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path3911"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3957"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3959"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3964"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(37.79710,-17.73913)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3967"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,37.32091,-18.21532)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.3125"
+ inkscape:cx="10.402762"
+ inkscape:cy="19.92114"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1016"
+ inkscape:window-height="699"
+ inkscape:window-x="0"
+ inkscape:window-y="36" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ id="path4304"
+ d="M 15.125 7.34375 L 12.125 12.53125 L 13.625 12.53125 L 13.625 21.40625 L 16.625 21.40625 L 16.625 12.53125 L 18.125 12.53125 L 15.125 7.34375 z M 5.5 22.90625 L 5.5 25.90625 L 25.625 25.90625 L 25.625 22.90625 L 5.5 22.90625 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 15.125 7.34375 L 12.125 12.53125 L 13.625 12.53125 L 13.625 21.40625 L 16.625 21.40625 L 16.625 12.53125 L 18.125 12.53125 L 15.125 7.34375 z M 5.5 22.90625 L 5.5 25.90625 L 25.625 25.90625 L 25.625 22.90625 L 5.5 22.90625 z "
+ id="path4302" />
+ <path
+ id="path4300"
+ d="M 15.125 7.34375 L 12.125 12.53125 L 13.625 12.53125 L 13.625 21.40625 L 16.625 21.40625 L 16.625 12.53125 L 18.125 12.53125 L 15.125 7.34375 z M 5.5 22.90625 L 5.5 25.90625 L 25.625 25.90625 L 25.625 22.90625 L 5.5 22.90625 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 15.125 7.34375 L 12.125 12.53125 L 13.625 12.53125 L 13.625 21.40625 L 16.625 21.40625 L 16.625 12.53125 L 18.125 12.53125 L 15.125 7.34375 z M 5.5 22.90625 L 5.5 25.90625 L 25.625 25.90625 L 25.625 22.90625 L 5.5 22.90625 z "
+ id="path4916" />
+ <path
+ style="opacity:1;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 5.5,22.90625 L 5.5,25.90625 L 25.625,25.90625 L 25.625,22.90625 L 5.5,22.90625 z "
+ id="path6426" />
+ <path
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 15.125 7.34375 L 12.125 12.53125 L 13.625 12.53125 L 13.625 21.40625 L 16.625 21.40625 L 16.625 12.53125 L 18.125 12.53125 L 15.125 7.34375 z "
+ id="path7154" />
+ </g>
+</svg>
diff --git a/client/images/maximize.svg b/client/images/maximize.svg
new file mode 100755
index 0000000..20e81cf
--- /dev/null
+++ b/client/images/maximize.svg
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="maximize.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/maximize.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.4165728"
+ inkscape:cx="31.860665"
+ inkscape:cy="7.5767539"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1024"
+ inkscape:window-height="723"
+ inkscape:window-x="0"
+ inkscape:window-y="25" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;stroke:white;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 6.40625 6.4375 L 6.40625 7.40625 L 6.40625 24.53125 L 6.40625 25.5 L 7.375 25.5 L 24.5 25.5 L 25.46875 25.5 L 25.46875 24.53125 L 25.46875 7.40625 L 25.46875 6.4375 L 24.5 6.4375 L 7.375 6.4375 L 6.40625 6.4375 z M 8.3125 12 L 23.5625 12 L 23.5625 23.59375 L 8.3125 23.59375 L 8.3125 12 z "
+ id="path2784" />
+ <path
+ id="path2782"
+ d="M 6.40625 6.4375 L 6.40625 7.40625 L 6.40625 24.53125 L 6.40625 25.5 L 7.375 25.5 L 24.5 25.5 L 25.46875 25.5 L 25.46875 24.53125 L 25.46875 7.40625 L 25.46875 6.4375 L 24.5 6.4375 L 7.375 6.4375 L 6.40625 6.4375 z M 8.3125 12 L 23.5625 12 L 23.5625 23.59375 L 8.3125 23.59375 L 8.3125 12 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;stroke:white;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;stroke:white;stroke-width:1.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 6.40625 6.4375 L 6.40625 7.40625 L 6.40625 24.53125 L 6.40625 25.5 L 7.375 25.5 L 24.5 25.5 L 25.46875 25.5 L 25.46875 24.53125 L 25.46875 7.40625 L 25.46875 6.4375 L 24.5 6.4375 L 7.375 6.4375 L 6.40625 6.4375 z M 8.3125 12 L 23.5625 12 L 23.5625 23.59375 L 8.3125 23.59375 L 8.3125 12 z "
+ id="path2780" />
+ <path
+ id="path1890"
+ d="M 6.40625 6.4375 L 6.40625 7.40625 L 6.40625 24.53125 L 6.40625 25.5 L 7.375 25.5 L 24.5 25.5 L 25.46875 25.5 L 25.46875 24.53125 L 25.46875 7.40625 L 25.46875 6.4375 L 24.5 6.4375 L 7.375 6.4375 L 6.40625 6.4375 z M 8.3125 12 L 23.5625 12 L 23.5625 23.59375 L 8.3125 23.59375 L 8.3125 12 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;stroke:white;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:1;fill:black;fill-opacity:1;stroke:none;stroke-width:1.91100001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 6.40625 6.4375 L 6.40625 7.40625 L 6.40625 24.53125 L 6.40625 25.5 L 7.375 25.5 L 24.5 25.5 L 25.46875 25.5 L 25.46875 24.53125 L 25.46875 7.40625 L 25.46875 6.4375 L 24.5 6.4375 L 7.375 6.4375 L 6.40625 6.4375 z M 8.3125 12 L 23.5625 12 L 23.5625 23.59375 L 8.3125 23.59375 L 8.3125 12 z "
+ id="rect1890" />
+ </g>
+</svg>
diff --git a/client/images/minimize.svg b/client/images/minimize.svg
new file mode 100755
index 0000000..8189c8a
--- /dev/null
+++ b/client/images/minimize.svg
@@ -0,0 +1,774 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="minimize.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/keep_below.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3811"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3809"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3801">
+ <stop
+ id="stop3803"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3805" />
+ <stop
+ id="stop3807"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3797" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3799" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4657"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4655"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4647">
+ <stop
+ id="stop4649"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4651" />
+ <stop
+ id="stop4653"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4641">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4643" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4645" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4637"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4639"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4633"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4635"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4629"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4631"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4625"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4627"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4621"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4623"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient6321"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6319"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6311">
+ <stop
+ id="stop6313"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop6315" />
+ <stop
+ id="stop6317"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6305">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6307" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop6309" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker6301"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path6303"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6297"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6299"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6293"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path6295"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6289"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6291"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6285"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path6287"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient6340"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(33.15942,-13.44928)" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3945"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3943"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3935">
+ <stop
+ id="stop3937"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3939" />
+ <stop
+ id="stop3941"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3929">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3931" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3933" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker3925"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path3927"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3921"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3923"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3917"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path3919"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3913"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3915"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3909"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path3911"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3957"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3959"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3964"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(37.79710,-17.73913)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3967"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,37.32091,-18.21532)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="6.098796"
+ inkscape:cx="20.770666"
+ inkscape:cy="4.3517678"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1024"
+ inkscape:window-height="723"
+ inkscape:window-x="0"
+ inkscape:window-y="25" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="opacity:0.5;fill:#da1f1f;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 7.28125,22.40625 L 7.28125,26.40625 L 23.71875,26.40625 L 23.71875,22.40625 L 7.28125,22.40625 z "
+ id="path2883" />
+ <path
+ id="path2881"
+ d="M 7.28125,22.40625 L 7.28125,26.40625 L 23.71875,26.40625 L 23.71875,22.40625 L 7.28125,22.40625 z "
+ style="opacity:0.5;fill:#da1f1f;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:#da1f1f;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 7.28125,22.40625 L 7.28125,26.40625 L 23.71875,26.40625 L 23.71875,22.40625 L 7.28125,22.40625 z "
+ id="path2879" />
+ <path
+ id="path1988"
+ d="M 7.28125,22.40625 L 7.28125,26.40625 L 23.71875,26.40625 L 23.71875,22.40625 L 7.28125,22.40625 z "
+ style="opacity:0.5;fill:#da1f1f;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:1;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 7.28125,22.40625 L 7.28125,26.40625 L 23.71875,26.40625 L 23.71875,22.40625 L 7.28125,22.40625 z "
+ id="path6426" />
+ </g>
+</svg>
diff --git a/client/images/restore.svg b/client/images/restore.svg
new file mode 100755
index 0000000..2086061
--- /dev/null
+++ b/client/images/restore.svg
@@ -0,0 +1,952 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="restore.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/minimize.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3811"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3809"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3801">
+ <stop
+ id="stop3803"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3805" />
+ <stop
+ id="stop3807"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3797" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3799" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4657"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4655"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4647">
+ <stop
+ id="stop4649"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4651" />
+ <stop
+ id="stop4653"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4641">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4643" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4645" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4637"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4639"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4633"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4635"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4629"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4631"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4625"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4627"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4621"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4623"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient6321"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6319"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6311">
+ <stop
+ id="stop6313"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop6315" />
+ <stop
+ id="stop6317"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6305">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6307" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop6309" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker6301"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path6303"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6297"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6299"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6293"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path6295"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6289"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6291"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6285"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path6287"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient6340"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(33.15942,-13.44928)" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3945"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3943"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3935">
+ <stop
+ id="stop3937"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3939" />
+ <stop
+ id="stop3941"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3929">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3931" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3933" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker3925"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path3927"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3921"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3923"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3917"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path3919"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3913"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3915"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3909"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path3911"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3957"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3959"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3964"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(37.79710,-17.73913)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3967"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,37.32091,-18.21532)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4053"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4051"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4049"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4041">
+ <stop
+ id="stop4043"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4045" />
+ <stop
+ id="stop4047"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4035">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4037" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4039" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4031"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4033"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4027"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4029"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4023"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4025"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4019"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4021"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4015"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4017"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4065"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4067"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4072"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(39.88406,-16.34783)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4075"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,39.40787,-16.82402)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="11.490485"
+ inkscape:cx="28.748134"
+ inkscape:cy="16.763854"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1024"
+ inkscape:window-height="723"
+ inkscape:window-x="0"
+ inkscape:window-y="25" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="opacity:0.5;fill:#d75151;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 11.21875 4.6875 L 11.21875 6.0625 L 11.21875 11.34375 L 5.90625 11.34375 L 4.53125 11.34375 L 4.53125 12.71875 L 4.53125 25.96875 L 4.53125 27.34375 L 5.90625 27.34375 L 19.15625 27.34375 L 20.53125 27.34375 L 20.53125 25.96875 L 20.53125 20.71875 L 25.84375 20.71875 L 27.21875 20.71875 L 27.21875 19.3125 L 27.21875 6.0625 L 27.21875 4.6875 L 25.84375 4.6875 L 12.59375 4.6875 L 11.21875 4.6875 z M 13.96875 7.46875 L 24.46875 7.46875 L 24.46875 17.9375 L 20.53125 17.9375 L 20.53125 12.71875 L 20.53125 11.34375 L 19.15625 11.34375 L 13.96875 11.34375 L 13.96875 7.46875 z M 7.28125 14.09375 L 11.21875 14.09375 L 11.21875 19.3125 L 11.21875 20.71875 L 12.59375 20.71875 L 17.78125 20.71875 L 17.78125 24.59375 L 7.28125 24.59375 L 7.28125 14.09375 z M 13.96875 14.09375 L 17.78125 14.09375 L 17.78125 17.9375 L 13.96875 17.9375 L 13.96875 14.09375 z "
+ id="path2924" />
+ <path
+ id="path2922"
+ d="M 11.21875 4.6875 L 11.21875 6.0625 L 11.21875 11.34375 L 5.90625 11.34375 L 4.53125 11.34375 L 4.53125 12.71875 L 4.53125 25.96875 L 4.53125 27.34375 L 5.90625 27.34375 L 19.15625 27.34375 L 20.53125 27.34375 L 20.53125 25.96875 L 20.53125 20.71875 L 25.84375 20.71875 L 27.21875 20.71875 L 27.21875 19.3125 L 27.21875 6.0625 L 27.21875 4.6875 L 25.84375 4.6875 L 12.59375 4.6875 L 11.21875 4.6875 z M 13.96875 7.46875 L 24.46875 7.46875 L 24.46875 17.9375 L 20.53125 17.9375 L 20.53125 12.71875 L 20.53125 11.34375 L 19.15625 11.34375 L 13.96875 11.34375 L 13.96875 7.46875 z M 7.28125 14.09375 L 11.21875 14.09375 L 11.21875 19.3125 L 11.21875 20.71875 L 12.59375 20.71875 L 17.78125 20.71875 L 17.78125 24.59375 L 7.28125 24.59375 L 7.28125 14.09375 z M 13.96875 14.09375 L 17.78125 14.09375 L 17.78125 17.9375 L 13.96875 17.9375 L 13.96875 14.09375 z "
+ style="opacity:0.5;fill:#d75151;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:#d75151;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 11.21875 4.6875 L 11.21875 6.0625 L 11.21875 11.34375 L 5.90625 11.34375 L 4.53125 11.34375 L 4.53125 12.71875 L 4.53125 25.96875 L 4.53125 27.34375 L 5.90625 27.34375 L 19.15625 27.34375 L 20.53125 27.34375 L 20.53125 25.96875 L 20.53125 20.71875 L 25.84375 20.71875 L 27.21875 20.71875 L 27.21875 19.3125 L 27.21875 6.0625 L 27.21875 4.6875 L 25.84375 4.6875 L 12.59375 4.6875 L 11.21875 4.6875 z M 13.96875 7.46875 L 24.46875 7.46875 L 24.46875 17.9375 L 20.53125 17.9375 L 20.53125 12.71875 L 20.53125 11.34375 L 19.15625 11.34375 L 13.96875 11.34375 L 13.96875 7.46875 z M 7.28125 14.09375 L 11.21875 14.09375 L 11.21875 19.3125 L 11.21875 20.71875 L 12.59375 20.71875 L 17.78125 20.71875 L 17.78125 24.59375 L 7.28125 24.59375 L 7.28125 14.09375 z M 13.96875 14.09375 L 17.78125 14.09375 L 17.78125 17.9375 L 13.96875 17.9375 L 13.96875 14.09375 z "
+ id="path2920" />
+ <path
+ id="path2916"
+ d="M 11.21875 4.6875 L 11.21875 6.0625 L 11.21875 11.34375 L 5.90625 11.34375 L 4.53125 11.34375 L 4.53125 12.71875 L 4.53125 25.96875 L 4.53125 27.34375 L 5.90625 27.34375 L 19.15625 27.34375 L 20.53125 27.34375 L 20.53125 25.96875 L 20.53125 20.71875 L 25.84375 20.71875 L 27.21875 20.71875 L 27.21875 19.3125 L 27.21875 6.0625 L 27.21875 4.6875 L 25.84375 4.6875 L 12.59375 4.6875 L 11.21875 4.6875 z M 13.96875 7.46875 L 24.46875 7.46875 L 24.46875 17.9375 L 20.53125 17.9375 L 20.53125 12.71875 L 20.53125 11.34375 L 19.15625 11.34375 L 13.96875 11.34375 L 13.96875 7.46875 z M 7.28125 14.09375 L 11.21875 14.09375 L 11.21875 19.3125 L 11.21875 20.71875 L 12.59375 20.71875 L 17.78125 20.71875 L 17.78125 24.59375 L 7.28125 24.59375 L 7.28125 14.09375 z M 13.96875 14.09375 L 17.78125 14.09375 L 17.78125 17.9375 L 13.96875 17.9375 L 13.96875 14.09375 z "
+ style="opacity:0.5;fill:#d75151;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:0.8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:black;stroke-width:2.75936866;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4062"
+ width="13.250302"
+ height="13.250302"
+ x="5.9079962"
+ y="12.722096"
+ ry="0"
+ rx="0" />
+ <rect
+ ry="0"
+ y="6.0742526"
+ x="12.598496"
+ height="13.250302"
+ width="13.250302"
+ id="rect4064"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:black;stroke-width:2.75936866;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ rx="0" />
+ </g>
+</svg>
diff --git a/client/images/splat.svg b/client/images/splat.svg
new file mode 100755
index 0000000..6e746f8
--- /dev/null
+++ b/client/images/splat.svg
@@ -0,0 +1,1109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="splat.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/restore.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3811"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3809"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3801">
+ <stop
+ id="stop3803"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3805" />
+ <stop
+ id="stop3807"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3797" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3799" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4657"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4655"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4647">
+ <stop
+ id="stop4649"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4651" />
+ <stop
+ id="stop4653"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4641">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4643" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4645" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4637"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4639"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4633"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4635"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4629"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4631"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4625"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4627"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4621"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4623"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient6321"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6319"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6311">
+ <stop
+ id="stop6313"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop6315" />
+ <stop
+ id="stop6317"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6305">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6307" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop6309" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker6301"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path6303"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6297"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6299"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6293"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path6295"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6289"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6291"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6285"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path6287"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient6340"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(33.15942,-13.44928)" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3945"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3943"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3935">
+ <stop
+ id="stop3937"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3939" />
+ <stop
+ id="stop3941"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3929">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3931" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3933" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker3925"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path3927"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3921"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3923"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3917"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path3919"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3913"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3915"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3909"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path3911"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3957"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3959"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3964"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(37.79710,-17.73913)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3967"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,37.32091,-18.21532)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4053"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4051"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4049"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4041">
+ <stop
+ id="stop4043"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4045" />
+ <stop
+ id="stop4047"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4035">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4037" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4039" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4031"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4033"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4027"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4029"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4023"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4025"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4019"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4021"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4015"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4017"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4065"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4067"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4072"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(39.88406,-16.34783)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4075"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,39.40787,-16.82402)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4143"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4141"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4133">
+ <stop
+ id="stop4135"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4137" />
+ <stop
+ id="stop4139"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4127">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4129" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4131" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4123"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4125"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4119"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4121"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4115"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4117"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4111"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4113"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4107"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4109"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4155"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4157"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4162"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(38.00000,-10.55072)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4165"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,37.52381,-11.02691)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.049398"
+ inkscape:cx="4.1404163"
+ inkscape:cy="40.47274"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1016"
+ inkscape:window-height="699"
+ inkscape:window-x="0"
+ inkscape:window-y="36" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ id="path4286"
+ d="M 5.5 7 L 5.5 10 L 14.59375 10 L 14.15625 10.75 L 7.8125 21.78125 L 6.5 24.03125 L 9.09375 24.03125 L 21.84375 24.03125 L 24.4375 24.03125 L 23.125 21.78125 L 16.78125 10.75 L 16.34375 10 L 25.625 10 L 25.625 7 L 5.5 7 z M 15.46875 14.53125 L 19.21875 21.03125 L 11.71875 21.03125 L 15.46875 14.53125 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 5.5 7 L 5.5 10 L 14.59375 10 L 14.15625 10.75 L 7.8125 21.78125 L 6.5 24.03125 L 9.09375 24.03125 L 21.84375 24.03125 L 24.4375 24.03125 L 23.125 21.78125 L 16.78125 10.75 L 16.34375 10 L 25.625 10 L 25.625 7 L 5.5 7 z M 15.46875 14.53125 L 19.21875 21.03125 L 11.71875 21.03125 L 15.46875 14.53125 z "
+ id="path4284" />
+ <path
+ id="path4282"
+ d="M 5.5 7 L 5.5 10 L 14.59375 10 L 14.15625 10.75 L 7.8125 21.78125 L 6.5 24.03125 L 9.09375 24.03125 L 21.84375 24.03125 L 24.4375 24.03125 L 23.125 21.78125 L 16.78125 10.75 L 16.34375 10 L 25.625 10 L 25.625 7 L 5.5 7 z M 15.46875 14.53125 L 19.21875 21.03125 L 11.71875 21.03125 L 15.46875 14.53125 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 5.5 7 L 5.5 10 L 14.59375 10 L 14.15625 10.75 L 7.8125 21.78125 L 6.5 24.03125 L 9.09375 24.03125 L 21.84375 24.03125 L 24.4375 24.03125 L 23.125 21.78125 L 16.78125 10.75 L 16.34375 10 L 25.625 10 L 25.625 7 L 5.5 7 z M 15.46875 14.53125 L 19.21875 21.03125 L 11.71875 21.03125 L 15.46875 14.53125 z "
+ id="path4267" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:3.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000;opacity:1.0000000"
+ d="M 5.5000000,8.5000000 L 25.615943,8.5000000"
+ id="path6426"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:type="star"
+ style="opacity:1.0000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#000000;stroke-width:3.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ id="path1327"
+ sodipodi:sides="3"
+ sodipodi:cx="-12.250504"
+ sodipodi:cy="14.445155"
+ sodipodi:r1="7.3478713"
+ sodipodi:r2="3.6739357"
+ sodipodi:arg1="0.52359878"
+ sodipodi:arg2="1.5707963"
+ inkscape:flatsided="true"
+ inkscape:rounded="0.0000000"
+ inkscape:randomized="0.0000000"
+ d="M -5.8870603,18.119091 L -18.613947,18.119091 L -12.250504,7.0972838 L -5.8870603,18.119091 z "
+ transform="translate(27.72989,4.415109)" />
+ </g>
+</svg>
diff --git a/client/images/unsplat.svg b/client/images/unsplat.svg
new file mode 100755
index 0000000..8fcee5e
--- /dev/null
+++ b/client/images/unsplat.svg
@@ -0,0 +1,1263 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="unsplat.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/splat.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3811"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3809"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3801">
+ <stop
+ id="stop3803"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3805" />
+ <stop
+ id="stop3807"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3797" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3799" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4657"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4655"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4647">
+ <stop
+ id="stop4649"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4651" />
+ <stop
+ id="stop4653"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4641">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4643" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4645" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4637"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4639"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4633"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4635"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4629"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4631"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4625"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4627"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4621"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4623"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient6321"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6319"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6311">
+ <stop
+ id="stop6313"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop6315" />
+ <stop
+ id="stop6317"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6305">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6307" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop6309" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker6301"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path6303"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6297"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6299"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6293"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path6295"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6289"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6291"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6285"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path6287"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient6340"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(33.15942,-13.44928)" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3945"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3943"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3935">
+ <stop
+ id="stop3937"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3939" />
+ <stop
+ id="stop3941"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3929">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3931" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3933" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker3925"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path3927"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3921"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3923"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3917"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path3919"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3913"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3915"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3909"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path3911"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3957"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3959"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3964"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(37.79710,-17.73913)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3967"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,37.32091,-18.21532)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4053"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4051"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4049"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4041">
+ <stop
+ id="stop4043"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4045" />
+ <stop
+ id="stop4047"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4035">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4037" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4039" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4031"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4033"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4027"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4029"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4023"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4025"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4019"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4021"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4015"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4017"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4065"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4067"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4072"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(39.88406,-16.34783)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4075"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,39.40787,-16.82402)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4143"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4141"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4133">
+ <stop
+ id="stop4135"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4137" />
+ <stop
+ id="stop4139"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4127">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4129" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4131" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4123"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4125"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4119"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4121"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4115"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4117"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4111"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4113"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4107"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4109"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4155"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4157"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4162"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(38.00000,-10.55072)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4165"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,37.52381,-11.02691)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4233"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4231"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4223">
+ <stop
+ id="stop4225"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4227" />
+ <stop
+ id="stop4229"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4217">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4219" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4221" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4213"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4215"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4209"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4211"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4205"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4207"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4201"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4203"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4197"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4199"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4247"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4249"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4254"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(46.00000,-17.00000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4257"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,45.52381,-17.47619)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.3125"
+ inkscape:cx="58.927449"
+ inkscape:cy="11.196646"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1016"
+ inkscape:window-height="699"
+ inkscape:window-x="0"
+ inkscape:window-y="36" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ id="path4265"
+ d="M 5.5 7 L 5.5 10 L 25.625 10 L 25.625 7 L 5.5 7 z M 6.1875 11.96875 L 7.5 14.21875 L 13.84375 25.25 L 15.15625 27.5 L 16.46875 25.25 L 22.8125 14.21875 L 24.125 11.96875 L 21.53125 11.96875 L 8.78125 11.96875 L 6.1875 11.96875 z M 11.40625 14.96875 L 18.90625 14.96875 L 15.15625 21.46875 L 11.40625 14.96875 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 5.5 7 L 5.5 10 L 25.625 10 L 25.625 7 L 5.5 7 z M 6.1875 11.96875 L 7.5 14.21875 L 13.84375 25.25 L 15.15625 27.5 L 16.46875 25.25 L 22.8125 14.21875 L 24.125 11.96875 L 21.53125 11.96875 L 8.78125 11.96875 L 6.1875 11.96875 z M 11.40625 14.96875 L 18.90625 14.96875 L 15.15625 21.46875 L 11.40625 14.96875 z "
+ id="path4263" />
+ <path
+ id="path4261"
+ d="M 5.5 7 L 5.5 10 L 25.625 10 L 25.625 7 L 5.5 7 z M 6.1875 11.96875 L 7.5 14.21875 L 13.84375 25.25 L 15.15625 27.5 L 16.46875 25.25 L 22.8125 14.21875 L 24.125 11.96875 L 21.53125 11.96875 L 8.78125 11.96875 L 6.1875 11.96875 z M 11.40625 14.96875 L 18.90625 14.96875 L 15.15625 21.46875 L 11.40625 14.96875 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 5.5 7 L 5.5 10 L 25.625 10 L 25.625 7 L 5.5 7 z M 6.1875 11.96875 L 7.5 14.21875 L 13.84375 25.25 L 15.15625 27.5 L 16.46875 25.25 L 22.8125 14.21875 L 24.125 11.96875 L 21.53125 11.96875 L 8.78125 11.96875 L 6.1875 11.96875 z M 11.40625 14.96875 L 18.90625 14.96875 L 15.15625 21.46875 L 11.40625 14.96875 z "
+ id="path4248" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:3.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000;opacity:1.0000000"
+ d="M 5.5000000,8.5000000 L 25.615943,8.5000000"
+ id="path6426"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:type="star"
+ style="opacity:1.0000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#000000;stroke-width:3.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ id="path4245"
+ sodipodi:sides="3"
+ sodipodi:cx="-12.250504"
+ sodipodi:cy="14.445155"
+ sodipodi:r1="7.3478713"
+ sodipodi:r2="3.6739357"
+ sodipodi:arg1="0.52359878"
+ sodipodi:arg2="1.5707963"
+ inkscape:flatsided="true"
+ inkscape:rounded="0.0000000"
+ inkscape:randomized="0.0000000"
+ d="M -5.8870603,18.119091 L -18.613947,18.119091 L -12.250504,7.0972838 L -5.8870603,18.119091 z "
+ transform="matrix(1.000000,0.000000,0.000000,-1.000000,27.41831,31.59728)" />
+ </g>
+</svg>
diff --git a/client/images/window_background.svg b/client/images/window_background.svg
new file mode 100755
index 0000000..87dcab5
--- /dev/null
+++ b/client/images/window_background.svg
@@ -0,0 +1,1415 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="window_background.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/window_background.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3811"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3809"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3801">
+ <stop
+ id="stop3803"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3805" />
+ <stop
+ id="stop3807"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3797" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3799" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4657"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4655"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4647">
+ <stop
+ id="stop4649"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4651" />
+ <stop
+ id="stop4653"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4641">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4643" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4645" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4637"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4639"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4633"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4635"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4629"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4631"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4625"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4627"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4621"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4623"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient6321"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6319"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6311">
+ <stop
+ id="stop6313"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop6315" />
+ <stop
+ id="stop6317"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6305">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6307" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop6309" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker6301"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path6303"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6297"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6299"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6293"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path6295"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6289"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6291"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6285"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path6287"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient6340"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(33.15942,-13.44928)" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3945"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3943"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3935">
+ <stop
+ id="stop3937"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3939" />
+ <stop
+ id="stop3941"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3929">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3931" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3933" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker3925"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path3927"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3921"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3923"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3917"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path3919"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3913"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3915"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3909"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path3911"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3957"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3959"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3964"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(37.79710,-17.73913)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3967"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,37.32091,-18.21532)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4053"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4051"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4049"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4041">
+ <stop
+ id="stop4043"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4045" />
+ <stop
+ id="stop4047"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4035">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4037" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4039" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4031"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4033"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4027"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4029"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4023"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4025"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4019"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4021"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4015"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4017"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4065"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4067"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4072"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(39.88406,-16.34783)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4075"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,39.40787,-16.82402)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4143"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4141"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4133">
+ <stop
+ id="stop4135"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4137" />
+ <stop
+ id="stop4139"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4127">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4129" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4131" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4123"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4125"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4119"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4121"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4115"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4117"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4111"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4113"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4107"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4109"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4155"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4157"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4162"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(38.00000,-10.55072)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4165"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,37.52381,-11.02691)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4233"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4231"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4223">
+ <stop
+ id="stop4225"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4227" />
+ <stop
+ id="stop4229"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4217">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4219" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4221" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4213"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4215"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4209"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4211"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4205"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4207"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4201"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4203"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4197"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4199"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4247"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4249"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4254"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(46.00000,-17.00000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4257"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,45.52381,-17.47619)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4328"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4326"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4324"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4316">
+ <stop
+ id="stop4318"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4320" />
+ <stop
+ id="stop4322"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4310">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4312" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4314" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4306"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4308"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4302"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4304"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4298"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4300"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4294"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4296"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4290"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4292"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4340"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4342"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4347"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(42.20290,-9.391304)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4350"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,41.72671,-9.867494)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.049398"
+ inkscape:cx="49.444938"
+ inkscape:cy="40.585151"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1016"
+ inkscape:window-height="699"
+ inkscape:window-x="0"
+ inkscape:window-y="36" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;stroke:white;stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 11.53125,5.34375 L 11.53125,11.25 L 4.6875,11.25 L 3.75,11.25 L 3.75,12.21875 L 3.75,26.3125 L 3.75,27.25 L 4.6875,27.25 L 18.78125,27.25 L 19.75,27.25 L 19.75,26.3125 L 19.75,20.8125 L 27,20.8125 L 27,5.34375 L 11.53125,5.34375 z M 5.65625,13.1875 L 11.53125,13.1875 L 17.79212,13.160326 L 17.8125,20.8125 L 17.8125,25.34375 L 5.65625,25.34375 L 5.65625,13.1875 z "
+ id="path4236"
+ sodipodi:nodetypes="cccccccccccccccccccccc" />
+ <path
+ sodipodi:nodetypes="cccccccccccccccccccccc"
+ id="path4234"
+ d="M 11.53125,5.34375 L 11.53125,11.25 L 4.6875,11.25 L 3.75,11.25 L 3.75,12.21875 L 3.75,26.3125 L 3.75,27.25 L 4.6875,27.25 L 18.78125,27.25 L 19.75,27.25 L 19.75,26.3125 L 19.75,20.8125 L 27,20.8125 L 27,5.34375 L 11.53125,5.34375 z M 5.65625,13.1875 L 11.53125,13.1875 L 17.79212,13.160326 L 17.8125,20.8125 L 17.8125,25.34375 L 5.65625,25.34375 L 5.65625,13.1875 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;stroke:white;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;stroke:white;stroke-width:1.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 11.53125,5.34375 L 11.53125,11.25 L 4.6875,11.25 L 3.75,11.25 L 3.75,12.21875 L 3.75,26.3125 L 3.75,27.25 L 4.6875,27.25 L 18.78125,27.25 L 19.75,27.25 L 19.75,26.3125 L 19.75,20.8125 L 27,20.8125 L 27,5.34375 L 11.53125,5.34375 z M 5.65625,13.1875 L 11.53125,13.1875 L 17.79212,13.160326 L 17.8125,20.8125 L 17.8125,25.34375 L 5.65625,25.34375 L 5.65625,13.1875 z "
+ id="path4232"
+ sodipodi:nodetypes="cccccccccccccccccccccc" />
+ <path
+ sodipodi:nodetypes="cccccccccccccccccccccc"
+ id="path4891"
+ d="M 11.53125,5.34375 L 11.53125,11.25 L 4.6875,11.25 L 3.75,11.25 L 3.75,12.21875 L 3.75,26.3125 L 3.75,27.25 L 4.6875,27.25 L 18.78125,27.25 L 19.75,27.25 L 19.75,26.3125 L 19.75,20.8125 L 27,20.8125 L 27,5.34375 L 11.53125,5.34375 z M 5.65625,13.1875 L 11.53125,13.1875 L 17.79212,13.160326 L 17.8125,20.8125 L 17.8125,25.34375 L 5.65625,25.34375 L 5.65625,13.1875 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;stroke:white;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="opacity:1;fill:black;fill-opacity:1;stroke:none;stroke-width:1.91100001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 11.53125,5.34375 L 11.53125,11.25 L 4.6875,11.25 L 3.75,11.25 L 3.75,12.21875 L 3.75,26.3125 L 3.75,27.25 L 4.6875,27.25 L 18.78125,27.25 L 19.75,27.25 L 19.75,26.3125 L 19.75,20.8125 L 27,20.8125 L 27,5.34375 L 11.53125,5.34375 z M 5.65625,13.1875 L 11.53125,13.1875 L 17.79212,13.160326 L 17.8125,20.8125 L 17.8125,25.34375 L 5.65625,25.34375 L 5.65625,13.1875 z "
+ id="rect2084"
+ sodipodi:nodetypes="cccccccccccccccccccccc" />
+ </g>
+</svg>
diff --git a/client/images/window_foreground.svg b/client/images/window_foreground.svg
new file mode 100755
index 0000000..2c60039
--- /dev/null
+++ b/client/images/window_foreground.svg
@@ -0,0 +1,1586 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="/home/diau/Projects/polyester/client/images"
+ sodipodi:docname="window_foreground.svg"
+ inkscape:export-filename="/home/diau/Projects/polyester/client/images/window_foreground.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000">
+ <defs
+ id="defs1308">
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path1051"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7263"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path983"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7269"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(-5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path7257"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient2782">
+ <stop
+ id="stop2784"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2786"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.11538462;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2044">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop2046" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.93010753;"
+ offset="1.0000000"
+ id="stop2048" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient2045"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4962"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient7305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient1359"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1357"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient1350">
+ <stop
+ id="stop1352"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3499" />
+ <stop
+ id="stop1355"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1344">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1346" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop1348" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2173"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2171"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2163">
+ <stop
+ id="stop2165"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2167" />
+ <stop
+ id="stop2169"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2157">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2159" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2161" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient2990"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2988"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop2984" />
+ <stop
+ id="stop2986"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2976" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3811"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3809"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3801">
+ <stop
+ id="stop3803"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3805" />
+ <stop
+ id="stop3807"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3797" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3799" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4657"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4655"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4647">
+ <stop
+ id="stop4649"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4651" />
+ <stop
+ id="stop4653"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4641">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4643" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4645" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4637"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4639"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4633"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4635"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4629"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4631"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4625"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4627"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4621"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4623"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient6321"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6319"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6311">
+ <stop
+ id="stop6313"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop6315" />
+ <stop
+ id="stop6317"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6305">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6307" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop6309" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker6301"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path6303"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6297"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6299"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6293"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path6295"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker6289"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path6291"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker6285"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path6287"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient6340"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(33.15942,-13.44928)" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient3945"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3943"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3935">
+ <stop
+ id="stop3937"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop3939" />
+ <stop
+ id="stop3941"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3929">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3931" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop3933" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker3925"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path3927"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3921"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3923"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3917"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path3919"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker3913"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path3915"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker3909"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path3911"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3957"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3959"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient3964"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(37.79710,-17.73913)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient3967"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,37.32091,-18.21532)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4053"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4051"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4049"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4041">
+ <stop
+ id="stop4043"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4045" />
+ <stop
+ id="stop4047"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4035">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4037" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4039" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4031"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4033"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4027"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4029"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4023"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4025"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4019"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4021"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4015"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4017"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4065"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4067"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4072"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(39.88406,-16.34783)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4075"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,39.40787,-16.82402)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4143"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4141"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4133">
+ <stop
+ id="stop4135"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4137" />
+ <stop
+ id="stop4139"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4127">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4129" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4131" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4123"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4125"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4119"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4121"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4115"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4117"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4111"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4113"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4107"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4109"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4155"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4157"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4162"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(38.00000,-10.55072)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4165"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,37.52381,-11.02691)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4233"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4231"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4223">
+ <stop
+ id="stop4225"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4227" />
+ <stop
+ id="stop4229"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4217">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4219" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4221" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4213"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4215"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4209"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4211"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4205"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4207"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4201"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4203"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4197"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4199"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4247"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4249"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4254"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(46.00000,-17.00000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4257"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,45.52381,-17.47619)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4328"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4326"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4324"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4316">
+ <stop
+ id="stop4318"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4320" />
+ <stop
+ id="stop4322"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4310">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4312" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4314" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4306"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4308"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4302"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4304"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4298"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4300"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4294"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4296"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4290"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4292"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4340"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4342"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4347"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(42.20290,-9.391304)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4350"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,41.72671,-9.867494)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(0.944445,0.000000,0.000000,0.944445,0.666667,0.666667)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4452"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="20.729988"
+ x2="14.536938"
+ y1="3.0000000"
+ x1="14.619035"
+ id="linearGradient4450"
+ xlink:href="#linearGradient2782"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.127577"
+ x2="14.907752"
+ y1="2.0000000"
+ x1="14.948970"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4448"
+ xlink:href="#linearGradient2044"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4440">
+ <stop
+ id="stop4442"
+ offset="0.0000000"
+ style="stop-color:#393939;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1.0000000;"
+ offset="0.74074072"
+ id="stop4444" />
+ <stop
+ id="stop4446"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4434">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4436" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11538462;"
+ offset="1.0000000"
+ id="stop4438" />
+ </linearGradient>
+ <marker
+ style="overflow:visible"
+ id="marker4430"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mstart">
+ <path
+ transform="scale(0.6) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ id="path4432"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4426"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend">
+ <path
+ transform="scale(1.1) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4428"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4422"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Sstart">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path4424"
+ sodipodi:nodetypes="ccccc" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="marker4418"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="scale(0.3) rotate(180) translate(-5,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path4420"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker4414"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ id="path4416"
+ sodipodi:nodetypes="cccc" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4465"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,-0.476190,-0.476190)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4467"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2782"
+ id="linearGradient4472"
+ gradientUnits="userSpaceOnUse"
+ x1="14.619035"
+ y1="3.0000000"
+ x2="14.536938"
+ y2="20.729988"
+ gradientTransform="translate(46.95652,-4.405797)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2044"
+ id="linearGradient4475"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015874,0.000000,0.000000,1.015874,46.48033,-4.881987)"
+ x1="14.948970"
+ y1="2.0000000"
+ x2="14.907752"
+ y2="29.127577" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.3125"
+ inkscape:cx="26.536545"
+ inkscape:cy="5.3200151"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1016"
+ inkscape:window-height="699"
+ inkscape:window-x="0"
+ inkscape:window-y="36" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 11.5625 5.4375 L 11.5625 11.03125 L 4.46875 11.03125 L 3.46875 11.03125 L 3.46875 12.03125 L 3.46875 26.53125 L 3.46875 27.53125 L 4.46875 27.53125 L 18.96875 27.53125 L 19.96875 27.53125 L 19.96875 26.53125 L 19.96875 20.875 L 27 20.875 L 27 5.4375 L 11.5625 5.4375 z M 5.46875 13.03125 L 11.5625 13.03125 L 11.5625 20.875 L 17.96875 20.875 L 17.96875 25.53125 L 5.46875 25.53125 L 5.46875 13.03125 z "
+ id="path4228" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 11.5625 5.4375 L 11.5625 11.03125 L 4.46875 11.03125 L 3.46875 11.03125 L 3.46875 12.03125 L 3.46875 26.53125 L 3.46875 27.53125 L 4.46875 27.53125 L 18.96875 27.53125 L 19.96875 27.53125 L 19.96875 26.53125 L 19.96875 20.875 L 27 20.875 L 27 5.4375 L 11.5625 5.4375 z M 5.46875 13.03125 L 11.5625 13.03125 L 11.5625 20.875 L 17.96875 20.875 L 17.96875 25.53125 L 5.46875 25.53125 L 5.46875 13.03125 z "
+ id="path4226" />
+ <path
+ id="path4224"
+ d="M 11.5625 5.4375 L 11.5625 11.03125 L 4.46875 11.03125 L 3.46875 11.03125 L 3.46875 12.03125 L 3.46875 26.53125 L 3.46875 27.53125 L 4.46875 27.53125 L 18.96875 27.53125 L 19.96875 27.53125 L 19.96875 26.53125 L 19.96875 20.875 L 27 20.875 L 27 5.4375 L 11.5625 5.4375 z M 5.46875 13.03125 L 11.5625 13.03125 L 11.5625 20.875 L 17.96875 20.875 L 17.96875 25.53125 L 5.46875 25.53125 L 5.46875 13.03125 z "
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="opacity:0.5;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:0.8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 11.5625 5.4375 L 11.5625 11.03125 L 4.46875 11.03125 L 3.46875 11.03125 L 3.46875 12.03125 L 3.46875 26.53125 L 3.46875 27.53125 L 4.46875 27.53125 L 18.96875 27.53125 L 19.96875 27.53125 L 19.96875 26.53125 L 19.96875 20.875 L 27 20.875 L 27 5.4375 L 11.5625 5.4375 z M 5.46875 13.03125 L 11.5625 13.03125 L 11.5625 20.875 L 17.96875 20.875 L 17.96875 25.53125 L 5.46875 25.53125 L 5.46875 13.03125 z "
+ id="rect4215" />
+ <rect
+ ry="0"
+ y="12.029597"
+ x="4.463768"
+ height="14.507048"
+ width="14.519961"
+ id="rect2108"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stroke:black" />
+ <rect
+ style="opacity:1;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect2873"
+ width="15.447497"
+ height="15.433759"
+ x="11.552502"
+ y="5.4482131"
+ ry="0" />
+ </g>
+</svg>
diff --git a/client/polyester.cc b/client/polyester.cc
new file mode 100755
index 0000000..62866fa
--- /dev/null
+++ b/client/polyester.cc
@@ -0,0 +1,1858 @@
+//////////////////////////////////////////////////////////////////////////////
+// polyester.cc
+// -------------------
+// Polyester window decoration for KDE
+// Copyright (c) 2006 Marco Martin
+// -------------------
+// derived from Smooth Blend
+// Copyright (c) 2005 Ryan Nickell
+// -------------------
+// Shadow engine from Plastik decoration
+// Copyright (C) 2003 Sandro Giessl <[email protected]>
+// -------------------
+// Please see the header file for copyright and license information.
+//////////////////////////////////////////////////////////////////////////////
+
+
+#include <kconfig.h>
+#include <kdeversion.h>
+#include <kglobal.h>
+#include <kglobalsettings.h>
+#include <klocale.h>
+#include <kpixmap.h>
+#include <kimageeffect.h>
+#include <kpixmapeffect.h>
+#include <kpixmap.h>
+
+#include <qbitmap.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qpainter.h>
+#include <qtooltip.h>
+#include <qtimer.h>
+#include <qapplication.h>
+#include <qsettings.h>
+#include <math.h>
+#include <stdlib.h>
+
+#include "polyester.h"
+#include "buttons.h"
+#include "shadow.h"
+#include "../style/misc.h"
+
+using namespace polyester;
+
+//////////////////////////////////////////////////////////////////////////////
+// polyesterFactory Class
+//////////////////////////////////////////////////////////////////////////////
+polyesterFactory* factory=NULL;
+
+bool polyesterFactory::initialized_ = false;
+Qt::AlignmentFlags polyesterFactory::titlealign_ = Qt::AlignHCenter;
+int polyesterFactory::contrast_ = 6;
+bool polyesterFactory::cornerflags_ = true;
+int polyesterFactory::titlesize_ = 22;
+int polyesterFactory::buttonsize_ = 18;
+bool polyesterFactory::squareButton_ = false;
+int polyesterFactory::framesize_ = 2;
+int polyesterFactory::roundsize_ = 50;
+int polyesterFactory::titleBarStyle_ = 0;
+int polyesterFactory::buttonStyle_ = 1;
+bool polyesterFactory::titleshadow_ = true;
+bool polyesterFactory::nomodalbuttons = false;
+bool polyesterFactory::lightBorder_ = true;
+bool polyesterFactory::animatebuttons = true;
+int polyesterFactory::btnComboBox = 0;
+bool polyesterFactory::menuClose = false;
+
+// global constants
+static const int TOPMARGIN = 4; // do not change
+static const int DECOHEIGHT = 4; // do not change
+static const int SIDETITLEMARGIN = 2;
+// Default button layout
+const char default_left[] = "M";
+const char default_right[] = "HIAX";
+
+static const uint TIMERINTERVAL = 25; // msec
+static const uint ANIMATIONSTEPS = 20;
+
+extern "C" KDecorationFactory* create_factory() {
+ return new polyester::polyesterFactory();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// polyesterFactory()
+// ----------------
+// Constructor
+
+polyesterFactory::polyesterFactory() {
+ readConfig();
+ initialized_ = true;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// ~polyesterFactory()
+// -----------------
+// Destructor
+
+polyesterFactory::~polyesterFactory() {
+ initialized_ = false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// createDecoration()
+// -----------------
+// Create the decoration
+
+KDecoration* polyesterFactory::createDecoration(KDecorationBridge* b) {
+ return new polyesterClient(b, this);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// reset()
+// -------
+// Reset the handler. Returns true if decorations need to be remade, false if
+// only a repaint is necessary
+
+bool polyesterFactory::reset(unsigned long changed) {
+ // read in the configuration
+ initialized_ = false;
+ bool confchange = readConfig();
+ initialized_ = true;
+
+ if (confchange ||
+ (changed & (SettingDecoration | SettingButtons | SettingBorder))) {
+ return true;
+ } else {
+ resetDecorations(changed);
+ return false;
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// readConfig()
+// ------------
+// Read in the configuration file
+
+bool polyesterFactory::readConfig() {
+ // create a config object
+ KConfig config("kwinpolyesterrc");
+ config.setGroup("General");
+
+ // grab settings
+ QString value = config.readEntry("TitleAlignment", "AlignHCenter");
+ if (value == "AlignLeft")
+ titlealign_ = Qt::AlignLeft;
+ else if (value == "AlignHCenter")
+ titlealign_ = Qt::AlignHCenter;
+ else if (value == "AlignRight")
+ titlealign_ = Qt::AlignRight;
+
+ QSettings globalSettings;
+ contrast_ = globalSettings.readNumEntry("/Qt/KDE/contrast", 6);
+ cornerflags_ = config.readBoolEntry("RoundCorners", true);
+ titlesize_ = config.readNumEntry("TitleSize",20);
+ titleBarStyle_ = config.readNumEntry("TitleBarStyle", 0);
+ buttonStyle_ = config.readNumEntry("ButtonStyle", 1);
+
+ buttonsize_ = config.readNumEntry("ButtonSize",18);
+ squareButton_ = config.readBoolEntry("SquareButton", false);
+ framesize_ = config.readNumEntry("FrameSize",2);
+ roundsize_ = config.readNumEntry("RoundPercent",50);
+
+
+ titleshadow_ = config.readBoolEntry("TitleShadow", true);
+ lightBorder_ = config.readBoolEntry("LightBorder", true);
+ animatebuttons = config.readBoolEntry("AnimateButtons", true);
+ nomodalbuttons = config.readBoolEntry("NoModalButtons", false);
+ btnComboBox = config.readNumEntry("ButtonComboBox", 0);
+ menuClose = config.readBoolEntry("CloseOnMenuDoubleClick");
+
+ if(buttonsize_ > titlesize_ - framesize_)
+ {
+ buttonsize_ = titlesize_-framesize_;
+ }
+
+ return true;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// polyesterButton Class
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// polyesterButton()
+// ---------------
+// Constructor
+polyesterButton::polyesterButton(polyesterClient *parent, const char *name, const QString& tip, ButtonType type, int button_size, bool squareButton, bool toggle): QButton(parent->widget(), name),
+ client_(parent),
+ type_(type),
+ size_(button_size),
+ deco_(0),
+ lastmouse_(NoButton),
+ buttonImgActive_created(false),
+ buttonImgInactive_created(false),
+ hover_(false)
+{
+ setBackgroundMode(NoBackground);
+
+ int buttonWidth = button_size;
+ if( squareButton )
+ buttonProportions_ = 1;
+ else
+ {
+ buttonProportions_ = sqrt(2);
+ buttonWidth = (int)round(button_size*buttonProportions_);
+ //makes always centered icons
+ if( buttonWidth % 2 != 0 )
+ buttonWidth++;
+ }
+
+ setFixedSize( buttonWidth, button_size);
+ setCursor(arrowCursor);
+ QToolTip::add(this, tip);
+ setToggleButton(toggle);
+ //button animation setup
+ animTmr = new QTimer(this);
+ connect(animTmr, SIGNAL(timeout() ), this, SLOT(animate() ) );
+ connect(this, SIGNAL(pressed() ), this, SLOT(buttonClicked() ) );
+ connect(this, SIGNAL(released() ), this, SLOT(buttonReleased() ) );
+ animProgress = 0;
+ m_clicked=false;
+}
+
+polyesterButton::~polyesterButton() {
+ if ( deco_ )
+ delete deco_;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// sizeHint()
+// ----------
+// Return size hint
+
+QSize polyesterButton::sizeHint() const {
+ return QSize(size_, size_);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// buttonClicked()
+// ----------
+// Button animation progress reset so we don't get any leave event animation
+// when the mouse is still pressed
+void polyesterButton::buttonClicked() {
+ m_clicked=true;
+ animProgress=0;
+}
+void polyesterButton::buttonReleased() {
+ //This doesn't work b/c a released() signal is thrown when a leaveEvent occurs
+ //m_clicked=false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// animate()
+// ----------
+// Button animation timing
+void polyesterButton::animate() {
+ animTmr->stop();
+ if (!::factory->animateButtons() )
+ return;
+
+ if(hover_) {
+ if(animProgress < ANIMATIONSTEPS) {
+ animProgress++;
+ animTmr->start(TIMERINTERVAL, true); // single-shot
+ }
+ } else {
+ if(animProgress > 0) {
+ animProgress--;
+ animTmr->start(TIMERINTERVAL, true); // single-shot
+ }
+ }
+ repaint(false);
+}
+//////////////////////////////////////////////////////////////////////////////
+// enterEvent()
+// ------------
+// Mouse has entered the button
+
+void polyesterButton::enterEvent(QEvent *e) {
+ // we wanted to pass on the event
+ QButton::enterEvent(e);
+ // we want to do mouseovers, so keep track of it here
+ hover_=true;
+ if(!m_clicked)
+ {
+ animate();
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// leaveEvent()
+// ------------
+// Mouse has left the button
+
+void polyesterButton::leaveEvent(QEvent *e) {
+ // we wanted to pass on the event
+ QButton::leaveEvent(e);
+ // we want to do mouseovers, so keep track of it here
+ hover_=false;
+ if(!m_clicked)
+ {
+ animate();
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// mousePressEvent()
+// -----------------
+// Button has been pressed
+
+void polyesterButton::mousePressEvent(QMouseEvent* e) {
+ lastmouse_ = e->button();
+
+ // translate and pass on mouse event
+ int button = LeftButton;
+ if ((type_ != ButtonMax) && (e->button() != LeftButton)) {
+ button = NoButton; // middle & right buttons inappropriate
+ }
+ QMouseEvent me(e->type(), e->pos(), e->globalPos(),
+ button, e->state());
+ QButton::mousePressEvent(&me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// mouseReleaseEvent()
+// -----------------
+// Button has been released
+
+void polyesterButton::mouseReleaseEvent(QMouseEvent* e) {
+ lastmouse_ = e->button();
+
+ // translate and pass on mouse event
+ int button = LeftButton;
+ if ((type_ != ButtonMax) && (e->button() != LeftButton)) {
+ button = NoButton; // middle & right buttons inappropriate
+ }
+ QMouseEvent me(e->type(), e->pos(), e->globalPos(), button, e->state());
+ QButton::mouseReleaseEvent(&me);
+ if(m_clicked)
+ {
+ m_clicked=false;
+ }
+}
+
+void polyesterButton::setOn(bool on)
+{
+ QButton::setOn(on);
+}
+
+void polyesterButton::setDown(bool on)
+{
+ QButton::setDown(on);
+}
+
+//////////////////////////////////////////////////////////
+// getButtonImage()
+// ----------------
+// get the button QImage based on type and window mode
+QImage polyesterButton::getButtonImage(ButtonType type)
+{
+ QImage finalImage;
+ switch(type) {
+ case ButtonClose:
+ finalImage = uic_findImage( "close.png" );
+ break;
+ case ButtonHelp:
+ finalImage = uic_findImage( "help.png" );
+ break;
+ case ButtonMin:
+ finalImage = uic_findImage( "minimize.png" );
+ break;
+ case ButtonMax:
+ if(client_->maximizeMode() == KDecorationDefines::MaximizeFull)
+ {
+ finalImage = uic_findImage( "restore.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "maximize.png" );
+ }
+ break;
+ case ButtonSticky:
+ if(client_->isOnAllDesktops())
+ {
+ finalImage = uic_findImage( "circle2.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "circle.png" );
+ }
+ break;
+ case ButtonShade:
+ if(client_->isShade())
+ {
+ finalImage = uic_findImage( "unsplat.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "splat.png" );
+ }
+ break;
+ case ButtonAbove:
+ if(client_->keepAbove())
+ {
+ finalImage = uic_findImage( "keep_above_lit.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "keep_above.png" );
+ }
+ break;
+ case ButtonBelow:
+ if(client_->keepBelow())
+ {
+ finalImage = uic_findImage( "keep_below_lit.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "keep_below.png" );
+ }
+ break;
+ default:
+ finalImage = uic_findImage( "splat.png" );
+ break;
+ }
+ if(qGray(KDecoration::options()->color(KDecoration::ColorButtonBg, client_->isActive()).rgb()) < 150)
+ finalImage.invertPixels();
+
+ return finalImage;
+}
+
+//////////////////////////////////////////////////////////
+// drawButton()
+// -------------------------
+// draw the pixmap button
+
+void polyesterButton::drawButton( QPainter *painter ) {
+ if ( !polyesterFactory::initialized() )
+ return ;
+
+ int newWidth = width() - 2;
+ int newHeight = height() - 2;
+ int dx = (width() - newWidth) / 2;
+ int dy = (height() - newHeight) / 2;
+ QImage tmpResult;
+ QColorGroup group;
+ QColor redColor(red);
+ bool active = client_->isActive();
+
+ genButtonPix(active);
+
+ QPixmap backgroundTile = client_->getTitleBarTile(active);
+ group = KDecoration::options()->colorGroup(KDecoration::ColorButtonBg, active);
+
+ //draw the titlebar behind the buttons and app icons
+ if ((client_->maximizeMode()==client_->MaximizeFull) && !KDecoration::options()->moveResizeMaximizedWindows())
+ {
+ painter->drawTiledPixmap(0, 0, width(), height(), backgroundTile, 0, 1);
+ }
+ else
+ {
+ painter->drawTiledPixmap(0, 0, width(), height(), backgroundTile,
+ 0, y()-::factory->frameSize());
+ }
+
+ //the menu button doesn't have a button appearance
+ if (type_ == ButtonMenu)
+ {
+ //slight movement to show the menu button is depressed
+ if (isDown()) {
+ dx++;
+ dy++;
+ }
+ QPixmap menuButtonPixmap(client_->icon().pixmap(QIconSet::Small, QIconSet::Normal));
+ QImage menuButtonImage(menuButtonPixmap.convertToImage());
+ //draw the menu button the same size as the other buttons
+ //using QIconSet::Large gives us a 32x32 icon to resize, resizing larger than
+ //that may produce pixilation of the image
+ //painter->setPen(group.background());
+
+ painter->drawImage( dx+(int)round(abs(width()-size_)/2), dy, menuButtonImage.smoothScale(size_-2, newHeight) );
+ return;
+ }
+
+ //build the button image with the icon superimposed to the button
+ QImage buttonImage = (active?(buttonImgActive):(buttonImgInactive))->copy();
+ KImageEffect::blendOnLower( (int)round(abs(width()-size_)/2), 0,
+ getButtonImage(type_).smoothScale( size_,size_),
+ buttonImage );
+
+ //highlight on a mouse over repaint
+ double factor = animProgress * 0.05;//0.13;
+
+ //do the animation thing
+ if( !isDown() && factor != 0.0 )
+ {
+ tmpResult = buttonImage.copy();
+ //always colorize with a threatening red color the close button
+ if( type_ == ButtonClose)
+ {
+ //tmpResult = KImageEffect::blend( QColor(180, 50, 50), buttonImage, factor );
+ KImageEffect::desaturate( tmpResult, factor );
+ KImageEffect::channelIntensity( tmpResult, factor/3, KImageEffect::Red );
+ KImageEffect::channelIntensity( tmpResult, -factor/2, KImageEffect::Green );
+ KImageEffect::channelIntensity( tmpResult, -factor/2, KImageEffect::Blue );
+ }
+ else
+ switch(::factory->getBtnComboBox())
+ {
+ //colorize
+ case 0:
+ if( type_ == ButtonMax)
+ {
+ KImageEffect::desaturate( tmpResult, factor );
+ KImageEffect::channelIntensity( tmpResult, -factor/3, KImageEffect::Red );
+ KImageEffect::channelIntensity( tmpResult, factor/2, KImageEffect::Green );
+ KImageEffect::channelIntensity( tmpResult, -factor/3, KImageEffect::Blue );
+ }
+ else if( type_ == ButtonMin)
+ {
+ KImageEffect::desaturate( tmpResult, factor );
+ KImageEffect::channelIntensity( tmpResult, factor/4, KImageEffect::Red );
+ KImageEffect::channelIntensity( tmpResult, factor/4, KImageEffect::Green );
+ KImageEffect::channelIntensity( tmpResult, -factor/2, KImageEffect::Blue );
+ }
+ else if( type_ == ButtonSticky)
+ {
+ KImageEffect::desaturate( tmpResult, factor );
+ KImageEffect::channelIntensity( tmpResult, -factor/3, KImageEffect::Red );
+ KImageEffect::channelIntensity( tmpResult, -factor/3, KImageEffect::Green );
+ KImageEffect::channelIntensity( tmpResult, factor/2, KImageEffect::Blue );
+ }
+ else
+ {
+ KImageEffect::desaturate( tmpResult, factor );
+ KImageEffect::channelIntensity( tmpResult, -factor/2, KImageEffect::Red );
+ KImageEffect::channelIntensity( tmpResult, factor/3, KImageEffect::Green );
+ KImageEffect::channelIntensity( tmpResult, factor/3, KImageEffect::Blue );
+ }
+ break;
+ //intensify
+ case 1:
+ KImageEffect::intensity( tmpResult, factor);
+ break;
+ //fade
+ case 2:
+ KImageEffect::intensity( tmpResult, -factor/2);
+
+ break;
+ }
+ }
+
+ KImageEffect::blendOnLower(tmpResult, QPoint(1,1), buttonImage, QRect(1,1,width()-2, height()-2) );
+
+ QPixmap finalButton = QPixmap(buttonImage);
+
+ painter->drawPixmap( 0, 0, finalButton );
+}
+
+void polyesterButton::genButtonPix( bool active )
+{
+ if(active && buttonImgActive_created) return;
+ else if(!active && buttonImgInactive_created) return;
+
+ KPixmap tempPixmap;
+ QPixmap *tempButton = new QPixmap(width(), height());
+ QPainter painter(tempButton);
+
+ QColorGroup group;
+ group = KDecoration::options()->colorGroup(KDecoration::ColorButtonBg, client_->isActive());
+
+ if( ::factory->buttonStyle() == BUTTON_GLASS )
+ tempPixmap.resize(width()-2, (height()/2)-1);
+ else
+ tempPixmap.resize(width()-2, height()-2);
+
+ /*
+ if( ::factory->buttonStyle() != BUTTON_FLAT )
+ {
+ tempPixmap = KPixmapEffect::gradient(tempPixmap,
+ group.background().light(100+(::factory->buttonStyle()!=BUTTON_REVGRADIENT?60:-20)),
+ group.background().light(100+(::factory->buttonStyle()!=BUTTON_GLASS?
+ (::factory->buttonStyle()==BUTTON_REVGRADIENT?
+ 60:-20)
+ :0)),
+ KPixmapEffect::VerticalGradient
+ );
+ }
+ else
+ {
+ tempPixmap = KPixmapEffect::gradient(tempPixmap,
+ group.background(),
+ group.background(),
+ KPixmapEffect::VerticalGradient
+ );
+ }
+*/
+
+ int contrast = ::factory->contrast();
+
+ switch( ::factory->buttonStyle() )
+ {
+ case BUTTON_GRADIENT:
+ tempPixmap = KPixmapEffect::gradient(tempPixmap,
+ group.background().light(105+contrast*8),
+ group.background().dark(100+contrast*2),
+ KPixmapEffect::VerticalGradient
+ );
+ break;
+ case BUTTON_GLASS:
+ tempPixmap = KPixmapEffect::gradient(tempPixmap,
+ group.background().light(105+contrast*8),
+ group.background(),
+ KPixmapEffect::VerticalGradient
+ );
+ break;
+ case BUTTON_REVGRADIENT:
+ tempPixmap = KPixmapEffect::gradient(tempPixmap,
+ group.background().dark(100+contrast*2),
+ group.background().light(105+contrast*8),
+ KPixmapEffect::VerticalGradient
+ );
+ break;
+
+ //case BUTTON_FLAT:
+ default:
+ tempPixmap = KPixmapEffect::gradient(tempPixmap,
+ group.background(),
+ group.background(),
+ KPixmapEffect::VerticalGradient
+ );
+ break;
+ }
+
+ //draw the main area of the buttons
+ //painter.begin(tempButton);
+ painter.drawPixmap(1, 1, tempPixmap);
+
+ //if the button is glass create the second gradient
+ if( ::factory->buttonStyle() == BUTTON_GLASS )
+ {
+ tempPixmap = KPixmapEffect::gradient(tempPixmap,
+ group.background().dark(105+contrast),
+ group.background(),
+ KPixmapEffect::VerticalGradient
+ );
+
+ painter.drawPixmap(1, (height()/2), tempPixmap);
+ }
+
+ //border
+ QColor borderColor = group.background().dark(160);
+ painter.setPen( borderColor );
+ painter.drawLine(0, 2, 0, height()-3);
+ painter.drawLine(width()-1, 2, width()-1, height()-3);
+ painter.drawLine(2, 0, width()-3, 0);
+ painter.drawLine(2, height()-1, width()-3, height()-1);
+ painter.drawPoint(1, 1);
+ painter.drawPoint(width()-2, 1);
+ painter.drawPoint(1, height()-2);
+ painter.drawPoint(width()-2, height()-2);
+
+ //little 3d effect
+ painter.setPen( group.background().light(140) );
+ painter.drawLine(1, 2, 1, height()-3);
+ painter.drawLine(2, 1, width()-3, 1);
+ if(!::factory->lightBorder())
+ painter.setPen( group.background().dark(110) );
+ painter.drawLine(width()-2, 2, width()-2, height()-3);
+ painter.drawLine(2, height()-2, width()-3, height()-2);
+ painter.end();
+
+ //border antialiasing
+ QImage *tempAlphaImg = new QImage( tempButton->convertToImage() );
+ //tempAlphaImg = tempPixmap.convertToImage();
+ tempAlphaImg->setAlphaBuffer(true);
+ int borderRed = borderColor.red();
+ int borderGreen = borderColor.green();
+ int borderBlue = borderColor.blue();
+
+ tempAlphaImg->setPixel(0,0, qRgba(borderRed, borderGreen , borderBlue, 40));
+ tempAlphaImg->setPixel(width()-1, 0, qRgba(borderRed, borderGreen , borderBlue, 40));
+ tempAlphaImg->setPixel(0,height()-1, qRgba(borderRed, borderGreen , borderBlue, 40));
+ tempAlphaImg->setPixel(width()-1,height()-1, qRgba(borderRed, borderGreen , borderBlue, 40));
+
+ tempAlphaImg->setPixel(0,1, qRgba(borderRed, borderGreen , borderBlue, 127));
+ tempAlphaImg->setPixel(1,0, qRgba(borderRed, borderGreen , borderBlue, 127));
+
+ tempAlphaImg->setPixel(width()-2,0, qRgba(borderRed, borderGreen , borderBlue, 127));
+ tempAlphaImg->setPixel(width()-1,1, qRgba(borderRed, borderGreen , borderBlue, 127));
+
+ tempAlphaImg->setPixel(0,height()-2, qRgba(borderRed, borderGreen , borderBlue, 127));
+ tempAlphaImg->setPixel(1,height()-1, qRgba(borderRed, borderGreen , borderBlue, 127));
+
+ tempAlphaImg->setPixel(width()-1,height()-2, qRgba(borderRed, borderGreen , borderBlue, 127));
+ tempAlphaImg->setPixel(width()-2,height()-1, qRgba(borderRed, borderGreen , borderBlue, 127));
+
+
+ if( client_->isActive() )
+ {
+ buttonImgActive = tempAlphaImg;
+ buttonImgActive_created = true;
+ }
+ else
+ {
+ buttonImgInactive = tempAlphaImg;
+ buttonImgInactive_created = true;
+ }
+
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// polyesterClient Class
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// polyesterClient()
+// ---------------
+// Constructor
+
+polyesterClient::polyesterClient(KDecorationBridge *b, KDecorationFactory *f)
+ : KDecoration(b, f),
+ mainLayout_(0),
+ titleLayout_(0),
+ topSpacer_(0),
+ titleSpacer_(0),
+ leftTitleSpacer_(0), rightTitleSpacer_(0),
+ decoSpacer_(0),
+ leftSpacer_(0), rightSpacer_(0),
+ bottomSpacer_(0), windowSpacer_(0),
+ aCaptionBuffer(0), iCaptionBuffer(0),
+ aTitleBarTile(0), iTitleBarTile(0), aTitleBarTopTile(0), iTitleBarTopTile(0),
+ pixmaps_created(false),
+ //captionBufferDirty(true),
+ closing(false),
+ s_titleHeight(0),
+ s_titleFont(QFont()),
+ maskDirty(true),
+ aDoubleBufferDirty(true),
+ iDoubleBufferDirty(true)
+ {
+ aCaptionBuffer = new QPixmap();
+ iCaptionBuffer = new QPixmap();
+
+ //copying the most used configuration options
+ frameSize = ::factory->frameSize();
+
+ NET::WindowType type = windowType(NET::NormalMask | NET::DesktopMask |
+ NET::DockMask | NET::ToolbarMask |
+ NET::MenuMask | NET::DialogMask|
+ NET::OverrideMask | NET::TopMenuMask |
+ NET::UtilityMask | NET::SplashMask);
+ if( type == NET::Utility || type == NET::Menu || type == NET::Toolbar )
+ {
+ titleSize = (int)((double)::factory->titleSize()/1.2);
+ buttonSize = titleSize - 2;
+ roundedCorners = false;
+ }
+ else
+ {
+ titleSize = ::factory->titleSize();
+ //don't allow buttonSize > titleSize
+ buttonSize = titleSize - 2 < ::factory->buttonSize()?
+ titleSize - 2 :
+ ::factory->buttonSize();
+ roundedCorners = ::factory->roundedCorners();
+ }
+
+ //s_titleFont = isTool()?polyesterFactory::titleFontTool():polyesterFactory::titleFont();
+ s_titleFont = options()->font();
+ s_titleHeight = titleSize;
+ }
+
+//////////////////////////////////////////////////////////////////////////////////
+// ~polyesterClient()
+// --------------------
+// Destructor
+polyesterClient::~polyesterClient() {
+ delete aCaptionBuffer;
+ delete iCaptionBuffer;
+}
+
+void polyesterClient::create_pixmaps() {
+ if(pixmaps_created)
+ return;
+ KPixmap tempPixmap;
+ QPainter painter;
+
+
+ // active top title bar tile
+ tempPixmap.resize(1, s_titleHeight+frameSize);
+ tempPixmap = KPixmapEffect::gradient(tempPixmap,
+ KDecoration::options()->color(ColorTitleBar, true).light(160),
+ KDecoration::options()->color(ColorTitleBlend, true).light(104),
+ KPixmapEffect::VerticalGradient
+ );
+ // tempPixmap.fill(KDecoration::options()->color(ColorTitleBar, true).light(150));
+ aTitleBarTopTile = new QPixmap(1, s_titleHeight+frameSize);
+ painter.begin(aTitleBarTopTile);
+ painter.drawPixmap(0, 0, tempPixmap);
+ painter.end();
+
+ // inactive top title bar tile
+ tempPixmap = KPixmapEffect::gradient(tempPixmap,
+ KDecoration::options()->color(ColorTitleBar, false).light(160),
+ KDecoration::options()->color(ColorTitleBlend, false),
+ KPixmapEffect::VerticalGradient
+ );
+ iTitleBarTopTile = new QPixmap(1, s_titleHeight+frameSize);
+ painter.begin(iTitleBarTopTile);
+ painter.drawPixmap(0, 0, tempPixmap);
+ painter.end();
+
+ // active title bar tile
+ if( ::factory->titleBarStyle() == TITLEBAR_GLASS)
+ tempPixmap.resize(1, ((s_titleHeight+frameSize)/2) - 1 );
+ else
+ tempPixmap.resize(1, s_titleHeight+frameSize);
+
+ QColor color1;
+ QColor color2;
+ QColor glassColor;
+ if( ::factory->titleBarStyle() == TITLEBAR_GLASS )
+ {
+ glassColor = alphaBlendColors( KDecoration::options()->color(ColorTitleBar, true),
+ KDecoration::options()->color(ColorTitleBlend, true),
+ 127 );
+ color1 = glassColor.light(105+::factory->contrast()*4);
+ color2 = glassColor;
+ }
+ else
+ {
+ color1 = KDecoration::options()->color(ColorTitleBar, true);
+ color2 = KDecoration::options()->color(ColorTitleBlend, true);
+ }
+
+ tempPixmap = KPixmapEffect::gradient(tempPixmap,
+ color1,
+ color2,
+ KPixmapEffect::VerticalGradient
+ );
+
+ aTitleBarTile = new QPixmap(1, s_titleHeight+frameSize);
+ painter.begin(aTitleBarTile);
+ painter.drawPixmap(0, 0, tempPixmap);
+
+ if( ::factory->titleBarStyle() == TITLEBAR_GLASS )
+ {
+ int y = tempPixmap.height();
+ tempPixmap.resize(1, (s_titleHeight+frameSize)-y );
+ tempPixmap = KPixmapEffect::gradient(tempPixmap,
+ glassColor.dark(105+::factory->contrast()),
+ glassColor,
+ KPixmapEffect::VerticalGradient
+ );
+ painter.drawPixmap(0, y, tempPixmap);
+ }
+ // painter.drawPixmap(0, 0, *aTitleBarTopTile);
+ painter.end();
+
+ // inactive title bar tile
+ //de-glassify inactive titlebar
+ if( ::factory->titleBarStyle() == TITLEBAR_GLASS )
+ tempPixmap.resize(1, s_titleHeight+frameSize);
+ tempPixmap = KPixmapEffect::gradient(tempPixmap,
+ KDecoration::options()->color(ColorTitleBar, false),
+ KDecoration::options()->color(ColorTitleBlend, false),
+ KPixmapEffect::VerticalGradient
+ );
+ iTitleBarTile = new QPixmap(1, s_titleHeight+frameSize);
+ painter.begin(iTitleBarTile);
+ painter.drawPixmap(0, 0, tempPixmap);
+ painter.end();
+
+
+ pixmaps_created = true;
+}
+
+void polyesterClient::delete_pixmaps() {
+ delete aTitleBarTopTile;
+ aTitleBarTopTile = 0;
+
+ delete iTitleBarTopTile;
+ iTitleBarTopTile = 0;
+
+ delete aTitleBarTile;
+ aTitleBarTile = 0;
+
+ delete iTitleBarTile;
+ iTitleBarTile = 0;
+
+ pixmaps_created = false;
+}
+//////////////////////////////////////////////////////////////////////////////
+// init()
+// ------
+// Actual initializer for class
+
+void polyesterClient::init() {
+ createMainWidget( WResizeNoErase | WRepaintNoErase);
+ widget()->installEventFilter(this);
+ handlebar = frameSize < 4 ? 4 - frameSize : 0;
+
+ // for flicker-free redraws
+ widget()->setBackgroundMode(NoBackground);
+
+ create_pixmaps();
+ _resetLayout();
+
+}
+void polyesterClient::_resetLayout()
+{
+ // basic layout:
+ // _______________________________________________________________
+ // | topSpacer |
+ // |_______________________________________________________________|
+ // | leftTitleSpacer | btns | titlebar | bts | rightTitleSpacer |
+ // |_________________|______|_____________|_____|__________________|
+ // | decoSpacer |
+ // |_______________________________________________________________|
+ // | | | |
+ // | | windowWrapper | |
+ // | | | |
+ // |leftSpacer rightSpacer|
+ // |_|___________________________________________________________|_|
+ // | bottomSpacer |
+ // |_______________________________________________________________|
+ //
+ if (!::factory->initialized()) return;
+
+ delete mainLayout_;
+ delete titleLayout_;
+ delete topSpacer_;
+ delete titleSpacer_;
+ delete leftTitleSpacer_;
+ delete rightTitleSpacer_;
+ delete decoSpacer_;
+ delete leftSpacer_;
+ delete rightSpacer_;
+ delete bottomSpacer_;
+ delete windowSpacer_;
+
+ mainLayout_ = new QVBoxLayout(widget());
+ // title
+ titleLayout_ = new QHBoxLayout();
+ QHBoxLayout *windowLayout_ = new QHBoxLayout();
+
+
+ topSpacer_ = new QSpacerItem(1, frameSize, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ titlebar_ = new QSpacerItem(1, s_titleHeight,
+ QSizePolicy::Expanding, QSizePolicy::Fixed);
+ leftTitleSpacer_ = new QSpacerItem(frameSize, s_titleHeight,
+ QSizePolicy::Fixed, QSizePolicy::Fixed);
+ rightTitleSpacer_ = new QSpacerItem(frameSize, s_titleHeight,
+ QSizePolicy::Fixed, QSizePolicy::Fixed);
+ decoSpacer_ = new QSpacerItem(1, frameSize, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ leftSpacer_ = new QSpacerItem(frameSize, 1,
+ QSizePolicy::Fixed, QSizePolicy::Expanding);
+ rightSpacer_ = new QSpacerItem(frameSize, 1,
+ QSizePolicy::Fixed, QSizePolicy::Expanding);
+ bottomSpacer_ = new QSpacerItem(1, frameSize,
+ QSizePolicy::Expanding, QSizePolicy::Fixed);
+
+ // sizeof(...) is calculated at compile time
+ memset(button, 0, sizeof(polyesterButton *) * ButtonTypeCount);
+
+ // message in preview widget
+ if (isPreview()) {
+ windowLayout_->addWidget(
+ new QLabel( i18n("<b><center>Polyester Preview</center></b>"), widget() ), 1 );
+ } else {
+ windowLayout_->addItem(new QSpacerItem(0, 0));
+ }
+
+ // setup titlebar buttons
+ for (int n=0; n<ButtonTypeCount; n++)
+ button[n] = 0;
+ //Deal with the title and buttons
+ titleLayout_->addItem(leftTitleSpacer_);
+
+ if( !::factory->noModalButtons() || !isModal() || isResizable())
+ addButtons(titleLayout_,
+ options()->customButtonPositions() ? options()->titleButtonsLeft() : QString(default_left),
+ buttonSize);
+ titleLayout_->addItem(titlebar_);
+ if( !::factory->noModalButtons() || !isModal() || isResizable())
+ addButtons(titleLayout_,
+ options()->customButtonPositions() ? options()->titleButtonsRight() : QString(default_right),
+ buttonSize);
+ titleLayout_->addItem(rightTitleSpacer_);
+
+ //Mid - left side, middle contents and right side
+ QHBoxLayout * midLayout_ = new QHBoxLayout();
+ midLayout_->addItem(leftSpacer_);
+ midLayout_->addLayout(windowLayout_);
+ midLayout_->addItem(rightSpacer_);
+
+ //Layout order
+ mainLayout_->addItem( topSpacer_ );
+ mainLayout_->addLayout( titleLayout_ );
+ mainLayout_->addItem( decoSpacer_ );
+ mainLayout_->addLayout( midLayout_ );
+ mainLayout_->addItem( bottomSpacer_ );
+
+ // connections
+ //TODO: probably these two connections could be removed
+ // connect(this, SIGNAL(keepAboveChanged(bool)), SLOT(keepAboveChange(bool)));
+ // connect(this, SIGNAL(keepBelowChanged(bool)), SLOT(keepBelowChange(bool)));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// addButtons()
+// ------------
+// Add buttons to title layout
+
+void polyesterClient::addButtons(QBoxLayout *layout, const QString& s, int button_size) {
+ QString tip;
+ if (s.length() > 0) {
+ for (unsigned n=0; n < s.length(); n++) {
+ switch (s[n]) {
+ case 'M': // Menu button
+ if (!button[ButtonMenu]) {
+ button[ButtonMenu] =
+ new polyesterButton(this, "splat.png", i18n("Menu"),ButtonMenu,button_size,::factory->squareButton());
+ connect(button[ButtonMenu], SIGNAL(pressed()), this, SLOT(menuButtonPressed()));
+ connect(button[ButtonMenu], SIGNAL(released()), this, SLOT(menuButtonReleased()));
+ layout->addWidget(button[ButtonMenu]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'S': // Sticky button
+ if (!button[ButtonSticky]) {
+ if (isOnAllDesktops()) {
+ tip = i18n("Un-Sticky");
+ } else {
+ tip = i18n("Sticky");
+ }
+ button[ButtonSticky] =
+ new polyesterButton(this, "circle.png", tip, ButtonSticky, button_size,::factory->squareButton(), true);
+ connect(button[ButtonSticky], SIGNAL(clicked()),
+ this, SLOT(toggleOnAllDesktops()));
+ layout->addWidget(button[ButtonSticky]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'H': // Help button
+ if ((!button[ButtonHelp]) && providesContextHelp()) {
+ button[ButtonHelp] =
+ new polyesterButton(this, "help.png", i18n("Help"), ButtonHelp, button_size, ::factory->squareButton());
+ connect(button[ButtonHelp], SIGNAL(clicked()),
+ this, SLOT(showContextHelp()));
+ layout->addWidget(button[ButtonHelp]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'I': // Minimize button
+ if ((!button[ButtonMin]) && isMinimizable()) {
+ button[ButtonMin] =
+ new polyesterButton(this, "minimize.png", i18n("Minimize"), ButtonMin, button_size,::factory->squareButton());
+ connect(button[ButtonMin], SIGNAL(clicked()),
+ this, SLOT(minimize()));
+ layout->addWidget(button[ButtonMin]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'A': // Maximize button
+ if ((!button[ButtonMax]) && isMaximizable()) {
+ if (maximizeMode() == MaximizeFull) {
+ tip = i18n("Restore");
+ } else {
+ tip = i18n("Maximize");
+ }
+ button[ButtonMax] =
+ new polyesterButton(this, "maximize.png", tip, ButtonMax, button_size,::factory->squareButton(), true);
+ connect(button[ButtonMax], SIGNAL(clicked()),
+ this, SLOT(maxButtonPressed()));
+ layout->addWidget(button[ButtonMax]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'X': // Close button
+ if ((!button[ButtonClose]) && isCloseable()) {
+ button[ButtonClose] =
+ new polyesterButton(this, "close.png", i18n("Close"), ButtonClose, button_size, ::factory->squareButton());
+ connect(button[ButtonClose], SIGNAL(clicked()),
+ this, SLOT(closeWindow()));
+ layout->addWidget(button[ButtonClose]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'F': // Above button
+ if ((!button[ButtonAbove])) {
+ button[ButtonAbove] =
+ new polyesterButton(this, "keep_above.png",
+ i18n("Keep Above Others"), ButtonAbove, button_size, ::factory->squareButton(), true);
+ connect(button[ButtonAbove], SIGNAL(clicked()),
+ this, SLOT(aboveButtonPressed()));
+ layout->addWidget(button[ButtonAbove]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'B': // Below button
+ if ((!button[ButtonBelow])) {
+ button[ButtonBelow] =
+ new polyesterButton(this, "keep_below.png",
+ i18n("Keep Below Others"), ButtonBelow, button_size, ::factory->squareButton(), true);
+ connect(button[ButtonBelow], SIGNAL(clicked()),
+ this, SLOT(belowButtonPressed()));
+ layout->addWidget(button[ButtonBelow]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case 'L': // Shade button
+ if ((!button[ButtonShade && isShadeable()])) {
+ if ( isSetShade()) {
+ tip = i18n("Unshade");
+ } else {
+ tip = i18n("Shade");
+ }
+ button[ButtonShade] =
+ new polyesterButton(this, "splat.png", tip, ButtonShade, button_size, ::factory->squareButton(), true);
+ connect(button[ButtonShade], SIGNAL(clicked()),
+ this, SLOT(shadeButtonPressed()));
+ layout->addWidget(button[ButtonShade]);
+ if (n < s.length()-1) layout->addSpacing(1);
+ }
+ break;
+
+ case '_': // Spacer item
+ layout->addSpacing(frameSize);
+ }
+ }
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// activeChange()
+// --------------
+// window active state has changed
+
+void polyesterClient::activeChange() {
+ for (int n=0; n<ButtonTypeCount; n++)
+ if (button[n])
+ button[n]->reset();
+ maskDirty = true;
+ widget()->repaint(false);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// captionChange()
+// ---------------
+// The title has changed
+
+void polyesterClient::captionChange() {
+ aDoubleBufferDirty = iDoubleBufferDirty = true;
+ widget()->repaint(titlebar_->geometry(), false);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// desktopChange()
+// ---------------
+// Called when desktop/sticky changes
+
+void polyesterClient::desktopChange() {
+ bool d = isOnAllDesktops();
+ if (button[ButtonSticky]) {
+ QToolTip::remove(button[ButtonSticky]);
+ QToolTip::add(button[ButtonSticky], d ? i18n("Un-Sticky") : i18n("Sticky"));
+ button[ButtonSticky]->repaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// iconChange()
+// ------------
+// The title has changed
+
+void polyesterClient::iconChange() {
+ if (button[ButtonMenu]) {
+ button[ButtonMenu]->repaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// maximizeChange()
+// ----------------
+// Maximized state has changed
+
+void polyesterClient::maximizeChange() {
+ maskDirty = aDoubleBufferDirty = iDoubleBufferDirty = true;
+ bool m = (maximizeMode() == MaximizeFull);
+ if (button[ButtonMax]) {
+ QToolTip::remove(button[ButtonMax]);
+ QToolTip::add(button[ButtonMax], m ? i18n("Restore") : i18n("Maximize"));
+ button[ButtonMax]->repaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// shadeChange()
+// -------------
+// Called when window shading changes
+
+void polyesterClient::shadeChange() {
+ bool s = isSetShade();
+ if (button[ButtonShade]) {
+ QToolTip::remove(button[ButtonShade]);
+ QToolTip::add(button[ButtonShade], s ? i18n("Unshade") : i18n("Shade"));
+ button[ButtonShade]->repaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// TODO: probably these two functions can be removed
+// keepAboveChange()
+// ------------
+// The above state has changed
+
+void polyesterClient::keepAboveChange(bool a) {
+ if (button[ButtonAbove]) {
+ button[ButtonAbove]->setOn(a);
+ button[ButtonAbove]->repaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// keepBelowChange()
+// ------------
+// The below state has changed
+
+void polyesterClient::keepBelowChange(bool b) {
+ if (button[ButtonBelow]) {
+ button[ButtonBelow]->setOn(b);
+ button[ButtonBelow]->repaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// borders()
+// ----------
+// Get the size of the borders
+
+void polyesterClient::borders(int &left, int &right, int &top, int &bottom) const {
+
+ if ((maximizeMode()==MaximizeFull) && !options()->moveResizeMaximizedWindows()) {
+ left = right = bottom = 0;
+ top = s_titleHeight;
+
+ // update layout etc.
+ topSpacer_->changeSize(1, -1, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ decoSpacer_->changeSize(1, 0, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ leftSpacer_->changeSize(left, 1, QSizePolicy::Fixed, QSizePolicy::Expanding);
+ leftTitleSpacer_->changeSize(left, s_titleHeight, QSizePolicy::Fixed, QSizePolicy::Fixed);
+ rightSpacer_->changeSize(right, 1, QSizePolicy::Fixed, QSizePolicy::Expanding);
+ rightTitleSpacer_->changeSize(right, s_titleHeight, QSizePolicy::Fixed, QSizePolicy::Fixed);
+ bottomSpacer_->changeSize(1, bottom, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ } else {
+ /*if the borders are rounded add more left and right borders*/
+ if( roundedCorners )
+ left = right = bottom = frameSize*2;
+ else
+ left = right = bottom = frameSize+1;
+ top = titleSize + (frameSize*2);
+
+ // update layout etc.
+ topSpacer_->changeSize(1, frameSize, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ decoSpacer_->changeSize(1, frameSize, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ leftSpacer_->changeSize(left, 1, QSizePolicy::Fixed, QSizePolicy::Expanding);
+ leftTitleSpacer_->changeSize(left, s_titleHeight, QSizePolicy::Fixed, QSizePolicy::Fixed);
+ rightSpacer_->changeSize(right, 1, QSizePolicy::Fixed, QSizePolicy::Expanding);
+ rightTitleSpacer_->changeSize(right,s_titleHeight,QSizePolicy::Fixed, QSizePolicy::Fixed);
+ bottomSpacer_->changeSize(1, bottom, QSizePolicy::Expanding, QSizePolicy::Fixed);
+ }
+ widget()->layout()->activate();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// resize()
+// --------
+// Called to resize the window
+
+void polyesterClient::resize(const QSize &size) {
+ widget()->resize(size);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// minimumSize()
+// -------------
+// Return the minimum allowable size for this window
+
+QSize polyesterClient::minimumSize() const {
+ return widget()->minimumSize();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// mousePosition()
+// ---------------
+// Return logical mouse position
+
+KDecoration::Position polyesterClient::mousePosition(const QPoint &point) const {
+ const int corner = 24;
+ Position pos;
+ int fs = frameSize + handlebar;
+ //int fs = ::factory->frameSize();
+
+ if (point.y() <= fs) {
+ // inside top frame
+ if (point.x() <= corner)
+ pos = PositionTopLeft;
+ else if (point.x() >= (width()-corner))
+ pos = PositionTopRight;
+ else
+ pos = PositionTop;
+ } else if (point.y() >= (height()-fs*2)) {
+ // inside handle
+ if (point.x() <= corner)
+ pos = PositionBottomLeft;
+ else if (point.x() >= (width()-corner))
+ pos = PositionBottomRight;
+ else
+ pos = PositionBottom;
+ } else if (point.x() <= fs ) {
+ // on left frame
+ if (point.y() <= corner)
+ pos = PositionTopLeft;
+ else if (point.y() >= (height()-corner))
+ pos = PositionBottomLeft;
+ else
+ pos = PositionLeft;
+ } else if (point.x() >= width()-fs) {
+ // on right frame
+ if (point.y() <= corner)
+ pos = PositionTopRight;
+ else if (point.y() >= (height()-corner))
+ pos = PositionBottomRight;
+ else
+ pos = PositionRight;
+ } else {
+ // inside the frame
+ pos = PositionCenter;
+ }
+ return pos;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// eventFilter()
+// -------------
+// Event filter
+
+bool polyesterClient::eventFilter(QObject *obj, QEvent *e) {
+ if (obj != widget())
+ return false;
+
+ switch (e->type()) {
+ case QEvent::MouseButtonDblClick: {
+ mouseDoubleClickEvent(static_cast<QMouseEvent *>(e));
+ return true;
+ }
+ case QEvent::MouseButtonPress: {
+ processMousePressEvent(static_cast<QMouseEvent *>(e));
+ return true;
+ }
+ case QEvent::Wheel: {
+ wheelEvent(static_cast< QWheelEvent* >(e));
+ return true;
+ }
+ case QEvent::Paint: {
+ paintEvent(static_cast<QPaintEvent *>(e));
+ return true;
+ }
+ case QEvent::Resize: {
+ resizeEvent(static_cast<QResizeEvent *>(e));
+ return true;
+ }
+ case QEvent::Show: {
+ showEvent(static_cast<QShowEvent *>(e));
+ return true;
+ }
+ default: {
+ return false;
+ }
+ }
+
+ return false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// mouseDoubleClickEvent()
+// -----------------------
+// Doubleclick on title
+
+void polyesterClient::mouseDoubleClickEvent(QMouseEvent *e) {
+ if (titlebar_->geometry().contains(e->pos()))
+ titlebarDblClickOperation();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// wheelEvent()
+// -----------------------
+// Mousewheel over titlebar
+
+void polyesterClient::wheelEvent(QWheelEvent * e) {
+#if KDE_VERSION > KDE_MAKE_VERSION(3,4,3)
+if (titleLayout_->geometry().contains(e->pos()))
+titlebarMouseWheelOperation(e->delta());
+#endif
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// paintEvent()
+// ------------
+// Repaint the window
+
+void polyesterClient::paintEvent(QPaintEvent* e) {
+ if (!::factory->initialized())
+ {
+ return;
+ }
+
+ //int frameSize = ::factory->frameSize();
+ const uint maxCaptionLength = 200; // truncate captions longer than this!
+ // FIXME: truncate related to window size
+//titlebar_->geometry().width()/(widget()->font().pointSize());
+ QString captionText(caption());
+ if (captionText.length() > maxCaptionLength) {
+ captionText.truncate(maxCaptionLength);
+ captionText.append(" [...]");
+ }
+
+
+ QColor blackColor(black);
+ QColor redColor(red);
+ QColorGroup group,widgetGroup;
+
+ bool active = isActive();
+
+ //doublebuffering everything to avoid the flicker
+ QPainter finalPainter(widget());
+
+ //an ugly debug red border used to thest the speed...
+ //finalPainter.fillRect(e->rect(),red);return;
+
+ // mask off which corners we dont want
+ // otherwise recycle the old buffer
+ /*if( doubleBuff.width()>0 )
+ {
+ finalPainter.drawPixmap(0,0, doubleBuff);
+ finalPainter.end();
+ return;
+ }*/
+ if( maskDirty )
+ updateMask();
+ if( !(active?aDoubleBufferDirty:iDoubleBufferDirty) && ((active?activeBuff.width():inactiveBuff.width()) == widget()->width() ))
+ {
+ finalPainter.drawPixmap(0,0, active?activeBuff:inactiveBuff );
+ finalPainter.end();
+ return;
+ }
+
+
+ if( active )
+ activeBuff = QPixmap(widget()->width(), widget()->height());
+ else
+ inactiveBuff = QPixmap(widget()->width(), widget()->height());
+
+ QPainter painter(active?&activeBuff:&inactiveBuff);
+ //get group information first
+ group = options()->colorGroup(KDecoration::ColorTitleBlend, active);
+ widgetGroup = widget()->colorGroup();
+
+ QRect topRect( topSpacer_->geometry() );
+ QRect titleRect( titleLayout_->geometry() );
+ QRect textRect( titlebar_->geometry() );
+ QRect Rltitle( leftTitleSpacer_->geometry() );
+ QRect Rrtitle( rightTitleSpacer_->geometry() );
+ QRect Rdeco( decoSpacer_->geometry() );
+ QRect Rleft( leftSpacer_->geometry() );
+ QRect Rright( rightSpacer_->geometry() );
+ QRect Rbottom( bottomSpacer_->geometry() );
+ QRect tempRect;
+
+
+ /*
+ if(active)
+ {
+ qDebug("topRect.y() = %i\tbottom() = %i",topRect.top(),topRect.bottom());
+ qDebug("titleRect.y() = %i\tbottom() = %i",titleRect.top(),titleRect.bottom());
+ qDebug("textRect.y() = %i\tbottom() = %i",textRect.top(),textRect.bottom());
+ qDebug("Rltitle.y() = %i\tbottom() = %i",Rltitle.top(),Rltitle.bottom());
+ qDebug("Rrtitle.y() = %i\tbottom() = %i",Rrtitle.top(),Rrtitle.bottom());
+ qDebug("Rdeco.y() = %i\tbottom() = %i",Rdeco.top(),Rdeco.bottom());
+ qDebug("Rleft.y() = %i\tbottom() = %i",Rleft.top(),Rleft.bottom());
+ qDebug("Rright.y() = %i\tbottom() = %i",Rright.top(),Rright.bottom());
+ qDebug("Rbottom.y() = %i\tbottom() = %i",Rbottom.top(),Rbottom.bottom());
+ }
+ */
+
+ // top
+ painter.drawTiledPixmap(topRect, active ? *aTitleBarTopTile:*iTitleBarTopTile);
+ painter.drawTiledPixmap(titleRect.x(),
+ titleRect.y(),
+ titleRect.width(),
+ titleRect.height() + Rdeco.height(),
+ active ? *aTitleBarTile:*iTitleBarTile);
+
+ textRect.setRect(textRect.x()+SIDETITLEMARGIN,
+ textRect.y(),
+ textRect.width()-SIDETITLEMARGIN*2,
+ textRect.height());
+
+
+ //is the title text too long?
+ bool titleTooLong = false;
+ Qt::AlignmentFlags titleAlign = ::factory->titleAlign();
+ const int gradientWidth = 60;
+ if( QFontMetrics(widget()->font()).width(captionText) > (textRect.width() - gradientWidth) )
+ {
+ titleTooLong = true;
+ titleAlign = Qt::AlignLeft;
+ }
+
+ //we are shadowing title bar text only if there is some text
+ if(::factory->titleShadow() && textRect.width()>0 && textRect.height()>0)
+ {
+ QPixmap textPixmap;
+ QPainter tempPainter;
+ QColor shadowColor;
+
+ textPixmap = QPixmap(textRect.width(), textRect.height());
+ textPixmap.fill(QColor(0,0,0));
+ textPixmap.setMask( textPixmap.createHeuristicMask(TRUE) );
+ tempPainter.begin(&textPixmap);
+
+
+ //shadow text
+ tempPainter.setFont(options()->font(isActive(), false));
+
+ tempPainter.setPen(white);
+
+ tempPainter.drawText(1, 1, textRect.width(), textRect.height(),
+ titleAlign | AlignVCenter | Qt::SingleLine,
+ captionText);
+ tempPainter.end();
+
+ // make the cute blurred text shadow from Plastik engine
+ QImage shadow;
+ ShadowEngine se;
+
+ //deciding if the shadow will be black or white
+ if(qGray(options()->color(KDecoration::ColorFont, isActive()).rgb()) > 150)
+ shadowColor = blackColor;
+ else
+ shadowColor = white;
+
+ shadow = se.makeShadow(textPixmap, shadowColor);
+
+ painter.drawImage(textRect, shadow);
+
+ }
+
+ // draw title text
+ painter.setFont(options()->font(isActive(), false));
+ painter.setPen(options()->color(KDecoration::ColorFont, isActive()));
+ painter.drawText(textRect,
+ titleAlign | AlignVCenter | Qt::SingleLine,
+ captionText);
+
+ // make title fade out when the caption is too long, veery slow but veery cool :-)
+ if( titleTooLong )
+ {
+ int xGradient = textRect.right()-(gradientWidth-1);
+
+ QPixmap backLayerP = QPixmap(gradientWidth, textRect.height());
+ QPainter layerPainter(&backLayerP);
+ layerPainter.drawTiledPixmap(backLayerP.rect(), active ? *aTitleBarTile:*iTitleBarTile);
+ layerPainter.end();
+ QImage backLayer = backLayerP.convertToImage();
+
+ QImage textLayer = ( active ?
+ activeBuff.convertToImage():
+ inactiveBuff.convertToImage()
+ ).copy( xGradient, textRect.y(),
+ gradientWidth, textRect.height()
+ );
+ KImageEffect::blend(backLayer, textLayer, KImageEffect::HorizontalGradient);
+ painter.drawImage(xGradient, textRect.y(), backLayer);
+
+ }
+
+ //left of buttons and title
+ painter.drawTiledPixmap(Rltitle.x(),
+ Rltitle.y(),
+ Rltitle.width(),
+ Rltitle.height()+Rdeco.height(),
+ active ? *aTitleBarTile:*iTitleBarTile);
+
+ //left 3d effect
+ painter.drawTiledPixmap(Rltitle.x(),
+ Rltitle.y(),
+ 2,
+ Rltitle.height()+Rdeco.height(),
+ active ? *aTitleBarTopTile:*iTitleBarTopTile);
+
+ // left mid layout
+ painter.fillRect(Rleft,widgetGroup.background());
+
+ // right of buttons and title
+ painter.drawTiledPixmap(Rrtitle.x(),
+ Rrtitle.y(),
+ Rrtitle.width(),
+ Rrtitle.height()+Rdeco.height(),
+ active ? *aTitleBarTile:*iTitleBarTile);
+ //right 3d effect
+ painter.drawTiledPixmap(width()-2,
+ Rltitle.y(),
+ 2,
+ Rltitle.height()+Rdeco.height(),
+ active ? *aTitleBarTopTile:*iTitleBarTopTile);
+
+ // right mid layout
+ painter.fillRect(Rright,widgetGroup.background());
+
+ // bottom
+ /*
+ if(isShade())
+ {
+ frame.setRect(0,::factory->titleSize()+FRAMESIZE, width(), FRAMESIZE);
+ }
+ else
+ {
+ frame.setRect(0, height() - (FRAMESIZE*2), width(), (FRAMESIZE*2));
+ }
+ */
+ painter.fillRect(Rbottom, KDecoration::options()->color(ColorTitleBlend, active));//widgetGroup.background());
+
+ //if the window is maximized the border is invisible
+ if( (maximizeMode()==MaximizeFull) && !options()->moveResizeMaximizedWindows() )
+ painter.setPen(KDecoration::options()->color(ColorTitleBar, active));
+ else
+ painter.setPen(group.background().dark(150));
+
+ // outline outside the frame but not the corners if they are rounded
+ tempRect = widget()->rect();
+ painter.drawRect(tempRect);
+
+ if(roundedCorners && !maximizeMode()) {
+ // local temp right and bottom
+ int r(width());
+ painter.setPen(group.background().dark(150));
+ painter.drawPoint(4, 1);
+ painter.drawPoint(3, 1);
+ painter.drawPoint(2, 2);
+ painter.drawPoint(1, 3);
+ painter.drawPoint(1, 4);
+ painter.drawPoint(r - 5, 1);
+ painter.drawPoint(r - 4, 1);
+ painter.drawPoint(r - 3, 2);
+ painter.drawPoint(r - 2, 3);
+ painter.drawPoint(r - 2, 4);
+
+ painter.setPen(KDecoration::options()->color(ColorTitleBar, active).light(160));
+ painter.drawPoint(4, 2);
+ painter.drawPoint(3, 2);
+ painter.drawPoint(2, 3);
+ painter.drawPoint(2, 4);
+
+ //painter.setPen(KDecoration::options()->color(ColorTitleBlend, active));
+ painter.drawPoint(r - 5, 2);
+ painter.drawPoint(r - 4, 2);
+ painter.drawPoint(r - 3, 3);
+ painter.drawPoint(r - 3, 4);
+ }
+
+ // finally copy the buffer into the widget
+ //finalPainter.begin(doubleBuff);
+ finalPainter.drawPixmap(0,0, active?activeBuff:inactiveBuff);
+ finalPainter.end();
+
+ if( active )
+ aDoubleBufferDirty = false;
+ else
+ iDoubleBufferDirty = false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// updateMask()
+// ------------
+// update the frame mask
+void polyesterClient::updateMask() {
+
+ if ( (!options()->moveResizeMaximizedWindows() && maximizeMode() & MaximizeFull ) )
+ {
+ setMask(QRegion(widget()->rect()));
+ return;
+ }
+
+ int r(width());
+ int b(height());
+ QRegion mask;
+
+ mask=QRegion(widget()->rect());
+ mask=QRegion( 0, 0, r, b );
+
+ // Remove top-left corner.
+ if( roundedCorners &&
+ maximizeMode() != KDecorationDefines::MaximizeFull )
+ {
+ mask -= QRegion(0, 0, 5, 1);
+ mask -= QRegion(0, 1, 3, 1);
+ mask -= QRegion(0, 2, 2, 1);
+ mask -= QRegion(0, 3, 1, 2);
+ mask -= QRegion(r - 5, 0, 5, 1);
+ mask -= QRegion(r - 3, 1, 3, 1);
+ mask -= QRegion(r - 2, 2, 2, 1);
+ mask -= QRegion(r - 1, 3, 1, 2);
+ }
+ //always remove one corner pixel so it simulates a soft corner like plastik
+ mask -= QRegion(0,0,1,1);
+ mask -= QRegion(r-1,0,1,1);
+ mask -= QRegion(0, b-1, 1,1);
+ mask -= QRegion(r-1,b-1,1,1);
+
+ setMask(mask, 1);
+
+ maskDirty = false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// resizeEvent()
+// -------------
+// Window is being resized
+
+void polyesterClient::resizeEvent(QResizeEvent *) {
+ maskDirty = aDoubleBufferDirty = iDoubleBufferDirty = true;
+ if (widget()->isShown()) {
+ QRegion region = widget()->rect();
+ region = region.subtract(titlebar_->geometry());
+ widget()->erase(region);
+ }
+ updateMask();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// showEvent()
+// -----------
+// Window is being shown
+
+void polyesterClient::showEvent(QShowEvent *) {
+ widget()->repaint();
+ updateMask();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// maxButtonPressed()
+// -----------------
+// Max button was pressed
+
+void polyesterClient::maxButtonPressed() {
+ if (button[ButtonMax]) {
+#if KDE_IS_VERSION(3, 3, 0)
+ maximize(button[ButtonMax]->lastMousePress());
+#else
+
+ switch (button[ButtonMax]->lastMousePress()) {
+ case MidButton:
+ maximize(maximizeMode() ^ MaximizeVertical);
+ break;
+ case RightButton:
+ maximize(maximizeMode() ^ MaximizeHorizontal);
+ break;
+ default:
+ (maximizeMode() == MaximizeFull) ? maximize(MaximizeRestore)
+ : maximize(MaximizeFull);
+ }
+#endif
+
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// shadeButtonPressed()
+// -----------------
+// Shade button was pressed
+
+void polyesterClient::shadeButtonPressed() {
+ if (button[ButtonShade]) {
+ setShade( !isSetShade());
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// aboveButtonPressed()
+// -----------------
+// Above button was pressed
+
+void polyesterClient::aboveButtonPressed() {
+ if (button[ButtonAbove]) {
+ setKeepAbove( !keepAbove());
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// belowButtonPressed()
+// -----------------
+// Below button was pressed
+
+void polyesterClient::belowButtonPressed() {
+ if (button[ButtonBelow]) {
+ setKeepBelow( !keepBelow());
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// menuButtonPressed()
+// -------------------
+// Menu button was pressed (popup the menu)
+
+void polyesterClient::menuButtonPressed() {
+ static QTime* t = NULL;
+ static polyesterClient* lastClient = NULL;
+ if (t == NULL)
+ t = new QTime;
+ bool dbl = (lastClient==this && t->elapsed() <= QApplication::doubleClickInterval());
+ lastClient = this;
+ t->start();
+ //if (button[ButtonMenu] && !dbl && !::factory->menuClosed()) {
+ if ( !dbl || !::factory->menuClosed()) {
+ QPoint p(button[ButtonMenu]->rect().bottomLeft().x(),
+ button[ButtonMenu]->rect().bottomLeft().y());
+ KDecorationFactory* f = factory();
+ showWindowMenu(button[ButtonMenu]->mapToGlobal(p));
+ if (!f->exists(this))
+ return; // decoration was destroyed
+ button[ButtonMenu]->setDown(false);
+ }
+ else
+ {
+ closing = true;
+ }
+}
+
+void polyesterClient::menuButtonReleased()
+{
+ if(closing)
+ {
+ closeWindow();
+ }
+}
+
+#include "polyester.moc"
diff --git a/client/polyester.desktop b/client/polyester.desktop
new file mode 100755
index 0000000..a5f4459
--- /dev/null
+++ b/client/polyester.desktop
@@ -0,0 +1,5 @@
+# KDE Desktop Entry
+[Desktop Entry]
+Encoding=UTF-8
+Name=Polyester
+X-KDE-Library=kwin3_polyester
diff --git a/client/polyester.h b/client/polyester.h
new file mode 100755
index 0000000..52535f9
--- /dev/null
+++ b/client/polyester.h
@@ -0,0 +1,298 @@
+//////////////////////////////////////////////////////////////////////////////
+// polyester.h
+// -------------------
+// Polyester window decoration for KDE
+// Copyright (c) 2005 Marco Martin <[email protected]>
+// -------------------
+// derived from Smooth Blend
+// Copyright (c) 2005 Ryan Nickell <[email protected]>
+// -------------------
+// Shadow engine from Plastik decoration
+// Copyright (C) 2003 Sandro Giessl <[email protected]>
+// -------------------
+//
+// 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.,
+// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//////////////////////////////////////////////////////////////////////////////
+
+#ifndef polyester_H
+#define polyester_H
+
+#include <qbutton.h>
+#include <kdecoration.h>
+#include <kdecorationfactory.h>
+
+#define TITLEBAR_GLASS 1
+
+#define BUTTON_GRADIENT 0
+#define BUTTON_GLASS 1
+#define BUTTON_REVGRADIENT 2
+#define BUTTON_FLAT 3
+
+class QSpacerItem;
+class QPoint;
+
+namespace polyester {
+
+class polyesterClient;
+
+enum ButtonType {
+ ButtonHelp=0,
+ ButtonMax,
+ ButtonMin,
+ ButtonClose,
+ ButtonMenu,
+ ButtonSticky,
+ ButtonAbove,
+ ButtonBelow,
+ ButtonShade,
+ ButtonTypeCount
+};
+
+// polyesterFactory /////////////////////////////////////////////////////////
+//
+// add variables and flags for config like...
+//
+// public: type function()
+// private: type var_
+// inline type function(){ return var_ };
+//
+
+class polyesterFactory: public KDecorationFactory {
+public:
+ polyesterFactory();
+ virtual ~polyesterFactory();
+ virtual KDecoration *createDecoration(KDecorationBridge *b);
+ virtual bool reset(unsigned long changed);
+ static bool initialized();
+ static Qt::AlignmentFlags titleAlign();
+ static int contrast();
+ static bool roundedCorners();
+ static int titleSize();
+ static int buttonSize();
+ static bool squareButton();
+ static int frameSize();
+ static int roundSize();
+ static QFont titleFontTool() { return m_titleFontTool; }
+ static bool titleShadow();
+ static int titleBarStyle() { return titleBarStyle_;}
+ static int buttonStyle() { return buttonStyle_;}
+ static bool animateButtons() { return animatebuttons; }
+ static bool noModalButtons() { return nomodalbuttons; }
+ static bool lightBorder() { return lightBorder_; }
+ static int getBtnComboBox() { return btnComboBox; }
+ static bool menuClosed() { return menuClose; }
+
+private:
+ bool readConfig();
+
+private:
+ static bool initialized_;
+ static Qt::AlignmentFlags titlealign_;
+ static int contrast_;
+ static bool cornerflags_;
+ static int titlesize_;
+ static int buttonsize_;
+ static bool squareButton_;
+ static bool lightBorder_;
+ static int framesize_;
+ static int titleBarStyle_;
+ static int buttonStyle_;
+ static int roundsize_;
+ static QFont m_titleFontTool;
+ static bool titleshadow_;
+ static bool animatebuttons;
+ static bool nomodalbuttons;
+ static int btnComboBox;
+ static bool menuClose;
+};
+
+inline bool polyesterFactory::initialized() {
+ return initialized_;
+}
+inline Qt::AlignmentFlags polyesterFactory::titleAlign() {
+ return titlealign_;
+}
+
+inline int polyesterFactory::contrast(){
+ return contrast_;
+}
+
+inline bool polyesterFactory::roundedCorners() {
+ return cornerflags_;
+}
+inline int polyesterFactory::titleSize() {
+ return titlesize_;
+};
+inline int polyesterFactory::buttonSize() {
+ return buttonsize_;
+};
+inline bool polyesterFactory::squareButton() {
+ return squareButton_;
+};
+inline int polyesterFactory::frameSize() {
+ return framesize_;
+};
+inline int polyesterFactory::roundSize() {
+ return roundsize_;
+};
+inline bool polyesterFactory::titleShadow() {
+ return titleshadow_;
+};
+
+// polyesterButton //////////////////////////////////////////////////////////
+
+class polyesterButton : public QButton {
+ Q_OBJECT
+public:
+ polyesterButton(polyesterClient *parent=0, const char *name=0,
+ const QString &tip=NULL,
+ ButtonType type=ButtonHelp,
+ int button_size=18,
+ bool squareButton = true,
+ bool toggle=false);
+ //const unsigned char *bitmap=0);
+ ~polyesterButton();
+
+ void setBitmap(const unsigned char *bitmap);
+ QSize sizeHint() const;
+ ButtonState lastMousePress() const;
+ void reset();
+ QImage getButtonImage(ButtonType type);
+ virtual void setOn(bool on);
+ virtual void setDown(bool on);
+
+protected slots:
+ void animate();
+ void buttonClicked();
+ void buttonReleased();
+
+private:
+ void enterEvent(QEvent *e);
+ void leaveEvent(QEvent *e);
+ void mousePressEvent(QMouseEvent *e);
+ void mouseReleaseEvent(QMouseEvent *e);
+ void drawButton(QPainter *painter);
+ void genButtonPix( bool active );
+
+private:
+ polyesterClient *client_;
+ ButtonType type_;
+ int size_;
+ double buttonProportions_;
+ QBitmap *deco_;
+ QPixmap *pixmap[2][4];
+ QImage *buttonImgActive;
+ QImage *buttonImgInactive;
+ ButtonState lastmouse_;
+ bool buttonImgActive_created;
+ bool buttonImgInactive_created;
+ bool hover_;
+ bool m_clicked;
+ QTimer *animTmr;
+ uint animProgress;
+};
+
+inline Qt::ButtonState polyesterButton::lastMousePress() const {
+ return lastmouse_;
+}
+inline void polyesterButton::reset() {
+ repaint(false);
+}
+
+// polyesterClient //////////////////////////////////////////////////////////
+
+class polyesterClient : public KDecoration {
+ Q_OBJECT
+public:
+ polyesterClient(KDecorationBridge *b, KDecorationFactory *f);
+ virtual ~polyesterClient();
+
+ virtual void init();
+
+ virtual void activeChange();
+ virtual void desktopChange();
+ virtual void captionChange();
+ virtual void iconChange();
+ virtual void maximizeChange();
+ virtual void shadeChange();
+
+
+ virtual void borders(int &l, int &r, int &t, int &b) const;
+ virtual void resize(const QSize &size);
+ virtual QSize minimumSize() const;
+ virtual Position mousePosition(const QPoint &point) const;
+
+ QPixmap getTitleBarTile(bool active) const
+ {
+ return active ? *aTitleBarTile : *iTitleBarTile;
+ }
+
+private:
+ void addButtons(QBoxLayout* layout, const QString& buttons, int buttonSize = 18);
+ bool eventFilter(QObject *obj, QEvent *e);
+ void mouseDoubleClickEvent(QMouseEvent *e);
+ void wheelEvent(QWheelEvent *e);
+ void paintEvent(QPaintEvent *e);
+ void resizeEvent(QResizeEvent *);
+ void showEvent(QShowEvent *);
+ void updateMask();
+ void _resetLayout();
+ int frameSize, titleSize, buttonSize;
+ bool roundedCorners;
+
+ QVBoxLayout *mainLayout_;
+ QHBoxLayout *titleLayout_;
+ QSpacerItem *topSpacer_,
+ *titleSpacer_,
+ *leftTitleSpacer_, *rightTitleSpacer_,
+ *decoSpacer_,
+ *leftSpacer_, *rightSpacer_,
+ *bottomSpacer_, *windowSpacer_;
+ QPixmap *aCaptionBuffer, *iCaptionBuffer;
+
+private slots:
+ void maxButtonPressed();
+ void menuButtonPressed();
+ void menuButtonReleased();
+ void aboveButtonPressed();
+ void belowButtonPressed();
+ void shadeButtonPressed();
+ void keepAboveChange(bool);
+ void keepBelowChange(bool);
+
+signals:
+ void keepAboveChanged(bool);
+ void keepBelowChanged(bool);
+
+private:
+ QPixmap *aTitleBarTile, *iTitleBarTile, *aTitleBarTopTile, *iTitleBarTopTile;
+ polyesterButton *button[ButtonTypeCount];
+ QSpacerItem *titlebar_;
+ bool pixmaps_created;
+ bool closing;
+ int s_titleHeight;
+ QFont s_titleFont;
+ int handlebar;
+ bool maskDirty, aDoubleBufferDirty, iDoubleBufferDirty;
+ QPixmap activeBuff, inactiveBuff;
+
+ void create_pixmaps();
+ void delete_pixmaps();
+};
+
+} // namespace polyester
+
+#endif // polyester_H
diff --git a/client/shadow.cpp b/client/shadow.cpp
new file mode 100755
index 0000000..d6d4a86
--- /dev/null
+++ b/client/shadow.cpp
@@ -0,0 +1,124 @@
+/* Copyright (C) 2003 by Sandro Giessl
+ * based on the nice CVS KDesktop KShadowEngine class. thanks!
+ * looking forward to see KShadowEngine in kdefx somewhen btw.. :)
+ * ------------------------------------------------------------------------
+ * these are the original copyright notes:
+ * This file is proposed to be part of the KDE libraries.
+ * Copyright (C) 2003 Laur Ivan <[email protected]>
+ *
+ * Many thanks to:
+ * - Bernardo Hung <[email protected]> for the enhanced shadow
+ * algorithm (currently used)
+ * - Tim Jansen <[email protected]> for the API updates and fixes.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License version 2 as published by the Free Software Foundation.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "shadow.h"
+#include <qcolor.h>
+
+ShadowEngine::ShadowEngine()
+{
+ thickness_ = 1;
+ multiplicationFactor_ = 10.0;
+}
+
+ShadowEngine::~ShadowEngine()
+{
+}
+
+QImage ShadowEngine::makeShadow(const QPixmap& textPixmap, const QColor &bgColor)
+{
+ QImage result;
+
+ // create a new image for for the shaddow
+ int w = textPixmap.width();
+ int h = textPixmap.height();
+
+ // avoid calling these methods for every pixel
+ int bgRed = bgColor.red();
+ int bgGreen = bgColor.green();
+ int bgBlue = bgColor.blue();
+
+ double alphaShadow;
+
+ /*
+ * This is the source pixmap
+ */
+ QImage img = textPixmap.convertToImage().convertDepth(32);
+
+ /*
+ * Resize the image if necessary
+ */
+ if ((result.width() != w) || (result.height() != h))
+ {
+ result.create(w, h, 32);
+ }
+
+ result.fill(0); // all black
+ result.setAlphaBuffer(true);
+
+ for (int i = thickness_; i < w - thickness_; i++)
+ {
+ for (int j = thickness_; j < h - thickness_; j++)
+ {
+ alphaShadow = decay(img, i, j);
+ alphaShadow = (alphaShadow > 180.0) ? 180.0 : alphaShadow;
+ // update the shadow's i,j pixel.
+ result.setPixel(i,j, qRgba(bgRed, bgGreen , bgBlue, (int) alphaShadow));
+ }
+ }
+ return result;
+}
+
+double ShadowEngine::decay(QImage& source, int i, int j)
+{
+ // create a new image for the shadow
+ int w = source.width();
+ int h = source.height();
+ int sx, sy;
+
+ double alphaShadow = 0;
+ double opacity = 0;
+ for (int k = 1; k <= thickness_; k++) {
+ /* Generate a shadow thickness_ pixels thicker
+ * on either side than the text image. Ensure
+ * that i +/- k and j +/- k are within the
+ * bounds of the text pixmap.
+ */
+ opacity = 0;
+ for (int l = -k; l <= k; l++) {
+ if (i < k)
+ sx = 0;
+ else if (i >= w - k)
+ sx = w - 1;
+ else
+ sx = i + l;
+
+ for (int m = -k; m <= k; m++) {
+ if (j < k)
+ sy = 0;
+ else if (j >= h - k)
+ sy = h - 1;
+ else
+ sy = j + m;
+
+ opacity += qGray(source.pixel(sx, sy));
+ }
+ }
+ alphaShadow += opacity / multiplicationFactor_;
+ }
+ return alphaShadow;
+}
diff --git a/client/shadow.h b/client/shadow.h
new file mode 100755
index 0000000..3f89c3c
--- /dev/null
+++ b/client/shadow.h
@@ -0,0 +1,51 @@
+/* Copyright (C) 2003 by Sandro Giessl
+ * based on the nice CVS KDesktop KShadowEngine class. thanks!
+ * looking forward to see KShadowEngine in kdefx somewhen btw.. :)
+ * ------------------------------------------------------------------------
+ * these are the original copyright notes:
+ * This file is proposed to be part of the KDE libraries.
+ * Copyright (C) 2003 Laur Ivan <[email protected]>
+ *
+ * Many thanks to:
+ * - Bernardo Hung <[email protected]> for the enhanced shadow
+ * algorithm (currently used)
+ * - Tim Jansen <[email protected]> for the API updates and fixes.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License version 2 as published by the Free Software Foundation.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __FX_SHADOW
+#define __FX_SHADOW
+
+#include <qpixmap.h>
+#include <qimage.h>
+#include <qcolor.h>
+
+class ShadowEngine
+{
+ public:
+ ShadowEngine();
+ ~ShadowEngine();
+ void setThickness(int thickness) { thickness_ = thickness; }
+ void setMultiplicationFactor(double factor) { multiplicationFactor_ = factor; }
+ QImage makeShadow(const QPixmap& textPixmap, const QColor &bgColor);
+ private:
+ double decay(QImage& source, int x, int y);
+
+ int thickness_;
+ double multiplicationFactor_;
+};
+
+#endif