From 931f07a610db9b8d4856a2898a905dd6d0acc9ab Mon Sep 17 00:00:00 2001 From: Anmol Date: Tue, 4 Jul 2017 19:48:43 +0530 Subject: [PATCH] Added backup and restore script and option for root access --- manifest.json | 9 + scripts/backup | 33 + scripts/install | 11 +- scripts/restore | 52 ++ scripts/upgrade | 16 +- .../{ => root_access_disabled}/adminer.css | 0 .../adminer.php} | 0 sources/root_access_disabled/index.php | 14 + sources/with_root_access/adminer.css | 70 ++ sources/with_root_access/index.php | 827 ++++++++++++++++++ 10 files changed, 1024 insertions(+), 8 deletions(-) create mode 100644 scripts/backup create mode 100644 scripts/restore rename sources/{ => root_access_disabled}/adminer.css (100%) rename sources/{index.php => root_access_disabled/adminer.php} (100%) create mode 100644 sources/root_access_disabled/index.php create mode 100644 sources/with_root_access/adminer.css create mode 100644 sources/with_root_access/index.php diff --git a/manifest.json b/manifest.json index 1f1a4a7..4dd0a0e 100644 --- a/manifest.json +++ b/manifest.json @@ -42,6 +42,15 @@ "example": "/adminer", "default": "/adminer" }, + { + "name": "root_access", + "type": "boolean", + "ask": { + "en": "Allow root access(For security its disabled by default)?", + "fr": "Autoriser l'accès racine (pour la sécurité désactivée par défaut)?" + }, + "default": false + }, { "name": "is_public", "type": "boolean", diff --git a/scripts/backup b/scripts/backup new file mode 100644 index 0000000..af8ccd9 --- /dev/null +++ b/scripts/backup @@ -0,0 +1,33 @@ +#!/bin/bash + +# Exit on command errors and treat unset variables as an error +set -eu + +# See comments in install script +app=$YNH_APP_INSTANCE_NAME + +# Source YunoHost helpers +source /usr/share/yunohost/helpers + +# Backup sources & data +# Note: the last argument is where to save this path, see the restore script. +ynh_backup "/var/www/${app}" "sources" + +### MySQL (remove if not used) ### +# If a MySQL database is used: +# # Dump the database +# dbname=$app +# dbuser=$app +# dbpass=$(ynh_app_setting_get "$app" mysqlpwd) +# mysqldump -u "$dbuser" -p"$dbpass" --no-create-db "$dbname" > ./dump.sql +### MySQL end ### + +# Copy NGINX configuration +domain=$(ynh_app_setting_get "$app" domain) +ynh_backup "/etc/nginx/conf.d/${domain}.d/${app}.conf" "nginx.conf" + +### PHP (remove if not used) ### +# If a dedicated php-fpm process is used: +# # Copy PHP-FPM pool configuration +# ynh_backup "/etc/php5/fpm/pool.d/${app}.conf" "php-fpm.conf" +### PHP end ### diff --git a/scripts/install b/scripts/install index b896d85..8386799 100644 --- a/scripts/install +++ b/scripts/install @@ -9,12 +9,14 @@ app=$YNH_APP_INSTANCE_NAME domain=$YNH_APP_ARG_DOMAIN path_url=$YNH_APP_ARG_PATH is_public=$YNH_APP_ARG_IS_PUBLIC +root_access=$YNH_APP_ARG_ROOT_ACCESS # Source YunoHost helpers source /usr/share/yunohost/helpers # Save app settings ynh_app_setting_set "$app" is_public "$is_public" +ynh_app_setting_set "$app" root_access "$root_access" # Check domain/path availability sudo yunohost app checkurl "${domain}${path_url}" -a "$app" \ @@ -24,8 +26,13 @@ sudo yunohost app checkurl "${domain}${path_url}" -a "$app" \ # Copy source files src_path=/var/www/$app sudo mkdir -p $src_path -sudo cp -a ../sources/. $src_path - +if [[ $root_access -eq 1 ]]; then +#copy files from with_root_access folder to the src_path + sudo cp -a ../sources/with_root_access/. $src_path +else +#copy files from root_access_disabled folder to the src_path + sudo cp -a ../sources/root_access_disabled/. $src_path +fi # Set permissions to app files # you may need to make some file and/or directory writeable by www-data (nginx user) diff --git a/scripts/restore b/scripts/restore new file mode 100644 index 0000000..93169e9 --- /dev/null +++ b/scripts/restore @@ -0,0 +1,52 @@ +#!/bin/bash + +# Note: each files and directories you've saved using the ynh_backup helper +# will be located in the current directory, regarding the last argument. + +# Exit on command errors and treat unset variables as an error +set -eu + +# See comments in install script +app=$YNH_APP_INSTANCE_NAME + +# Source YunoHost helpers +source /usr/share/yunohost/helpers + +# Retrieve old app settings +domain=$(ynh_app_setting_get "$app" domain) +path_url=$(ynh_app_setting_get "$app" path_url) + +# Check domain/path availability +sudo yunohost app checkurl "${domain}${path_url}" -a "$app" \ + || ynh_die "Path not available: ${domain}${path_url}" + +# Restore sources & data +src_path="/var/www/${app}" +sudo cp -a ./sources "$src_path" + +# Restore permissions to app files +# you may need to make some file and/or directory writeable by www-data (nginx user) +sudo chown -R root: "$src_path" + +### MySQL (remove if not used) ### +# If a MySQL database is used: +# # Create and restore the database +# dbname=$app +# dbuser=$app +# dbpass=$(ynh_app_setting_get "$app" mysqlpwd) +# ynh_mysql_create_db "$dbname" "$dbuser" "$dbpass" +# ynh_mysql_connect_as "$dbuser" "$dbpass" "$dbname" < ./dump.sql +### MySQL end ### + +# Restore NGINX configuration +sudo cp -a ./nginx.conf "/etc/nginx/conf.d/${domain}.d/${app}.conf" + +### PHP (remove if not used) ### +# If a dedicated php-fpm process is used: +# # Copy PHP-FPM pool configuration and reload the service +# sudo cp -a ./php-fpm.conf "/etc/php5/fpm/pool.d/${app}.conf" +# sudo service php5-fpm reload +### PHP end ### + +# Restart webserver +sudo service nginx reload diff --git a/scripts/upgrade b/scripts/upgrade index 7c3597b..f73696a 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -11,22 +11,26 @@ source /usr/share/yunohost/helpers # Retrieve app settings domain=$(ynh_app_setting_get "$app" domain) -path_url=$(ynh_app_setting_get "$app" path_url) +path_url=$(ynh_app_setting_get "$app" path) is_public=$(ynh_app_setting_get "$app" is_public) +root_access=$(ynh_app_setting_get "$app" root_access) # Remove trailing "/" for next commands path_url=${path_url%/} -# Get files -bash ../sources/get_sources.sh # Copy source files src_path=/var/www/$app -sudo mkdir -p $src_path sudo rm -rf $src_path -sudo cp -a ../sources/. $src_path - +sudo mkdir -p $src_path +if [[ $root_access -eq 1 ]]; then +#copy files from with_root_access folder to the src_path + sudo cp -a ../sources/with_root_access/. $src_path +else +#copy files from root_access_disabled folder to the src_path + sudo cp -a ../sources/root_access_disabled/. $src_path +fi # Files owned by root, www-data can just read sudo find $src_path -type f | xargs sudo chmod 644 diff --git a/sources/adminer.css b/sources/root_access_disabled/adminer.css similarity index 100% rename from sources/adminer.css rename to sources/root_access_disabled/adminer.css diff --git a/sources/index.php b/sources/root_access_disabled/adminer.php similarity index 100% rename from sources/index.php rename to sources/root_access_disabled/adminer.php diff --git a/sources/root_access_disabled/index.php b/sources/root_access_disabled/index.php new file mode 100644 index 0000000..2a904c2 --- /dev/null +++ b/sources/root_access_disabled/index.php @@ -0,0 +1,14 @@ + a + a {margin-left:22px;} + #menu .links > a + a + a {margin-left:44px;} + #menu .links > a + a + a + a {margin-left:66px;} + #menu .links:hover a {color:blue; margin:0;} + #menu .links a:hover {color:red;} +} + +#tables li a[href*="&select="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHISURBVDjLpVPNK0RRFP+9D98syMwUspHkm9I0YkFZWBFKkZ0s7a3Ewh+ilChK7FgoZCJFKYlYKB8zk2+Z5t0P577He29kQU7dd+6575zf+d1zztWklPiPmOozt/U4SThjXIoyIQS4AJjSXO0lGGlvcXAm6Vzsz4xUhm0AIeX4QLig+C+ZpxbOG1wGhGYHr1zMUmZGWRgs0ha3PE1nX/8mWmdgWTzLB+DUYbhm9FfZ35IEyrhXA3VXJfPbsV8B9LQUIeUHYJ8ASobag1jcucNgW8g9W4reYSDi2YnnZDoDiwCokDANct6NwTB0LEdj0HRA/wxa2SN25JNBEdWluUhZ366gqmAaGvrCAXKOozccTGPgt8+vn8GYSGcgyTYp3dpBnBg42nbQPRBTo5bTvqYkmxL6AQhNTWQGBXY3B7BxlEBXozcW64dxRKoKUZBju+P06gl5WaaviMJBM3TNDlbypemIZgHYOnlwASsCmW7nHADGnBoQ3c76YmweJ9BR5zFYjsbRHwm4tmJg6PhWA7pCXXk+bu7fURHKweXtq/sWaksz7SC/CCGFrwtyZ3r+rCnFRZ7qr1qc6mLZj4f9OEyPL8lVpbX/PucPv5QPKHB1TdEAAAAASUVORK5CYII=") no-repeat scroll left bottom; clear:left; display:block; float:left; height:16px; margin-right:8px; padding-top:1px; overflow:hidden; padding-left:16px; width:0; text-decoration:none;} + +#tables li a[href*="&table="], tables li a[href*="&view="] {clear:right; margin-left:24px; display:block; height:17px; padding-bottom:1px; text-decoration:none;} + +.links a[href*="&create="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ6SURBVDjLpZNZSNRRGMV//2XGsjFrMg2z0so2K21xIFpepYUiAsGIICLffI8eWiBBeg3qQV+KwBYKLB8qpHUmrahcKLc0QsxldNSxdPz/79LD1ChBUXTh8sG93POdc75zDa01/7NsgGvPR09rzQmpVZZSCqlAKIWUCqk0QqoZWyKFRir1uvxIbsAGUFqXHQqkpP1L57M3Pm5MMJBKpQHUdF9BKIGQAlcJXOlOVykSdye3leO6MmkGQNyHw+uO/1X3bzGBK+S0B1IqAKqDg3986HeCZPffwvJtoNT7lOZLvUdtAPEDAKBkRzo3QwMUb89InN1uGGD3spdE214xe8MRUnM2MfppNW0Pqy7YAK5UKK2xLbhdP4hlmdxpGMQwwQT8ziNiI534c7cT6WrFazikzF2Eb8HS1IQEDdiWwcHAQmpehTkQSAcgNvSMiYFW5uUUMdV3HW+ywefGNqITJsbUUL75k4FWYJtQ+yaMZcXrk1ANk/33mbdiD7EvlRieETy+FJLkMFcjRRSW3emIAwiF1hqPBfu2LGSWbbA1uZ41SfWkrtxPrPcypsfFiWYzFGzGKTjFV28WEJeIUHETLdOgrmkI1VdHpCdEet5enP4qLK9mKrqMgedv6cyrAP+qxOTiUxAi7oEJi8frELoFoTLpa7nI/HQvscgSRt+0kV1SSW7qYtp7xrBMphm4Mi5h/VIfTcEq1u0oJaknSEdNiMYHET7UvcMpPEN31Ed7zxgASmk1I0g6dK66s8CRak5mVxjnfS05+TsZCw/T9baTx1nnGb47DrQksjE6HrsHYPz6nYt3+Sc3L8+wA2tz0J6pF5OD4WP7Kpq7f5fO79DfSxjdtCtDAAAAAElFTkSuQmCC") no-repeat scroll 2px bottom; padding-left:22px;} +.links a[href$="&create="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIpSURBVDjLpZNPSFRRFMZ/749/Kt3IqFTSRoSMmrGIYTTbpEJtjBCCok1Em9JVG1dRC8FFEES5aGFEgRRZWq1iLKKxBiNqLDcltQgmHR9hY6LOu+feFm+YGVsZXbh8nHO53/nud8+xjDH8z3IB7r5avGgMZ8XoBq01okFpjYhGtEGJLtmCKINo/XbgVFPUBdDG9PVEq0P/UvnSvdlwQYFoHQIY/3obpRVKFL5W+OIXUVThrL91AN+XihKCwIeTu85sqPryqsJXUvRARAMwkshsiKB7fw25UgKVJwA40V7H/cl5jh+oL+RGk/P0xIqxl11dr8AXjTYG14HRNxkcx+ZhMoNlg52/ND6VAWMoc6F5+2Zy/l9PMIDrWByL1jI+tcDRaN06BaXxbDqLUnq9AqPBteHpuwUcJ0AIcgBXH93h+/wEyyuLrPk5cmv7gNY8gdIYYyhz4PDeWuIpj85IsS2ujQ2zJAk6DkZpqGnixcwYyU+PifUOX7Eh6DoAx7aIpzwA4imPeMrj+bTH+88PaNkZQWwhsrULsXxie9oAzgcESgUe2NAZCeE6AXZGQhwKh/Cyc5RZVXQ39wFwoeMmjXVhgMqiB8awe0cVP36u0Fi/iW9zvwuzkF3+xUz6Nal0gv6uWww+O02lUwGwmv8FM3l55EtLTvQWXwm+EkRpfNEoUZRXHCE5PUFbuJ0nH4cot1wSH14C3LA2Os6x3m2DwDmgGlgChpLX0/1/AIu8MA7WsWBMAAAAAElFTkSuQmCC") no-repeat scroll left bottom; padding-left:22px;} + +#content p a[href*="&create="] {padding-left:22px;} +#content p a[href*="&select="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHISURBVDjLpVPNK0RRFP+9D98syMwUspHkm9I0YkFZWBFKkZ0s7a3Ewh+ilChK7FgoZCJFKYlYKB8zk2+Z5t0P577He29kQU7dd+6575zf+d1zztWklPiPmOozt/U4SThjXIoyIQS4AJjSXO0lGGlvcXAm6Vzsz4xUhm0AIeX4QLig+C+ZpxbOG1wGhGYHr1zMUmZGWRgs0ha3PE1nX/8mWmdgWTzLB+DUYbhm9FfZ35IEyrhXA3VXJfPbsV8B9LQUIeUHYJ8ASobag1jcucNgW8g9W4reYSDi2YnnZDoDiwCokDANct6NwTB0LEdj0HRA/wxa2SN25JNBEdWluUhZ366gqmAaGvrCAXKOozccTGPgt8+vn8GYSGcgyTYp3dpBnBg42nbQPRBTo5bTvqYkmxL6AQhNTWQGBXY3B7BxlEBXozcW64dxRKoKUZBju+P06gl5WaaviMJBM3TNDlbypemIZgHYOnlwASsCmW7nHADGnBoQ3c76YmweJ9BR5zFYjsbRHwm4tmJg6PhWA7pCXXk+bu7fURHKweXtq/sWaksz7SC/CCGFrwtyZ3r+rCnFRZ7qr1qc6mLZj4f9OEyPL8lVpbX/PucPv5QPKHB1TdEAAAAASUVORK5CYII=") no-repeat scroll 2px bottom; padding-left:22px;} +#content p a[href*="&page="] {background-image:none; padding-left:0;} +#content p a[href$="&database="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIkSURBVDjLpVNNiFJRFP7eU1E0KSLTMpAwYSxyaidDtChm0WYQ3NSutv2s2kwwm2igNgMtooUQEQhhA9GqhSDTQsZZFDbNDBgVg5bSw9J8rzFF33udc+HGg0ladOHj3nPe+b7zc99VbNvG/yy30yiVSl4SnCNcsixrivYEgY7WJu0faX9EKGUyGVNyFFkBkY/T+WkoFEpFIhEEAgH4/X7w916vB8Mw0Gg00G63y+S7mM1mm4LIAYxisbhSr9c5nT1pjUYju1qt2oVC4YnkqbIUMk6Ew+F/9hyNRkFJLuyaATmFoqZp8Pl88Hq98Hg8wtfv99HpdNBsNhGPx0XsRAG3241ut4vBYCDs8XgMXdcxHA7FN/b9VUD25HK5RAUczKC+hYgcNpNN05xcAQdLkqIoIlj6VFWdXIEUkAQGV8M2k2vaG3z6sYGfVR39XzsHlm/dX3h5d31xlwAHM5goBd5+LuO75z3OnU3jyP4EVrZeKGub2p309cP7VKcAQ2Znoiz3deMVTk1Nw1RNTB+ahamMkD45w7RrfwSYwFdFf6K4Quf6pmvwKHswl7wh7Jvnc4gfTPHR52zhcqVSeZZMJgOxWEyI8BC5CmOnh63WKtZbZczPPsa94hX4XCLJQHG+xnw+f5SEFghZmvhefgvcTqn2HN3gBmZSZ5CInMaHr1Wsvivjy3ZvSZn0nHO5XJDIxwgWDbW2vL10m9xXCUGCQXi49qA1/xvyq6BCh7yZeQAAAABJRU5ErkJggg==") no-repeat scroll 2px bottom; padding-left:22px;} +#content p a[href*="&edit="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlkoqCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94VTUfLiB74fXngup7nvrnvJABJ/5PfLnTTdcwOj4RsdYmo5glBWP6iOtzwvIKSWstI0Wgx80SBblpKtE9KQs/We7EaWoT/8wbWP61gMmCH0lMDvokT4j25TiQU/ITFkek9Ow6+7WH2gwsmahCPdwyw75uw9HEO2gUZSkfyI9zBPCJOoJ2SMmg46N61YO/rNoa39Xi41oFuXysMfh36/Fp0b7bAfWAH6RGi0HglWNCbzYgJaFjRv6zGuy+b9It96N3SQvNKiV9HvSaDfFEIxXItnPs23BzJQd6DDEVM0OKsoVwBG/1VMzpXVWhbkUM2K4oJBDYuGmbKIJ0qxsAbHfRLzbjcnUbFBIpx/qH3vQv9b3U03IQ/HfFkERTzfFj8w8jSpR7GBE123uFEYAzaDRIqX/2JAtJbDat/COkd7CNBva2cMvq0MGxp0PRSCPF8BXjWG3FgNHc9XPT71Ojy3sMFdfJRCeKxEsVtKwFHwALZfCUk3tIfNR8XiJwc1LmL4dg141JPKtj3WUdNFJqLGFVPC4OkR4BxajTWsChY64wmCnMxsWPCHcutKBxMVp5mxA1S+aMComToaqTRUQknLTH62kHOVEE+VQnjahscNCy0cMBWsSI0TCQcZc5ALkEYckL5A5noWSBhfm2AecMAjbcRWV0pUTh0HE64TNf0mczcnnQyu/MilaFJCae1nw2fbz1DnVOxyGTlKeZft/Ff8x1BRssfACjTwQAAAABJRU5ErkJggg==") no-repeat scroll 2px bottom; padding-left:22px;} +#content p a[href*="&table="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJcSURBVDjLpZPtT5JhFMafrW997I9rscA+FFu2QRurtlw5cQ4InLpwBogIPNFSiNJ4C+JVkj0QTBHQKFPQlJfwlanY1tXz3ARkn2jd27Wz++yc33XOvd0UAOp/RNGR/X5zeH9rOlTDVKAK3fsqJrxlqN27GHPuYHh+G4rXRQzZNjEws47Hli/oo/PxNsAU3qvWT3/gX3TPuHrWBhiC30nSktXDtKLB1NI4NKkxqBMqjDByPFkcxNBCPwbCfXgUeEBq705m0AZM+qsk2e3hau88W+4ANOy+XPLFQrkrcbW31KkOYJx9rBaAOzPR0gVHW6x593q9cDgcqB6e4sZoogMYdXzD0ck5ZhfLsHGKVfAqVoadKcMdzcLr82PuwwZCoRACgQCWVzdhoK2gaVpDAMNzWzhkAXamQpze/I4t13w+j2AwiFwuh7W1NXg8HmQyGSgUCshkssuU3F7AQf0c84kK3n68KFc4hXQ6DavVCqlUCqVSSdaIx+NQq9UGMsHg7Ab2jxtwp5rOvqUqia3CUqnEObWn0mp1KBaLcLlckMvloPpfrhOAl230/SGLxQK3241CoQC9Xg9nskKk1emQzWZZkBZCoRBU3/NP2GMBgXTTObjSjI1GA8lkEgzDwO/3E4iObXY6nYhEIhCJRHoWcIW6b1pF7egMlYNT7NROUKzU8XX3GJ+3D2E0GgmAm4Zbh2s0mUyIRqMcAGKx+BIlMeSiYu1K/fbEMm4+TaFnJIHrSgZX5TFIZNPo7e1Fj9QOs9kMlUqFaw9pCASCnzwe7x15xG6/rUQiAZ/Px9/5XyhZOMVGKlOdAAAAAElFTkSuQmCC") no-repeat scroll 2px bottom; padding-left:22px;} +th a[href*="&table="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHISURBVDjLpVPNK0RRFP+9D98syMwUspHkm9I0YkFZWBFKkZ0s7a3Ewh+ilChK7FgoZCJFKYlYKB8zk2+Z5t0P577He29kQU7dd+6575zf+d1zztWklPiPmOozt/U4SThjXIoyIQS4AJjSXO0lGGlvcXAm6Vzsz4xUhm0AIeX4QLig+C+ZpxbOG1wGhGYHr1zMUmZGWRgs0ha3PE1nX/8mWmdgWTzLB+DUYbhm9FfZ35IEyrhXA3VXJfPbsV8B9LQUIeUHYJ8ASobag1jcucNgW8g9W4reYSDi2YnnZDoDiwCokDANct6NwTB0LEdj0HRA/wxa2SN25JNBEdWluUhZ366gqmAaGvrCAXKOozccTGPgt8+vn8GYSGcgyTYp3dpBnBg42nbQPRBTo5bTvqYkmxL6AQhNTWQGBXY3B7BxlEBXozcW64dxRKoKUZBju+P06gl5WaaviMJBM3TNDlbypemIZgHYOnlwASsCmW7nHADGnBoQ3c76YmweJ9BR5zFYjsbRHwm4tmJg6PhWA7pCXXk+bu7fURHKweXtq/sWaksz7SC/CCGFrwtyZ3r+rCnFRZ7qr1qc6mLZj4f9OEyPL8lVpbX/PucPv5QPKHB1TdEAAAAASUVORK5CYII=") no-repeat scroll 2px bottom; padding-left:22px;} + +.links #content a[href*="&database="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKRSURBVDjLhVNLTBNRFD3TTju1FCcBaxuaQEr94ydiZIHGpcFISBOi0YREZWHCVoyRxKUxxq0LXcACQyLsjO6KjSEiDfHDz0S0CLSxlFKd2g7MTDudGd+bMAQCxJucuXfuu+fcO/PeYwzDALVoNMqRuI3guq7rR4g/SEBC/Svxc8T3EUTD4bCGTcZQAUI+RvxLr9d70u/3o6KiAm63G3Qtn89DFEUkk0lks9lRkrvW3t6e2lCgRZFI5F0ikaDtjN1MVVVjYmLCGBoa6qccC7Z1kQafz4f/WSAQAGlyaXOOpQ+SNNUymQxcLhc4joPD4TBzkiRBEASkUimEQiGzdlcBlmWRy+WgKIr5Xi6XUSgUUCwWzTVN+IAzeOOde71orP0eAaOkbrDWf6Cw2+3mBLSYgny3KULXPOUY2BUB/hMd4IOn8XfhMGYjvU+2TECLLRLDMNA0zYw5JYa6Ghke/hyEn9/gZEqo3OuHp7qW3yJgESjoNPSdlb8gWCOCr29BMT0Ip5tBYnIWqlL6o8irzVsEaHcKSqQCen4cweok+FAblNRz2JxlODx1cEkzGWmVbTl7Z/jHhgCF1Z3GYjIKf+U8+ANhQn4Gm6OMUiGI9MhHg5Gl1sbu8UnKNc8B7Ui3ipxEcwvlpVFw6hz2N1xGabkXdqeBYqEOmfefEZWac4e6xz9Z22hbn+BmLBZbi8fjEBdG4NF/QdUDSM88hQ4FawKJR6cxLDZl86qzZdtdoDYwMBAkQg/2LL/ovNLVh++Dd7G0OAau9hTkrKgnnE39GW3f/Z6enpUdBSx7ePu4eq+zi4VNw+TbV0gsxFd5b9X5i4+mpnY63tsErl6okhvrfWzT0SAMR3FMXsnean08Pb/b/fgHqpjCspi90kkAAAAASUVORK5CYII=") no-repeat scroll 2px bottom; padding-left:22px;} +#content p a[href*="&schema="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFOSURBVDjLtVK7SgNRED0b9iuM2lr4QK1DQIyk0FZsJAj+gH+ilRZb2NjaRHTLmA9QFKz9huzm7t37Hu+u7IJgQjR6YLjDzOXMmcMERIR5EE5qXA4z4sqACYWEC5wfLQXf/WtMIuDSoL0A7DZDjBj/uYI0l8jzEEJYJMkvCEZM4PqZIxlzpGk+kSCY18TGtGYcx9Tv96dOqBUMBgNyzsFaC621312Ac+59yJFlGRhj5VvVoigKvniglEK32w1mkd3r9ejPPAjOhqdknYX18p1/rzo3pYqTh0OSRkJI5UMgPn4s61sX66SkhtEGcISGsQad5gH2FvehfV5BaIF2cwet5RZyKeu68pe5ubKG7dUNP5AQGltMN57Mosgr5EIiVQmYGvtc1PVicqHY+dXpk8Dg7v22XKFo1ARe9v1bDOlXKKKCs4Sn1xdU1v3vIc2CD3bN4xJjfJWvAAAAAElFTkSuQmCC") no-repeat scroll 2px bottom; padding-left:22px;} +#content p a[href*="&privileges="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGnSURBVDjLxVM9T8JQFD2lBRQRFPAjEhIwXRgwEUjERRMnZPYXuPoHSJz8BQ7+BCcHJzZHiST4MWC0fsQBJUKCEQnGWihtfa/QBgK6MHiT2/tu3+1559x3y2iahlHMghFtZACuUqmkSdyiiaqqoJJo7HVFUQZi1w+Zcrnc9vl8LAXo7YexHhaNdaFQUDiSsFarFftXClriJz4eTqHJX7DMhDEbiiDlfALP80if1CFKLYjfxCUZR9s8ZcByvadG7w/QLl/guVRC8U2Etnutv5dlGXvr44S+3ZRFjcrgjEQvnFvG2pIfGzYOZ5c3KLCsWZjNZvual0wmOwD0oX/cVnFeXQDHfcDpcuGqtYJaTQKcHYBEImGebrDuY1AvPWImtIhjLoraSwtjHhvmv17Nwnw+/zcD/0QDt+9TUD1TmJ6zQWpImFTfyM64XhiLxdAr17h2E2Bnc9XcEEURzWaTFARM2na7HW63+3eAEul8tVqF1+tFMBiEw+EYmDpBEFAsFhEIBBCJRHQAhgyDQEDCFCgejzO5XE4bNn2Gp1IpJpPJaF05d8y//40/Nlww9OOVWvkAAAAASUVORK5CYII=") no-repeat scroll 2px bottom; padding-left:22px;} + +#content p a[href*="&event="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJlSURBVDjLpZNbaM9hGMc/v8NsTqF2yMhZKIexmpFyRZIiblwouZDauLYoTVEryg2uXIoIOUU5zJkh4e9QDmtJbWxrbUzz/72/9/m6+P3HLslbT9/3ufm+n/f7Pm8gif9ZMcDxe717JLZ62UQzwxukZnhveBOptyHl8anwZk/3b5pZEwOYtGNDzejSfzm58dTH+b8JvFkpwMizdSCBT8E8OJftkzy4BPIOnONHQzPO+eIhBoM5CCrLwNKslBZM8uDykCbwtgMAl/o/GXhvBYMA2rtAlpGYZSR+UIGKCgCSggGSOHy1Q/0DTifufZUknbr/RZJ0+mHWn3mU9edbMu3qG9DmQ08lKSNw3jCJOIKzjzqJopBzLZ3EEVx40smDr/u4e96QGUXPGpkzYQSJywjCwSsIiKOADUvKiUNYX1tOUQhra8oJg4hZ02cQhhGrqyuyp03tTwbOGzKIQ7j8rIsn3Qd4fEVIIn6+kzAMaH35Fn37wbZD68gnCUl+EbAkI3CpIYmiCNZUlwEwbfIUgiBg1cIyJqbzGFPiWbl8GXUb66mqnkrJ2IvUbq88GEI2dQBRGHDjZTcAbZ8+ERDQnOvm+fszVM1egA89C8avwAeO2nlLAeqRxK7j79TzPa/mXJck6darTG8XdM3uhbry+piGrou5I1pcP17h7wwk5k4aRUfPANMrhtP2pZ8J44bx7nMfff29vGl/SNP1LQA0XdtCa2cO4GdhkPRg78kPVYm3kS71uNTjU8N5I/UpxSWracndZOn8ZVx6dZRhQcz9F3cAjgR/+51rt1c2AXXAaOA7cLTlcHvDL6y6kIpO9lqsAAAAAElFTkSuQmCC") no-repeat scroll 2px bottom; padding-left:22px;} +#content p a[href$="&view="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gEJFwohC2f85AAAAsxJREFUOMulk8tr3HUAxD+/1z5+u5smMYlmm6R1rTlEmrY0RKqtWMVWW6qtePBv8NaKUFGUgmBB9CJ48aIH8SKGBhGKKEIaPdgam0gTQ7Bm3U2zTbKPZrP7+32fHkqDx0LnNocZmGHGsdbyIHB5QPj/J8Vi8bDV8m0RtY5qGaeNMVijsdbiOF6cDDNXw47u8/l8/so9jXMvQqlU+lK0m6+LdjMRBAFCCBq1DYRU+L5P944OtIiRxtru/qHvhh7d8/K2QalUutysrx/zHEu5XGZl9TbWDUilsygDSimMbJGyEYVdAwB09g3MPTayb9RfXl7+RLTuHHOtYn5hkYHCCH5nAW0sUmmEVCiliIRisL8HWf8b0apj4qW9CvcL5+bSX6uNjcrD2gkYPTDG7zf+YWsrRinF9I8TWGt5Yvw4QioSgc+rx8e5uThPeWGGRrOt/Np6pa83v4ue3j4AlFBEsUDru+UBxEIihdwue7DwOKl0yPTlS77f0z9kMtmcp7XGdV2ymQRr1Qax1AwfeA6pNHEUEwvNYL4XYwxaa7Kd3QzsLlhnfm6mms11dOU6H8L3fep3WswuFFmrNu7ml4pYaKJwllv2Gk1RRciY8f7nGW7tEd7Zc28WNjcqB0W0heMFpNNJUgkPqRSbm1toY2lnZmj2/cYzB5/khf2naGf+ZerWNyyVVyqOtZbZ63/8EtVWDyV9j0xXby0Z5qJkmBGu5xuAcxOndr924kXHeA6nH3mPj+bO4OPy1beTkQ8wum//U9NXpi7drpRPhBtrXWEYkkikcIMEAGvNFQLTwUs7zwLw1t4JJosXgcnU9pSfPnzkla8//zRZbtRPR7E447ru0cB1soBTjdbTf1Z/4lrtB94d/Z4Pr58k5aYAIud+3jh2Ifhg53D4zpGRZxnuOsRi7VembvxMebH1sXO/dx67EFwE3gBywCbw2dX35fn/ANYEZmpcDQc/AAAAAElFTkSuQmCC") no-repeat scroll 2px bottom; padding-left:22px;} + +#content p a[href*="&refresh="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAI/SURBVDjLjZPbS9NhHMYH+zNidtCSQrqwQtY5y2QtT2QGrTZf13TkoYFlzsWa/tzcoR3cSc2xYUlGJfzAaIRltY0N12H5I+jaOxG8De+evhtdOP1hu3hv3sPzPO/z4SsBIPnfuvG8cbBlWiEVO5OUItA0VS8oxi9EdhXo+6yV3V3UGHRvVXHNfNv6zRfNuBZVoiFcB/3LdnQ8U+Gk+bhPVKB3qUOuf6/muaQR/qwDkZ9BRFdCmMr5EPz6BN7lMYylLGgNNaKqt3K0SKDnQ7us690t3rNsxeyvaUz+8OJpzo/QNzd8WTtcaQ7WlBmPvxhx1V2Pg7oDziIBimwwf3qAGWESkVwQ7owNujk1ztvk+cg4NnAUTT4FrrjqUKHdF9jxBfXr1rgjaSk4OlMcLrnOrJ7latxbL1V2lgvlbG9MtMTrMw1r1PImtfyn1n5q47TlBLf90n5NmalMtUdKZoyQMkLKlIGLjMyYhFpmlz3nGEVmFJlRZNaf7pIaEndM24XIjCOzjX9mm2S2JsqdkMYIqbB1j5C6yWzVk7YRFTsGFu7l+4nveExIA9aMCcOJh6DIoMigyOh+o4UryRWQOtIjaJtoziM1FD0mpE4uZcTc72gBaUyYKEI6khgqINXO3saR7kM8IZUVCRDS0Ucf+xFbCReQhr97MZ51wpWxYnhpCD3zOrT4lTisr+AJqVx0Fiiyr4/vhP4VyyMFIUWNqRrV96vWKXKckBoIqWzXYcoPDrUslDJoopuEVEpIB0sR+AuErIiZ6OqMKAAAAABJRU5ErkJggg==") no-repeat scroll 2px bottom; padding-left:22px;} + +#content p a[href*="&sql="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ5SURBVHjapFNLaxNRFP4mnZmQZtKYpJ2I8ZE0NSbSWKpgBYNUhIJQUDddCaILwb34C0RcCi60vpa14sZFoSjxUWxTFEubFkxf9kFS+7Jp0yQmM5mH905SF9pSwQt3vnPnnvPNd86cA13Xsds+23XKsdMdQx//s0z/6hi54he3e8/0d3ZuK0FTFGhUJkVVhSbLUAiq5IxSCQrBEkGWOu8Lh38HGrlpWnlXCKhNSbZQo3cEE9FomYAuKZstE2wFa8RR1cpKqK2o4JhxmLVJVAlh5Df6IFj5MgENcHq9EAMBg2RucBDVLpdxVon0iXdvIf8sQHRIsNReht3XjI3ZI8iuPAOrkDyorBq3G6vT08ikUuAsFiN46HkXXL56eI41QV1/BMF+GulvCfCMDFvNXtSIHrC0KDTPhXgc7lAQdQ2thk2XIpewnkzCJvTA4T8PabEbfDWD+ZFxyEUdX94sw6QVCkZlxWAQU+8/YGZgALV+v0HgbWmBNzQMR0M7it8fg+HWwQk2cLkkcvJh5NNFsCVJMgq1ubiE5o4OI5CS8FYrya8b9saLKC48gIlTIG/6sBaLw3PpHrTEMrSXr4kPIaAKFkbjSA0PEVuFlB+DO8Ah2HoB8tITVPE6iplDWOn7jLn0CSQevoDV6TI+zEpUASkkZzaTYrLIrH3C/qMCFEbE4th9OEQexfQBrPYP44d+DuY91eBp+1dGgFVIDb729kKpdJfQtIy2yFNMdN/E5McYzAebUEhOYjZuQXaj5+9W/nOYbl9vLN26doOFScVI9BXmZ6dy9jpnpO1O5dfsRtBxxlk4Xu9mT4Z80DkpVlhZvdp+d3RmpyH7JcAAnHiAVYWMsdkAAAAASUVORK5CYII=") no-repeat scroll 2px bottom; padding-left:24px;} + +table tbody input[name*="check"] {display:block; float:left;} + +table a[href*="&edit="][href*="&where"] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFUSURBVDjLrZM/SAJxGIZdWwuDlnCplkAEm1zkaIiGFFpyMIwGK5KGoK2lphDKkMDg3LLUSIJsSKhIi+684CokOtTiMizCGuzEU5K3vOEgKvtBDe/2Pc8H3x8NAM1fQlx4H9M3pcOWp6TXWmM8A7j0629v1nraiAVC0IrrwATKIgs5xyG5QiE+Z4iQdoeU2oAsnqCSO1NSTu+D9VhqRLD8nIB8F0Q2MgmJDyipCzjvYJkIfpN2UBLG8MpP4dxvQ3ZzGuyyBQ2H+AnOOCBd9aL6soh81A5hyYSGWyCFvxUcerqI4S+CvYVOFPMHxLAq8I3qdHVY5LbBhJzEsCrwutpRFBlUHy6wO2tEYtWAzLELPN2P03kjfj3luqDycV2F8AgefWbEnVqEHa2IznSD6BdsVDNStB0lfh0FPoQjdx8RrAqGzC0YprSgxzsUMOY2bf37N/6Ud1Vc9yYcH50CAAAAAElFTkSuQmCC") no-repeat scroll right bottom; padding-right:18px;} + +table input + a[href*="&edit="][href*="&where"] {width:0; float:left; display:block; height:16px; overflow:hidden; text-decoration:none; padding:0 0 0 18px; background-position:2px bottom;} + +table thead #all-page + a {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFUSURBVDjLrZM/SAJxGIZdWwuDlnCplkAEm1zkaIiGFFpyMIwGK5KGoK2lphDKkMDg3LLUSIJsSKhIi+684CokOtTiMizCGuzEU5K3vOEgKvtBDe/2Pc8H3x8NAM1fQlx4H9M3pcOWp6TXWmM8A7j0629v1nraiAVC0IrrwATKIgs5xyG5QiE+Z4iQdoeU2oAsnqCSO1NSTu+D9VhqRLD8nIB8F0Q2MgmJDyipCzjvYJkIfpN2UBLG8MpP4dxvQ3ZzGuyyBQ2H+AnOOCBd9aL6soh81A5hyYSGWyCFvxUcerqI4S+CvYVOFPMHxLAq8I3qdHVY5LbBhJzEsCrwutpRFBlUHy6wO2tEYtWAzLELPN2P03kjfj3luqDycV2F8AgefWbEnVqEHa2IznSD6BdsVDNStB0lfh0FPoQjdx8RrAqGzC0YprSgxzsUMOY2bf37N/6Ud1Vc9yYcH50CAAAAAElFTkSuQmCC") no-repeat scroll right bottom; padding-right:18px;} +table thead #all-page + a {width:0; display:inline-block; height:16px; overflow:hidden; text-decoration:none; padding:0 0 0 16px;} +table td:first-child {white-space:nowrap;} + +input[name="delete"], input[name="drop"] {background:transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHSSURBVHjapFM5bsJQEB2zSIDFJrHYpEtyAyoKJAp6CrqIkBPkNDlBAKXjBEgUpKOBCyQNijFiEZvZl8z7wsjESYpkpNFfPO/Nmz9j6Xg80n/M9fWi3W7fMOnd4XAo8qogAbvO5xKvL6lU6s0aL1kVMDjP5ye/36+Gw2FyOp3EQFqtVtTr9WixWHT5/JhOp6s2ghP4ORaLyaFQiGazGa3Xa0HgdrvJ6/WSpmk0Go0MjnvIZDLVM0Gr1brm/WskEkkA3O/3abvdQjq5XC6xgoiVka7rNB6PNT6ns9nsu+OkpODxeBLBYJAGgwHt9/uzQ8Vms6Hdbie+KYqC+ASTFrARBMx2HwgEaDKZiHqn0yktl0uxtzrMMAyKx+MCc+4Cs13hwQCC1GQy+W3Lms2mUIUygbEqEBLNun8z8zswVgUfLO0WD4Z6kekn8/l8okNM8GFVUMYDoVWQ6HA4bEAzoyzL1O12kbRsJajwhYZhiUajJEnShWSAQaqqKnU6HahEGysXg9RoNPJ8+cwZZLSKp47m8/k5Kxzg4XBocNxDLper2ka5Xq+LUeatilahJLN1mEJ+ZDHKJthGAKvVauJnYi9ysHIqQee1xOsLg3/+mf5inwIMAJMhb74NwG5wAAAAAElFTkSuQmCC") no-repeat scroll left center; padding:1px 5px 1px 18px; border:0; cursor:pointer; font-size:.9em;} +input[name="delete"]:hover, input[name="drop"]:hover {color:red; background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJdSURBVDjLpZP7S1NhGMf9W7YfogSJboSEUVCY8zJ31trcps6zTI9bLGJpjp1hmkGNxVz4Q6ildtXKXzJNbJRaRmrXoeWx8tJOTWptnrNryre5YCYuI3rh+8vL+/m8PA/PkwIg5X+y5mJWrxfOUBXm91QZM6UluUmthntHqplxUml2lciF6wrmdHriI0Wx3xw2hAediLwZRWRkCPzdDswaSvGqkGCfq8VEUsEyPF1O8Qu3O7A09RbRvjuIttsRbT6HHzebsDjcB4/JgFFlNv9MnkmsEszodIIY7Oaut2OJcSF68Qx8dgv8tmqEL1gQaaARtp5A+N4NzB0lMXxon/uxbI8gIYjB9HytGYuusfiPIQcN71kjgnW6VeFOkgh3XcHLvAwMSDPohOADdYQJdF1FtLMZPmslvhZJk2ahkgRvq4HHUoWHRDqTEDDl2mDkfheiDgt8pw340/EocuClCuFvboQzb0cwIZgki4KhzlaE6w0InipbVzBfqoK/qRH94i0rgokSFeO11iBkp8EdV8cfJo0yD75aE2ZNRvSJ0lZKcBXLaUYmQrCzDT6tDN5SyRqYlWeDLZAg0H4JQ+Jt6M3atNLE10VSwQsN4Z6r0CBwqzXesHmV+BeoyAUri8EyMfi2FowXS5dhd7doo2DVII0V5BAjigP89GEVAtda8b2ehodU4rNaAW+dGfzlFkyo89GTlcrHYCLpKD+V7yeeHNzLjkp24Uu1Ed6G8/F8qjqGRzlbl2H2dzjpMg1KdwsHxOlmJ7GTeZC/nesXbeZ6c9OYnuxUc3fmBuFft/Ff8xMd0s65SXIb/gAAAABJRU5ErkJggg==")} + +input[name="logout"] {background:transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJHSURBVDjLlZPNi81hFMc/z7137p1mTCFvNZfGSzLIWNjZKRvFRoqNhRCSYm8xS3+AxRRZ2JAFJWJHSQqTQkbEzYwIM+6Yid/znJfH4prLXShOnb6r8/nWOd8Tcs78bz0/f+KMu50y05nK/wy+uHDylbutqS5extvGcxaWqtoGDA8PZ3dnrs2srQc2Zko41UXLmLdyDW5OfvsUkUgbYGbU63UAQggdmvMzFmzZCgTi7CQmkZwdEaX0JwDgTnGbTCaE0G4zw80omhPI92lcEtkNkdgJCCHwJX7mZvNaB0A14SaYJlwTrpHsTkoFlV1nt2c3x5YYo1/vM9A/gKpxdfwyu/v3teCayKq4JEwT5EB2R6WgYmrs2bYbcUNNUVfEhIfFYy69uci+1fuRX84mkawFSxd/4nVWUopUVIykwlQxRTJBTIDA4Pp1jBZPuNW4wUAPmCqWIn29X1k4f5Ku8g9mpKCkakRLVEs1auVuauVuyqHMo8ejNCe+sWPVTkQKXCMmkeZUmUZjETF1tc6ooly+fgUVw9So1/tRN6YnZji46QghBFKKuAouERNhMlbAHZFE6e7pB+He8MMw+GGI4xtOMf1+lsl3TQ4NHf19BSlaO1DB9BfMHdX0O0iqSgiBbJkjm491hClJbA1LxCURgpPzXwAHhg63necAIi3XngXLcRU0fof8ETMljIyM5LGxMcbHxzvy/6fuXdWgt6+PWncv1e4euqo1ZmabvHs5+jn8yzufO7hiiZmuNpNBM13rbvVSpbrXJE7/BMkHtU9jFIC/AAAAAElFTkSuQmCC") no-repeat scroll right center; padding:1px 22px 1px 5px; border:0; cursor:pointer; font-size:.9em;} +input[name="logout"]:hover {color:red;} \ No newline at end of file diff --git a/sources/with_root_access/index.php b/sources/with_root_access/index.php new file mode 100644 index 0000000..2759eb7 --- /dev/null +++ b/sources/with_root_access/index.php @@ -0,0 +1,827 @@ +S8LJt.M ϋ`'C889 Q2#8А6mjh<9/:J)ʂ\0d>!\0Zvno(k7s> !R\"*nS\0@P\"(#[@g ozn9k8n1I* =n0c(;à!*c>ΎE7DLJ1J=1L?s=#`3\$4uȱzGC YAt?;Qk&YPuǯ}UaHV%G;slڴIH3xw0t6%MR%jhB<\0AQ-ʈ QH\nvL+væ<\rv\\*Ӵݢgn˩ TЩ2P\rߋ\"+z8:#2J[i;zr3 #ى:n\r㽃epdݍ 2c4k\rGE6_=SZUǷ㌞O?þ27cАhnƋu3E>\$J[q[\rI6.J\"EPrG̊GAW\r6k`.-B2>#hXu\r=Z bŁ(╃!JZȔuyOZM6lM[0䖀!Imy+p#agvW:qp\"4he0dAq-\" \"2 @)o,,Rb`@B@Q\n芷Z™=(r~l~hsAll\n7!1 !#\0KALH(!ʘagH\0T\ni/\$4GaI!.Ř5M\r2 ;,LIJd?%Ո:N@b.25t: FAwBE,-\$':өu?tK;ḱи\0ouMD)k_Ph5MC}72w.QB8)8(DI=y`ed\0s,`ɕjH\"(b\\nl\"ق^쀭eE\nX!SqX\r7A0y7pPaA4(yJwm2.󉆬fp;Ƅ5JcqQz\\\0[H  3f'bFY\nA9_I(fӝqV4RIY&JF}{FTh9[7h\0 T^jqjՔcWI@`_sVD[\"{13 <ll.[#įbu/\03va嫑Dp>2 IDW՚kKAhH]FW!]ʝltɕR̭4L[YC cTjN}~OҙBlj/KHdch-˾/ȶhԞ0ЌЋH8j6\n+d l7\r څ0N7eZ0`mnp\0\0}@[i0 ~4P\nАbЯ0p P4@ P I\0``f\r```Yz P\r p y Hq@  Qq ` biUС @`) )Zpj(--l1Q%pY\n1}\\*h{C0#H0TqA b=…f- q iAs'QZ\rRc'`q YQ1ҝ2!r\"Q1 Q!qr\0BDw\0q\$S\"]q@`豲@,\"r\")&&\ntbm02)Qw\n p(0*Ҏq\n&i\n \"p1C\".1y.q^ 2\0.Q0r)/\0ڔ!/.S+1R/3:5Ɲ11\nB43 4G#〜`Sa ra6es7q,搩j3q4)\$ @*-9\n\"0',hS}\"3ss917S-=1g4 .4LD;@2!A@Br-/+016S#)\"Ži@`P;.\n<)ԱV\nl8K#gkd|8l.lf.?A@\rÆ.\$J2tN#RrAEEeFFӦg8*");}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");echo +lzw_decompress("f:gCI\n0S a9S`&(n0QIf\$At^ sGtf6ey()LSP'R'fq]\"s> )`H2Eq9?*)t'ϧ\n \rs2WŅbDj:9[21cȝ:X@q#4L'J+DHe3.OK˰pVt2wp; Ɠ\r?OzDq.-\"ZcX3!/>PFsɲ0(ʣT63sVQoSΑb߅^r\$@C r2) V)+nܷzl{K#9{ۯlmQh*ɗP:c]7=Li;2<\\Jbnn_iӴJ\nC:`N4̖'Aw:4}ۣW\080L3J;i)\\=/Nu=ZV6&ceap.[vtPZX`֔+z'9.\$\$@\n\r]_ٮhkkMs>`̖j%\\9ж(' j A>BCd\"K\$ CA .².`.E洖yy\0D28t 68 FLB*,|\nx\\@@3r WKQb,%DBfȳD|͌E0/2>Y!Ć'`fmH<BB0\r*\0Gx n Y4,L%S,v0 XQ1HId`!.V H/×H0U0™`LI8k24JYN&8xJk:AK㝡nW!I;' \":24~J8ᒑG\"M=\rZ'ni9FrRt 3\0Ҳ2yB^b'zɲ(#d9It&WjNaC( jĖ?hjքZ\$0үJ A_\n!TO4<{a?o -?Hl\"2y=먞Rф͊P&G4%()\r5MLT\0xBI=ltv2Jhv~/:p:8\"д50#*7\nq>G\$ ): \"#KfI!v+?{Qg{RQC}#iIbgX}`}3%@{_k}0ȗp!a<7e F?XD, CkUL>1܇p0#\$V)pYs5A:U(95,F+&*{-::7:ʙyPX+\nI;\\sP1 rNJAT'-k?Y@fb񎒔RJimB~K\rKt4;OKc9% H5d3e8jP[s9,ĘbzKW&ed8)uP> # P&P pbaͨy\$3}{hy(dW_:'A؂PI\"![`n8i/@P fЎ冩V sC8 NyhtEnAj.-6qwJ ?ùAhu sAO7j\n ] 0^ \nY \$Ζ_\r\$u*ޡEx/dpdRd:IoDsQfI8,KIsM@aq\n/MRC-aa/H!4FIpŔMϫ_؇H9{.\$W#{Ү:S('lMY:lʞmD\$\0\0'~ Z@ VL\"jn5NlKfj&M OdbӰNO\$i)N (!P)0+6HpNFЖ?L\n-h0,.e\"6m# o&gZ@Pk&̺_%\\\\'\0]\$(5N fq|p ` k@a\r_\"b6] ED Q^)ș @PsITr vT\0VRW@ iR2/b,Xr j^0kClfl'8EoWImp룶/&+Xk.\\4 0dr\"kb\nH\$ТKCoOo G%\rύl  ]P7\"* hP P\rc_X[` 7:`UߨIwd; x t8d \0 @jwv { b pcy\n, u< \"uyE:Z`<LF2cwSd%uwu߀#pqNNN\n#@E#\"@|d%kwc\"*x w\0uX.l&XeMB'@6Ch»`SwGӈC[V1\rb\"\n\0\n`J+a1\"lW}z]zjdO>!G\0[\\F| ^\0ZJ`b`#5`WE;(!``\"~EߒghVGr_ujQ*d'2g/-\nh^ da)וE:HhvE vsB9w\0MWNL 3-=#@%D!XL*V;1ǘMkX؁&r<[%Ue qWW#\$蝌lIVAW_GVF\"&f(odV1*wr0F\"HvT qhw*@s.0g81_z f A)+1u&b\nVoNj\nEĆC 3 G\0 ep <~B^ A%/9;v\\[Hl ^UӞh.\\Y}+ YtqƉ6\ns\0c:3*}7z\$d\\\" WY+Ie\0S9Dt[rךC֩b~馳Dw/lL`~ UV_\0\rw)b Ʀ8G% WU Av(HFgXcn92n12l\r?\"t\0XPsYmfF?mx5}H_XcyκC.\$`kd5.rx>Ǣ7sn3<gO(\\@W:Pσ{_FhgL Ӡ><6~'K0?@EA_ 8 H.LG< d YokF< p(j\$9?V P?)ؤDuLbj} \0Kp7ZsԀD)\r:JQ֓} \$bAu)\"XM%pQPQ\$@\\\0V7TMX*#)G\\KM0= J&`\"x _ bB`C?/ŪBUu83NR_ ]NTܿDwI\n2 D:Y q1`BF!]W5,:1(0tQF  p7'!\"@80`7\rhC\nXӡ\rAC m Q&l&|cLd\"#\"PK56Hʄbʗ&+#fV/Sh(Tdu <=xd8:m !68,JP~RPDZuO`0XAwأ0eh^C\$ 8AP(#+KN4%\nB> 2%{0Ƌ0ϟ/z P ʚ @gDzDԊY॓4,%l 3WULr[9HgT`@7\rN O+D>I(bL}\$Dž IXBҞ(4!h!E \"w\"0qJ\0UPF\0o_\0cЄ\ng\0T}\0#/tXJBKK/@\0y PIvA1i pm@؄y 93HY2!`/̹%.fKx:XO.}L[G&eIaKb琔%OB8l҈>(M CA;oK+%yĀ%|\"#hGD\$ fBMdC\\ֱLT(q\0.P\n ZUjg[#P@ǔr8myMQ6\$sDָ`!8:4ф,ap'FE28MmD2@.U]!5I_\n'(iuPKp9@LH)XPWv\rD']!0B#R:D.\nX8H\rs^0˿+9Sb0\nB7at y< |&#g@5qDȂ\0/ A⿧\"&1fF|g5\\rrIJ'2PJs鍞li\nRyCa9ߔNp\"'H7͈3MTRdBRp|z:1Ph)(h[BPƈҞ^\0\$:6KB(Ҙ\$\rx[BGH 6cn8 \\ \nYi\rd\nU߄\$;.ˇ*_\n=Qy\n< 9OxF}\rF%M4\"0\0f(d3a\0p0`H꤉Dպd3YICx+?Yi ?1 flCFP[BS@!Ln#su\"Z\0:r|t],7)1-4&Y` Z7p奦ʛ@ӽ -hN-֛ iJ0ҝ3Xj9*.T7I`@{`neQ@)`B\"h0+Z>K*YSjDRI 0\nji\r:>VeapU )G2trTw 5pf#um3f`8KI& Fmv\09tP1~\$A\0S5'Eyz5qW\$-_KEyҽq!@kTlʓ e'\\\\cgi_5\0zViB[]8\n+]:Ӱؓ\"'nW} Q.IXn|BŃ]kl9aSuʅv -ay`{b]L Se b|)Y:ncS9k7]5Y]ŝU CsBC|gЋt98Ոt6]l׷.mᩖ 8kU y^|y@*ތ1\$ *']f7H1y0}j!彡cV+5}d8U=ޱꯛzۘF@o3_fa)~`!iG]E&Bl΁Φ#}\0ȑ63\rTnk] \$;Qjn:ZZbZ&@g 3B\$g\nd5M/Ku{#]ssqfuQ3 Tvc\\Muk#eBQOD%Y<_6b !T.]>\0u=~pGV 6@'U0ˊ|7EQ\n\0W,7.ᣰ(%bà MU|-hS+9nAQ3 jD|6ͮgJrXnXN)|MpRc&\rMCyzk\"dCPG.?yi1JCl^\"9Y ~q18#0) _Blャ8eC,̄A]NCkki(p= ڕ Ѓ\0A\\m=ʙh 1iM[ ի_q%!rO}MG5%q.i^GfYi/dlLR0z2̷\r\\gF n tfi_e͢RD@KiXp];6o\"A%97F.ˣZuEks\$ycf[-s8P4\05afث@noZRڡH.ub5٢ȳKiDFݍ-Nfp?H!ꡈyjs\\e .]lpw^;\",h~Iȫ9,a:jF7Gg38?JbH+lW\0cֹWh SEs%Wc:X;-DF(֭64Ts3)Bj[fn:A@\$ն Z&sW KUؗO2hZvϻtҎtCVwJͩF^,p?L \$8Es|D4(q)'NWuG.` 7[B/]'z1ƉQEƒs:P<X5L\0}gX\nz¸=Y>yѬͳɖ9e{ikS3ͬ)[sCy-a=CK2K!Fe\rܡH#gYubTBC# =:˩\0o4u@]N`V8OU2xX?q^Ng ɋN8BlMTU)Dy\ru;cQ5ugA&\\yx6./]8 2PE>7u)Œ)3|M81w`\"zeR8 y+]9\0IJa1Wj>lu=,Uy8'4rt-_xWSMdPuu kaP=gHB\$\\\\5ēÙ+[+W GSB9pt drr!n^\r˖*튼E:v-/319r vBͽg`9o^\\J1 X\\#(sm؏L5\\SREODPlN\nP\\hBd#P\"9݈FSK9\"0f,9tg}zɪ&6M-F)uIIX_FppH\\#wNjb\"ml?\"\0DIIP P ݀V0\0DRep !γF!9A\"*BObb%bg'+K٣12SZV-m12Bt!=?\\o\02;\\ė\$]+4ٴ8owa'A&o8\n ]H[ZO i8c w\nf*j=yyco\nIyRL\"ݫ\0]Oe7/r`9Ingyh ! ێ?ˁNWw ƑهG_\\u#ma݂ZOY>'>u)0#SA.zpeB>[vi*vOX;Hf0R ");}elseif($_GET["file"]=="jush.js"){header("Content-Type: text/javascript; charset=utf-8");echo +lzw_decompress("v0F==FS _6MƳr:ECIo:CXc\r؄J(:=Ea28x?'iSANNxsNBVl0S Ul(D|҄P>E㩶yH ch-3Eb bpEp9.~\n?Kbiw|`d.x8EN!23\rYy6GFmY8o7\n\r0\0Dbc!Q7Шd8~N)Eг`Ns`S)O /<x9o3n2!r:;+9CȨ\n<`b\\?`4\r#`8\$c1cc{n7ANRLi\r1!( j´+62X8+.\r!xh' 6S\0RO\n1(W07q:NE:68n+մ5_(s\r /m6P@EQ9\nV-\".:J8weq|؇X]Y XezW 7Z1hQfuj4Z{p\\AUJ<k@ɍ@}&L7 UwuYh2@u P7Ah3 ÛXEͅZ]l@Mplv) HWy>Y-Y/hC[*F#~!`\r#0PC˝f \\^%B<\\fޱ&/OL\\jFjZ1\\:ƴ>NXaFAfh{\"s\n64?8^p\"띰ȸ\\e(PNq[gr&}PhW*r_sPh\nom#.\0@pdW \$ҺQ۽Tl0 HdH)ۏ )PHgUBe\rt:\0)\"t,[(DO\nR8!Ƭ֚lAV4hSq<@}gK]]=90'wA<a~WD|A2XU2yŊ=p)\0P sn3rf\0FvG I@%+_I` \r.NKI[ʖSJaUfSzM %\"Q|9Bcaq\08#Zle5#U@iUG‚n%Ұs;gxLpP?BQ\\b 龒Q=7:ݡQ\r:t:y( \nd)\nX;CaA\rPGH!@9\n\nAl~HV\nsիƯbBr3\rP% ф\r}b/Α\$5PC\"wB_UgAt夅^QUjBvh졄4) +)lj-&`9qPy6\r.y&ảE80kAVT7px)ޡ~M΁!EtP\\ϗm~cB\\\nmv{9`G[~xsL\\IXwy\nuSc1?A*{ Ϳ|9޾/E4/W[ȳ>] rv~B PB`TH>0B)>N!4\"xW-X)0BhA0J2P@>AA)SnnOQbrҦh@ȋ(\nF˜ϖƙ(γP\0No}lVԍp8%2>B m @G(s\$d̜v\"pw6}(V KˠKL ¾W q\r̤ʀQL%PdJHNxK:\n %fn%ҌDM [#T\rr.LL&W/>h6 @E LPvC6O:Yh^ mn6nj>7`z `N\\j\rg\ri2I\$\"@[`hM3q3d \0ֵys\$ `D\$\0QOf1&\"~0 ` \"@ZG) Y:SD.S%͈3 dmU5 .p2Q3VذWBDt Cq#C@IPDT_D:Qf-WX\rpUDt&7@? }O122#UK*)긋0o<>]HƿrLGNW%M^9X:ɥNsE@xy(HƙMd5<52B k!>\r^J`ISN4'ƚ**`>`|0,DJFxb 4lTؕ[[\\Ԡ\\{6\\ޖ (#mJԣ,`IJխl jj֟?֣kGkT9]3ohuJW\rk)\03@x,- 5B=࣐#gf&Z`#o Xf\r Jh5rqnz s,6otDybhCtn9n`X&\r'tpL7Η&lZ-w{ r@iUzM{rxאmSB\r@ H*BD.7(3XCV ʘɆ:6;ZX0 ̢#cMyUi2,qF˚bJ @gG|4gmzW )r|X`Scէ˙c!B/}{4J\0Ýn Kuz @mѮ߭y͞y\")uY睘scy둶y7||{Ϙ*)4Y`ϵ[v^NXW7;_*x\r߼߉xm+m \$\nl);|٠ڙ:N:_8NU5;p+UL \\9 O:IzQT)XGJ{w8ʼnU\$PxTYpjhJÀJ{@ǂZsh˘X\0ۖlӖθY}^@u2S#U;È|P\\#|<\\J۝,\\̚E]Wl,ɖ<Ό>Yn),ΙrԼ⍺] \$qDJ=XI-ŀallõ]\\w(iC׃tkRu\\+>)3PP6M%pԌ A3qmu2fzۯ4s `ێ-kS%6\"IT5~\"Ut_ TuvֽYw0I7L\$1M?e@3q{,\"&ViI?mUWR\"uiTuqj\"G(-By5c? wT`eiJtbgU3@~+\0MG7`\0_- ?\rV?FO6`\noϚIn*pe\"T{[Гp^\nlh@l0[/p oJKX<=9{Ǿ6!OQx{ZVFԎ`~IߖL)Q[TMT*BC~ \ngÈŅp9zKwzO9di^'+Dz4gHALy\nr/%|ȅ̒ގ\$)1P30(\r+\nZ z))\0*\0k2υ(E86stf& +;76&K_(9f,@-4l\$ۂe7\0:lLM7.\0 |oJ۩Zu̺'y{H,#\0vU@9! '&G@_-ٿt;:uDPUцjH 9FBcCiBwMtx PM?p=8lg~ta%]b\$\rra,6tW)\0UF |쓢vhQ*Ol.C\$\\ցRR[j[] KRJ>.;F=Rڌ<rM=Ԓh^Y\\Rmn Nn*gB5^Q҉@OxHIT9)(&}A)P\\/_!́Hڑ\0B\$z4TYuJv\0ꏃ%@32\0Sm--Gi@Q%jY+FuzlSW3ŷOrU\$E;M\\Աu/jeQ,#JXPZfSفfWJ V\$EukKP[\r\n_q}L}eMm u4V݇RZ܈\r k\r]a)`XBv02ۑ^;t=\"kaYB8J_k)f;FU`GWNw,\r q)\n( eR53\\NW®EؚS5B;W4J %]5Apm ܂߁\$.-K!sCEt+D;7 ON˲cjOPKFO\0(|k *YD5;s@6@QU\"\rb?XJvnAHoPS\$T pbj1+f3&@ʀQw8@ ;\\㬈ĉNxb#Y`:kB8NoS(#Uݩ(Y;:eĹkn eXZMi&\r^d\"W\r~[aV' (#Y\0}`W. u|4V*W޲l:mn\\ \re/ikm֚UE0#j [pD/^hfWςL\r_ᬹ-TX[*qn\n2*ǖJ\"YvQT2I߷=DG KXK\"E)\nYm4!}K_ D@wm( \$@\$Aj+\\4ZİvdSmX!ho!F0lUz8Xn#\\͈_\"˘` HB]3\"z0)7\\w.fy޻(  p0\0XS6+ *\\Q\r\"0dD c<6P3f VD~ 9b\\I,~\rxs\0aK8CE+Tl#׸V\0|>\$hG8XI@\nT\$9,Bt/u@s8B7syՙ,]Dy5neμ9)j^\n78Y<Uefu99\"^֍75ui'@h]L9^ס:D9̊0db칗6Ͷn7s\0_2z ٝ72NQ/3A: tH=D=y?i8SȢ]פgCIh~Pt F^u54;Fu\"+y?\0ֈ:ʘu\r<<w:*:j:-Ѓ8I \\u%J*wSԾc3;yK6HKmuiLT%N:NΑy\rbfuY= uE34ڭWN>m In x&Є' \0sok_Rz^{u}7zBF-diYYe 9kCHn'€ז5{_:?65\rg/`ZLӖtѱ -q飐|\"G\rmdsX\$xe^nPI *\0G6JQ/hV[l\n(Esqr %\0ȕtfw)qdY8H)<{a)E@@Ṡ zWP!g\0ux;Ȝ @8)|ĄJ.Һs{\n[Cվ\\⸢~`<g\0zΖ2ts\ro\\Ž\nmLnu-Il\0vy> Lw1;nel5`œ럋2@:Ld\0\$ÖU>]l\\)\$C\nQL B}{1׾ ;t#? {L%1O/vSMe Cכ\n˯L<#@b?tM2t*^(,;́7ؙ[y?x+3Aucg}3D-\$t\\g\n\$\n*:(QXd~02x%G=-:;CpoS}ITQO|#prZ\0ڐdu7H/6M0=G@ *#'ˑGGMؒ:\$4ľG0<ܙ&A (ŢbͶG\"y@Dž\\+縈>X@ĺ c3 <+ d(€?!+¼WQOzkAݏ3Q\n!e'9=痌YKөK\"ԦEvq/o^ 8DEG;8\"o7PdE݉\rܼ8{ED} (.ܚ\004\\=2?Hv~(ex=~#>SlAy S|2FA}l,Cl5b}ltUfW6AgW%:g%b*ߥĿ̦y8.fI-ne z}fQ};%}e0xBR:> `e[z}{>Ϸ}g_p UiUZʶV؝D<;Cb;ŕ E|O-~3wK\0tg!~csV}²p+M?WNc\rmL,l{e(r`a!'}(Y1U?toF!Ո h|T\$BopXhX\\~가iǀ,dXJ:pmЁAm!( h@:\0u0\"6,u0K69p>\"\0(>ey1xY\0xBnĀ#À7@@B* \03ѿNX+?6H:,?\n*#Ԙ!=f[;á |L]q[႖N\r%k P0'<6(DAOBnt/Zr뻏!1^ϡI/uC !k֚K`\n\\+<IO^gD#c\0Z pX8*p3>\nNA, ;cءb\">%P!IKTJķH[Ć&pR<f\\ Kۍ̐(V;\0ڂy쵄!)0x(Pz@jo\". @=98!A `\rab69\0E\nk%BH!P`\n ߀*d&oT3%Sh\0B) 6B`R!623p\0ۏ6B69|@.p @>(V @\0*a/ܲT#&([+0h,O\0 χr\rc9\0Cϙb\0Ț9e/.C9hC.1D C:p8\"OY0=ؕO 5]\$/2C/Χ\r 7Cf.`9;+&ǃ\nA L\0002KoK?p\nCн 1t(=6ҿc ša\0lVHjnVk΃\n暢> pY<;lT:1bމĖO\0}n\\\n@Bn>\$# \n!̈́&A8BU&kg)P\rdE@X O;˧zbHBp> LB*Dq>tD`6\0,Iq\$DPJ !XDEb=KrD\\Cě|DR\\J8n1/DkLO\$(\n\\H:a'DJQ7E9I;=k\\FFD  SnE<bE8%PENLj E\0006;ļ0V6 %HU\nZ/X \0Y*᳻|V̼1dJsO[&2Z1 * \n=u1mA#h)Q_sH*]/ O۠=_>b=!C23pkc^L\0\0Ȇ8*x6\"@ Eoܑf;f.\";6ʎYX3Řn;븑q3,X8^ ׃\\.\0C(O+%P#Π\n? A=eÑAO\\]΂ۥ=ԁ!c)J>B#D4doHA\0:nƟx` 뗡5P 4\0>\0F%X!;\\f42';dMscY@3@8w\$? \n`ÏBN@ >u@(\n4P)\0#? o(\n`)p[#\nCQ\$u@ :\0'\08Gn<45f[3hc(H,8}!lrM7(r\\|J\rFIv n?\0(`':4pa=Tq!x͌^F֬aT9B\rzX)^z|TG@\0hW 1\$JrJ+\$1G\$kEBS4Dt\0[ĔQ\$rX\\0 5%lIc 2WS% rZ1[%I\rd'bBGIDQHɥ\$R\0l% ­.3eԜqIa%2tR] I'L+R{ɍ'dtI\$ 4XJ+KxD < &P,Rl\0Na`Ga<%Ӂ_Pč%\0005(BF\"'Ic9BDA xB1pRKF`!.,ì,\$K#ԫr˝(Ժ\"K圩˟* (\$!Y1Y1}%/.RK(R628+I3\$[.x!E%D\"_K[.ܳ!_ʸD,.t K.HI\n2\r\"(@6\".e\0#Ї %Z~\nnoLJ|c',1KyY1s(&yf#Ƴ-%i-ʣ--|’L<0R8Y,LR0(0l @*d2(̥*g6Q2\0,/MqHA3\$7L`\"M\"΀6L3;|+\"4>7,\0\$K 4,γ/Q,kbn@J0OR:B\0L!))4aOH#E.\\ղM`lH5I\0:Mq4sGLsaX\"UR&Wq.\$g@6@#eKiMDd؁#K@5sO+7PS͒\0Ƽ=87TM-5TP2a6MD+Bt\\M\r2DHdԂ|#Ԍ͚27I> CL@ SF3\0#P:4IK I#J7C/M-4e?Na 3 J?]JjsDr- \"LLΟ9CΦ#Э, )/Ӟ:(\n!퓱N܏\0'YMʷ;2N;rK.N3s8Y;s¹g<<2,\0#<2gO \$ҧ3-NSw=dK# ?O>\$<0O\$ӤO>pN#StJSO5?+bSO,sLJ\rOjSI#; O+|γ b1!;ɡ@ 4O@4O=\$O%0L-ُNI89\nL쌭NM:\\2@N9llϿ( =Ɠ!;ĊO<3PRMBcdV2L4pknP++>\n@Lq\0 \0,Q\\\n`[\"*Dж> zBT0:\0\ne \$rM4=l\nN)Cp480\0#J=@& 3\0*C6 \"`#> (Q\n81Ct3EC\n`(z?b7\0[QN>'\0x c鎨\n2Cp@&\08\0\n䴏O\0/A\0#@cPD TR\n>dBDTL Dt5PjpGAoQoG8,-rK#)9E5TQG4Ao\0>tMD8yRG@'PC RgIQJU)EmTZE'#cEqF za>)TQ3H#TLqIjM&CRh@\nTK\00006\0IπFE@'љFphS5F\"nѮM%aoS E) B\"eћD3hAF4tlJ\$CwHITKPt5QCRQJ{\04܏poSR]\$ǑD[J' 'V u\$\rRA@)ӷR3c-?܁#?0SF4QG59Q`G3QS\$xRSaoTEB͏?+hSHUQ]M K\n4CmS\0N;PO!\"RT9SFU5-UTH(ԇTV\0J5UNT8ZR@,R&T@Ǒ uK6>&tQsPe\$UO;%\0V` `\$Ԣ@1о?\$\nJ.9WmWpu'W?NR^PUsCSTR6TNGOS'5%V?%PnJuPcR`\\VN@'#b=oPF(8Y-uV-UԹ]CI8\\\nrW(TR?-P\$ Z3u些B`>\0E]T#L L)מ:@#G)4R;VmD%8)Ǖ^Q#h H@ Ny4#c XR'7`\\\nEQ`m]WNdV'Z\r5GXEjuTE9\0T-UBOPQ65_ xz#?-6TE-4\08\n X #D oRALm\r5eGN V64p\$a9NSaU?AU\n\"<9cufQ__0щ\0;CTIN2 ,SV=ػd=A+رJeӽQ5V\0E펖>Y1H@DYRYH~OcGTK>\"Ѿ\r/U܍&x?\n/׶>twѠ\0eq\$E \$?%-ىPegY}_-g׹E1Ye@0 {F\r!PMKv7Q-Q?(g\r\$Y=QAֳ_-;THWZ@(X'hD؀f*JUH!IL'ǃfh 4[R)i TX6iB!әg \0 G Q64>x\0!ڡBC>ݪQڙj8ՑTv(~>HCe֜7j3`PH23x Uk\n:OiUUA-xn=?CRMSQbx\0@ R\0=`)ZzKP]lͳvmMׇD\r4QsS41QsQĂnYhd A` gE\nX'ku-SOw」 S6ۙDNNlWݙ%lA\0+*KMClx &\0Q4֡Uml!o`\$\"3v|3;iՕџm+hL%6%Mu3QF4I&THժ\\FCTQWLJCQezB[`#ime!hӕ^sC%!Y+ӋJNtMkXJ>a e e|2/qSWr%\$X(-Wp'uE7rEV%v[?CVVe5IMDOQq2LvR23`,RptT>-\0^Դ\\8 Zs` \0rRRxu[UX׹DKTRA^}uSuX^xVTAVu>U\0hYb #[5bDhQ>Fۯ:NK<4%\0R?I! :K <].]P .ʃ\r8!oFjwPc}.T;`n{Pi^\$>+\0O%'\\õ36WyLH7#`@bK7y\r=0wyhB\0VoTgsW \0ڬH*R:z.^E7:Uz+0Yuf=UbX*\r\"\04D劷\n]_E\$?ELһkôy& ( Z{{m@&sJ֓Kpw!|eN})|/Z9Ӻ -V|u4E1NAo_REwӝ}=4=\$I>XGT 97I4= .@\r˱_ߒ%a\n\r#74b/π\n\\5AZ*&0,-a 7O*xE׾\rJ̷;\"J߅\06c,@J`/LLq|Sg~\nPCwãG>>\0L;8݈RnpP^7x߸ob3R0aBǁr٩Ft#`πc`v =9'߯y#3[qy>5{[ja)V@&@ܳm\n59 'Ѩ8\0EaAAɐ5Y_~^A& !`JOX)h \rBIyY(,ad<ۄ!BX\0ٴk=Myc\09\n?B.^Ct `D:d c8:rw dLu+<QxO73dܥYёr}d@0l`V:xP\rJz\$ܷaqyl9GI^b\n(6K]ݓ>SNoSN&ynS<: %;6TyIQ.SdV>#?J],Le+SґaqX9Pe%ybeaUUeNW9WWW9C^ cz#m@zMn^鮅^.\\FFE2rQ\\фl,\0\n9AVrNa``t@{?=8I50ypToXb*mы6dB\rb=\0:  .e9Xbw_w@\0kqwј|ByvpCs S%9Ml2w~!s&kY0\$/fkEtgC١M ?4O^!&刎g/f1=V aE:#yN`)`Np\\.\"BA qxV:a8yfsy7gygS&gY5;@c3tn]to/7og8`3\0 8m\0\"\0氉[X?qFSvB\nZ!AoC-y:NO^xz~.19kD8!CNnfh g\r\r(ipe߅<+#-ZdJjh6gAX Fh4dLhNZ9nxCPYhE~s`>Fk\n^}D )Zk,`ާz1Kcdluf> -ώ q #a囘hP`PhaP`8]\nւ`3a`8'|0c1\08\0\"ZXdhV/hYUhMg9NaYs`7g?!6snޓ.?VҢNdJf s pԤ\"K .D{^1JB#ciVx`<Sd÷f949/hyn?\\ސӿ]֐z9zz::)0Pօc|hV`h?dr2} ,O= yλ0I` =X7:_ɪzG8 dNjѠ\$Bo)2mnyK[Z{Y0Ãu\r/n\0NOiFRN:\rq>ɫ0@N*tKB[nTNphz JtdNDY>ȔF8η8vָxk9담]z>֩0ѓd#W,3:/7FRf{Z=O|hc֜3x F^r]tHi.u@A\0h@عߧsmNyVF25?~ԆѰfs`[Ric+1f@\n L^36Xt9=:( ;蟨SF@`;x,>y4_&ןeу,CFL0\rKQ3l9Ϛ@~2ԥ+gVN^\"+ b_FdHw~\rb\"0@s18޲pH#:KX~ Πy^\$d!5wt!':xmT +O5~ >P@õVPA׹Ӳ&\";Xh~t!)5aD38' I׶^خⷶ>ؚl;“A~;j[>mӶPuf.A)=#m߶fzISmɶcA+D`/dd/ٛm9Wi,I\0-F`i6;`{[S6RjەC#m=9gW:gh&ȆVIx[hIIZNmtW[+@k*/AEwL_8m{).-v\r:L෉`-@Ym{h퟼jLh|:Y#@^˺[؁;㝆[{Y#w[Io fYo4;Ǜoˍ6T@B~;U .hr3N6PɞDŽV0ok1ESOȕ`7l҅IO٫7tQc9f-\0-\0/.^Rf<-n,95JcMvݦ[!oNƦ\0qV5,O \\^b+b* {c7roN!qwɹǑO;,P:b#3+\rS\$poK ~Ҝњx!_q-W`mx9&[ e>dI*8 NHz3µ(Ш -\nS/Zk");}else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0!M*)o) qe#L\0;";break;case"cross.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0##\naFo~y._wa1J GL6]\0\0;";break;case"up.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0 MQN\n}a8yaŶ\0\0;";break;case"down.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0 M*)[W\\L&ٜƶ\0\0;";break;case"arrow.gif":echo"GIF89a\0\n\0\0\0!\0\0\0,\0\0\0\0\0\n\0\0iӲ޻\0\0;";break;}}exit;}function +connection(){global$g;return$g;}function +adminer(){global$c;return$c;}function +idf_unescape($Lc){$kd=substr($Lc,-1);return +str_replace($kd.$kd,$kd,substr($Lc,1,-1));}function +escape_string($X){return +substr(q($X),1,-1);}function +number($X){return +preg_replace('~[^0-9]+~','',$X);}function +remove_slashes($Te,$qc=false){if(get_magic_quotes_gpc()){while(list($z,$X)=each($Te)){foreach($X +as$cd=>$W){unset($Te[$z][$cd]);if(is_array($W)){$Te[$z][stripslashes($cd)]=$W;$Te[]=&$Te[$z][stripslashes($cd)];}else$Te[$z][stripslashes($cd)]=($qc?$W:stripslashes($W));}}}}function +bracket_escape($Lc,$_a=false){static$vg=array(':'=>':1',']'=>':2','['=>':3','"'=>':4');return +strtr($Lc,($_a?array_flip($vg):$vg));}function +charset($g){return(version_compare($g->server_info,"5.5.3")>=0?"utf8mb4":"utf8");}function +h($Pf){return +str_replace("\0","�",htmlspecialchars($Pf,ENT_QUOTES,'utf-8'));}function +nbsp($Pf){return(trim($Pf)!=""?h($Pf):" ");}function +nl_br($Pf){return +str_replace("\n","
",$Pf);}function +checkbox($E,$Y,$Na,$gd="",$ee="",$Ra="",$hd=""){$K="";return($gd!=""||$Ra?"$K".h($gd)."":$K);}function +optionlist($ie,$xf=null,$Ng=false){$K="";foreach($ie +as$cd=>$W){$je=array($cd=>$W);if(is_array($W)){$K.='';$je=$W;}foreach($je +as$z=>$X)$K.=''.h($X);if(is_array($W))$K.='';}return$K;}function +html_select($E,$ie,$Y="",$de=true,$hd=""){if($de)return"";$K="";foreach($ie +as$z=>$X)$K.="";return$K;}function +select_input($wa,$ie,$Y="",$Ge=""){return($ie?"