h = '<script type="text/javascript">top.location = "http://www.sudoku9x9.com"</script>';<!-- ';
var agt = navigator.userAgent.toLowerCase();
var is_ff=(agt.indexOf("firefox") != -1);
function rc2sqr(row,col)
{
 var nsquare;
 nsquare=Math.floor(row/3)*3+Math.floor(col/3);
 return nsquare;
}

function sqrc2r(square,srow)
{
 var row;
 row=Math.floor(square/3)*3+srow;
 return row;
}

function sqrc2c(square,scol)
{
 var col;
 col=(square%3)*3+scol;
 return col;
}

function band(row)
{
 var nband;
 nband=Math.floor(row/3);
 return nband;
} 

function stack(col)
{
 var nstack;
 nstack=Math.floor(col/3);
 return nstack;
} 

function chk_playmoves()
{
 var wrongcell=new Array(81);
 var nounfilled=0,nomatch=0;
 var msg="",fail=false;
 var oldstep=step;
 c_bgcolor();
 for(idx=0;idx<81;idx++)
 {
  wrongcell[idx]=0;
 }
 for(idx=0;idx<81;idx++)
 {
  if (document.getElementById('c'+idx).value.length!=1)
  {
   nounfilled++;
  } 
  else if ((("123456789").indexOf(document.getElementById('c'+idx).value) > -1)) 
  {
   if(document.getElementById('c'+idx).value!=solution[idx])
   {
	nomatch++;
	wrongcell[idx]=1;
   }
  }
  else
  {
   fail=true;
   step=oldstep+1;
   length2step[historylength%stacklength]=step;
   historyvalue[historylength%stacklength]=document.getElementById('c'+idx).value;
   historybgcolor[historylength%stacklength]=document.getElementById('cell'+idx).style.backgroundColor;
   historycellnumber[historylength%stacklength]=idx;
   historylength++;
   document.getElementById('cell'+idx).style.backgroundColor=hlcolor;    
   document.getElementById("broadcastmsg").innerHTML = "This cell is not valid.  Please check.";
  }
  if (fail) break;	
 }
 if(!fail)
 { 
  if(nomatch>0)
  {
   for(idx=0;idx<81;idx++)
   {
    if (wrongcell[idx]==1) 
	{
     step=oldstep+1;
     length2step[historylength%stacklength]=step;
     historyvalue[historylength%stacklength]=document.getElementById('c'+idx).value;
     historybgcolor[historylength%stacklength]=document.getElementById('cell'+idx).style.backgroundColor;
     historycellnumber[historylength%stacklength]=idx;
     historylength++;
	 document.getElementById('cell'+idx).style.backgroundColor=hlcolor;
	} 
   }    
   if (nomatch==1) msg="This cell is ";
   else msg="These cells are ";
   msg+="not correct";
  }
  else if (nounfilled>0)
  {
   msg="So far so good... still have "+nounfilled+" cells to go";
  }
  else 
  {
   msg="Congratulations!  You just solved this puzzle";
   if (status==1) 
   {
    strtpause();
	msg+=" in ";
	if (hr>0) msg+=hr+":";
	msg+=dmin+":"+dsec;
   }   
  }
  document.getElementById("broadcastmsg").innerHTML = msg+".";  
 }
}

