summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt55
-rw-r--r--src/Config.h.in17
-rw-r--r--src/Dialog.cpp103
-rw-r--r--src/Dialog.h60
-rw-r--r--src/Globals.cpp40
-rw-r--r--src/Globals.h45
-rw-r--r--src/JavaScriptInterface.cpp143
-rw-r--r--src/JavaScriptInterface.h60
-rw-r--r--src/Version.h.in9
-rw-r--r--src/gui.qrc72
-rw-r--r--src/html/about.html25
-rw-r--r--src/html/css/icons.css34
-rw-r--r--src/html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.pngbin0 -> 180 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.pngbin0 -> 178 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.pngbin0 -> 120 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.pngbin0 -> 105 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.pngbin0 -> 111 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.pngbin0 -> 110 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.pngbin0 -> 119 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.pngbin0 -> 101 bytes
-rw-r--r--src/html/css/smoothness/images/ui-icons_222222_256x240.pngbin0 -> 4369 bytes
-rw-r--r--src/html/css/smoothness/images/ui-icons_2e83ff_256x240.pngbin0 -> 4369 bytes
-rw-r--r--src/html/css/smoothness/images/ui-icons_454545_256x240.pngbin0 -> 4369 bytes
-rw-r--r--src/html/css/smoothness/images/ui-icons_888888_256x240.pngbin0 -> 4369 bytes
-rw-r--r--src/html/css/smoothness/images/ui-icons_cd0a0a_256x240.pngbin0 -> 4369 bytes
-rw-r--r--src/html/css/smoothness/jquery-ui.css568
-rw-r--r--src/html/css/style.css166
-rw-r--r--src/html/detail.html30
-rw-r--r--src/html/help.html14
-rw-r--r--src/html/img/bg.pngbin0 -> 1240 bytes
-rw-r--r--src/html/img/help.pngbin0 -> 11223 bytes
-rw-r--r--src/html/img/icons/Atari.svg58
-rw-r--r--src/html/img/icons/LICENSE56
-rw-r--r--src/html/img/icons/amiga.pngbin0 -> 2382 bytes
-rw-r--r--src/html/img/icons/amiga2.pngbin0 -> 4380 bytes
-rw-r--r--src/html/img/icons/atari.pngbin0 -> 1726 bytes
-rw-r--r--src/html/img/icons/beos.pngbin0 -> 2474 bytes
-rw-r--r--src/html/img/icons/bsd.pngbin0 -> 7697 bytes
-rw-r--r--src/html/img/icons/debian.pngbin0 -> 1823 bytes
-rw-r--r--src/html/img/icons/debian.svg18
-rw-r--r--src/html/img/icons/dosbox.pngbin0 -> 9743 bytes
-rw-r--r--src/html/img/icons/fedora.pngbin0 -> 2069 bytes
-rw-r--r--src/html/img/icons/fedora.svg31
-rw-r--r--src/html/img/icons/gentoo.pngbin0 -> 4315 bytes
-rw-r--r--src/html/img/icons/gentoo.svg268
-rw-r--r--src/html/img/icons/gnome.pngbin0 -> 1304 bytes
-rw-r--r--src/html/img/icons/gnome.svg42
-rw-r--r--src/html/img/icons/kde.pngbin0 -> 6568 bytes
-rw-r--r--src/html/img/icons/kde.svg323
-rw-r--r--src/html/img/icons/linux.pngbin0 -> 4896 bytes
-rw-r--r--src/html/img/icons/linux.svg933
-rw-r--r--src/html/img/icons/locked.pngbin0 -> 1901 bytes
-rw-r--r--src/html/img/icons/lxde.pngbin0 -> 8685 bytes
-rw-r--r--src/html/img/icons/macos.pngbin0 -> 1437 bytes
-rw-r--r--src/html/img/icons/macos.svg33
-rw-r--r--src/html/img/icons/mess.pngbin0 -> 2341 bytes
-rw-r--r--src/html/img/icons/none.pngbin0 -> 187 bytes
-rw-r--r--src/html/img/icons/opensolaris.pngbin0 -> 3725 bytes
-rw-r--r--src/html/img/icons/opensolaris.svg164
-rw-r--r--src/html/img/icons/os2.pngbin0 -> 4715 bytes
-rw-r--r--src/html/img/icons/osx.pngbin0 -> 3061 bytes
-rw-r--r--src/html/img/icons/osx.svg143
-rw-r--r--src/html/img/icons/qemu.pngbin0 -> 3653 bytes
-rw-r--r--src/html/img/icons/redhat.pngbin0 -> 1947 bytes
-rw-r--r--src/html/img/icons/redhat.svg101
-rw-r--r--src/html/img/icons/riscos.pngbin0 -> 2802 bytes
-rw-r--r--src/html/img/icons/riscos_orig.pngbin0 -> 6048 bytes
-rw-r--r--src/html/img/icons/solaris.pngbin0 -> 3683 bytes
-rw-r--r--src/html/img/icons/suse.pngbin0 -> 1559 bytes
-rw-r--r--src/html/img/icons/suse.svg23
-rw-r--r--src/html/img/icons/term.pngbin0 -> 18052 bytes
-rw-r--r--src/html/img/icons/ubuntu.pngbin0 -> 1232 bytes
-rw-r--r--src/html/img/icons/ubuntu.svg4
-rw-r--r--src/html/img/icons/unknown.pngbin0 -> 6276 bytes
-rw-r--r--src/html/img/icons/virtualbox.pngbin0 -> 8688 bytes
-rw-r--r--src/html/img/icons/vmware.pngbin0 -> 1140 bytes
-rw-r--r--src/html/img/icons/vmware.svg86
-rw-r--r--src/html/img/icons/win311.pngbin0 -> 2872 bytes
-rw-r--r--src/html/img/icons/win311.svg322
-rw-r--r--src/html/img/icons/win7.pngbin0 -> 7619 bytes
-rw-r--r--src/html/img/icons/win7_orig.pngbin0 -> 83573 bytes
-rw-r--r--src/html/img/icons/windows.pngbin0 -> 5636 bytes
-rw-r--r--src/html/img/icons/xfce.pngbin0 -> 5326 bytes
-rw-r--r--src/html/img/icons/xfce.svg226
-rw-r--r--src/html/img/noscreenshot.pngbin0 -> 3866 bytes
-rw-r--r--src/html/img/planets.pngbin0 -> 9078 bytes
-rw-r--r--src/html/index.html43
-rw-r--r--src/html/js/emuchooser.js57
-rw-r--r--src/html/js/jquery-ui.js791
-rw-r--r--src/html/js/jquery.js4
-rw-r--r--src/html/welcome.html18
-rw-r--r--src/main.cpp81
92 files changed, 5266 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..56e280e
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,55 @@
+set(QT_USE_QTXML TRUE)
+set(QT_USE_QTWEBKIT TRUE)
+
+include(${QT_USE_FILE})
+
+file(GLOB_RECURSE EMUCHOOSER_RESOURCES "*.qrc")
+
+include_directories("/usr/include" "${CMAKE_CURRENT_BINARY_DIR}")
+
+################
+
+set(EMUCHOOSER_PLUGIN_PATH "/opt/openslx/plugin-repo/emuchooser")
+set(EMUCHOOSER_BIN_PATH "/var/opt/openslx/bin")
+set(EMUCHOOSER_ETC_BASE_PATH "/etc/emuchooser")
+set(EMUCHOOSER_VMPATH "/var/lib/virt")
+set(EMUCHOOSER_THEME_BASE "/usr/local/share/emuchooser/themes")
+set(EMUCHOOSER_X_SESSIONS_PATH "/usr/share/xsessions")
+set(EMUCHOOSER_DEFAULT_WIDTH "500")
+set(EMUCHOOSER_DEFAULT_HEIGHT "580")
+
+configure_file("Version.h.in" "Version.h")
+configure_file("Config.h.in" "Config.h")
+
+set(LCHOOSER_CONFIG_HEADERS "Version.h" "Config.h")
+#######
+
+set(EMUCHOOSER_HEADERS "Globals.h")
+set(EMUCHOOSER_SOURCES "main.cpp" "Globals.cpp")
+
+set(EMUCHOOSER_MOC_HEADERS "Dialog.h" "JavaScriptInterface.h")
+set(EMUCHOOSER_MOC_SOURCES "Dialog.cpp" "JavaScriptInterface.cpp")
+
+QT4_WRAP_CPP(EMUCHOOSER_MOC_SOURCES ${EMUCHOOSER_MOC_HEADERS})
+QT4_ADD_RESOURCES(EMUCHOOSER_RC_SOURCES ${EMUCHOOSER_RESOURCES})
+
+add_executable (emuchooser ${EMUCHOOSER_SOURCES} ${EMUCHOOSER_MOC_SOURCES} ${EMUCHOOSER_RC_SOURCES} ${EMUCHOOSER_HEADERS} ${EMUCHOOSER_MOC_HEADERS})
+
+target_link_libraries(emuchooser "-lchooser" ${QT_LIBRARIES})
+
+INSTALL(TARGETS emuchooser RUNTIME DESTINATION bin)
+
+set(CPACK_GENERATOR "DEB")
+set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Sebastian Schmelzer <ssc@xss.nu>") #required
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "emuchooser")
+set(CPACK_PACKAGE_DESCRIPTION "emuchooser")
+set(CPACK_PACKAGE_VERSION "${emuchooser_VERSION_MAJOR}.${emuchooser_VERSION_MINOR}.${emuchooser_VERSION_PATCH}")
+set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqtcore4")
+set(CPACK_DEBIAN_PACKAGE_SECTION "misc")
+set(CPACK_DEBIAN_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}")
+set(CPACK_PACKAGE_NAME "emuchooser")
+set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
+set(CPACK_PACKAGE_FILE_NAME "emuchooser_${CPACK_PACKAGE_VERSION}_ubuntu_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
+set(CPACK_SOURCE_PACKAGE_FILE_NAME "emuchooser_${CPACK_PACKAGE_VERSION}")
+
+INCLUDE(CPack)
diff --git a/src/Config.h.in b/src/Config.h.in
new file mode 100644
index 0000000..5df8d14
--- /dev/null
+++ b/src/Config.h.in
@@ -0,0 +1,17 @@
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#cmakedefine DEBUG @DEBUG@
+
+#cmakedefine EMUCHOOSER_PLUGIN_PATH "@EMUCHOOSER_PLUGIN_PATH@"
+#cmakedefine EMUCHOOSER_BIN_PATH "@EMUCHOOSER_BIN_PATH@"
+#cmakedefine EMUCHOOSER_ETC_BASE_PATH "@EMUCHOOSER_ETC_BASE_PATH@"
+#cmakedefine EMUCHOOSER_VMPATH "@EMUCHOOSER_VMPATH@"
+#cmakedefine EMUCHOOSER_THEME_BASE "@EMUCHOOSER_THEME_BASE@"
+
+#cmakedefine EMUCHOOSER_X_SESSIONS_PATH "@EMUCHOOSER_X_SESSIONS_PATH@"
+
+#cmakedefine EMUCHOOSER_DEFAULT_WIDTH @EMUCHOOSER_DEFAULT_WIDTH@
+#cmakedefine EMUCHOOSER_DEFAULT_HEIGHT @EMUCHOOSER_DEFAULT_HEIGHT@
+
+#endif //CONFIG_H
diff --git a/src/Dialog.cpp b/src/Dialog.cpp
new file mode 100644
index 0000000..43f5cc5
--- /dev/null
+++ b/src/Dialog.cpp
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2010,2011 - RZ Uni Freiburg
+ * Copyright (c) 2010,2011 - OpenSLX Project
+ *
+ * This program/file is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your feedback to feedback@openslx.org
+ *
+ * General information about OpenSLX - libChooser can be found under
+ * http://openslx.org
+ *
+ */
+
+#include <QtGui>
+#include <QSizeGrip>
+//#include <QSettings>
+#include <QRect>
+#include <QWebView>
+
+#include <SessionTreeItem.h>
+#include <VSession.h>
+
+//#include "QChooserTreeView.h"
+//#include "QWebViewCustom.h"
+#include "JavaScriptInterface.h"
+#include "Dialog.h"
+#include "Globals.h"
+
+void
+Dialog::setTheme()
+{
+
+}
+
+void
+Dialog::showSettingsPVS()
+{
+
+}
+
+void
+Dialog::addItems(const QList<Session *> entries) {
+ jsi->addItems(entries);
+}
+
+void
+Dialog::center()
+{
+ QRect desktopRect = QApplication::desktop()->availableGeometry(this);
+ QPoint center = desktopRect.center();
+ move(center.x() - width() * 0.5, center.y() - height() * 0.5);
+}
+
+void
+Dialog::createLayout()
+{
+ layout = new QVBoxLayout(this);
+ layout->setSpacing(0);
+ layout->setContentsMargins(0, 0, 0, 0);
+ layout->setMargin(0);
+}
+
+Dialog::Dialog(QWidget *parent) :
+ QDialog(parent)
+{
+ setMinimumSize(940, 740);
+ //setStyleSheet("border-color:lightgray");
+ setWindowFlags(Qt::FramelessWindowHint);
+
+ createLayout();
+ QWebView *webView = new QWebView(parent);
+
+#ifdef DEBUG
+ QWebSettings::globalSettings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
+#else
+ webView->setContextMenuPolicy(Qt::NoContextMenu);
+#endif
+
+#if QT_VERSION >= 0x040700
+ QWebSettings::globalSettings()->setAttribute(QWebSettings::LocalContentCanAccessFileUrls, true);
+#endif
+ QWebSettings::globalSettings()->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, true);
+
+ //QWebSettings::globalSettings()->setAttribute(, true);
+ webView->setUrl(QUrl("qrc:/html/index.html"));
+ webView->show();
+ layout->addWidget(webView);
+
+ setLayout(layout);
+
+ jsi = new JavaScriptInterface(webView);
+ QObject::connect(
+ webView->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()),
+ jsi, SLOT(attachToDOM())
+ );
+ QObject::connect(
+ jsi, SIGNAL(hideMainWindow()),
+ this, SLOT(hide())
+ );
+}
+
diff --git a/src/Dialog.h b/src/Dialog.h
new file mode 100644
index 0000000..e547fca
--- /dev/null
+++ b/src/Dialog.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2010,2011 - RZ Uni Freiburg
+ * Copyright (c) 2010,2011 - OpenSLX Project
+ *
+ * This program/file is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your feedback to feedback@openslx.org
+ *
+ * General information about OpenSLX - libChooser can be found under
+ * http://openslx.org
+ *
+ */
+
+#ifndef DIALOG_H_
+#define DIALOG_H_
+
+#include <QDialog>
+#include <Session.h>
+#include <SessionTreeModel.h>
+
+class QTextEdit;
+class QTextBrowser;
+class QTreeView;
+class QChooserTreeView;
+class QPushButton;
+class QSplitter;
+class QHBoxLayout;
+class QVBoxLayout;
+class QGroupBox;
+class QSettings;
+class QSizeGrip;
+
+class JavaScriptInterface;
+
+class Dialog : public QDialog
+{
+ Q_OBJECT
+
+ public:
+ explicit Dialog(QWidget *parent = 0);
+ void setTheme();
+ void showSettingsPVS();
+ void center();
+
+ void addItems(const QList<Session *> entries);
+
+ private:
+//void createHeader();
+
+ void createLayout();
+ QString readStyle(const QString &filename);
+ QVBoxLayout *layout;
+ JavaScriptInterface* jsi;
+
+
+};
+
+#endif /* DIALOG_H_ */
diff --git a/src/Globals.cpp b/src/Globals.cpp
new file mode 100644
index 0000000..9100ebb
--- /dev/null
+++ b/src/Globals.cpp
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2010,2011 - RZ Uni Freiburg
+ * Copyright (c) 2010,2011 - OpenSLX Project
+ *
+ * This program/file is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your feedback to feedback@openslx.org
+ *
+ * General information about OpenSLX - libChooser can be found under
+ * http://openslx.org
+ *
+ */
+
+#include <QDir>
+#include <QString>
+#include "Globals.h"
+
+//QString binPath(QApplication::applicationDirPath());
+QString binPath(EMUCHOOSER_BIN_PATH);
+QString etcPath(EMUCHOOSER_ETC_BASE_PATH);
+QString vSessionPath(EMUCHOOSER_VMPATH);
+QString xSessionPath(EMUCHOOSER_X_SESSIONS_PATH);
+QString userPath(QDir::homePath() + "/.openslx");
+
+QString runVmScript(binPath + "/run-virt.sh");
+QString filterScript(binPath + "/xmlfilter.sh");
+QString printerScript(etcPath + "/printer.sh");
+QString scannerScript(etcPath + "/scanner.sh");
+
+const QString globalConfFile(etcPath + "/emuchooser.conf");
+const QString userConfFile(userPath + "/emuchooser.conf");
+const QString previousSessionFile(userPath + "/emuchooser_prev_session");
+
+bool debugMode = false;
+bool pvsEnabled = false;
+
+QString pool;
+QString theme;
diff --git a/src/Globals.h b/src/Globals.h
new file mode 100644
index 0000000..2e06df1
--- /dev/null
+++ b/src/Globals.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2010,2011 - RZ Uni Freiburg
+ * Copyright (c) 2010,2011 - OpenSLX Project
+ *
+ * This program/file is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your feedback to feedback@openslx.org
+ *
+ * General information about OpenSLX - libChooser can be found under
+ * http://openslx.org
+ *
+ */
+
+#ifndef VMCHOOSER_GLOBALS_H
+#define VMCHOOSER_GLOBALS_H
+
+#include "Config.h"
+#include "Version.h"
+
+class QString;
+
+extern bool debugMode;
+extern bool pvsEnabled;
+
+extern QString binPath;
+extern QString etcPath;
+extern QString vSessionPath;
+extern QString xSessionPath;
+extern QString userPath;
+
+extern QString runVmScript;
+extern QString filterScript;
+extern QString printerScript;
+extern QString scannerScript;
+
+extern const QString globalConfFile;
+extern const QString userConfFile;
+extern const QString previousSessionFile;
+
+extern QString pool;
+extern QString theme;
+
+#endif
diff --git a/src/JavaScriptInterface.cpp b/src/JavaScriptInterface.cpp
new file mode 100644
index 0000000..dcae24b
--- /dev/null
+++ b/src/JavaScriptInterface.cpp
@@ -0,0 +1,143 @@
+/*
+ * JavaScriptInterface.cpp
+ *
+ * Created on: Oct 26, 2011
+ * Author: ssc
+ */
+
+#include "JavaScriptInterface.h"
+#include <QDebug>
+#include <QString>
+#include <QFile>
+
+#include <VSession.h>
+#include <VSessionHandler.h>
+#include <XSession.h>
+#include <XSessionHandler.h>
+
+
+
+JavaScriptInterface::JavaScriptInterface(QWebView* parent) {
+ // TODO Auto-generated constructor stub
+
+ index = 1;
+ m_dom = parent->page()->mainFrame();
+}
+
+JavaScriptInterface::~JavaScriptInterface() {
+ // TODO Auto-generated destructor stub
+}
+
+void JavaScriptInterface::addItems(const QList<Session *> entries) {
+ int i;
+ for(i=0; i<entries.size(); i++) {
+ m_data.insert(index + i, entries.at(i));
+ }
+ index = index + i;
+}
+
+
+void JavaScriptInterface::attachToDOM() {
+ m_dom->addToJavaScriptWindowObject(QString("emuchooser"), this);
+}
+
+QVariantList JavaScriptInterface::getList() {
+ QVariantMap elem;
+ QVariantList list;
+// qDebug() << "getList was called";
+
+ QHashIterator<int, Session *> i(m_data);
+ while (i.hasNext()) {
+ i.next();
+ elem.insert("title", i.value()->shortDescription());
+ elem.insert("icon", i.value()->icon());
+ elem.insert("id", i.key());
+ list << elem;
+ elem.clear();
+ }
+
+ return list;
+}
+
+QString JavaScriptInterface::getDetails(int id) {
+// qDebug() << "getDetails was called";
+
+ QString tpl, ret;
+ QFile file(":/html/detail");
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
+ return QString();
+
+ while (!file.atEnd()) {
+ QByteArray line = file.readLine();
+ tpl.append(line);
+ }
+
+
+ ret = tpl.arg(m_data.value(id)->title())
+ .arg(m_data.value(id)->screenshot())
+ .arg(m_data.value(id)->author())
+ .arg(m_data.value(id)->creationDate())
+ .arg(m_data.value(id)->changeDate())
+ .arg(m_data.value(id)->os())
+ .arg(m_data.value(id)->emulator())
+ .arg(m_data.value(id)->description());
+
+ return ret;
+}
+
+
+
+QString JavaScriptInterface::getFoo() {
+// qDebug() << "getFoo was called";
+ return QString("foobar");
+}
+
+QString JavaScriptInterface::getAbout() {
+// qDebug() << "getAbout was called";
+ QString ret;
+ QFile file(":/html/about");
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
+ return QString();
+
+ while (!file.atEnd()) {
+ QByteArray line = file.readLine();
+ ret.append(line);
+ }
+ return ret;
+}
+
+QString JavaScriptInterface::getHelp() {
+// qDebug() << "getHelp was called";
+ QString ret;
+ QFile file(":/html/help");
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
+ return QString();
+
+ while (!file.atEnd()) {
+ QByteArray line = file.readLine();
+ ret.append(line);
+ }
+ return ret;
+}
+
+QString JavaScriptInterface::getWelcome() {
+// qDebug() << "getWelcome was called";
+ QString ret;
+ QFile file(":/html/welcome");
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
+ return QString();
+
+ while (!file.atEnd()) {
+ QByteArray line = file.readLine();
+ ret.append(line);
+ }
+ return ret;
+}
+
+void JavaScriptInterface::run(int id) {
+ qDebug() << "start system: " << m_data.value(id)->title();
+ emit hideMainWindow();
+ m_data.value(id)->run();
+}
+
+
diff --git a/src/JavaScriptInterface.h b/src/JavaScriptInterface.h
new file mode 100644
index 0000000..0953fd6
--- /dev/null
+++ b/src/JavaScriptInterface.h
@@ -0,0 +1,60 @@
+/*
+ * JavaScriptInterface.h
+ *
+ * Created on: Oct 26, 2011
+ * Author: ssc
+ */
+
+#ifndef JAVASCRIPTINTERFACE_H_
+#define JAVASCRIPTINTERFACE_H_
+
+#include <QObject>
+#include <QWebFrame>
+#include <QWebView>
+#include <QVariantList>
+#include <QVariantMap>
+
+//#include "QWebViewCustom.h"
+
+class Session;
+
+class JavaScriptInterface: public QObject {
+
+ Q_OBJECT
+
+public:
+ JavaScriptInterface(QWebView* parent = 0);
+ virtual ~JavaScriptInterface();
+
+ void addItems(const QList<Session *> entries);
+
+
+private:
+
+ QWebFrame* m_dom;
+ QHash<int, Session*> m_data;
+ int index;
+
+ signals:
+ void quit();
+ void start();
+ void help();
+
+signals:
+ void hideMainWindow();
+
+public slots:
+ void attachToDOM();
+ QVariantList getList();
+ QString getDetails(int id);
+ QString getFoo();
+ QString getAbout();
+ QString getHelp();
+ QString getWelcome();
+
+ void run(int id);
+
+
+};
+
+#endif /* JAVASCRIPTINTERFACE_H_ */
diff --git a/src/Version.h.in b/src/Version.h.in
new file mode 100644
index 0000000..4458a38
--- /dev/null
+++ b/src/Version.h.in
@@ -0,0 +1,9 @@
+#ifndef VERSION_H
+#define VERSION_H
+
+
+#define VERSION_MAJOR @libChooser_VERSION_MAJOR@
+#define VERSION_MINOR @libChooser_VERSION_MINOR@
+#define VERSION_PATCH @libChooser_VERSION_PATCH@
+
+#endif //VERSION_H
diff --git a/src/gui.qrc b/src/gui.qrc
new file mode 100644
index 0000000..a471aaf
--- /dev/null
+++ b/src/gui.qrc
@@ -0,0 +1,72 @@
+<RCC>
+ <qresource prefix="/html">
+ <file alias="index.html">html/index.html</file>
+ <file alias="about">html/about.html</file>
+ <file alias="help">html/help.html</file>
+ <file alias="welcome">html/welcome.html</file>
+ <file alias="detail">html/detail.html</file>
+ </qresource>
+ <qresource prefix="/js">
+ <file alias="jquery">html/js/jquery.js</file>
+ <file alias="emuchooser">html/js/emuchooser.js</file>
+ <file alias="jquery-ui">html/js/jquery-ui.js</file>
+ </qresource>
+ <qresource prefix="/img">
+ <file alias="bg">html/img/bg.png</file>
+ <file alias="planets">html/img/planets.png</file>
+ <file alias="amiga">html/img/icons/amiga.png</file>
+ <file alias="amiga2">html/img/icons/amiga2.png</file>
+ <file alias="atari">html/img/icons/atari.png</file>
+ <file alias="beos">html/img/icons/beos.png</file>
+ <file alias="bsd">html/img/icons/bsd.png</file>
+ <file alias="debian">html/img/icons/debian.png</file>
+ <file alias="dosbox">html/img/icons/dosbox.png</file>
+ <file alias="fedora">html/img/icons/fedora.png</file>
+ <file alias="gentoo">html/img/icons/gentoo.png</file>
+ <file alias="gnome">html/img/icons/gnome.png</file>
+ <file alias="kde">html/img/icons/kde.png</file>
+ <file alias="linux">html/img/icons/linux.png</file>
+ <file alias="locked">html/img/icons/locked.png</file>
+ <file alias="lxde">html/img/icons/lxde.png</file>
+ <file alias="macos">html/img/icons/macos.png</file>
+ <file alias="mess">html/img/icons/mess.png</file>
+ <file alias="none">html/img/icons/none.png</file>
+ <file alias="opensolaris">html/img/icons/opensolaris.png</file>
+ <file alias="os2">html/img/icons/os2.png</file>
+ <file alias="osx">html/img/icons/osx.png</file>
+ <file alias="qemu">html/img/icons/qemu.png</file>
+ <file alias="redhat">html/img/icons/redhat.png</file>
+ <file alias="riscos">html/img/icons/riscos.png</file>
+ <file alias="solaris">html/img/icons/solaris.png</file>
+ <file alias="suse">html/img/icons/suse.png</file>
+ <file alias="term">html/img/icons/term.png</file>
+ <file alias="ubuntu">html/img/icons/ubuntu.png</file>
+ <file alias="unknown">html/img/icons/unknown.png</file>
+ <file alias="virtualbox">html/img/icons/virtualbox.png</file>
+ <file alias="vmware">html/img/icons/vmware.png</file>
+ <file alias="win7">html/img/icons/win7.png</file>
+ <file alias="win311">html/img/icons/win311.png</file>
+ <file alias="windows">html/img/icons/windows.png</file>
+ <file alias="xfce">html/img/icons/xfce.png</file>
+ <file alias="ui-bg_flat_0_aaaaaa_40x100">html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png</file>
+ <file alias="ui-bg_flat_75_ffffff_40x100">html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png</file>
+ <file alias="ui-bg_glass_55_fbf9ee_1x400">html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png</file>
+ <file alias="ui-bg_glass_65_ffffff_1x400">html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png</file>
+ <file alias="ui-bg_glass_75_dadada_1x400">html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png</file>
+ <file alias="ui-bg_glass_75_e6e6e6_1x400">html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png</file>
+ <file alias="ui-bg_glass_95_fef1ec_1x400">html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png</file>
+ <file alias="ui-bg_highlight-soft_75_cccccc_1x100">html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png</file>
+ <file alias="ui-icons_2e83ff_256x240">html/css/smoothness/images/ui-icons_2e83ff_256x240.png</file>
+ <file alias="ui-icons_222222_256x240">html/css/smoothness/images/ui-icons_222222_256x240.png</file>
+ <file alias="ui-icons_454545_256x240">html/css/smoothness/images/ui-icons_454545_256x240.png</file>
+ <file alias="ui-icons_888888_256x240">html/css/smoothness/images/ui-icons_888888_256x240.png</file>
+ <file alias="ui-icons_cd0a0a_256x240">html/css/smoothness/images/ui-icons_cd0a0a_256x240.png</file>
+ <file alias="help">html/img/help.png</file>
+ <file alias="noscreenshot">html/img/noscreenshot.png</file>
+ </qresource>
+ <qresource prefix="/css">
+ <file alias="style">html/css/style.css</file>
+ <file alias="icons">html/css/icons.css</file>
+ <file alias="jquery-ui">html/css/smoothness/jquery-ui.css</file>
+ </qresource>
+</RCC>
diff --git a/src/html/about.html b/src/html/about.html
new file mode 100644
index 0000000..2d8a50e
--- /dev/null
+++ b/src/html/about.html
@@ -0,0 +1,25 @@
+<h3>About</h3>
+
+<p align="justify">The electronic collections of today's libraries, museums and archives are
+growing and increasingly have a more relevant role in the holdings. Memory
+institutions must address users' need to access a widening range of digital
+artefacts. Often the formats of those artefacts are outdated and they cannot
+be run or rendered on today's systems any longer. This is where emulation
+can provide the required digital environments suitable for a given object type.</p>
+
+<p align="justify">This project aims on a practical demonstration to access a wide range of
+different original computer environments from the last 30 years.</p>
+<br/>
+
+<h4>Contact</h4>
+<p>
+<i>University of Freiburg</i><br/>
+<b>Chair in Communication Systems</b><br/>
+<br/>
+Hermann-Herder-Str. 10 <br/>
+79104 Freiburg <br/>
+Germany<br/>
+<br/>
+email: fla@uni-freiburg.de<br/>
+web: http://www.ks.uni-freiburg.de<br/>
+</p> \ No newline at end of file
diff --git a/src/html/css/icons.css b/src/html/css/icons.css
new file mode 100644
index 0000000..1ef61fc
--- /dev/null
+++ b/src/html/css/icons.css
@@ -0,0 +1,34 @@
+
+ .amiga2 { background-image:url(qrc:/img/amiga2);}
+ .amiga { background-image:url(qrc:/img/amiga);}
+ .atari { background-image:url(qrc:/img/atari);}
+ .beos { background-image:url(qrc:/img/beos);}
+ .bds { background-image:url(qrc:/img/bsd);}
+ .debian { background-image:url(qrc:/img/debian);}
+ .dosbox { background-image:url(qrc:/img/dosbox);}
+ .fedora { background-image:url(qrc:/img/fedora);}
+ .gentoo { background-image:url(qrc:/img/gentoo);}
+ .gnome { background-image:url(qrc:/img/gnome);}
+ .kde { background-image:url(qrc:/img/kde);}
+ .linux { background-image:url(qrc:/img/linux);}
+ .lxde { background-image:url(qrc:/img/lxde);}
+ .macos { background-image:url(qrc:/img/macos);}
+ .mess { background-image:url(qrc:/img/mess);}
+ .none { background-image:url(qrc:/img/none);}
+ .opensolaris { background-image:url(qrc:/img/opensolaris);}
+ .os2 { background-image:url(qrc:/img/os2);}
+ .osx { background-image:url(qrc:/img/osx);}
+ .qemu { background-image:url(qrc:/img/qemu);}
+ .redhat { background-image:url(qrc:/img/redhat);}
+ .riscos { background-image:url(qrc:/img/riscos);}
+ .solaris { background-image:url(qrc:/img/solaris);}
+ .suse { background-image:url(qrc:/img/suse);}
+ .term { background-image:url(qrc:/img/term);}
+ .ubnutu { background-image:url(qrc:/img/ubuntu);}
+ .unknown { background-image:url(qrc:/img/unknown);}
+ .virtualbox { background-image:url(qrc:/img/virtualbox);}
+ .vmware { background-image:url(qrc:/img/vmware);}
+ .win311 { background-image:url(qrc:/img/win311);}
+ .win7 { background-image:url(qrc:/img/win7);}
+ .windows { background-image:url(qrc:/img/windows);}
+ .xfce { background-image:url(qrc:/img/xfce);}
diff --git a/src/html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png b/src/html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644
index 0000000..5b5dab2
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png b/src/html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
new file mode 100644
index 0000000..ac8b229
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png b/src/html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100644
index 0000000..ad3d634
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png b/src/html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100644
index 0000000..42ccba2
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png b/src/html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100644
index 0000000..5a46b47
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png b/src/html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100644
index 0000000..86c2baa
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png b/src/html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644
index 0000000..4443fdc
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/src/html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100644
index 0000000..7c9fa6c
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-icons_222222_256x240.png b/src/html/css/smoothness/images/ui-icons_222222_256x240.png
new file mode 100644
index 0000000..b273ff1
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-icons_222222_256x240.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-icons_2e83ff_256x240.png b/src/html/css/smoothness/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 0000000..09d1cdc
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-icons_2e83ff_256x240.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-icons_454545_256x240.png b/src/html/css/smoothness/images/ui-icons_454545_256x240.png
new file mode 100644
index 0000000..59bd45b
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-icons_454545_256x240.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-icons_888888_256x240.png b/src/html/css/smoothness/images/ui-icons_888888_256x240.png
new file mode 100644
index 0000000..6d02426
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-icons_888888_256x240.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-icons_cd0a0a_256x240.png b/src/html/css/smoothness/images/ui-icons_cd0a0a_256x240.png
new file mode 100644
index 0000000..2ab019b
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-icons_cd0a0a_256x240.png
Binary files differ
diff --git a/src/html/css/smoothness/jquery-ui.css b/src/html/css/smoothness/jquery-ui.css
new file mode 100644
index 0000000..b088484
--- /dev/null
+++ b/src/html/css/smoothness/jquery-ui.css
@@ -0,0 +1,568 @@
+/*
+ * jQuery UI CSS Framework 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(qrc:/img/ui-bg_flat_75_ffffff_40x100) 50% 50% repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(qrc:/img/ui-bg_highlight-soft_75_cccccc_1x100) 50% 50% repeat-x; color: #222222; font-weight: bold; }
+.ui-widget-header a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(qrc:/img/ui-bg_glass_75_e6e6e6_1x400) 50% 50% repeat-x; font-weight: normal; color: #555555; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(qrc:/img/ui-bg_glass_75_dadada_1x400) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(qrc:/img/ui-bg_glass_65_ffffff_1x400) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(qrc:/img/ui-bg_glass_55_fbf9ee_1x400) 50% 50% repeat-x; color: #363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(qrc:/img/ui-bg_glass_95_fef1ec_1x400) 50% 50% repeat-x; color: #cd0a0a; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(qrc:/img/ui-icons_222222_256x240); }
+.ui-widget-content .ui-icon {background-image: url(qrc:/img/ui-icons_222222_256x240); }
+.ui-widget-header .ui-icon {background-image: url(qrc:/img/ui-icons_222222_256x240); }
+.ui-state-default .ui-icon { background-image: url(qrc:/img/ui-icons_888888_256x240); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(qrc:/img/ui-icons_454545_256x240); }
+.ui-state-active .ui-icon {background-image: url(qrc:/img/ui-icons_454545_256x240); }
+.ui-state-highlight .ui-icon {background-image: url(qrc:/img/ui-icons_2e83ff_256x240); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(qrc:/img/ui-icons_cd0a0a_256x240); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(qrc:/img/ui-bg_flat_0_aaaaaa_40x100) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(qrc:/img/ui-bg_flat_0_aaaaaa_40x100) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
+ * jQuery UI Resizable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizable#theming
+ */
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
+ * jQuery UI Selectable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+/*
+ * jQuery UI Accordion 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }
+/*
+ * jQuery UI Autocomplete 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.16
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+ list-style:none;
+ padding: 2px;
+ margin: 0;
+ display:block;
+ float: left;
+}
+.ui-menu .ui-menu {
+ margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+ margin:0;
+ padding: 0;
+ zoom: 1;
+ float: left;
+ clear: left;
+ width: 100%;
+}
+.ui-menu .ui-menu-item a {
+ text-decoration:none;
+ display:block;
+ padding:.2em .4em;
+ line-height:1.5;
+ zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+ font-weight: normal;
+ margin: -1px;
+}
+/*
+ * jQuery UI Button 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button#theming
+ */
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; }
+button.ui-button-icons-only { width: 3.7em; }
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4; }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { padding: .4em 1em; }
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+/*
+ * jQuery UI Dialog 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/*
+ * jQuery UI Slider 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider#theming
+ */
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
+ * jQuery UI Tabs 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs#theming
+ */
+.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
+.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
+/*
+ * jQuery UI Datepicker 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+ display: none; /*sorry for IE5*/
+ display/**/: block; /*sorry for IE5*/
+ position: absolute; /*must have*/
+ z-index: -1; /*must have*/
+ filter: mask(); /*must have*/
+ top: -4px; /*must have*/
+ left: -4px; /*must have*/
+ width: 200px; /*must have*/
+ height: 200px; /*must have*/
+}/*
+ * jQuery UI Progressbar 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar#theming
+ */
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file
diff --git a/src/html/css/style.css b/src/html/css/style.css
new file mode 100644
index 0000000..61f33c5
--- /dev/null
+++ b/src/html/css/style.css
@@ -0,0 +1,166 @@
+html,body {
+ padding: 0;
+ margin: 0;
+ height: 100%;
+ width: 100%
+}
+
+html {
+ font: 0.9em/1.2 Verdana, sans-serif;
+}
+
+body {
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ height: 100%;
+ border:1px solid #aaa;
+ -webkit-box-sizing: border-box;
+}
+
+ul {
+ margin: 0;
+ padding: 0;
+}
+
+button .ui-button-text {
+ font-size: 0.7em;
+ font-weight:bold;
+}
+
+p {
+ font-size: 0.8em;
+ line-height: 1.3em;
+}
+
+#head {
+ height: 120px;
+ display: -webkit-box;
+ -webkit-box-orient: horizontal;
+ -webkit-box-pack: center;
+ -webkit-box-align: center;
+ border-bottom: 1px solid #aaa;
+ background-image: -webkit-linear-gradient(bottom, rgb(250, 250, 250) 5%,
+ rgb(255, 255, 255) 50% );
+}
+
+#middle {
+ display: -webkit-box;
+ -webkit-box-flex: 1;
+ -webkit-box-orient: horizontal;
+}
+
+#menu {
+ width: 350px;
+ border-right: 1px solid #aaa;
+ background-color: #fafafa;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+}
+
+#content {
+ -webkit-box-flex: 1;
+ padding: 10px;
+}
+
+#foot {
+ height: 40px;
+ padding: 4px 10px;
+ border-top: 1px solid #aaa;
+ display: -webkit-box;
+ -webkit-box-orient: horizontal;
+ -webkit-box-pack: end;
+ -webkit-box-align: center;
+}
+
+.listhead {
+ -webkit-box-sizing: border-box;
+ display: block;
+ margin: 0;
+ width: 100%;
+ font-size: 0.8em;
+ padding: 8px;
+ border-top: 0px solid #bbb;
+ border-bottom: 1px solid #ccc;
+ border-left: 0px solid #bbb;
+ border-right: 0px solid #999;
+ background-color: #fff;
+ background-image: -webkit-linear-gradient(bottom, rgb(250, 250, 250) 5%,
+ rgb(255, 255, 255) 50% );
+}
+
+.listhead input {
+ border: 1px solid #333;
+}
+
+.listcontent {
+ -webkit-box-flex: 1;
+ overflow-y: auto;
+ scroll: auto;
+}
+
+.list {
+ -webkit-box-sizing: border-box;
+ display: block;
+ margin: 0;
+ width: 100%;
+ font-size: 0.8em;
+ padding: 8px;
+ padding-left: 50px;
+ cursor: pointer;
+ border-top: 0px solid #bbb;
+ border-bottom: 1px solid #ccc;
+ border-left: 0px solid #bbb;
+ border-right: 0px solid #999;
+ background-color: #fff;
+ background-repeat: no-repeat;
+ background-position: 16px 0.25em;
+ background-size: 24px 24px;
+ border-left: 0px solid #fff;
+}
+
+.list.selected {
+ background-position: 8px 0.25em;
+ padding-left: 42px;
+ font-style: italic;
+ border-left: 8px solid #ace;
+ background-color: #f0f8ff;
+}
+
+.list:hover {
+ background-position: 8px 0.25em;
+ padding-left: 42px;
+ background-color: #eefeff;
+ border-left: 8px solid #7af;
+}
+
+.titlebg {
+ height: 100%;
+ width: 360px;
+ text-align: right;
+ padding-right: 20px;
+ padding-top: 60px;
+ background-position: right;
+ background-repeat: repeat-y;
+ background-image: url(qrc:/img/bg);
+}
+
+div {
+ -webkit-box-sizing: border-box;
+}
+
+.title_font {
+ font-size: 1.6em;
+ font-style: italic;
+ display: block;
+}
+
+.subtitle_font {
+ font-size: 1.2em:
+ font-style:italic;
+}
+
+h1,h2,h3,h4,h5,h6 {
+ margin: 0;
+ padding: 0;
+ display: block;
+}
diff --git a/src/html/detail.html b/src/html/detail.html
new file mode 100644
index 0000000..c0ad88a
--- /dev/null
+++ b/src/html/detail.html
@@ -0,0 +1,30 @@
+<h3>%1</h3>
+
+<div style="margin:10px;float:right;"><img style="max-width:200px;" src="%2" /></div>
+
+<p>
+<b><i>Author</i></b><br/>
+%3<br/><br/>
+
+<!--
+<b><i>Created</i></b><br/>
+%4<br/><br/>
+ -->
+
+<b><i>Last Update</i></b><br/>
+%6<br/><br/>
+
+<b><i>Operating System</i></b><br/>
+%7<br/><br/>
+
+<b><i>Emulator</i></b><br/>
+%8<br/><br/>
+<br/>
+</p>
+
+<p>
+<b><i>Description</i></b><br/>
+
+%9
+
+</p> \ No newline at end of file
diff --git a/src/html/help.html b/src/html/help.html
new file mode 100644
index 0000000..1ddc0e0
--- /dev/null
+++ b/src/html/help.html
@@ -0,0 +1,14 @@
+<h3>Help</h3>
+
+<p align="justify">The project incorporates practical research being done at Freiburg University
+for the Open Planets Foundation. It looks into on how to integrate different
+emulators for a number of original environments into a single graphical
+desktop. This case study looks into options for future reading room systems
+based on a stateless Linux workstations. It is a prototypical implementation to
+demonstrate the different emulators and experience a wide range of different
+original environments.</p>
+
+<p align="justify">If possible a full screen experience is offered for the original environment.
+Unfortunately sometimes it is difficult to simply close a session conveniently.
+Here the key combination of <i>CTRL-ALT-BACKSPACE</i> might help to restart the
+environment chooser.</p> \ No newline at end of file
diff --git a/src/html/img/bg.png b/src/html/img/bg.png
new file mode 100644
index 0000000..bbd5668
--- /dev/null
+++ b/src/html/img/bg.png
Binary files differ
diff --git a/src/html/img/help.png b/src/html/img/help.png
new file mode 100644
index 0000000..2d23f89
--- /dev/null
+++ b/src/html/img/help.png
Binary files differ
diff --git a/src/html/img/icons/Atari.svg b/src/html/img/icons/Atari.svg
new file mode 100644
index 0000000..ab14ef7
--- /dev/null
+++ b/src/html/img/icons/Atari.svg
@@ -0,0 +1,58 @@
+<?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://creativecommons.org/ns#"
+ 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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2816"
+ version="1.1"
+ inkscape:version="0.48.1 r9760"
+ width="1024"
+ height="1346"
+ sodipodi:docname="Atari.svg">
+ <title
+ id="title2830">Atari Games Logo</title>
+ <metadata
+ id="metadata2822">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Atari Games Logo</dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs2820" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1048"
+ inkscape:window-height="816"
+ id="namedview2818"
+ showgrid="false"
+ inkscape:zoom="0.35066865"
+ inkscape:cx="783.74363"
+ inkscape:cy="891.66253"
+ inkscape:window-x="1888"
+ inkscape:window-y="174"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2816" />
+ <path
+ style="fill:#000000"
+ d="M 361 12 L 361 48.75 C 360.96433 178.83197 347.08864 298.45645 322.5 380.875 C 312.58541 414.10766 298.91205 445.41113 285.25 466.09375 C 234.94071 542.25569 174.61693 595.91086 106.6875 624.9375 C 85.347206 634.05633 53.880219 643.47066 32.75 647.0625 L 26 648.21875 L 26 705.09375 L 26 762 L 28.5625 762 C 34.570343 762 59.653214 757.54709 74.28125 753.875 C 140.24952 737.31492 205.77178 703.04494 265 654.15625 C 280.18583 641.62142 312.38004 609.30091 323.40625 595.5 C 356.63248 553.91257 382.48551 498.13083 395.53125 439.875 C 411.00923 370.75803 416.20376 290.53547 417.65625 99.25 L 418.3125 12 L 389.65625 12 L 361 12 z M 441 12 L 441 387 L 441 762 L 495.5 762 L 550 762 L 550 387 L 550 12 L 495.5 12 L 441 12 z M 573 12 L 573 72.25 C 573.04288 263.39686 579.37457 368.63888 595.0625 439 C 606.89639 492.07554 630.84441 546.75673 658.46875 583.875 C 723.57423 671.35592 843.46863 744.4281 948 760.34375 C 953.225 761.13929 959.1875 761.85225 961.25 761.90625 L 965 762 L 965 705.09375 L 965 648.21875 L 958.25 647.03125 C 904.34726 637.74724 848.79844 612.58819 805.25 577.71875 C 768.75451 548.49664 731.7098 506.91037 704.59375 464.71875 C 657.75011 391.83166 630 238.58979 630 52.75 L 630 12 L 601.5 12 L 573 12 z M 995 778.5 C 988.54668 778.5 986.80712 778.87572 983.84375 780.90625 C 970.40371 790.11552 971.86371 810.47448 986.4375 817.09375 C 994.71237 820.85211 1004.5871 818.63972 1010.7188 811.65625 C 1018.7139 802.55032 1016.8049 788.28305 1006.6562 781.25 C 1003.1488 778.8194 1001.7356 778.5 995 778.5 z M 994.65625 780.125 C 1003.8233 779.83278 1012.0804 786.81613 1012.8125 796.9375 C 1013.4858 806.2468 1009.0563 812.80379 1000.0938 815.84375 C 996.52444 817.05438 993.51117 817.22081 991 816.3125 C 981.88875 813.01689 977 806.86634 977 798.75 C 977 790.71991 981.03379 784.54637 988.25 781.53125 C 990.38433 780.63947 992.54078 780.19243 994.65625 780.125 z M 987 786 L 987 798.5 C 987 810.33333 987.10667 811 989 811 C 990.75758 811 991 810.33333 991 805.5 C 991 800.75856 991.26438 800 992.90625 800 C 994.17188 800 995.84354 801.84508 997.90625 805.5 C 999.61346 808.525 1001.6798 811 1002.5 811 C 1003.3203 811 1004 810.73981 1004 810.4375 C 1004 809.40102 1000.766 803.5109 999.25 801.78125 C 997.87881 800.21678 997.94896 799.86769 1000.0625 798.15625 C 1001.7584 796.78297 1002.4062 795.21925 1002.4062 792.5 C 1002.4062 787.51258 1000.1585 786 992.8125 786 L 987 786 z M 993.0625 788 C 998.39241 788 1000.9495 792.92549 997.4375 796.4375 C 996.57322 797.30179 994.77322 798 993.4375 798 C 991.18988 798 991 797.62745 991 793 C 991 788.61363 991.25028 788 993.0625 788 z M 231 831 L 231 856 L 231 881 L 266 881 L 301 881 L 301 1025.5 L 301 1170 L 326 1170 L 351 1170 L 351.25 1025.75 L 351.5 881.5 L 386.75 881.25 L 422 880.96875 L 422 856 L 422 831 L 326.5 831 L 231 831 z M 913 831 L 913 1000.5 L 913 1170 L 938 1170 L 963 1170 L 963 1000.5 L 963 831 L 938 831 L 913 831 z M 747.625 831.03125 C 711.57411 831.06811 702.62671 831.87209 693.71875 835.8125 C 687.57127 838.53183 680.37494 845.36199 677.34375 851.34375 C 671.89741 862.09159 672.05005 857.35354 672.03125 1019.75 L 672 1170 L 697 1170 L 722 1170 L 722 1030.25 C 722.0037 891.84433 722.03251 890.46584 724.03125 887.1875 C 727.44095 881.59494 730.36789 881.01175 754.21875 881.03125 C 768.62649 881.04301 777.63585 881.48598 782.125 882.4375 C 804.23682 887.12433 816.2298 904.30461 816.375 931.5 C 816.44409 944.4398 813.90946 952.94411 807.15625 962.53125 C 798.82545 974.35801 787.25943 982.64343 765.84375 992.0625 C 756.94634 995.97576 752.34118 998.64157 749.375 1001.5938 C 739.50781 1011.4144 737.57671 1031.2386 745.03125 1046.125 C 746.23234 1048.5236 764.81502 1077.1023 786.34375 1109.625 L 825.5 1168.75 L 854.5 1169.2188 C 870.45 1169.464 883.63692 1169.5648 883.8125 1169.4375 C 883.98808 1169.3103 866.5891 1142.8922 845.15625 1110.75 C 823.72341 1078.6077 805.25927 1050.4408 804.09375 1048.1562 C 800.88819 1041.8728 800.47146 1036.179 802.9375 1032.25 C 805.1781 1028.6802 808.16185 1026.4543 821.25 1018.6875 C 837.38482 1009.1127 846.76196 999.85957 854.40625 985.90625 C 869.83108 957.75088 870.92421 913.04466 856.9375 883.15625 C 844.29604 856.14254 819.99409 837.68148 790.28125 832.5 C 783.78764 831.3676 773.51553 831.00475 747.625 831.03125 z M 139.1875 831.1875 C 133.15945 831.24464 126.88043 832.07331 122.71875 833.53125 C 115.99037 835.88837 108.00585 843.52126 103.71875 851.71875 C 100.94048 857.03116 90.905775 891.52523 57.15625 1011.5 C 33.484418 1095.65 13.804264 1165.7594 13.4375 1167.2812 L 12.78125 1170.0312 L 38.59375 1169.7812 L 64.40625 1169.5 L 70.65625 1147 C 74.095252 1134.625 79.47269 1115.3924 82.59375 1104.25 L 88.28125 1083.9688 L 139.28125 1084.25 L 190.3125 1084.5 L 202.09375 1126.8438 C 208.57919 1150.1403 214.05577 1169.3995 214.28125 1169.625 C 214.50673 1169.8508 226.18692 1169.9281 240.21875 1169.7812 L 265.71875 1169.5 L 249.96875 1113.5 C 188.87587 896.33347 177.75893 857.46859 175.40625 852.78125 C 169.37484 840.76461 161.1372 834.18046 149.25 831.9375 C 146.32725 831.38602 142.80433 831.15322 139.1875 831.1875 z M 517.1875 831.1875 C 511.15945 831.24464 504.88043 832.07331 500.71875 833.53125 C 493.63026 836.01452 485.72656 843.72865 481.46875 852.34375 C 478.83387 857.67505 466.77705 899.16311 434.46875 1013.9688 C 410.56329 1098.9153 391 1168.7764 391 1169.2188 C 391 1169.6611 402.57988 1169.928 416.71875 1169.7812 L 442.40625 1169.5 L 454.09375 1127.6562 C 460.52005 1104.6435 466.18253 1085.4113 466.6875 1084.9062 C 467.22765 1084.3661 488.35375 1084.0975 517.96875 1084.25 L 568.28125 1084.5 L 579.53125 1124.7188 C 585.70995 1146.836 591.05608 1166.0736 591.40625 1167.4688 L 592.03125 1170 L 618.125 1170 C 640.63715 1170 644.1418 1169.7966 643.65625 1168.5312 C 643.34677 1167.7248 627.28808 1110.9123 607.96875 1042.2812 C 588.64941 973.6502 569.06438 904.09329 564.4375 887.71875 C 559.81063 871.34421 554.81814 855.59421 553.375 852.71875 C 547.36592 840.7457 539.12258 834.1777 527.25 831.9375 C 524.32725 831.38602 520.80433 831.15322 517.1875 831.1875 z M 139.0625 907.9375 C 139.22898 907.95995 139.38261 908.07011 139.53125 908.21875 C 140.08642 908.77392 174.65353 1028.306 175.6875 1033.25 L 176.25 1036 L 139.0625 1036 C 104.10822 1036 101.88251 1035.8947 102.375 1034.25 C 102.66322 1033.2875 110.87778 1004.6 120.59375 970.5 C 130.30971 936.4 138.41711 908.32292 138.625 908.09375 C 138.72894 907.97917 138.89602 907.91505 139.0625 907.9375 z M 516.84375 907.96875 C 517.06475 907.91177 517.34348 908.03098 517.59375 908.28125 C 518.18471 908.87221 552.49703 1027.7754 553.65625 1033.25 L 554.25 1036 L 517.0625 1036 C 482.11086 1036 479.88906 1035.8946 480.375 1034.25 C 480.6594 1033.2875 488.86328 1004.6 498.59375 970.5 C 508.32423 936.4 516.45906 908.32292 516.65625 908.09375 C 516.70555 908.03646 516.77008 907.98774 516.84375 907.96875 z M 49.5625 1334.5938 C 55.572913 1336.1194 65.377043 1336.0181 72.65625 1334.5938 L 49.5625 1334.5938 z M 914.03125 1334.5938 C 920.51867 1336.2899 933.95173 1336.2749 940.90625 1334.5938 L 914.03125 1334.5938 z "
+ id="path2828" />
+</svg>
diff --git a/src/html/img/icons/LICENSE b/src/html/img/icons/LICENSE
new file mode 100644
index 0000000..0c3439e
--- /dev/null
+++ b/src/html/img/icons/LICENSE
@@ -0,0 +1,56 @@
+linux.svg / linux.png
+Source: https://secure.wikimedia.org/wikipedia/commons/wiki/File:Tux-G2.svg
+License: public domain
+
+fedora.svg / fedora.png
+Source: https://secure.wikimedia.org/wikipedia/de/w/index.php?title=Datei:Fedora_%28Linux-Distribution%29_logo.svg&filetimestamp=20080912041413
+License: registered trademark
+
+xfce.svg / xfce.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Xfce_logo.svg
+License: Creative Commons Attribution-Share Alike 3.0 Unported license
+
+ubuntu.svg / ubuntu.png
+Source: https://secure.wikimedia.org/wikipedia/commons/wiki/File:UbuntuCoF.svg
+License: registered trademark
+
+suse.svg / suse.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Suse_logo.svg
+License: GPL / registered trademark
+
+redhat.svg / redhat.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:RedHat.svg
+License: registered trademark
+
+macos.svg / macos.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Mac_OS_Logo_with_Text.svg
+License: registered trademark
+
+osx.svg / osx.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:OSXLeopard.svg
+License: registered trademark
+
+kde.svg / kde.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:KDE_logo.svg
+License: registered trademark
+
+gnome.svg / gnome.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Gnomelogo.svg
+License: GPL / registered trademark
+
+gentoo.svg / gentoo.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Gentoo_Linux_logo_matte.svg
+License: Creative Commons Attribution-Share Alike 2.5 Generic / registered trademark
+
+bsd.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Freebsd_logo.svg
+License: registered trademark
+
+windows.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Windows_logo.svg
+License: registered trademark
+
+vmware.svg / vmware.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Vmware.svg
+License: registered trademark
+
diff --git a/src/html/img/icons/amiga.png b/src/html/img/icons/amiga.png
new file mode 100644
index 0000000..0291875
--- /dev/null
+++ b/src/html/img/icons/amiga.png
Binary files differ
diff --git a/src/html/img/icons/amiga2.png b/src/html/img/icons/amiga2.png
new file mode 100644
index 0000000..d90af56
--- /dev/null
+++ b/src/html/img/icons/amiga2.png
Binary files differ
diff --git a/src/html/img/icons/atari.png b/src/html/img/icons/atari.png
new file mode 100644
index 0000000..419dd16
--- /dev/null
+++ b/src/html/img/icons/atari.png
Binary files differ
diff --git a/src/html/img/icons/beos.png b/src/html/img/icons/beos.png
new file mode 100644
index 0000000..11834fa
--- /dev/null
+++ b/src/html/img/icons/beos.png
Binary files differ
diff --git a/src/html/img/icons/bsd.png b/src/html/img/icons/bsd.png
new file mode 100644
index 0000000..8b26986
--- /dev/null
+++ b/src/html/img/icons/bsd.png
Binary files differ
diff --git a/src/html/img/icons/debian.png b/src/html/img/icons/debian.png
new file mode 100644
index 0000000..b1ebf06
--- /dev/null
+++ b/src/html/img/icons/debian.png
Binary files differ
diff --git a/src/html/img/icons/debian.svg b/src/html/img/icons/debian.svg
new file mode 100644
index 0000000..0146264
--- /dev/null
+++ b/src/html/img/icons/debian.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Debian_Logo" xmlns="http://www.w3.org/2000/svg" width="210" height="260" viewBox="-60 -75 210 260" xml:space="preserve">
+ <title>Debian Logo</title>
+ <desc>For more information see: http://www.debian.org/logos/</desc>
+ <path fill="#D70751" d="M64.525,62.053c-4.125,0.058,0.78,2.125,6.165,2.954c1.488-1.161,2.838-2.336,4.04-3.479 C71.376,62.349,67.965,62.366,64.525,62.053"/>
+ <path fill="#D70751" d="M86.665,56.533c2.457-3.389,4.246-7.102,4.878-10.939c-0.551,2.736-2.035,5.099-3.435,7.592 c-7.711,4.854-0.726-2.883-0.004-5.824C79.814,57.798,86.966,53.619,86.665,56.533"/>
+ <path fill="#D70751" d="M94.839,35.268c0.497-7.428-1.462-5.08-2.121-2.245C93.484,33.423,94.095,38.26,94.839,35.268"/>
+ <path fill="#D70751" d="M48.883-66.264c2.201,0.395,4.757,0.698,4.398,1.224C55.688-65.568,56.235-66.055,48.883-66.264"/>
+ <path fill="#D70751" d="M53.281-65.04l-1.556,0.32l1.448-0.127L53.281-65.04"/>
+ <path fill="#D70751" d="M121.928,38.085c0.247,6.671-1.95,9.907-3.932,15.637l-3.564,1.781c-2.919,5.666,0.282,3.598-1.807,8.105 c-4.556,4.049-13.823,12.67-16.789,13.457c-2.163-0.047,1.469-2.554,1.943-3.537c-6.097,4.188-4.894,6.285-14.217,8.83l-0.273-0.607 C60.293,92.569,28.347,71.129,28.768,41.875c-0.246,1.857-0.698,1.393-1.208,2.144c-1.186-15.052,6.952-30.17,20.675-36.343 c13.427-6.646,29.163-3.918,38.78,5.044C81.733,5.8,71.22-1.534,58.76-0.848C46.552-0.655,35.135,7.102,31.324,15.521 c-6.253,3.938-6.979,15.177-9.704,17.233c-3.665,26.943,6.896,38.583,24.762,52.275c2.812,1.896,0.792,2.184,1.173,3.627 c-5.936-2.779-11.372-6.976-15.841-12.114c2.372,3.473,4.931,6.847,8.239,9.499c-5.596-1.897-13.074-13.563-15.256-14.038 c9.647,17.274,39.142,30.295,54.587,23.836c-7.146,0.263-16.226,0.146-24.256-2.822c-3.371-1.734-7.958-5.331-7.14-6.003 c21.079,7.875,42.854,5.965,61.09-8.655c4.641-3.614,9.709-9.761,11.173-9.846c-2.206,3.317,0.377,1.596-1.318,4.523 c4.625-7.456-2.008-3.035,4.779-12.877l2.507,3.453c-0.931-6.188,7.687-13.704,6.813-23.492c1.975-2.994,2.206,3.22,0.107,10.107 c2.912-7.64,0.767-8.867,1.516-15.171c0.81,2.118,1.867,4.37,2.412,6.606c-1.895-7.382,1.948-12.433,2.898-16.724 c-0.937-0.415-2.928,3.264-3.383-5.457c0.065-3.788,1.054-1.985,1.435-2.917c-0.744-0.427-2.694-3.33-3.88-8.9 c0.86-1.308,2.3,3.393,3.47,3.586c-0.753-4.429-2.049-7.805-2.103-11.202c-3.421-7.149-1.211,0.953-3.985-3.069 c-3.641-11.357,3.021-2.637,3.47-7.796c5.52,7.995,8.667,20.387,10.11,25.519c-1.103-6.258-2.883-12.32-5.058-18.185 c1.677,0.705-2.699-12.875,2.18-3.882c-5.21-19.172-22.302-37.087-38.025-45.493c1.924,1.76,4.354,3.971,3.481,4.317 c-7.819-4.656-6.444-5.018-7.565-6.985c-6.369-2.591-6.788,0.208-11.007,0.004c-12.005-6.368-14.318-5.69-25.368-9.681l0.502,2.349 c-7.953-2.649-9.265,1.005-17.862,0.009c-0.523-0.409,2.753-1.479,5.452-1.871c-7.69,1.015-7.329-1.515-14.854,0.279 c1.855-1.301,3.815-2.162,5.793-3.269c-6.271,0.381-14.971,3.649-12.286,0.677C20.155-62.46,1.987-56.053-8.207-46.494l-0.321-2.142 C-13.2-43.028-28.899-31.888-30.15-24.625l-1.249,0.291c-2.431,4.116-4.004,8.781-5.932,13.016c-3.18,5.417-4.661,2.085-4.208,2.934 c-6.253,12.679-9.359,23.332-12.043,32.069c1.912,2.858,0.046,17.206,0.769,28.688c-3.141,56.709,39.8,111.769,86.737,124.485 c6.88,2.459,17.11,2.364,25.813,2.618c-10.268-2.937-11.595-1.556-21.595-5.044c-7.215-3.398-8.797-7.277-13.907-11.711l2.022,3.573 c-10.021-3.547-5.829-4.39-13.982-6.972l2.16-2.82c-3.249-0.246-8.604-5.475-10.069-8.371l-3.553,0.14 c-4.27-5.269-6.545-9.063-6.379-12.005l-1.148,2.047c-1.301-2.235-15.709-19.759-8.234-15.679c-1.389-1.271-3.235-2.067-5.237-5.703 l1.522-1.739c-3.597-4.627-6.621-10.562-6.391-12.536c1.919,2.592,3.25,3.075,4.568,3.52c-9.083-22.539-9.593-1.242-16.474-22.942 l1.456-0.116c-1.116-1.682-1.793-3.506-2.69-5.298l0.633-6.313c-6.541-7.562-1.829-32.151-0.887-45.637 c0.655-5.485,5.459-11.322,9.114-20.477l-2.227-0.384c4.256-7.423,24.301-29.814,33.583-28.662c4.499-5.649-0.892-0.02-1.772-1.443 c9.878-10.223,12.984-7.222,19.65-9.061c7.19-4.268-6.17,1.664-2.761-1.628c12.427-3.174,8.808-7.216,25.021-8.828 c1.71,0.973-3.969,1.503-5.395,2.766c10.354-5.066,32.769-3.914,47.326,2.811c16.895,7.896,35.873,31.232,36.622,53.189l0.852,0.229 c-0.431,8.729,1.336,18.822-1.727,28.094L121.928,38.085"/>
+ <path fill="#D70751" d="M19.5,67.715l-0.578,2.893c2.71,3.683,4.861,7.673,8.323,10.552C24.755,76.297,22.904,74.288,19.5,67.715"/>
+ <path fill="#D70751" d="M25.909,67.464c-1.435-1.587-2.284-3.497-3.235-5.4c0.909,3.345,2.771,6.219,4.504,9.143L25.909,67.464"/>
+ <path fill="#D70751" d="M139.319,42.814l-0.605,1.52c-1.111,7.892-3.511,15.701-7.189,22.941 C135.589,59.636,138.217,51.28,139.319,42.814"/>
+ <path fill="#D70751" d="M49.698-68.243c2.789-1.022,6.855-0.56,9.814-1.233c-3.855,0.324-7.693,0.517-11.484,1.005L49.698-68.243"/>
+ <path fill="#D70751" d="M-48.219-16.176c0.642,5.951-4.477,8.26,1.134,4.337C-44.078-18.612-48.26-13.709-48.219-16.176"/>
+ <path fill="#D70751" d="M-54.812,11.362c1.292-3.967,1.526-6.349,2.02-8.645C-56.363,7.283-54.435,8.256-54.812,11.362"/>
+</svg> \ No newline at end of file
diff --git a/src/html/img/icons/dosbox.png b/src/html/img/icons/dosbox.png
new file mode 100644
index 0000000..73a0f4c
--- /dev/null
+++ b/src/html/img/icons/dosbox.png
Binary files differ
diff --git a/src/html/img/icons/fedora.png b/src/html/img/icons/fedora.png
new file mode 100644
index 0000000..870716f
--- /dev/null
+++ b/src/html/img/icons/fedora.png
Binary files differ
diff --git a/src/html/img/icons/fedora.svg b/src/html/img/icons/fedora.svg
new file mode 100644
index 0000000..7589d1f
--- /dev/null
+++ b/src/html/img/icons/fedora.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="170.22992"
+ height="170.22435"
+ viewBox="-1.7718431 -1.7718431 32.899101 32.891717"
+ id="svg2870">
+ <defs
+ id="defs2872" />
+ <g
+ transform="translate(-163.23009,-1.7778457)"
+ id="g2886">
+ <path
+ d="M 194.35735,16.449737 C 194.35735,7.3649623 186.99244,-2e-7 177.90778,-2e-7 c -9.08069,0 -16.44241,7.3587875 -16.44903,16.4381502 l -5e-4,-5.38e-4 0,12.729488 5e-4,5.37e-4 c 0.005,2.0615 1.67683,3.730388 3.73966,3.730388 l 0.0179,-5.25e-4 0.001,5.25e-4 12.69701,0 c 9.08175,-0.0034 16.44297,-7.365788 16.44297,-16.448288"
+ id="path3584"
+ style="fill:#072b61;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ <path
+ d="m 954.78125,29.40625 c -22.06307,1e-6 -39.9375,17.874724 -39.9375,39.9375 l 0,21.1875 -21.1875,0 c -22.06302,0 -39.9375,17.72003 -39.9375,39.78125 -5e-5,22.06239 17.87448,39.9375 39.9375,39.9375 22.06183,1e-5 39.9375,-17.87511 39.9375,-39.9375 l 0,-21.1875 21.1875,0 c 22.06162,1e-5 39.9375,-17.718865 39.9375,-39.78125 0,-22.062773 -17.87588,-39.9375 -39.9375,-39.9375 z m 0,18.75 c 11.64586,10e-7 21.1875,9.540273 21.1875,21.1875 0,11.64406 -9.54164,21.1875 -21.1875,21.1875 l -0.15625,0 -17.96875,0 c -1.64677,0 -3.0625,-1.418691 -3.0625,-3.0625 l 0,-18.125 c 0.0207,-11.632222 9.55686,-21.1875 21.1875,-21.1875 z m -61.125,60.96875 18.09375,0 c 1.64403,1e-5 3.09375,1.26167 3.09375,2.90625 l 0,18.28125 c -0.0155,11.62835 -9.55546,21.1875 -21.1875,21.1875 -11.6443,1e-5 -21.1875,-9.54344 -21.1875,-21.1875 0,-11.64606 9.5432,-21.1875 21.1875,-21.1875 z M 991,159.09375 l 0,0.96875 1.59375,0 0,4.6875 1,0 0,-4.6875 1.59375,0 0,-0.96875 -4.1875,0 z m 5,0 0,5.65625 0.96875,0 0,-3.0625 0,-0.5 0.15625,0.5 1.46875,3.21875 1.28125,-3.21875 0.3438,-0.65625 0,0.65625 0,3.0625 0.8124,0 0,-5.65625 -1,0 -1.12495,2.90625 -0.3125,0.8125 -0.3125,-0.8125 -1.3125,-2.90625 -0.96875,0 z"
+ transform="matrix(0.19326274,0,0,0.19326274,-1.7718431,-1.7778459)"
+ id="path3562"
+ style="fill:#0a57a4;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ <path
+ d="m 175.01712,15.7113 0,-4.086388 0,-0.0053 c 0,-4.2639122 3.45636,-7.7203372 7.72033,-7.7203372 0.64712,0 1.10663,0.072625 1.7058,0.2295625 0.87288,0.2287375 1.58589,0.9440625 1.58643,1.7769625 2.4e-4,1.00655 -0.73035,1.7381375 -1.82225,1.7381375 -0.5204,0 -0.70824,-0.099563 -1.47026,-0.099563 -2.24777,0 -4.07055,1.82045 -4.07449,4.0685247 l 0,3.522563 0,5.37e-4 c 0,0.317688 0.25716,0.575338 0.57542,0.575338 l 0.002,0 2.67567,0 c 0.99728,0 1.8022,0.797875 1.80304,1.797475 0,1.00045 -0.80603,1.7968 -1.80304,1.7968 l -3.25271,0 0,4.10385 0,0.0054 c 0,4.2633 -3.45661,7.720225 -7.72034,7.720225 -0.64685,0 -1.10663,-0.07299 -1.70525,-0.2295 -0.8732,-0.228425 -1.58673,-0.944325 -1.58698,-1.776925 0,-1.0065 0.73065,-1.738475 1.82252,-1.738475 0.51985,0 0.70848,0.09988 1.46971,0.09988 2.24804,0 4.07135,-1.82095 4.07505,-4.0688 l 0,-3.5408 c 0,-0.3173 -0.25771,-0.574338 -0.57545,-0.574338 l -0.002,0 -2.6757,-5.37e-4 c -0.99726,0 -1.80297,-0.795588 -1.80297,-1.795725 -5.6e-4,-1.006325 0.81415,-1.79855 1.82221,-1.79855 l 3.23323,0"
+ id="path3588"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ </g>
+</svg>
diff --git a/src/html/img/icons/gentoo.png b/src/html/img/icons/gentoo.png
new file mode 100644
index 0000000..9505c79
--- /dev/null
+++ b/src/html/img/icons/gentoo.png
Binary files differ
diff --git a/src/html/img/icons/gentoo.svg b/src/html/img/icons/gentoo.svg
new file mode 100644
index 0000000..293ecda
--- /dev/null
+++ b/src/html/img/icons/gentoo.svg
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.0"
+ width="594.6626"
+ height="622.50458"
+ id="svg2">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient2096">
+ <stop
+ id="stop2098"
+ style="stop-color:#7e3615;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2100"
+ style="stop-color:#7e3615;stop-opacity:1"
+ offset="0.5" />
+ <stop
+ id="stop2102"
+ style="stop-color:#ed5b1a;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2085">
+ <stop
+ id="stop2087"
+ style="stop-color:#7f3615;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2089"
+ style="stop-color:#ef743d;stop-opacity:1"
+ offset="0.5" />
+ <stop
+ id="stop2091"
+ style="stop-color:#ef743d;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2077">
+ <stop
+ id="stop2079"
+ style="stop-color:#ed5b1a;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2083"
+ style="stop-color:#ed5b1a;stop-opacity:1"
+ offset="0.5" />
+ <stop
+ id="stop2081"
+ style="stop-color:#7e3615;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3560">
+ <stop
+ id="stop3562"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3564"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3539">
+ <stop
+ id="stop3541"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3543"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3004">
+ <stop
+ id="stop3006"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop7609"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0.34214258" />
+ <stop
+ id="stop7599"
+ style="stop-color:#bebdf3;stop-opacity:1"
+ offset="0.51998252" />
+ <stop
+ id="stop7611"
+ style="stop-color:#8f82f9;stop-opacity:1"
+ offset="0.75408828" />
+ <stop
+ id="stop7613"
+ style="stop-color:#9f99c7;stop-opacity:1"
+ offset="0.8711412" />
+ <stop
+ id="stop3008"
+ style="stop-color:#524c76;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2988">
+ <stop
+ id="stop2990"
+ style="stop-color:#c9491c;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2992"
+ style="stop-color:#6b2e26;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ style="stop-color:#e76226;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2984"
+ style="stop-color:#7e3615;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2127">
+ <stop
+ id="stop2129"
+ style="stop-color:#cc0045;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2131"
+ style="stop-color:#ff794d;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="464.01675"
+ y1="697.43707"
+ x2="368.62137"
+ y2="269.70941"
+ id="linearGradient2986"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23712,0,0,1.23712,-161.09,-377.341)" />
+ <linearGradient
+ x1="783.86316"
+ y1="-313.5238"
+ x2="1099.6853"
+ y2="1340.5599"
+ id="linearGradient2994"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23712,0,0,1.23712,-1037.43,-1010.41)" />
+ <linearGradient
+ x1="142.8909"
+ y1="560.31262"
+ x2="305.19791"
+ y2="560.31262"
+ id="linearGradient2786"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="298.04648"
+ cy="512.46417"
+ r="218.02184"
+ fx="298.04648"
+ fy="512.46417"
+ id="radialGradient2788"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.0218286,-1.02088,1.91803,-0.0410152,-759.031,896.871)" />
+ <linearGradient
+ x1="34.285702"
+ y1="185.21933"
+ x2="-32.857155"
+ y2="205.21933"
+ id="linearGradient2801"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.413051,0,0,0.413051,209.755,299.535)" />
+ <radialGradient
+ cx="278.19101"
+ cy="365.99103"
+ r="22.023195"
+ fx="278.19101"
+ fy="365.99103"
+ id="radialGradient3553"
+ xlink:href="#linearGradient3539"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.33531,0.232165,-0.156016,-0.897333,707.436,624.669)" />
+ <radialGradient
+ cx="281.96429"
+ cy="374.32648"
+ r="30.535715"
+ fx="281.96429"
+ fy="374.32648"
+ id="radialGradient3566"
+ xlink:href="#linearGradient3560"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.58698,0.0649146,-0.00379132,0.906694,-164.089,16.6235)" />
+ <radialGradient
+ cx="616.66583"
+ cy="357.7851"
+ r="77.994896"
+ fx="616.66583"
+ fy="357.7851"
+ id="radialGradient2075"
+ xlink:href="#linearGradient2085"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.784367,2.0826,-1.36893,-0.515577,1619.59,-726.359)" />
+ <radialGradient
+ cx="332.72311"
+ cy="590.5899"
+ r="218.02184"
+ fx="332.72311"
+ fy="590.5899"
+ id="radialGradient3228"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.0660395,4.19027,-3.57375,-0.0562683,2168.15,-1171.42)" />
+ <radialGradient
+ cx="49.529819"
+ cy="320.08572"
+ r="31.94874"
+ fx="49.529819"
+ fy="320.08572"
+ id="radialGradient5851"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.28737,0,0,2.51965,111.689,-642.721)" />
+ </defs>
+ <g
+ transform="translate(-25.691,-25.5213)"
+ id="layer2"
+ style="display:inline">
+ <path
+ d="M 25.756851,521.91391 C 25.825031,495.65357 48.148853,458.98977 79.868697,425.68116 101.06675,403.42137 122.59556,383.88231 169.52585,343.86782 137.06358,326.05537 86.575337,304.5643 61.242464,276.41883 51.868932,266.00461 34.879101,242.4107 38.174477,210.88878 44.890902,146.64282 124.18914,49.142619 236.90525,28.529375 c 37.50415,-6.858661 80.56354,-1.907781 116.00271,14.024919 111.18036,49.984243 247.14797,174.162266 263.8771,234.794926 5.88837,21.34165 4.75656,55.36025 -5.39475,74.31982 -12.58141,23.49823 -56.1358,71.22495 -115.72484,120.47315 -93.4994,77.2739 -224.52102,160.24847 -322.35291,174.21052 -31.611,4.51135 -63.90775,-0.19399 -86.572466,-12.98278 C 51.279241,613.36083 39.508186,586.6468 35.370326,578.63961 24.367104,557.34729 25.73287,530.37254 25.756851,521.91391 z M 288.89937,226.87362 c 1.20738,-14.88942 59.59326,-0.0658 55.90415,11.72547 -3.89197,12.43966 -57.28926,5.35537 -55.90415,-11.72547 z"
+ id="path2973"
+ style="fill:url(#linearGradient2994) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ <g
+ transform="translate(-25.691,-25.5213)"
+ id="layer4"
+ style="display:inline">
+ <path
+ d="M 201.12502,319.26488 C 170.40092,345.206 149.97273,362.69737 124.3619,386.10521 62.686019,442.47585 20.779962,485.38384 42.384986,544.03745 67.307886,611.6985 121.94112,608.26771 186.00654,595.69143 351.14346,563.12161 622.59855,354.43165 608.76251,277.34931 597.56708,214.97818 445.90819,90.975251 356.11423,46.84913 328.062,33.063819 295.73224,25.934162 263.30502,27.459889 139.83437,33.287522 43.410732,145.70192 48.3364,206.6102 53.12843,265.866 202.89233,317.49757 201.12502,319.26488 z M 182.59146,112.40184 c -37.15326,41.33629 -13.39873,121.3113 48.21486,164.90276 72.09526,51.00721 188.8443,60.24272 212.0774,20.90556 43.33515,-73.37278 -3.98029,-150.9555 -74.61054,-185.56335 -69.7954,-34.198724 -162.52227,-26.01189 -185.68172,-0.24497 z"
+ id="path2975"
+ style="fill:url(#linearGradient2986) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 309.29559,275.57053 c 52.15894,7.24994 97.11719,-13.63858 104.1475,-65.14342 5.35537,-39.2337 -54.68938,-82.09994 -90.78995,-91.98681 -30.14631,-8.25614 -95.59547,2.36034 -100.00778,59.37779 -4.58678,59.27202 56.23678,93.52508 86.65023,97.75244 z m -25.54268,-98.581 c -34.27878,53.10396 49.77027,69.43027 62.63837,59.7456 55.47708,-41.75261 -47.53597,-83.14191 -62.63837,-59.7456 z"
+ id="path4976"
+ style="fill:url(#radialGradient5851) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" />
+ </g>
+ <g
+ transform="translate(-25.691,-25.5213)"
+ id="layer5"
+ style="display:inline">
+ <path
+ d="M 253.35285,41.570018 C 192.71898,47.959829 181.10644,55.76371 126.17687,97.322591 107.767,111.25125 73.883463,145.14202 65.201668,185.34831 c -3.306505,15.31275 0.601944,28.53259 11.630184,37.80412 35.312998,29.68796 94.416058,53.77395 142.904478,77.05704 14.20232,6.81964 4.79874,19.18504 -18.10392,39.01252 -57.79173,50.03186 -135.926941,110.93446 -141.3817,157.34203 -2.570415,21.86837 4.916125,51.5832 31.459397,66.7898 31.006723,17.76369 95.372133,6.16955 138.351373,-9.835 62.80599,-23.38762 145.30781,-75.00368 210.80628,-125.74104 68.11013,-52.76042 131.43764,-119.77326 134.57017,-130.70294 3.84668,-13.42147 3.46325,-25.81795 -3.96035,-40.07068 C 559.81983,234.62227 544.23417,217.99109 527.49924,199.37578 482.59667,152.03725 435.087,110.44129 378.2447,78.565883 337.19672,55.547464 301.08129,36.540217 253.35285,41.570018 z m 89.06787,106.129442 c 43.80514,21.17863 88.78971,76.80693 -0.39035,108.8248 -24.25015,8.70642 -101.15792,-21.38222 -98.80358,-62.4438 3.43316,-60.65568 45.70723,-72.24041 99.19393,-46.381 z"
+ id="path2977"
+ style="fill:url(#radialGradient3228) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+</svg>
diff --git a/src/html/img/icons/gnome.png b/src/html/img/icons/gnome.png
new file mode 100644
index 0000000..d2f09cd
--- /dev/null
+++ b/src/html/img/icons/gnome.png
Binary files differ
diff --git a/src/html/img/icons/gnome.svg b/src/html/img/icons/gnome.svg
new file mode 100644
index 0000000..27c9120
--- /dev/null
+++ b/src/html/img/icons/gnome.svg
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="280.45767"
+ height="344.71606"
+ id="svg1903">
+ <defs
+ id="defs1905" />
+ <g
+ transform="matrix(2.9149,0,0,2.9149,0.00770872,0)"
+ id="g3771"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none">
+ <g
+ id="g3773"
+ style="fill:#000000;fill-opacity:1">
+ <path
+ d="M 86.068,0 C 61.466,0 56.851,35.041 70.691,35.041 84.529,35.041 110.671,0 86.068,0 z"
+ id="path3775"
+ style="fill:#000000;fill-opacity:1" />
+ <path
+ d="M 45.217,30.699 C 52.586,31.149 60.671,2.577 46.821,4.374 32.976,6.171 37.845,30.249 45.217,30.699 z"
+ id="path3777"
+ style="fill:#000000;fill-opacity:1" />
+ <path
+ d="M 11.445,48.453 C 16.686,46.146 12.12,23.581 3.208,29.735 -5.7,35.89 6.204,50.759 11.445,48.453 z"
+ id="path3779"
+ style="fill:#000000;fill-opacity:1" />
+ <path
+ d="M 26.212,36.642 C 32.451,35.37 32.793,9.778 21.667,14.369 10.539,18.961 19.978,37.916 26.212,36.642 l 0,0 z"
+ id="path3781"
+ style="fill:#000000;fill-opacity:1" />
+ <path
+ d="m 58.791,93.913 c 1.107,8.454 -6.202,12.629 -13.36,7.179 C 22.644,83.743 83.16,75.088 79.171,51.386 75.86,31.712 15.495,37.769 8.621,68.553 3.968,89.374 27.774,118.26 52.614,118.26 c 12.22,0 26.315,-11.034 28.952,-25.012 C 83.58,82.589 57.867,86.86 58.791,93.913 l 0,0 z"
+ id="path3783"
+ style="fill:#000000;fill-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/src/html/img/icons/kde.png b/src/html/img/icons/kde.png
new file mode 100644
index 0000000..6e29013
--- /dev/null
+++ b/src/html/img/icons/kde.png
Binary files differ
diff --git a/src/html/img/icons/kde.svg b/src/html/img/icons/kde.svg
new file mode 100644
index 0000000..2503826
--- /dev/null
+++ b/src/html/img/icons/kde.svg
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.0"
+ width="128"
+ height="128"
+ id="svg2250">
+ <defs
+ id="defs2252">
+ <radialGradient
+ cx="76.764198"
+ cy="58.0625"
+ r="66.164497"
+ id="XMLID_27_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9397,0,0,0.9397,4.2153,4.1331)">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop107" />
+ <stop
+ style="stop-color:#fdfdfc;stop-opacity:1"
+ offset="0.32780001"
+ id="stop109" />
+ <stop
+ style="stop-color:#f4f5f4;stop-opacity:1"
+ offset="0.6773591"
+ id="stop111" />
+ <stop
+ style="stop-color:#cacfd0;stop-opacity:1"
+ offset="1"
+ id="stop113" />
+ </radialGradient>
+ <radialGradient
+ cx="66.136703"
+ cy="0.75440001"
+ r="81.971497"
+ id="XMLID_25_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9459,0,0,1,1051.1319,-330.17143)">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0.1302"
+ id="stop95" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.16862746"
+ offset="0.5"
+ id="stop97" />
+ </radialGradient>
+ <filter
+ x="-0.29221493"
+ width="1.5844299"
+ y="-0.057434313"
+ height="1.1148686"
+ id="filter4446">
+ <feGaussianBlur
+ collect="always"
+ stdDeviation="2.4087233"
+ id="feGaussianBlur4448" />
+ </filter>
+ <filter
+ x="-0.29221493"
+ width="1.5844299"
+ y="-0.057434313"
+ height="1.1148686"
+ id="filter4442">
+ <feGaussianBlur
+ collect="always"
+ stdDeviation="2.4087233"
+ id="feGaussianBlur4444" />
+ </filter>
+ <linearGradient
+ x1="115.9771"
+ y1="72.399902"
+ x2="115.9771"
+ y2="120.3999"
+ id="XMLID_23_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#00316e;stop-opacity:0"
+ offset="0"
+ id="stop79" />
+ <stop
+ style="stop-color:#00316e;stop-opacity:1"
+ offset="1"
+ id="stop81" />
+ </linearGradient>
+ <clipPath
+ id="clipPath4458">
+ <use
+ id="use4460"
+ x="0"
+ y="0"
+ width="1"
+ height="1"
+ xlink:href="#XMLID_10_" />
+ </clipPath>
+ <filter
+ id="AI_Sfocatura_4">
+ <feGaussianBlur
+ stdDeviation="4"
+ id="feGaussianBlur6" />
+ </filter>
+ <radialGradient
+ cx="69.600098"
+ cy="145.3999"
+ r="141"
+ id="XMLID_21_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(1047.3429,-330.17143)">
+ <stop
+ style="stop-color:#2c72c7;stop-opacity:0"
+ offset="0.3373"
+ id="stop58" />
+ <stop
+ style="stop-color:#2c72c7;stop-opacity:1"
+ offset="0.57990003"
+ id="stop60" />
+ <stop
+ style="stop-color:#2c72c7;stop-opacity:0"
+ offset="1"
+ id="stop62" />
+ </radialGradient>
+ <radialGradient
+ cx="69.600098"
+ cy="68.399902"
+ r="85"
+ id="XMLID_20_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(1047.3429,-330.17143)">
+ <stop
+ style="stop-color:#6193ff;stop-opacity:1"
+ offset="0.5"
+ id="stop47" />
+ <stop
+ style="stop-color:#003685;stop-opacity:1"
+ offset="0.78109998"
+ id="stop49" />
+ <stop
+ style="stop-color:#709dff;stop-opacity:1"
+ offset="1"
+ id="stop51" />
+ </radialGradient>
+ <linearGradient
+ x1="9.5995998"
+ y1="68.399902"
+ x2="129.6001"
+ y2="68.399902"
+ id="XMLID_18_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,-4.371139e-8,4.371139e-8,-1,1186.5436,-193.37143)">
+ <stop
+ style="stop-color:#003685;stop-opacity:1"
+ offset="0"
+ id="stop13" />
+ <stop
+ style="stop-color:#083c8f;stop-opacity:1"
+ offset="0.0105"
+ id="stop15" />
+ <stop
+ style="stop-color:#2451b1;stop-opacity:1"
+ offset="0.0533"
+ id="stop17" />
+ <stop
+ style="stop-color:#3b63cd;stop-opacity:1"
+ offset="0.099"
+ id="stop19" />
+ <stop
+ style="stop-color:#4d71e3;stop-opacity:1"
+ offset="0.1477"
+ id="stop21" />
+ <stop
+ style="stop-color:#597bf3;stop-opacity:1"
+ offset="0.20100001"
+ id="stop23" />
+ <stop
+ style="stop-color:#6180fc;stop-opacity:1"
+ offset="0.2622"
+ id="stop25" />
+ <stop
+ style="stop-color:#6382ff;stop-opacity:1"
+ offset="0.34909999"
+ id="stop27" />
+ <stop
+ style="stop-color:#6382ff;stop-opacity:1"
+ offset="0.58579999"
+ id="stop31" />
+ <stop
+ style="stop-color:#003685;stop-opacity:1"
+ offset="1"
+ id="stop33" />
+ </linearGradient>
+ <filter
+ id="filter2904">
+ <feGaussianBlur
+ collect="always"
+ stdDeviation="2.32"
+ id="feGaussianBlur2906" />
+ </filter>
+ <linearGradient
+ x1="9.5995998"
+ y1="68.399902"
+ x2="129.6001"
+ y2="68.399902"
+ id="linearGradient2235"
+ xlink:href="#XMLID_18_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,-4.371139e-8,4.371139e-8,-1,133.6007,132.4)" />
+ <radialGradient
+ cx="69.600098"
+ cy="68.399902"
+ r="85"
+ id="radialGradient2237"
+ xlink:href="#XMLID_20_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9824561,0,0,0.9824561,-4.3789474,-3.2)" />
+ <radialGradient
+ cx="69.600098"
+ cy="145.3999"
+ r="141"
+ id="radialGradient2239"
+ xlink:href="#XMLID_21_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-5.5999998,-4.4)" />
+ <linearGradient
+ x1="108.00493"
+ y1="72.341148"
+ x2="115.9771"
+ y2="102.0937"
+ id="linearGradient2241"
+ xlink:href="#XMLID_23_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="108.00493"
+ y1="72.341148"
+ x2="115.9771"
+ y2="102.0937"
+ id="linearGradient2243"
+ xlink:href="#XMLID_23_"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="110.74259"
+ cy="123.17536"
+ r="81.292717"
+ fx="110.74259"
+ fy="123.17536"
+ id="radialGradient2247"
+ xlink:href="#XMLID_27_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.4136693,-0.5587442,-0.4989925,-0.3694316,79.652783,167.07706)" />
+ <linearGradient
+ x1="67.629204"
+ y1="-2.1941743"
+ x2="67.629204"
+ y2="78.850853"
+ id="linearGradient2802"
+ xlink:href="#XMLID_25_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,2)" />
+ </defs>
+ <g
+ transform="matrix(1.0517241,0,0,1.0172414,-7.5172423,-7.0379241)"
+ style="opacity:0.8;filter:url(#filter2904)"
+ id="g8">
+ <path
+ d="M 126,113.8 C 126,122.6 118.8,129.8 110,129.8 L 26,129.8 C 17.2,129.8 10,122.6 10,113.8 L 10,29.800002 C 10,21.000002 17.2,13.800002 26,13.800002 L 110,13.800002 C 118.8,13.800002 126,21.000002 126,29.800002 L 126,113.8 z "
+ id="path10" />
+ </g>
+ <g
+ transform="translate(0,-4)"
+ id="g2221">
+ <path
+ d="M 4.000002,20 C 4.000002,11.2 11.200002,4 20.000002,4 L 108,4 C 116.8,4 124,11.2 124,20 L 124,108 C 124,116.8 116.8,124 108,124 L 20.000002,124 C 11.200002,124 4.000002,116.8 4.000002,108 L 4.000002,20 z "
+ style="fill:url(#linearGradient2235)"
+ id="path35" />
+ <path
+ d="M 20.77193,8 C 13.729684,8 8,13.729684 8,20.77193 L 8,107.22807 C 8,114.27032 13.729684,120 20.77193,120 L 107.22807,120 C 114.27032,120 120,114.27032 120,107.22807 L 120,20.77193 C 120,13.729684 114.27032,8 107.22807,8 L 20.77193,8 L 20.77193,8 z "
+ style="fill:url(#radialGradient2237)"
+ id="path53" />
+ <path
+ d="M 64.026001,7.014 L 63.973001,7.014 C 40.952001,6.718 16.897001,11.145 16.657001,11.19 C 14.202001,11.648 11.647001,14.202 11.190001,16.657 C 11.145001,16.898 6.7180002,40.952 7.0140002,63.973 C 6.7180002,87.047 11.145001,111.102 11.190001,111.342 C 11.647001,113.796 14.203001,116.352 16.658001,116.811 C 16.898001,116.855 40.952001,121.281 63.974001,120.985 C 87.049001,121.281 111.103,116.855 111.343,116.811 C 113.797,116.353 116.354,113.796 116.812,111.341 C 116.856,111.102 121.282,87.048 120.986,64.026 C 121.282,40.952 116.856,16.898 116.812,16.657 C 116.353,14.202 113.797,11.647 111.343,11.19 C 111.103,11.145 87.048001,6.718 64.026001,7.014 z "
+ style="fill:url(#radialGradient2239);filter:url(#AI_Sfocatura_4)"
+ id="path64" />
+ <g
+ transform="translate(-5.5999858,-4.4)"
+ style="opacity:0.6"
+ id="g66">
+ <defs
+ id="defs68">
+ <path
+ d="M 69.626,12.145 L 69.574,12.145 C 46.847,11.853 23.102,16.222 22.865,16.267 C 20.441,16.718 17.919,19.241 17.468,21.664 C 17.424,21.901 13.054,45.647 13.346,68.374 C 13.054,91.151 17.424,114.897 17.468,115.135 C 17.919,117.558 20.442,120.08 22.866,120.533 C 23.103,120.577 46.848,124.946 69.575,124.654 C 92.354,124.946 116.099,120.577 116.336,120.533 C 118.759,120.081 121.282,117.557 121.734,115.134 C 121.778,114.898 126.147,91.153 125.855,68.425 C 126.147,45.648 121.778,21.902 121.734,21.664 C 121.281,19.241 118.758,16.718 116.336,16.267 C 116.098,16.222 92.352,11.853 69.626,12.145 z "
+ id="XMLID_10_" />
+ </defs>
+ <g
+ clip-path="url(#clipPath4458)"
+ id="g4450">
+ <path
+ d="M 119.344,21.665 C 118.967,20.387 117.669,19.089 115.977,18.074 C 114.284,19.089 112.988,20.386 112.612,21.665 C 112.542,21.902 105.647,45.648 106.108,68.375 C 105.647,91.152 112.542,114.898 112.612,115.136 C 112.988,116.414 114.286,117.712 115.977,118.727 C 117.671,117.711 118.968,116.415 119.344,115.135 C 119.413,114.899 126.307,91.154 125.847,68.426 C 126.307,45.648 119.414,21.902 119.344,21.665 z "
+ style="opacity:0.8;fill:url(#linearGradient2241);filter:url(#filter4442)"
+ id="path83" />
+ <path
+ d="M 119.344,21.665 C 118.967,20.387 117.669,19.089 115.977,18.074 C 114.284,19.089 112.988,20.386 112.612,21.665 C 112.542,21.902 105.647,45.648 106.108,68.375 C 105.647,91.152 112.542,114.898 112.612,115.136 C 112.988,116.414 114.286,117.712 115.977,118.727 C 117.671,117.711 118.968,116.415 119.344,115.135 C 119.413,114.899 126.307,91.154 125.847,68.426 C 126.307,45.648 119.414,21.902 119.344,21.665 z "
+ transform="matrix(-1,0,0,1,139.2,0)"
+ style="opacity:0.8;fill:url(#linearGradient2243);filter:url(#filter4446)"
+ id="path4438" />
+ </g>
+ </g>
+ <path
+ d=""
+ style="fill:url(#XMLID_29_);stroke:#2c72c7;stroke-width:2;stroke-linejoin:round"
+ id="path159" />
+ <path
+ d="M 70.906252,21.510199 L 56.281252,22.916449 L 56.281252,83.166449 L 70.750002,80.978949 L 70.750002,55.291449 L 90.218752,83.791449 L 105.46875,78.947699 L 85.531252,51.541449 L 105.625,25.697699 L 90.062502,22.135199 L 70.750002,47.978949 L 70.906252,21.510199 z M 37.750002,36.197699 C 37.584628,36.214762 37.405752,36.260447 37.281252,36.385199 L 31.531252,42.135199 C 31.289753,42.377445 31.260254,42.748202 31.437502,43.041449 L 38.156252,54.135199 C 36.963258,56.140686 35.994498,58.291961 35.312502,60.572699 L 22.968752,63.135199 C 22.625253,63.206197 22.375002,63.533201 22.375002,63.885199 L 22.375002,72.010199 C 22.375002,72.353697 22.636251,72.647946 22.968752,72.728949 L 34.937502,75.635199 C 35.577498,78.275685 36.566261,80.802462 37.875002,83.103949 L 30.937502,93.666449 C 30.744003,93.961449 30.781756,94.35495 31.031252,94.603949 L 36.781252,100.35395 C 37.023498,100.59544 37.395003,100.62569 37.687502,100.4477 L 48.562502,93.853949 C 50.695492,95.085442 53.004768,96.071949 55.437502,96.728949 L 57.968752,108.91645 C 58.03975,109.26095 58.335755,109.5102 58.687502,109.5102 L 66.812502,109.5102 C 67.153501,109.5102 67.450254,109.2812 67.531252,108.9477 L 70.531252,96.697699 C 73.040237,96.021203 75.405763,95.016938 77.593752,93.728949 L 88.312502,100.7602 C 88.608,100.9527 88.999503,100.91545 89.250002,100.66645 L 94.968752,94.916449 C 95.21175,94.673953 95.271748,94.302698 95.093752,94.010199 L 91.187502,87.572699 L 89.906252,87.978949 C 89.72125,88.035951 89.516249,87.952445 89.406252,87.791449 C 89.406251,87.791448 86.938738,84.16167 83.718752,79.447699 C 79.867775,86.983153 72.014199,92.135199 62.968752,92.135199 C 50.115326,92.135197 39.687502,81.707375 39.687502,68.853949 C 39.687502,59.399254 45.341297,51.278678 53.437502,47.635199 L 53.437502,41.635199 C 51.964011,42.150945 50.540496,42.7732 49.187502,43.510199 C 49.185004,43.508699 49.190001,43.480449 49.187502,43.478949 L 38.218752,36.291449 C 38.071253,36.194951 37.915376,36.180636 37.750002,36.197699 z "
+ style="fill:url(#radialGradient2247);fill-opacity:1"
+ id="path5692_1_" />
+ <path
+ d="M 118,45.413803 C 116.80377,31.931381 114.92663,22.614985 114.8968,22.458943 C 114.4504,20.049615 110.93474,16.560752 108.54743,16.112254 C 108.31292,16.068091 85.938401,11.723449 63.538173,12.013943 L 63.486744,12.013943 C 41.087544,11.723449 18.712001,16.068091 18.477486,16.112254 C 16.089144,16.561733 12.574515,20.049615 12.130172,22.458943 C 12.108572,22.57573 11.03783,27.464065 10.000001,36.102315 C 10.000001,41.887646 10.000001,47.671996 10.000001,53.457327 C 10.000001,57.06494 12.396572,61.237837 15.328001,62.747224 C 15.325943,62.645159 19.962744,76 59.337487,76 C 98.71326,76 112.9744,55.324924 112.97029,55.554571 C 115.73714,53.696788 118,49.2491 118,45.640505 C 118,45.564938 118,45.48937 118,45.413803 z "
+ style="opacity:0.7;fill:url(#linearGradient2802);fill-opacity:1"
+ id="path99" />
+ </g>
+</svg> \ No newline at end of file
diff --git a/src/html/img/icons/linux.png b/src/html/img/icons/linux.png
new file mode 100644
index 0000000..fd76d28
--- /dev/null
+++ b/src/html/img/icons/linux.png
Binary files differ
diff --git a/src/html/img/icons/linux.svg b/src/html/img/icons/linux.svg
new file mode 100644
index 0000000..57f4a1e
--- /dev/null
+++ b/src/html/img/icons/linux.svg
@@ -0,0 +1,933 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="386"
+ height="423"
+ id="svg8945">
+ <defs
+ id="defs8949">
+ <linearGradient
+ id="linearGradient11799">
+ <stop
+ id="stop11801"
+ style="stop-color:#c3c3c3;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop11803"
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11769">
+ <stop
+ id="stop11771"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11773"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.6422714" />
+ <stop
+ id="stop11775"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11687">
+ <stop
+ id="stop11689"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11691"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.49164602" />
+ <stop
+ id="stop11693"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11633">
+ <stop
+ id="stop11635"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11637"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.3093777" />
+ <stop
+ id="stop11639"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11532">
+ <stop
+ id="stop11534"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11536"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.17569453" />
+ <stop
+ id="stop11538"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11524">
+ <stop
+ id="stop11526"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11528"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.23175907" />
+ <stop
+ id="stop11530"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11360">
+ <stop
+ id="stop11362"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11364"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.31528139" />
+ <stop
+ id="stop11366"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11291">
+ <stop
+ id="stop11293"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11295"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.32802752" />
+ <stop
+ id="stop11297"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11121">
+ <stop
+ id="stop11123"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11125"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.45320001" />
+ <stop
+ id="stop11127"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10995">
+ <stop
+ id="stop10997"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop11001"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10762">
+ <stop
+ id="stop10764"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10766"
+ style="stop-color:#ffffff;stop-opacity:0.19607843"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10656">
+ <stop
+ id="stop10658"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10660"
+ style="stop-color:#deae00;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10433">
+ <stop
+ id="stop10435"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10437"
+ style="stop-color:#dfa800;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10047">
+ <stop
+ id="stop10049"
+ style="stop-color:#c3c3c3;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10051"
+ style="stop-color:#a0a0a0;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10039">
+ <stop
+ id="stop10041"
+ style="stop-color:#efefef;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10043"
+ style="stop-color:#bcbcbc;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10031">
+ <stop
+ id="stop10033"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop10370"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.5" />
+ <stop
+ id="stop10035"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="202"
+ y1="29.969534"
+ x2="202"
+ y2="103.63979"
+ id="linearGradient10037"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="187"
+ y1="188.04417"
+ x2="187"
+ y2="358.56845"
+ id="linearGradient10045"
+ xlink:href="#linearGradient10039"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="193.53125"
+ y1="221.91426"
+ x2="193.53125"
+ y2="347.07217"
+ id="linearGradient10061"
+ xlink:href="#linearGradient10047"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="283.625"
+ y1="324.5"
+ x2="283.625"
+ y2="380.875"
+ id="linearGradient10175"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <filter
+ x="-0.086304188"
+ y="-0.19686034"
+ width="1.1726084"
+ height="1.3937207"
+ color-interpolation-filters="sRGB"
+ id="filter10358">
+ <feGaussianBlur
+ id="feGaussianBlur10360"
+ stdDeviation="4.5870333" />
+ </filter>
+ <filter
+ x="-0.086304188"
+ y="-0.19686034"
+ width="1.1726084"
+ height="1.3937207"
+ color-interpolation-filters="sRGB"
+ id="filter10358-3">
+ <feGaussianBlur
+ id="feGaussianBlur10360-3"
+ stdDeviation="4.5870333" />
+ </filter>
+ <linearGradient
+ x1="283.625"
+ y1="324.5"
+ x2="283.625"
+ y2="380.875"
+ id="linearGradient10175-3"
+ xlink:href="#linearGradient10031-1"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10031-1">
+ <stop
+ id="stop10033-9"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10035-9"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="283.625"
+ y1="324.5"
+ x2="283.625"
+ y2="380.875"
+ id="linearGradient10400"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="156.37009"
+ y1="169.46875"
+ x2="228.69044"
+ y2="169.46875"
+ id="linearGradient10439-9"
+ xlink:href="#linearGradient10433-5"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10433-5">
+ <stop
+ id="stop10435-0"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10437-2"
+ style="stop-color:#dcae00;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <filter
+ color-interpolation-filters="sRGB"
+ id="filter10487">
+ <feGaussianBlur
+ id="feGaussianBlur10489"
+ stdDeviation="1.3416777" />
+ </filter>
+ <linearGradient
+ x1="156.37009"
+ y1="169.46875"
+ x2="228.69044"
+ y2="169.46875"
+ id="linearGradient10497-9"
+ xlink:href="#linearGradient10433-8"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10433-8">
+ <stop
+ id="stop10435-5"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10437-9"
+ style="stop-color:#dfa800;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="156.37009"
+ y1="169.46875"
+ x2="228.69044"
+ y2="169.46875"
+ id="linearGradient10439-6"
+ xlink:href="#linearGradient10433-8"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10516">
+ <stop
+ id="stop10518"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10520"
+ style="stop-color:#dfa800;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="156.37009"
+ y1="169.46875"
+ x2="228.69044"
+ y2="169.46875"
+ id="linearGradient10497-3"
+ xlink:href="#linearGradient10433-2"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10433-2">
+ <stop
+ id="stop10435-9"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10437-8"
+ style="stop-color:#dfa800;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="157.37009"
+ y1="169.46875"
+ x2="227.69044"
+ y2="169.46875"
+ id="linearGradient10652-9"
+ xlink:href="#linearGradient10656-9"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10656-9">
+ <stop
+ id="stop10658-7"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10660-2"
+ style="stop-color:#deae00;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="157.37009"
+ y1="169.46875"
+ x2="227.69044"
+ y2="169.46875"
+ id="linearGradient10652-3"
+ xlink:href="#linearGradient10656-95"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10656-95">
+ <stop
+ id="stop10658-3"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10660-1"
+ style="stop-color:#deae00;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <filter
+ x="-0.13610192"
+ y="-0.18271257"
+ width="1.2722038"
+ height="1.3654251"
+ color-interpolation-filters="sRGB"
+ id="filter10857">
+ <feGaussianBlur
+ id="feGaussianBlur10859"
+ stdDeviation="3.20761" />
+ </filter>
+ <linearGradient
+ x1="155.01221"
+ y1="55.221191"
+ x2="155.01221"
+ y2="88.420464"
+ id="linearGradient10993"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="233.84886"
+ y1="72.522697"
+ x2="233.84886"
+ y2="91.96846"
+ id="linearGradient11049"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="128.40625"
+ y1="94.96875"
+ x2="179.78125"
+ y2="130.46875"
+ id="linearGradient11084"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="113.13426"
+ cy="125.41722"
+ r="35.125"
+ fx="113.13426"
+ fy="125.41722"
+ id="radialGradient11119"
+ xlink:href="#linearGradient11121"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.6234988,1.7990923,-1.5502345,-1.3989298,565.72444,62.067149)" />
+ <filter
+ x="-0.1693299"
+ y="-0.12526216"
+ width="1.3386598"
+ height="1.2505243"
+ color-interpolation-filters="sRGB"
+ id="filter11182">
+ <feGaussianBlur
+ id="feGaussianBlur11184"
+ stdDeviation="4.0317543" />
+ </filter>
+ <filter
+ x="-0.18606396"
+ y="-0.19982085"
+ width="1.3721279"
+ height="1.3996418"
+ color-interpolation-filters="sRGB"
+ id="filter11252">
+ <feGaussianBlur
+ id="feGaussianBlur11254"
+ stdDeviation="5.2752828" />
+ </filter>
+ <radialGradient
+ cx="232.90625"
+ cy="51.545879"
+ r="36.125"
+ fx="232.90625"
+ fy="51.545879"
+ id="radialGradient11289"
+ xlink:href="#linearGradient11291"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.7732536,-0.02936049,0.0269662,-1.6286481,644.51809,203.20689)" />
+ <linearGradient
+ x1="223.03125"
+ y1="91.015617"
+ x2="258.875"
+ y2="130.01561"
+ id="linearGradient11358"
+ xlink:href="#linearGradient11360"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="173.5625"
+ y1="158.78125"
+ x2="183.0625"
+ y2="99.135406"
+ id="linearGradient11468"
+ xlink:href="#linearGradient11532"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="204.4375"
+ y1="154.97546"
+ x2="204.4375"
+ y2="109.71875"
+ id="linearGradient11522"
+ xlink:href="#linearGradient11524"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="183.1875"
+ y1="105.875"
+ x2="183.1875"
+ y2="127.13049"
+ id="linearGradient11585"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="208.34375"
+ y1="108.34375"
+ x2="207.0625"
+ y2="140.17188"
+ id="linearGradient11631"
+ xlink:href="#linearGradient11633"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="33.107048"
+ y1="202.29688"
+ x2="47.912899"
+ y2="218.04688"
+ id="linearGradient11685"
+ xlink:href="#linearGradient11687"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="24.75"
+ y1="217.84068"
+ x2="36.84375"
+ y2="240.07658"
+ id="linearGradient11767"
+ xlink:href="#linearGradient11799"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="33.107048"
+ y1="202.29688"
+ x2="47.912899"
+ y2="218.04688"
+ id="linearGradient11685-4"
+ xlink:href="#linearGradient11687-2"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient11687-2">
+ <stop
+ id="stop11689-5"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11691-9"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.49164602" />
+ <stop
+ id="stop11693-8"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="24.75"
+ y1="217.84068"
+ x2="36.84375"
+ y2="240.07658"
+ id="linearGradient11767-9"
+ xlink:href="#linearGradient11799-9"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient11799-9">
+ <stop
+ id="stop11801-1"
+ style="stop-color:#c3c3c3;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop11803-2"
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="24.75"
+ y1="217.84068"
+ x2="36.84375"
+ y2="240.07658"
+ id="linearGradient11839"
+ xlink:href="#linearGradient11799-9"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="157.37009"
+ y1="169.46875"
+ x2="227.69044"
+ y2="169.46875"
+ id="linearGradient11988"
+ xlink:href="#linearGradient10656"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="177.01546"
+ y1="182.03799"
+ x2="183.34375"
+ y2="176.04688"
+ id="linearGradient11991"
+ xlink:href="#linearGradient10762"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="215.9375"
+ y1="142.375"
+ x2="196.81396"
+ y2="174.625"
+ id="linearGradient11994"
+ xlink:href="#linearGradient10762"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="156.37009"
+ y1="169.46875"
+ x2="228.69044"
+ y2="169.46875"
+ id="linearGradient11999"
+ xlink:href="#linearGradient10433"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10656-94">
+ <stop
+ id="stop10658-0"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10660-0"
+ style="stop-color:#deae00;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <filter
+ x="-0.14571542"
+ y="-0.33999386"
+ width="1.2914308"
+ height="1.6799877"
+ color-interpolation-filters="sRGB"
+ id="filter12102">
+ <feGaussianBlur
+ id="feGaussianBlur12104"
+ stdDeviation="9.3045363" />
+ </filter>
+ <linearGradient
+ x1="283.625"
+ y1="324.5"
+ x2="283.625"
+ y2="380.875"
+ id="linearGradient10175-0"
+ xlink:href="#linearGradient10031-5"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10031-5">
+ <stop
+ id="stop10033-5"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop10370-3"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.5" />
+ <stop
+ id="stop10035-3"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient12128">
+ <stop
+ id="stop12130"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop12132"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.5" />
+ <stop
+ id="stop12134"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <filter
+ x="-0.24816568"
+ y="-0.51026446"
+ width="1.4963315"
+ height="2.020529"
+ color-interpolation-filters="sRGB"
+ id="filter12301">
+ <feGaussianBlur
+ id="feGaussianBlur12303"
+ stdDeviation="14.42017" />
+ </filter>
+ <filter
+ x="-0.14137566"
+ y="-1.1730359"
+ width="1.2827513"
+ height="3.3460717"
+ color-interpolation-filters="sRGB"
+ id="filter12321">
+ <feGaussianBlur
+ id="feGaussianBlur12323"
+ stdDeviation="18.084303" />
+ </filter>
+ </defs>
+ <path
+ d="m 341,385.5 a 153.5,18.5 0 1 1 -307,0 153.5,18.5 0 1 1 307,0 z"
+ transform="matrix(1.1534598,0,0,0.94538548,-21.773696,13.053897)"
+ id="path12311"
+ style="color:#000000;fill:#000000;fill-opacity:0.78431373;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter12321);enable-background:accumulate" />
+ <g
+ id="g11807">
+ <path
+ d="M 87.75,107.75 C 78,181 56.5,185.25 44.5,197 c -12,11.75 -30,24.375 -38.25,37.75 -4.8401202,7.84686 -6.98464702,16.66188 -1,17.75 12.375,2.25 31.125,-14.75 44.625,-18.75 13.5,-4 30.375,3.25 30.375,3.25 l 7.5,-129.25 z"
+ id="path8982"
+ style="fill:#000000;stroke:none" />
+ <path
+ d="m 87.71875,108.5 -0.09375,0.0312 C 77.825038,181.00727 56.455869,185.29321 44.5,197 c -12,11.75 -30,24.375 -38.25,37.75 -4.8401202,7.84686 -6.984647,16.66188 -1,17.75 0.2240284,0.0407 0.4593621,0.0654 0.6875,0.0937 4.609563,-7.0319 10.587837,-14.64199 18.3125,-21.9375 C 42.283941,213.62419 69.115042,193.44983 83.375,183 l 4.34375,-74.5 z"
+ id="path11641"
+ style="fill:url(#linearGradient11685);fill-opacity:1;stroke:none" />
+ <path
+ d="M 87.75,107.75 C 78,181 56.5,185.25 44.5,197 c -12,11.75 -30,24.375 -38.25,37.75 -4.8401202,7.84686 -6.984647,16.66188 -1,17.75 12.375,2.25 31.125,-14.75 44.625,-18.75 13.5,-4 30.375,3.25 30.375,3.25 l 7.5,-129.25 z"
+ id="path8982-4"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 61.78125,227.84375 c -3.083925,0.0483 -16.260059,0.84737 -29.5625,10.4375 -15.2028,10.96016 -19.09375,9.875 -19.09375,9.875 l -1.875,4.15625 c 11.915492,-2.40245 27.164334,-15.16675 38.625,-18.5625 3.873147,-1.1476 8.018207,-1.36128 11.96875,-1.09375 l 0.59375,-4.8125 c 0,0 -0.215689,-0.007 -0.65625,0 z"
+ id="path11695"
+ style="fill:url(#linearGradient11767);fill-opacity:1;stroke:none" />
+ </g>
+ <g
+ transform="matrix(-1,0,0,1,385.83713,0)"
+ id="g11807-7">
+ <path
+ d="M 87.75,107.75 C 78,181 56.5,185.25 44.5,197 c -12,11.75 -30,24.375 -38.25,37.75 -4.8401202,7.84686 -6.98464702,16.66188 -1,17.75 12.375,2.25 31.125,-14.75 44.625,-18.75 13.5,-4 30.375,3.25 30.375,3.25 l 7.5,-129.25 z"
+ id="path8982-6"
+ style="fill:#000000;stroke:none" />
+ <path
+ d="M 87.71875,108.5 87.625,108.5312 C 77.825038,181.00727 56.455869,185.29321 44.5,197 c -12,11.75 -30,24.375 -38.25,37.75 -4.8401202,7.84686 -6.984647,16.66188 -1,17.75 0.2240284,0.0407 0.4593621,0.0654 0.6875,0.0937 C 10.547063,245.5618 16.525337,237.95171 24.25,230.6562 42.283941,213.62419 69.115042,193.44983 83.375,183 l 4.34375,-74.5 z"
+ id="path11641-3"
+ style="fill:url(#linearGradient11685-4);fill-opacity:1;stroke:none" />
+ <path
+ d="M 87.75,107.75 C 78,181 56.5,185.25 44.5,197 c -12,11.75 -30,24.375 -38.25,37.75 -4.8401202,7.84686 -6.984647,16.66188 -1,17.75 12.375,2.25 31.125,-14.75 44.625,-18.75 13.5,-4 30.375,3.25 30.375,3.25 l 7.5,-129.25 z"
+ id="path8982-4-5"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 61.78125,227.84375 c -3.083925,0.0483 -16.260059,0.84737 -29.5625,10.4375 -15.2028,10.96016 -19.09375,9.875 -19.09375,9.875 l -1.875,4.15625 c 11.915492,-2.40245 27.164334,-15.16675 38.625,-18.5625 3.873147,-1.1476 8.018207,-1.36128 11.96875,-1.09375 l 0.59375,-4.8125 c 0,0 -0.215689,-0.007 -0.65625,0 z"
+ id="path11695-2"
+ style="fill:url(#linearGradient11839);fill-opacity:1;stroke:none" />
+ </g>
+ <path
+ d="M 192.21875,11.6875 C 132.36927,12.731027 89.377748,58.331194 84.0625,102.625 c -5.37712,44.80932 -2.23517,53.76695 -13.4375,90.0625 -11.20233,36.29556 -16.12818,41.22616 -8.0625,75.28125 8.06568,34.05508 43.92479,102.59375 129.0625,102.59375 1.22836,0 2.01527,0 3.28125,0 85.13771,0 120.99682,-68.53867 129.0625,-102.59375 8.06568,-34.05509 3.13983,-38.98569 -8.0625,-75.28125 -11.20233,-36.29555 -8.06038,-45.25318 -13.4375,-90.0625 C 297.1535,58.331189 254.16198,12.731027 194.3125,11.6875 c -0.77662,0 -1.13125,0 -2.09375,0 z"
+ id="path8957"
+ style="fill:#000000;stroke:#000000;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 62.5625,267.96875 c 8.06568,34.05508 43.92479,102.59375 129.0625,102.59375 l 3.28125,0 c 85.13771,0 121.31525,-68.4634 129.0625,-101.17401 -0.35775,0.46825 -0.44457,0.58584 -0.71875,0.86151 -1.0973,1.15403 -78.7735,65.5 -128.375,65.5 -51.82746,0 -98.757039,-27.1094 -132.96875,-70.90625 -0.03337,0.12453 0.231631,0.91416 0.65625,3.125 z"
+ id="path8957-8"
+ style="fill:#ffffff;fill-opacity:0.42352941;stroke:none" />
+ <path
+ d="m 193.03125,142.625 c -78.1353,0 -107.8125,77.78746 -107.8125,129.40625 0,67.87923 47.84855,98.46875 107.46875,98.46875 0.70951,0 0.98817,0 1.6875,0 59.6202,0 107.46875,-30.58952 107.46875,-98.46875 C 301.84375,220.41246 272.1353,142.625 194,142.625 c -0.33085,0 -0.55954,0 -0.96875,0 z"
+ id="path9052"
+ style="fill:url(#linearGradient10061);fill-opacity:1;stroke:none" />
+ <path
+ d="m 245,68.5 a 43,43 0 1 1 -86,0 43,43 0 1 1 86,0 z"
+ transform="matrix(1.8837209,0,0,1.622093,-186.51163,-28.863371)"
+ id="path9077"
+ style="color:#000000;fill:url(#linearGradient10037);fill-opacity:1;stroke:none;stroke-width:1.14415216;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 193.03125,142.625 c -42.24056,0 -70.30405,22.7381 -87.1875,51.78125 C 100.18077,212.40079 97,232.41018 97,253.5 c 0,38.62853 10.59817,73.64939 27.78125,99.25 18.47363,12.01737 42.08751,17.75 67.90625,17.75 l 1.6875,0 c 27.48119,0 52.46025,-6.50178 71.40625,-20.15625 C 282.03497,324.97506 292,290.93507 292,253.5 c 0,-18.02665 -2.29354,-35.25923 -6.5,-51.125 -16.24196,-32.74841 -45.45933,-59.75 -91.5,-59.75 l -0.96875,0 z"
+ id="path9105"
+ style="color:#000000;fill:url(#linearGradient10045);fill-opacity:1;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 274.8125,314.75 c -0.82555,-0.006 -1.64296,0.01 -2.46875,0.0312 -23.05348,0.43753 -48.99825,5.35414 -64.46875,23.84375 -7.30827,9.08909 -10.89393,23.23382 -5.15625,33.875 l 61.375,0 29.6875,-55.25 c -6.18698,-1.59975 -12.57296,-2.45489 -18.96875,-2.5 z m -164.6875,0.0312 c -5.09231,0.18523 -10.24916,0.82574 -15.3125,1.9375 L 130.5,372.5 l 53.09375,0 c 1.22765,-2.0619 2.02806,-4.39115 2.21875,-6.96875 2.93232,-17.98462 -10.31419,-34.10669 -25.9375,-41.15625 -15.36333,-7.45375 -32.78297,-9.73348 -49.75,-9.59375 z"
+ id="path9006-2"
+ style="fill:#000000;fill-opacity:0.78431373;stroke:#c28f00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter12301)" />
+ <path
+ d="m 117.21875,133 c 3.86328,15.28234 13.55573,28.89702 28.4375,33.9375 4.88727,1.71766 9.86999,2.04823 14.6875,1.3125 1.40518,1.76541 2.91584,3.38972 4.1875,4.78125 7.82566,7.97672 13.86312,18.16465 23.03125,24.59375 6.38583,2.99458 13.20452,-0.8042 16.875,-6.125 7.67576,-9.63597 17.21378,-18.03335 23.65625,-28.5 1.00969,-1.75724 1.28581,-3.57044 1.0625,-5.3125 3.50296,0.2916 7.036,0.11556 10.5,-0.5625 13.59576,-1.77777 25.78588,-11.56212 30.8125,-24.125 l -75.84375,0 c 1.0648,2.75486 2.48586,5.33579 4.1875,7.71875 -2.22604,-0.27085 -4.47175,-0.39284 -6.71875,-0.375 0.9466,-2.37615 1.71886,-4.83848 2.34375,-7.34375 l -77.21875,0 z"
+ id="path9132-9-0"
+ style="color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.96890533;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter12102);enable-background:accumulate" />
+ <path
+ d="m 318.19805,380.47004 c 15.99508,0 20.10787,-11.05183 18.86333,-23.44696 -2.01597,-20.0782 -32.07139,-40.26587 -62.52717,-40.26587 -46.3155,0 -72.56684,19.88738 -72.56684,43.92901 0,17.79268 12.75333,19.88737 27.13523,19.88737 21.31482,0 55.06799,-0.10355 89.09545,-0.10355 z"
+ id="path9006"
+ style="fill:#c28f00;fill-opacity:1;stroke:#c28f00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ d="m 272.53125,322.78125 c -21.61134,0.45858 -46.24978,4.58942 -60,23.0625 -4.81292,7.26521 -7.81348,19.84539 0.34375,25.875 11.65274,5.52978 25.02393,1.56997 37.49965,2.75952 24.7764,-0.36533 49.75809,1.10579 74.4066,-0.97827 9.29453,-4.73321 7.65604,-18.60878 2.3125,-25.78125 -11.91531,-17.0176 -34.34004,-25.15428 -54.5625,-24.9375 z"
+ id="path9006-0"
+ style="fill:#cbaf00;fill-opacity:1;stroke:none;filter:url(#filter10358)" />
+ <path
+ d="m 324.5,352.6875 a 40.875,28.1875 0 1 1 -81.75,0 40.875,28.1875 0 1 1 81.75,0 z"
+ transform="matrix(0.95718654,0,0,0.98891353,13.892966,4.222561)"
+ id="path9134"
+ style="color:#000000;fill:url(#linearGradient10175);fill-opacity:1;stroke:none;stroke-width:2.05566597;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 67.93252,380.47004 c -15.99508,0 -20.10787,-11.05183 -18.86333,-23.44696 2.01597,-20.0782 32.07139,-40.26587 62.52717,-40.26587 46.3155,0 72.56684,19.88738 72.56684,43.92901 0,17.79268 -12.75333,19.88737 -27.13523,19.88737 -21.31482,0 -55.06799,-0.10355 -89.09545,-0.10355 z"
+ id="path9006-1"
+ style="fill:#c28f00;fill-opacity:1;stroke:#c28f00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ d="m 272.53125,322.78125 c -21.61134,0.45858 -46.24978,4.58942 -60,23.0625 -4.81292,7.26521 -7.81348,19.84539 0.34375,25.875 11.65274,5.52978 25.02393,1.56997 37.49965,2.75952 24.7764,-0.36533 49.75809,1.10579 74.4066,-0.97827 9.29453,-4.73321 7.65604,-18.60878 2.3125,-25.78125 -11.91531,-17.0176 -34.34004,-25.15428 -54.5625,-24.9375 z"
+ transform="matrix(-1,0,0,1,386.13057,-2.0684079e-6)"
+ id="path9006-0-3"
+ style="fill:#cbaf00;fill-opacity:1;stroke:none;filter:url(#filter10358-3)" />
+ <path
+ d="m 324.5,352.6875 a 40.875,28.1875 0 1 1 -81.75,0 40.875,28.1875 0 1 1 81.75,0 z"
+ transform="matrix(-0.95718654,0,0,0.98891353,379.66223,4.2225589)"
+ id="path9134-8"
+ style="color:#000000;fill:url(#linearGradient10400);fill-opacity:1;stroke:none;stroke-width:2.05566597;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 155.9375,58.03125 c -0.49716,0.0043 -1.00227,0.01014 -1.5,0.03125 a 6.50065,6.50065 0 0 0 -0.0312,0 c -27.33027,1.295641 -45.7686,25.603985 -48.53125,49.21875 -0.004,0.0306 0.004,0.0632 0,0.0937 -0.005,0.0421 -0.0267,0.0829 -0.0312,0.125 l 0.0312,0 c -1.18008,8.441 -0.60513,17.30219 1.65625,25.75 l 11.84375,0 c -1.28378,-4.85912 -2,-10.06242 -2,-15.46875 0,-26.897361 17.23399,-48.6875 38.46875,-48.6875 15.8772,0 29.47696,12.199476 35.34375,29.59375 0.0181,0.05353 0.0446,0.102618 0.0625,0.15625 0.0377,0.105796 0.088,0.206435 0.125,0.3125 -0.007,0.01215 -0.0242,0.01909 -0.0312,0.03125 1.87557,5.73666 2.9375,11.99827 2.9375,18.59375 0,5.40633 -0.71622,10.60963 -2,15.46875 l 4.59375,0 c -1.67333,-3.96291 -2.59375,-8.27337 -2.59375,-12.78125 0,-19.48132 17.13022,-35.28125 38.28125,-35.28125 10.8482,0 20.65683,4.168024 27.625,10.84375 3.9304,3.201614 7.17954,7.1677 9.3125,11.75 a 6.50065,6.50065 0 0 0 0.125,0.25 c 4.04082,7.81311 3.53816,17.05725 0.0625,25.21875 l 14.15625,0 c 2.95376,-10.01345 2.51826,-20.95292 -2.5625,-30.9375 -0.041,-0.0806 -0.0521,-0.1695 -0.0937,-0.25 l -0.0312,0.0312 c -8.88421,-18.812209 -29.42046,-29.229694 -49.5,-27.8125 l 0,-0.03125 c -0.0738,0.003 -0.14503,0.02789 -0.21875,0.03125 -11.52603,0.525789 -22.41367,5.55124 -30.71875,13.25 -4.97801,-9.933272 -12.74536,-18.539569 -23.3125,-24.3125 a 6.50065,6.50065 0 0 0 -0.125,-0.03125 C 170.7555,59.774757 163.39492,57.966495 155.9375,58.03125 z"
+ id="path9130-9"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:13;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:AlArabiya;-inkscape-font-specification:AlArabiya" />
+ <path
+ d="m 270.75,120.125 a 39.375,36.125 0 1 1 -78.75,0 39.375,36.125 0 1 1 78.75,0 z"
+ transform="matrix(0.97263073,0,0,0.97644424,7.5352301,3.180586)"
+ id="path9130"
+ style="color:#000000;fill:#838383;fill-opacity:1;stroke:#838383;stroke-width:2.05225968;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 269.03125,131.3125 c -8.32201,6.61101 -21.91038,10.9375 -37.28125,10.9375 -14.01184,0 -26.55603,-3.57792 -34.96875,-9.21875 5.49656,13.27756 19.43531,22.71875 35.78125,22.71875 17.04547,0 31.50341,-10.25918 36.46875,-24.4375 z"
+ id="path9130-6"
+ style="color:#000000;fill:url(#radialGradient11289);fill-opacity:1;stroke:none;stroke-width:2.00000024;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="M 230.5625,89.15625 C 209.8308,88.739692 191.20134,112.31236 200.59375,132 c 9.83037,23.32855 46.5842,26.90158 60.65625,5.78125 9.87539,-13.04031 6.23537,-33.71256 -7.875,-42.25 -6.64233,-4.600103 -14.80406,-6.737157 -22.8125,-6.375 z"
+ transform="matrix(0.9732787,-0.22962704,0.2050059,0.86892152,-18.477273,64.539175)"
+ id="path9130-97"
+ style="color:#000000;fill:#d7d7d7;fill-opacity:1;stroke:#838383;stroke-width:2.1166954;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter11252);enable-background:accumulate" />
+ <path
+ d="m 215.75596,123.49609 a 9.2365828,14.451495 0 1 1 -18.47316,0 9.2365828,14.451495 0 1 1 18.47316,0 z"
+ transform="matrix(1.0334928,0,0,1.0244648,-7.2262759,-3.3748645)"
+ id="path9255"
+ style="color:#000000;fill:#000000;stroke:#000000;stroke-width:1.94369328;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 193.21692,118.41376 a 38.448933,47.199379 0 1 1 -76.89786,0 38.448933,47.199379 0 1 1 76.89786,0 z"
+ transform="matrix(1,0,0,1.0318352,1.0606602,-4.3884447)"
+ id="path9132"
+ style="color:#000000;fill:#bababa;fill-opacity:1;stroke:none;stroke-width:1.96890533;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 155.3125,79.1875 c -16.57248,1.28785 -26.6628,18.248439 -27.75,33.5 -2.08524,17.82731 6.52494,39.67223 25.625,43.625 16.19611,1.48155 28.44978,-14.64357 30.34375,-29.5 3.55413,-17.92454 -3.7612,-40.379181 -22.25,-46.9375 -1.94311,-0.505938 -3.95464,-0.811933 -5.96875,-0.6875 z"
+ id="path9132-5"
+ style="color:#000000;fill:#d7d7d7;fill-opacity:1;stroke:none;stroke-width:1.96890533;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter11182);enable-background:accumulate" />
+ <path
+ d="m 155.84375,69.09375 c -10.74894,0 -19.48798,4.172975 -26.46523,13.179536 1.41432,-0.175568 2.86119,-0.28125 4.3125,-0.28125 29.47094,0 41.96523,25.439434 41.96523,55.070464 0,9.3482 -1.88439,18.12797 -5.25,25.78125 13.99969,-7.27851 23.875,-24.70676 23.875,-45.0625 0,-26.897361 -17.20274,-48.6875 -38.4375,-48.6875 z"
+ id="path9132-2"
+ style="color:#000000;fill:url(#linearGradient11084);fill-opacity:1;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 130.84375,80.8125 c -8.2331,8.932268 -13.46875,22.16107 -13.46875,36.96875 0,26.89736 17.23399,48.71875 38.46875,48.71875 13.20853,0 24.85926,-8.43027 31.78125,-21.28125 -5.52385,5.00007 -11.86725,7.84375 -18.625,7.84375 -21.30798,0 -38.59375,-28.28439 -38.59375,-63.1875 0,-3.078142 0.17789,-6.102031 0.4375,-9.0625 z"
+ id="path9132-7"
+ style="color:#000000;fill:url(#radialGradient11119);fill-opacity:1;stroke:none;stroke-width:1.96890533;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 190.65367,120.88863 a 10.827573,18.384777 0 1 1 -21.65515,0 10.827573,18.384777 0 1 1 21.65515,0 z"
+ transform="matrix(0.91428572,0,0,0.90865385,16.341743,12.72209)"
+ id="path9257"
+ style="color:#000000;fill:#000000;stroke:#000000;stroke-width:2.1942687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 156.77998,60.03401 c -20.7421,0 -40.05788,15.725141 -45.98652,35.21599 l 0.0612,0 c 6.48869,-15.331362 24.09092,-28.90165 43.84505,-28.90165 19.75413,0 37.97508,13.570288 44.46377,28.90165 l 0.0675,0 c -5.92866,-19.490849 -21.7089,-35.21599 -42.451,-35.21599 z"
+ id="path10978"
+ style="color:#000000;fill:url(#linearGradient10993);fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 235.48188,76.75 c -15.23681,0 -28.56402,6.087669 -35.78125,15.15625 8.64544,-5.136623 19.55654,-9.783852 32.32414,-9.783852 18.85042,0 35.88002,8.345328 43.86336,18.346352 C 271.5954,86.87553 255.13569,76.75 235.48188,76.75 z"
+ id="path11003"
+ style="color:#000000;fill:url(#linearGradient11049);fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 193.21692,118.41376 a 38.448933,47.199379 0 1 1 -76.89786,0 38.448933,47.199379 0 1 1 76.89786,0 z"
+ transform="matrix(1,0,0,1.0318352,1.0606625,-4.3884423)"
+ id="path9132-9"
+ style="color:#000000;fill:none;stroke:#878787;stroke-width:1.96890533;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 232.5625,85.1875 c -7.56287,0 -14.59319,2.04631 -20.53125,5.53125 21.90101,0.799585 39.40625,17.74003 39.40625,38.5625 0,9.80583 -3.88861,18.75087 -10.28125,25.5625 17.01668,-3.59035 29.71875,-17.61281 29.71875,-34.375 0,-19.48132 -17.16147,-35.28125 -38.3125,-35.28125 z"
+ id="path9130-5"
+ style="color:#000000;fill:url(#linearGradient11358);fill-opacity:1;stroke:none;stroke-width:2.00000024;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 177.25,106.96875 c -3.73431,2.39081 -6.40625,8.45389 -6.40625,15.59375 0,9.22614 4.43891,16.71875 9.90625,16.71875 2.2676,0 4.36216,-1.30456 6.03125,-3.46875 -0.52386,0.10842 -1.04963,0.1875 -1.59375,0.1875 -6.31676,0 -11.4375,-7.55519 -11.4375,-16.875 0,-4.77481 1.33959,-9.0865 3.5,-12.15625 z"
+ id="path9257-8"
+ style="color:#000000;fill:url(#linearGradient11468);fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 270.75,120.125 a 39.375,36.125 0 1 1 -78.75,0 39.375,36.125 0 1 1 78.75,0 z"
+ transform="matrix(0.97263073,0,0,0.97644424,7.5352299,3.1805839)"
+ id="path9130-2"
+ style="color:#000000;fill:none;stroke:#838383;stroke-width:2.05225968;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 191.65625,142.375 c -15.46796,0 -32.28241,9.4537 -33.53125,13.96875 -1.14905,4.15426 1.87803,8.25617 3.28125,9.96875 1.41617,1.72838 21.49832,25.01884 23.53125,26.875 2.03293,1.85615 3.56331,3.375 7.09884,3.375 1.62108,0 -0.57482,0 1.03954,0 3.53553,0 5.01619,-1.51885 7.04912,-3.375 2.03293,-1.85616 22.08383,-25.14662 23.5,-26.875 1.40322,-1.71258 4.46155,-5.81449 3.3125,-9.96875 C 225.68866,151.8287 208.87421,142.375 193.40625,142.375 l -1.75,0 z"
+ id="path9079"
+ style="fill:url(#linearGradient11999);fill-opacity:1;stroke:none" />
+ <path
+ d="m 190.46875,146.40625 c -10.0719,1.02056 -21.93918,3.59082 -28.46875,11.78125 1.07068,6.92565 8.09176,10.76871 11.80545,16.20154 6.01442,6.00067 10.15503,14.78691 18.13205,18.20471 6.97769,-0.23548 9.5786,-8.39931 14.28125,-12.28125 5.24669,-7.49453 14.34439,-13.17431 16.875,-22.1875 -1.91389,-4.69162 -8.20296,-5.61012 -12.125,-8.0625 -6.54536,-2.58051 -13.39616,-4.00879 -20.5,-3.65625 z"
+ id="path9079-2"
+ style="fill:none;stroke:none;filter:url(#filter10487)" />
+ <path
+ d="m 191.875,148.375 c -9.70584,0.82299 -21.16815,2.70516 -27.65625,10.5625 2.80676,7.24924 10.01313,11.52765 14.375,17.8125 4.28562,4.91679 7.76716,11.61396 14.1875,13.75 6.28769,-2.10329 8.86169,-9.26767 13.4375,-13.53125 4.85666,-6.18905 12.59902,-11.22248 14.5625,-18.9375 -4.08056,-4.29524 -10.90995,-5.9918 -16.5625,-8.09375 -4.00816,-1.11091 -8.18402,-1.64444 -12.34375,-1.5625 z"
+ id="path9079-4"
+ style="fill:#ecd000;fill-opacity:1;stroke:none;filter:url(#filter10857)" />
+ <path
+ d="m 191.65625,142.375 c -9.09536,0 -18.63068,3.26371 -25.21875,6.875 29.18664,6.1952 41.50184,12.95164 50.03125,25.375 3.56077,-4.12578 6.65341,-7.69881 7.15625,-8.3125 1.40322,-1.71258 4.46155,-5.81449 3.3125,-9.96875 C 225.68866,151.8287 208.87421,142.375 193.40625,142.375 l -1.75,0 z"
+ id="path10692"
+ style="fill:url(#linearGradient11994);fill-opacity:1;stroke:none" />
+ <path
+ d="m 162,152.03125 c -2.14814,1.59644 -3.54886,3.13337 -3.875,4.3125 -1.14905,4.15426 1.87803,8.25617 3.28125,9.96875 1.41617,1.72838 21.49832,25.01884 23.53125,26.875 2.03293,1.85615 3.55822,3.375 7.09375,3.375 l 1.03125,0 c 3.53553,0 5.02957,-1.51885 7.0625,-3.375 0.0981,-0.0896 0.41582,-0.4404 0.59375,-0.625 -3.86376,-1.513 -7.46031,-3.64781 -10.4375,-6.625 -2.91681,-2.91681 -15.12363,-16.52989 -23.34375,-24.75 -2.68224,-2.68224 -4.16392,-5.94806 -4.9375,-9.15625 z"
+ id="path10768-6"
+ style="fill:url(#linearGradient11991);fill-opacity:1;stroke:none" />
+ <path
+ d="m 191.65625,142.375 c -15.46796,0 -32.28241,9.4537 -33.53125,13.96875 -1.14905,4.15426 1.87803,8.25617 3.28125,9.96875 1.41617,1.72838 21.49832,25.01884 23.53125,26.875 2.03293,1.85615 3.56331,3.375 7.09884,3.375 1.62108,0 -0.57482,0 1.03954,0 3.53553,0 5.01619,-1.51885 7.04912,-3.375 2.03293,-1.85616 22.08383,-25.14662 23.5,-26.875 1.40322,-1.71258 4.46155,-5.81449 3.3125,-9.96875 C 225.68866,151.8287 208.87421,142.375 193.40625,142.375 l -1.75,0 z"
+ id="path9079-5"
+ style="fill:none;stroke:url(#linearGradient11988);stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 201.03125,110.71875 c -2.62691,2.63751 -4.375,7.22287 -4.375,12.4375 0,8.1766 4.29042,14.78125 9.5625,14.78125 2.27327,0 4.36052,-1.22374 6,-3.28125 -0.60161,0.13086 -1.21452,0.21875 -1.84375,0.21875 -6.31676,0 -11.4375,-6.85564 -11.4375,-15.3125 0,-3.29524 0.77098,-6.34559 2.09375,-8.84375 z"
+ id="path9255-4"
+ style="color:#000000;fill:url(#linearGradient11522);fill-opacity:1;stroke:#000000;stroke-width:1.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 180.75,105.875 c -1.46277,0 -2.84424,0.53903 -4.09375,1.5 4.8366,6.75684 4.6875,11.3125 4.6875,11.3125 l 8.375,-3.15625 c -1.5744,-5.70709 -4.9924,-9.65625 -8.96875,-9.65625 z"
+ id="path11540"
+ style="fill:url(#linearGradient11585);fill-opacity:1;stroke:none" />
+ <path
+ d="m 206.21875,108.34375 c -1.56318,0 -2.41647,0.27947 -3.71875,1.3125 3.91745,4.93849 3.75,10.59375 3.75,10.59375 l 8.5625,-3.46875 c -1.53548,-4.98789 -4.79233,-8.4375 -8.59375,-8.4375 z"
+ id="path11587"
+ style="fill:url(#linearGradient11631);fill-opacity:1;stroke:none" />
+</svg>
diff --git a/src/html/img/icons/locked.png b/src/html/img/icons/locked.png
new file mode 100644
index 0000000..414a9be
--- /dev/null
+++ b/src/html/img/icons/locked.png
Binary files differ
diff --git a/src/html/img/icons/lxde.png b/src/html/img/icons/lxde.png
new file mode 100644
index 0000000..69b0f9e
--- /dev/null
+++ b/src/html/img/icons/lxde.png
Binary files differ
diff --git a/src/html/img/icons/macos.png b/src/html/img/icons/macos.png
new file mode 100644
index 0000000..f4dd5f0
--- /dev/null
+++ b/src/html/img/icons/macos.png
Binary files differ
diff --git a/src/html/img/icons/macos.svg b/src/html/img/icons/macos.svg
new file mode 100644
index 0000000..b6d11f6
--- /dev/null
+++ b/src/html/img/icons/macos.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="109.99999"
+ height="119.54903"
+ id="svg2">
+ <title
+ id="title3043">Mac-OS Logo</title>
+ <defs
+ id="defs4" />
+ <g
+ transform="translate(999.92314,-1189.2216)"
+ id="layer1">
+ <path
+ d="m -999.92314,1293.9676 0,-89.5 109.99999,0 0,89.5 -109.99999,0 z"
+ id="path2844"
+ style="fill:#b0a7d2" />
+ <path
+ d="m -937.92315,1293.9676 -61.99999,0 0,-89.5 58.49999,0 0.62177,6.072 c -7.52781,13.0601 -11.07484,27.4848 -12.58788,41.1171 -0.10085,0.9087 -0.16402,1.6853 -0.14037,1.7258 0.0236,0.041 5.58175,0.074 11.12913,0.075 5.54738,8e-4 8.74334,0.038 8.81325,0.082 0.0996,0.063 0.0105,-0.4648 -0.4124,1.1852 -1.26244,4.9255 -2.01915,9.2769 -2.32301,13.3581 -0.11511,1.5459 -0.16313,3.3173 -0.0919,3.3883 l -0.0444,5.4715 0.0626,1.4915 c 0.17968,4.2806 0.87616,8.82 2.09866,13.6783 l -3.62554,1.8551 z"
+ id="path2838"
+ style="fill:#5972ba" />
+ <path
+ d="m -939.95948,1277.3212 -4.66946,0 c -2.23819,0 -4.89111,-0.045 -5.89537,-0.1 -12.03348,-0.6554 -22.7469,-3.1525 -30.59668,-7.1316 -1.93418,-0.9805 -2.46748,-1.2972 -2.46748,-1.4656 0,-0.2014 2.76817,-4.0797 2.91187,-4.0797 0.0651,0 0.80235,0.3257 1.63827,0.7239 10.00248,4.7641 21.36206,6.9774 35.05241,6.8294 1.97172,-0.021 3.85996,-0.073 3.91821,-0.1332 l 0.10823,5.3563 z m -33.12095,-46.5097 c -0.0263,-0.068 -0.0362,-3.0212 -0.0222,-6.5618 l 0.0256,-6.4374 2.81292,0 2.81292,0 0,6.5357 0,6.5357 -2.79075,0.026 c -2.17936,0.02 -2.80121,0 -2.83849,-0.098 z"
+ id="path2834"
+ style="fill:#28277a" />
+ <path
+ d="m -932.93392,1307.1248 c -2.8956,-5.954 -5.16226,-13.0344 -6.33186,-19.779 -0.50039,-2.8855 -0.74388,-5.0078 -1.0881,-9.484 -0.38893,-5.0577 0.12593,-12.2602 1.28425,-17.9655 0.21727,-1.0701 0.36889,-1.9878 0.33694,-2.0393 -0.0361,-0.058 -3.69076,-0.094 -9.67542,-0.094 -7.62469,0 -9.61863,-0.025 -9.62364,-0.1229 -0.12027,-2.3401 0.4788,-8.7105 1.25003,-13.2924 2.08558,-12.3906 6.93104,-25.3577 13.93709,-37.2975 1.99245,-3.3956 5.49543,-8.6395 8.10808,-12.1377 1.24323,-1.6646 4.36829,-5.592 4.52765,-5.6901 0.0946,-0.058 3.76714,2.9548 3.76714,3.0906 0,0.048 -0.57009,0.8074 -1.26685,1.6874 -12.30027,15.5357 -20.22862,31.8608 -23.59216,48.5782 -0.64423,3.202 -1.29997,7.7577 -1.32975,9.2384 l -0.0158,0.7863 10.20208,0.025 10.20209,0.025 -0.0475,0.2207 c -0.0261,0.1214 -0.22731,0.9062 -0.44706,1.744 -1.49867,5.714 -2.48343,12.1279 -2.48826,16.2063 l -9.9e-4,0.8254 0.76492,-0.059 c 0.4207,-0.033 1.87522,-0.2184 3.23225,-0.4131 8.5878,-1.232 13.80018,-2.709 20.29099,-5.7497 0.93061,-0.436 1.73846,-0.8021 1.79521,-0.8135 0.0568,-0.012 0.73547,0.8636 1.50827,1.9447 1.29551,1.8124 1.39316,1.979 1.25237,2.1373 -0.25081,0.2821 -4.4935,2.3488 -6.19259,3.0167 -6.0181,2.3654 -13.22087,4.0411 -20.92419,4.868 -0.81426,0.087 -1.5424,0.1801 -1.61809,0.206 -0.11313,0.039 -0.12572,0.287 -0.0708,1.3961 0.43453,8.7762 2.63714,17.7456 6.28052,25.5751 1.21569,2.6125 1.31861,2.8455 1.27453,2.8859 -0.0542,0.05 -4.41383,2.1264 -4.46383,2.1264 -0.0203,0 -0.39717,-0.7408 -0.83749,-1.6462 l 10e-6,0 z m 6.95426,-76.2561 c -0.037,-0.037 -0.0673,-3.0013 -0.0673,-6.5877 l 0,-6.5208 2.8376,0.026 2.83759,0.026 0,6.5357 0,6.5357 -2.77029,0.026 c -1.52366,0.014 -2.80057,0 -2.83759,-0.041 l 0,-10e-5 z"
+ id="path2832"
+ style="fill:#020202" />
+ </g>
+</svg>
diff --git a/src/html/img/icons/mess.png b/src/html/img/icons/mess.png
new file mode 100644
index 0000000..cb98f10
--- /dev/null
+++ b/src/html/img/icons/mess.png
Binary files differ
diff --git a/src/html/img/icons/none.png b/src/html/img/icons/none.png
new file mode 100644
index 0000000..e6fc91a
--- /dev/null
+++ b/src/html/img/icons/none.png
Binary files differ
diff --git a/src/html/img/icons/opensolaris.png b/src/html/img/icons/opensolaris.png
new file mode 100644
index 0000000..e70051b
--- /dev/null
+++ b/src/html/img/icons/opensolaris.png
Binary files differ
diff --git a/src/html/img/icons/opensolaris.svg b/src/html/img/icons/opensolaris.svg
new file mode 100644
index 0000000..f063aed
--- /dev/null
+++ b/src/html/img/icons/opensolaris.svg
@@ -0,0 +1,164 @@
+<?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://creativecommons.org/ns#"
+ 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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="167.25003"
+ height="158"
+ id="svg3912"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="OpenSolaris_Logo2.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs3914">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3920" />
+ <inkscape:perspective
+ id="perspective3929"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3939"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.9730807"
+ inkscape:cx="67.54343"
+ inkscape:cy="67.227874"
+ inkscape:document-units="px"
+ inkscape:current-layer="g4622"
+ showgrid="false"
+ inkscape:window-width="1280"
+ inkscape:window-height="975"
+ inkscape:window-x="-4"
+ inkscape:window-y="-4" />
+ <metadata
+ id="metadata3917">
+ <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
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Kreise"
+ transform="translate(-509.07121,-262.63987)"
+ sodipodi:insensitive="true">
+ <g
+ id="g4622"
+ transform="translate(205.32123,-327.72231)">
+ <path
+ transform="matrix(0.8287353,0,0,0.8287353,197.3685,300.41994)"
+ d="M 330.17962,437.94714 A 26.546474,26.546474 0 1 1 277.08667,437.94714 A 26.546474,26.546474 0 1 1 330.17962,437.94714 z"
+ sodipodi:ry="26.546474"
+ sodipodi:rx="26.546474"
+ sodipodi:cy="437.94714"
+ sodipodi:cx="303.63315"
+ id="path4624"
+ style="fill:#73b1e4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.7722306,0,0,0.7722306,136.02519,389.666)"
+ d="M 330.17962,437.94714 A 26.546474,26.546474 0 1 1 277.08667,437.94714 A 26.546474,26.546474 0 1 1 330.17962,437.94714 z"
+ sodipodi:ry="26.546474"
+ sodipodi:rx="26.546474"
+ sodipodi:cy="437.94714"
+ sodipodi:cx="303.63315"
+ id="path4626"
+ style="fill:#73b1e4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.5838817,0,0,0.5838817,228.71417,418.15287)"
+ d="M 330.17962,437.94714 A 26.546474,26.546474 0 1 1 277.08667,437.94714 A 26.546474,26.546474 0 1 1 330.17962,437.94714 z"
+ sodipodi:ry="26.546474"
+ sodipodi:rx="26.546474"
+ sodipodi:cy="437.94714"
+ sodipodi:cx="303.63315"
+ id="path4628"
+ style="fill:#135194;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.5085421,0,0,0.5085421,219.08976,435.14762)"
+ d="M 330.17962,437.94714 A 26.546474,26.546474 0 1 1 277.08667,437.94714 A 26.546474,26.546474 0 1 1 330.17962,437.94714 z"
+ sodipodi:ry="26.546474"
+ sodipodi:rx="26.546474"
+ sodipodi:cy="437.94714"
+ sodipodi:cx="303.63315"
+ id="path4630"
+ style="fill:#73b1e4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.4143676,0,0,0.4143676,251.18425,507.89106)"
+ d="M 330.17962,437.94714 A 26.546474,26.546474 0 1 1 277.08667,437.94714 A 26.546474,26.546474 0 1 1 330.17962,437.94714 z"
+ sodipodi:ry="26.546474"
+ sodipodi:rx="26.546474"
+ sodipodi:cy="437.94714"
+ sodipodi:cx="303.63315"
+ id="path4632"
+ style="fill:#918f90;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <g
+ id="g4634">
+ <path
+ style="fill:#135194;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 27.75,65.25 C 12.432001,65.25 1.8136938e-14,77.681998 0,93 C 0,108.318 12.432,120.75 27.75,120.75 C 43.067999,120.75 55.5,108.318 55.5,93 C 55.5,77.682001 43.067999,65.249998 27.75,65.25 z M 27.75,73 C 38.79,72.999998 47.75,81.96 47.75,93 C 47.750002,104.04 38.79,113 27.75,113 C 16.71,113 7.75,104.04 7.75,93 C 7.75,81.959998 16.71,73 27.75,73 z"
+ transform="translate(303.74998,590.36218)"
+ id="path4636" />
+ </g>
+ <g
+ id="g4640">
+ <path
+ style="fill:#60ba52;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 42.75,11 C 30.33,11 20.249999,21.080001 20.25,33.5 C 20.25,45.92 30.330002,55.999999 42.75,56 C 55.17,56 65.250003,45.920002 65.25,33.5 C 65.25,21.08 55.170002,11 42.75,11 z M 42.75,17 C 51.858,17.000001 59.25,24.391999 59.25,33.5 C 59.250001,42.608002 51.858001,50 42.75,50 C 33.641999,49.999999 26.25,42.608001 26.25,33.5 C 26.250001,24.392001 33.641999,17 42.75,17 z"
+ transform="translate(303.74998,590.36218)"
+ id="path4642" />
+ </g>
+ <g
+ id="g4646">
+ <path
+ style="fill:#918f90;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 102.75,0 C 87.57,0 75.250001,12.320001 75.25,27.5 C 75.25,42.68 87.570001,55.000001 102.75,55 C 117.93,55 130.25,42.680001 130.25,27.5 C 130.25,12.32 117.93,1.3041202e-14 102.75,0 z M 102.75,15 C 109.65,15 115.25,20.6 115.25,27.5 C 115.25,34.4 109.65,40 102.75,40 C 95.850004,39.999998 90.25,34.4 90.25,27.5 C 90.249996,20.600001 95.85,15 102.75,15 z"
+ transform="translate(303.74998,590.36218)"
+ id="path4648" />
+ </g>
+ <g
+ id="g4652">
+ <path
+ style="fill:#60ba52;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 119.75,103 C 106.778,103 96.250002,113.528 96.25,126.5 C 96.25,139.472 106.778,150 119.75,150 C 132.722,150 143.25,139.472 143.25,126.5 C 143.25,113.528 132.722,103 119.75,103 z M 119.75,116.5 C 125.27,116.5 129.75,120.98 129.75,126.5 C 129.75001,132.02 125.27,136.5 119.75,136.5 C 114.23,136.5 109.75,132.02 109.75,126.5 C 109.75,120.98 114.23,116.5 119.75,116.5 z"
+ transform="translate(303.74998,590.36218)"
+ id="path4654" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/html/img/icons/os2.png b/src/html/img/icons/os2.png
new file mode 100644
index 0000000..5a74de3
--- /dev/null
+++ b/src/html/img/icons/os2.png
Binary files differ
diff --git a/src/html/img/icons/osx.png b/src/html/img/icons/osx.png
new file mode 100644
index 0000000..12a7ea3
--- /dev/null
+++ b/src/html/img/icons/osx.png
Binary files differ
diff --git a/src/html/img/icons/osx.svg b/src/html/img/icons/osx.svg
new file mode 100644
index 0000000..ceb8e0a
--- /dev/null
+++ b/src/html/img/icons/osx.svg
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.0"
+ width="800"
+ height="950"
+ id="svg2">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient3784">
+ <stop
+ id="stop3786"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3788"
+ style="stop-color:#888888;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3776">
+ <stop
+ id="stop3778"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3780"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3754">
+ <stop
+ id="stop3756"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3758"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3734">
+ <stop
+ id="stop3736"
+ style="stop-color:#6c6d6f;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3738"
+ style="stop-color:#010101;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="581.96649"
+ y1="409.16061"
+ x2="544.40381"
+ y2="311.21347"
+ id="linearGradient3760"
+ xlink:href="#linearGradient3754"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="591.31964"
+ y1="593.75946"
+ x2="587.03571"
+ y2="434.31064"
+ id="linearGradient3764"
+ xlink:href="#linearGradient3734"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="591.31964"
+ y1="593.75946"
+ x2="587.03571"
+ y2="434.31064"
+ id="linearGradient3773"
+ xlink:href="#linearGradient3734"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-2.8e-6,-5e-6)" />
+ <linearGradient
+ x1="592.88464"
+ y1="409.21036"
+ x2="572.06653"
+ y2="317.52728"
+ id="linearGradient3782"
+ xlink:href="#linearGradient3776"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(4.10748,0,0,4.10748,-2012.14,-1474.67)" />
+ <linearGradient
+ x1="621.8504"
+ y1="527.79108"
+ x2="575.15466"
+ y2="358.30902"
+ id="linearGradient3790"
+ xlink:href="#linearGradient3784"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="591.31964"
+ y1="593.75946"
+ x2="587.03571"
+ y2="434.31064"
+ id="linearGradient3796"
+ xlink:href="#linearGradient3734"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="591.31964"
+ y1="593.75946"
+ x2="587.03571"
+ y2="434.31064"
+ id="linearGradient3813"
+ xlink:href="#linearGradient3734"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(4.10748,0,0,4.10748,-2012.14,-1474.67)" />
+ <linearGradient
+ x1="621.8504"
+ y1="527.79108"
+ x2="575.15466"
+ y2="358.30902"
+ id="linearGradient3815"
+ xlink:href="#linearGradient3784"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(4.10748,0,0,4.10748,-2012.14,-1474.67)" />
+ </defs>
+ <path
+ d="m -1763.2143,1058.9693 0,-108.92855 38.9286,90.53575 38.9286,-90.53575 0,108.92855"
+ id="path3199"
+ style="fill:none;stroke:#000000;stroke-width:0pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="M 9.2490229,7.8722656 C 9.0747426,10.220019 9.5551534,12.587324 10.789328,14.675279 L 283.03823,474.32796 15.153526,926.66418 c -2.099826,3.60325 -2.063434,8.05645 0,11.68065 2.063392,3.62427 5.841657,5.87111 10.011982,5.9045 l 205.245632,0 c 4.12198,-0.0267 7.92563,-2.22104 10.01198,-5.77614 l 158.6514,-267.88471 158.65141,267.88471 c 2.08635,3.5551 5.89,5.74948 10.01198,5.77614 l 205.37399,0 c 4.17033,-0.0334 7.94859,-2.28027 10.01199,-5.9045 2.06355,-3.62416 2.09982,-8.0774 0,-11.68065 L 515.23918,474.32796 787.35972,14.675279 c 1.2249,-2.101879 1.60254,-4.457232 1.41195,-6.8030134 l -229.6338,0 L 399.07452,278.19578 239.01118,7.8722656 l -229.7621571,0 z"
+ id="path3762"
+ style="fill:url(#linearGradient3815) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="M 20.80131,8.7707768 296.51589,474.32796 25.165508,932.56868 l 205.245632,0 168.66338,-284.82805 168.66339,284.82805 205.37399,0 L 501.76152,474.32796 777.34774,8.7707768 l -205.24563,0 L 399.07452,301.04364 226.04694,8.7707768 l -205.24563,0 z"
+ id="path3705"
+ style="fill:url(#linearGradient3813) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="M 20.80131,8.7707768 201.9155,314.64967 c 49.70108,-29.3714 101.49706,-57.52505 155.69916,-83.6899 L 226.04694,8.7707768 l -205.24563,0 z m 551.3008,0 -102.0452,172.3857932 c 78.84426,-31.77986 162.67756,-58.92944 252.48165,-79.83914 l 54.80918,-92.5466532 -205.24563,0 z"
+ id="path3771"
+ style="opacity:0.47619001;fill:url(#linearGradient3782) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+</svg>
diff --git a/src/html/img/icons/qemu.png b/src/html/img/icons/qemu.png
new file mode 100644
index 0000000..a154cec
--- /dev/null
+++ b/src/html/img/icons/qemu.png
Binary files differ
diff --git a/src/html/img/icons/redhat.png b/src/html/img/icons/redhat.png
new file mode 100644
index 0000000..437ca10
--- /dev/null
+++ b/src/html/img/icons/redhat.png
Binary files differ
diff --git a/src/html/img/icons/redhat.svg b/src/html/img/icons/redhat.svg
new file mode 100644
index 0000000..d7a6788
--- /dev/null
+++ b/src/html/img/icons/redhat.svg
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ 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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="61.139999"
+ height="61.139999"
+ viewBox="0 0 61.14 61.139999"
+ enable-background="new 0 0 187.086 53.867"
+ xml:space="preserve"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="RedHat.svg"
+ inkscape:export-filename="/home/zwerg/data/studium/ss10/projekt/git/vmchooser/src/img/RedHat.png"
+ inkscape:export-xdpi="88.548141"
+ inkscape:export-ydpi="88.548141"><metadata
+ id="metadata39"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs37"><inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 26.9335 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="187.086 : 26.9335 : 1"
+ inkscape:persp3d-origin="93.542999 : 17.955667 : 1"
+ id="perspective41" /></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="900"
+ inkscape:window-height="489"
+ id="namedview35"
+ showgrid="false"
+ inkscape:zoom="2.8917183"
+ inkscape:cx="93.542999"
+ inkscape:cy="26.935504"
+ inkscape:window-x="187"
+ inkscape:window-y="94"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" />
+<g
+ id="g3">
+ <path
+ clip-rule="evenodd"
+ d="m 56.02,47.007 c -1.174,-0.271 -2.419,-0.441 -3.679,-0.441 -2.154,0 -4.114,0.375 -5.56,0.975 -0.157,0.08 -0.271,0.246 -0.271,0.436 0,0.068 0.018,0.139 0.044,0.197 0.171,0.496 -0.111,1.035 -1.51,1.342 -2.074,0.455 -3.385,2.596 -4.133,3.307 -0.88,0.836 -3.364,1.348 -2.991,0.85 0.292,-0.389 1.412,-1.604 2.092,-2.916 0.608,-1.174 1.15,-1.506 1.897,-2.627 0.218,-0.328 1.066,-1.482 1.313,-2.393 0.279,-0.893 0.185,-2.01 0.292,-2.471 0.15,-0.662 0.779,-2.104 0.824,-2.918 0.028,-0.457 -1.919,0.658 -2.843,0.658 -0.924,0 -1.825,-0.553 -2.65,-0.594 -1.021,-0.049 -1.678,0.789 -2.604,0.643 -0.526,-0.086 -0.972,-0.549 -1.894,-0.584 -1.313,-0.051 -2.919,0.73 -5.934,0.633 -2.966,-0.098 -5.704,-3.746 -6.079,-4.328 -0.438,-0.682 -0.974,-0.682 -1.556,-0.148 -0.584,0.535 -1.303,0.117 -1.508,-0.24 -0.389,-0.682 -1.431,-2.674 -3.04,-3.088 -2.227,-0.578 -3.354,1.23 -3.21,2.672 0.15,1.461 1.095,1.871 1.532,2.65 0.438,0.777 0.663,1.279 1.485,1.625 0.584,0.242 0.802,0.604 0.628,1.084 -0.154,0.416 -0.76,0.51 -1.161,0.531 -0.849,0.041 -1.442,-0.189 -1.876,-0.469 -0.504,-0.32 -0.914,-0.768 -1.355,-1.525 -0.509,-0.838 -1.313,-1.203 -2.246,-1.203 -0.446,0 -0.864,0.119 -1.233,0.311 -1.467,0.76 -3.21,1.213 -5.088,1.213 H 1.589 C 0.56,37.132 0,33.858 0,30.452 0,13.634 13.634,0 30.454,0 47.273,0 60.906,13.634 60.906,30.452 60.905,36.556 59.111,42.239 56.02,47.007 l 0,0 z"
+ id="path5"
+ style="fill:#020001;fill-rule:evenodd" />
+ <path
+ clip-rule="evenodd"
+ d="m 37.159,44.214 c 0.158,0.152 0.428,0.664 0.098,1.318 -0.184,0.344 -0.384,0.588 -0.742,0.873 -0.427,0.344 -1.264,0.738 -2.414,0.012 -0.616,-0.393 -0.653,-0.523 -1.505,-0.414 -0.61,0.08 -0.851,-0.533 -0.633,-1.047 0.22,-0.508 1.118,-0.92 2.238,-0.268 0.503,0.297 1.287,0.922 1.973,0.367 0.287,-0.229 0.456,-0.379 0.851,-0.836 0.02,-0.02 0.044,-0.031 0.072,-0.031 0.024,0 0.047,0.01 0.062,0.026 l 0,0 z"
+ id="path7"
+ style="fill:#020001;fill-rule:evenodd" />
+ <path
+ clip-rule="evenodd"
+ d="m 47.639,22.349 c -0.301,1.014 -0.729,2.305 -2.632,3.284 -0.278,0.141 -0.383,-0.09 -0.257,-0.31 0.722,-1.223 0.847,-1.53 1.058,-2.013 C 46.1,22.605 46.253,21.602 45.671,19.506 44.527,15.385 42.136,9.877 40.4,8.088 38.723,6.364 35.688,5.879 32.942,6.582 31.93,6.841 29.954,7.87 26.286,7.044 c -6.349,-1.429 -7.287,1.749 -7.652,3.133 -0.364,1.385 -1.24,5.321 -1.24,5.321 -0.291,1.601 -0.673,4.387 9.183,6.266 4.592,0.874 4.825,2.063 5.028,2.914 0.363,1.531 0.946,2.406 1.603,2.844 0.656,0.438 0,0.799 -0.729,0.874 -1.955,0.203 -9.182,-1.87 -13.457,-4.299 -3.499,-2.138 -3.558,-4.063 -2.755,-5.696 -5.285,-0.57 -9.25,0.496 -9.969,2.998 -1.235,4.291 9.438,11.625 21.592,15.303 12.752,3.863 25.869,1.168 27.326,-6.852 0.663,-3.639 -2.405,-6.333 -7.577,-7.501 l 0,0 z"
+ id="path9"
+ style="fill:#e03127;fill-rule:evenodd" />
+ <path
+ clip-rule="evenodd"
+ d="m 59.774,45.679 h 0.207 l 0.308,0.51 h 0.2 l -0.337,-0.52 c 0.175,-0.018 0.307,-0.111 0.307,-0.32 0,-0.232 -0.139,-0.336 -0.415,-0.336 h -0.447 v 1.176 h 0.177 v -0.51 l 0,0 z m 0,-0.151 v -0.365 h 0.245 c 0.124,0 0.254,0.027 0.254,0.172 0,0.182 -0.134,0.193 -0.286,0.193 h -0.213 l 0,0 z"
+ id="path11"
+ style="fill:#020001;fill-rule:evenodd" />
+ <path
+ clip-rule="evenodd"
+ d="m 61.137,45.603 c 0,0.635 -0.515,1.15 -1.153,1.15 -0.636,0 -1.152,-0.516 -1.152,-1.15 0,-0.639 0.516,-1.152 1.152,-1.152 0.639,-10e-4 1.153,0.513 1.153,1.152 l 0,0 z m -1.153,-0.948 c -0.521,0 -0.947,0.422 -0.947,0.947 0,0.525 0.425,0.945 0.947,0.945 0.521,0 0.95,-0.42 0.95,-0.945 0,-0.525 -0.429,-0.947 -0.95,-0.947 l 0,0 z"
+ id="path13"
+ style="fill:#020001;fill-rule:evenodd" />
+ <path
+ clip-rule="evenodd"
+ d="m 28.083,14.5 c -3.517,0.255 -3.883,0.635 -4.542,1.337 -0.929,0.99 -2.152,-1.284 -2.152,-1.284 -0.736,-0.155 -1.625,-1.339 -1.146,-2.444 0.474,-1.093 1.348,-0.766 1.622,-0.428 0.333,0.415 1.043,1.093 1.967,1.069 0.922,-0.022 1.989,-0.217 3.475,-0.217 1.504,0 2.518,0.563 2.575,1.043 0.049,0.413 -0.122,0.802 -1.799,0.924 l 0,0 z"
+ id="path15"
+ style="fill:#020001;fill-rule:evenodd" />
+ <path
+ clip-rule="evenodd"
+ d="m 31.779,8.688 c -0.005,0 -0.01,0 -0.015,0 -0.055,0 -0.099,-0.041 -0.099,-0.092 0,-0.037 0.023,-0.068 0.056,-0.083 0.681,-0.36 1.699,-0.648 2.862,-0.767 0.35,-0.035 0.691,-0.054 1.021,-0.058 0.058,0 0.115,0 0.174,0.002 1.951,0.044 3.515,0.821 3.492,1.733 -0.024,0.912 -1.623,1.617 -3.577,1.574 -0.631,-0.016 -1.225,-0.106 -1.734,-0.255 -0.062,-0.015 -0.106,-0.065 -0.106,-0.125 0,-0.062 0.044,-0.114 0.106,-0.129 1.219,-0.281 2.04,-0.742 1.981,-1.179 -0.076,-0.577 -1.669,-0.889 -3.557,-0.7 -0.208,0.022 -0.409,0.05 -0.604,0.079 l 0,0 z"
+ id="path17"
+ style="fill:#020001;fill-rule:evenodd" />
+
+
+
+
+
+
+
+
+</g>
+</svg> \ No newline at end of file
diff --git a/src/html/img/icons/riscos.png b/src/html/img/icons/riscos.png
new file mode 100644
index 0000000..2c4573e
--- /dev/null
+++ b/src/html/img/icons/riscos.png
Binary files differ
diff --git a/src/html/img/icons/riscos_orig.png b/src/html/img/icons/riscos_orig.png
new file mode 100644
index 0000000..1b9752f
--- /dev/null
+++ b/src/html/img/icons/riscos_orig.png
Binary files differ
diff --git a/src/html/img/icons/solaris.png b/src/html/img/icons/solaris.png
new file mode 100644
index 0000000..8433849
--- /dev/null
+++ b/src/html/img/icons/solaris.png
Binary files differ
diff --git a/src/html/img/icons/suse.png b/src/html/img/icons/suse.png
new file mode 100644
index 0000000..1472b93
--- /dev/null
+++ b/src/html/img/icons/suse.png
Binary files differ
diff --git a/src/html/img/icons/suse.svg b/src/html/img/icons/suse.svg
new file mode 100644
index 0000000..3a2f285
--- /dev/null
+++ b/src/html/img/icons/suse.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="140"
+ height="85"
+ id="svg2">
+ <defs
+ id="defs4" />
+ <path
+ d="M 78.421995,3.6922599e-05 C 75.489869,0.0018196076 72.772622,0.069213367 71.493006,0.21082112 C 63.734913,1.0694623 56.923372,3.1339511 49.345688,6.9171132 C 37.13247,13.014579 29.463987,19.915881 25.13337,28.712538 C 23.194296,32.65126 22.523331,35.410929 22.500736,39.536732 C 22.486433,42.147123 22.678011,43.531503 23.352165,45.654728 C 25.780552,53.302775 32.703288,58.760312 40.72358,59.356549 C 48.484536,59.933462 54.251543,56.86185 56.827602,50.782481 C 57.761552,48.578478 58.042134,46.664566 57.781811,44.252696 C 57.145271,38.35471 53.329438,33.868668 47.691734,32.384345 C 45.96543,31.929823 43.308526,31.915575 41.614176,32.37943 C 36.968631,33.65124 33.589264,37.838993 34.831982,43.007505 C 35.886321,47.392606 41.010077,50.140647 45.342924,48.399986 C 47.073131,47.704914 48.080363,46.863816 47.579192,45.017445 C 47.068377,43.135756 45.805373,42.691918 43.385563,43.370284 C 42.433071,43.63732 41.759228,43.466271 41.046556,42.821236 C 39.850919,41.739073 39.870084,40.085039 41.095488,38.904325 C 42.587129,37.467112 45.314156,37.346073 47.804265,38.610184 C 50.268645,39.861261 52.068879,43.402212 51.679819,46.233206 C 51.262155,49.272187 49.518577,51.36967 46.595622,52.346311 C 45.619763,52.672354 45.215983,52.709927 42.915792,52.704186 C 40.448522,52.698002 40.266464,52.675352 38.878776,52.209053 C 33.673161,50.459829 30.234733,45.718595 30.202861,40.242651 C 30.182737,36.784558 31.410449,33.992785 34.137152,31.300928 C 36.7003,28.770531 40.011219,27.534487 44.227214,27.536026 C 49.468132,27.537917 53.819697,29.369984 57.630127,33.183399 C 60.497735,36.053289 62.662841,39.943026 63.497267,43.713438 L 63.761506,44.909588 L 71.287489,48.600992 C 71.347846,48.545781 71.329952,48.039112 71.248337,47.694054 C 70.939918,46.390089 70.891623,42.758933 71.160251,41.223114 C 71.550932,38.989601 72.079047,37.827161 73.20567,36.713017 C 74.942657,34.995303 77.086721,34.255066 80.340175,34.252081 C 84.667713,34.248138 88.340237,35.833754 91.624254,39.129832 C 92.361153,39.869434 93.967338,41.621263 95.196415,43.022228 C 96.425505,44.423165 97.618455,45.703497 97.848606,45.865539 C 98.494342,46.320143 107.26712,50.337589 107.37599,50.228543 C 107.42891,50.175532 107.11788,49.616313 106.6811,48.98338 C 104.97155,46.505928 103.52205,43.314803 102.96705,40.811311 C 102.58738,39.098593 102.6915,36.570789 103.19216,35.418843 C 103.66089,34.340314 104.66024,33.429177 105.71711,33.114777 C 106.84919,32.777971 109.32027,32.798309 112.63636,33.173608 C 116.61348,33.623701 118.81211,33.710096 121.4346,33.511832 C 127.40695,33.060335 131.31663,32.07813 135.69383,29.938131 C 137.98143,28.819693 138.4678,28.387981 138.96258,27.050683 C 139.43437,25.775632 139.65818,24.555429 139.41766,24.555429 C 139.33254,24.555429 138.52925,24.900905 137.6316,25.325095 C 134.26329,26.916801 131.37146,27.624137 128.80398,27.486986 C 126.13494,27.344406 121.76335,25.878424 116.57548,23.383793 L 114.21197,22.246459 L 112.28402,17.628573 L 114.08476,18.751146 C 117.04699,20.718163 121.83746,23.073201 124.75717,23.996574 C 129.21767,25.40721 132.76755,25.223221 136.3593,23.393597 C 137.62528,22.748724 140,21.118784 140,20.893441 C 140,20.468686 138.73005,16.340329 138.02306,14.466596 C 136.2551,9.7808853 135.04996,8.2187295 132.13636,6.8288801 C 128.90166,5.2858487 125.33683,4.1803628 118.78239,2.6864649 C 115.64871,2.0210908 112.49901,1.3770557 109.31864,0.98048663 L 109.24034,4.8630782 C 101.83068,2.5587681 95.347612,1.0354819 88.16955,0.29417855 C 86.314672,0.1025995 82.191895,-0.0022590824 78.421995,3.6922599e-05 z M 127.51704,7.9514914 C 129.91073,7.9453733 132.19491,9.1761249 133.53098,11.402682 C 135.80914,15.199323 133.94162,20.131676 129.6799,21.569957 C 126.86739,22.519155 123.51804,21.384793 121.81627,18.908028 C 120.41952,16.875224 120.18532,14.250774 121.19971,12.049782 C 121.77609,10.799137 123.14788,9.3195964 124.26296,8.7505725 C 125.31508,8.2136109 126.42898,7.95426 127.51704,7.9514914 z M 127.43873,9.9810403 C 126.31699,10.004769 125.17401,10.421516 124.20914,11.294838 C 122.73595,12.628152 122.26284,15.039361 123.11301,16.878505 C 123.811,18.388502 125.13299,19.430458 126.67539,19.682583 C 128.86261,20.040148 130.93459,19.019841 131.84276,17.133427 C 132.46398,15.842965 132.57464,14.957408 132.26359,13.741067 C 131.64616,11.326658 129.58019,9.9356606 127.43873,9.9810403 z M 128.58378,12.47628 C 129.41533,12.47628 130.41588,12.99609 130.54113,13.495938 C 130.71129,14.175195 130.48103,14.644398 129.82181,14.981327 C 128.80386,15.501608 127.49542,15.354396 126.72919,14.633283 C 125.78455,13.744213 126.87488,12.47628 128.58378,12.47628 z"
+ id="Geeko"
+ style="fill:#82bf46" />
+ <path
+ d="M 115.85761,81.240962 C 115.85761,80.478159 116.12781,79.825742 116.66984,79.285356 C 117.21078,78.744969 117.86428,78.474227 118.62709,78.474227 C 119.38989,78.474227 120.04285,78.744421 120.5827,79.285356 C 121.12252,79.825193 121.39382,80.478159 121.39382,81.240962 C 121.39382,82.00486 121.12307,82.657278 120.5827,83.199312 C 120.04341,83.740249 119.38989,84.01154 118.62709,84.01154 C 117.86374,84.01154 117.21078,83.740249 116.66984,83.199312 C 116.12781,82.657278 115.85761,82.00486 115.85761,81.240962 L 115.85761,81.240962 L 115.85761,81.240962 z M 120.94624,81.240962 C 120.94624,80.601174 120.71943,80.053099 120.26747,79.602228 C 119.81604,79.149161 119.26961,78.923999 118.62818,78.923999 C 117.9873,78.923999 117.43922,79.149161 116.98617,79.602228 C 116.53254,80.053099 116.30683,80.601174 116.30683,81.240962 C 116.30683,81.881846 116.53254,82.429372 116.98617,82.883538 C 117.43922,83.335509 117.9873,83.562865 118.62818,83.562865 C 119.26961,83.562865 119.81604,83.335509 120.26747,82.883538 C 120.71943,82.429372 120.94624,81.881846 120.94624,81.240962 L 120.94624,81.240962 L 120.94624,81.240962 z M 119.50081,82.917037 L 118.626,81.450746 L 118.13338,81.450746 L 118.13338,82.917037 L 117.64133,82.917037 L 117.64133,79.503378 L 118.5189,79.503378 C 119.34156,79.503378 119.75399,79.818602 119.75399,80.448504 C 119.75399,80.886745 119.53212,81.195381 119.0906,81.376607 L 120.02748,82.917037 L 119.50081,82.917037 L 119.50081,82.917037 L 119.50081,82.917037 z M 118.13338,79.923494 L 118.13338,81.059733 C 118.17512,81.065227 118.28167,81.067972 118.453,81.067972 C 118.77262,81.067972 118.98514,81.028431 119.09554,80.946605 C 119.20592,80.866426 119.26084,80.71101 119.26084,80.483102 C 119.26084,80.106917 119.01372,79.919651 118.51945,79.919651 L 118.13338,79.923494 L 118.13338,79.923494 z"
+ id="(R)"
+ style="fill:#006a5c" />
+ <path
+ d="M 8.2321175,55.050921 C 3.686615,55.050921 3.125e-06,58.568842 3.125e-06,62.901035 L 3.125e-06,65.231236 C 3.125e-06,69.389242 3.0905416,72.279148 7.5254167,72.279148 L 15.776631,72.279148 C 16.896351,72.279148 18.049535,72.962323 18.049535,74.246456 L 18.049535,76.385664 C 18.049534,77.589113 16.859679,78.333864 15.776631,78.333864 L 0.38200407,78.333864 L 0.38200407,81.981975 C 0.38200207,83.394455 1.5521491,84.407675 3.1706088,84.407675 L 16.865333,84.407675 C 21.448119,84.407675 25.173847,80.888525 25.173847,76.557555 L 25.173847,73.444256 C 25.173847,69.224524 22.452932,66.816539 17.705733,66.816539 L 9.5118202,66.816539 C 8.0877226,66.816539 7.1243161,66.082486 7.1243161,64.982942 L 7.1243161,63.149335 C 7.1243151,62.095013 8.3563439,61.143832 9.7028201,61.143832 L 22.920043,61.143832 L 22.920043,57.495726 C 22.920043,55.972003 22.011493,55.050921 20.513439,55.050921 L 8.2321175,55.050921 z M 69.409524,55.050921 C 64.872579,55.050921 61.17741,58.568842 61.17741,62.901035 L 61.17741,65.231236 C 61.17741,69.389242 64.28277,72.279148 68.721923,72.279148 L 76.973137,72.279148 C 78.092246,72.279148 79.226941,72.962323 79.226941,74.246456 L 79.226941,76.385664 C 79.226942,77.589113 78.051295,78.333864 76.973137,78.333864 L 61.559409,78.333864 L 61.559409,81.981975 C 61.559409,83.394455 62.744988,84.407675 64.367116,84.407675 L 78.061839,84.407675 C 82.640346,84.407675 86.351253,80.888525 86.351253,76.557555 L 86.351253,73.444256 C 86.351252,69.224524 83.630339,66.816539 78.883141,66.816539 L 70.689226,66.816539 C 69.263904,66.816539 68.320822,66.082486 68.320822,64.982942 L 68.320822,63.149335 C 68.320821,62.095013 69.53314,61.143832 70.880227,61.143832 L 84.441251,61.143832 L 84.441251,57.495726 C 84.44125,56.062462 83.32046,55.050921 81.709947,55.050921 L 69.409524,55.050921 z M 99.281976,55.050921 C 94.745643,55.050921 91.030762,58.568842 91.030762,62.901035 L 91.030762,76.557555 C 91.03076,80.888525 94.745642,84.407675 99.281976,84.407675 L 110.79929,84.407675 C 112.42081,84.407675 113.58789,83.393845 113.58789,81.981975 L 113.58789,78.333864 L 100.48527,78.333864 C 99.084408,78.333864 98.116875,77.3946 98.116875,76.060956 C 98.116872,76.060956 98.116875,72.778498 98.116875,72.355552 C 98.582607,72.355552 113.79801,72.355552 113.79801,72.355552 C 116.1169,72.355552 118,70.544716 118,68.32545 L 118,62.901035 C 118,58.568842 114.30973,55.050921 109.7679,55.050921 L 99.281976,55.050921 z M 100.42797,61.143832 L 108.62188,61.143832 C 109.90358,61.143832 110.933,62.12649 110.933,63.340332 C 110.933,63.340342 110.933,66.397259 110.933,66.816539 C 110.48071,66.816539 98.569774,66.816539 98.116875,66.816539 C 98.116261,66.397259 98.116875,63.340332 98.116875,63.340332 C 98.116877,62.127104 99.152402,61.143832 100.42797,61.143832 z M 32.164459,62.385335 C 30.715302,62.385334 29.700554,63.48244 29.700554,65.059335 L 29.700554,76.251954 C 29.700554,81.546175 33.136116,84.598675 39.097772,84.598675 L 40.052773,84.598675 C 42.836183,84.598675 45.134604,83.437845 46.814185,82.593165 C 47.785994,82.110935 48.572457,81.733665 49.087089,81.733665 C 49.276561,81.733665 49.723043,81.765455 49.96569,82.115675 L 51.646493,84.407675 L 53.938497,84.407675 C 55.803883,84.407675 56.478802,82.928875 56.478802,81.924665 L 56.478802,65.059335 C 56.478801,63.531952 54.824281,62.385335 53.346396,62.385335 L 51.875693,62.385335 C 50.426536,62.385334 49.411789,63.48244 49.411789,65.059335 L 49.411789,75.831759 C 49.411789,77.214292 48.230031,78.333864 46.775985,78.333864 L 39.422473,78.333864 C 37.969647,78.333864 36.786667,77.214292 36.786667,75.831759 L 36.786667,65.059335 C 36.786667,63.531952 35.113046,62.385335 33.635162,62.385335 L 32.164459,62.385335 z"
+ id="SuSE"
+ style="fill:#006a5c" />
+</svg> \ No newline at end of file
diff --git a/src/html/img/icons/term.png b/src/html/img/icons/term.png
new file mode 100644
index 0000000..f4c0200
--- /dev/null
+++ b/src/html/img/icons/term.png
Binary files differ
diff --git a/src/html/img/icons/ubuntu.png b/src/html/img/icons/ubuntu.png
new file mode 100644
index 0000000..b43c137
--- /dev/null
+++ b/src/html/img/icons/ubuntu.png
Binary files differ
diff --git a/src/html/img/icons/ubuntu.svg b/src/html/img/icons/ubuntu.svg
new file mode 100644
index 0000000..d835062
--- /dev/null
+++ b/src/html/img/icons/ubuntu.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
+<circle cy="50" cx="50" r="45" fill="rgb(244,116,33)"/>
+<path id="circle-of-friends" d="m 62.295912,28.701087 c 2.873376,1.659372 6.546563,0.675122 8.204788,-2.197388 1.659075,-2.873664 0.675688,-6.546562 -2.197975,-8.205644 -2.873087,-1.658504 -6.545987,-0.674543 -8.205062,2.199121 -1.6585,2.872509 -0.67455,6.545408 2.19825,8.203911 z M 50,67.549813 c -2.641888,0 -5.145512,-0.587374 -7.392837,-1.632816 l -4.174551,7.480879 C 41.919625,75.124499 45.845375,76.10009 50,76.10009 c 2.416175,0 4.7524,-0.334819 6.9726,-0.949614 0.392825,-2.413 1.825625,-4.636944 4.109888,-5.956013 2.280224,-1.316469 4.919225,-1.446933 7.203499,-0.583622 4.4424,-4.368222 7.333101,-10.311246 7.753925,-16.929679 l -8.5624,-0.124687 C 66.689537,60.521517 59.168538,67.549813 50,67.549813 z m 0,-35.099916 c 9.168538,0 16.689537,7.029739 17.477512,15.993631 l 8.5624,-0.124975 C 75.6185,41.700699 72.727812,35.757675 68.284837,31.389741 66.00085,32.252475 63.362137,32.121722 61.081625,30.804963 58.797637,29.486472 57.365137,27.262817 56.972312,24.849528 54.7524,24.235311 52.416175,23.900204 50,23.900204 c -4.154625,0 -8.080075,0.975302 -11.566813,2.702502 l 4.174263,7.480012 C 44.854487,33.037277 47.358112,32.449902 50,32.449902 z M 32.450338,49.999856 c 0,-5.93754 2.950725,-11.181774 7.4624,-14.357351 l -4.392175,-7.357919 c -5.257513,3.512993 -9.168825,8.882784 -10.793275,15.172749 1.897787,1.546802 3.11035,3.902363 3.11035,6.543097 0,2.640447 -1.21285,4.996008 -3.110638,6.542522 1.624163,6.290252 5.535475,11.660045 10.793275,15.173037 l 4.392463,-7.358207 c -4.511675,-3.175289 -7.4624,-8.419523 -7.4624,-14.357928 z m 29.84645,21.298479 c -2.873675,1.659081 -3.857625,5.331691 -2.198838,8.2042 1.659088,2.873663 5.331688,3.858202 8.20535,2.199121 2.8728,-1.658794 3.85705,-5.331691 2.197975,-8.205066 -1.658512,-2.872221 -5.3317,-3.85676 -8.204487,-2.198255 z M 19.400513,43.992755 c -3.31875,0 -6.007975,2.688936 -6.007975,6.007677 0,3.317876 2.689225,6.007102 6.007975,6.007102 3.317587,0 6.0071,-2.689226 6.0071,-6.007102 0,-3.318741 -2.689513,-6.007677 -6.0071,-6.007677" fill="#fff"/>
+</svg>
diff --git a/src/html/img/icons/unknown.png b/src/html/img/icons/unknown.png
new file mode 100644
index 0000000..21ccd9c
--- /dev/null
+++ b/src/html/img/icons/unknown.png
Binary files differ
diff --git a/src/html/img/icons/virtualbox.png b/src/html/img/icons/virtualbox.png
new file mode 100644
index 0000000..21bee21
--- /dev/null
+++ b/src/html/img/icons/virtualbox.png
Binary files differ
diff --git a/src/html/img/icons/vmware.png b/src/html/img/icons/vmware.png
new file mode 100644
index 0000000..a704627
--- /dev/null
+++ b/src/html/img/icons/vmware.png
Binary files differ
diff --git a/src/html/img/icons/vmware.svg b/src/html/img/icons/vmware.svg
new file mode 100644
index 0000000..a92e234
--- /dev/null
+++ b/src/html/img/icons/vmware.svg
@@ -0,0 +1,86 @@
+<?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://creativecommons.org/ns#"
+ 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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ width="70.40023"
+ height="28.5725"
+ xml:space="preserve"
+ sodipodi:docname="vmware.svg"
+ inkscape:export-filename="/home/zwerg/data/studium/ss10/projekt/git/vmchooser/src/img/vmware.png"
+ inkscape:export-xdpi="81.896927"
+ inkscape:export-ydpi="81.896927"><metadata
+ id="metadata8"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs6"><inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ id="perspective10" /><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath20"><path
+ d="M 0,792 612,792 612,0 0,0 0,792 z"
+ id="path22" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath130"><path
+ d="M 0,0 612,0 612,792 0,792 0,0 z"
+ id="path132" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath168"><path
+ d="M 0,0 612,0 612,792 0,792 0,0 z"
+ id="path170" /></clipPath></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1280"
+ inkscape:window-height="975"
+ id="namedview4"
+ showgrid="false"
+ inkscape:zoom="2.1123985"
+ inkscape:cx="-22.345021"
+ inkscape:cy="1.6332828"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g164" /><g
+ id="g12"
+ inkscape:groupmode="layer"
+ inkscape:label="VMW_10Q1_LGO_GUIDE_USLET_EN_R1"
+ transform="matrix(1.25,0,0,-1.25,-404.84502,340.05125)"><g
+ id="g164"><g
+ id="g166"
+ clip-path="url(#clipPath168)"><g
+ id="g172"
+ transform="translate(388.349,250.8558)" /><g
+ id="g176"
+ transform="translate(436.2494,269.9846)" /><g
+ id="g180"
+ transform="translate(458.8979,249.2209)" /><g
+ id="g184"
+ transform="translate(413.3598,255.9408)" /><g
+ id="g188"
+ transform="translate(329.7792,270.223)"><path
+ d="M 0,0 C -0.708,1.553 -2.458,2.256 -4.092,1.529 -5.728,0.802 -6.33,-1.012 -5.591,-2.565 L 1.27,-17.477 c 1.079,-2.338 2.216,-3.563 4.35,-3.563 2.28,0 3.274,1.334 4.352,3.563 0,0 5.984,13.03 6.044,13.166 0.061,0.137 0.253,0.558 0.862,0.554 0.515,-0.003 0.948,-0.414 0.948,-0.965 l 0,-12.743 c 0,-1.964 1.089,-3.575 3.185,-3.575 2.094,0 3.226,1.611 3.226,3.575 l 0,10.427 c 0,2.011 1.441,3.315 3.405,3.315 1.964,0 3.271,-1.351 3.271,-3.315 l 0,-10.427 c 0,-1.964 1.093,-3.575 3.185,-3.575 2.094,0 3.232,1.611 3.232,3.575 l 0,10.427 c 0,2.011 1.435,3.315 3.4,3.315 1.961,0 3.273,-1.351 3.273,-3.315 l 0,-10.427 c 0,-1.964 1.092,-3.575 3.186,-3.575 2.092,0 3.228,1.611 3.228,3.575 l 0,11.867 c 0,4.362 -3.506,7.416 -7.726,7.416 -4.215,0 -6.855,-2.916 -6.855,-2.916 -1.403,1.819 -3.337,2.913 -6.61,2.913 -3.454,0 -6.477,-2.913 -6.477,-2.913 -1.404,1.819 -3.794,2.913 -5.773,2.913 -3.061,0 -5.492,-1.346 -6.975,-4.737 L 5.62,-13.249 0,0 z"
+ style="fill:#696566;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path190" /></g><g
+ id="g192"
+ transform="translate(468.6088,268.931)" /><g
+ id="g196"
+ transform="translate(470.2572,270.0067)" /></g></g></g></svg> \ No newline at end of file
diff --git a/src/html/img/icons/win311.png b/src/html/img/icons/win311.png
new file mode 100644
index 0000000..b527bf4
--- /dev/null
+++ b/src/html/img/icons/win311.png
Binary files differ
diff --git a/src/html/img/icons/win311.svg b/src/html/img/icons/win311.svg
new file mode 100644
index 0000000..6768fae
--- /dev/null
+++ b/src/html/img/icons/win311.svg
@@ -0,0 +1,322 @@
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="447.02362"
+ height="508.96063"
+ id="svg1968"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ version="1.0"
+ sodipodi:docbase="C:\Dokumente und Einstellungen\Andreas\Eigene Dateien\Eigene Bilder\sonstiges\Logos\Vektor\Computer, Electronics"
+ sodipodi:docname="MicrosoftWindows.svg">
+ <defs
+ id="defs1970" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="350"
+ inkscape:cy="205.14359"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ width="126.16mm"
+ height="143.64mm"
+ units="mm"
+ inkscape:window-width="904"
+ inkscape:window-height="574"
+ inkscape:window-x="56"
+ inkscape:window-y="28" />
+ <metadata
+ id="metadata1973">
+ <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
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(2959.647,961.8527)">
+ <g
+ id="Ebene_x0020_1"
+ transform="matrix(5.218465,0,0,5.218465,-3531.204,-1316.234)">
+ <metadata
+ id="CorelCorpID_0Corel-Layer" />
+
+ <g
+ id="_226041520">
+ <path
+ d="M 115.771,165.101 L 116.03237,165.101 L 119.1134,155.7602 L 122.31729,165.101 L 122.57375,165.101 L 126.65352,152.2699 C 126.75375,151.94179 126.8934,151.61367 127.06997,151.30579 C 127.41123,150.91082 127.82769,150.73779 128.3038,150.69127 L 128.3038,150.27481 L 124.36723,150.27481 L 124.36723,150.69127 C 124.80518,150.73779 125.36129,150.73779 125.6214,151.19722 C 125.79912,151.52533 125.69775,152.46795 125.3398,153.52042 L 122.9318,160.71459 L 119.96894,152.29138 C 119.93077,152.13984 119.77089,151.7019 119.77089,151.37379 C 119.77089,150.69127 120.76357,150.69127 121.303,150.69127 L 121.303,150.27481 L 115.99054,150.27481 L 115.99054,150.69127 C 116.78654,150.69127 117.28643,150.88933 117.64448,151.7019 C 118.04059,152.59927 118.33888,153.52041 118.65511,154.46316 L 116.52871,160.64773 L 113.74254,152.64464 C 113.68402,152.44773 113.44779,151.79024 113.44779,151.59218 C 113.44779,150.80098 113.82242,150.80098 114.44174,150.71275 L 114.74002,150.69127 L 114.74002,150.27481 L 109.86562,150.27481 L 109.86562,150.69127 C 110.44197,150.75927 110.87991,150.95732 111.17933,151.52532 C 111.69728,152.48944 112.3535,154.50966 112.71156,155.58361 L 115.77099,165.10098 L 115.771,165.101 z M 130.7572,153.8533 C 130.7572,153.30564 131.01366,152.70427 132.42886,152.70427 L 132.42886,152.34987 L 127.34806,152.34987 L 127.34806,152.70427 C 128.762,152.70427 129.01857,153.30564 129.01857,153.8533 L 129.01857,163.29079 C 129.01857,163.83376 128.762,164.43628 127.34806,164.43628 L 127.34806,164.79308 L 132.42886,164.79308 L 132.42886,164.43628 C 131.01366,164.43628 130.7572,163.83377 130.7572,163.29079 L 130.7572,153.8533 z M 143.1503,153.8533 C 143.1503,153.30564 143.40321,152.70427 144.80413,152.70427 L 144.80413,152.34987 L 140.7471,152.34987 L 140.7471,152.70427 C 142.14436,152.70427 142.39727,153.30564 142.39727,153.8533 L 142.39727,161.39227 L 135.83441,152.34987 L 132.91692,152.34987 L 132.91692,152.70427 C 133.75452,152.7245 133.90606,152.89273 134.43715,153.55021 L 134.57075,153.73993 L 134.57075,163.29079 C 134.57075,163.83376 134.31418,164.43628 132.91692,164.43628 L 132.91692,164.79308 L 136.97521,164.79308 L 136.97521,164.43628 C 135.57784,164.43628 135.32012,163.83376 135.32012,163.29079 L 135.32012,154.69936 L 142.89372,165.05446 L 143.15029,165.05446 L 143.15029,153.85336 L 143.1503,153.8533 z M 150.07476,164.7931 C 154.64607,164.7931 156.94905,162.42327 156.94905,158.60967 C 156.94905,154.37961 154.30596,152.3499 149.93991,152.3499 L 145.54151,152.3499 L 145.54151,152.7043 C 146.78734,152.7043 147.04025,153.30567 147.04025,153.85333 L 147.04025,163.29082 C 147.04025,163.83379 146.78734,164.43631 145.54151,164.43631 L 145.54151,164.79311 L 150.07477,164.79311 L 150.07476,164.7931 z M 148.77887,154.0049 C 148.77887,153.0993 148.93396,153.04433 149.75133,153.04433 C 152.90756,153.04433 155.08882,154.94284 155.08882,158.62639 C 155.08882,162.12502 153.07693,164.19176 149.59979,164.02353 C 149.22516,164.00204 148.77887,163.79564 148.77887,163.10113 L 148.77887,154.0049 L 148.77887,154.0049 z M 163.48687,152.08501 C 160.16127,152.00981 157.89178,154.82947 157.89178,158.57152 C 157.89178,162.55815 160.48469,165.05449 163.48687,165.05449 C 166.89601,165.05449 169.06058,162.2002 169.06058,158.57152 C 169.06058,154.56455 166.43784,151.93346 163.48687,152.08501 z M 163.48687,152.76272 C 166.12996,152.72455 167.1359,155.62055 167.1359,158.57152 C 167.22059,160.58455 166.52139,164.11655 163.48687,164.38146 C 161.47384,164.54969 159.8367,162.44477 159.8367,158.57152 C 159.8367,154.98101 160.94413,152.94775 163.48687,152.76272 z M 172.7263,165.05452 L 172.94584,165.05452 L 175.58893,157.04778 L 178.33339,165.05452 L 178.55659,165.05452 L 182.05042,154.05992 C 182.13865,153.77707 182.25682,153.49547 182.41317,153.23055 C 182.69957,152.89284 183.06105,152.7413 183.46917,152.70438 L 183.46917,152.34998 L 180.09351,152.34998 L 180.09351,152.70438 C 180.46814,152.7413 180.94311,152.7413 181.1662,153.13752 C 181.31774,153.41912 181.2342,154.22815 180.92631,155.12906 L 178.86437,161.2958 L 176.32163,154.0766 C 176.28814,153.94529 176.15329,153.57066 176.15329,153.28906 C 176.15329,152.70438 177.00769,152.70438 177.46712,152.70438 L 177.46712,152.34998 L 172.91123,152.34998 L 172.91123,152.70438 C 173.5974,152.70438 174.02334,152.87615 174.33009,153.57066 C 174.66769,154.34152 174.92426,155.12906 175.19752,155.94163 L 173.37546,161.24083 L 170.98769,154.37969 C 170.93283,154.21146 170.73123,153.64701 170.73123,153.47398 C 170.73123,152.80095 171.0558,152.80095 171.58197,152.72461 L 171.83854,152.70438 L 171.83854,152.34998 L 167.66208,152.34998 L 167.66208,152.70438 C 168.15488,152.76278 168.52963,152.93101 168.78619,153.41912 C 169.22882,154.24838 169.79213,155.97501 170.0999,156.89626 L 172.7263,165.05455 L 172.7263,165.05452 z M 182.8761,165.05452 L 183.25073,165.05452 C 183.41907,163.68229 184.6481,165.05452 186.4201,165.05452 C 188.73976,165.05452 190.01896,163.30755 190.01896,161.61555 C 190.01896,159.35909 188.44856,158.55121 186.13005,157.01075 C 185.39748,156.5215 184.32354,155.75189 184.32354,154.66126 C 184.32354,153.47395 185.0896,152.85589 186.11337,152.85589 C 187.70046,152.85589 188.82331,154.34149 189.21943,156.08835 L 189.64423,156.08835 L 189.2696,152.08504 L 188.908,152.08504 C 188.49989,153.47395 187.68251,152.08504 185.87714,152.08504 C 184.20537,152.08504 182.85943,153.36538 182.85943,155.22561 C 182.85943,158.81612 187.51074,158.9295 188.2088,161.5607 C 188.60491,163.02596 187.66583,164.34333 186.28526,164.34333 C 184.47509,164.34333 183.28423,162.7647 182.75315,161.01419 L 182.36184,161.01419 L 182.87612,165.05453 L 182.8761,165.05452 z M 123.2849,136.96042 C 123.2849,136.40442 123.54627,135.78991 124.81827,135.78991 L 124.81827,135.42831 L 121.35301,135.42831 L 117.50958,145.11037 L 113.49427,135.42831 L 110.0505,135.42831 L 110.0505,135.78991 C 111.43953,135.78991 111.70559,136.40443 111.70559,136.96042 L 111.70559,146.58762 C 111.70559,147.14374 111.43953,147.75825 110.01713,147.75825 L 110.01713,148.11974 L 114.1553,148.11974 L 114.1553,147.75825 C 112.72821,147.75825 112.46684,147.14374 112.46684,146.58762 L 112.46684,137.65013 L 116.83175,148.11973 L 117.07644,148.11973 L 121.5297,137.20863 L 121.5297,146.5876 C 121.5297,147.14372 121.26947,147.75823 119.99747,147.75823 L 119.99747,148.11972 L 124.83496,148.11972 L 124.83496,147.75823 C 123.56296,147.75823 123.30285,147.14372 123.30285,146.5876 L 123.2849,136.9604 L 123.2849,136.96042 z M 128.33244,138.55585 C 128.33244,138.0762 128.55553,137.54991 129.7929,137.54991 L 129.7929,137.23848 L 125.35279,137.23848 L 125.35279,137.54991 C 126.59028,137.54991 126.81336,138.0762 126.81336,138.55585 L 126.81336,146.80602 C 126.81336,147.28214 126.59027,147.80831 125.35279,147.80831 L 125.35279,148.11974 L 129.7929,148.11974 L 129.7929,147.80831 C 128.55553,147.80831 128.33244,147.28214 128.33244,146.80602 L 128.33244,138.55585 z M 137.98467,137.02728 L 137.67324,137.02728 C 137.18158,138.35779 136.43575,137.0106 134.39415,137.0106 C 131.39781,137.0106 129.29301,139.42694 129.29301,142.69757 C 129.29301,146.29643 131.51484,148.35128 134.42398,148.35128 C 135.85472,148.35128 137.38798,147.53025 138.30089,146.29642 L 138.04432,145.9683 C 137.01689,147.08407 136.01929,147.61024 134.55883,147.61024 C 132.11266,147.61024 131.02317,145.1307 131.02317,142.82887 C 131.02317,139.86956 132.07917,137.68476 134.54203,137.68476 C 136.24249,137.68476 137.32832,138.91733 137.76272,140.72396 L 138.11952,140.72396 L 137.98466,137.02727 L 137.98467,137.02728 z M 139.57164,146.80602 C 139.57164,147.28214 139.3449,147.80831 138.3009,147.80831 L 138.3009,148.11974 L 142.4009,148.11974 L 142.4009,147.80831 C 141.31496,147.80831 141.09187,147.28214 141.09187,146.80602 L 141.09187,143.09379 L 141.92593,143.06042 L 145.47347,148.11973 L 147.87313,148.11973 L 147.87313,147.8083 C 147.20376,147.75825 146.85884,147.42887 146.45919,146.8859 L 143.50342,142.87904 C 144.90548,142.66419 146.20262,141.85995 146.20262,140.11778 C 146.20262,138.19309 144.71222,137.23847 142.23736,137.23847 L 138.3009,137.23847 L 138.3009,137.5499 C 139.3449,137.5499 139.57164,138.07619 139.57164,138.55584 L 139.57164,146.80601 L 139.57164,146.80602 z M 141.09187,138.63573 C 141.09187,137.86499 141.22673,137.86499 142.19438,137.86499 C 143.53324,137.86499 144.57735,138.50568 144.57735,140.13448 C 144.57735,141.90648 143.25164,142.39928 141.09186,142.48282 L 141.09186,138.63573 L 141.09187,138.63573 z M 151.43027,137.01059 C 148.52227,136.94374 146.53907,139.41025 146.53907,142.68088 C 146.53907,146.16637 148.80741,148.35128 151.43027,148.35128 C 154.41096,148.35128 156.30467,145.85025 156.30467,142.68088 C 156.30467,139.17871 154.0113,136.88054 151.43027,137.01059 z M 151.43027,137.60008 C 153.74158,137.56659 154.62101,140.10111 154.62101,142.68088 C 154.69735,144.44099 154.08638,147.53025 151.43027,147.75825 C 149.67141,147.90499 148.23941,146.06499 148.23941,142.68088 C 148.23941,139.54031 149.20844,137.76465 151.43027,137.60008 z M 157.1089,148.35128 L 157.43713,148.35128 C 157.58502,147.15208 158.65782,148.35128 160.20787,148.35128 C 162.23633,148.35128 163.3521,146.82271 163.3521,145.34191 C 163.3521,143.37185 161.98341,142.6642 159.95484,141.317 C 159.3153,140.88751 158.37621,140.21449 158.37621,139.2634 C 158.37621,138.22774 159.04558,137.68477 159.93815,137.68477 C 161.32706,137.68477 162.31266,138.98066 162.65278,140.50923 L 163.02752,140.50923 L 162.69929,137.0106 L 162.38306,137.0106 C 162.02638,138.22774 161.31037,137.0106 159.73175,137.0106 C 158.27118,137.0106 157.09221,138.12626 157.09221,139.75506 C 157.09221,142.89575 161.16238,142.99232 161.77335,145.2954 C 162.11461,146.57449 161.29724,147.72843 160.08969,147.72843 C 158.50626,147.72843 157.46329,146.34774 157.00398,144.81929 L 156.65907,144.81929 L 157.1089,148.35129 L 157.1089,148.35128 z M 168.4627,137.01058 C 165.55356,136.94372 163.57036,139.41024 163.57036,142.68087 C 163.57036,146.16636 165.83516,148.35127 168.4627,148.35127 C 171.44224,148.35127 173.33721,145.85024 173.33721,142.68087 C 173.33721,139.1787 171.03892,136.88053 168.4627,137.01058 z M 168.4627,137.60007 C 170.77287,137.56658 171.65344,140.1011 171.65344,142.68087 C 171.7251,144.44098 171.11413,147.53024 168.4627,147.75824 C 166.7027,147.90498 165.27196,146.06498 165.27196,142.68087 C 165.27196,139.5403 166.23973,137.76464 168.4627,137.60007 z M 176.95276,148.11977 L 176.95276,147.80834 C 175.83345,147.80834 175.61036,147.28217 175.61036,146.80605 L 175.61036,142.76091 L 177.58042,142.76091 C 178.57791,142.76091 179.42751,143.07714 179.42751,144.35622 L 179.7402,144.35622 L 179.7402,140.50925 L 179.42751,140.50925 C 179.42751,141.79314 178.57791,142.08788 177.58042,142.08788 L 175.61036,142.08788 L 175.61036,138.55588 C 175.61036,138.15965 175.72842,137.91153 176.2499,137.91153 L 178.21996,137.91153 C 179.26407,137.91153 180.15665,137.78148 180.3499,139.59164 L 180.70796,139.59164 L 180.70796,137.2385 L 172.77756,137.2385 L 172.77756,137.54993 C 173.86693,137.54993 174.09013,138.07622 174.09013,138.55587 L 174.09013,146.80604 C 174.09013,147.28216 173.86693,147.80833 172.77756,147.80833 L 172.77756,148.11976 L 176.95276,148.11976 L 176.95276,148.11977 z M 187.66226,147.80834 C 186.57163,147.80834 186.34843,147.28217 186.34843,146.80605 L 186.34843,137.92822 L 187.42237,137.92822 C 188.525,137.92822 189.21106,137.92822 189.53917,140.03313 L 189.89723,140.03313 L 189.80888,137.2385 L 181.36899,137.2385 L 181.28065,140.03313 L 181.63871,140.03313 C 181.96682,137.92822 182.65288,137.92822 183.75551,137.92822 L 184.82945,137.92822 L 184.82945,146.80605 C 184.82945,147.28216 184.60625,147.80834 183.51562,147.80834 L 183.51562,148.11977 L 187.66225,148.11977 L 187.66225,147.80834 L 187.66226,147.80834 z M 189.77906,147.99805 C 190.52489,147.99805 191.1346,147.38719 191.1346,146.63782 C 191.1346,145.89314 190.52489,145.28228 189.77906,145.28228 C 189.02969,145.28228 188.41997,145.89314 188.41997,146.63782 C 188.41997,147.38719 189.02968,147.99805 189.77906,147.99805 z M 189.77906,147.74034 C 189.16455,147.74034 188.67655,147.25234 188.67655,146.63783 C 188.67655,146.028 189.16455,145.53874 189.77906,145.53874 C 190.39003,145.53874 190.87803,146.02799 190.87803,146.63783 C 190.87803,147.25234 190.39003,147.74034 189.77906,147.74034 z M 190.09883,146.75954 C 190.35655,146.74274 190.49506,146.62948 190.49506,146.35977 C 190.49506,146.20822 190.45677,146.06982 190.32672,145.98148 C 190.217,145.91828 190.05346,145.91348 189.92706,145.91348 L 189.2194,145.91348 L 189.2194,147.37519 L 189.5058,147.37519 L 189.5058,146.75953 L 189.7922,146.75953 L 190.12032,147.37519 L 190.45323,147.37519 L 190.09883,146.75953 L 190.09883,146.75954 z M 189.5058,146.53759 L 189.5058,146.12468 L 189.86375,146.12468 C 190.00215,146.12468 190.21346,146.12468 190.21346,146.31794 C 190.21346,146.50297 190.09883,146.54114 189.9354,146.53759 L 189.5058,146.53759 L 189.5058,146.53759 z M 194.84797,162.90779 L 194.20717,162.90779 L 193.79917,163.98539 L 193.39106,162.90779 L 192.7514,162.90779 L 192.7514,164.7263 L 193.14637,164.7263 L 193.14637,163.26104 L 193.68214,164.7263 L 193.91723,164.7263 L 194.45186,163.26104 L 194.45186,164.7263 L 194.84797,164.7263 L 194.84797,162.90779 z M 192.53186,162.90779 L 190.98786,162.90779 L 190.98786,163.26105 L 191.54272,163.26105 L 191.54272,164.72631 L 191.97701,164.72631 L 191.97701,163.26105 L 192.53186,163.26105 L 192.53186,162.90779 L 192.53186,162.90779 z "
+ id="_226678368"
+ style="fill:black" />
+
+ <g
+ id="g3846">
+ <path
+ d="M 153.3,71.9815 L 153.3,126.7687 C 153.3,126.7687 172.4994,118.08413 189.6191,127.13499 L 189.6191,72.714186 C 189.6191,72.714186 183.41533,68.272926 172.1701,68.247896 L 171.8157,68.247896 C 166.64896,68.278867 160.4405,69.246639 153.3,71.981496 L 153.3,71.9815 z "
+ id="_23835032"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,75.1257 151.695,72.5495 151.827,79.1291 145.222,81.7054 145.091,75.1257 "
+ id="_227263352"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,83.1958 151.695,80.6195 151.827,87.2027 145.222,89.7753 145.091,83.1958 "
+ id="_138016032"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,91.2657 151.695,88.693 151.827,95.2727 145.222,97.8489 145.091,91.2657 "
+ id="_23864704"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,99.3393 151.695,96.7631 151.827,103.343 145.222,105.919 145.091,99.3393 "
+ id="_140080328"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,107.409 151.695,104.833 151.827,111.416 145.222,113.992 145.091,107.409 "
+ id="_140066712"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,115.483 151.695,112.907 151.827,119.486 145.222,122.063 145.091,115.483 "
+ id="_136512968"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,123.553 151.695,120.977 151.827,127.56 145.222,130.132 145.091,123.553 "
+ id="_136571224"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="137.998,77.3238 143.39,75.2224 143.5,80.6195 138.108,82.7197 137.998,77.3238 "
+ id="_137306736"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="137.998,101.296 143.39,99.1926 143.5,104.588 138.108,106.69 137.998,101.296 "
+ id="_138605008"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="137.998,125.022 143.39,122.917 143.5,128.314 138.108,130.414 137.998,125.022 "
+ id="_228822736"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="138.731,85.6419 143.412,83.8151 143.504,88.4998 138.827,90.3266 138.731,85.6419 "
+ id="_137990664"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="138.731,92.9792 143.412,91.156 143.504,95.8371 138.827,97.664 138.731,92.9792 "
+ id="_228204384"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="138.731,109.611 143.412,107.788 143.504,112.469 138.827,114.296 138.731,109.611 "
+ id="_140058504"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="138.731,116.948 143.412,115.125 143.504,119.806 138.827,121.633 138.731,116.948 "
+ id="_225328472"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="130.417,77.3238 135.097,75.5005 135.19,80.1864 130.509,82.0085 130.417,77.3238 "
+ id="_225893280"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="130.417,102.029 135.097,100.202 135.19,104.888 130.509,106.715 130.417,102.029 "
+ id="_226374560"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="130.417,125.266 135.097,123.439 135.19,128.124 130.509,129.948 130.417,125.266 "
+ id="_140090576"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="131.192,86.5631 135.097,85.0393 135.173,88.9246 131.272,90.4483 131.192,86.5631 "
+ id="_227864752"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="131.192,94.8777 135.097,93.3539 135.173,97.2427 131.272,98.763 131.192,94.8777 "
+ id="_225476104"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="131.192,110.532 135.097,109.008 135.173,112.895 131.272,114.419 131.192,110.532 "
+ id="_140175560"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="131.192,118.847 135.097,117.326 135.173,121.212 131.272,122.732 131.192,118.847 "
+ id="_226481760"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="123.854,77.2688 127.761,75.745 127.836,79.6303 123.934,81.1541 123.854,77.2688 "
+ id="_225475632"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="123.854,101.726 127.761,100.202 127.836,104.092 123.934,105.611 123.854,101.726 "
+ id="_225357880"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="123.854,125.207 127.761,123.683 127.836,127.573 123.934,129.092 123.854,125.207 "
+ id="_140174616"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="124.595,87.4975 127.761,86.26 127.823,89.4138 124.659,90.6464 124.595,87.4975 "
+ id="_224980824"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="124.595,95.0794 127.761,93.8456 127.823,96.9945 124.659,98.2283 124.595,95.0794 "
+ id="_137310696"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="124.595,110.73 127.761,109.497 127.823,112.65 124.659,113.884 124.595,110.73 "
+ id="_140087840"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="124.595,118.316 127.761,117.078 127.823,120.231 124.659,121.465 124.595,118.316 "
+ id="_228839488"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="117.746,75.757 120.912,74.5195 120.975,77.6734 117.809,78.9061 117.746,75.757 "
+ id="_138599376"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="117.746,99.7271 120.912,98.4933 120.975,101.642 117.809,102.875 117.746,99.7271 "
+ id="_23729368"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="117.746,123.451 120.912,122.219 120.975,125.367 117.809,126.6 117.746,123.451 "
+ id="_137521712"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="118.239,85.3472 120.912,84.3066 120.962,86.9677 118.289,88.007 118.239,85.3472 "
+ id="_137875848"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="118.239,93.6654 120.912,92.6213 120.962,95.281 118.289,96.3251 118.239,93.6654 "
+ id="_140090288"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="118.239,108.583 120.912,107.539 120.962,110.204 118.289,111.244 118.239,108.583 "
+ id="_138420208"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="118.239,116.902 120.912,115.857 120.962,118.519 118.289,119.563 118.239,116.902 "
+ id="_138015632"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="110.897,74.0947 113.57,73.0554 113.624,75.7152 110.952,76.7593 110.897,74.0947 "
+ id="_227262720"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="110.897,97.8239 113.57,96.7798 113.624,99.4407 110.952,100.485 110.897,97.8239 "
+ id="_137309912"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="110.897,121.549 113.57,120.505 113.624,123.165 110.952,124.209 110.897,121.549 "
+ id="_225777648"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="111.343,82.24 113.57,81.3689 113.616,83.5871 111.389,84.4546 111.343,82.24 "
+ id="_138369440"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="111.343,90.7979 113.57,89.9305 113.616,92.1499 111.389,93.0162 111.343,90.7979 "
+ id="_137303896"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="111.343,105.477 113.57,104.605 113.616,106.823 111.389,107.691 111.343,105.477 "
+ id="_140091200"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="111.343,114.035 113.57,113.168 113.616,115.381 111.389,116.254 111.343,114.035 "
+ id="_140089424"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <path
+ d="M 153.3,102.552 C 153.3,102.552 161.25177,99.8624 163.5703,99.8624 L 163.5703,115.5167 C 163.5703,115.5167 157.7031,116.3711 153.3,118.32927 L 153.3,102.55197 L 153.3,102.552 z "
+ id="_138599920"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <path
+ d="M 153.3,79.8069 C 153.3,79.8069 161.25177,76.9957 163.5703,76.9957 L 163.5703,92.768 C 163.5703,92.768 157.7031,93.748914 153.3,95.70229 L 153.3,79.80689 L 153.3,79.8069 z "
+ id="_24011400"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <path
+ d="M 170.664,76.2582 L 170.664,92.0355 C 170.664,92.0355 178.61589,91.6691 182.0381,92.891043 L 182.0381,77.483743 C 182.0381,77.483743 177.51216,75.525573 170.664,76.258253 L 170.664,76.2582 z "
+ id="_22493424"
+ style="fill:#76b76b;fill-rule:nonzero" />
+
+ <path
+ d="M 170.664,99.0064 L 170.664,114.4137 C 170.664,114.4137 178.61589,114.4137 182.0381,115.63919 L 182.0381,100.23189 C 182.0381,100.23189 177.51216,98.27498 170.664,99.0064 z "
+ id="_227263792"
+ style="fill:#f6c92b;fill-rule:nonzero" />
+
+ <polygon
+ points="189.329,127.893 188.69,127.893 188.28,128.967 187.872,127.893 187.236,127.893 187.236,129.707 187.629,129.707 187.629,128.242 188.167,129.707 188.399,129.707 188.933,128.242 188.933,129.707 189.329,129.707 189.329,127.893 "
+ id="_228616520"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="187.014,127.893 185.473,127.893 185.473,128.242 186.024,128.242 186.024,129.707 186.458,129.707 186.458,128.242 187.014,128.242 187.014,127.893 "
+ id="_227267512"
+ style="fill:black;fill-rule:nonzero" />
+
+ </g>
+
+ </g>
+
+ </g>
+ </g>
+</svg>
diff --git a/src/html/img/icons/win7.png b/src/html/img/icons/win7.png
new file mode 100644
index 0000000..3552207
--- /dev/null
+++ b/src/html/img/icons/win7.png
Binary files differ
diff --git a/src/html/img/icons/win7_orig.png b/src/html/img/icons/win7_orig.png
new file mode 100644
index 0000000..a4adfe5
--- /dev/null
+++ b/src/html/img/icons/win7_orig.png
Binary files differ
diff --git a/src/html/img/icons/windows.png b/src/html/img/icons/windows.png
new file mode 100644
index 0000000..50dc89f
--- /dev/null
+++ b/src/html/img/icons/windows.png
Binary files differ
diff --git a/src/html/img/icons/xfce.png b/src/html/img/icons/xfce.png
new file mode 100644
index 0000000..41c8d21
--- /dev/null
+++ b/src/html/img/icons/xfce.png
Binary files differ
diff --git a/src/html/img/icons/xfce.svg b/src/html/img/icons/xfce.svg
new file mode 100644
index 0000000..6ff4acc
--- /dev/null
+++ b/src/html/img/icons/xfce.svg
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="760"
+ height="760"
+ id="svg586">
+ <title
+ id="title3704">XFCE 4 Logo</title>
+ <defs
+ id="defs588">
+ <linearGradient
+ id="linearGradient3694">
+ <stop
+ id="stop3702"
+ style="stop-color:#b7b7b7;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3698"
+ style="stop-color:#000000;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3990">
+ <stop
+ id="stop3992"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3994"
+ style="stop-color:#7fd4ee;stop-opacity:1"
+ offset="0.49322736" />
+ <stop
+ id="stop3996"
+ style="stop-color:#00aade;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3982">
+ <stop
+ id="stop3984"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3986"
+ style="stop-color:#7fd4ee;stop-opacity:1"
+ offset="0.5225333" />
+ <stop
+ id="stop3988"
+ style="stop-color:#00aade;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ id="stop3797"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3799"
+ style="stop-color:#7fd4ee;stop-opacity:1"
+ offset="0.49941033" />
+ <stop
+ id="stop3801"
+ style="stop-color:#00aade;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3743">
+ <stop
+ id="stop3745"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3751"
+ style="stop-color:#7fd4ee;stop-opacity:1"
+ offset="0.54609555" />
+ <stop
+ id="stop3747"
+ style="stop-color:#00aade;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3652">
+ <stop
+ id="stop3654"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3662"
+ style="stop-color:#d5e2ec;stop-opacity:1"
+ offset="0.49903482" />
+ <stop
+ id="stop3656"
+ style="stop-color:#d5e2ec;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <filter
+ color-interpolation-filters="sRGB"
+ id="filter3729">
+ <feGaussianBlur
+ id="feGaussianBlur3731"
+ stdDeviation="6.4154088" />
+ </filter>
+ <linearGradient
+ x1="965.02625"
+ y1="17.489901"
+ x2="1557.8665"
+ y2="663.80927"
+ id="linearGradient3737"
+ xlink:href="#linearGradient3652"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1581.64,147.782)" />
+ <filter
+ color-interpolation-filters="sRGB"
+ id="filter3911">
+ <feGaussianBlur
+ id="feGaussianBlur3913"
+ stdDeviation="4.7443237" />
+ </filter>
+ <linearGradient
+ x1="33.526711"
+ y1="441.98093"
+ x2="107.85637"
+ y2="531.03198"
+ id="linearGradient3966"
+ xlink:href="#linearGradient3743"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="245.51741"
+ y1="426.95151"
+ x2="305.39166"
+ y2="531.48969"
+ id="linearGradient3968"
+ xlink:href="#linearGradient3982"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="601.53467"
+ y1="434.94836"
+ x2="668.81775"
+ y2="543.35834"
+ id="linearGradient3970"
+ xlink:href="#linearGradient3795"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="440.52084"
+ y1="455.93307"
+ x2="486.95523"
+ y2="535.30469"
+ id="linearGradient3972"
+ xlink:href="#linearGradient3990"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="14.689658"
+ y1="99.351982"
+ x2="385.59198"
+ y2="268.4357"
+ id="linearGradient3700"
+ xlink:href="#linearGradient3694"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <g
+ transform="translate(754.352,-70.105)"
+ id="g3733">
+ <path
+ d="M -690.3671,231.76247 -535.89668,88.530764 -361.32418,303.30745 -172.75078,88.081185 -27.666178,221.31553 -236.40038,435.40777 -22.543078,663.49077 -177.64918,807.89088 -374.21168,579.61811 -571.06778,810.83624 -711.17795,672.17796 -496.29398,442.77473 -690.3671,231.76247 z"
+ id="path2870-8"
+ style="fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter3729)" />
+ <path
+ d="M -692.09302,232.01783 -537.6226,88.786116 -363.0501,303.5628 -174.4767,88.336537 -29.392112,221.57089 -238.1263,435.66312 -24.269012,663.74612 -179.3751,808.14623 -375.9376,579.87346 -572.7937,811.09159 -712.90387,672.43331 -498.0199,443.03008 -692.09302,232.01783 z"
+ id="path2870"
+ style="fill:url(#linearGradient3737) #000000;fill-opacity:1;stroke:none" />
+ </g>
+ <g
+ transform="translate(20.6,32.7516)"
+ id="g3915">
+ <g
+ transform="translate(1.16016,5.69711)"
+ id="g3803-6"
+ style="fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter3911)">
+ <path
+ d="m 57.155901,418.14565 53.543029,69.72367 57.81033,-69.72367 44.06868,42.68685 -64.4434,66.8797 66.33665,70.19674 -46.90991,45.53355 -61.5995,-76.36323 L 44.359532,643.91831 1.2415417,598.85785 69.949501,531.03199 8.8226217,461.30832 57.155901,418.14565 z"
+ id="path591-7"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 244.79832,429.52973 c 0,0 120.8305,-4.7445 120.8305,-4.26868 0,0.47308 0.948,51.22421 0.948,51.22421 l -57.335,0.47582 -0.4727,37.94508 53.543,-2.37363 0.4755,47.43133 -54.0185,1.42474 -0.948,75.8874 -63.4954,0.47582 c 0,0 -0.4754,-208.22209 0.4726,-208.22209 z"
+ id="path592-9"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 598.28792,429.05391 122.2537,-4.74175 0,49.32913 -57.3349,0.94616 -0.4754,35.10112 49.2813,-3.31979 0,48.85333 -49.2813,0.9489 0.4754,32.7275 61.1269,0.94614 0,49.32915 -125.5704,-0.94891 -0.4753,-209.17098 z"
+ id="path593-7"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 542.84892,425.26105 c 3.7919,18.02364 7.581,36.04727 11.373,54.07091 -36.2734,12.22845 -92.5367,16.53564 -95.0728,69.62465 6.6716,52.01081 72.9037,35.6457 101.2333,38.04409 0.4726,17.23426 0.9479,34.46577 1.4206,51.70003 -126.7656,16.68968 -165.9022,-46.40543 -168.0398,-68.79402 -12.4997,-100.83115 93.5559,-132.49971 149.0857,-144.64566 z"
+ id="path594-6"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ <g
+ id="g3803">
+ <path
+ d="m 57.155901,418.14565 53.543029,69.72367 57.81033,-69.72367 44.06868,42.68685 -64.4434,66.8797 66.33665,70.19674 -46.90991,45.53355 -61.5995,-76.36323 L 44.359532,643.91831 1.2415417,598.85785 69.949501,531.03199 8.8226217,461.30832 57.155901,418.14565 z"
+ id="path591"
+ style="fill:url(#linearGradient3966) #000000;fill-opacity:1;fill-rule:evenodd;stroke:#00aade;stroke-width:1.25;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 244.79832,429.52973 c 0,0 120.8305,-4.7445 120.8305,-4.26868 0,0.47308 0.948,51.22421 0.948,51.22421 l -57.335,0.47582 -0.4727,37.94508 53.543,-2.37363 0.4755,47.43133 -54.0185,1.42474 -0.948,75.8874 -63.4954,0.47582 c 0,0 -0.4754,-208.22209 0.4726,-208.22209 z"
+ id="path592"
+ style="fill:url(#linearGradient3968) #000000;fill-opacity:1;fill-rule:evenodd;stroke:#00aade;stroke-width:1.25;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 598.28792,429.05391 122.2537,-4.74175 0,49.32913 -57.3349,0.94616 -0.4754,35.10112 49.2813,-3.31979 0,48.85333 -49.2813,0.9489 0.4754,32.7275 61.1269,0.94614 0,49.32915 -125.5704,-0.94891 -0.4753,-209.17098 z"
+ id="path593"
+ style="fill:url(#linearGradient3970) #000000;fill-opacity:1;fill-rule:evenodd;stroke:#00aade;stroke-width:1.25;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 542.84892,425.26105 c 3.7919,18.02364 7.581,36.04727 11.373,54.07091 -36.2734,12.22845 -92.5367,16.53564 -95.0728,69.62465 6.6716,52.01081 72.9037,35.6457 101.2333,38.04409 0.4726,17.23426 0.9479,34.46577 1.4206,51.70003 -126.7656,16.68968 -165.9022,-46.40543 -168.0398,-68.79402 -12.4997,-100.83115 93.5559,-132.49971 149.0857,-144.64566 z"
+ id="path594"
+ style="fill:url(#linearGradient3972) #000000;fill-opacity:1;fill-rule:evenodd;stroke:#00aade;stroke-width:1.25;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+ <path
+ d="m 578.95242,260.83413 c -10.6972,-2.13059 -43.0693,17.59545 -40.7203,19.58198 3.3216,2.80846 45.8033,-18.46915 40.7203,-19.58198 z m -52.4616,-22.76798 c 9.7256,4.57656 23.9505,-3.04948 21.5356,-3.31969 -20.9961,-2.32829 -24.602,-12.15365 -27.8106,-21.78036 -3.1088,-3.21706 -3.7584,19.48502 6.275,25.10005 z m 27.2721,-24.90704 c 0,6.11872 -4.5559,11.57087 -10.4063,11.57087 -5.8504,0 -10.7932,-5.45215 -10.7932,-11.57087 0,-6.11967 4.7498,-11.08601 10.5993,-11.08601 5.8504,0 10.6002,4.96634 10.6002,11.08601 z M 16.830715,101.12157 c -2.35669,-3.997264 15.58448,3.17565 29.05852,10.7025 13.47403,7.52685 49.985924,21.60509 61.047785,23.84455 28.58402,5.78679 94.85551,39.52509 137.9312,84.53798 5.4136,5.38436 20.2097,-17.5752 53.4956,-11.90368 9.5693,0.90382 86.6573,21.41977 118.7017,15.33494 10.9566,-6.90757 10.811,-25.64181 21.294,-33.99019 -0.045,-7.07151 -6.073,-29.85029 -6.1323,-34.68482 -0.3503,-16.82907 15.4145,-25.1292 19.9543,-24.19337 4.7395,1.20982 12.2512,-0.11099 29.2497,41.49049 5.0401,7.79677 12.7941,10.90414 11.9936,3.4595 -9.3761,-29.08315 -16.0192,-60.12065 6.1068,-63.22946 3.0641,0.0175 24.213,-10.52798 29.5887,33.11224 0.9378,6.4473 0.7043,24.60284 1.0894,31.13111 0.7343,5.64798 56.407,-1.77691 110.8588,33.83671 6.3485,3.81868 33.2962,31.20317 7.0146,52.93834 -17.6292,14.61977 -94.1169,52.30301 -99.2329,55.89667 -2.9153,1.99768 -5.6605,10.67769 -1.7876,17.93673 4.8336,9.05946 7.0601,6.16487 22.9967,25.86911 15.9366,19.70424 12.4882,28.91559 -12.7823,22.47304 -8.4481,-2.15378 -30.2355,-13.56174 -39.1523,-10.41058 -4.1726,1.47531 20.7937,25.42635 24.1755,34.89489 11.2088,29.97693 -26.8266,13.89202 -40.7086,7.27877 -13.8819,-6.61325 -37.9592,-20.71994 -46.5061,-21.1775 -16.6061,7.12261 -106.3316,14.98212 -186.0765,-3.92696 -4.8543,1.30866 -45.30917,41.92479 -48.29086,43.46789 -24.97509,7.89371 -5.71027,-29.39652 -1.70225,-44.84886 1.96735,-7.58485 -3.52587,-3.01681 -8.25935,-0.30866 -2.22884,1.27516 -17.01855,7.16442 -26.44472,2.867 -9.42617,-4.29742 20.26264,-34.27865 23.45899,-38.98797 4.41091,-5.55147 -13.29944,-57.40637 24.08701,-116.75771 -3.81209,-6.91805 -52.37384,-47.82933 -88.34617,-67.86888 -33.99333,-19.37581 -116.096985,-56.27571 -118.320405,-58.83561 -3.56692,-2.53825 -13.68108,-9.7552 -8.36055,-9.94821 z M 585.18692,273.88598 c -9.0091,-0.67034 -31.1383,23.04481 -28.7893,25.03135 3.3225,2.80846 33.2632,-24.68771 28.7893,-25.03135 z m 76.2504,-120.12921 c -1.1712,-3.09832 -28.8917,31.85639 -24.0061,44.70613 2.1316,5.60635 27.6885,-34.96468 24.0061,-44.70613 z m -29.8887,-5.48954 c -10.362,10.1444 -8.4828,47.59565 -6.2189,47.1794 10.6101,-1.95078 9.3483,-50.24308 6.2189,-47.1794 z"
+ id="path602"
+ style="fill:url(#linearGradient3700) #000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+</svg>
diff --git a/src/html/img/noscreenshot.png b/src/html/img/noscreenshot.png
new file mode 100644
index 0000000..3f4ca13
--- /dev/null
+++ b/src/html/img/noscreenshot.png
Binary files differ
diff --git a/src/html/img/planets.png b/src/html/img/planets.png
new file mode 100644
index 0000000..b7aa5e9
--- /dev/null
+++ b/src/html/img/planets.png
Binary files differ
diff --git a/src/html/index.html b/src/html/index.html
new file mode 100644
index 0000000..1ab9082
--- /dev/null
+++ b/src/html/index.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset=utf-8 />
+<script type="text/javascript" src="qrc:/js/jquery"></script>
+<script type="text/javascript" src="qrc:/js/jquery-ui"></script>
+<script type="text/javascript" src="qrc:/js/emuchooser"></script>
+<link rel="stylesheet" type="text/css" href="qrc:/css/jquery-ui" />
+<link rel="stylesheet" type="text/css" href="qrc:/css/style" />
+<link rel="stylesheet" type="text/css" href="qrc:/css/icons" />
+</head>
+<body onload="init();">
+ <div id="head">
+ <div style="margin: 20px;">
+ <img src="qrc:/img/planets" />
+ </div>
+ <div style="-webkit-box-flex: 1"></div>
+ <div class="titlebg">
+ <span class="title_font">emuchooser</span> <span
+ class="subtitle_font">Original Environments</span>
+ </div>
+ </div>
+ <div id="middle">
+ <div id="menu">
+ <div class="listhead">
+ <h3>Environments</h3>
+ </div>
+ <div class="listcontent">
+ <ul id="emulist">
+ </ul>
+ </div>
+ </div>
+ <div id="content">
+ </div>
+ </div>
+ <div id="foot">
+ <button id="about">About</button>
+ <div style="-webkit-box-flex:1;"></div>
+ <button id="help">Help</button>
+ <button id="start">Start Environment</button>
+ </div>
+</body>
+</html>
diff --git a/src/html/js/emuchooser.js b/src/html/js/emuchooser.js
new file mode 100644
index 0000000..78fbd4f
--- /dev/null
+++ b/src/html/js/emuchooser.js
@@ -0,0 +1,57 @@
+var activeEntry = "";
+
+var about = function() {
+ if (activeEntry != "") {
+ $("#" + activeEntry).toggleClass("selected");
+ }
+ activeEntry = "";
+
+ $("#content").html(emuchooser.getAbout());
+ return false;
+};
+
+var help = function() {
+ if (activeEntry != "") {
+ $("#" + activeEntry).toggleClass("selected");
+ }
+ activeEntry = "";
+
+ $("#content").html(emuchooser.getHelp());
+ var foo = emuchooser.getList();
+};
+
+var run = function() {
+ if (activeEntry != "") {
+ id = parseInt(activeEntry.substring(5));
+ emuchooser.run(id);
+ }
+}
+
+var handleListClick = function (e) {
+ id = parseInt(e.srcElement.id.substring(5));
+ if (activeEntry != "") {
+ $("#" + activeEntry).toggleClass("selected");
+ }
+ $("#" + e.srcElement.id).toggleClass("selected");
+ activeEntry = e.srcElement.id;
+ $("#content").html(emuchooser.getDetails(id));
+};
+
+var renderList = function () {
+ var foo = emuchooser.getList();
+ $.each(foo, function(i,item) {
+ $("#emulist").append('<li id="item_'+ item.id +'" class="list '+ item.icon + '">' + item.title + '</li>');
+ $('#item_' + item.id).click(handleListClick);
+ });
+};
+
+
+var init = function() {
+ renderList();
+ $("button").button();
+ $("#content").html(emuchooser.getWelcome());
+ $("#about").click(about);
+ $("#help").click(help);
+ $("#start").click(run);
+
+};
diff --git a/src/html/js/jquery-ui.js b/src/html/js/jquery-ui.js
new file mode 100644
index 0000000..14c9064
--- /dev/null
+++ b/src/html/js/jquery-ui.js
@@ -0,0 +1,791 @@
+/*!
+ * jQuery UI 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16",
+keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=
+this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
+"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":
+"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,
+outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,
+"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&
+a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&
+c.ui.isOverAxis(b,e,i)}})}})(jQuery);
+;/*!
+ * jQuery UI Widget 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)try{b(d).triggerHandler("remove")}catch(e){}k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(d){}});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=
+function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):
+d;if(e&&d.charAt(0)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=
+b.extend(true,{},this.options,this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+
+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",
+c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
+;/*!
+ * jQuery UI Mouse 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ * jquery.ui.widget.js
+ */
+(function(b){var d=false;b(document).mouseup(function(){d=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+
+this.widgetName)},_mouseDown:function(a){if(!d){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,f=a.which==1,g=typeof this.options.cancel=="string"&&a.target.nodeName?b(a.target).closest(this.options.cancel).length:false;if(!f||g||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=
+this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(e){return c._mouseMove(e)};this._mouseUpDelegate=function(e){return c._mouseUp(e)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return d=true}},_mouseMove:function(a){if(b.browser.msie&&
+!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=
+false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
+;/*
+ * jQuery UI Position 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Position
+ */
+(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,
+left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=
+k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=
+m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=
+d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=
+a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b),
+g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery);
+;/*
+ * jQuery UI Draggable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Draggables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
+"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=
+this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;if(b.iframeFix)d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options;
+this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});
+this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return true},
+_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=
+false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,
+10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||
+!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&
+a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=
+this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),
+10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),
+10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,
+(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!=
+"hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),
+10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+
+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&
+!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.left<g[0])e=g[0]+this.offset.click.left;
+if(a.pageY-this.offset.click.top<g[1])h=g[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>g[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.top<g[1]||h-this.offset.click.top>g[3])?h:!(h-this.offset.click.top<g[1])?h-b.grid[1]:h+b.grid[1]:h;e=b.grid[0]?this.originalPageX+Math.round((e-this.originalPageX)/
+b.grid[0])*b.grid[0]:this.originalPageX;e=g?!(e-this.offset.click.left<g[0]||e-this.offset.click.left>g[2])?e:!(e-this.offset.click.left<g[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<
+526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,
+c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.16"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var h=d.data(this,"sortable");if(h&&!h.options.disabled){c.sortables.push({instance:h,shouldRevert:h.options.revert});
+h.refreshPositions();h._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=
+false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(f).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",true);
+this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;
+c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&
+this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=
+a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!=
+"x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-b.overflowOffset.left<
+c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-
+c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,
+width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,h=b.offset.left,g=h+c.helperProportions.width,n=b.offset.top,o=n+c.helperProportions.height,i=c.snapElements.length-1;i>=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e<h&&h<l+e&&k-e<n&&n<m+e||j-e<h&&h<l+e&&k-e<o&&o<m+e||j-e<g&&g<l+e&&k-e<n&&n<m+e||j-e<g&&g<l+e&&k-e<o&&
+o<m+e){if(f.snapMode!="inner"){var p=Math.abs(k-o)<=e,q=Math.abs(m-n)<=e,r=Math.abs(j-g)<=e,s=Math.abs(l-h)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l}).left-c.margins.left}var t=
+p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(k-n)<=e;q=Math.abs(m-o)<=e;r=Math.abs(j-h)<=e;s=Math.abs(l-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[i].snapping&&
+(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=p||q||r||s||t}else{c.snapElements[i].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),
+10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);
+;/*
+ * jQuery UI Droppable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Droppables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ * jquery.ui.mouse.js
+ * jquery.ui.draggable.js
+ */
+(function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this);
+a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&
+this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
+this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g=
+d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",
+a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.16"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height;
+switch(c){case "fit":return i<=e&&g<=k&&j<=f&&h<=l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>=
+i&&e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!=
+"none";if(c[f].visible){e=="mousedown"&&c[f]._activate.call(c[f],b);c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight}}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem||
+a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},dragStart:function(a,b){a.element.parents(":not(body,html)").bind("scroll.droppable",function(){a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)})},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);
+if(c=!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})},dragStop:function(a,b){a.element.parents(":not(body,html)").unbind("scroll.droppable");
+a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)}}})(jQuery);
+;/*
+ * jQuery UI Resizable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */
+(function(e){e.widget("ui.resizable",e.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");e.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
+_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&e.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
+top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
+this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
+nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d<c.length;d++){var f=e.trim(c[d]),g=e('<div class="ui-resizable-handle '+("ui-resizable-"+f)+'"></div>');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==
+String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection();
+this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();
+var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=
+false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});
+this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff=
+{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];
+if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},
+_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,
+{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight:
+Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(c<a.maxWidth)a.maxWidth=c;if(f<a.maxHeight)a.maxHeight=f}this._vBoundaries=a},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=
+b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(k(b.height))b.width=b.height*this.aspectRatio;else if(k(b.width))b.height=b.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top=a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this._vBoundaries,c=this.axis,d=k(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=k(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=k(b.width)&&a.minWidth&&
+a.minWidth>b.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=
+null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d=[c.css("borderTopWidth"),c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)||
+0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+
+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+
+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);
+b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.16"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),
+10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-
+f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?
+e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=
+e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,
+step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=
+e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;
+var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:
+a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-
+d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,
+f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,
+display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=
+e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=
+d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery);
+;/*
+ * jQuery UI Selectable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */
+(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),
+selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX,
+c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting",
+c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d=
+this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.right<b||a.top>i||a.bottom<g);else if(d.tolerance=="fit")k=a.left>b&&a.right<h&&a.top>g&&a.bottom<i;if(k){if(a.selected){a.$element.removeClass("ui-selected");a.selected=false}if(a.unselecting){a.$element.removeClass("ui-unselecting");
+a.unselecting=false}if(!a.selecting){a.$element.addClass("ui-selecting");a.selecting=true;f._trigger("selecting",c,{selecting:a.element})}}else{if(a.selecting)if(c.metaKey&&a.startselected){a.$element.removeClass("ui-selecting");a.selecting=false;a.$element.addClass("ui-selected");a.selected=true}else{a.$element.removeClass("ui-selecting");a.selecting=false;if(a.startselected){a.$element.addClass("ui-unselecting");a.unselecting=true}f._trigger("unselecting",c,{unselecting:a.element})}if(a.selected)if(!c.metaKey&&
+!a.startselected){a.$element.removeClass("ui-selected");a.selected=false;a.$element.addClass("ui-unselecting");a.unselecting=true;f._trigger("unselecting",c,{unselecting:a.element})}}}});return false}},_mouseStop:function(c){var f=this;this.dragged=false;e(".ui-unselecting",this.element[0]).each(function(){var d=e.data(this,"selectable-item");d.$element.removeClass("ui-unselecting");d.unselecting=false;d.startselected=false;f._trigger("unselected",c,{unselected:d.element})});e(".ui-selecting",this.element[0]).each(function(){var d=
+e.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected");d.selecting=false;d.selected=true;d.startselected=true;f._trigger("selected",c,{selected:d.element})});this._trigger("stop",c);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.16"})})(jQuery);
+;/*
+ * jQuery UI Sortable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Sortables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable");
+this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a===
+"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&
+!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,
+left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};
+this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=
+document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);
+return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<
+b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-
+b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,
+a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],
+e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();
+c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):
+this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,
+dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},
+toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||
+this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();
+var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},
+_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();
+if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
+this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),
+this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&
+this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=
+this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=
+d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||
+0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",
+a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-
+f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=
+this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==
+""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=
+this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a=
+{top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),
+10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?
+document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),
+10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=
+this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&
+this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();
+var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-
+this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-
+this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],
+this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]=
+"";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",
+f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,
+this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",
+a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},
+_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.16"})})(jQuery);
+;/*
+ * jQuery UI Accordion 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ */
+(function(c){c.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix");
+a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
+if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion",
+function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a=
+this.options;if(a.icons){c("<span></span>").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex");
+this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons();
+b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target);
+a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+
+c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options;
+if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){var h=this.active;j=a.next();g=this.active.next();e={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):j,oldContent:g};var f=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(j,g,e,b,f);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);
+if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var g=this.active.next(),
+e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight||
+e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false",
+"aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.16",
+animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/);
+f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide",
+paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery);
+;/*
+ * jQuery UI Autocomplete 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ * jquery.ui.position.js
+ */
+(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.propAttr("readOnly"))){g=
+false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=
+a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};
+this.menu=d("<ul></ul>").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&&
+a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");
+d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&&
+b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source=
+this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==false)return this._search(a)},_search:function(a){this.pending++;this.element.addClass("ui-autocomplete-loading");this.source({term:a},this.response)},_response:function(a){if(!this.options.disabled&&a&&a.length){a=this._normalize(a);this._suggest(a);this._trigger("open")}else this.close();
+this.pending--;this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this.menu.element.hide();this.menu.deactivate();this._trigger("close",a)}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return d.map(a,function(b){if(typeof b==="string")return{label:b,value:b};return d.extend({label:b.label||
+b.value,value:b.value||b.label},b)})},_suggest:function(a){var b=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(b,a);this.menu.deactivate();this.menu.refresh();b.show();this._resizeMenu();b.position(d.extend({of:this.element},this.options.position));this.options.autoFocus&&this.menu.next(new d.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth(),this.element.outerWidth()))},_renderMenu:function(a,b){var g=this;
+d.each(b,function(c,f){g._renderItem(a,f)})},_renderItem:function(a,b){return d("<li></li>").data("item.autocomplete",b).append(d("<a></a>").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
+"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery);
+(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
+-1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.scrollTop(),c=this.element.height();if(b<0)this.element.scrollTop(g+b);else b>=c&&this.element.scrollTop(g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");
+this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b,
+this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||
+this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||
+this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[d.fn.prop?"prop":"attr"]("scrollHeight")},select:function(e){this._trigger("selected",e,{item:this.active})}})})(jQuery);
+;/*
+ * jQuery UI Button 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ */
+(function(b){var h,i,j,g,l=function(){var a=b(this).find(":ui-button");setTimeout(function(){a.button("refresh")},1)},k=function(a){var c=a.name,e=a.form,f=b([]);if(c)f=e?b(e).find("[name='"+c+"']"):b("[name='"+c+"']",a.ownerDocument).filter(function(){return!this.form});return f};b.widget("ui.button",{options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",l);if(typeof this.options.disabled!==
+"boolean")this.options.disabled=this.element.propAttr("disabled");this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var a=this,c=this.options,e=this.type==="checkbox"||this.type==="radio",f="ui-state-hover"+(!e?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",function(){if(!c.disabled){b(this).addClass("ui-state-hover");
+this===h&&b(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){c.disabled||b(this).removeClass(f)}).bind("click.button",function(d){if(c.disabled){d.preventDefault();d.stopImmediatePropagation()}});this.element.bind("focus.button",function(){a.buttonElement.addClass("ui-state-focus")}).bind("blur.button",function(){a.buttonElement.removeClass("ui-state-focus")});if(e){this.element.bind("change.button",function(){g||a.refresh()});this.buttonElement.bind("mousedown.button",function(d){if(!c.disabled){g=
+false;i=d.pageX;j=d.pageY}}).bind("mouseup.button",function(d){if(!c.disabled)if(i!==d.pageX||j!==d.pageY)g=true})}if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled||g)return false;b(this).toggleClass("ui-state-active");a.buttonElement.attr("aria-pressed",a.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",function(){if(c.disabled||g)return false;b(this).addClass("ui-state-active");a.buttonElement.attr("aria-pressed","true");
+var d=a.element[0];k(d).not(d).map(function(){return b(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;b(this).addClass("ui-state-active");h=this;b(document).one("mouseup",function(){h=null})}).bind("mouseup.button",function(){if(c.disabled)return false;b(this).removeClass("ui-state-active")}).bind("keydown.button",function(d){if(c.disabled)return false;if(d.keyCode==b.ui.keyCode.SPACE||
+d.keyCode==b.ui.keyCode.ENTER)b(this).addClass("ui-state-active")}).bind("keyup.button",function(){b(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(d){d.keyCode===b.ui.keyCode.SPACE&&b(this).click()})}this._setOption("disabled",c.disabled);this._resetButton()},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";if(this.type==="checkbox"||this.type===
+"radio"){var a=this.element.parents().filter(":last"),c="label[for='"+this.element.attr("id")+"']";this.buttonElement=a.find(c);if(!this.buttonElement.length){a=a.length?a.siblings():this.element.siblings();this.buttonElement=a.filter(c);if(!this.buttonElement.length)this.buttonElement=a.find(c)}this.element.addClass("ui-helper-hidden-accessible");(a=this.element.is(":checked"))&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",a)}else this.buttonElement=this.element},
+widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());this.hasTitle||this.buttonElement.removeAttr("title");
+b.Widget.prototype.destroy.call(this)},_setOption:function(a,c){b.Widget.prototype._setOption.apply(this,arguments);if(a==="disabled")c?this.element.propAttr("disabled",true):this.element.propAttr("disabled",false);else this._resetButton()},refresh:function(){var a=this.element.is(":disabled");a!==this.options.disabled&&this._setOption("disabled",a);if(this.type==="radio")k(this.element[0]).each(function(){b(this).is(":checked")?b(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
+"true"):b(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false")},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var a=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"),
+c=b("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(a.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,d=[];if(e.primary||e.secondary){if(this.options.text)d.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary"));e.primary&&a.prepend("<span class='ui-button-icon-primary ui-icon "+e.primary+"'></span>");e.secondary&&a.append("<span class='ui-button-icon-secondary ui-icon "+e.secondary+"'></span>");if(!this.options.text){d.push(f?"ui-button-icons-only":
+"ui-button-icon-only");this.hasTitle||a.attr("title",c)}}else d.push("ui-button-text-only");a.addClass(d.join(" "))}}});b.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,c){a==="disabled"&&this.buttons.button("option",a,c);b.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var a=this.element.css("direction")===
+"ltr";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(a?"ui-corner-left":"ui-corner-right").end().filter(":last").addClass(a?"ui-corner-right":"ui-corner-left").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");
+b.Widget.prototype.destroy.call(this)}})})(jQuery);
+;/*
+ * jQuery UI Dialog 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ * jquery.ui.button.js
+ * jquery.ui.draggable.js
+ * jquery.ui.mouse.js
+ * jquery.ui.position.js
+ * jquery.ui.resizable.js
+ */
+(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,
+position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||"&#160;",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+
+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&!i.isDefaultPrevented()&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),
+h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",
+e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
+a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==
+b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()};c.ui.dialog.maxZ+=1;
+d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===
+f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,
+function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('<button type="button"></button>').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",
+handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,
+originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",
+f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):
+[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f);
+if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):
+e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||"&#160;"));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=
+this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-
+b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.16",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),
+create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()<c.ui.dialog.overlay.maxZ)return false})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&!d.isDefaultPrevented()&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||
+c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&
+c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+
+"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,function(){a=a.add(this)});a.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
+;/*
+ * jQuery UI Slider 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var a=this,b=this.options,c=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f=b.values&&b.values.length||1,e=[];this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+
+this.orientation+" ui-widget ui-widget-content ui-corner-all"+(b.disabled?" ui-slider-disabled ui-disabled":""));this.range=d([]);if(b.range){if(b.range===true){if(!b.values)b.values=[this._valueMin(),this._valueMin()];if(b.values.length&&b.values.length!==2)b.values=[b.values[0],b.values[0]]}this.range=d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j<f;j+=1)e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");
+this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle",
+g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length?
+(h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i-
+m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();
+return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false;
+this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b=
+this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b=
+this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);
+c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c<f))c=f;if(c!==this.values(b)){f=this.values();f[b]=c;a=this._trigger("slide",a,{handle:this.handles[b],value:c,values:f});this.values(b?0:1);a!==false&&this.values(b,c,true)}}else if(c!==this.value()){a=this._trigger("slide",a,{handle:this.handles[b],value:c});
+a!==false&&this.value(c)}},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("change",a,c)}},value:function(a){if(arguments.length){this.options.value=
+this._trimAlignValue(a);this._refreshValue();this._change(null,0)}else return this._value()},values:function(a,b){var c,f,e;if(arguments.length>1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e<c.length;e+=1){c[e]=this._trimAlignValue(f[e]);this._change(null,e)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(a):
+this.value();else return this._values()},_setOption:function(a,b){var c,f=0;if(d.isArray(this.options.values))f=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(a){case "disabled":if(b){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.propAttr("disabled",true);this.element.addClass("ui-disabled")}else{this.handles.propAttr("disabled",false);this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
+this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<f;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c;if(arguments.length){b=this.options.values[a];
+return b=this._trimAlignValue(b)}else{b=this.options.values.slice();for(c=0;c<b.length;c+=1)b[c]=this._trimAlignValue(b[c]);return b}},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a=
+this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e-
+g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"},
+b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.16"})})(jQuery);
+;/*
+ * jQuery UI Tabs 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ */
+(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&&
+e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=
+d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]||
+(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
+this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected=
+this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
+if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));
+this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+
+g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",
+function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};
+this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=
+-1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";
+d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=
+d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b,
+e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);
+j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();
+if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=b}),function(h){return h>=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null,
+this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this},
+load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c,
+"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},
+url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.16"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&&
+a.rotate(null)}:function(){t=c.selected;h()});if(b){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
+;/*
+ * jQuery UI Datepicker 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker
+ *
+ * Depends:
+ * jquery.ui.core.js
+ */
+(function(d,C){function M(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
+"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
+"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
+minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false,disabled:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=N(d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function N(a){return a.bind("mouseout",
+function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
+b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},
+setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,
+"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",
+function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c==
+"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():
+d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,
+b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=
+1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/
+2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=
+d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=
+a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a,
+"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==
+a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?
+d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&this._hideDatepicker();var h=this._getDateDatepicker(a,true),i=this._getMinMaxDate(e,"min"),g=this._getMinMaxDate(e,"max");H(e.settings,f);if(i!==null&&f.dateFormat!==C&&f.minDate===C)e.settings.minDate=this._formatDate(e,i);if(g!==null&&f.dateFormat!==C&&f.maxDate===C)e.settings.maxDate=this._formatDate(e,g);this._attachments(d(a),e);this._autoSize(e);this._setDate(e,h);this._updateAlternate(e);
+this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");
+b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass+":not(."+d.datepicker._currentClass+")",b.dpDiv);c[0]&&d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]);if(a=d.datepicker._get(b,"onSelect")){c=d.datepicker._formatDate(b);a.apply(b.input?b.input[0]:null,[c,b])}else d.datepicker._hideDatepicker();return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,
+a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=
+a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,
+"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));var c=String.fromCharCode(a.charCode==C?a.keyCode:a.charCode);
+return a.ctrlKey||a.metaKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",
+a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value=
+"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);
+c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing=
+true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});
+a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&
+!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),
+h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=
+this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);
+this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},
+_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):
+0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"?
+"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);
+this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");
+if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?
+b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1<a.length&&a.charAt(A+1)==p)&&A++;return p},m=function(p){var D=
+o(p);p=new RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"&&D?4:p=="o"?3:2)+"}");p=b.substring(q).match(p);if(!p)throw"Missing number at position "+q;q+=p[0].length;return parseInt(p[0],10)},n=function(p,D,K){p=d.map(o(p)?K:D,function(w,x){return[[x,w]]}).sort(function(w,x){return-(w[1].length-x[1].length)});var E=-1;d.each(p,function(w,x){w=x[1];if(b.substr(q,w.length).toLowerCase()==w.toLowerCase()){E=x[0];q+=w.length;return false}});if(E!=-1)return E+1;else throw"Unknown name at position "+q;},s=
+function(){if(b.charAt(q)!=a.charAt(A))throw"Unexpected literal at position "+q;q++},q=0,A=0;A<a.length;A++)if(k)if(a.charAt(A)=="'"&&!o("'"))k=false;else s();else switch(a.charAt(A)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":j=m("m");break;case "M":j=n("M",i,g);break;case "y":c=m("y");break;case "@":var v=new Date(m("@"));c=v.getFullYear();j=v.getMonth()+1;l=v.getDate();break;case "!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();j=v.getMonth()+
+1;l=v.getDate();break;case "'":if(o("'"))s();else k=true;break;default:s()}if(q<b.length)throw"Extra/unparsed characters found in date: "+b.substring(q);if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",
+COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:
+null)||this._defaults.monthNames;var i=function(o){(o=k+1<a.length&&a.charAt(k+1)==o)&&k++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},j=function(o,m,n,s){return i(o)?s[m]:n[m]},l="",u=false;if(b)for(var k=0;k<a.length;k++)if(u)if(a.charAt(k)=="'"&&!i("'"))u=false;else l+=a.charAt(k);else switch(a.charAt(k)){case "d":l+=g("d",b.getDate(),2);break;case "D":l+=j("D",b.getDay(),e,f);break;case "o":l+=g("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-
+(new Date(b.getFullYear(),0,0)).getTime())/864E5),3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=j("M",b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(k)}return l},_possibleChars:function(a){for(var b="",c=false,e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=
+0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+="0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==C?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);
+var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var e=function(h){var i=new Date;
+i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,j=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,k=u.exec(h);k;){switch(k[2]||"d"){case "d":case "D":g+=parseInt(k[1],10);break;case "w":case "W":g+=parseInt(k[1],10)*7;break;case "m":case "M":l+=parseInt(k[1],10);g=
+Math.min(g,d.datepicker._getDaysInMonth(j,l));break;case "y":case "Y":j+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break}k=u.exec(h)}return new Date(j,l,g)};if(b=(b=b==null||b===""?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):new Date(b.getTime()))&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>
+12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&
+a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?
+new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&n<k?k:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a));
+n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', -"+j+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m,
+g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', +"+j+", 'M');\" title=\""+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&&
+a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+B+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,s)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+
+B+".datepicker._gotoToday('#"+a.id+"');\">"+j+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x<i[0];x++){var O=
+"";this.maxRows=4;for(var G=0;G<i[1];G++){var P=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",y="";if(l){y+='<div class="ui-datepicker-group';if(i[1]>1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&
+x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var z=j?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+s[r]+'">'+q[r]+"</span></th>"}y+=z+"</tr></thead><tbody>";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,
+z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q<z;Q++){y+="<tr>";var R=!j?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(r)+"</td>";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&r<k||o&&r>o;R+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(r.getTime()==
+P.getTime()&&g==a.selectedMonth&&a._keyEvent||E.getTime()==r.getTime()&&E.getTime()==P.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!D?"":" "+I[1]+(r.getTime()==u.getTime()?" "+this._currentClass:"")+(r.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!F||D)&&I[2]?' title="'+I[2]+'"':"")+(L?"":' onclick="DP_jQuery_'+B+".datepicker._selectDay('#"+a.id+"',"+r.getMonth()+","+r.getFullYear()+', this);return false;"')+">"+(F&&!D?"&#xa0;":L?'<span class="ui-state-default">'+
+r.getDate()+"</span>":'<a class="ui-state-default'+(r.getTime()==b.getTime()?" ui-state-highlight":"")+(r.getTime()==u.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+'" href="#">'+r.getDate()+"</a>")+"</td>";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+"</tr>"}g++;if(g>11){g=0;m++}y+="</tbody></table>"+(l?"</div>"+(i[0]>0&&G==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':
+"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='<div class="ui-datepicker-title">',o="";if(h||!j)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" >";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&
+(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(k+=o+(h||!(j&&l)?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,
+e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" >";b<=g;b++)a.yearshtml+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";a.yearshtml+="</select>";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?"&#xa0;":"")+o;k+="</div>";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+
+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input?
+a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c,
+e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,
+"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this;
+if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a==
+"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery);
+;/*
+ * jQuery UI Progressbar 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ */
+(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
+this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*
+this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.16"})})(jQuery);
+;/*
+ * jQuery UI Effects 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/
+ */
+jQuery.effects||function(f,j){function m(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1],
+16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return n.transparent;return n[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return m(b)}function o(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,
+a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function p(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d=
+a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function l(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor",
+"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=m(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var n={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,
+0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,
+211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,
+d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easing:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})};
+f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,
+[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.16",save:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.data("ec.storage."+a[b],c[0].style[a[b]])},restore:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.css(a[b],c.data("ec.storage."+a[b]))},setMode:function(c,a){if(a=="toggle")a=c.is(":hidden")?"show":"hide";return a},getBaseline:function(c,a){var b;switch(c[0]){case "top":b=
+0;break;case "middle":b=0.5;break;case "bottom":b=1;break;default:b=c[0]/a.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/a.width}return{x:c,y:b}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();var a={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")},b=f("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),
+d=document.activeElement;c.wrap(b);if(c[0]===d||f.contains(c[0],d))f(d).focus();b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(e,g){a[g]=c.css(g);if(isNaN(parseInt(a[g],10)))a[g]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){var a,b=document.activeElement;
+if(c.parent().is(".ui-effects-wrapper")){a=c.parent().replaceWith(c);if(c[0]===b||f.contains(c[0],b))f(b).focus();return a}return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)});
+return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,
+arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/
+2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,
+d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,
+a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,
+d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g))+b},easeOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*a)*Math.sin((a*e-c)*2*Math.PI/g)+d+b},easeInOutElastic:function(c,a,b,d,e){c=1.70158;var g=
+0,h=d;if(a==0)return b;if((a/=e/2)==2)return b+d;g||(g=e*0.3*1.5);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);if(a<1)return-0.5*h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;
+if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c,a,b,d,e){return d-f.easing.easeOutBounce(c,e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,a,b,d,e){if(a<e/2)return f.easing.easeInBounce(c,a*2,0,d,e)*0.5+b;return f.easing.easeOutBounce(c,
+a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery);
+;/*
+ * jQuery UI Effects Blind 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Blind
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(b){b.effects.blind=function(c){return this.queue(function(){var a=b(this),g=["position","top","bottom","left","right"],f=b.effects.setMode(a,c.options.mode||"hide"),d=c.options.direction||"vertical";b.effects.save(a,g);a.show();var e=b.effects.createWrapper(a).css({overflow:"hidden"}),h=d=="vertical"?"height":"width";d=d=="vertical"?e.height():e.width();f=="show"&&e.css(h,0);var i={};i[h]=f=="show"?d:0;e.animate(i,c.duration,c.options.easing,function(){f=="hide"&&a.hide();b.effects.restore(a,
+g);b.effects.removeWrapper(a);c.callback&&c.callback.apply(a[0],arguments);a.dequeue()})})}})(jQuery);
+;/*
+ * jQuery UI Effects Bounce 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Bounce
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(e){e.effects.bounce=function(b){return this.queue(function(){var a=e(this),l=["position","top","bottom","left","right"],h=e.effects.setMode(a,b.options.mode||"effect"),d=b.options.direction||"up",c=b.options.distance||20,m=b.options.times||5,i=b.duration||250;/show|hide/.test(h)&&l.push("opacity");e.effects.save(a,l);a.show();e.effects.createWrapper(a);var f=d=="up"||d=="down"?"top":"left";d=d=="up"||d=="left"?"pos":"neg";c=b.options.distance||(f=="top"?a.outerHeight({margin:true})/3:a.outerWidth({margin:true})/
+3);if(h=="show")a.css("opacity",0).css(f,d=="pos"?-c:c);if(h=="hide")c/=m*2;h!="hide"&&m--;if(h=="show"){var g={opacity:1};g[f]=(d=="pos"?"+=":"-=")+c;a.animate(g,i/2,b.options.easing);c/=2;m--}for(g=0;g<m;g++){var j={},k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing);c=h=="hide"?c*2:c/2}if(h=="hide"){g={opacity:0};g[f]=(d=="pos"?"-=":"+=")+c;a.animate(g,i/2,b.options.easing,function(){a.hide();e.effects.restore(a,l);e.effects.removeWrapper(a);
+b.callback&&b.callback.apply(this,arguments)})}else{j={};k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing,function(){e.effects.restore(a,l);e.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments)})}a.queue("fx",function(){a.dequeue()});a.dequeue()})}})(jQuery);
+;/*
+ * jQuery UI Effects Clip 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Clip
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(b){b.effects.clip=function(e){return this.queue(function(){var a=b(this),i=["position","top","bottom","left","right","height","width"],f=b.effects.setMode(a,e.options.mode||"hide"),c=e.options.direction||"vertical";b.effects.save(a,i);a.show();var d=b.effects.createWrapper(a).css({overflow:"hidden"});d=a[0].tagName=="IMG"?d:a;var g={size:c=="vertical"?"height":"width",position:c=="vertical"?"top":"left"};c=c=="vertical"?d.height():d.width();if(f=="show"){d.css(g.size,0);d.css(g.position,
+c/2)}var h={};h[g.size]=f=="show"?c:0;h[g.position]=f=="show"?0:c/2;d.animate(h,{queue:false,duration:e.duration,easing:e.options.easing,complete:function(){f=="hide"&&a.hide();b.effects.restore(a,i);b.effects.removeWrapper(a);e.callback&&e.callback.apply(a[0],arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Drop 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Drop
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(c){c.effects.drop=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right","opacity"],e=c.effects.setMode(a,d.options.mode||"hide"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a);var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true})/2:a.outerWidth({margin:true})/2);if(e=="show")a.css("opacity",0).css(f,b=="pos"?-g:g);var i={opacity:e==
+"show"?1:0};i[f]=(e=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Explode 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Explode
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(j){j.effects.explode=function(a){return this.queue(function(){var c=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3,d=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3;a.options.mode=a.options.mode=="toggle"?j(this).is(":visible")?"hide":"show":a.options.mode;var b=j(this).show().css("visibility","hidden"),g=b.offset();g.top-=parseInt(b.css("marginTop"),10)||0;g.left-=parseInt(b.css("marginLeft"),10)||0;for(var h=b.outerWidth(true),i=b.outerHeight(true),e=0;e<c;e++)for(var f=
+0;f<d;f++)b.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+
+e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery);
+;/*
+ * jQuery UI Effects Fade 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Fade
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Fold 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Fold
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],
+10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery);
+;/*
+ * jQuery UI Effects Highlight 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Highlight
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&&
+this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Pulsate 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Pulsate
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c<times;c++){b.animate({opacity:animateTo},duration,a.options.easing);animateTo=(animateTo+1)%2}b.animate({opacity:animateTo},duration,
+a.options.easing,function(){animateTo==0&&b.hide();a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()}).dequeue()})}})(jQuery);
+;/*
+ * jQuery UI Effects Scale 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Scale
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(c){c.effects.puff=function(b){return this.queue(function(){var a=c(this),e=c.effects.setMode(a,b.options.mode||"hide"),g=parseInt(b.options.percent,10)||150,h=g/100,i={height:a.height(),width:a.width()};c.extend(b.options,{fade:true,mode:e,percent:e=="hide"?g:100,from:e=="hide"?i:{height:i.height*h,width:i.width*h}});a.effect("scale",b.options,b.duration,b.callback);a.dequeue()})};c.effects.scale=function(b){return this.queue(function(){var a=c(this),e=c.extend(true,{},b.options),g=c.effects.setMode(a,
+b.options.mode||"effect"),h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:g=="hide"?0:100),i=b.options.direction||"both",f=b.options.origin;if(g!="effect"){e.origin=f||["middle","center"];e.restore=true}f={height:a.height(),width:a.width()};a.from=b.options.from||(g=="show"?{height:0,width:0}:f);h={y:i!="horizontal"?h/100:1,x:i!="vertical"?h/100:1};a.to={height:f.height*h.y,width:f.width*h.x};if(b.options.fade){if(g=="show"){a.from.opacity=0;a.to.opacity=1}if(g=="hide"){a.from.opacity=
+1;a.to.opacity=0}}e.from=a.from;e.to=a.to;e.mode=g;a.effect("size",e,b.duration,b.callback);a.dequeue()})};c.effects.size=function(b){return this.queue(function(){var a=c(this),e=["position","top","bottom","left","right","width","height","overflow","opacity"],g=["position","top","bottom","left","right","overflow","opacity"],h=["width","height","overflow"],i=["fontSize"],f=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],k=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],
+p=c.effects.setMode(a,b.options.mode||"effect"),n=b.options.restore||false,m=b.options.scale||"both",l=b.options.origin,j={height:a.height(),width:a.width()};a.from=b.options.from||j;a.to=b.options.to||j;if(l){l=c.effects.getBaseline(l,j);a.from.top=(j.height-a.from.height)*l.y;a.from.left=(j.width-a.from.width)*l.x;a.to.top=(j.height-a.to.height)*l.y;a.to.left=(j.width-a.to.width)*l.x}var d={from:{y:a.from.height/j.height,x:a.from.width/j.width},to:{y:a.to.height/j.height,x:a.to.width/j.width}};
+if(m=="box"||m=="both"){if(d.from.y!=d.to.y){e=e.concat(f);a.from=c.effects.setTransition(a,f,d.from.y,a.from);a.to=c.effects.setTransition(a,f,d.to.y,a.to)}if(d.from.x!=d.to.x){e=e.concat(k);a.from=c.effects.setTransition(a,k,d.from.x,a.from);a.to=c.effects.setTransition(a,k,d.to.x,a.to)}}if(m=="content"||m=="both")if(d.from.y!=d.to.y){e=e.concat(i);a.from=c.effects.setTransition(a,i,d.from.y,a.from);a.to=c.effects.setTransition(a,i,d.to.y,a.to)}c.effects.save(a,n?e:g);a.show();c.effects.createWrapper(a);
+a.css("overflow","hidden").css(a.from);if(m=="content"||m=="both"){f=f.concat(["marginTop","marginBottom"]).concat(i);k=k.concat(["marginLeft","marginRight"]);h=e.concat(f).concat(k);a.find("*[width]").each(function(){child=c(this);n&&c.effects.save(child,h);var o={height:child.height(),width:child.width()};child.from={height:o.height*d.from.y,width:o.width*d.from.x};child.to={height:o.height*d.to.y,width:o.width*d.to.x};if(d.from.y!=d.to.y){child.from=c.effects.setTransition(child,f,d.from.y,child.from);
+child.to=c.effects.setTransition(child,f,d.to.y,child.to)}if(d.from.x!=d.to.x){child.from=c.effects.setTransition(child,k,d.from.x,child.from);child.to=c.effects.setTransition(child,k,d.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){n&&c.effects.restore(child,h)})})}a.animate(a.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){a.to.opacity===0&&a.css("opacity",a.from.opacity);p=="hide"&&a.hide();c.effects.restore(a,
+n?e:g);c.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Shake 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Shake
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(d){d.effects.shake=function(a){return this.queue(function(){var b=d(this),j=["position","top","bottom","left","right"];d.effects.setMode(b,a.options.mode||"effect");var c=a.options.direction||"left",e=a.options.distance||20,l=a.options.times||3,f=a.duration||a.options.duration||140;d.effects.save(b,j);b.show();d.effects.createWrapper(b);var g=c=="up"||c=="down"?"top":"left",h=c=="up"||c=="left"?"pos":"neg";c={};var i={},k={};c[g]=(h=="pos"?"-=":"+=")+e;i[g]=(h=="pos"?"+=":"-=")+e*2;k[g]=
+(h=="pos"?"-=":"+=")+e*2;b.animate(c,f,a.options.easing);for(e=1;e<l;e++)b.animate(i,f,a.options.easing).animate(k,f,a.options.easing);b.animate(i,f,a.options.easing).animate(c,f/2,a.options.easing,function(){d.effects.restore(b,j);d.effects.removeWrapper(b);a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()});b.dequeue()})}})(jQuery);
+;/*
+ * jQuery UI Effects Slide 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Slide
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(c){c.effects.slide=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right"],f=c.effects.setMode(a,d.options.mode||"show"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a).css({overflow:"hidden"});var g=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var e=d.options.distance||(g=="top"?a.outerHeight({margin:true}):a.outerWidth({margin:true}));if(f=="show")a.css(g,b=="pos"?isNaN(e)?"-"+e:-e:e);
+var i={};i[g]=(f=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+e;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){f=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Transfer 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Transfer
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(e){e.effects.transfer=function(a){return this.queue(function(){var b=e(this),c=e(a.options.to),d=c.offset();c={top:d.top,left:d.left,height:c.innerHeight(),width:c.innerWidth()};d=b.offset();var f=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments);
+b.dequeue()})})}})(jQuery);
+; \ No newline at end of file
diff --git a/src/html/js/jquery.js b/src/html/js/jquery.js
new file mode 100644
index 0000000..628ed9b
--- /dev/null
+++ b/src/html/js/jquery.js
@@ -0,0 +1,4 @@
+/*! jQuery v1.6.4 http://jquery.com/ | http://jquery.org/license */
+(function(a,b){function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cp(){cn=b}function co(){setTimeout(cp,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bA.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bW(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bP,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bW(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bW(a,c,d,e,"*",g));return l}function bV(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bL),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function by(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bt:bu;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bv(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bd,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bf(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function V(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(Q.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function U(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"&")}function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(w,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function D(){return!0}function C(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.4",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:H?function(a){return a==null?"":H.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?F.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(!b)return-1;if(I)return I.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=G.call(arguments,2),g=function(){return a.apply(c,f.concat(G.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){J["[object "+b+"]"]=b.toLowerCase()}),A=e.uaMatch(z),A.browser&&(e.browser[A.browser]=!0,e.browser.version=A.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?C=function(){c.removeEventListener("DOMContentLoaded",C,!1),e.ready()}:c.attachEvent&&(C=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",C),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g+"With"](this===b?d:this,[h])}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-1000px",top:"-1000px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i=f.expando,j=typeof c=="string",k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if((!m||e&&m&&l[m]&&!l[m][i])&&j&&d===b)return;m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c);g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d);if(c==="events"&&!g[c])return g[i]&&g[i].events;j?(h=g[c],h==null&&(h=g[f.camelCase(c)])):h=g;return h}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.expando]:f.expando;if(!h[i])return;if(b){d=c?h[i][e]:h[i];if(d){d[b]||(b=f.camelCase(b)),delete d[b];if(!l(d))return}}if(c){delete h[i][e];if(!l(h[i]))return}var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u,v;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.attr(a,b,""),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(u&&f.nodeName(a,"button"))return u.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(u&&f.nodeName(a,"button"))return u.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==null?g:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={get:function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(u=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=/\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\./g,z=/ /g,A=/[^\w\s.|`]/g,B=function(a){return a.replace(A,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=C;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=C);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete
+t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,M(a.origType,a.selector),f.extend({},a,{handler:L,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,M(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?D:C):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=D;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=D;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=D,this.stopPropagation()},isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C};var E=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},F=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?F:E,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?F:E)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="submit"||c==="image")&&f(b).closest("form").length&&J("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&J("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var G,H=function(a){var b=f.nodeName(a,"input")?a.type:"",c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},I=function(c){var d=c.target,e,g;if(!!x.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=H(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:I,beforedeactivate:I,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&I.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&I.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",H(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in G)f.event.add(this,c+".specialChange",G[c]);return x.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var K={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||C,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=w.exec(h),k="",j&&(k=j[0],h=h.replace(w,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,K[h]?(a.push(K[h]+k),h=h+k):h=(K[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+M(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+M(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var N=/Until$/,O=/^(?:parents|prevUntil|prevAll)/,P=/,/,Q=/^.[^:#\[\.,]*$/,R=Array.prototype.slice,S=f.expr.match.POS,T={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(V(this,a,!1),"not",a)},filter:function(a){return this.pushStack(V(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=S.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=S.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);N.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|object|embed|option|style)/i,bb=/checked\s*(?:[^=]|=\s*.checked.)/i,bc=/\/(java|ecma)script/i,bd=/^\s*<!(?:\[CDATA\[|\-\-)/,be={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!be[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bb.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bf(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bl)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!ba.test(a[0])&&(f.support.checkClone||!bb.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean
+(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)g[h]&&bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=be[l]||be._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bk(k[i]);else bk(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bc.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bm=/alpha\([^)]*\)/i,bn=/opacity=([^)]*)/,bo=/([A-Z]|^ms)/g,bp=/^-?\d+(?:px)?$/i,bq=/^-?\d/,br=/^([\-+])=([\-+.\de]+)/,bs={position:"absolute",visibility:"hidden",display:"block"},bt=["Left","Right"],bu=["Top","Bottom"],bv,bw,bx;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bv(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=br.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bv)return bv(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return by(a,b,d);f.swap(a,bs,function(){e=by(a,b,d)});return e}},set:function(a,b){if(!bp.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bm,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bv(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bw=function(a,c){var d,e,g;c=c.replace(bo,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bx=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bp.test(d)&&bq.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bv=bw||bx,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bz=/%20/g,bA=/\[\]$/,bB=/\r?\n/g,bC=/#.*$/,bD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bE=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bF=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bG=/^(?:GET|HEAD)$/,bH=/^\/\//,bI=/\?/,bJ=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bK=/^(?:select|textarea)/i,bL=/\s+/,bM=/([?&])_=[^&]*/,bN=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bO=f.fn.load,bP={},bQ={},bR,bS,bT=["*/"]+["*"];try{bR=e.href}catch(bU){bR=c.createElement("a"),bR.href="",bR=bR.href}bS=bN.exec(bR.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bO)return bO.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bJ,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bK.test(this.nodeName)||bE.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bB,"\r\n")}}):{name:b.name,value:c.replace(bB,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?bX(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),bX(a,b);return a},ajaxSettings:{url:bR,isLocal:bF.test(bS[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bT},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bV(bP),ajaxTransport:bV(bQ),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?bZ(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=b$(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bD.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bC,"").replace(bH,bS[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bL),d.crossDomain==null&&(r=bN.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bS[1]&&r[2]==bS[2]&&(r[3]||(r[1]==="http:"?80:443))==(bS[3]||(bS[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bW(bP,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bG.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bI.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bM,"$1_="+x);d.url=y+(y===d.url?(bI.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bT+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bW(bQ,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bz,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cq("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cr(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cq("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cq("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cr(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cq("show",1),slideUp:cq("hide",1),slideToggle:cq("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return d.step(a)}var d=this,e=f.fx;this.startTime=cn||co(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&f.timers.push(g)&&!cl&&(cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||co(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cs=/^t(?:able|d|h)$/i,ct=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cu(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cs.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=ct.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!ct.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cu(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cu(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNaN(j)?i:j}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file
diff --git a/src/html/welcome.html b/src/html/welcome.html
new file mode 100644
index 0000000..a22053a
--- /dev/null
+++ b/src/html/welcome.html
@@ -0,0 +1,18 @@
+<h3>Welcome</h3>
+
+<p align="justify">The electronic collections of today's libraries, museums and archives are
+growing and increasingly have a more relevant role in the holdings. Memory
+institutions must address users' need to access a widening range of digital
+artefacts. Often the formats of those artefacts are outdated and they cannot
+be run or rendered on today's systems any longer. This is where emulation
+can provide the required digital environments suitable for a given object type.</p>
+
+<p align="justify">This project aims on a practical demonstration to access a wide range of
+different original computer environments from the last 30 years.</p>
+<br/>
+
+<br/>
+<h4>Usage</h4>
+<p>
+<center><img src="qrc:/img/help" /></center>
+</p> \ No newline at end of file
diff --git a/src/main.cpp b/src/main.cpp
new file mode 100644
index 0000000..697ae64
--- /dev/null
+++ b/src/main.cpp
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2011 - RZ Uni Freiburg
+ * Copyright (c) 2011 - OpenSLX Project
+ *
+ * This program/file is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your feedback to feedback@openslx.org
+ *
+ * General information about OpenSLX - libChooser can be found under
+ * http://openslx.org
+ *
+ */
+
+#include <iostream>
+
+#include <QApplication>
+#include <QDebug>
+
+#include <VSession.h>
+#include <VSessionHandler.h>
+#include <XSession.h>
+#include <XSessionHandler.h>
+
+#include "Globals.h"
+#include "Dialog.h"
+
+bool myLessThan(Session* a, Session* b) {
+ return *a < *b;
+}
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+
+ VSessionHandler *vh = new VSessionHandler;
+ vh->setConfPath(etcPath);
+ vh->setFilterScript(filterScript + ".disabled");
+ vh->setRunVmScript(runVmScript);
+
+// qDebug() << vSessionPath;
+
+ /* read session files */
+ QList<Session*> vsessions(vh->readXmlDir(vSessionPath));
+
+// qDebug() << vsessions.size();
+
+ Dialog *w = new Dialog;
+
+ if (vsessions.size()) {
+// if (!(QFile::permissions(runVmScript) & QFile::ExeUser)) {
+// std::cerr << a.translate(
+// "Console",
+// "vmchooser: external script %1 is not executable")
+// .arg(runVmScript).toUtf8().data()
+// << std::endl;
+// return EXIT_FAILURE;
+// }
+ qSort(vsessions.begin(), vsessions.end(), myLessThan);
+ w->addItems(vsessions);
+ }
+
+
+
+// qDebug() << vsessions.size();
+//
+// int i;
+// for(i=0; i<vsessions.size(); i++) {
+// qDebug() << vsessions.at(i)->icon();
+// qDebug() << vsessions.at(i)->shortDescription();
+// qDebug() << vsessions.at(i)->description();
+// }
+// w->addItems(vsessions, a.translate("Dialog", "Virtual Sessions"));
+
+ w->center();
+ w->show();
+
+ a.setActiveWindow(w);
+ return a.exec();
+}