| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/KPI monitor/ |
Upload File : |
<?php
session_start();
include("dbconfig.php");
date_default_timezone_set('Asia/Bangkok');
mysql_select_db("KPI");
mysql_query("SET NAMES 'tis620';");
$nowyear = date('Y');
$nowmon = date('m');
if ($nowmon >= 10) {
$nowyear += 1;
$nowmon -= 9;
} else
$nowmon += 3;
//mysql_query("SET NAMES utf8"); /*****/
$_SESSION['mName'] = array(
"ตุลาคม",
"พฤศจิกายน",
"ธันวาคม",
"มกราคม",
"กุมภาพันธ์",
"มีนาคม",
"เมษายน",
"พฤษภาคม",
"มิถุนายน",
"กรกฎาคม",
"สิงหาคม",
"กันยายน"
);
if (!isset($_SESSION['pagecount']))
$_SESSION['pagecount'] = 0;
else
$_SESSION['pagecount'] = $_SESSION['pagecount'] + 1;
function std_deviation($my_arr)
{
$no_element = count($my_arr);
$var = 0.0;
$avg = array_sum($my_arr) / $no_element;
foreach ($my_arr as $i) {
$var += pow(($i - $avg), 2);
}
return (float) sqrt($var / ($no_element));
}
function chMonth($find)
{
return $_SESSION['mName'][$find - 1];
}
if (isset($_GET['id_no']))
$_SESSION['rIDNO'] = $_GET['id_no'];
else
$_SESSION['rIDNO'] = '';
if (isset($_GET['RepName']))
$_SESSION['rName'] = $_GET['RepName'];
if (isset($_GET['MinYear'])) {
if ($_GET['MinMonth'] <= 3)
$MinYear = ($_GET['MinYear'] - 542); //พ.ศ.> ค.ศ.+1
else
$MinYear = ($_GET['MinYear'] - 543); //พ.ศ.> ค.ศ.
if ($_GET['MaxMonth'] <= 3)
$MaxYear = ($_GET['MaxYear'] - 542); //พ.ศ.> ค.ศ.+1
else
$MaxYear = ($_GET['MaxYear'] - 543); //พ.ศ.> ค.ศ.
$subtitle = 'ตั้งแต่ เดือน' . chMonth($MinMonth) . ' ' . $_GET['MinYear'] .
' ถึง เดือน' . chMonth($MaxMonth) . ' ' . $_GET['MaxYear'];
} else {
if (isset($_GET['rYear']))
$MinYear = ($_GET['rYear'] - 543);
else
$MinYear = date('Y');
$MaxYear = $MinYear;
$MinMonth = '1';
$MaxMonth = '12';
$subtitle = 'ปีงบประมาณ ' . $_GET['rYear'];
}
if ($MinMonth <= 3)
$cMinY = $MinYear + 542;
else
$cMinY = $MinYear + 543;
if ($MaxMonth <= 3)
$cMaxY = $MaxYear + 542;
else
$cMaxY = $MaxYear + 543;
$lGoal = "'n'";
$DList = ''; //แสดงเดือน/ปี
$TList = ''; // แสดงเป้าหมาย
$HList = ''; //แสดงผลประเมิน
$AList = ''; //แสดงจำนวนเป้าหมายเดือน
$EList = ''; //แสดงจำนวนผลงานเดือน
$SList = ''; //แสดงจำนวนสะสม
$SDList = ''; //แสดงSD
$nSd = 0;
$sumM = 0;
$sumB = 0;
$eva = '';
$comp = '';
$sql = 'select * from indicators where id_no=' . $_SESSION['rIDNO'] . ' limit 1';
$result = mysql_query($sql);
$name1 = '';
$name2 = '';
$sd = 'N';
$st = 'N';
$sr = 'N';
$๐ = iconv('UTF-8', 'TIS-620', "๐");
while ($object = mysql_fetch_object($result)) {
$name1 = iconv('TIS-620', 'UTF-8', $object->name1);
$name2 = iconv('TIS-620', 'UTF-8', $object->name2);
$sd = $object->sd;
$st = $object->st;
$sr = $object->sr;
$graph = $object->graph;
}
if ($name1 === '')
$name1 = 'จำนวนทั้งหมด';
if ($name2 === '')
$name2 = 'ผลงานตัวชี้วัด';
if ($st == 'Y')
$lSumB = false; //ค่าเป้าหมายใช้ล่าสุด
else
$lSumB = true; //รวมค่าเป้าหมาย
if ($sr == 'Y')
$lSumM = false; //ค่าผลงานใช้ล่าสุด
else
$lSumM = true; //รวมผลงาน
for ($y = $MinYear; $y <= $MaxYear; $y++) { //--------------- ประมวลทีละปี
$sdVal = array(); // // reset SD value ของแต่ละปี
if ($y == $MinYear)
$fMonth = $MinMonth; // หาค่า เดือนแรกของปีที่กำลังทำรายงาน
else
$fMonth = '1';
if ($y == $MaxYear)
$lMonth = $MaxMonth; // หาค่า เดือนสุดท้ายของปีที่กำลังทำรายงาน
else
$lMonth = '12';
$sql = "select * from goal where id_no=" . $_SESSION['rIDNO'] . " and year = '" . $y . "' limit 1";
$result = mysql_query($sql);
$Rows = mysql_num_rows($result);
$nSd = 0;
$nTotalB = 0;
if ($Rows == 0) {
// ไม่เคยมีบรรทัดปี นี้ ค่าแต่ละเดือน =0
for ($m = $fMonth; $m <= $lMonth; $m++) {
if ($m <= 3)
$cY = ($y + 542);
else
$cY = ($y + 543);
if ($DList === '')
$DList = "'" . chMonth($m) . ' ' . $cY . "'";
else
$DList .= ",'" . chMonth($m) . ' ' . $cY . "'";
if ($TList === '')
$TList = "'n'";
else
$TList .= ",'n'";
if ($HList === '')
$HList = "'n'";
else
$HList .= ",'n'";
if ($AList === '')
$AList = "'n'";
else
$AList .= ",'n'";
if ($EList === '')
$EList = "'n'";
else
$EList .= ",'n'";
if ($SList === '')
$SList = "'n'";
else
$SList .= ",'n'";
if ($SDList === '')
$SDList = "[0,0]";
else
$SDList .= ",[0,0]";
}
} else {
// มีบรรทัดปี หาค่าแต่ละเดือน
while ($object = mysql_fetch_array($result)) {
$eva = trim($object['eva']);
$comp = trim($object['compair']);
$nSum = 0;
if (strpos($eva, 'S')) { //กำหนดให้ ค่าเป้าหมายเป็น ค่ารวมผลงานทั้งหมด
$nSum = $object['m1'];
for ($m = 2; $m < $fMonth; $m++) {
$nSum += $object['m' . $m];
}
}
$nTotalB = $object['totalb'];
/*
กำหนดให้ แสดง SD
*/
if ($sd == 'Y') {
$nXbar = 0;
$nXcount = 0;
for ($m = 1; $m <= 12; $m++) {
if(($nowyear == $y)&& ($m > $nowmon)){
continue;
}
if (!is_null($object['m' . $m]) && $object['m' . $m] !== '') {
// ผลงานเดือน
$nM = $object['m' . $m];
//เป้าหมายเดือน
if ($object['m' . $m . 'b'] === '')
$nB = 0;
else
$nB = $object['m' . $m . 'b'];
if ($nB == 0 && $st == 'Y')
$nB = $nTotalB; //ถ้าไม่บันทึกเป้าหมาย และเป็นแบบไม่สะสมเป้าหมาย เอาเป้าล่าสุด
if ($nM == 0) continue;
if ($nB == 0){
switch (substr($eva,0,1)){
case ':' : $tval = 1; break;
case '%' : $tval = 100; break;
case 'T' : $tval = 1000; break;
case 'H' : $tval = 100000; break;
default: $tval = $nM;
}
}else {
switch (substr($eva, 0, 1)) {
case ':' : $tval = $nM/$nB; break;
case '%' : $tval = $nM*100/$nB; break;
case 'T' : $tval = $nM*1000/$nB; break;
case 'H' : $tval = $nM*100000/$nB; break;
case '/' : $tval = $nM/$nB; break;
default: $tval = $nM;
}
}
$nXbar += $tval;
$nXcount ++;
array_push($sdVal, $tval);
}
}
//==
//$sdVal = array(7.69,0,10,0,11.11,0,11.11,0,9.09,0,0,7.69);
//$nXbar =56.69;
//$nXcount=12;
//==
if (!empty($sdVal)) {
$nXbar = $nXbar / $nXcount;
$nSD = std_deviation($sdVal);
$nSDmax = $nXbar + (1.5 * $nSD);
$nSDmin = max(0,$nXbar - (1.5 * $nSD));
} else {
$nSDmax = 0;
$nSDmin = 0;
}
}
//------------------จบการหา SD ของปี
// เตรียม ชุดข้อมูล เดือนและชื่อเดือน
for ($m = $fMonth; $m <= $lMonth; $m++) {
// 1. $DList ชุดข้อมูลแสดงรายชื่อ เดือน แสดงเป็น "มกราคม 2563"
if ($m <= 3)
$cY = ($y + 542);
else
$cY = ($y + 543);
if ($DList === '')
$DList = "'" . chMonth($m) . ' ' . $cY . "'";
else
$DList .= ",'" . chMonth($m) . ' ' . $cY . "'";
// 2. $TList แสดงเส้นเป้าหมายของแต่ละปี (เท่ากันตลอดปี)
if ($object['goal'] === '')
$nM = 0;
else {
$nM = $object['goal'];
$lGoal = $nM;
}
if ($TList === '')
$TList = $nM;
else
$TList .= ',' . $nM;
/*---- แสดงค่าที่บันทึกรายเดือน
$HList แสดงค่าประเมินราย เดือน
$AList แสดงค่าเป้าหมายราย เดือน
$EList แสดงจำนวนผลงานรายเดือน
$SList แสดงจำนวนที่สะสมมาจากต้นปี
$SDList แสดงค่า SD เป็น Array min,max
*/
if (($nowyear == $y) && ($m > $nowmon)) { // ข้อมูลปีปัจจุบัน ที่ยังไม่มีข้อมูล ไม่วาดกร๊าฟ
if ($HList === '')
$HList = "'n'";
else
$HList .= ",'n'";
if ($AList === '')
$AList = "'n'";
else
$AList .= ",'n'";
if ($EList === '')
$EList = "'n'";
else
$EList .= ",'n'";
if ($SList === '') {
if ($nSum == 0)
$SList = "'n'";
else
$SList = $nSum;
} else {
if ($nSum == 0)
$SList .= ",'n'";
else
$SList .= ",'n'";
}
if ($sd == 'Y') {
if ($SDList == '')
$SDList = '[' . $nSDmin . ',' . $nSDmax . ']';
else
$SDList .= ',[' . $nSDmin . ',' . $nSDmax . ']';
}
} else {
if ($object['m' . $m] === '' || is_null($object['m' . $m])) {
continue; // ข้ามเดือนที่ยังไม่มีข้อมูล
}
$nM = $object['m' . $m];
if ($object['m' . $m . 'b'] === '')
$nB = 0;
else
$nB = $object['m' . $m . 'b'];
//เตรียมผลงาน ไว้ใส่ในช่องสรุป $sumM , $sumB
if ($lSumM)
$sumM += $nM; //รวม
else
$sumM = $nM; //ล่าสุด
if ($lSumB)
$sumB = ($sumB + $nB);
else {
if ($nB > 0)
$sumB = $nB; //เป้าหมายใช้ค่าล่าสุด ถ้ามีใช้ค่านี้
else if ($sumB > 0)
$nB = $sumB; //ถ้าเดือนนี้ไม่มีบันทึก เดือนนี้ใช้ค่าเดือนก่อนหน้าเพื่อประมวลผลงาน
else
$nB = $nTotalB; //ถ้าเดือนก่อนหน้าไม่บันทึกเป้าหมาย เอาเป้าล่าสุด
}
if (strpos($eva, 'S'))
$nSum += $nM; //กรณีเป้าหมายใช้ผลงานสะสม เช่นทั้งปีเป็น 100% แต่ละเดือนเป็นกี่ %
else
$nSum = $nM;
// -- ประเมินผลงาน เดือน
if ($nSum == 0)
$tot = '0';
else {
switch (substr($eva, 0, 1)) {
case ':':
if ($nB == 0)
$tot = '1';
else
$tot = ($nSum / $nB);
break;
case '%':
if ($nB == 0)
$tot = '100.00';
else
$tot = number_format($nSum * 100 / $nB, 2, '.', '');
break;
case 'T':
if ($nB == 0)
$tot = '1000.00';
else
$tot = number_format($nSum * 1000 / $nB, 2, '.', '');
break;
case 'H':
if ($nB == 0)
$tot = '100000.00';
else
$tot = number_format($nSum * 100000 / $nB, 2, '.', '');
break;
case '/': //ค่าเฉลี่ย
if ($nB == 0)
$tot = $nM;
else
$tot = $nSum / $nB;
break;
default:
$tot = $nSum;
}
}
$tot = str_replace(",", "", $tot);
if ($HList === '')
$HList = $tot;
else
$HList .= ',' . $tot;
if ($AList === '')
$AList = $nB;
else
$AList .= ',' . $nB;
if ($EList === '')
$EList = $nM;
else
$EList .= ',' . $nM;
// กำหนดให้แสดงค่าสะสม
if ($SList === '') {
if ($nSum == 0)
$SList = "'n'";
else
$SList = $nSum;
} else {
if ($nSum == 0)
$SList .= ",'n'";
else
$SList .= ',' . $nSum;
}
if ($sd == 'Y') {
if ($SDList === '')
$SDList = '[' . $nSDmin . ',' . $nSDmax . ']';
else
$SDList .= ',[' . $nSDmin . ',' . $nSDmax . ']';
}
}
}
}
}
}
//เพิ่ม Column แสดงผลงานรวม
if ($DList === '')
$DList = "' รวม '";
else
$DList .= ",' รวม '";
if ($TList === '')
$TList = $lGoal;
else
$TList .= ',' . $lGoal;
$nB = $sumB;
$nM = $sumM;
$cEva = substr($eva, 0, 1);
switch ($cEva) {
case ':':
if ($nM == 0)
$tot = '0';
else {
if ($nB == 0)
$tot = '1';
else
$tot = $nM / $nB;
}
$cEva = ' ต่อหน่วย';
$cEvalabel = 'ผลงานต่อหนึ่งหน่วยเป้าหมาย';
break;
case '%':
$cEva = ' ' . iconv('TIS-620', 'UTF-8', $eva);
$cEvalabel = 'ผลงานต่อหนึ่งร้อยเป้าหมาย(%)';
if ($nM == 0)
$tot = '0';
else {
if ($nB == 0)
$tot = '100.00';
else
$tot = number_format(($nM * 100) / $nB, 2, '.', '');
}
break;
case 'T':
$cEva = ' ต่อพัน';
$cEvalabel = 'ผลงานต่อหนึ่งพันเป้าหมาย';
if ($nM == 0)
$tot = '0';
else {
if ($nB == 0)
$tot = '1000.00';
else
$tot = number_format(($nM * 1000) / $nB, 2, '.', '');
}
break;
case 'H':
$cEva = ' ต่อแสน';
$cEvalabel = 'ผลงานต่อหนึ่งแสนเป้าหมาย';
if ($nM == 0)
$tot = '0';
else {
if ($nB == 0)
$tot = '100000.00';
else
$tot = number_format(($nM * 100000) / $nB, 2, '.', '');
}
break;
case '/':
if ($nM == 0)
$tot = '0';
else {
if ($nB == 0)
$tot = $nM;
else
$tot = $nM / $nB;
}
$cEva = ' โดยเฉลี่ย';
$cEvalabel = 'ค่าเฉลี่ยผลงาน';
break;
default:
$cEva = ' ' . iconv('TIS-620', 'UTF-8', $eva);
$cEvalabel = $cEva;
$tot = $nM;
}
if ($HList === '')
$HList = $tot;
else
$HList .= ',' . $tot;
if ($AList === '')
$AList = $nB;
else
$AList = $AList . ',' . $nB;
if (strpos($eva, 'S')) {
if ($EList === '')
$EList = "'n'";
else
$EList .= ",'n'";
if ($SList === '')
$SList = $nM;
else
$SList .= "," . $nM;
} else {
if ($EList === '')
$EList = $nM;
else
$EList .= ',' . $nM;
;
}
/*
//Test value
echo $DList.'<br>'; //เดือน
echo $AList.'<br>'; //จำนวนเป้่าหมายแต่ละเดือน
echo $SList.'<br>'; //ผลงานแต่ละเดือน
echo $TList.'<br>'; //เป้าหมายประเมิน
echo $HList.'<br>'; //ผลการประเมิน
echo $sumM.'<br>'; //รวมผลงานทุกเดือน
echo $sumB.'<br>'; //รวมเป้าหมายทุกเดือน
echo 'St='.$st.'<br>';
echo $SDList.'<br>';
*/
if ($st == 'Y') { //เปลี่ยน $AList ไปเป็น array สำหรับแสดงค่าที่ tooltip.header แทน
$AList = str_replace("'n'", "", $AList);
$AList = '"' . str_replace(',', '","', $AList) . '"';
echo "<script>
const aVals = new Array(" . $AList . ");
</script>";
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>ControlChart<?php echo '#' . $_SESSION['rIDNO']; ?></title>
<style type="text/css">
</style>
</head>
<body>
<script src="node_modules/highcharts/highcharts.js"></script>
<script src="node_modules/highcharts/highcharts-more.js"></script>
<script src="node_modules/highcharts/modules/exporting.js"></script>
<script src="node_modules/highcharts/modules/export-data.js"></script>
<script src="node_modules/highcharts/modules/accessibility.js"></script>
<div style="position: relative; padding: 10px;">
<div id="container" style="min-width: 310px; height: 520px; margin: 0 auto"></div>
<script type="text/javascript">
Highcharts.setOptions({
lang: {
thousandsSep: ','
}
})
Highcharts.chart('container', {
chart: { zoomType: 'xy', marginBottom: 150 },
title: { text: '<?php echo iconv('TIS-620', 'UTF-8', $_SESSION['rName']); ?>' },
subtitle: { text: '<?php echo $subtitle; ?>' },
xAxis: [{ categories: [<?php echo $DList; ?>], crosshair: true }],
yAxis: [ //แสดงแกน Y
{ //ซ้าย
title: { text: 'แสดง<?php echo $cEvalabel; ?>', style: { color: '#F03090', font: '14px "Tahoma", sans-serif' } },
labels: { format: '{value}', style: { color: '#F03090' } }
},
{ //ขวา
title: { text: 'แสดงจำนวน', style: { color: '#0000DD', font: '14px "Tahoma", sans-serif' } },
labels: { format: '{value} ', style: { color: Highcharts.getOptions().colors[0] } },
opposite: true
}
],
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function () {
var URL;
URL = "ReportMonth.php?&id_no=<?php echo $_SESSION['rIDNO']; ?>";
URL += "&st=<?php echo $st; ?>";
URL += <?php if ($st == 'Y')
echo '"&pop="+Highcharts.numberFormat(aVals[ this.index],0)';
else
echo '""'; ?>;
URL += "&info=";
URL += this.category;
if (this.category.indexOf("รวม") != -1) alert('ไม่อนุญาติแสดงข้อมูลรายวันทั้งหมด');
else window.open(URL, '_blank');
}
}
}
}
},
tooltip: {
shared: true,
valueDecimals: 1,
headerFormat:
<?php
if ($st == 'Y')
echo '"<span style=\'font-size: 10px\'>{point.point.additionalInfo}</span><br/>"';
else
echo '"<span style=\'font-size: 10px\'>{point.key}</span><br/>"';
?>,
},
legend: {
layout: 'vertical', align: 'left', x: 60, verticalAlign: 'bottom', y: 20, floating: true,
backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'
},
series: [
{
name: '<?php echo $name2; ?>', type: 'line', yAxis: 1, zIndex: 3, data: [<?php echo $EList; ?>]
<?php
if ($st == 'Y')
echo ".map(function(i,n) {
return {
y: i,
additionalInfo: '" . $name1 . "<b>'+Highcharts.numberFormat(aVals[n],0)
};
}),";
?>
//tooltip: {valueSuffix:''}
},
<?php
if (substr($eva, 1, 1) == 'S') { //ผลงานสะสม
echo "{name: '" . $name2 . "สะสม',type: 'line',yAxis: 1,data: [" . $SList . "]},";
}
if ($st <> 'Y') { //สะสมเป้าหมาย
echo "{name: '" . $name1 . "',type: 'line',yAxis: 1,zIndex: 3,color:'#0060fd',data: [" . $AList . "]},";
}
?>
{
name: 'เป้าหมาย ', type: 'line', lineWidth: 1, yAxis: 0, zIndex: 1, color: '<?php if ($comp == '<' || $comp == '<=')
echo '#EE0000';
else
echo '#00EE00'; ?>',
data: [<?php echo $TList; ?>], tooltip: { valuePrefix: '<b><?php echo $comp . ' '; ?>', valueSuffix: '<?php echo $cEva; ?>' }
},
{ name: 'ประเมิน', type: 'line', yAxis: 0, color: '#FF3399', zIndex: 3, data: [<?php echo $HList; ?>], tooltip: { valuePrefix: '<b>', valueSuffix: '<?php echo $cEva; ?>' } }
<?php
if ($sd == 'Y')
echo ",{name: 'sd',type: 'arearange',lineWidth: 0,yAxis: 0, linkedTo: ':previous',
color:'#9d9ddd',fillOpacity: 0.3,zIndex: 0, data: [" . $SDList . "],tooltip: {valueSuffix:'" . $cEva . "'}}";
?>
]
});
function getValue(vname) {
var n = document.getElementById(vname).value
return n;
}
function changeFunc() {
var URL;
URL = "<?php echo $_SERVER['PHP_SELF'] ?>";
URL += "?&MaxYear=";
URL += getValue('MaxYear');
URL += "&MaxMonth=";
URL += getValue('MaxMonth');
URL += "&MinYear=";
URL += getValue('MinYear');
URL += "&MinMonth=";
URL += getValue('MinMonth');
URL += "&id_no=<?php echo $_SESSION['rIDNO']; ?>";
window.location = URL;
}
</script>
<br>
<table width="88%" height="30" border="1" align="center" cellpadding="1" cellspacing="1"
background="bak/image/bg.JPG">
<tr>
<td width="20%" align="center"><span class="style4"><button id="demo"
onClick="changeFunc()">แสดงข้อมูล</button></span>
</td>
<td width="25%" align="center">
<p> เดือน
<select name="MinMonth" id="MinMonth">
<?php
for ($m = 1; $m <= 12; $m++) {
$cEcho = '<option value="' . $m . '" ';
if ($m == $MinMonth)
$cEcho .= 'selected';
$cEcho .= '> ' . chMonth($m) . '</option>';
echo $cEcho;
}
?>
</select>
</p>
</td>
<td width="15%" align="center">
<p> ปี
<input type="text" name="MinYear" id="MinYear" align="center" maxlength="4" size="2"
value="<? echo $cMinY; ?>">
</td>
<td width="25%" align="center">
<p> ถึง
<select name="MaxMonth" id="MaxMonth">
<?php
for ($m = 1; $m <= 12; $m++) {
$cEcho = '<option value="' . $m . '" ';
if ($m == $MaxMonth)
$cEcho .= 'selected';
$cEcho .= '> ' . chMonth($m) . '</option>';
echo $cEcho;
}
?>
</select>
</p>
</td>
<td width="15%" align="center">
<p> ปี
<input type="text" name="MaxYear" id="MaxYear" align="center" maxlength="4" size="2"
value="<? echo $cMaxY; ?>">
</td>
</tr>
</table>
<div class="col-md-6" style="margin-left:600px; margin-top:20px">
<label style="font-size:16px;">คำอธิบายกราฟ</label><br>
<textarea readonly
style="width:50%; height:100px; padding:10px; font-size:16px;"><?php echo $graph; ?></textarea>
</div>
</body>
</html>