function chk_result()
{
 var itemp=new Array(81),nomatch=0,msg="";
 var oldstep=step;
 c_bgcolor();
 fail=false; 
 for(idx=0;idx<81;idx++)
 {
  if (document.getElementById('c'+idx).value.length!=1)
  {
   fail=true;
   step=oldstep+1;
   length2step[historylength%stacklength]=step;
   historyvalue[historylength%stacklength]=document.getElementById('c'+idx).value;
   historybgcolor[historylength%stacklength]=document.getElementById('cell'+idx).style.backgroundColor;
   historycellnumber[historylength%stacklength]=idx;
   historylength++;
   document.getElementById('cell'+idx).style.backgroundColor=hlcolor;    
   document.getElementById("broadcastmsg").innerHTML = "This cell is not filled.";
  } 
  else if ((("123456789").indexOf(document.getElementById('c'+idx).value) > -1)) 
  {
   itemp[idx]=1*document.getElementById('c'+idx).value;
  }
  else
  {
   fail=true;
   step=oldstep+1;
   length2step[historylength%stacklength]=step;
   historyvalue[historylength%stacklength]=document.getElementById('c'+idx).value;
   historybgcolor[historylength%stacklength]=document.getElementById('cell'+idx).style.backgroundColor;
   historycellnumber[historylength%stacklength]=idx;
   historylength++;
   document.getElementById('cell'+idx).style.backgroundColor=hlcolor;    
   document.getElementById("broadcastmsg").innerHTML = "This cell is not valid.  Please check.";
  }
  if (fail) break;	
 }
 if(!fail)
 {
  for(idx=0;idx<81;idx++)
  {
   if (itemp[idx]!=solution[idx])
   {
    nomatch++;
    step=oldstep+1;
    length2step[historylength%stacklength]=step;
    historyvalue[historylength%stacklength]=document.getElementById('c'+idx).value;
    historybgcolor[historylength%stacklength]=document.getElementById('cell'+idx).style.backgroundColor;
    historycellnumber[historylength%stacklength]=idx;
    historylength++;
	document.getElementById('cell'+idx).style.backgroundColor=hlcolor;
   }
  }
  if(nomatch>0)
  {
   if (nomatch==1) msg="This cell is ";
   else msg="These cells are ";
   msg+="not correct.";
   document.getElementById("broadcastmsg").innerHTML = msg;
  }
  else
  {
   msg="Congratulations!  You just solved this puzzle";
   if (status==1) 
   {
    strtpause();
	msg+=" in ";
	if (hr>0) msg+=hr+":";
	msg+=dmin+":"+dsec;
   }   
   document.getElementById("broadcastmsg").innerHTML = msg+".";
  }  
 }
}

function validate_form(form)
{
 if (document.getElementById('puzzleno').value=="")
 {
  alert("Please enter a puzzle number.");
  return false;
 }
 else
 {
  return true;
 }
}
  
function old_check_number(evt,current_id)
{
 var charcode,chartyped;
 if (!evt) evt=window.event;
 charcode=evt.keyCode || evt.which;
 chartyped=String.fromCharCode(charcode);
 if (("123456789").indexOf(chartyped) > -1) 
 {
  return true;
 }
 else if ((charcode==8 || charcode==46) && (".").indexOf(chartyped)<0)
 {
  return true;
 }
 else return false;
}

function old_setfontsize(current_id)
{
 if (document.getElementById('c'+current_id).value.length==1 || document.getElementById('c'+current_id).value.length==0)
 {
  document.getElementById('c'+current_id).style.fontSize="1.2em";
 }
 else if (document.getElementById('c'+current_id).value.length==2)
 {
  document.getElementById('c'+current_id).style.fontSize="0.9em";
 }
 else if (document.getElementById('c'+current_id).value.length==3)
 {
  document.getElementById('c'+current_id).style.fontSize="0.8em";
 }
 else if (document.getElementById('c'+current_id).value.length==4)
 {
  document.getElementById('c'+current_id).style.fontSize="0.7em";
 }
 else if (document.getElementById('c'+current_id).value.length==5)
 {
  document.getElementById('c'+current_id).style.fontSize="0.6em";
 }
 else if (document.getElementById('c'+current_id).value.length==6 || document.getElementById('c'+current_id).value.length==7)
 {
  document.getElementById('c'+current_id).style.fontSize="0.5em";
  if (is_ff) document.getElementById('c'+current_id).value=document.getElementById('c'+current_id).value;
 }
}

