From 7c0126a4f056b87bc73e83b9bfbe7c7d3cd22255 Mon Sep 17 00:00:00 2001 From: renatopancheri Date: Mon, 8 May 2017 14:58:24 +0200 Subject: [PATCH 01/17] deleted old files --- README.md | 127 ---------------- about.php | 61 -------- accounting.sh | 83 ----------- accounting_group.sh | 81 ---------- bottom.php | 4 - config.inc.php | 6 - datatables.min.css | 18 --- datatables.min.js | 215 --------------------------- gexml | 59 -------- header.php | 30 ---- img/.directory | 3 - img/logo.png | Bin 13603 -> 0 bytes index.php | 33 ----- jquery-1.5.1.min.js | 16 -- jquery-2.2.3.min.js | 4 - jquery-ui.min.css | 7 - jquery-ui.min.js | 13 -- phpqstat.conf | 67 --------- phpqstat.css | 7 - qhost.php | 105 ------------- qhostout | 6 - qinfo.sh | 66 --------- qstat.php | 221 --------------------------- qstat_job.php | 203 ------------------------- qstat_user.php | 329 ----------------------------------------- sog.8.1.9.settings.sh | 45 ------ sort_asc.png | Bin 160 -> 0 bytes sort_asc_disabled.png | Bin 148 -> 0 bytes sort_both.png | Bin 201 -> 0 bytes sort_desc.png | Bin 158 -> 0 bytes sort_desc_disabled.png | Bin 146 -> 0 bytes time_duration.php | 52 ------- xmlout | 3 - 33 files changed, 1864 deletions(-) delete mode 100644 README.md delete mode 100644 about.php delete mode 100755 accounting.sh delete mode 100755 accounting_group.sh delete mode 100644 bottom.php delete mode 100644 config.inc.php delete mode 100644 datatables.min.css delete mode 100644 datatables.min.js delete mode 100755 gexml delete mode 100644 header.php delete mode 100644 img/.directory delete mode 100644 img/logo.png delete mode 100644 index.php delete mode 100644 jquery-1.5.1.min.js delete mode 100644 jquery-2.2.3.min.js delete mode 100644 jquery-ui.min.css delete mode 100644 jquery-ui.min.js delete mode 100644 phpqstat.conf delete mode 100644 phpqstat.css delete mode 100644 qhost.php delete mode 100755 qhostout delete mode 100755 qinfo.sh delete mode 100644 qstat.php delete mode 100644 qstat_job.php delete mode 100644 qstat_user.php delete mode 100644 sog.8.1.9.settings.sh delete mode 100644 sort_asc.png delete mode 100644 sort_asc_disabled.png delete mode 100644 sort_both.png delete mode 100644 sort_desc.png delete mode 100644 sort_desc_disabled.png delete mode 100644 time_duration.php delete mode 100755 xmlout diff --git a/README.md b/README.md deleted file mode 100644 index f79c61f..0000000 --- a/README.md +++ /dev/null @@ -1,127 +0,0 @@ -ABOUT PHPQstat -============================================== -**PHPQstat** is a web interface to qstat and other useful commands of the Grid Engine (GE) batch queue system. -With this interface, you and your users can monitor your jobs and your queue status conveniently via a web browser. - -**AUTHORS** -UGE support, HTML5 interface, qstat reduce and remote master options added by Lydia Sevelt (LydiaSevelt@gmail.com) -Originally written by Jordi Blasco Pallarès (jordi.blasco@hpcnow.com). - -**REPORTING BUGS** -Report bugs to GitHUB issue Tracker https://github.com/LydiaSevelt/PHPQstat/issues - -**ADDITIONAL LIBRARIES** -The HTML5 interface utilizes the excellent datatables (https://datatables.net) and jquery (https://jquery.com) javascript libraries. - -**TESTED WITH** -Son of Grid Engine 8.1.9 -Univa Grid Engine 8.3.1p6 - -**LICENSE** -This is free software: you are free to change and redistribute it. GNU General Public License version 3.0 (GPLv3). - -**Version** -0.3.0 (December 2016) - -https://github.com/LydiaSevelt/PHPQstat - -SCREENSHOTS -============================================== -Screenshots were taken from a test instance of Son of Grid Engine 8.1.9 - - -Queue Status page with two test queues. -![Alt text](https://cloud.githubusercontent.com/assets/4594964/21457190/37e6a6fc-c8fb-11e6-8b6c-f1b04b920e5c.jpg "Queue Status") - - -All Jobs on the cluster, both running and in queue, tables are sortable by field, in the screenshot I am using the search feature to filter the running jobs table. -![Alt text](https://cloud.githubusercontent.com/assets/4594964/21457203/5405e6b8-c8fb-11e6-9039-4af29a50761a.jpg "Job Status") - - -All Jobs on the cluster with multiple parallel environment jobs with the new display scheme that shows all queues grouped with a single job. -![Alt text](https://cloud.githubusercontent.com/assets/4594964/22034925/fa44aec8-dcbb-11e6-9054-4e3c53f83569.jpg "Job Status with parallel environment jobs") - - -Job information page displaying some details about a running job. -![Alt text](https://cloud.githubusercontent.com/assets/4594964/21457210/5d1d7108-c8fb-11e6-8609-79425139d3f2.jpg "Job Info") - - -Hosts Status with only the one desktop as the single host, so not very impressive looking. -![Alt text](https://cloud.githubusercontent.com/assets/4594964/21457439/53acf240-c8fd-11e6-9c04-31d40a264593.jpg "Hosts Status") - - -DEPENDENCIES -============================================== -Basic setup (on sge_master host): -apache, php5, rrdtool and awk. - -Remote master setup: -webserver host: apache, php5, rrdtool, awk, snmp-utils -sge_master host: snmpd, awk - -INSTALL -============================================== -1. Copy all files in your web accesible filesystem or download the project using GIT: - git clone https://github.com/LydiaSevelt/PHPQstat -2. Setup the following paths on phpqstat.conf : - SGE_ROOT=/opt/sge - SGE_CELL=default - RRD_ROOT=/var/www/PHPQstat/rrd - WEB_ROOT=/var/www/PHPQstat -3. Edit the line: "source /var/www/PHPQstat/phpqstat.conf" to point to the location of your phpqstat.conf - in your web root in the files : - accounting.sh - qinfo.sh -4. Setup the following config variables in config.inc.php : - $qstat_reduce="yes"; - $cache_time="3"; -5. If using Univa Grid Engine set the variable in config.inc.php : - $UGE="yes"; -6. If using Son of Grid Engine and you do *not* already have a /$SGE_ROOT/$SGE_CELL/common/settings.sh file - then copy the sog.8.1.9.settings.sh file to /$SGE_ROOT/$SGE_CELL/common/settings.sh and modify - the variables to match your config : - export SGE_ROOT="/opt/sge" - export SGE_CELL="default" - export SGE_CLUSTER_NAME="p6444" - export DRMAA_LIBRARY_PATH="/opt/sge/lib//libdrmaa.so" -7. If using qstat_reduce set LOAD_WAIT variable in phpqstat.conf for high load average protection : - LOAD_WAIT=10.00 -8. Add the following line to the proper users crontab, making sure you replace /var/www/PHPQstat with the proper path : - */3 * * * * /var/www/PHPQstat/accounting.sh > /dev/null 2>&1 - - SETTING UP A REMOTE MASTER CONFIG - ---------------------------------------------- -9. Set REMOTE_MASTER in phpqstat.conf to the hostname of sge_master server : - REMOTE_MASTER=sgemaster.company.com -10. Configure snmpd on sge_master host to provide uptime and load information via community public : - ``` - com2sec notConfigUser default public - group notConfigGroup v1 notConfigUser - view systemview included .1.3.6.1.4.1.2021.10 - access notConfigGroup "" any noauth exact systemview none none - ``` - - OPTIONAL - ---------------------------------------------- -11. Replace PHPQstat/img/logo.png with the logo of your company/school to brand the page - -TODO LIST -============================================== -* Add install script to take care of some of the tedium automatically -* Add job accounting page and qstat_reduce functionality to allow users to view stats on completed jobs -* Admin page - config variables, display options, project/department, etc -* Add additional job information to job page -* Completely replace rrdtool graphs with something pretty (grafana?) - -CHANGELOG -============================================== -* 0.1.0 Project started -* 0.1.1 Install instructions and job details support -* 0.1.2 Solved problem on cputime request on pending job -* 0.1.3 Solved problems with Start time and Submission Time -* 0.2.0 Real-time accounting feature -* 0.2.1 Migration to HPCNow GitHUB repo -* 0.2.2 Added qstat_reduce to cache xml files and only refesh based a time interval with high load average protection -* 0.2.3 Added ability to run phpqstat on a webserver that is a submit host, eliminating the need to run on the sge_master node -* 0.3.0 Added new HTML5 interface to fix look and feel as well as add functionality for users, This utilizes the excellent datatables and jquery-ui javascript libraries. Added UGE support option. -* 0.3.1 Parallel environment jobs are now displayed in a single line with all active queues associated. Many other small bug fixes and improvments as well. Install instructions also updated. diff --git a/about.php b/about.php deleted file mode 100644 index 3538c01..0000000 --- a/about.php +++ /dev/null @@ -1,61 +0,0 @@ - - - - PHPQstat - - - - - - - -"; -include("header.php"); -echo ""; - -?> - - - - - - - -
-Home -Hosts status -Queue status -Jobs status ($owner) -About PHPQstat -
-
-
- - -
-PHPQstat
A web interface to qstat and other useful commands of the Grid Engine (GE) batch queue system.
-With this interface, you and your users can monitor your jobs and your queue status conveniently via a web browser.

-AUTHORS
-HTML5 interface, UGE support and additional features added by Lydia Sevelt
-Originally written by Jordi Blasco Pallarès.

-Additional libraries
-HTML5 interface utilizes the excellent datatables and jquery javascript libraries.

-LICENSE
-This is free software: you are free to change and redistribute it. GNU General Public License version 3.0 (GPLv3).