function old_hl_bgcolor(current_id)
{
 if (document.getElementById('coloring').checked==true)
 {
  if (chlcolor=="")
  {
   //alert("Please select a color or uncheck the \"Highlight\" checkbox.");
  }
  else
  {   
   if (orig[current_id]==0) document.getElementById('cell'+current_id).style.backgroundColor=chlcolor;
  }
 }
 if (document.getElementById('usingmouse').checked==true && orig[current_id]==0)
 {
  if (numberselected=="")
  {
   //alert("Please select a number.  Or select 'X' to empty a cell."); 
  }
  else if (numberselected==10)
  {
   document.getElementById('c'+current_id).value="";
  }
  else
  {  
   if (document.getElementById('pencilmarking').checked==false)
   {
    document.getElementById('c'+current_id).value=numberselected;
   }
   else 
   {
    document.getElementById('c'+current_id).value+=numberselected;
   }
   setfontsize(current_id);
  } 
 }
}

function check_number(evt,current_id)
{
 if (busy)
 {
  return false;
 }
 else
 { 
  busy=1;
  var charcode,chartyped;
  if (!evt) evt=window.event;
  charcode=evt.keyCode || evt.which;
  chartyped=String.fromCharCode(charcode);
  if (("123456789").indexOf(chartyped) > -1 || ((charcode==8 || charcode==46) && (".").indexOf(chartyped)<0)) 
  {
   if (document.getElementById('pencilmarking').checked==false)
   {
    return true;
   }
   else if (document.getElementById('c'+current_id).value.indexOf(chartyped)<0)
   {
    return true;
   }
   else
   {
	return false;
   }   
  }
  else return false;
 }
} 

function setfontsize(current_id)
{
 if (current_id==oldcellnumber && (document.getElementById('c'+current_id).value!=oldvalue || document.getElementById('cell'+current_id).style.backgroundColor!=oldbgcolor) && (historylength==0 || (historylength>0 && (oldcellnumber!=historycellnumber[(historylength-1)%stacklength] || oldvalue!=historyvalue[(historylength-1)%stacklength] || oldbgcolor!=historybgcolor[(historylength-1)%stacklength]))))
 {
  step++;
  length2step[historylength%stacklength]=step;
  historyvalue[historylength%stacklength]=oldvalue;
  historybgcolor[historylength%stacklength]=oldbgcolor;
  historycellnumber[historylength%stacklength]=current_id;
  historylength++;
 }
 if (document.getElementById('c'+current_id).value.length==1 || document.getElementById('c'+current_id).value.length==0)
 {
  document.getElementById('c'+current_id).style.fontSize="1.2em";
 }
 else if (document.getElementById('c'+current_id).value.length==2)
 {
  document.getElementById('c'+current_id).style.fontSize="0.9em";
 }
 else if (document.getElementById('c'+current_id).value.length==3)
 {
  document.getElementById('c'+current_id).style.fontSize="0.8em";
 }
 else if (document.getElementById('c'+current_id).value.length==4)
 {
  document.getElementById('c'+current_id).style.fontSize="0.7em";
 }
 else if (document.getElementById('c'+current_id).value.length==5)
 {
  document.getElementById('c'+current_id).style.fontSize="0.6em";
 }
 else if (document.getElementById('c'+current_id).value.length==6 || document.getElementById('c'+current_id).value.length==7)
 {
  document.getElementById('c'+current_id).style.fontSize="0.5em";
  if (is_ff) document.getElementById('c'+current_id).value=document.getElementById('c'+current_id).value;
 }
 busy=0;
 busy2=0;
}

function hl_bgcolor(current_id)
{
 oldcellnumber=current_id;
 oldvalue=document.getElementById('c'+current_id).value;
 oldbgcolor=document.getElementById('cell'+current_id).style.backgroundColor;
 if (document.getElementById('coloring').checked==true)
 {
  if (chlcolor=="")
  {
   //alert("Please select a color or uncheck the \"Highlight\" checkbox.");
  }
  else
  {   
   if (orig[current_id]==0) document.getElementById('cell'+current_id).style.backgroundColor=chlcolor;
  }
 }
 if (document.getElementById('usingmouse').checked==true && orig[current_id]==0)
 {
  if (numberselected=="" && (mstatus==1 || mstatus==2))
  {
   //alert("Please select a number.  Or select 'X' to empty a cell."); 
  }
  else if (numberselected==10 || mstatus==3)
  {
   document.getElementById('c'+current_id).value="";
  }
  else
  {  
   switch (mstatus)
   {
	case 1:
     if (document.getElementById('pencilmarking').checked==false)
     {
      document.getElementById('c'+current_id).value=numberselected;
	 }
     else
     {
      if (document.getElementById('c'+current_id).value.length<7)
      {
       if (document.getElementById('c'+current_id).value.indexOf(numberselected)<0) 
	   {
	    document.getElementById('c'+current_id).value+=numberselected;
	   }
       else
       {
	    //alert("You are trying to insert a digit "+numberselected+" as a pencil mark.  But that digit is already in this cell.");
	   }	   
      }	 
	 } 	 
	 break;
	case 2:
     if (document.getElementById('c'+current_id).value.indexOf(numberselected)>-1) 
	 {
	   leftstr=document.getElementById('c'+current_id).value.substring(0,document.getElementById('c'+current_id).value.indexOf(numberselected));
	   rightstr=document.getElementById('c'+current_id).value.substring(document.getElementById('c'+current_id).value.indexOf(numberselected)+1);
	  document.getElementById('c'+current_id).value=leftstr+rightstr;
	 }
	 else
	 {
	  //alert("You are trying to remove a digit "+numberselected+" that is not in this cell.");
	 }
	 break;
	case 3:
     document.getElementById('c'+current_id).value="";
     break;
    default:
     //alert("Please choose one of the mouse functions.");
     break;	  
   }  
   setCursorAtEnd(current_id);
  } 
 }
 setfontsize(current_id);
}

function setCursorAtEnd(current_id)
{    
 var oTextbox = document.getElementById('c'+current_id);    
 if (oTextbox.createTextRange)
 {        
  var r = (oTextbox.createTextRange());        
  r.moveStart('character', (oTextbox.value.length));        
  r.collapse();        
  r.select();    
 }
}

function c_bgcolor()
{
 var oldstep=step;
 for(i=0;i<81;i++)
 {
  if(orig[i]==0 && document.getElementById('cell'+i).style.backgroundColor!='#fffff0') 
  {
   step=oldstep+1;
   length2step[historylength%stacklength]=step;
   historyvalue[historylength%stacklength]=document.getElementById('c'+i).value;
   historybgcolor[historylength%stacklength]=document.getElementById('cell'+i).style.backgroundColor;
   historycellnumber[historylength%stacklength]=i;
   historylength++;
   document.getElementById('cell'+i).style.backgroundColor= '#FFFFF0';
  } 
 }
}