-Version : 0.3.0 (December 2016)
-https://github.com/LydiaSevelt/PHPQstat
-
-
-
- -
- - - - - - diff --git a/accounting.sh b/accounting.sh deleted file mode 100755 index 59a4305..0000000 --- a/accounting.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash -#set -xv -# Exporting Environment Variables -######################################### -source /var/www/PHPQstat/phpqstat.conf -######################################### - -if ! [ -d $RRD_ROOT ]; then mkdir -p $RRD_ROOT; fi -QUEUES=$(qconf -sql | cut -d. -f1) - -# Inici BBDD -################# -for q in $QUEUES; do -creabbdd="" - if ! [ -f $RRD_ROOT/qacct_${q}.rrd ] ; then - creabbdd="${creabbdd}DS:${q}-used:GAUGE:1000000:0:999995000 " - rrdtool create $RRD_ROOT/qacct_${q}.rrd -s 180 $creabbdd RRA:AVERAGE:0.5:1:576 - fi -done -# Queue Waiting -creabbdd="DS:slots-qw:GAUGE:1000000:0:999995000 " -if ! [ -f $RRD_ROOT/qacct_qw.rrd ] ; then - rrdtool create $RRD_ROOT/qacct_qw.rrd -s 180 $creabbdd RRA:AVERAGE:0.5:1:576 -fi - -# Actualitzo la BBDD -###################### -i=0 -for q in $QUEUES; do -# NOTE <--------------------------------------------------------------------- -# If your Queues don't have the .q extension, you can comment the follow line -qname="${q}${QEXT}" -data="N" - cpusused=$(qstat -u *, -q $qname | gawk '{if ($5 !~ /qw/){sum=sum+$9}}END{print sum}') - cpuslimit=${CLIMIT[${i}]} - if [ -z $cputime ] ; then cputime=0; fi - if [ -z $cpusused ] ; then cpusused=0; fi - data="$data:$cpusused" - rrdupdate $RRD_ROOT/qacct_${q}.rrd $data - echo "rrdupdate $RRD_ROOT/qacct_${q}.rrd $data" - i=$((i+1)) -done - -# Queue Waiting - data="N" - cpusqw=$(qstat -u *, | gawk '{if ($5 ~ /qw/){sum=sum+$NF}}END{if (sum >0){ print sum}else{print 0}}') - data="$data:$cpusqw" - rrdupdate $RRD_ROOT/qacct_qw.rrd $data - echo "rrdupdate $RRD_ROOT/qacct_qw.rrd $data" - - -# Creo la grafica -###################### -DATE=$(date '+%a %b %-d %H\:%M\:%S %Z %Y') - -unset datagrups -i=0 -for q in $QUEUES; do - datagrups="$datagrups DEF:${q}-used=$RRD_ROOT/qacct_${q}.rrd:${q}-used:AVERAGE LINE2:${q}-used#${COLOR[${i}]}:${q} " - datagrups="$datagrups GPRINT:${q}-used:MIN:%12.0lf%s" - datagrups="$datagrups GPRINT:${q}-used:MAX:%12.0lf%s" - datagrups="$datagrups GPRINT:${q}-used:AVERAGE:%12.0lf%s\\l" - i=$((i+1)) -done - -# Queue Waiting - datagrups="$datagrups DEF:slots-qw=$RRD_ROOT/qacct_qw.rrd:slots-qw:AVERAGE LINE2:slots-qw#${COLOR[${i}]}:slots-qw" - datagrups="$datagrups GPRINT:slots-qw:MIN:%12.0lf%s" - datagrups="$datagrups GPRINT:slots-qw:MAX:%12.0lf%s" - datagrups="$datagrups GPRINT:slots-qw:AVERAGE:%12.0lf%s\\l" - -HEIGHT=200 -WIDTH=600 - -rrdtool graph $WEB_ROOT/img/hour.png -a PNG -s -1hour -t "HPC Accounting (hourly)" -h $HEIGHT -w $WIDTH -v "Used CPU's" COMMENT:" Min Used" COMMENT:" Max Used" COMMENT:" Avg Used \\l" $datagrups COMMENT:"Last update\: $DATE" > /dev/null - -rrdtool graph $WEB_ROOT/img/day.png -a PNG -s -1day -t "HPC Accounting (daily)" -h $HEIGHT -w $WIDTH -v "Used CPU's" COMMENT:" Min Used" COMMENT:" Max Used" COMMENT:" Avg Used \\l" $datagrups COMMENT:"Last update\: $DATE" > /dev/null - -rrdtool graph $WEB_ROOT/img/week.png -a PNG -s -1week -t "HPC Accounting (Weekly)" -h $HEIGHT -w $WIDTH -v "Used CPU's" COMMENT:" Min Used" COMMENT:" Max Used" COMMENT:" Avg Used \\l" $datagrups COMMENT:"Last update\: $DATE" > /dev/null - -rrdtool graph $WEB_ROOT/img/month.png -a PNG -s -1month -t "HPC Accounting (Monthly)" -h $HEIGHT -w $WIDTH -v "Used CPU's" COMMENT:" Min Used" COMMENT:" Max Used" COMMENT:" Avg Used \\l" $datagrups COMMENT:"Last update\: $DATE" > /dev/null - -rrdtool graph $WEB_ROOT/img/year.png -a PNG -s -1year -t "HPC Accounting (Yearly)" -h $HEIGHT -w $WIDTH -v "Used CPU's" COMMENT:" Min Used" COMMENT:" Max Used" COMMENT:" Avg Used \\l" $datagrups COMMENT:"Last update\: $DATE" > /dev/null diff --git a/accounting_group.sh b/accounting_group.sh deleted file mode 100755 index d982774..0000000 --- a/accounting_group.sh +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/bash -#set -xv -# Exporting Environment Variables -######################################### -source ./phpqstat.conf -######################################### -source $SGE_ROOT/default/common/settings.sh - -if [ -d $RRD_ROOT ]; then mkdir -p $RRD_ROOT; fi - -tcputime=0 -# Inici BBDD -################# -for ((i=1; i<=$ngroup; i++)); do -creabbdd="" - if ! [ -f $RRD_ROOT/qacct_g${i}.rrd ] ; then - creabbdd="${creabbdd}DS:cpusused:GAUGE:1000000:0:999995000 " - creabbdd="${creabbdd}DS:cpulimit:GAUGE:1000000:0:999995000 " - creabbdd="${creabbdd}DS:cpushare:GAUGE:1000000:0:999995000 " - creabbdd="${creabbdd}DS:cpusqw:GAUGE:1000000:0:99995000 " - rrdtool create $RRD_ROOT/qacct_g${i}.rrd -s 180 $creabbdd RRA:AVERAGE:0.5:1:576 RRA:AVERAGE:0.5:6:672 RRA:AVERAGE:0.5:24:732 RRA:AVERAGE:0.5:144:1460 - fi -done - -# Actualitzo la BBDD -###################### -for ((i=1; i<=$ngroup; i++)); do -data="N" - #cputime=$(qacct -b 201101010000 -g g$i| grep -v GROUP |grep -v = | gawk '{printf "%d\n", $5/3600}') - #cpusused=$(qstat -u "g$i*"| awk '{if ($5 !~ /qw/){sum=sum+$9}}END{print sum}') - #cpushare=$(echo "${CSHARE[${i}]}/$TSHARE*$TCORES" | bc -l) - #cpuslimit=$((cpushare*2)) - #jobs=$(qstat -u "g$i*" | awk '{print $5}' | grep -v qw | wc -l) - #jobsqw=$(qstat -u "g$i*" | awk '{print $5}' | grep qw | wc -l) - cpusused=$(qstat -u "g$i*"| awk '{if ($4 ~ /g'$i'[a-zA-Z]/ && $5 !~ /qw/){sum=sum+$9}}END{print sum}') - cpushare=$((${CLIMIT[${i}]}/2)) - cpuslimit=${CLIMIT[${i}]} - #cpusqw=$(qstat -u "g$i*"| awk '{if ($5 ~ /qw/){sum=sum+$NF}}END{if (sum >0){ print "-"sum}else{print 0}}') - cpusqw=$(qstat -u "g$i*"| awk '{if ($4 ~ /g'$i'[a-zA-Z]/ && $5 ~ /qw/){sum=sum+$NF}}END{if (sum >0){ print sum}else{print 0}}') - if [ -z $cputime ] ; then cputime=0; fi - if [ -z $cpusused ] ; then cpusused=0; fi - data="$data:$cpusused:$cpuslimit:$cpushare:$cpusqw" - rrdupdate $RRD_ROOT/qacct_g${i}.rrd $data - echo "rrdupdate $RRD_ROOT/qacct_g${i}.rrd $data" -done - -# Creo la grafica -###################### - -DATE=$(date '+%a %b %-d %H\:%M\:%S %Z %Y') - -for ((i=1; i<=$ngroup; i++)); do - unset datagrups - datagrups="$datagrups DEF:cpusused=$RRD_ROOT/qacct_g${i}.rrd:cpusused:AVERAGE LINE1:cpusused#0000FF:cpusused " - datagrups="$datagrups GPRINT:cpusused:MIN:%lf%s" - datagrups="$datagrups GPRINT:cpusused:MAX:%lf%s" - datagrups="$datagrups GPRINT:cpusused:AVERAGE:%lf%s\\l" - datagrups="$datagrups DEF:cpulimit=$RRD_ROOT/qacct_g${i}.rrd:cpulimit:AVERAGE LINE1:cpulimit#FF0000:cpulimit " - datagrups="$datagrups GPRINT:cpulimit:MIN:%lf%s" - datagrups="$datagrups GPRINT:cpulimit:MAX:%lf%s" - datagrups="$datagrups GPRINT:cpulimit:AVERAGE:%lf%s\\l" - datagrups="$datagrups DEF:cpushare=$RRD_ROOT/qacct_g${i}.rrd:cpushare:AVERAGE LINE1:cpushare#00FF00:cpushare " - datagrups="$datagrups GPRINT:cpushare:MIN:%lf%s" - datagrups="$datagrups GPRINT:cpushare:MAX:%lf%s" - datagrups="$datagrups GPRINT:cpushare:AVERAGE:%lf%s\\l" - datagrups="$datagrups DEF:cpusqw=$RRD_ROOT/qacct_g${i}.rrd:cpusqw:AVERAGE LINE1:cpusqw#00FFFF:cpusqw " - datagrups="$datagrups GPRINT:cpusqw:MIN:%lf%s" - datagrups="$datagrups GPRINT:cpusqw:MAX:%lf%s" - datagrups="$datagrups GPRINT:cpusqw:AVERAGE:%lf%s\\l" - -rrdtool graph $WEB_ROOT/img/hourly.g${i}.png -a PNG -s -1hour -t "HPC Accounting (hourly)" -h 200 -w 600 -v "Used CPU's" COMMENT:" Minimum" COMMENT:" Maximum" COMMENT:" Average\\l" $datagrups COMMENT:"Last update\: $DATE" > /dev/null - -rrdtool graph $WEB_ROOT/img/daily.g${i}.png -a PNG -s -1day -t "HPC Accounting (daily)" -h 200 -w 600 -v "Used CPU's" COMMENT:" Minimum" COMMENT:" Maximum" COMMENT:" Average\\l" $datagrups COMMENT:"Last update\: $DATE" > /dev/null - -rrdtool graph $WEB_ROOT/img/weekly.g${i}.png -a PNG -s -1week -t "HCP Accounting (Weekly)" -h 200 -w 600 -v "Used CPU's" COMMENT:" Minimum" COMMENT:" Maximum" COMMENT:" Average\\l" $datagrups COMMENT:"Last update\: $DATE" > /dev/null - -rrdtool graph $WEB_ROOT/img/monthly.g${i}.png -a PNG -s -1month -t "HPC Accounting (Monthly)" -h 200 -w 600 -v "Used CPU's" $datagrups COMMENT:"Last update\: $DATE" > /dev/null - -rrdtool graph $WEB_ROOT/img/yearly.g${i}.png -a PNG -s -1year -t "HPC Accounting (Yearly)" -h 200 -w 600 -v "Used CPU's" $datagrups COMMENT:"Last update\: $DATE" > /dev/null - -done diff --git a/bottom.php b/bottom.php deleted file mode 100644 index acaf564..0000000 --- a/bottom.php +++ /dev/null @@ -1,4 +0,0 @@ - - "; -?> diff --git a/config.inc.php b/config.inc.php deleted file mode 100644 index de16611..0000000 --- a/config.inc.php +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/datatables.min.css b/datatables.min.css deleted file mode 100644 index 21a920b..0000000 --- a/datatables.min.css +++ /dev/null @@ -1,18 +0,0 @@ -/* - * This combined file was created by the DataTables downloader builder: - * https://datatables.net/download - * - * To rebuild or modify this file with the latest versions of the included - * software please visit: - * https://datatables.net/download/#dt/jq-2.2.3/dt-1.10.12/cr-1.3.2 - * - * Included libraries: - * jQuery 2.2.3, DataTables 1.10.12, ColReorder 1.3.2 - */ - -table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold;text-align:left}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc{cursor:pointer;*cursor:hand}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table,.dataTables_wrapper.no-footer div.dataTables_scrollBody table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}} - - -table.DTCR_clonedTable.dataTable{position:absolute !important;background-color:rgba(255,255,255,0.7);z-index:202}div.DTCR_pointer{width:1px;background-color:#0259C4;z-index:201} - - diff --git a/datatables.min.js b/datatables.min.js deleted file mode 100644 index 0a9ba2a..0000000 --- a/datatables.min.js +++ /dev/null @@ -1,215 +0,0 @@ -/* - * This combined file was created by the DataTables downloader builder: - * https://datatables.net/download - * - * To rebuild or modify this file with the latest versions of the included - * software please visit: - * https://datatables.net/download/#dt/jq-2.2.3/dt-1.10.12/cr-1.3.2 - * - * Included libraries: - * jQuery 2.2.3, DataTables 1.10.12, ColReorder 1.3.2 - */ - -/*! jQuery v2.2.3 | (c) jQuery Foundation | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c; -}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length",""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,la=/\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n(""; +} +echo " +
+ + "; +include("bottom.php"); +?> diff --git a/Web/influx.php b/Web/influx.php new file mode 100755 index 0000000..d31ed0a --- /dev/null +++ b/Web/influx.php @@ -0,0 +1,157 @@ +results[0]->series[0]->columns as $key => $value){ + $i=strpos($value,'['); + if($i!==FALSE){ + $colname=substr($value,5,$i-5);#5: name start with "last_" when you select last(*) so i drop first 5 chars + $rowIndex=substr($value,$i+1,strpos($value,']')-$i-1); + $ret[$colname][$rowIndex]=$JSON->results[0]->series[0]->values[0][$key]; + } + if($value=="last_{n_values}"){ + $n_values=$JSON->results[0]->series[0]->values[0][$key]; + } + } + foreach ($ret as $key =>$column){ + for($i=0;$i<$n_values;$i++){ + if(!isset($ret[$key][$i])){ + $ret[$key][$i]=""; + } + } + } + return $ret; +} +#function to call from outside to print the final table +#Params: +# -$data: result from getDataFromDB +# -$format: $Format["..."] (see config.php) +function drawAll($data,$format){ + if(!isset($format)){ + $format=array(); + $format["rename"]=array(); + $format["links"]=array(); + } + if(!empty($data)){ + foreach($format["rename"] as $key =>$newkey){#renaming columns + if(isset($data[$key])){ + $data[$newkey]=$data[$key]; + unset($data[$key]); + } + } + $keys=array();#will rappresent list of columns + if(isset($format["show"])){ + $keys=$format["show"]; + } + else{ + foreach ($data as $key => $value){ + array_push($keys,$key); + } + } + addLinksToData($data,$format["links"],$keys); + printTable($data,$keys); + } +} +#adds $value){ + foreach($data[$column] as $rowIndex =>$element){ + $temp=$value; + foreach($data as $colIndex=>$colarray){ + $temp=str_replace("{{$colIndex}}",$data[$colIndex][$rowIndex],$temp); + } + $data[$column][$rowIndex]="".$data[$column][$rowIndex].""; + } + } +} + +#prints the table +#Params: +# -$data: data in format Matrix[$column][$row] +# -$keys: array containing columns names +function printTable($data,$keys){ +echo "";#div is added only because if you have a lot of columns, page buttons and next,previous,ecc are out of screen +echo "
\n + \n"; +echo ""; +foreach ($keys as $column){ + echo ""; +} +echo "\n"; +foreach ($keys as $column){ + echo "";#search inputs are created in tfoot and moved in thead after datatable creation(i cant find a simpler way to make them work right) +} +echo "\n\n"; +foreach ($data[$keys[0]] as $rowIndex=>$value){ + echo ""; + foreach ($keys as $colIndex){ + echo ""; + } + echo "\n"; +} +echo "\n
$column
"; + echo $data[$colIndex][$rowIndex]; + echo "
\n
"; +} +?> + diff --git a/Web/qstat_job.php b/Web/qstat_job.php new file mode 100755 index 0000000..5f11628 --- /dev/null +++ b/Web/qstat_job.php @@ -0,0 +1,33 @@ + + + + + + +
+ "; +foreach ($jobs as $key=>$value){ + echo ""; + echo $key; + echo ""; + + echo $jobs[$key][$index]; + echo ""; +} +echo ""; +?> +
+ + + diff --git a/enable_auth_influx.sh b/enable_auth_influx.sh new file mode 100755 index 0000000..670e92d --- /dev/null +++ b/enable_auth_influx.sh @@ -0,0 +1,7 @@ +#!/bin/bash +source influx_config.sh +URL=$DBURL:$PORT/query +curl -XPOST "$URL" --data-urlencode "q=CREATE USER $INFLUXUSER WITH PASSWORD '$INFLUXPASSWORD' WITH ALL PRIVILEGES" +sed -i 's/# auth-enabled = false/auth-enabled = true/g' $INFLUXCONFIGFILE +systemctl restart influxd +systemctl restart influxdb diff --git a/influx_config.sh b/influx_config.sh new file mode 100755 index 0000000..cb143f6 --- /dev/null +++ b/influx_config.sh @@ -0,0 +1,10 @@ +#!/bin/bash +source opt/sge_root/default/common/settings.sh #find this file in your sge folder +####################init variables########################## +DBURL="http://localhost" +PORT=8086 +INFLUXUSER='admin' +INFLUXPASSWORD='admin' +INFLUXCONFIGFILE="/etc/influxdb/influxdb.conf" +#if you change password when you have already started data +#gathering you have to change the password in influxdb as well! diff --git a/init_influx.sh b/init_influx.sh new file mode 100755 index 0000000..5546ffe --- /dev/null +++ b/init_influx.sh @@ -0,0 +1,15 @@ +#!/bin/bash +source influx_config.sh +URL=$DBURL:$PORT/query +curl -XPOST "$URL" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode "q=CREATE USER \"user\" WITH PASSWORD 'user' " +curl -XPOST "$URL" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode 'q=create database QstatDB' +curl -XPOST "$URL" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode 'q=create retention policy min on QstatDB duration INF replication 1' +curl -XPOST "$URL" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode 'q=create retention policy hour on QstatDB duration INF replication 1' +curl -XPOST "$URL" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode 'q=create retention policy day on QstatDB duration INF replication 1' +curl -XPOST "$URL" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode 'q=CREATE CONTINUOUS QUERY "queue-day-mean" on QstatDB begin select mean(*) as "day-mean" into day.queue from min.queue where time>1 group by time(1d) end' +curl -XPOST "$URL" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode 'q=CREATE CONTINUOUS QUERY "queue-hour-mean" on QstatDB begin select mean(*) as "hour-mean" into hour.queue from min.queue where time>1 group by time(1h) end' + +curl -XPOST "$URL" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode 'q=create database QstatDB_tables' +curl -XPOST "$URL" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode 'q=create retention policy min on QstatDB_tables duration 1h replication 1 DEFAULT' +curl -XPOST "$URL" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode "q=GRANT READ ON QstatDB TO \"user\"" +curl -XPOST "$URL" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode "q=GRANT READ ON QstatDB_tables TO \"user\"" diff --git a/insert.sh b/insert.sh new file mode 100755 index 0000000..64fcc54 --- /dev/null +++ b/insert.sh @@ -0,0 +1,10 @@ +#!/bin/bash +SCRIPTPATH="//home/abc" +source $SCRIPTPATH/influx_config.sh +DATABASE='QstatDB' +RET_POLICY='min' #change this if there is a different retetion policy ( old data is deleted automatically) +URL="$DBURL:$PORT/write?db=$DATABASE&rp=$RET_POLICY" +QUEUE_COMMAND="cat //home/abc/myqstatgc" #"qstat -g c" + +DATA=$($QUEUE_COMMAND | awk '{if($1 !~ /CLUSTER/ && $3 ~ /^[0-9]/){printf "queue used_%s=%s,max_%s=%s\n", $1,$3,$1,$6}}') +curl -i -u $INFLUXUSER:$INFLUXPASSWORD -XPOST $URL --data-binary "$DATA" diff --git a/insert_rrd.sh b/insert_rrd.sh new file mode 100755 index 0000000..a322438 --- /dev/null +++ b/insert_rrd.sh @@ -0,0 +1,16 @@ +#!/bin/bash +source influx_config.sh +DATABASE='QstatDB' +RET_POLICY='min' +URL="$DBURL:$PORT/write?db=$DATABASE&rp=$RET_POLICY" +TABLENAME='queue' +QUEUES=$(ls -l rrd/qacct* |awk '{print $9}') +influxd backup -database $DATABASE ./ +for q in $QUEUES ;do + rrdtool dump $q |awk -v x=$q -v y=$TABLENAME 'BEGIN{match(x,"rrd/qacct_(.*).rrd",b)}{match($8,"^([^N]*)$",a);if(a[1] ~ /^[0-9]/ && $6<1490713018) {printf "%s used_%s=%s %s000000000\n",y, b[1] ,a[1],$6}}' >file.txt + curl -i -u $INFLUXUSER:$INFLUXPASSWORD -XPOST $URL --data-binary @file.txt + read -p "processed queue $q" + rm file.txt +done +curl -XPOST "$DBURL:$PORT/query?db=$DATABASE" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode 'q=select mean(*) as "day_mean_used" into day.queue from min.queue where time>1 group by time(1d)' +curl -XPOST "$DBURL:$PORT/query?db=$DATABASE" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode 'q=select mean(*) as "hour_mean_used" into hour.queue from min.queue where time>1 group by time(1h)' diff --git a/insert_tables.sh b/insert_tables.sh new file mode 100755 index 0000000..629f8db --- /dev/null +++ b/insert_tables.sh @@ -0,0 +1,114 @@ +#!/bin/bash +####################init variables########################## +SCRIPTPATH="//home/abc" +source $SCRIPTPATH/influx_config.sh +DATABASE='QstatDB_tables' +RET_POLICY='min' #change this if there is a different retetion policy ( old data is deleted automatically) +URL="$DBURL:$PORT/write?db=$DATABASE&rp=$RET_POLICY" +HOSTS_COMMAND="cat $SCRIPTPATH/myqhost" #"qhost -(n)cb" +QUEUES_COMMAND="qstat - g c -xml >qstatgc.xml" +JOBS_COMMAND="qstat -f -u *, -r -t -ext -xml >qstat_full.xml" +######################functions################# +#function parameters: +# -$1: path in xml file +# -$2: file name +# -$3: index in the vector returned (getQueueFromJobXmlElement '//mytag' filename.xml 2 ===> queue[2]="...", + +getValuesFromXmlElement(){ + local JobString=$'' + JobString+=$(getParameters $1 $2 $3) + local CountTag=$(xmllint --xpath "count($1/*)" $2 ) + local temp + local JobIter + for((JobIter=1;$JobIter<=$CountTag;JobIter++)) + do + temp=$(xmllint --xpath "local-name($1/*[$JobIter])" $2 ) + temp+="[$3]=\"" + temp+=$(xmllint --xpath "string($1/*[$JobIter])" $2 ) + temp+="\"" + JobString+=$temp, + JobString+=$(getParameters "$1/*[$JobIter]" $2 $3) + done + echo $JobString +} +getQueueFromJobXmlElement(){ + temp="queue[$3]=\"" + temp+=$(xmllint --xpath "string($1/../name)" $2) + temp+="\"," + echo $temp + +} +getParameters(){ + local ParString=$'' + local CountPar=$(xmllint --xpath "count($1/@*)" $2 ) + local baseName=$(xmllint --xpath "local-name($1)" $2) + local temp + local ParamIter + for ((ParamIter=1;$ParamIter<=$CountPar;ParamIter++)) + do + temp=$baseName + temp+="_" + temp+=$(xmllint --xpath "local-name($1/@*[$ParamIter])" $2) + temp+="[$3]=\"" + temp+=$(xmllint --xpath "string($1/@*[$ParamIter])" $2) + temp+="\"" + ParString+=$temp, + done + echo $ParString +} +#######################gathering hosts data########################### + + + +DATA=$'' +DATA+=$($HOSTS_COMMAND | awk ' +function escape_influx(text) +{ + temp=gensub(/,/, "\\\\,","g",text) + temp=gensub(/=/, "\\\\=","g",temp); + temp=gensub(/ /, "\\\\ ","g",temp); + return temp; +} + + +NR==1{printf "hosts ";sum=0;meta[0]=NF;for(i=1;i<=NF;i++) meta[i]=escape_influx($i)} + +NR>2&&NF==meta[0]{for(i=1;i + + + + all.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + all.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + all.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + all.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + all.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + all.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + all.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + all.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + d + + + all.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + d + + + all.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + d + + + all.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + d + + + all.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + all.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + d + + + all.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + all.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + all.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + all.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + all.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + all.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + all.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + all.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + all.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + all.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + all.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + all.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + all.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + all.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + all.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + etc_batch.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + etc_batch.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + etc_batch.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + etc_batch.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + etc_batch.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + etc_batch.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + etc_batch.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + etc_batch.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + etc_batch.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + etc_batch.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + etc_batch.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + etc_batch.q@rscgrid1cn2.grid-air-worldwide.com + BP + 1 + 0 + 36 + 0.00083 + lx-amd64 + + 1769493 + 0.49977 + 0.00106 + QLOGIN + i53342 + etc_batch + defaultdepartment + r + 2017-04-18T17:50:40.231 + 3043 + 33207.81179 + 191.22872 + 1018 + 0 + 0 + 1000 + 0 + 18 + 0.00101 + MASTER + 1 + QLOGIN + 21600 + 25G + 1G + etc_batch.q + NONE + + + + etc_batch.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + etc_batch.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + etc_batch.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + etc_batch.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + etc_batch.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + etc_batch.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + etc_batch.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + etc_batch.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + etc_batch.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + etc_batch.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + etc_batch.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + etc_batch.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + etc_batch.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + etc_batch.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + etc_batch.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + etc_batch.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + finance.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + finance.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + finance.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + finance.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + finance.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + finance.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + finance.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + finance.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + finance.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + finance.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + finance.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + finance.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + finance.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + finance.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + finance.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + finance.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + finance.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + finance.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + finance.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + finance.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + finance.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + finance.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + finance.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + finance.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + finance.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + finance.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + finance.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + finance.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + flood_batch.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + flood_batch.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + flood_batch.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + flood_batch.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + flood_batch.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + flood_batch.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + flood_batch.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + flood_batch.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + flood_batch.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + flood_batch.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + flood_batch.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + flood_batch.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + flood_batch.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + flood_batch.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + flood_batch.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + flood_batch.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + flood_batch.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + flood_batch.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + flood_batch.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + flood_batch.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + flood_batch.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + flood_batch.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + flood_batch.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + flood_batch.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + flood_batch.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + flood_batch.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + flood_batch.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + flood_batch.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + gensc_batch.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + gensc_batch.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + gensc_batch.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + gensc_batch.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + gensc_batch.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + gensc_batch.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + gensc_batch.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + gensc_batch.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + gensc_batch.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + gensc_batch.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + gensc_batch.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + gensc_batch.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + gensc_batch.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + gensc_batch.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + gensc_batch.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + gensc_batch.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + gensc_batch.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + gensc_batch.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + gensc_batch.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + gensc_batch.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + gensc_batch.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + gensc_batch.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + gensc_batch.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + gensc_batch.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + gensc_batch.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + gensc_batch.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + gensc_batch.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + gensc_batch.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + interactive.q@rscgrid1cn1.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + interactive.q@rscgrid1cn10.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + interactive.q@rscgrid1cn11.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + interactive.q@rscgrid1cn12.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + interactive.q@rscgrid1cn13.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + interactive.q@rscgrid1cn14.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + interactive.q@rscgrid1cn15.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + interactive.q@rscgrid1cn16.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + interactive.q@rscgrid1cn17.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + interactive.q@rscgrid1cn18.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + interactive.q@rscgrid1cn19.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + interactive.q@rscgrid1cn2.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + interactive.q@rscgrid1cn20.grid-air-worldwide.com + BIP + 1 + 0 + 36 + 0.00111 + lx-amd64 + + 1769451 + 0.50020 + 0.04492 + QRLOGIN + i55450 + standby + defaultdepartment + r + 2017-04-18T09:42:43.890 + 0 + 0.00537 + 0.00689 + 43069 + 0 + 0 + 1000 + 0 + 42069 + 0.04286 + MASTER + 1 + QRLOGIN + 128G + 1G + NONE + + + + interactive.q@rscgrid1cn21.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + interactive.q@rscgrid1cn22.grid-air-worldwide.com + BIP + 1 + 0 + 36 + 0.00000 + lx-amd64 + + 1769491 + 0.49977 + 0.00104 + QLOGIN + i51559 + interactive + defaultdepartment + r + 2017-04-18T16:59:27.850 + 7084 + 589349.66802 + 5.74099 + 1001 + 0 + 0 + 1000 + 0 + 1 + 0.00100 + MASTER + 1 + QLOGIN + 43200 + 250G + 1G + interactive.q + NONE + + + + interactive.q@rscgrid1cn23.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + interactive.q@rscgrid1cn24.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + interactive.q@rscgrid1cn25.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + interactive.q@rscgrid1cn26.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + interactive.q@rscgrid1cn27.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + interactive.q@rscgrid1cn3.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + interactive.q@rscgrid1cn4.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + interactive.q@rscgrid1cn5.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + interactive.q@rscgrid1cn6.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + interactive.q@rscgrid1cn7.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + interactive.q@rscgrid1cn8.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + interactive.q@rscgrid1cn9.grid-air-worldwide.com + BIP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + interactive.q@rscgrid1hn1.grid-air-worldwide.com + BIP + 32 + 0 + 33 + 0.00028 + lx-amd64 + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + MASTER + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + 1769191 + 0.50976 + 1.00000 + QLOGIN + i62462 + flood_batch + defaultdepartment + dt + 2017-04-18T19:21:25.000 + 958879 + 0 + 0 + 1000 + 0 + 957879 + 0.95411 + SLAVE + 1 + QLOGIN + 32 + 32 + 2G + 28800 + 1G + NONE + + + + js_batch.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + js_batch.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + js_batch.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + js_batch.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + js_batch.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + js_batch.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + js_batch.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + js_batch.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + js_batch.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + js_batch.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + js_batch.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + js_batch.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + js_batch.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + js_batch.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + js_batch.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + js_batch.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + js_batch.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + js_batch.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + js_batch.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + js_batch.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + js_batch.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + js_batch.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + js_batch.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + js_batch.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + js_batch.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + js_batch.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + js_batch.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + js_batch.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + openmpi-mp.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + openmpi-mp.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + sea_batch.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + sea_batch.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + sea_batch.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + sea_batch.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + sea_batch.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + sea_batch.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + sea_batch.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + sea_batch.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + sea_batch.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + sea_batch.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + sea_batch.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + sea_batch.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + sea_batch.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + sea_batch.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + sea_batch.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + sea_batch.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + sea_batch.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + sea_batch.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + sea_batch.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + sea_batch.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + sea_batch.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + sea_batch.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + sea_batch.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + sea_batch.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + sea_batch.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + sea_batch.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + sea_batch.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + sea_batch.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + sff_que.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + sff_que.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + sff_que.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + sff_que.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + sff_que.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + sff_que.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + sff_que.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + sff_que.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + sff_que.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + sff_que.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + sff_que.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + sff_que.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + sff_que.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + sff_que.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + sff_que.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + sff_que.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + sff_que.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + sff_que.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + sff_que.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + sff_que.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + sff_que.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + sff_que.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + sff_que.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + sff_que.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + sff_que.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + sff_que.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + sff_que.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + sff_que.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + ss_batch.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + ss_batch.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + ss_batch.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + ss_batch.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + ss_batch.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + ss_batch.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + ss_batch.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + ss_batch.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + ss_batch.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + ss_batch.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + ss_batch.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + ss_batch.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + ss_batch.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + ss_batch.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + ss_batch.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + ss_batch.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + ss_batch.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + ss_batch.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + ss_batch.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + ss_batch.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + ss_batch.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + ss_batch.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + ss_batch.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + ss_batch.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + ss_batch.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + ss_batch.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + ss_batch.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + ss_batch.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + standby.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + standby.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + standby.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + standby.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + standby.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + standby.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + standby.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + standby.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + standby.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + standby.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + standby.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + standby.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + standby.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + standby.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + standby.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + standby.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + standby.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + standby.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + standby.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + standby.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + standby.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + standby.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + standby.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + standby.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + standby.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + standby.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + standby.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + standby.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 32 + 0.00028 + lx-amd64 + + + stormsurge.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + stormsurge.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + stormsurge.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + stormsurge.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + stormsurge.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + stormsurge.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + stormsurge.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + stormsurge.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + stormsurge.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + stormsurge.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + stormsurge.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + stormsurge.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + stormsurge.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + stormsurge.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + stormsurge.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + stormsurge.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + stormsurge.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + stormsurge.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + stormsurge.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + stormsurge.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + stormsurge.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + stormsurge.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + stormsurge.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + stormsurge.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + stormsurge.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + stormsurge.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + stormsurge.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + stormsurge.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + tc_alert.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + tc_alert.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + tc_alert.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + tc_alert.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tc_alert.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + tc_alert.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tc_alert.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + tc_alert.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + tc_alert.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + tc_alert.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + tc_alert.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + tc_alert.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + tc_alert.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + tc_alert.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + tc_alert.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tc_alert.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tc_alert.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + tc_alert.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + tc_alert.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + tc_alert.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tc_alert.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + tc_alert.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + tc_alert.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tc_alert.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + tc_alert.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + tc_alert.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + tc_alert.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + tc_alert.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + tc_batch.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + tc_batch.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + tc_batch.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + tc_batch.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tc_batch.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + tc_batch.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tc_batch.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + tc_batch.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + tc_batch.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + tc_batch.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + tc_batch.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + tc_batch.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + tc_batch.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + tc_batch.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + tc_batch.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tc_batch.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tc_batch.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + tc_batch.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + tc_batch.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + tc_batch.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tc_batch.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + tc_batch.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + tc_batch.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tc_batch.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + tc_batch.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + tc_batch.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + tc_batch.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + tc_batch.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn1.grid-air-worldwide.com + BP + 36 + 0 + 36 + 0.03000 + lx-amd64 + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 89666 + 1087136.48039 + 109.05812 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + MASTER + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + 1769201 + 0.49978 + 0.00108 + JobName + i57269 + tsunami_batch + defaultdepartment + r + 2017-04-17T18:22:04.497 + 1031 + 0 + 0 + 1000 + 0 + 31 + 0.00103 + SLAVE + 1 + JobName + 36 + 36 + 20G + 345600 + 1G + tsunami_batch.q + NONE + + + + tsunami_batch.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + tsunami_batch.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + tsunami_batch.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + wildfire.q@rscgrid1cn1.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.03000 + lx-amd64 + + + wildfire.q@rscgrid1cn10.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58472 + lx-amd64 + + + wildfire.q@rscgrid1cn11.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + + + wildfire.q@rscgrid1cn12.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + wildfire.q@rscgrid1cn13.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02917 + lx-amd64 + + + wildfire.q@rscgrid1cn14.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + wildfire.q@rscgrid1cn15.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02833 + lx-amd64 + + + wildfire.q@rscgrid1cn16.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + d + + + wildfire.q@rscgrid1cn17.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02778 + lx-amd64 + d + + + wildfire.q@rscgrid1cn18.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + d + + + wildfire.q@rscgrid1cn19.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + d + + + wildfire.q@rscgrid1cn2.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + wildfire.q@rscgrid1cn20.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + d + + + wildfire.q@rscgrid1cn21.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + wildfire.q@rscgrid1cn22.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + wildfire.q@rscgrid1cn23.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + wildfire.q@rscgrid1cn24.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.58556 + lx-amd64 + + + wildfire.q@rscgrid1cn25.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00056 + lx-amd64 + + + wildfire.q@rscgrid1cn26.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.59472 + lx-amd64 + + + wildfire.q@rscgrid1cn27.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + wildfire.q@rscgrid1cn3.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00083 + lx-amd64 + + + wildfire.q@rscgrid1cn4.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.02806 + lx-amd64 + + + wildfire.q@rscgrid1cn5.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00000 + lx-amd64 + + + wildfire.q@rscgrid1cn6.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00417 + lx-amd64 + + + wildfire.q@rscgrid1cn7.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00028 + lx-amd64 + + + wildfire.q@rscgrid1cn8.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00194 + lx-amd64 + + + wildfire.q@rscgrid1cn9.grid-air-worldwide.com + BP + 0 + 0 + 36 + 0.00111 + lx-amd64 + + + wildfire.q@rscgrid1hn1.grid-air-worldwide.com + BP + 0 + 0 + 0 + 0.00028 + lx-amd64 + + + + + 595643 + 0.52450 + 0.50000 + GT36S5-check + 50000179 + + defaultdepartment + qw + 2017-04-18T15:36:57 + 0 + 0 + 0 + 0 + 0 + 0 + 0.00000 + + 32 + GT36S5-check + 32 + 1 + 32 + gst + + + 594665 + 0.50956 + 0.50000 + V3-creep-36k + 50000114 + + defaultdepartment + Eqw + 2017-04-13T17:35:11 + 0 + 0 + 0 + 0 + 0 + 0 + 0.00000 + + 8 + V3-creep-36k + 8 + 6 + 1 + gstinf + + + + diff --git a/qstatgc.xml b/qstatgc.xml new file mode 100755 index 0000000..121a3c0 --- /dev/null +++ b/qstatgc.xml @@ -0,0 +1,232 @@ + + + + 24h + 0.01562 + 0 + 0 + 32 + 32 + 0 + 0 + + + 24test + 0.03917 + 0 + 0 + 0 + 24 + 0 + 24 + + + acustica + 0.00000 + 1 + 0 + 11 + 12 + 0 + 0 + + + admin + -nan + 0 + 0 + 0 + 0 + 0 + 0 + + + aerocompr + 0.00000 + 0 + 0 + 16 + 16 + 0 + 0 + + + ann + 0.00000 + 0 + 0 + 12 + 12 + 0 + 0 + + + cen + 0.00000 + 0 + 0 + 0 + 12 + 0 + 12 + + + cfdcombu + 0.00000 + 1 + 0 + 19 + 20 + 0 + 0 + + + excl + 0.33659 + 128 + 0 + 64 + 192 + 0 + 0 + + + gst + 0.56232 + 399 + 0 + 9 + 408 + 0 + 0 + + + gstinf + 0.03865 + 8 + 0 + 88 + 96 + 0 + 0 + + + gstvgl + 0.00000 + 0 + 0 + 40 + 40 + 0 + 0 + + + long + 0.61893 + 116 + 0 + 52 + 168 + 0 + 0 + + + long2 + 0.45319 + 76 + 0 + 4 + 80 + 0 + 0 + + + psm + 0.00000 + 0 + 0 + 60 + 60 + 0 + 0 + + + reserved1 + 0.29142 + 35 + 0 + 25 + 60 + 0 + 0 + + + reserved2 + 0.00000 + 0 + 0 + 20 + 20 + 0 + 0 + + + sas + 0.00000 + 0 + 0 + 16 + 16 + 0 + 0 + + + scterm + 0.00000 + 0 + 0 + 16 + 16 + 0 + 0 + + + serial + 0.65896 + 42 + 0 + 6 + 48 + 0 + 0 + + + short + 0 + 0 + 0 + 0 + 0 + 0 + + + tmc + 0.00000 + 0 + 0 + 12 + 12 + 0 + 0 + + + vgl + 0.00981 + 23 + 0 + 29 + 52 + 0 + 0 + + From 7ad6f478a8b6ad0c352a7baf97da4f3e4857cff6 Mon Sep 17 00:00:00 2001 From: renatopancheri Date: Tue, 16 May 2017 20:22:34 +0200 Subject: [PATCH 03/17] 16-05-17 --- README.md | 18 +- Web/about.php | 54 +- Web/bottom.php | 10 +- Web/config.php | 88 +- .../images}/sort_asc.png | Bin .../images}/sort_asc_disabled.png | Bin .../images}/sort_both.png | Bin .../images}/sort_desc.png | Bin .../images}/sort_desc_disabled.png | Bin Web/datatable/datatables.min.css | 9 +- Web/datatable/datatables.min.js | 408 +- Web/header.php | 72 +- Web/index.php | 9 +- Web/influx.php | 115 +- Web/qstat.css | 57 + Web/qstat_job.php | 33 +- enable_auth_influx.sh | 1 + influx_config.sh | 1 - insert.sh | 185 +- insert_rrd.sh | 10 +- insert_tables.sh | 114 - myqhost | 98 - myqstatgc | 24 - phpqstat.conf | 12 - qstat_full.xml | 6367 ----------------- qstatgc.xml | 232 - 26 files changed, 688 insertions(+), 7229 deletions(-) rename Web/datatable/{ => DataTables-1.10.15/images}/sort_asc.png (100%) rename Web/datatable/{ => DataTables-1.10.15/images}/sort_asc_disabled.png (100%) rename Web/datatable/{ => DataTables-1.10.15/images}/sort_both.png (100%) rename Web/datatable/{ => DataTables-1.10.15/images}/sort_desc.png (100%) rename Web/datatable/{ => DataTables-1.10.15/images}/sort_desc_disabled.png (100%) create mode 100755 Web/qstat.css delete mode 100755 insert_tables.sh delete mode 100755 myqhost delete mode 100755 myqstatgc delete mode 100755 phpqstat.conf delete mode 100755 qstat_full.xml delete mode 100755 qstatgc.xml diff --git a/README.md b/README.md index 8ea101c..fdb43df 100755 --- a/README.md +++ b/README.md @@ -4,8 +4,6 @@ ABOUT PHPQstat With this interface, you and your users can monitor your jobs and your queue status conveniently via a web browser. **AUTHORS** -Renato Pancheri -Original from:Lydia Sevelt UGE support, HTML5 interface, qstat reduce and remote master options added by Lydia Sevelt (LydiaSevelt@gmail.com) Originally written by Jordi Blasco Pallarès (jordi.blasco@hpcnow.com). @@ -25,7 +23,7 @@ This is free software: you are free to change and redistribute it. GNU General P **Version** Influx-alpha -https://github.com/renatopancheri/PHPQstat.git +https://github.com/LydiaSevelt/PHPQstat @@ -73,15 +71,9 @@ INSTALL sudo systemctl enable grafana-server.service instructions at: https://grafana.com/grafana/download?platform=linux -4. Install xmllint - -centOS : - yum install libxml2.x86_64 - -ubuntu: - sudo apt-get install libxml2 - instructions at: - http://xmlsoft.org +4. Install xquilla 5. Set up variables in influx_config.sh -6. run enable_auth_influx-sh (you may need sudo) and wait a few seconds +6. run enable_auth_influx-sh or do it mannually (you may need sudo) and wait a few seconds 7. Setup retention policy duration in init_influx.sh : defalut is INF (old data is not deleted ) you can set the duration in time of the table containig 1)all measurements from qstat, @@ -95,8 +87,6 @@ INSTALL set $SCRIPTPATH in insert.sh and insert_tables.sh with the absolute path of the scripts(this is done because when those script are in crontab relative path fails) Add the following line to the proper users crontab, making sure you replace [...]/insert.sh with the proper path : */3 * * * * [...]/insert.sh > /dev/null 2>&1 - Add the following line to the proper users crontab, making sure you replace [...]/insert_tables.sh with the proper path : - */3 * * * * [...]/insert_tables.sh > /dev/null 2>&1 11. set graphana: you can access grafana with [YOUR_URL]:3000 default login admin admin @@ -113,7 +103,7 @@ INSTALL 12. set parameters in config.php set grafana url (go to you dashboard->share dashboard->link to dashboard or just copy paste browser url) set Format for hosts,queues,jobs -13. Set users in grafana so that not everyone can modify graph dashboard ecc.(you can also make users be able to modify the dashboard as they want, but they cannot save) +13. Set users in grafana so that not everyone can modify graph dashboard ecc.(you can also make users be able to modify the dashboard as they want, but they cannot save), you can disable log-in in the configuration file (auth.anonymous enabled=true) OPTIONAL diff --git a/Web/about.php b/Web/about.php index 6168db3..d1b94ca 100755 --- a/Web/about.php +++ b/Web/about.php @@ -1,41 +1,25 @@ - - - - -
-
- - -
-PHPQstat
A web interface to qstat and other useful commands of the Grid Engine (GE) batch queue system.
-With this interface, you and your users can monitor your jobs and your queue status conveniently via a web browser.