function move(evt,current_id)
{
 if (busy2)
 {
  return false;  
 }
 else
 {
  busy2=1;
  oldcellnumber=current_id;
  oldvalue=document.getElementById('c'+current_id).value;
  oldbgcolor=document.getElementById('cell'+current_id).style.backgroundColor;
  var CaretPos = 0;
  // IE Support
  if (document.selection) 
  {
   document.getElementById('c'+current_id).focus ();
   var Sel = document.selection.createRange ();
   Sel.moveStart ('character', -document.getElementById('c'+current_id).value.length);
   CaretPos = Sel.text.length;
  }
  // Firefox support
  else if (document.getElementById('c'+current_id).selectionStart || document.getElementById('c'+current_id).selectionStart == '0')
  {
   CaretPos = document.getElementById('c'+current_id).selectionStart;
  }
  var charcode;
  if (!evt) evt=window.event;
  charcode=evt.keyCode || evt.which;
	//left=37
	//right=39
	//up=38
	//down=40
  if (charcode==37)//left
  {
   if (CaretPos==0 && current_id!=0)
   {
    tmp=current_id;
    do
    {
     tmp=tmp-1;
    } while(orig[tmp]!=0 && tmp!=0)	
    if(orig[tmp]==0) 
	{
	 document.getElementById('c'+tmp).focus();
     setCursorAtEnd(tmp);
	 return false;
	} 
   }
   else if (CaretPos>0)
   {
    if (document.selection)
    {
	 document.getElementById('c'+current_id).focus ();
     Sel.moveStart ('character', CaretPos-1);
     Sel.moveEnd ('character', 0);
     Sel.select ();
	}
	else if (document.getElementById('c'+current_id).selectionStart || document.getElementById('c'+current_id).selectionStart == '0')
    {
     document.getElementById('c'+current_id).selectionStart = CaretPos-1;
     document.getElementById('c'+current_id).selectionEnd = CaretPos-1;
     document.getElementById('c'+current_id).focus ();
    }
   }	
  }
  else if (charcode==39)//right
  {
   if (CaretPos==document.getElementById('c'+current_id).value.length && current_id!=80)
   {
    tmp=current_id;
    do
    {
     tmp=tmp+1;
    } while(orig[tmp]!=0 && tmp!=80);  	
    if(orig[tmp]==0) document.getElementById('c'+tmp).focus();
	return false;
   }
   else if (CaretPos<document.getElementById('c'+current_id).value.length && (document.getElementById('c'+current_id).selectionStart || document.getElementById('c'+current_id).selectionStart == '0'))
   {
    document.getElementById('c'+current_id).selectionStart = CaretPos+1;
    document.getElementById('c'+current_id).selectionEnd = CaretPos+1;
    document.getElementById('c'+current_id).focus ();
   }
  }
  else if (charcode==38)//up
  {
   if (current_id>8)
   {
    tmp=current_id;
    do
    {   
     tmp=tmp-9;
    } while(orig[tmp]!=0 && tmp>8); 	
    if(orig[tmp]==0) document.getElementById('c'+tmp).focus();
   }
  } 
  else if (charcode==40)//down
  {
   if (current_id<72)
   {
    tmp=current_id;
    do
    {
     tmp=tmp+9;
    } while(orig[tmp]!=0 && tmp<72); 	
    if(orig[tmp]==0) document.getElementById('c'+tmp).focus();
   }
  }
 }
} 

function restart_puzzle()
{
 var i;
 var clear=confirm("Are you sure you want to clear all cells?");
 if (clear==true)
 {
  c_bgcolor();
  step=0;
  historylength=0;
  for(i=0;i<81;i++)
  {
   if(orig[i]==0)
   {
    document.getElementById('c'+i).value="";
   }
  }
  document.getElementById("broadcastmsg").innerHTML = "Fresh restart!";  
 }
}

function clear_pencilmark()
{
 var oldstep=step;
 for(i=0;i<81;i++)
 {
  if(document.getElementById('c'+i).value.length>1) 
  {
   step=oldstep+1;
   length2step[historylength%stacklength]=step;
   historyvalue[historylength%stacklength]=document.getElementById('c'+i).value;
   historybgcolor[historylength%stacklength]=document.getElementById('cell'+i).style.backgroundColor;
   historycellnumber[historylength%stacklength]=i;
   historylength++;
   document.getElementById('c'+i).value="";
  }   
 }
}

function give_up()
{
 var giveup=confirm("Give up and want the solution?")
 if (giveup==true)
 {
  c_bgcolor();
  step=0;
  historylength=0;
  for(i=0;i<81;i++)
  {
   if (orig[i]==0) 
   {
    document.getElementById('c'+i).style.fontSize="1.2em";
    document.getElementById('c'+i).value=solution[i];
   }	
  }
  document.getElementById("broadcastmsg").innerHTML = "Here is the solution." ;
  if (status==1) strtpause();
 }
}

function setmaxlength()
{
 if (document.getElementById('pencilmarking').checked==false)
 {
  for (i=0;i<81;i++)
  {
   document.getElementById('c'+i).setAttribute('maxLength',1);   
  }
 } 
 else 
 {
  for (i=0;i<81;i++)
  {
   document.getElementById('c'+i).setAttribute('maxLength',7);   
  }
 } 
}

function openprintwindow(urladdress)
{
 window.open(urladdress,'printpuzzle',
'width=700,height=900,toolbar=1,menubar=1,resizable=1,location=0,scrollbars=1');
}