-AUTHORS
-HTML5 interface, UGE support and additional features added by Lydia Sevelt
-Originally written by Jordi Blasco Pallarès.

-Additional libraries
-HTML5 interface utilizes the excellent datatables and jquery javascript libraries.

-LICENSE
-This is free software: you are free to change and redistribute it. GNU General Public License version 3.0 (GPLv3).

-Version : 0.3.0 (December 2016)
-https://github.com/LydiaSevelt/PHPQstat
-
-
-
- - - +
+ PHPQstat
+ A web interface to qstat and other useful commands of the Grid Engine (GE) batch queue system.
+ With this interface, you and your users can monitor your jobs and your queue status conveniently via a web browser.
+
+ AUTHORS
+ InfluxDB & Grafana re-implementation by Renato Pancheri + HTML5 interface, UGE support and additional features added by Lydia Sevelt
+ Originally written by Jordi Blasco Pallarès.
+
+ Additional libraries
+ HTML5 interface utilizes the excellent datatables and jquery javascript libraries.
+
+ LICENSE
+ This is free software: you are free to change and redistribute it. GNU General Public License version 3.0 (GPLv3).
+
+ Version : 0.3.0 (December 2016)
+ https://github.com/LydiaSevelt/PHPQstat
+
- - - - - - - - diff --git a/Web/bottom.php b/Web/bottom.php index 2a78d6d..f42c391 100755 --- a/Web/bottom.php +++ b/Web/bottom.php @@ -1,4 +1,8 @@ - - - + + + diff --git a/Web/config.php b/Web/config.php index 0997d3a..06c9bed 100755 --- a/Web/config.php +++ b/Web/config.php @@ -7,11 +7,9 @@ $GrafanaUrl="http://192.168.187.128:3000/dashboard/db/abcd"; $DBQuery="$DBUrl:$DBPort/query?db=$DBName&q="; $Query=array(); -$Query["hosts"]="SELECT last(*) FROM hosts limit 1";#if you change the query or the DB structore -$Query["queues"]="SELECT last(*) FROM queues limit 1";#you have to change the function translateRequest() in influx.php -$Query["jobs"]="SELECT last(*) FROM jobs limit 1"; - - +$Query["hosts"]="SELECT * FROM hosts group by * order by time DESC limit 1";#if you change the query or the DB structore +$Query["queues"]="SELECT * FROM queues group by * order by time DESC limit 1";#you have to change the function +$Query["jobs"]="SELECT * FROM jobs group by * order by time DESC limit 1";#translateRequest() in influx.php #option to modify the tablein page hosts,queues and jobs @@ -24,7 +22,10 @@ # you can use placeholder for values of the same row using {column_name} in the url string # example "name"=>"index.php?id={id}" will place a link in every cell of the column name # with the link "index.php?id=" followed by the column id -#the options have to be placed in this way $Format["page_name"]["option"]=... +# -tableOpt: a string that is placed in the javascript code that declares the dataTable +# you can use it to specify datatable option for a single page +# the string needs to start with , +#the options have to be in this way $Format["page_name"]["option"]=... $Format=array(); $Format["hostnames"]=array(); $Format["hosts"]["links"]=array(); @@ -36,19 +37,84 @@ $Format["hosts"]["rename"]=array( - #"oldname1"=>"newname1", - #"oldname2"=>"newname2", + "HOSTNAME"=>"Hostname", + "LOAD"=>"Load", + "MEMUSE"=>"Memory Used", + "MEMTOT"=>"Total Memory", + "NCOR"=>"Core Number", + "NCPU"=>"CPU Number", + "NSOC"=>"Socked Number", + "ARCH"=>"Architecture" ); -#$Format["hosts"]["show"]=array("LOAD"); #shows only load column in this page +$Format["hosts"]["show"]=array("Hostname","Load","Memory Used","Total Memory","Core Number","CPU Number","Socked Number","Architecture"); #shows only load column in this page $Format["hosts"]["links"]=array( #"column where link has to be"=>"qstat_job.php?id={a column}" ); +$Format["hosts"]["tableOpt"]=""; + $Format["queues"]["rename"]=array( + "name"=>"Name", + "load"=>"Load", + "used"=>"Slots Used", + "total"=>"Total Slots", + "available"=>"Available Slots" ); - +$Format["queues"]["show"]=array("Name","Load","Slots Used","Total Slots","Available Slots","temp_disabled","manual_intervention","resv"); +$Format["queues"]["tableOpt"]=""; $Format["jobs"]["rename"]=array( + "JAT_ntix"=>"ntix", + "JAT_prio"=>"prio", + "JAT_share"=>"share", + "JAT_start_time"=>"start time", + "JB_department"=>"department", + "JB_job_number"=>"Job Number", + "JB_jobshare"=>"job share", + "JB_name"=>"job name", + "JB_override_tickets"=>"override tickets", + "JB_owner"=>"owner", + "JB_project"=>"project", + "JB_submission_time"=>"submission time", + #"_state"=>"state", + #"binding"=>"", + "cpu_usage"=>"CPU Usage", + #"def_hard_request"=>"", + #"def_hard_request_name"=>"", + #"ftickets"=>"", + #"full_job_name"=>"", + #"granted_pe"=>"", + #"granted_pe_name"=>"", + #"hard_req_queue"=>"", + #"hard_request"=>"", + #"hard_request_name"=>"", + #"hard_request_resource_contribution"=>"", + "io_usage"=>"I/O Usage", + #"master"=>"", + "mem_usage"=>"Memory Usage", + #"otickets"=>"", + "queue"=>"Queue", + #"requested_pe"=>"", + #"requested_pe_name"=>"", + #"slots"=>"", + #"state"=>"", + #"stickets"=>"", + #"tickets"=>"" ); -#$Format["jobs"]["links"]["colname"]="qstat_job.php?id={colname}..."; +$Format["jobs"]["show"]=array("Job Number","job name","state","Queue","slots","prio","owner", + "_state","ftickets","stickets", + "tickets","CPU Usage","I/O Usage","Memory Usage","job share","department","granted_pe","hard_req_queue", + "hard_request","hard_request_name","hard_request_resource_contribution", + "master","otickets","full_job_name","requested_pe_name","share","ntix","project", + "start time","submission time","requested_pe","granted_pe_name","override tickets"); +$Format["jobs"]["links"]["Job Number"]="qstat_job.php?id={Job Number}"; +$Format["jobs"]["tableOpt"]=",\"columnDefs\": [{ + \"visible\": false, + targets: ['_state','def_hard_request','def_hard_request_name', + 'ftickets','stickets','tickets','CPU Usage','I/O Usage','Memory Usage', + 'job share','department','granted_pe','hard_req_queue','hard_request', + 'hard_request_name','hard_request_resource_contribution', + 'master','otickets','full_job_name','requested_pe_name','share','ntix', + 'project','start time','submission time','requested_pe','granted_pe_name'] +}]"; ?> diff --git a/Web/datatable/sort_asc.png b/Web/datatable/DataTables-1.10.15/images/sort_asc.png similarity index 100% rename from Web/datatable/sort_asc.png rename to Web/datatable/DataTables-1.10.15/images/sort_asc.png diff --git a/Web/datatable/sort_asc_disabled.png b/Web/datatable/DataTables-1.10.15/images/sort_asc_disabled.png similarity index 100% rename from Web/datatable/sort_asc_disabled.png rename to Web/datatable/DataTables-1.10.15/images/sort_asc_disabled.png diff --git a/Web/datatable/sort_both.png b/Web/datatable/DataTables-1.10.15/images/sort_both.png similarity index 100% rename from Web/datatable/sort_both.png rename to Web/datatable/DataTables-1.10.15/images/sort_both.png diff --git a/Web/datatable/sort_desc.png b/Web/datatable/DataTables-1.10.15/images/sort_desc.png similarity index 100% rename from Web/datatable/sort_desc.png rename to Web/datatable/DataTables-1.10.15/images/sort_desc.png diff --git a/Web/datatable/sort_desc_disabled.png b/Web/datatable/DataTables-1.10.15/images/sort_desc_disabled.png similarity index 100% rename from Web/datatable/sort_desc_disabled.png rename to Web/datatable/DataTables-1.10.15/images/sort_desc_disabled.png diff --git a/Web/datatable/datatables.min.css b/Web/datatable/datatables.min.css index 21a920b..0940e7d 100755 --- a/Web/datatable/datatables.min.css +++ b/Web/datatable/datatables.min.css @@ -4,13 +4,16 @@ * * To rebuild or modify this file with the latest versions of the included * software please visit: - * https://datatables.net/download/#dt/jq-2.2.3/dt-1.10.12/cr-1.3.2 + * https://datatables.net/download/#dt/jq-2.2.4/dt-1.10.15/b-1.3.1/b-colvis-1.3.1/cr-1.3.3 * * Included libraries: - * jQuery 2.2.3, DataTables 1.10.12, ColReorder 1.3.2 + * jQuery 2.2.4, DataTables 1.10.15, Buttons 1.3.1, Column visibility 1.3.1, ColReorder 1.3.3 */ -table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold;text-align:left}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc{cursor:pointer;*cursor:hand}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table,.dataTables_wrapper.no-footer div.dataTables_scrollBody table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}} +table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("DataTables-1.10.15/images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("DataTables-1.10.15/images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("DataTables-1.10.15/images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("DataTables-1.10.15/images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("DataTables-1.10.15/images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead>table,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}} + + +@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}button.dt-button,div.dt-button,a.dt-button{position:relative;display:inline-block;box-sizing:border-box;margin-right:0.333em;padding:0.5em 1em;border:1px solid #999;border-radius:2px;cursor:pointer;font-size:0.88em;color:black;white-space:nowrap;overflow:hidden;background-color:#e9e9e9;background-image:-webkit-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:-moz-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:-ms-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:-o-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:linear-gradient(to bottom, #fff 0%, #e9e9e9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='white', EndColorStr='#e9e9e9');-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;outline:none}button.dt-button.disabled,div.dt-button.disabled,a.dt-button.disabled{color:#999;border:1px solid #d0d0d0;cursor:default;background-color:#f9f9f9;background-image:-webkit-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:-moz-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:-ms-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:-o-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:linear-gradient(to bottom, #fff 0%, #f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#ffffff', EndColorStr='#f9f9f9')}button.dt-button:active:not(.disabled),button.dt-button.active:not(.disabled),div.dt-button:active:not(.disabled),div.dt-button.active:not(.disabled),a.dt-button:active:not(.disabled),a.dt-button.active:not(.disabled){background-color:#e2e2e2;background-image:-webkit-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:-moz-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:-ms-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:-o-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:linear-gradient(to bottom, #f3f3f3 0%, #e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f3f3f3', EndColorStr='#e2e2e2');box-shadow:inset 1px 1px 3px #999999}button.dt-button:active:not(.disabled):hover:not(.disabled),button.dt-button.active:not(.disabled):hover:not(.disabled),div.dt-button:active:not(.disabled):hover:not(.disabled),div.dt-button.active:not(.disabled):hover:not(.disabled),a.dt-button:active:not(.disabled):hover:not(.disabled),a.dt-button.active:not(.disabled):hover:not(.disabled){box-shadow:inset 1px 1px 3px #999999;background-color:#cccccc;background-image:-webkit-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:-moz-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:-ms-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:-o-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:linear-gradient(to bottom, #eaeaea 0%, #ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#eaeaea', EndColorStr='#cccccc')}button.dt-button:hover,div.dt-button:hover,a.dt-button:hover{text-decoration:none}button.dt-button:hover:not(.disabled),div.dt-button:hover:not(.disabled),a.dt-button:hover:not(.disabled){border:1px solid #666;background-color:#e0e0e0;background-image:-webkit-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:-moz-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:-ms-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:-o-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:linear-gradient(to bottom, #f9f9f9 0%, #e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f9f9f9', EndColorStr='#e0e0e0')}button.dt-button:focus:not(.disabled),div.dt-button:focus:not(.disabled),a.dt-button:focus:not(.disabled){border:1px solid #426c9e;text-shadow:0 1px 0 #c4def1;outline:none;background-color:#79ace9;background-image:-webkit-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:-moz-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:-ms-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:-o-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:linear-gradient(to bottom, #bddef4 0%, #79ace9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#bddef4', EndColorStr='#79ace9')}.dt-button embed{outline:none}div.dt-buttons{position:relative;float:left}div.dt-buttons.buttons-right{float:right}div.dt-button-collection{position:absolute;top:0;left:0;width:150px;margin-top:3px;padding:8px 8px 4px 8px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.4);background-color:white;overflow:hidden;z-index:2002;border-radius:5px;box-shadow:3px 3px 5px rgba(0,0,0,0.3);z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}div.dt-button-collection button.dt-button,div.dt-button-collection div.dt-button,div.dt-button-collection a.dt-button{position:relative;left:0;right:0;display:block;float:none;margin-bottom:4px;margin-right:0}div.dt-button-collection button.dt-button:active:not(.disabled),div.dt-button-collection button.dt-button.active:not(.disabled),div.dt-button-collection div.dt-button:active:not(.disabled),div.dt-button-collection div.dt-button.active:not(.disabled),div.dt-button-collection a.dt-button:active:not(.disabled),div.dt-button-collection a.dt-button.active:not(.disabled){background-color:#dadada;background-image:-webkit-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:-moz-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:-ms-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:-o-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:linear-gradient(to bottom, #f0f0f0 0%, #dadada 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f0f0f0', EndColorStr='#dadada');box-shadow:inset 1px 1px 3px #666}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-150px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:2001}@media screen and (max-width: 640px){div.dt-buttons{float:none !important;text-align:center}}button.dt-button.processing,div.dt-button.processing,a.dt-button.processing{color:rgba(0,0,0,0.2)}button.dt-button.processing:after,div.dt-button.processing:after,a.dt-button.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear} table.DTCR_clonedTable.dataTable{position:absolute !important;background-color:rgba(255,255,255,0.7);z-index:202}div.DTCR_pointer{width:1px;background-color:#0259C4;z-index:201} diff --git a/Web/datatable/datatables.min.js b/Web/datatable/datatables.min.js index 0a9ba2a..dfcd505 100755 --- a/Web/datatable/datatables.min.js +++ b/Web/datatable/datatables.min.js @@ -4,188 +4,236 @@ * * To rebuild or modify this file with the latest versions of the included * software please visit: - * https://datatables.net/download/#dt/jq-2.2.3/dt-1.10.12/cr-1.3.2 + * https://datatables.net/download/#dt/jq-2.2.4/dt-1.10.15/b-1.3.1/b-colvis-1.3.1/cr-1.3.3 * * Included libraries: - * jQuery 2.2.3, DataTables 1.10.12, ColReorder 1.3.2 + * jQuery 2.2.4, DataTables 1.10.15, Buttons 1.3.1, Column visibility 1.3.1, ColReorder 1.3.3 */ -/*! jQuery v2.2.3 | (c) jQuery Foundation | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c; -}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length",""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,la=/\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n(""; + echo " "; } -echo " -
- - "; include("bottom.php"); ?> diff --git a/Web/influx.php b/Web/influx.php index d31ed0a..57af95a 100755 --- a/Web/influx.php +++ b/Web/influx.php @@ -30,24 +30,24 @@ function influxCurl($query){ $result=curl_exec($ch); curl_close($ch); return $result; - } -#data manipulation (transforms string from InfluxDB in matrix elem[$column][$row]) +#data manipulation (transforms json output from InfluxDB in matrix elem[$column][$row]) +#matrix is not of the formt M[$row][$column] because i need all the column names for the thead tag of the table function translateRequest($request){ $JSON=json_decode($request); $ret=array(); - foreach ($JSON->results[0]->series[0]->columns as $key => $value){ - $i=strpos($value,'['); + $n_values=$JSON->results[0]->series[0]->values[0][array_search("{n_values}",$JSON->results[0]->series[0]->columns)]; + foreach ($JSON->results[0]->series[0]->columns as $key => $value){#every key is in this format : $colname[$rowNumber] + $i=strpos($value,'[');#getting $colname if($i!==FALSE){ - $colname=substr($value,5,$i-5);#5: name start with "last_" when you select last(*) so i drop first 5 chars - $rowIndex=substr($value,$i+1,strpos($value,']')-$i-1); - $ret[$colname][$rowIndex]=$JSON->results[0]->series[0]->values[0][$key]; - } - if($value=="last_{n_values}"){ - $n_values=$JSON->results[0]->series[0]->values[0][$key]; + $colname=substr($value,0,$i); + $rowIndex=substr($value,$i+1,strpos($value,']')-$i-1);#getting $rowNumber + if($rowIndex<$n_values){ + $ret[$colname][$rowIndex]=$JSON->results[0]->series[0]->values[0][$key];#getting value + } } } - foreach ($ret as $key =>$column){ + foreach ($ret as $key =>$column){#setting empty string where value is missing for($i=0;$i<$n_values;$i++){ if(!isset($ret[$key][$i])){ $ret[$key][$i]=""; @@ -59,12 +59,13 @@ function translateRequest($request){ #function to call from outside to print the final table #Params: # -$data: result from getDataFromDB -# -$format: $Format["..."] (see config.php) +# -$format: $Format["$page"] (see config.php) function drawAll($data,$format){ if(!isset($format)){ $format=array(); $format["rename"]=array(); $format["links"]=array(); + $format["tableOpt"]=""; } if(!empty($data)){ foreach($format["rename"] as $key =>$newkey){#renaming columns @@ -82,16 +83,15 @@ function drawAll($data,$format){ array_push($keys,$key); } } - addLinksToData($data,$format["links"],$keys); - printTable($data,$keys); + addLinksToData($data,$format["links"]); + printTable($data,$keys,$format["tableOpt"]); } } #adds $value){ foreach($data[$column] as $rowIndex =>$element){ $temp=$value; @@ -105,45 +105,28 @@ function addLinksToData(& $data,$links,$keys){ #prints the table #Params: -# -$data: data in format Matrix[$column][$row] -# -$keys: array containing columns names -function printTable($data,$keys){ -echo "";#div is added only because if you have a lot of columns, page buttons and next,previous,ecc are out of screen -echo "
\n - \n"; -echo ""; +# -$data: data in format Matrix[$column][$row] +# -$keys: array containing columns names +# -$tableOpt: string included in dataTables initialization +function printTable($data,$keys,$tableOpt){ +echo "
+ + "; foreach ($keys as $column){ - echo ""; + echo ""; } -echo "\n"; +echo " + + + "; foreach ($keys as $column){ echo "";#search inputs are created in tfoot and moved in thead after datatable creation(i cant find a simpler way to make them work right) } -echo "\n\n"; +echo " + + \n"; foreach ($data[$keys[0]] as $rowIndex=>$value){ - echo ""; + echo " "; foreach ($keys as $colIndex){ echo "\n"; } -echo "\n
$column$column
"; echo $data[$colIndex][$rowIndex]; @@ -151,7 +134,37 @@ function printTable($data,$keys){ } echo "
\n
"; +echo " + + "; } ?> diff --git a/Web/qstat.css b/Web/qstat.css new file mode 100755 index 0000000..48ce7a3 --- /dev/null +++ b/Web/qstat.css @@ -0,0 +1,57 @@ +body { + margin: 0; +} +iframe { + display: block; + border: none; + height: 90vh; + width: 100vw; + height:85vh; + margin-left:auto; + margin-right:auto; +} +div { +} +#nav { +height:80px; +width:750px; +margin:0 auto; +list-style:none; +} +#nav li { +float:left; +} +#nav a { +display:block; +text-align:center; +height:50px; +width:128px; +line-height:50px; +text-decoration:none; +padding :0; +margin-top:15px; + +} +#nav img { +display:block; +text-align:center; +height:80px; +width:80px; +line-height:80px; +} +#job_table{ +margin:0 auto; + +} +.footer{ + margin-top:50px; + color: #999999; +} +.footer p{ + text-align:center; + +} +.footer a{ + text-decoration:none; + color: #000000; +} diff --git a/Web/qstat_job.php b/Web/qstat_job.php index 5f11628..a5d2e50 100755 --- a/Web/qstat_job.php +++ b/Web/qstat_job.php @@ -1,33 +1,32 @@ - - - - - -
- "; +echo " \n"; +echo ""; foreach ($jobs as $key=>$value){ echo ""; + echo "\n"; } -echo "
namevalue
"; echo $key; echo ""; echo $jobs[$key][$index]; - echo "
"; +echo " "; ?> -
- - + diff --git a/enable_auth_influx.sh b/enable_auth_influx.sh index 670e92d..50928e4 100755 --- a/enable_auth_influx.sh +++ b/enable_auth_influx.sh @@ -1,5 +1,6 @@ #!/bin/bash source influx_config.sh +INFLUXCONFIGFILE="/etc/influxdb/influxdb.conf" URL=$DBURL:$PORT/query curl -XPOST "$URL" --data-urlencode "q=CREATE USER $INFLUXUSER WITH PASSWORD '$INFLUXPASSWORD' WITH ALL PRIVILEGES" sed -i 's/# auth-enabled = false/auth-enabled = true/g' $INFLUXCONFIGFILE diff --git a/influx_config.sh b/influx_config.sh index cb143f6..bc13956 100755 --- a/influx_config.sh +++ b/influx_config.sh @@ -5,6 +5,5 @@ DBURL="http://localhost" PORT=8086 INFLUXUSER='admin' INFLUXPASSWORD='admin' -INFLUXCONFIGFILE="/etc/influxdb/influxdb.conf" #if you change password when you have already started data #gathering you have to change the password in influxdb as well! diff --git a/insert.sh b/insert.sh index 64fcc54..8e934da 100755 --- a/insert.sh +++ b/insert.sh @@ -1,10 +1,185 @@ #!/bin/bash -SCRIPTPATH="//home/abc" +####################init variables########################## +SCRIPTPATH="//home/ubuntu123456789/Desktop/qstat_2" #supposed to be the folder where you have this script, +# this is needed because when cron.d run this script the paths are messed up source $SCRIPTPATH/influx_config.sh -DATABASE='QstatDB' -RET_POLICY='min' #change this if there is a different retetion policy ( old data is deleted automatically) +DATABASE='QstatDB_tables' +RET_POLICY='min' URL="$DBURL:$PORT/write?db=$DATABASE&rp=$RET_POLICY" -QUEUE_COMMAND="cat //home/abc/myqstatgc" #"qstat -g c" +HOSTS_COMMAND="qhost -cb" #set qhost -ncb if you have son of grid engine +DATABASE_GRAPH='QstatDB' +RET_POLICY_GRAPH='min' +URL_GRAPH="$DBURL:$PORT/write?db=$DATABASE_GRAPH&rp=$RET_POLICY_GRAPH" +QUEUE_COMMAND_GRAPH="qstat -g c" +QUEUE_RESULT=$(qstat -g c -xml) +JOB_RESULT=$(qstat -f -u *, -r -t -ext -xml) +######################functions################# +#function parameters: +# -$1: path in xml file +# -$2: string containg xml +myxml(){ +echo $((echo $2) | xqilla -i /dev/stdin <(echo $1)) +} +#get all data from a vector of xml elements (can be queues or jobs) +getValuesFromXmlVector(){ + #find number of elements + local VectorNumber=$(myxml "count($1)" "$2" ) + #find number of attributes of main tag and number of node child for every element + + local ElemIndex=0 + local ElemIndex2 + local ElemIter + local temp + local temp2 + local XPath=$'concat(' + for((ElemIter=1;$ElemIter<=$VectorNumber;ElemIter++,ElemIndex++)) + do + XPath+="count($1[$ElemIter]/@*),' ',count($1[$ElemIter]/*),' '," + done + XPath+="' ',' ')" + local NPar=$(myxml "$XPath" "$2") + + #get values&names of attributes of main tag and values&names of node child, getting number of attributes of node child for every element + ElemIter=0 + local RETURN_DATA=$'' + XPath=$'concat(' + local XPath2=$'concat(' + for n in $NPar; + do + ElemIndex=$[ ($ElemIter /2) +1] + ElemIndex2=$[ $ElemIndex -1] + temp=$[ $ElemIter % 2 ] + if [ $temp -eq 0 ] + then + #getting parameters of root element + for((cont=1;$cont<=$n;cont++)) + do + temp2="$1[$ElemIndex]/@*[$cont]" + XPath+="'_',local-name($temp2),'[$ElemIndex2]=\"',string($temp2),'\",'," + done + else + #getting name and values of children, counting parameters of those children + for((cont=1;$cont<=$n;cont++)) + do + temp2="$1[$ElemIndex]/*[$cont]" + XPath+="local-name($temp2),'[$ElemIndex2]=\"',string($temp2),'\",'," + XPath2+="'$ElemIndex ',local-name($temp2),' $cont ',count($temp2/@*),' '," + done + fi + ElemIter=$[ $ElemIter +1] + #before the string to elaborate becomes too big, i process it now + if [ $[ $ElemIndex % 30 ] -eq 0 ] + then + XPath+="' ',' ')" + RETURN_DATA+=$(myxml "$XPath" "$2") + XPath=$'concat(' + fi + + done + XPath+="' ',' ')" + XPath2+="' ',' ')" + local RETURN_DATA+=$(myxml "$XPath" "$2") + local NparChild=$(myxml "$XPath2" "$2") + ElemIndex=0 + local countPar=1 + local thisJob + local thisChild + local i=0 + local type + #getting child's parameters + XPath=$'concat(' + for n in $NparChild; + do + type=$[ $i % 4 ] + if [ $type -eq 0 ] + then + if [ $ElemIndex -eq $n ] + then + countPar=$[ $countPar +1 ] + else + ElemIndex=$n + ElemIndex2=$[ $ElemIndex -1 ] + countPar=1 + fi + elif [ $type -eq 1 ] + then + thisJob=$n + elif [ $type -eq 2 ] + then + thisChild=$n + else + for ((count=1;$count<=$n;count++)) + do + temp="$1[$ElemIndex]/*[$thisChild]/@*[$count]" + XPath+="'$thisJob','_',local-name($temp),'[$ElemIndex2]=\"',string($temp),'\",'," + done + fi + i=$[ $i +1 ] + done + XPath+="' ',' ')" + wait + RETURN_DATA+=$(myxml "$XPath" "$2") + RETURN_DATA+="{n_values}=$ElemIndex" + + echo $RETURN_DATA +} +#the queue name is not present in the job data, i retreive it here +getQueueFromJobXmlVector(){ + local XPath=$'concat(' + local n=$(myxml "count($1)" "$2") + for((i=0;$i<$n;i++)) + do + XPath+="'queue[$i]=\"',string($1[$i]/../name),'\",'," + done + XPath+="' ',' ')" + echo $(myxml "$XPath" "$2") +} +#########################gathering data for grafana################### +DATA=$($QUEUE_COMMAND_GRAPH | awk '{if($1 !~ /CLUSTER/ && $3 ~ /^[0-9]/){printf "queue used_%s=%s,max_%s=%s\n", $1,$3,$1,$6}}') +curl -i -u $INFLUXUSER:$INFLUXPASSWORD -XPOST $URL_GRAPH --data-binary "$DATA" +#######################gathering hosts data########################### +DATA=$'' +DATA+=$($HOSTS_COMMAND | awk ' +function escape_influx(text) +{ + temp=gensub(/,/, "\\\\,","g",text) + temp=gensub(/=/, "\\\\=","g",temp); + temp=gensub(/ /, "\\\\ ","g",temp); + return temp; +} -DATA=$($QUEUE_COMMAND | awk '{if($1 !~ /CLUSTER/ && $3 ~ /^[0-9]/){printf "queue used_%s=%s,max_%s=%s\n", $1,$3,$1,$6}}') + +NR==1{printf "hosts ";sum=0;meta[0]=NF;for(i=1;i<=NF;i++) meta[i]=escape_influx($i)} + +NR>2&&NF==meta[0]{for(i=1;i([^N]*)$",a);if(a[1] ~ /^[0-9]/ && $6<1490713018) {printf "%s used_%s=%s %s000000000\n",y, b[1] ,a[1],$6}}' >file.txt + rrdtool dump $q |awk -v x=$q -v y=$TABLENAME -v z=$TIMESTAMP ' + BEGIN{match(x,"rrd/qacct_(.*).rrd",b)} + { + match($8,"^([^N]*)$",a); + if(a[1] ~ /^[0-9]/ && $6file.txt curl -i -u $INFLUXUSER:$INFLUXPASSWORD -XPOST $URL --data-binary @file.txt - read -p "processed queue $q" rm file.txt done curl -XPOST "$DBURL:$PORT/query?db=$DATABASE" -u $INFLUXUSER:$INFLUXPASSWORD --data-urlencode 'q=select mean(*) as "day_mean_used" into day.queue from min.queue where time>1 group by time(1d)' diff --git a/insert_tables.sh b/insert_tables.sh deleted file mode 100755 index 629f8db..0000000 --- a/insert_tables.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/bash -####################init variables########################## -SCRIPTPATH="//home/abc" -source $SCRIPTPATH/influx_config.sh -DATABASE='QstatDB_tables' -RET_POLICY='min' #change this if there is a different retetion policy ( old data is deleted automatically) -URL="$DBURL:$PORT/write?db=$DATABASE&rp=$RET_POLICY" -HOSTS_COMMAND="cat $SCRIPTPATH/myqhost" #"qhost -(n)cb" -QUEUES_COMMAND="qstat - g c -xml >qstatgc.xml" -JOBS_COMMAND="qstat -f -u *, -r -t -ext -xml >qstat_full.xml" -######################functions################# -#function parameters: -# -$1: path in xml file -# -$2: file name -# -$3: index in the vector returned (getQueueFromJobXmlElement '//mytag' filename.xml 2 ===> queue[2]="...", - -getValuesFromXmlElement(){ - local JobString=$'' - JobString+=$(getParameters $1 $2 $3) - local CountTag=$(xmllint --xpath "count($1/*)" $2 ) - local temp - local JobIter - for((JobIter=1;$JobIter<=$CountTag;JobIter++)) - do - temp=$(xmllint --xpath "local-name($1/*[$JobIter])" $2 ) - temp+="[$3]=\"" - temp+=$(xmllint --xpath "string($1/*[$JobIter])" $2 ) - temp+="\"" - JobString+=$temp, - JobString+=$(getParameters "$1/*[$JobIter]" $2 $3) - done - echo $JobString -} -getQueueFromJobXmlElement(){ - temp="queue[$3]=\"" - temp+=$(xmllint --xpath "string($1/../name)" $2) - temp+="\"," - echo $temp - -} -getParameters(){ - local ParString=$'' - local CountPar=$(xmllint --xpath "count($1/@*)" $2 ) - local baseName=$(xmllint --xpath "local-name($1)" $2) - local temp - local ParamIter - for ((ParamIter=1;$ParamIter<=$CountPar;ParamIter++)) - do - temp=$baseName - temp+="_" - temp+=$(xmllint --xpath "local-name($1/@*[$ParamIter])" $2) - temp+="[$3]=\"" - temp+=$(xmllint --xpath "string($1/@*[$ParamIter])" $2) - temp+="\"" - ParString+=$temp, - done - echo $ParString -} -#######################gathering hosts data########################### - - - -DATA=$'' -DATA+=$($HOSTS_COMMAND | awk ' -function escape_influx(text) -{ - temp=gensub(/,/, "\\\\,","g",text) - temp=gensub(/=/, "\\\\=","g",temp); - temp=gensub(/ /, "\\\\ ","g",temp); - return temp; -} - - -NR==1{printf "hosts ";sum=0;meta[0]=NF;for(i=1;i<=NF;i++) meta[i]=escape_influx($i)} - -NR>2&&NF==meta[0]{for(i=1;i - - - - all.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - all.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - all.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - all.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - all.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - all.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - all.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - all.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - d - - - all.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - d - - - all.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - d - - - all.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - d - - - all.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - all.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - d - - - all.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - all.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - all.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - all.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - all.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - all.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - all.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - all.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - all.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - all.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - all.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - all.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - all.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - all.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - all.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - etc_batch.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - etc_batch.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - etc_batch.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - etc_batch.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - etc_batch.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - etc_batch.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - etc_batch.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - etc_batch.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - etc_batch.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - etc_batch.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - etc_batch.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - etc_batch.q@rscgrid1cn2.grid-air-worldwide.com - BP - 1 - 0 - 36 - 0.00083 - lx-amd64 - - 1769493 - 0.49977 - 0.00106 - QLOGIN - i53342 - etc_batch - defaultdepartment - r - 2017-04-18T17:50:40.231 - 3043 - 33207.81179 - 191.22872 - 1018 - 0 - 0 - 1000 - 0 - 18 - 0.00101 - MASTER - 1 - QLOGIN - 21600 - 25G - 1G - etc_batch.q - NONE - - - - etc_batch.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - etc_batch.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - etc_batch.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - etc_batch.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - etc_batch.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - etc_batch.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - etc_batch.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - etc_batch.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - etc_batch.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - etc_batch.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - etc_batch.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - etc_batch.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - etc_batch.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - etc_batch.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - etc_batch.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - etc_batch.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - finance.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - finance.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - finance.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - finance.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - finance.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - finance.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - finance.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - finance.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - finance.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - finance.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - finance.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - finance.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - finance.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - finance.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - finance.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - finance.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - finance.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - finance.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - finance.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - finance.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - finance.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - finance.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - finance.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - finance.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - finance.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - finance.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - finance.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - finance.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - flood_batch.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - flood_batch.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - flood_batch.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - flood_batch.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - flood_batch.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - flood_batch.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - flood_batch.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - flood_batch.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - flood_batch.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - flood_batch.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - flood_batch.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - flood_batch.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - flood_batch.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - flood_batch.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - flood_batch.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - flood_batch.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - flood_batch.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - flood_batch.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - flood_batch.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - flood_batch.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - flood_batch.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - flood_batch.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - flood_batch.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - flood_batch.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - flood_batch.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - flood_batch.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - flood_batch.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - flood_batch.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - gensc_batch.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - gensc_batch.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - gensc_batch.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - gensc_batch.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - gensc_batch.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - gensc_batch.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - gensc_batch.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - gensc_batch.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - gensc_batch.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - gensc_batch.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - gensc_batch.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - gensc_batch.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - gensc_batch.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - gensc_batch.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - gensc_batch.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - gensc_batch.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - gensc_batch.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - gensc_batch.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - gensc_batch.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - gensc_batch.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - gensc_batch.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - gensc_batch.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - gensc_batch.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - gensc_batch.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - gensc_batch.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - gensc_batch.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - gensc_batch.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - gensc_batch.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - interactive.q@rscgrid1cn1.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - interactive.q@rscgrid1cn10.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - interactive.q@rscgrid1cn11.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - interactive.q@rscgrid1cn12.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - interactive.q@rscgrid1cn13.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - interactive.q@rscgrid1cn14.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - interactive.q@rscgrid1cn15.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - interactive.q@rscgrid1cn16.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - interactive.q@rscgrid1cn17.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - interactive.q@rscgrid1cn18.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - interactive.q@rscgrid1cn19.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - interactive.q@rscgrid1cn2.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - interactive.q@rscgrid1cn20.grid-air-worldwide.com - BIP - 1 - 0 - 36 - 0.00111 - lx-amd64 - - 1769451 - 0.50020 - 0.04492 - QRLOGIN - i55450 - standby - defaultdepartment - r - 2017-04-18T09:42:43.890 - 0 - 0.00537 - 0.00689 - 43069 - 0 - 0 - 1000 - 0 - 42069 - 0.04286 - MASTER - 1 - QRLOGIN - 128G - 1G - NONE - - - - interactive.q@rscgrid1cn21.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - interactive.q@rscgrid1cn22.grid-air-worldwide.com - BIP - 1 - 0 - 36 - 0.00000 - lx-amd64 - - 1769491 - 0.49977 - 0.00104 - QLOGIN - i51559 - interactive - defaultdepartment - r - 2017-04-18T16:59:27.850 - 7084 - 589349.66802 - 5.74099 - 1001 - 0 - 0 - 1000 - 0 - 1 - 0.00100 - MASTER - 1 - QLOGIN - 43200 - 250G - 1G - interactive.q - NONE - - - - interactive.q@rscgrid1cn23.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - interactive.q@rscgrid1cn24.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - interactive.q@rscgrid1cn25.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - interactive.q@rscgrid1cn26.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - interactive.q@rscgrid1cn27.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - interactive.q@rscgrid1cn3.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - interactive.q@rscgrid1cn4.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - interactive.q@rscgrid1cn5.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - interactive.q@rscgrid1cn6.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - interactive.q@rscgrid1cn7.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - interactive.q@rscgrid1cn8.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - interactive.q@rscgrid1cn9.grid-air-worldwide.com - BIP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - interactive.q@rscgrid1hn1.grid-air-worldwide.com - BIP - 32 - 0 - 33 - 0.00028 - lx-amd64 - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - MASTER - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - 1769191 - 0.50976 - 1.00000 - QLOGIN - i62462 - flood_batch - defaultdepartment - dt - 2017-04-18T19:21:25.000 - 958879 - 0 - 0 - 1000 - 0 - 957879 - 0.95411 - SLAVE - 1 - QLOGIN - 32 - 32 - 2G - 28800 - 1G - NONE - - - - js_batch.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - js_batch.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - js_batch.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - js_batch.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - js_batch.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - js_batch.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - js_batch.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - js_batch.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - js_batch.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - js_batch.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - js_batch.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - js_batch.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - js_batch.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - js_batch.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - js_batch.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - js_batch.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - js_batch.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - js_batch.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - js_batch.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - js_batch.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - js_batch.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - js_batch.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - js_batch.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - js_batch.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - js_batch.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - js_batch.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - js_batch.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - js_batch.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - openmpi-mp.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - openmpi-mp.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - sea_batch.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - sea_batch.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - sea_batch.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - sea_batch.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - sea_batch.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - sea_batch.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - sea_batch.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - sea_batch.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - sea_batch.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - sea_batch.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - sea_batch.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - sea_batch.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - sea_batch.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - sea_batch.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - sea_batch.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - sea_batch.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - sea_batch.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - sea_batch.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - sea_batch.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - sea_batch.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - sea_batch.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - sea_batch.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - sea_batch.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - sea_batch.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - sea_batch.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - sea_batch.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - sea_batch.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - sea_batch.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - sff_que.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - sff_que.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - sff_que.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - sff_que.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - sff_que.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - sff_que.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - sff_que.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - sff_que.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - sff_que.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - sff_que.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - sff_que.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - sff_que.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - sff_que.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - sff_que.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - sff_que.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - sff_que.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - sff_que.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - sff_que.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - sff_que.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - sff_que.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - sff_que.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - sff_que.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - sff_que.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - sff_que.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - sff_que.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - sff_que.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - sff_que.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - sff_que.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - ss_batch.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - ss_batch.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - ss_batch.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - ss_batch.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - ss_batch.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - ss_batch.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - ss_batch.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - ss_batch.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - ss_batch.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - ss_batch.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - ss_batch.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - ss_batch.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - ss_batch.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - ss_batch.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - ss_batch.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - ss_batch.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - ss_batch.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - ss_batch.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - ss_batch.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - ss_batch.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - ss_batch.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - ss_batch.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - ss_batch.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - ss_batch.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - ss_batch.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - ss_batch.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - ss_batch.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - ss_batch.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - standby.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - standby.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - standby.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - standby.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - standby.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - standby.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - standby.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - standby.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - standby.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - standby.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - standby.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - standby.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - standby.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - standby.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - standby.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - standby.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - standby.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - standby.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - standby.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - standby.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - standby.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - standby.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - standby.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - standby.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - standby.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - standby.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - standby.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - standby.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 32 - 0.00028 - lx-amd64 - - - stormsurge.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - stormsurge.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - stormsurge.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - stormsurge.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - stormsurge.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - stormsurge.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - stormsurge.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - stormsurge.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - stormsurge.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - stormsurge.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - stormsurge.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - stormsurge.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - stormsurge.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - stormsurge.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - stormsurge.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - stormsurge.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - stormsurge.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - stormsurge.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - stormsurge.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - stormsurge.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - stormsurge.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - stormsurge.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - stormsurge.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - stormsurge.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - stormsurge.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - stormsurge.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - stormsurge.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - stormsurge.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - tc_alert.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - tc_alert.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - tc_alert.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - tc_alert.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tc_alert.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - tc_alert.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tc_alert.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - tc_alert.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - tc_alert.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - tc_alert.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - tc_alert.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - tc_alert.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - tc_alert.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - tc_alert.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - tc_alert.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tc_alert.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tc_alert.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - tc_alert.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - tc_alert.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - tc_alert.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tc_alert.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - tc_alert.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - tc_alert.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tc_alert.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - tc_alert.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - tc_alert.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - tc_alert.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - tc_alert.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - tc_batch.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - tc_batch.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - tc_batch.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - tc_batch.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tc_batch.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - tc_batch.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tc_batch.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - tc_batch.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - tc_batch.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - tc_batch.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - tc_batch.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - tc_batch.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - tc_batch.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - tc_batch.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - tc_batch.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tc_batch.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tc_batch.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - tc_batch.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - tc_batch.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - tc_batch.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tc_batch.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - tc_batch.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - tc_batch.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tc_batch.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - tc_batch.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - tc_batch.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - tc_batch.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - tc_batch.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn1.grid-air-worldwide.com - BP - 36 - 0 - 36 - 0.03000 - lx-amd64 - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 89666 - 1087136.48039 - 109.05812 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - MASTER - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - 1769201 - 0.49978 - 0.00108 - JobName - i57269 - tsunami_batch - defaultdepartment - r - 2017-04-17T18:22:04.497 - 1031 - 0 - 0 - 1000 - 0 - 31 - 0.00103 - SLAVE - 1 - JobName - 36 - 36 - 20G - 345600 - 1G - tsunami_batch.q - NONE - - - - tsunami_batch.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - tsunami_batch.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - tsunami_batch.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - wildfire.q@rscgrid1cn1.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.03000 - lx-amd64 - - - wildfire.q@rscgrid1cn10.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58472 - lx-amd64 - - - wildfire.q@rscgrid1cn11.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - - - wildfire.q@rscgrid1cn12.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - wildfire.q@rscgrid1cn13.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02917 - lx-amd64 - - - wildfire.q@rscgrid1cn14.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - wildfire.q@rscgrid1cn15.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02833 - lx-amd64 - - - wildfire.q@rscgrid1cn16.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - d - - - wildfire.q@rscgrid1cn17.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02778 - lx-amd64 - d - - - wildfire.q@rscgrid1cn18.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - d - - - wildfire.q@rscgrid1cn19.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - d - - - wildfire.q@rscgrid1cn2.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - wildfire.q@rscgrid1cn20.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - d - - - wildfire.q@rscgrid1cn21.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - wildfire.q@rscgrid1cn22.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - wildfire.q@rscgrid1cn23.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - wildfire.q@rscgrid1cn24.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.58556 - lx-amd64 - - - wildfire.q@rscgrid1cn25.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00056 - lx-amd64 - - - wildfire.q@rscgrid1cn26.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.59472 - lx-amd64 - - - wildfire.q@rscgrid1cn27.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - wildfire.q@rscgrid1cn3.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00083 - lx-amd64 - - - wildfire.q@rscgrid1cn4.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.02806 - lx-amd64 - - - wildfire.q@rscgrid1cn5.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00000 - lx-amd64 - - - wildfire.q@rscgrid1cn6.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00417 - lx-amd64 - - - wildfire.q@rscgrid1cn7.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00028 - lx-amd64 - - - wildfire.q@rscgrid1cn8.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00194 - lx-amd64 - - - wildfire.q@rscgrid1cn9.grid-air-worldwide.com - BP - 0 - 0 - 36 - 0.00111 - lx-amd64 - - - wildfire.q@rscgrid1hn1.grid-air-worldwide.com - BP - 0 - 0 - 0 - 0.00028 - lx-amd64 - - - - - 595643 - 0.52450 - 0.50000 - GT36S5-check - 50000179 - - defaultdepartment - qw - 2017-04-18T15:36:57 - 0 - 0 - 0 - 0 - 0 - 0 - 0.00000 - - 32 - GT36S5-check - 32 - 1 - 32 - gst - - - 594665 - 0.50956 - 0.50000 - V3-creep-36k - 50000114 - - defaultdepartment - Eqw - 2017-04-13T17:35:11 - 0 - 0 - 0 - 0 - 0 - 0 - 0.00000 - - 8 - V3-creep-36k - 8 - 6 - 1 - gstinf - - - - diff --git a/qstatgc.xml b/qstatgc.xml deleted file mode 100755 index 121a3c0..0000000 --- a/qstatgc.xml +++ /dev/null @@ -1,232 +0,0 @@ - - - - 24h - 0.01562 - 0 - 0 - 32 - 32 - 0 - 0 - - - 24test - 0.03917 - 0 - 0 - 0 - 24 - 0 - 24 - - - acustica - 0.00000 - 1 - 0 - 11 - 12 - 0 - 0 - - - admin - -nan - 0 - 0 - 0 - 0 - 0 - 0 - - - aerocompr - 0.00000 - 0 - 0 - 16 - 16 - 0 - 0 - - - ann - 0.00000 - 0 - 0 - 12 - 12 - 0 - 0 - - - cen - 0.00000 - 0 - 0 - 0 - 12 - 0 - 12 - - - cfdcombu - 0.00000 - 1 - 0 - 19 - 20 - 0 - 0 - - - excl - 0.33659 - 128 - 0 - 64 - 192 - 0 - 0 - - - gst - 0.56232 - 399 - 0 - 9 - 408 - 0 - 0 - - - gstinf - 0.03865 - 8 - 0 - 88 - 96 - 0 - 0 - - - gstvgl - 0.00000 - 0 - 0 - 40 - 40 - 0 - 0 - - - long - 0.61893 - 116 - 0 - 52 - 168 - 0 - 0 - - - long2 - 0.45319 - 76 - 0 - 4 - 80 - 0 - 0 - - - psm - 0.00000 - 0 - 0 - 60 - 60 - 0 - 0 - - - reserved1 - 0.29142 - 35 - 0 - 25 - 60 - 0 - 0 - - - reserved2 - 0.00000 - 0 - 0 - 20 - 20 - 0 - 0 - - - sas - 0.00000 - 0 - 0 - 16 - 16 - 0 - 0 - - - scterm - 0.00000 - 0 - 0 - 16 - 16 - 0 - 0 - - - serial - 0.65896 - 42 - 0 - 6 - 48 - 0 - 0 - - - short - 0 - 0 - 0 - 0 - 0 - 0 - - - tmc - 0.00000 - 0 - 0 - 12 - 12 - 0 - 0 - - - vgl - 0.00981 - 23 - 0 - 29 - 52 - 0 - 0 - - From dfb6d74d76a4e0f470debf37229e4a0689d49042 Mon Sep 17 00:00:00 2001 From: renatopancheri Date: Wed, 17 May 2017 16:24:29 +0200 Subject: [PATCH 04/17] 17-05-17 --- README.md | 3 +-- Web/qstat.css | 18 +++++++++++------- Web/qstat_job.php | 18 ++++++++++++------ insert_rrd.sh => import_rrd.sh | 0 4 files changed, 24 insertions(+), 15 deletions(-) rename insert_rrd.sh => import_rrd.sh (100%) diff --git a/README.md b/README.md index fdb43df..20b8b2c 100755 --- a/README.md +++ b/README.md @@ -14,8 +14,7 @@ Report bugs to GitHUB issue Tracker https://github.com/LydiaSevelt/PHPQstat/issu The HTML5 interface utilizes the excellent datatables (https://datatables.net) and jquery (https://jquery.com) javascript libraries. **TESTED WITH** -Son of Grid Engine 8.1.9 -Univa Grid Engine 8.3.1p6 +GE 6.2u5 **LICENSE** This is free software: you are free to change and redistribute it. GNU General Public License version 3.0 (GPLv3). diff --git a/Web/qstat.css b/Web/qstat.css index 48ce7a3..106d9a3 100755 --- a/Web/qstat.css +++ b/Web/qstat.css @@ -6,7 +6,6 @@ iframe { border: none; height: 90vh; width: 100vw; - height:85vh; margin-left:auto; margin-right:auto; } @@ -43,15 +42,20 @@ line-height:80px; margin:0 auto; } -.footer{ - margin-top:50px; - color: #999999; +.footer { + margin-top:30px; + color: #AAAAAA; + font-size: 90%; } .footer p{ text-align:center; } -.footer a{ - text-decoration:none; - color: #000000; +.footer a { + text-decoration:none; + color: #999999; +} +.footer a:hover { + text-decoration:none; + color: #666666; } diff --git a/Web/qstat_job.php b/Web/qstat_job.php index a5d2e50..302b2b3 100755 --- a/Web/qstat_job.php +++ b/Web/qstat_job.php @@ -1,28 +1,34 @@ + + + + + + + +\n"; -echo ""; foreach ($jobs as $key=>$value){ echo "\n"; } -echo "
namevalue
namevalue
"; echo $key; echo ""; - echo $jobs[$key][$index]; echo "
"; ?> + + "; + + - diff --git a/Web/qstat_job.php b/Web/qstat_job.php index 302b2b3..fbbf898 100755 --- a/Web/qstat_job.php +++ b/Web/qstat_job.php @@ -28,8 +28,8 @@ var table=$('#job_table').DataTable({ "paging": false, "info": false, - "searching": true - + "searching": true, + "columns":[{className:"dt-right"},{className:"dt-left"}] }); }); From 56659462a5829a533f171d2f712c873e90937586 Mon Sep 17 00:00:00 2001 From: renatopancheri Date: Thu, 18 May 2017 14:41:34 +0200 Subject: [PATCH 06/17] correct slots number bug --- insert.sh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/insert.sh b/insert.sh index 8e934da..39a2c31 100755 --- a/insert.sh +++ b/insert.sh @@ -134,6 +134,26 @@ getQueueFromJobXmlVector(){ XPath+="' ',' ')" echo $(myxml "$XPath" "$2") } +#for the slot number i have to count the slave jobs +getSlotsFromJobXmlVector(){ + local XPath=$'concat(' + local n=$(myxml "count($1[master=\"MASTER\"])" "$2") + for((i=0;$i<$n;i++)) + do + XPath+="string($1[$i]/JB_job_number),' '," + done + XPath+="' ',' ')" + local names=$(myxml "$XPath" "$2") + XPath=$'concat(' + local i=0 + for name in $names; + do + XPath+="'slots[$i]=\"',count($1[JB_job_number=\"$name\"]),'\",'," + i=$[ $i+1 ] + done + XPath+="' ',' ')" + echo $(myxml "$XPath" "$2") +} #########################gathering data for grafana################### DATA=$($QUEUE_COMMAND_GRAPH | awk '{if($1 !~ /CLUSTER/ && $3 ~ /^[0-9]/){printf "queue used_%s=%s,max_%s=%s\n", $1,$3,$1,$6}}') curl -i -u $INFLUXUSER:$INFLUXPASSWORD -XPOST $URL_GRAPH --data-binary "$DATA" @@ -176,6 +196,8 @@ getJobs(){ JOBS_DATA+=$(getValuesFromXmlVector "/abc/*" "$EXEC") t=$(getQueueFromJobXmlVector "(job_info/queue_info/Queue-List/job_list[master=\"MASTER\"])" "$JOB_RESULT") JOBS_DATA+=",$t" + t=$(getSlotsFromJobXmlVector "(job_info/queue_info/Queue-List/job_list)" "$JOB_RESULT") + JOBS_DATA+="$t" JOBS_DATA=${JOBS_DATA:0:$[ ${#JOBS_DATA} -1 ]} curl -i -u $INFLUXUSER:$INFLUXPASSWORD -XPOST $URL --data-binary "$JOBS_DATA" } From 4a22b5003a318972b025462e0bb3f49747d5a9df Mon Sep 17 00:00:00 2001 From: renatopancheri Date: Thu, 18 May 2017 15:57:03 +0200 Subject: [PATCH 07/17] slots bug & some graphic tweeks --- Web/config.php | 25 ++++++++++++++----------- Web/header.php | 8 ++++---- Web/influx.php | 4 ++-- Web/qstat.css | 7 +++++++ insert.sh | 4 ++-- 5 files changed, 29 insertions(+), 19 deletions(-) diff --git a/Web/config.php b/Web/config.php index a98630c..9f67f7b 100755 --- a/Web/config.php +++ b/Web/config.php @@ -59,23 +59,26 @@ "load"=>"Load", "used"=>"Slots Used", "total"=>"Total Slots", - "available"=>"Available Slots" + "available"=>"Available Slots", + "temp_disabled"=>"Temp disabled", + "manual_intervention"=>"Manual intervention", + "resv"=>"Resv" ); -$Format["queues"]["show"]=array("Name","Load","Slots Used","Total Slots","Available Slots","temp_disabled","manual_intervention","resv"); +$Format["queues"]["show"]=array("Name","Load","Slots Used","Total Slots","Available Slots","Temp disabled","Manual intervention","Resv"); $Format["queues"]["tableOpt"]=""; $Format["queues"]["filter"]=array(); $Format["jobs"]["rename"]=array( "JAT_ntix"=>"ntix", - "JAT_prio"=>"prio", + "JAT_prio"=>"Priority", "JAT_share"=>"share", "JAT_start_time"=>"start time", "JB_department"=>"department", "JB_job_number"=>"Job Number", - "JB_jobshare"=>"job share", - "JB_name"=>"job name", + "JB_jobshare"=>"Job share", + "JB_name"=>"Job name", "JB_override_tickets"=>"override tickets", - "JB_owner"=>"owner", + "JB_owner"=>"Owner", "JB_project"=>"project", "JB_submission_time"=>"submission time", #"_state"=>"state", @@ -98,14 +101,14 @@ "queue"=>"Queue", #"requested_pe"=>"", #"requested_pe_name"=>"", - #"slots"=>"", - #"state"=>"", + "slots"=>"Slots", + "state"=>"State", #"stickets"=>"", #"tickets"=>"" ); -$Format["jobs"]["show"]=array("Job Number","job name","state","Queue","slots","prio","owner", +$Format["jobs"]["show"]=array("Job Number","Job name","State","Queue","Slots","Priority","Owner", "_state","ftickets","stickets", - "tickets","CPU Usage","I/O Usage","Memory Usage","job share","department","granted_pe","hard_req_queue", + "tickets","CPU Usage","I/O Usage","Memory Usage","Job share","department","granted_pe","hard_req_queue", "hard_request","hard_request_name","hard_request_resource_contribution", "master","otickets","full_job_name","requested_pe_name","share","ntix","project", "start time","submission time","requested_pe","granted_pe_name","override tickets"); @@ -119,5 +122,5 @@ 'master','otickets','full_job_name','requested_pe_name','share','ntix', 'project','start time','submission time','requested_pe','granted_pe_name'] }]"; -$Format["jobs"]["filter"]=array("owner"); +$Format["jobs"]["filter"]=array("Owner"); ?> diff --git a/Web/header.php b/Web/header.php index 8b9f593..c5fa185 100755 --- a/Web/header.php +++ b/Web/header.php @@ -14,9 +14,9 @@
diff --git a/Web/influx.php b/Web/influx.php index fe4fb13..039fc3f 100755 --- a/Web/influx.php +++ b/Web/influx.php @@ -108,7 +108,7 @@ function addLinksToData(& $data,$links){ function addFilterToData(& $data,$keys,$filter){ foreach($filter as $column){ foreach($data[$column] as $rowIndex=>$element){ - $data[$column][$rowIndex]="
".$data[$column][$rowIndex]."
"; + $data[$column][$rowIndex]="
".$data[$column][$rowIndex]."
"; } } @@ -164,7 +164,7 @@ function search(col,text){ "searching": true, dom: 'Brtlp', "pageLength": 25, - "lengthMenu": [ 10, 20, 25, 50, 75, 100 ], + "lengthMenu": [[10,20,25,50,75,100,-1],[ 10, 20, 25, 50, 75, 100 ,"All"]], buttons: [{ extend: 'colvis', columns: ':not(.noVis)' diff --git a/Web/qstat.css b/Web/qstat.css index 106d9a3..fa9be2b 100755 --- a/Web/qstat.css +++ b/Web/qstat.css @@ -59,3 +59,10 @@ margin:0 auto; text-decoration:none; color: #666666; } +.div-filter{ + cursor: pointer; +} +.div-filter:hover { + color:#666666; + +} diff --git a/insert.sh b/insert.sh index 39a2c31..51fa398 100755 --- a/insert.sh +++ b/insert.sh @@ -1,6 +1,6 @@ #!/bin/bash ####################init variables########################## -SCRIPTPATH="//home/ubuntu123456789/Desktop/qstat_2" #supposed to be the folder where you have this script, +SCRIPTPATH="/var/www/html/phpqstat" #supposed to be the folder where you have this script, # this is needed because when cron.d run this script the paths are messed up source $SCRIPTPATH/influx_config.sh DATABASE='QstatDB_tables' @@ -140,7 +140,7 @@ getSlotsFromJobXmlVector(){ local n=$(myxml "count($1[master=\"MASTER\"])" "$2") for((i=0;$i<$n;i++)) do - XPath+="string($1[$i]/JB_job_number),' '," + XPath+="string($1[master=\"MASTER\"][$i]/JB_job_number),' '," done XPath+="' ',' ')" local names=$(myxml "$XPath" "$2") From 6464271c1b8c3d587a600fa99c7d7e5546d23a6b Mon Sep 17 00:00:00 2001 From: renatopancheri Date: Sat, 20 May 2017 14:12:11 +0200 Subject: [PATCH 08/17] more slot number fix + check with html validator --- Web/bottom.php | 2 +- Web/config.php | 30 ++++++++++++++++++------------ Web/influx.php | 23 ++++++++++++----------- insert.sh | 21 --------------------- 4 files changed, 31 insertions(+), 45 deletions(-) diff --git a/Web/bottom.php b/Web/bottom.php index f42c391..8598fa8 100755 --- a/Web/bottom.php +++ b/Web/bottom.php @@ -1,6 +1,6 @@ diff --git a/Web/config.php b/Web/config.php index 9f67f7b..3cf2c0b 100755 --- a/Web/config.php +++ b/Web/config.php @@ -99,28 +99,34 @@ "mem_usage"=>"Memory Usage", #"otickets"=>"", "queue"=>"Queue", - #"requested_pe"=>"", + "requested_pe"=>"Requested slots", #"requested_pe_name"=>"", "slots"=>"Slots", "state"=>"State", #"stickets"=>"", #"tickets"=>"" ); -$Format["jobs"]["show"]=array("Job Number","Job name","State","Queue","Slots","Priority","Owner", +$Format["jobs"]["show"]=array("Job Number","Job name","State","Queue","Requested slots","Priority","Owner", "_state","ftickets","stickets", "tickets","CPU Usage","I/O Usage","Memory Usage","Job share","department","granted_pe","hard_req_queue", "hard_request","hard_request_name","hard_request_resource_contribution", "master","otickets","full_job_name","requested_pe_name","share","ntix","project", - "start time","submission time","requested_pe","granted_pe_name","override tickets"); + "start time","submission time","Slots","granted_pe_name","override tickets"); $Format["jobs"]["links"]["Job Number"]="qstat_job.php?id={Job Number}"; -$Format["jobs"]["tableOpt"]=",\"columnDefs\": [{ - \"visible\": false, - targets: ['_state','def_hard_request','def_hard_request_name', - 'ftickets','stickets','tickets','CPU Usage','I/O Usage','Memory Usage', - 'job share','department','granted_pe','hard_req_queue','hard_request', - 'hard_request_name','hard_request_resource_contribution', - 'master','otickets','full_job_name','requested_pe_name','share','ntix', - 'project','start time','submission time','requested_pe','granted_pe_name'] -}]"; +$Format["jobs"]["tableOpt"]=",\"columnDefs\": [ + { + \"visible\": false, + targets: ['_state','def_hard_request','def_hard_request_name', + 'ftickets','stickets','tickets','CPU Usage','I/O Usage','Memory Usage', + 'job share','department','granted_pe','hard_req_queue','hard_request', + 'hard_request_name','hard_request_resource_contribution', + 'master','otickets','full_job_name','requested_pe_name','share','ntix', + 'project','start time','submission time','granted_pe_name','Slots'] + }, + { + \"render\": function ( data, type, row ) {return data==''?1:data;},//set to 1 the slot number if no value is in the cell + targets:['Requested slots'] + } +]"; $Format["jobs"]["filter"]=array("Owner"); ?> diff --git a/Web/influx.php b/Web/influx.php index 039fc3f..22eaa17 100755 --- a/Web/influx.php +++ b/Web/influx.php @@ -108,7 +108,7 @@ function addLinksToData(& $data,$links){ function addFilterToData(& $data,$keys,$filter){ foreach($filter as $column){ foreach($data[$column] as $rowIndex=>$element){ - $data[$column][$rowIndex]="
".$data[$column][$rowIndex]."
"; + $data[$column][$rowIndex]="
".$data[$column][$rowIndex]."
"; } } @@ -127,15 +127,9 @@ function printTable($data,$keys,$tableOpt){ echo "$column"; } echo " - - - "; -foreach ($keys as $key=>$column){ - echo "";#search inputs are created in tfoot and moved in thead after datatable creation(i cant find a simpler way to make them work right) -} -echo " - - \n"; + \n"; + +echo " \n"; foreach ($data[$keys[0]] as $rowIndex=>$value){ echo " "; foreach ($keys as $key=>$colIndex){ @@ -145,8 +139,15 @@ function printTable($data,$keys,$tableOpt){ } echo "\n"; } +echo " + + "; +foreach ($keys as $key=>$column){ + echo "";#search inputs are created in tfoot and moved in thead after datatable creation(i cant find a simpler way to make them work right) +} ?> - + + +$function){ + $indexcolumn=array_search($column,$keys); foreach($data[$column] as $rowIndex=>$element){ - $data[$column][$rowIndex]="
".$data[$column][$rowIndex]."
"; + $data[$column][$rowIndex]="
".$data[$column][$rowIndex]."
"; } } @@ -118,18 +205,25 @@ function addFilterToData(& $data,$keys,$filter){ #Params: # -$data: data in format Matrix[$column][$row] # -$keys: array containing columns names -# -$tableOpt: string included in dataTables initialization -function printTable($data,$keys,$tableOpt){ +function printTable($data,$keys){ echo " "; foreach ($keys as $column){ echo ""; } -echo " - \n"; - -echo " \n"; +?> + + +$column){ + echo "";#search inputs are created in tfoot and moved in thead after datatable creation(i cant find a simpler way to make them work right) +} +?> + + + +$value){ echo " "; foreach ($keys as $key=>$colIndex){ @@ -139,53 +233,9 @@ function printTable($data,$keys,$tableOpt){ } echo "\n"; } -echo " - - "; -foreach ($keys as $key=>$column){ - echo "";#search inputs are created in tfoot and moved in thead after datatable creation(i cant find a simpler way to make them work right) -} ?> - - +
$column
- diff --git a/Web/qstat.css b/Web/qstat.css index 5a83905..3f3609c 100755 --- a/Web/qstat.css +++ b/Web/qstat.css @@ -9,8 +9,6 @@ iframe { margin-left:auto; margin-right:auto; } -div { -} #nav { height:80px; width:750px; @@ -29,7 +27,6 @@ line-height:50px; text-decoration:none; padding :0; margin-top:15px; - } #nav img { display:block; @@ -38,8 +35,18 @@ height:80px; width:80px; line-height:80px; } -#job_table{ +#job_table_wrapper{ margin:0 auto; +max-width: 500px; +} +#myTable_wrapper{ +margin-left:10px; +margin-right:10px; +} +td input{ +text-align:center; +display:block; +margin:auto; } .footer { @@ -59,17 +66,12 @@ margin:0 auto; text-decoration:none; color: #666666; } -.div-filter{ +a,.div-filter{ cursor: pointer; + color: #337ab7; + text-decoration: none; } -.div-filter:hover { - color:#666666; -} -.div-filter a { - color: #337ab7; - text-decoration: none; -} -.div-filter a:hover,a:focus { +a:hover,a:focus,.div-filter:hover,.div-filter:focus { color: #23527c; text-decoration: underline; } diff --git a/Web/qstat_job.php b/Web/qstat_job.php index fbbf898..b341184 100755 --- a/Web/qstat_job.php +++ b/Web/qstat_job.php @@ -2,7 +2,6 @@ include("influx.php"); include("header.php"); ?> - @@ -29,7 +28,7 @@ "paging": false, "info": false, "searching": true, - "columns":[{className:"dt-right"},{className:"dt-left"}] + "columns":[{className:"dt-left"},{className:"dt-left"}] }); }); From 505403cdcd26b899e93eb3d74eda7679a4d0423f Mon Sep 17 00:00:00 2001 From: Renato Pancheri Date: Thu, 20 Jul 2017 10:00:29 +0200 Subject: [PATCH 13/17] bugFix underscore in QueueNames --- grafana_dashboard/Qstat-1496917724522.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grafana_dashboard/Qstat-1496917724522.json b/grafana_dashboard/Qstat-1496917724522.json index ffcb122..1089553 100644 --- a/grafana_dashboard/Qstat-1496917724522.json +++ b/grafana_dashboard/Qstat-1496917724522.json @@ -575,7 +575,7 @@ "options": [], "query": "show field keys from min.queue", "refresh": 1, - "regex": "/.*_(.*)/", + "regex": "/[^_]*_(.*)/", "sort": 1, "tagValuesQuery": "", "tags": [], From c390db9ae5cb88fd92d6feb2e1d39ba6af8363c7 Mon Sep 17 00:00:00 2001 From: Renato Pancheri Date: Thu, 20 Jul 2017 12:56:15 +0200 Subject: [PATCH 14/17] new Readme --- README.md | 156 +++++++++++++++++++++++++++--------------------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/README.md b/README.md index 20b8b2c..02753d3 100755 --- a/README.md +++ b/README.md @@ -2,110 +2,110 @@ ABOUT PHPQstat ============================================== **PHPQstat** is a web interface to qstat and other useful commands of the Grid Engine (GE) batch queue system. With this interface, you and your users can monitor your jobs and your queue status conveniently via a web browser. - + **AUTHORS** UGE support, HTML5 interface, qstat reduce and remote master options added by Lydia Sevelt (LydiaSevelt@gmail.com) Originally written by Jordi Blasco Pallarès (jordi.blasco@hpcnow.com). - + **REPORTING BUGS** Report bugs to GitHUB issue Tracker https://github.com/LydiaSevelt/PHPQstat/issues - + **ADDITIONAL LIBRARIES** The HTML5 interface utilizes the excellent datatables (https://datatables.net) and jquery (https://jquery.com) javascript libraries. - + **TESTED WITH** GE 6.2u5 - + **LICENSE** This is free software: you are free to change and redistribute it. GNU General Public License version 3.0 (GPLv3). - + **Version** Influx-alpha - + https://github.com/LydiaSevelt/PHPQstat - - - + + + DEPENDENCIES ============================================== Setup (on sge_master host): apache, php5, influxDB, xmllint, grafana and awk. - + INSTALL ============================================== -1. Install Apache,php5 and copy web directory in web accessible filesystem: - CentOs: - yum install httpd - chkconfig --levels 235 httpd on - service httpd restart - yum -y install php - systemctl restart httpd - Ubuntu: - sudo apt-get install apache2 - sudo apt-get install php - service apache2 restart -2. Install influxDB 1.2: - CentOS: - wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.2.x86_64.rpm - sudo yum localinstall influxdb-1.2.2.x86_64.rpm - Ubuntu-Debian: - wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.2_amd64.deb - sudo dpkg -i influxdb_1.2.2_amd64.deb - instructions at: - https://docs.influxdata.com/influxdb/v1.2/introduction/installation/ -3. Install grafana 4.2.0 - 1) - -Ubuntu & Debian(64 Bit) - wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.2.0_amd64.deb - sudo dpkg -i grafana_4.2.0_amd64.deb - -Standalone Linux Binaries(64 Bit) - wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0.linux-x64.tar.gz - tar -zxvf grafana-4.2.0.linux-x64.tar.gz - -Redhat & Centos(64 Bit) - wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpm - sudo yum localinstall grafana-4.2.0-1.x86_64.rpm - 2) - -all: - service grafana-server start - sudo systemctl enable grafana-server.service - instructions at: - https://grafana.com/grafana/download?platform=linux -4. Install xquilla -5. Set up variables in influx_config.sh -6. run enable_auth_influx-sh or do it mannually (you may need sudo) and wait a few seconds -7. Setup retention policy duration in init_influx.sh : +1. for better and more detailed info see the official documentation of the two projects + https://grafana.com/grafana/download + http://docs.grafana.org/installation/ + + https://portal.influxdata.com/downloads + https://docs.influxdata.com/influxdb/v1.2/introduction/installation/ + +2. Install Apache,php5 and copy web directory in web accessible filesystem: + ``` + yum install httpd xqilla php + rpm -Uvh grafana-4.4.1-1.x86_64.rpm influxdb-1.2.4.x86_64.rpm + ``` + You may need to enable EPEL + + CentOS 6 (init.d service) + ``` + chkconfig httpd on + service httpd restart + + chkconfig influxdb on + service influxdb start + + chkconfig --add grafana-server + chkconfig grafana-server on + service grafana-server start + ``` + + CentoOS 7 (systemd) + ``` + systemctl enable httpd + systemctl start httpd + + systemctl enable influxdb + systemctl start influxdb + + systemctl enable grafana-server.service + systemctl start grafana-server + ``` + +3. Set up variables in influx_config.sh +4. run enable_auth_influx-sh or do it mannually (you may need sudo) and wait a few seconds +5. Setup retention policy duration in init_influx.sh : defalut is INF (old data is not deleted ) you can set the duration in time of the table containig 1)all measurements from qstat, 2) the hour mean, 3)the day mean -8. run init_influx.sh -9. (optional) copy data from previous rrd database +6. run init_influx.sh +7. (optional) copy data from previous rrd database run insert_rrd.sh ( you need to have rrd folder in the same path) -10. start data gathering - set $SCRIPTPATH in insert.sh and insert_tables.sh with the absolute path of the scripts(this is done because when those script are in crontab relative path fails) - Add the following line to the proper users crontab, making sure you replace [...]/insert.sh with the proper path : +8. start data gathering + set $SCRIPTPATH in insert.sh and insert_tables.sh with the absolute path of the scripts(this is done because when those script are in crontab relative path fails) + Add the following line to the proper users crontab, making sure you replace [...]/insert.sh with the proper path : */3 * * * * [...]/insert.sh > /dev/null 2>&1 -11. set graphana: - you can access grafana with [YOUR_URL]:3000 - default login admin admin - - insert data source influxdb with url user:user password:user - -create your graph as you want - -usefull queries: - -template type query (can be multi-value): query="show field keys from min.queue" regex=/.*_(.*)/ should return list of queues name Queues - -template type query (can be multi-value): query="show field keys from min.queue" regex=/(.*)_.*/ should return used,max name Measurement - -template type query: query="show retention policies" should return min.hour,day name RetPolicy - -graph : SELECT last(/($Measurement)_($Queues)$/) FROM $RetPolicy.queue WHERE $timeFilter GROUP BY time($interval) - - you can make all max values be displayed differently by adding series ovverride (display tab)with regex /max_.*/ - -remember to save the dashboard! - -12. set parameters in config.php - set grafana url (go to you dashboard->share dashboard->link to dashboard or just copy paste browser url) - set Format for hosts,queues,jobs -13. Set users in grafana so that not everyone can modify graph dashboard ecc.(you can also make users be able to modify the dashboard as they want, but they cannot save), you can disable log-in in the configuration file (auth.anonymous enabled=true) - - +9. set graphana: + you can access grafana with [YOUR_URL]:3000 + default login admin admin + - insert data source influxdb with url user:user password:user + -create your graph as you want + -usefull queries: + -template type query (can be multi-value): query="show field keys from min.queue" regex=/.*_(.*)/ should return list of queues name Queues + -template type query (can be multi-value): query="show field keys from min.queue" regex=/(.*)_.*/ should return used,max name Measurement + -template type query: query="show retention policies" should return min.hour,day name RetPolicy + -graph : SELECT last(/($Measurement)_($Queues)$/) FROM $RetPolicy.queue WHERE $timeFilter GROUP BY time($interval) + - you can make all max values be displayed differently by adding series ovverride (display tab)with regex /max_.*/ + -remember to save the dashboard! + +10. set parameters in config.php + set grafana url (go to you dashboard->share dashboard->link to dashboard or just copy paste browser url) + set Format for hosts,queues,jobs +11. Set users in grafana so that not everyone can modify graph dashboard ecc.(you can also make users be able to modify the dashboard as they want, but they cannot save), you can disable log-in in the configuration file (auth.anonymous enabled=true) + + OPTIONAL ---------------------------------------------- -14. Replace PHPQstat/img/logo.png with the logo of your company/school to brand the page - +12. Replace PHPQstat/img/logo.png with the logo of your company/school to brand the page \ No newline at end of file From ea5a55212f51594a8a1ed11c705512064fa8e867 Mon Sep 17 00:00:00 2001 From: Renato Pancheri Date: Thu, 20 Jul 2017 18:03:22 +0200 Subject: [PATCH 15/17] bugfix in inportrrd, readme re-written --- README.md | 56 ++++++++++++++++++++++++++----------------- enable_auth_influx.sh | 3 +-- import_rrd.sh | 5 ++-- influx_config.sh | 7 +++--- 4 files changed, 42 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 02753d3..9809fcc 100755 --- a/README.md +++ b/README.md @@ -72,22 +72,37 @@ INSTALL systemctl start grafana-server ``` -3. Set up variables in influx_config.sh -4. run enable_auth_influx-sh or do it mannually (you may need sudo) and wait a few seconds -5. Setup retention policy duration in init_influx.sh : - defalut is INF (old data is not deleted ) - you can set the duration in time of the table containig 1)all measurements from qstat, - 2) the hour mean, - 3)the day mean -6. run init_influx.sh -7. (optional) copy data from previous rrd database +3. Set sge path and influxDB connection params in `influx_config.sh` +4. find influxDB conf file and set the path in `enable_auth_influx.sh`, + run `enable_auth_influx.sh` + ``` + sudo bash enable_auth_influx.sh + ``` +5. Setup retention policy duration in `init_influx.sh`: + defalut is INF (old data is not deleted); + + + for more information click [here](https://docs.influxdata.com/influxdb/v1.2/query_language/database_management/#create-retention-policies-with-create-retention-policy); + + you can set the duration in time of the table containig: + 1. all measurements from qstat, + 2. the hour mean, + 3. the day mean + + ``` + bash init_influx.sh + ``` +6. (optional) copy data from previous rrd database run insert_rrd.sh ( you need to have rrd folder in the same path) -8. start data gathering - set $SCRIPTPATH in insert.sh and insert_tables.sh with the absolute path of the scripts(this is done because when those script are in crontab relative path fails) - Add the following line to the proper users crontab, making sure you replace [...]/insert.sh with the proper path : - */3 * * * * [...]/insert.sh > /dev/null 2>&1 -9. set graphana: +7. start data gathering: + + set $SCRIPTPATH in `insert.sh` with the absolute path of the scripts(this is done because when those script are in crontab relative path fails) + Add the following line to the proper users crontab, making sure you replace [...]/insert.sh with the proper path : + ``` + */3 * * * * root [...]/insert.sh > /dev/null 2>&1 + ``` +8. set graphana: you can access grafana with [YOUR_URL]:3000 default login admin admin - insert data source influxdb with url user:user password:user @@ -100,12 +115,9 @@ INSTALL - you can make all max values be displayed differently by adding series ovverride (display tab)with regex /max_.*/ -remember to save the dashboard! -10. set parameters in config.php - set grafana url (go to you dashboard->share dashboard->link to dashboard or just copy paste browser url) +9. set parameters in config.php : + + set grafana url (go to you dashboard->share dashboard->link to dashboard or just copy paste browser url); + set Format for hosts,queues,jobs -11. Set users in grafana so that not everyone can modify graph dashboard ecc.(you can also make users be able to modify the dashboard as they want, but they cannot save), you can disable log-in in the configuration file (auth.anonymous enabled=true) - - - OPTIONAL - ---------------------------------------------- -12. Replace PHPQstat/img/logo.png with the logo of your company/school to brand the page \ No newline at end of file +10. Set users in grafana so that not everyone can modify graph dashboard ecc.(you can also make users be able to modify the dashboard as they want, but they cannot save), you can disable log-in in the configuration file (auth.anonymous enabled=true) \ No newline at end of file diff --git a/enable_auth_influx.sh b/enable_auth_influx.sh index 50928e4..1fcec7a 100755 --- a/enable_auth_influx.sh +++ b/enable_auth_influx.sh @@ -4,5 +4,4 @@ INFLUXCONFIGFILE="/etc/influxdb/influxdb.conf" URL=$DBURL:$PORT/query curl -XPOST "$URL" --data-urlencode "q=CREATE USER $INFLUXUSER WITH PASSWORD '$INFLUXPASSWORD' WITH ALL PRIVILEGES" sed -i 's/# auth-enabled = false/auth-enabled = true/g' $INFLUXCONFIGFILE -systemctl restart influxd -systemctl restart influxdb +echo "restart influxDB service" diff --git a/import_rrd.sh b/import_rrd.sh index 92d341e..dfaf6a8 100755 --- a/import_rrd.sh +++ b/import_rrd.sh @@ -4,14 +4,15 @@ DATABASE='QstatDB' RET_POLICY='min' URL="$DBURL:$PORT/write?db=$DATABASE&rp=$RET_POLICY" TABLENAME='queue' -TIMESTAMP=1490713018 #data newer than this timestamp will be ignored +#data newer than this timestamp will be ignored +TIMESTAMP=2490713018 QUEUES=$(ls -l rrd/qacct* |awk '{print $9}') influxd backup -database $DATABASE ./ for q in $QUEUES ;do rrdtool dump $q |awk -v x=$q -v y=$TABLENAME -v z=$TIMESTAMP ' BEGIN{match(x,"rrd/qacct_(.*).rrd",b)} { - match($8,"^([^N]*)$",a); + match($0,".*[[:space:]]+([^N]*)",a); if(a[1] ~ /^[0-9]/ && $6file.txt diff --git a/influx_config.sh b/influx_config.sh index bc13956..a5cefb8 100755 --- a/influx_config.sh +++ b/influx_config.sh @@ -1,9 +1,10 @@ #!/bin/bash -source opt/sge_root/default/common/settings.sh #find this file in your sge folder +# find this file in your sge folder +source /ge/default/common/settings.sh ####################init variables########################## DBURL="http://localhost" PORT=8086 INFLUXUSER='admin' INFLUXPASSWORD='admin' -#if you change password when you have already started data -#gathering you have to change the password in influxdb as well! +# if you change password when you have already started data +# gathering you have to change the password in influxdb as well! From 221469ee77b03e2d8cfc43278eac9d37773581ec Mon Sep 17 00:00:00 2001 From: Renato Pancheri Date: Fri, 21 Jul 2017 11:52:31 +0200 Subject: [PATCH 16/17] height iframe more responsive --- Web/header.php | 14 ++++++++++++-- Web/index.php | 2 +- Web/qstat.css | 20 ++++++++++++++++---- enable_auth_influx.sh | 2 +- 4 files changed, 30 insertions(+), 8 deletions(-) diff --git a/Web/header.php b/Web/header.php index c5fa185..6c10f77 100755 --- a/Web/header.php +++ b/Web/header.php @@ -10,6 +10,17 @@ + - + \ No newline at end of file diff --git a/Web/index.php b/Web/index.php index 6ca746b..1c8bde1 100755 --- a/Web/index.php +++ b/Web/index.php @@ -5,7 +5,7 @@ drawAll(getDataFromDB($_GET["page"]),$Format[$_GET["page"]]); } else{# but get grafana - echo " "; + echo " "; } include("bottom.php"); ?> diff --git a/Web/qstat.css b/Web/qstat.css index 3f3609c..a6c9f62 100755 --- a/Web/qstat.css +++ b/Web/qstat.css @@ -3,11 +3,10 @@ body { } iframe { display: block; - border: none; - height: 90vh; + border: none; width: 100vw; - margin-left:auto; - margin-right:auto; + margin-left:0; + margin-right:0; } #nav { height:80px; @@ -75,3 +74,16 @@ a:hover,a:focus,.div-filter:hover,.div-filter:focus { color: #23527c; text-decoration: underline; } + + + +.clearable{ + background: #fff url(http://i.stack.imgur.com/mJotv.gif) no-repeat right -10px center; + border: 1px solid #999; + padding: 3px 18px 3px 4px; /* Use the same right padding (18) in jQ! */ + border-radius: 3px; + transition: background 0.4s; +} +.clearable.x { background-position: right 5px center; } /* (jQ) Show icon */ +.clearable.onX{ cursor: pointer; } /* (jQ) hover cursor style */ +.clearable::-ms-clear {display: none; width:0; height:0;} /* Remove IE default X */ \ No newline at end of file diff --git a/enable_auth_influx.sh b/enable_auth_influx.sh index 1fcec7a..ca4d498 100755 --- a/enable_auth_influx.sh +++ b/enable_auth_influx.sh @@ -4,4 +4,4 @@ INFLUXCONFIGFILE="/etc/influxdb/influxdb.conf" URL=$DBURL:$PORT/query curl -XPOST "$URL" --data-urlencode "q=CREATE USER $INFLUXUSER WITH PASSWORD '$INFLUXPASSWORD' WITH ALL PRIVILEGES" sed -i 's/# auth-enabled = false/auth-enabled = true/g' $INFLUXCONFIGFILE -echo "restart influxDB service" +echo "restart influxDB service in order to apply " From 01e80f8e30a26a80a553fd39d86c695ee29607e9 Mon Sep 17 00:00:00 2001 From: Renato Pancheri Date: Mon, 25 Sep 2017 11:20:57 +0200 Subject: [PATCH 17/17] solved bug when >100 jobs --- insert.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/insert.sh b/insert.sh index 7747e44..dc06c26 100755 --- a/insert.sh +++ b/insert.sh @@ -25,7 +25,6 @@ getValuesFromXmlVector(){ #find number of elements local VectorNumber=$(myxml "count($1)" "$2" ) #find number of attributes of main tag and number of node child for every element - local ElemIndex=0 local ElemIndex2 local ElemIter @@ -38,10 +37,10 @@ getValuesFromXmlVector(){ done XPath+="' ',' ')" local NPar=$(myxml "$XPath" "$2") - #get values&names of attributes of main tag and values&names of node child, getting number of attributes of node child for every element ElemIter=0 local RETURN_DATA=$'' + local NparChild=$'' XPath=$'concat(' local XPath2=$'concat(' for n in $NPar; @@ -73,13 +72,16 @@ getValuesFromXmlVector(){ XPath+="' ',' ')" RETURN_DATA+=$(myxml "$XPath" "$2") XPath=$'concat(' + XPath2+="' ',' ')" + NparChild+=$(myxml "$XPath2" "$2") + XPath2=$'concat(' fi done XPath+="' ',' ')" XPath2+="' ',' ')" - local RETURN_DATA+=$(myxml "$XPath" "$2") - local NparChild=$(myxml "$XPath2" "$2") + RETURN_DATA+=$(myxml "$XPath" "$2") + NparChild=$(myxml "$XPath2" "$2") ElemIndex=0 local countPar=1 local thisJob @@ -179,9 +181,9 @@ getJobs(){ t=$(getQueueFromJobXmlVector "(job_info/queue_info/Queue-List/job_list[master=\"MASTER\"])" "$JOB_RESULT") JOBS_DATA+=",$t" JOBS_DATA=${JOBS_DATA:0:$[ ${#JOBS_DATA} -1 ]} - curl -i -u $INFLUXUSER:$INFLUXPASSWORD -XPOST $URL --data-binary "$JOBS_DATA" + echo "$JOBS_DATA">temp + curl -i -u $INFLUXUSER:$INFLUXPASSWORD -XPOST $URL --data-binary @temp } ####################################################################### getQueues & getJobs -
namevalue