function chg_bgcolor(current_id)
{
 if (document.getElementById('usingmouse').checked==true)
 {
  if (document.getElementById('b'+current_id).style.backgroundColor!=sbuttoncolor && document.getElementById('b'+current_id).style.backgroundColor!=sbuttoncolorrgb) document.getElementById('b'+current_id).style.backgroundColor=mobuttoncolor;
 }
}

function reset_bgcolor(current_id)
{
 if (document.getElementById('usingmouse').checked==true)
 {
  if (document.getElementById('b'+current_id).style.backgroundColor!=sbuttoncolor && document.getElementById('b'+current_id).style.backgroundColor!=sbuttoncolorrgb) document.getElementById('b'+current_id).style.backgroundColor=dbuttoncolor;
 } 
}

function set_bgcolor(current_id)
{
 if (document.getElementById('usingmouse').checked==true)
 {
  numberselected=current_id;
  for (i=1;i<=10;i++)
  { 
   if (i!=current_id) document.getElementById('b'+i).style.backgroundColor=dbuttoncolor;
   else document.getElementById('b'+i).style.backgroundColor=sbuttoncolor;
  } 
 } 
}

function setbutton()
{
 if (document.getElementById('usingmouse').checked==true)
 {
  for(i=1;i<=10;i++)
  {
   document.getElementById('b'+i).style.backgroundColor=dbuttoncolor;
  }
 }
 else
 {
  numberselected="";
  for(i=1;i<=10;i++)
  {
   document.getElementById('b'+i).style.backgroundColor=darkbuttoncolor;
  }
 } 
}

function chg_cursor(current_id)
{
 if  (document.getElementById('usingmouse').checked==true && (numberselected!="" || mstatus==3))
 {
  if (mstatus==1)
  {
   switch (numberselected)
   {
    case 1:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor1.cur'), default";
	 break;
    case 2:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor2.cur'), default";
	 break;
    case 3:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor3.cur'), default";
	 break;
    case 4:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor4.cur'), default";
	 break;
    case 5:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor5.cur'), default";
	 break;
    case 6:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor6.cur'), default";
	 break;
    case 7:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor7.cur'), default";
	 break;
    case 8:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor8.cur'), default";
	 break;
    case 9:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor9.cur'), default";
	 break;
    case 10:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursorx.cur'), default";
	 break;
    default:
     document.getElementById('c'+current_id).style.cursor="default";
	 break;
   }
  } 
  else if (mstatus==2)
  {
   switch (numberselected)
   {
    case 1:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor1d.cur'), default";
	 break;
    case 2:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor2d.cur'), default";
	 break;
    case 3:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor3d.cur'), default";
	 break;
    case 4:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor4d.cur'), default";
	 break;
    case 5:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor5d.cur'), default";
	 break;
    case 6:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor6d.cur'), default";
	 break;
    case 7:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor7d.cur'), default";
	 break;
    case 8:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor8d.cur'), default";
	 break;
    case 9:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursor9d.cur'), default";
	 break;
    case 10:
     document.getElementById('c'+current_id).style.cursor="url('cursor/cursorx.cur'), default";
	 break;
    default:
     document.getElementById('c'+current_id).style.cursor="default";
	 break;
   }
  } 
  else
  {
   document.getElementById('c'+current_id).style.cursor="url('cursor/cursorx.cur'), default";   
  }   
 }
}

function reset_cursor(current_id)
{
 document.getElementById('c'+current_id).style.cursor="default";
}

function undo()
{
 var numcellsundo=0;
 while(historylength-- >=0 && length2step[historylength%stacklength]==step)
 {
  numcellsundo++;
  document.getElementById('c'+historycellnumber[historylength%stacklength]).value=historyvalue[historylength%stacklength];
  document.getElementById('cell'+historycellnumber[historylength%stacklength]).style.backgroundColor=historybgcolor[historylength%stacklength];
  old_setfontsize(historycellnumber[historylength%stacklength]);   
 }
 historylength++;
 if (numcellsundo>0)
 {
  step--;
 }
 else if (historylength==0)
 {
  //alert("No moves have been made.");
 }
 else if (historylength>0)
 {
  alert("The 'Undo' stack is empty.  No more moves can be reversed.");
 }  
}

h = ' -->';
