HEX
Server: Apache
System: Linux sg2plmcpnl492417.prod.sin2.secureserver.net 4.18.0-553.58.1.lve.el8.x86_64 #1 SMP Fri Jul 4 12:07:06 UTC 2025 x86_64
User: nyiet8349bzl (9207396)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/nyiet8349bzl/Backup/sbc_back/homedir/public_html/livable-cities/back/admin.php
<?php
require_once( dirname(__FILE__).'/form.lib.php' );

define( 'PHPFMG_USER', "livablecities.sbs@gmail.com" ); // must be a email address. for sending password to you.
define( 'PHPFMG_PW', "b53e8e" );

?>
<?php
/**
 * GNU Library or Lesser General Public License version 2.0 (LGPLv2)
*/

# main
# ------------------------------------------------------
error_reporting( E_ERROR ) ;
phpfmg_admin_main();
# ------------------------------------------------------




function phpfmg_admin_main(){
    $mod  = isset($_REQUEST['mod'])  ? $_REQUEST['mod']  : '';
    $func = isset($_REQUEST['func']) ? $_REQUEST['func'] : '';
    $function = "phpfmg_{$mod}_{$func}";
    if( !function_exists($function) ){
        phpfmg_admin_default();
        exit;
    };

    // no login required modules
    $public_modules   = false !== strpos('|captcha||ajax|', "|{$mod}|");
    $public_functions = false !== strpos('|phpfmg_ajax_submit||phpfmg_mail_request_password||phpfmg_filman_download||phpfmg_image_processing||phpfmg_dd_lookup|', "|{$function}|") ;   
    if( $public_modules || $public_functions ) { 
        $function();
        exit;
    };
    
    return phpfmg_user_isLogin() ? $function() : phpfmg_admin_default();
}

function phpfmg_ajax_submit(){
    $phpfmg_send = phpfmg_sendmail( $GLOBALS['form_mail'] );
    $isHideForm  = isset($phpfmg_send['isHideForm']) ? $phpfmg_send['isHideForm'] : false;

    $response = array(
        'ok' => $isHideForm,
        'error_fields' => isset($phpfmg_send['error']) ? $phpfmg_send['error']['fields'] : '',
        'OneEntry' => isset($GLOBALS['OneEntry']) ? $GLOBALS['OneEntry'] : '',
    );
    
    @header("Content-Type:text/html; charset=$charset");
    echo "<html><body><script>
    var response = " . json_encode( $response ) . ";
    try{
        parent.fmgHandler.onResponse( response );
    }catch(E){};
    \n\n";
    echo "\n\n</script></body></html>";

}


function phpfmg_admin_default(){
    if( phpfmg_user_login() ){
        phpfmg_admin_panel();
    };
}



function phpfmg_admin_panel()
{    
    if( !phpfmg_user_isLogin() ){
        exit;
    };

    phpfmg_admin_header();
    phpfmg_writable_check();
?>    
<table cellpadding="0" cellspacing="0" border="0">
	<tr>
		<td valign=top style="padding-left:280px;">

<style type="text/css">
    .fmg_title{
        font-size: 16px;
        font-weight: bold;
        padding: 10px;
    }
    
    .fmg_sep{
        width:32px;
    }
    
    .fmg_text{
        line-height: 150%;
        vertical-align: top;
        padding-left:28px;
    }

</style>

<script type="text/javascript">
    function deleteAll(n){
        if( confirm("Are you sure you want to delete?" ) ){
            location.href = "admin.php?mod=log&func=delete&file=" + n ;
        };
        return false ;
    }
</script>


<div class="fmg_title">
    1. Email Traffics
</div>
<div class="fmg_text">
    <a href="admin.php?mod=log&func=view&file=1">view</a> &nbsp;&nbsp;
    <a href="admin.php?mod=log&func=download&file=1">download</a> &nbsp;&nbsp;
    <?php 
        if( file_exists(PHPFMG_EMAILS_LOGFILE) ){
            echo '<a href="#" onclick="return deleteAll(1);">delete all</a>';
        };
    ?>
</div>


<div class="fmg_title">
    2. Form Data
</div>
<div class="fmg_text">
    <a href="admin.php?mod=log&func=view&file=2">view</a> &nbsp;&nbsp;
    <a href="admin.php?mod=log&func=download&file=2">download</a> &nbsp;&nbsp;
    <?php 
        if( file_exists(PHPFMG_SAVE_FILE) ){
            echo '<a href="#" onclick="return deleteAll(2);">delete all</a>';
        };
    ?>
</div>

<div class="fmg_title">
    3. Form Generator
</div>
<div class="fmg_text">
    <a href="http://www.formmail-maker.com/generator.php" onclick="document.frmFormMail.submit(); return false;" title="<?php echo htmlspecialchars(PHPFMG_SUBJECT);?>">Edit Form</a> &nbsp;&nbsp;
    <a href="http://www.formmail-maker.com/generator.php" >New Form</a>
</div>
    <form name="frmFormMail" action='http://www.formmail-maker.com/generator.php' method='post' enctype='multipart/form-data'>
    <input type="hidden" name="uuid" value="<?php echo PHPFMG_ID; ?>">
    <input type="hidden" name="external_ini" value="<?php echo function_exists('phpfmg_formini') ?  phpfmg_formini() : ""; ?>">
    </form>

		</td>
	</tr>
</table>

<?php
    phpfmg_admin_footer();
}



function phpfmg_admin_header( $title = '' ){
    header( "Content-Type: text/html; charset=" . PHPFMG_CHARSET );
?>
<html>
<head>
    <title><?php echo '' == $title ? '' : $title . ' | ' ; ?>PHP FormMail Admin Panel </title>
    <meta name="keywords" content="PHP FormMail Generator, PHP HTML form, send html email with attachment, PHP web form,  Free Form, Form Builder, Form Creator, phpFormMailGen, Customized Web Forms, phpFormMailGenerator,formmail.php, formmail.pl, formMail Generator, ASP Formmail, ASP form, PHP Form, Generator, phpFormGen, phpFormGenerator, anti-spam, web hosting">
    <meta name="description" content="PHP formMail Generator - A tool to ceate ready-to-use web forms in a flash. Validating form with CAPTCHA security image, send html email with attachments, send auto response email copy, log email traffics, save and download form data in Excel. ">
    <meta name="generator" content="PHP Mail Form Generator, phpfmg.sourceforge.net">

    <style type='text/css'>
    body, td, label, div, span{
        font-family : Verdana, Arial, Helvetica, sans-serif;
        font-size : 12px;
    }
    </style>
</head>
<body  marginheight="0" marginwidth="0" leftmargin="0" topmargin="0">

<table cellspacing=0 cellpadding=0 border=0 width="100%">
    <td nowrap align=center style="background-color:#024e7b;padding:10px;font-size:18px;color:#ffffff;font-weight:bold;width:250px;" >
        Form Admin Panel
    </td>
    <td style="padding-left:30px;background-color:#86BC1B;width:100%;font-weight:bold;" >
        &nbsp;
<?php
    if( phpfmg_user_isLogin() ){
        echo '<a href="admin.php" style="color:#ffffff;">Main Menu</a> &nbsp;&nbsp;' ;
        echo '<a href="admin.php?mod=user&func=logout" style="color:#ffffff;">Logout</a>' ;
    }; 
?>
    </td>
</table>

<div style="padding-top:28px;">

<?php
    
}


function phpfmg_admin_footer(){
?>

</div>

<div style="color:#cccccc;text-decoration:none;padding:18px;font-weight:bold;">
	:: <a href="http://phpfmg.sourceforge.net" target="_blank" title="Free Mailform Maker: Create read-to-use Web Forms in a flash. Including validating form with CAPTCHA security image, send html email with attachments, send auto response email copy, log email traffics, save and download form data in Excel. " style="color:#cccccc;font-weight:bold;text-decoration:none;">PHP FormMail Generator</a> ::
</div>

</body>
</html>
<?php
}


function phpfmg_image_processing(){
    $img = new phpfmgImage();
    $img->out_processing_gif();
}


# phpfmg module : captcha
# ------------------------------------------------------
function phpfmg_captcha_get(){
    $img = new phpfmgImage();
    $img->out();
    //$_SESSION[PHPFMG_ID.'fmgCaptchCode'] = $img->text ;
    $_SESSION[ phpfmg_captcha_name() ] = $img->text ;
}



function phpfmg_captcha_generate_images(){
    for( $i = 0; $i < 50; $i ++ ){
        $file = "$i.png";
        $img = new phpfmgImage();
        $img->out($file);
        $data = base64_encode( file_get_contents($file) );
        echo "'{$img->text}' => '{$data}',\n" ;
        unlink( $file );
    };
}


function phpfmg_dd_lookup(){
    $paraOk = ( isset($_REQUEST['n']) && isset($_REQUEST['lookup']) && isset($_REQUEST['field_name']) );
    if( !$paraOk )
        return;
        
    $base64 = phpfmg_dependent_dropdown_data();
    $data = @unserialize( base64_decode($base64) );
    if( !is_array($data) ){
        return ;
    };
    
    
    foreach( $data as $field ){
        if( $field['name'] == $_REQUEST['field_name'] ){
            $nColumn = intval($_REQUEST['n']);
            $lookup  = $_REQUEST['lookup']; // $lookup is an array
            $dd      = new DependantDropdown(); 
            echo $dd->lookupFieldColumn( $field, $nColumn, $lookup );
            return;
        };
    };
    
    return;
}


function phpfmg_filman_download(){
    if( !isset($_REQUEST['filelink']) )
        return ;
        
    $filelink =  base64_decode($_REQUEST['filelink']);
    $file = PHPFMG_SAVE_ATTACHMENTS_DIR . basename($filelink);

    // 2016-12-05:  to prevent *LFD/LFI* attack. patch provided by Pouya Darabi, a security researcher in cert.org
    $real_basePath = realpath(PHPFMG_SAVE_ATTACHMENTS_DIR); 
    $real_requestPath = realpath($file);
    if ($real_requestPath === false || strpos($real_requestPath, $real_basePath) !== 0) { 
        return; 
    }; 

    if( !file_exists($file) ){
        return ;
    };
    
    phpfmg_util_download( $file, $filelink );
}


class phpfmgDataManager
{
    var $dataFile = '';
    var $columns = '';
    var $records = '';
    
    function __construct(){
        $this->dataFile = PHPFMG_SAVE_FILE; 
    }

    function phpfmgDataManager(){
        $this->dataFile = PHPFMG_SAVE_FILE; 
    }
    
    function parseFile(){
        $fp = @fopen($this->dataFile, 'rb');
        if( !$fp ) return false;
        
        $i = 0 ;
        $phpExitLine = 1; // first line is php code
        $colsLine = 2 ; // second line is column headers
        $this->columns = array();
        $this->records = array();
        $sep = chr(0x09);
        while( !feof($fp) ) { 
            $line = fgets($fp);
            $line = trim($line);
            if( empty($line) ) continue;
            $line = $this->line2display($line);
            $i ++ ;
            switch( $i ){
                case $phpExitLine:
                    continue;
                    break;
                case $colsLine :
                    $this->columns = explode($sep,$line);
                    break;
                default:
                    $this->records[] = explode( $sep, phpfmg_data2record( $line, false ) );
            };
        }; 
        fclose ($fp);
    }
    
    function displayRecords(){
        $this->parseFile();
        echo "<table border=1 style='width=95%;border-collapse: collapse;border-color:#cccccc;' >";
        echo "<tr><td>&nbsp;</td><td><b>" . join( "</b></td><td>&nbsp;<b>", $this->columns ) . "</b></td></tr>\n";
        $i = 1;
        foreach( $this->records as $r ){
            echo "<tr><td align=right>{$i}&nbsp;</td><td>" . join( "</td><td>&nbsp;", $r ) . "</td></tr>\n";
            $i++;
        };
        echo "</table>\n";
    }
    
    function line2display( $line ){
        $line = str_replace( array('"' . chr(0x09) . '"', '""'),  array(chr(0x09),'"'),  $line );
        $line = substr( $line, 1, -1 ); // chop first " and last "
        return $line;
    }
    
}
# end of class



# ------------------------------------------------------
class phpfmgImage
{
    var $im = null;
    var $width = 73 ;
    var $height = 33 ;
    var $text = '' ; 
    var $line_distance = 8;
    var $text_len = 4 ;

    function __construct( $text = '', $len = 4 ){
        $this->phpfmgImage( $text, $len );
    }

    function phpfmgImage( $text = '', $len = 4 ){
        $this->text_len = $len ;
        $this->text = '' == $text ? $this->uniqid( $this->text_len ) : $text ;
        $this->text = strtoupper( substr( $this->text, 0, $this->text_len ) );
    }
    
    function create(){
        $this->im = imagecreate( $this->width, $this->height );
        $bgcolor   = imagecolorallocate($this->im, 255, 255, 255);
        $textcolor = imagecolorallocate($this->im, 0, 0, 0);
        $this->drawLines();
        imagestring($this->im, 5, 20, 9, $this->text, $textcolor);
    }
    
    function drawLines(){
        $linecolor = imagecolorallocate($this->im, 210, 210, 210);
    
        //vertical lines
        for($x = 0; $x < $this->width; $x += $this->line_distance) {
          imageline($this->im, $x, 0, $x, $this->height, $linecolor);
        };
    
        //horizontal lines
        for($y = 0; $y < $this->height; $y += $this->line_distance) {
          imageline($this->im, 0, $y, $this->width, $y, $linecolor);
        };
    }
    
    function out( $filename = '' ){
        if( function_exists('imageline') ){
            $this->create();
            if( '' == $filename ) header("Content-type: image/png");
            ( '' == $filename ) ? imagepng( $this->im ) : imagepng( $this->im, $filename );
            imagedestroy( $this->im ); 
        }else{
            $this->out_predefined_image(); 
        };
    }

    function uniqid( $len = 0 ){
        $md5 = md5( uniqid(rand()) );
        return $len > 0 ? substr($md5,0,$len) : $md5 ;
    }
    
    function out_predefined_image(){
        header("Content-type: image/png");
        $data = $this->getImage(); 
        echo base64_decode($data);
    }
    
    // Use predefined captcha random images if web server doens't have GD graphics library installed  
    function getImage(){
        $images = array(
			'D10E' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAXElEQVR4nGNYhQEaGAYTpIn7QgMYAhimMIYGIIkFTGEMYAhldEBWF9DKGsDo6IgmxhDA2hAIEwM7KWopCEWGZiG5D00dXjEMO6YwYLglNIA1FN3NAxV+VIRY3AcAfE3JOPerGckAAAAASUVORK5CYII=',
			'E212' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAb0lEQVR4nM2QsRGAIAxFP4Ub4D5hgxShYRoo2ADdwCZTilbktNQ78rt3P5d3gT4mY6b84hfFCRo2GhjnpULAbJgvQRx5w1CoIfvBLyY9dFdNg1/vtZ5ib4A7qzDM0d20Ltc2W+c1hh6Z4H8f5sXvBCG2zOtUKz1NAAAAAElFTkSuQmCC',
			'86AC' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbElEQVR4nGNYhQEaGAYTpIn7WAMYQximMEwNQBITmcLayhDKECCCJBbQKtLI6OjowIKiTqSBtSHQAdl9S6OmhS1dFZmF7D6RKaKtSOrg5rmGYhEDqkO1gxWoNwDFLSA3A8VQ3DxQ4UdFiMV9AJZczANDnpDjAAAAAElFTkSuQmCC',
			'192E' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAb0lEQVR4nGNYhQEaGAYTpIn7GB0YQxhCGUMDkMRYHVhbGR0dHZDViTqINLo2BDqg6hVpdECIgZ20Mmvp0qyVmaFZSO4D2hHo0MqIppeh0WEKuhhLo0MAuhjQLQ6oYqIhjCGsoYEobh6o8KMixOI+AIbSxs85S1CsAAAAAElFTkSuQmCC',
			'6E60' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZ0lEQVR4nGNYhQEaGAYTpIn7WANEQxlCGVqRxUSmiDQwOjpMdUASC2gRaWBtcAgIQBZrAIkxOogguS8yamrY0qkrs6YhuS8EaB6royNMHURvK0hvIBaxABQ7sLkFm5sHKvyoCLG4DwDVksv3Z5JHQwAAAABJRU5ErkJggg==',
			'5D98' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaElEQVR4nGNYhQEaGAYTpIn7QkNEQxhCGaY6IIkFNIi0Mjo6BASgijW6NgQ6iCCJBQaAxAJg6sBOCps2bWVmZtTULGT3tYo0OoQEoJgHFkMzLwAo5ogmJjIF0y2sAZhuHqjwoyLE4j4AzavNWpTznqMAAAAASUVORK5CYII=',
			'C7E5' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAb0lEQVR4nGNYhQEaGAYTpIn7WENEQ11DHUMDkMREWhkaXRsYHZDVBTRiEWtgaGVtYHR1QHJf1KpV05aGroyKQnIfUF0AK8hcFL2MDhhijawNQPMckMVEWkWAYgwByO5jDQGKhTpMdRgE4UdFiMV9AP3Py0JQTXHeAAAAAElFTkSuQmCC',
			'6AE2' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAcklEQVR4nGNYhQEaGAYTpIn7WAMYAlhDHaY6IImJTGEMYW1gCAhAEgtoYW1lbWB0EEEWaxBpdAWpR3JfZNS0lamhq1ZFIbkvZApYXSOyHQGtoqFAsVYGFDGwuikMKG4BiwWguhkoFuoYGjIIwo+KEIv7AL06zOCXYGBoAAAAAElFTkSuQmCC',
			'3AD3' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaklEQVR4nGNYhQEaGAYTpIn7RAMYAlhDGUIdkMQCpjCGsDY6OgQgq2xlbWVtCGgQQRabItLoChQLQHLfyqhpK1NXRS3NQnYfqjqoeaKhrujmtULUiaC4BSiG5hbRAKAYmpsHKvyoCLG4DwCJf85hFILFGwAAAABJRU5ErkJggg==',
			'294D' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAcElEQVR4nGNYhQEaGAYTpIn7WAMYQxgaHUMdkMREprC2MrQ6OgQgiQW0ijQ6THV0EEHWDRILhItB3DRt6dLMzMysacjuC2AMdG1E1cvowNDoGhqIIsbawNLogKZOpAHolkZUt4SGYrp5oMKPihCL+wC9UcvRjQp2GgAAAABJRU5ErkJggg==',
			'AAD2' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbUlEQVR4nGNYhQEaGAYTpIn7GB0YAlhDGaY6IImxBjCGsDY6BAQgiYlMYW1lbQh0EEESC2gVaXRtCGgQQXJf1NJpK1NXRQEhwn1QdY3IdoSGioYCxVoZMM2bgiEGdAuGWChjaMggCD8qQizuAwCXCs6keUz7PgAAAABJRU5ErkJggg==',
			'1750' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAb0lEQVR4nGNYhQEaGAYTpIn7GB1EQ11DHVqRxVgdGBpdGximOiCJiULEAgJQ9DK0sk5ldBBBct/KrFXTlmZmZk1Dch9QXQBDQyBMHVQMKIohxtrA2hCAZodIA6OjA6pbQoC6QhlQ3DxQ4UdFiMV9AFoEyQpSldGmAAAAAElFTkSuQmCC',
			'9D8A' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaUlEQVR4nGNYhQEaGAYTpIn7WANEQxhCGVqRxUSmiLQyOjpMdUASC2gVaXRtCAgIQBNzdHR0EEFy37Sp01Zmha7MmobkPlZXFHUQCDYvMDQESUwAIoaiDuIWVL0QNzOimjdA4UdFiMV9AP1cy9CAe4H5AAAAAElFTkSuQmCC',
			'A1B2' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAa0lEQVR4nGNYhQEaGAYTpIn7GB0YAlhDGaY6IImxBjAGsDY6BAQgiYlMYQ1gbQh0EEESC2hlAKlrEEFyX9RSIAoF0kjug6prRLYjNBQoBpJBN68hYAqGGNAtqGKsoayhjKEhgyD8qAixuA8A4aTLZO1BpNcAAAAASUVORK5CYII=',
			'11A7' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaElEQVR4nGNYhQEaGAYTpIn7GB0YAhimMIaGIImxOjAGMIQyNIggiYk6sAYwOjqgiIH0sjYEACHCfSuzVkUtXRUFpBDug6prRbeXNTRgCoZYQ0AApligA7KYaAhrKLrYQIUfFSEW9wEADmbHUjDbDbQAAAAASUVORK5CYII=',
			'45A0' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAeElEQVR4nM2QsQ2AMAwEP0U2CPuEgt5IccEKTBGKbGCyAU2mJKIhFpQg8Henl/5klMtF/Cnv+EnHECTFgotgrL5hpjLTe6KGWXHBxtG7xi/nddvKNOfGjwTLcPaOMFfGmkFc7ZHagNhkIykXiKm7pJ2/+t9zufHbAYmRzNrzmnJpAAAAAElFTkSuQmCC',
			'B64E' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAY0lEQVR4nGNYhQEaGAYTpIn7QgMYQxgaHUMDkMQCprC2MrQ6OiCrC2gVaWSYiiY2RaSBIRAuBnZSaNS0sJWZmaFZSO4LmCLaytqIaZ5raCCGmAO6OpBb0MSwuXmgwo+KEIv7AEqnzFZvPV0vAAAAAElFTkSuQmCC',
			'FBA0' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAYUlEQVR4nGNYhQEaGAYTpIn7QkNFQximMLQiiwU0iLQyhDJMdUAVa3R0dAgIQFPH2hDoIILkvtCoqWFLV0VmTUNyH5o6uHmuoVjEGgKw2BGA5hbREKAYipsHKvyoCLG4DwDXSs6dTB3gJgAAAABJRU5ErkJggg==',
			'0A1F' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZklEQVR4nGNYhQEaGAYTpIn7GB0YAhimMIaGIImxBjCGMIQAZZDERKawtjKiiQW0ijQ6TIGLgZ0UtXTayqxpK0OzkNyHpg4qJhqKLiYyBVMdawCmGKODSKNjqCOK2ECFHxUhFvcBAEx0yVdbGyQeAAAAAElFTkSuQmCC',
			'86EE' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAV0lEQVR4nGNYhQEaGAYTpIn7WAMYQ1hDHUMDkMREprC2sjYwOiCrC2gVaUQXE5ki0oAkBnbS0qhpYUtDV4ZmIblPZIooVvNciRDD5hZsbh6o8KMixOI+ALEyyXYFWX0EAAAAAElFTkSuQmCC',
			'89A1' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaUlEQVR4nGNYhQEaGAYTpIn7WAMYQximMLQii4lMYW1lCGWYiiwW0CrS6OjoEIqqTqTRFSiD7L6lUUuXpq6KWorsPpEpjIFI6qDmMTS6hqKLsTSiqwO5hRVNDORmoFhowCAIPypCLO4DAHpkzYDW8Tw5AAAAAElFTkSuQmCC',
			'3DDD' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAWElEQVR4nGNYhQEaGAYTpIn7RANEQ1hDGUMdkMQCpoi0sjY6OgQgq2wVaXRtCHQQQRabgiIGdtLKqGkrU1dFZk1Ddt8ULHqxmYdFDJtbsLl5oMKPihCL+wDsnMzLuv/BAAAAAABJRU5ErkJggg==',
			'0DF3' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAW0lEQVR4nGNYhQEaGAYTpIn7GB1EQ1hDA0IdkMRYA0RaWYEyAUhiIlNEGl1BNJJYQCtELADJfVFLp61MDV21NAvJfWjqUMRECNiBzS1gNzcwoLh5oMKPihCL+wC/Psye/hUG9QAAAABJRU5ErkJggg==',
			'AC9A' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAc0lEQVR4nGNYhQEaGAYTpIn7GB0YQxlCGVqRxVgDWBsdHR2mOiCJiUwRaXBtCAgIQBILaBVpYG0IdBBBcl/U0mmrVmZGZk1Dch9IHUMIXB0YhoaCeIGhIWjmOTagqgtoBbnFEU0M5GZGFLGBCj8qQizuAwB/6syMZQBbUgAAAABJRU5ErkJggg==',
			'32E8' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAa0lEQVR4nGNYhQEaGAYTpIn7RAMYQ1hDHaY6IIkFTGFtZW1gCAhAVtkq0ujawOgggiw2hQEoBlcHdtLKqFVLl4aumpqF7L4pDFMwzWMIYEU3r5XRAV0M6JYGdL2iAaKhrmhuHqjwoyLE4j4ALxLLUixqTAwAAAAASUVORK5CYII=',
			'7080' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaElEQVR4nGNYhQEaGAYTpIn7QkMZAhhCGVpRRFsZQxgdHaY6oIixtrI2BAQEIItNEWl0dHR0EEF2X9S0lVmhK7OmIbmP0QFFHRiyNog0ujYEooiJNGDaEdCA6RagPKabByj8qAixuA8AyxXLOZ2wjt4AAAAASUVORK5CYII=',
			'11C0' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAWUlEQVR4nGNYhQEaGAYTpIn7GB0YAhhCHVqRxVgdGAMYHQKmOiCJiTqwBrA2CAQEoOllBZIiSO5bmbUqaimQnIbkPjR1BMQw7cBwSwhrKLqbByr8qAixuA8ATcvGu64Kdg8AAAAASUVORK5CYII=',
			'9996' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaUlEQVR4nGNYhQEaGAYTpIn7WAMYQxhCGaY6IImJTGFtZXR0CAhAEgtoFWl0bQh0EMAihuy+aVOXLs3MjEzNQnIfqytjoENIIIp5DK0MjQ5AvSJIYgKtLI2OaGLY3ILNzQMVflSEWNwHAJYKy6adg9CeAAAAAElFTkSuQmCC',
			'BDFC' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAW0lEQVR4nGNYhQEaGAYTpIn7QgNEQ1hDA6YGIIkFTBFpZW1gCBBBFmsVaXRtYHRgQVUHFkN2X2jUtJWpoSuzkN2Hpg7FPGxiaHZguAXs5gYGFDcPVPhREWJxHwAlZ8znt6iAjQAAAABJRU5ErkJggg==',
			'ABC6' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaUlEQVR4nGNYhQEaGAYTpIn7GB1EQxhCHaY6IImxBoi0MjoEBAQgiYlMEWl0bRB0EEASC2gVaWUFmoDsvqilU8OWrlqZmoXkPqg6FPNCQ0HmMTqIoJoHtgNNDMMtAa2Ybh6o8KMixOI+ADx0zI6ZgIWnAAAAAElFTkSuQmCC',
			'8348' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZklEQVR4nGNYhQEaGAYTpIn7WANYQxgaHaY6IImJTBFpZWh1CAhAEgtoBalydBBBUcfQyhAIVwd20tKoVWErM7OmZiG5D6SOtRHTPNfQQBTzwHY0otshAhJF0YvNzQMVflSEWNwHAM79zYeDrIajAAAAAElFTkSuQmCC',
			'465F' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbklEQVR4nGNYhQEaGAYTpI37pjCGsIY6hoYgi4WwtrI2MDogq2MMEWlEF2OdItLAOhUuBnbStGnTwpZmZoZmIbkvYIpoK0NDIIre0FCRRgc0MYYpIo2uGGKsrYyOjmhijCEMoahuGbDwox7E4j4AS/3JIKUKp6cAAAAASUVORK5CYII=',
			'DE88' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAVklEQVR4nGNYhQEaGAYTpIn7QgNEQxlCGaY6IIkFTBFpYHR0CAhAFmsVaWBtCHQQQRNDUgd2UtTSqWGrQldNzUJyH5o6vOZhiGFxCzY3D1T4URFicR8Alk7NUklNHHMAAAAASUVORK5CYII=',
			'D4FE' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAXUlEQVR4nGNYhQEaGAYTpIn7QgMYWllDA0MDkMQCpjBMZW1gdEBWF9DKEIopxuiKJAZ2UtRSIAhdGZqF5L6AVpFWTL2ioa6YdmCqm4IpBnZzAyOKmwcq/KgIsbgPAD9Eyp1diNtQAAAAAElFTkSuQmCC',
			'28FD' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZUlEQVR4nGNYhQEaGAYTpIn7WAMYQ1hDA0MdkMREprC2sjYwOgQgiQW0ijS6AsVEkHW3QtSJILtv2sqwpaErs6Yhuy8ARR0YAnkY5rE2YIqJNGC6JTQU6OYGRhQ3D1T4URFicR8AasTJ8uaFeUAAAAAASUVORK5CYII=',
			'B3B9' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAYUlEQVR4nGNYhQEaGAYTpIn7QgNYQ1hDGaY6IIkFTBFpZW10CAhAFmtlaHRtCHQQQVHHAFTnCBMDOyk0alXY0tBVUWFI7oOoc5gqgmFeQAMWMTQ7MN2Czc0DFX5UhFjcBwCzHc5IMYd0tAAAAABJRU5ErkJggg==',
			'7ECD' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAYElEQVR4nGNYhQEaGAYTpIn7QkNFQxlCHUMdkEVbRRoYHQIdAtDEWBsEHUSQxaaAxBhhYhA3RU0NW7pqZdY0JPeBVCCpA0PWBkwxkQZMOwIaMN0S0IDFzQMUflSEWNwHALqBylC9sbr1AAAAAElFTkSuQmCC',
			'7B16' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbklEQVR4nGNYhQEaGAYTpIn7QkNFQximMEx1QBZtFWllCGEICEAVa3QMYXQQQBabAlQ3hdEBxX1RU8NWTVuZmoXkPkYHsDoU81gbRBodgHpFkMREsIgFNID0oroloEE0hDHUAdXNAxR+VIRY3AcA5+vLZ0xd2EYAAAAASUVORK5CYII=',
			'1A01' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaElEQVR4nGNYhQEaGAYTpIn7GB0YAhimMLQii7E6MIYwhDJMRRYTdWBtZXR0CEXVK9Lo2hAA0wt20sqsaStTV0UtRXYfmjqomGgopphIo6OjA4YY0FYUMdEQoNgUhtCAQRB+VIRY3AcAziXJ4sQE3z8AAAAASUVORK5CYII=',
			'A9D1' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZUlEQVR4nGNYhQEaGAYTpIn7GB0YQ1hDGVqRxVgDWFtZGx2mIouJTBFpdG0ICEUWC2gFi8H0gp0UtXTp0lQgiey+gFbGQCR1YBgaytCILhbQyoJFDOwWNDGwm0MDBkH4URFicR8A+RvN8wnaNRMAAAAASUVORK5CYII=',
			'0F1E' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAYUlEQVR4nGNYhQEaGAYTpIn7GB1EQx2mMIYGIImxBog0MIQwOiCrE5ki0sCIJhbQClQ3BS4GdlLU0qlhq6atDM1Cch+aOpxiIDvQxcBuQRNjdAC6JdQRxc0DFX5UhFjcBwAFoMjs/ebUBAAAAABJRU5ErkJggg==',
			'3D62' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZklEQVR4nGNYhQEaGAYTpIn7RANEQxhCGaY6IIkFTBFpZXR0CAhAVtkq0uja4Ogggiw2BSTG0CCC5L6VUdNWpk5dtSoK2X0gdY4OjQ4Y5gW0MmCKTWHA4hZMNzOGhgyC8KMixOI+AEI9zQXbbvktAAAAAElFTkSuQmCC',
			'81BD' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAYUlEQVR4nGNYhQEaGAYTpIn7WAMYAlhDGUMdkMREpjAGsDY6OgQgiQW0sgawNgQ6iKCoYwCrE0Fy39KoVVFLQ1dmTUNyH5o6qHkMGOZhE4PpRXYL0CWh6G4eqPCjIsTiPgA6fcncmXKGUgAAAABJRU5ErkJggg==',
			'0133' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaElEQVR4nGNYhQEaGAYTpIn7GB0YAhhDGUIdkMRYAxgDWBsdHQKQxESmsAYwNAQ0iCCJBbQyBDA0OjQEILkvaumqqFVTVy3NQnIfmjqEGJp5IlMwxYC2YriF0YE1FN3NAxV+VIRY3AcAl97K87TLi1wAAAAASUVORK5CYII=',
			'8E8F' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAUklEQVR4nGNYhQEaGAYTpIn7WANEQxlCGUNDkMREpog0MDo6OiCrC2gVaWBtCEQRQ1MHdtLSqKlhq0JXhmYhuY9Y84iwA9nNKGIDFX5UhFjcBwB/hcko9taM5QAAAABJRU5ErkJggg==',
			'2A12' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAc0lEQVR4nM2QwQ2AIAxF2wMb1H3KBj3QiyM4BRzYANlBppTgpUaPmtB/e/lNXwrtMRFmyi9+TkCgwM6GUcEAAUQMk+wyBmSy25kSl963frUeW21ttX4yesneQF60s3xziaNXLKOLiWWqlLx6DRP878O8+J2iJswOB1LfAwAAAABJRU5ErkJggg==',
			'8D7C' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAa0lEQVR4nGNYhQEaGAYTpIn7WANEQ1hDA6YGIImJTBFpZWgICBBBEgtoFWl0aAh0YEFV1+jQ6OiA7L6lUdNWZi1dmYXsPrC6KYwODOjmBWCKOTowotvRytrAgOIWsJsbGFDcPFDhR0WIxX0Aub3MZEKPOt8AAAAASUVORK5CYII=',
			'CDA3' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbElEQVR4nGNYhQEaGAYTpIn7WENEQximMIQ6IImJtIq0MoQyOgQgiQU0ijQ6Ojo0iCCLNYg0ugLJACT3Ra2atjJ1VdTSLCT3oalDiIUGoJrXCFEnguYW1oZAFLeA3MzaEIDi5oEKPypCLO4DAHi4zw+N1+j0AAAAAElFTkSuQmCC',
			'E8B7' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAWklEQVR4nGNYhQEaGAYTpIn7QkMYQ1hDGUNDkMQCGlhbWRsdGkRQxEQaXUEkFnUBSO4LjVoZtjR01cosJPdB1bUyYJo3BYtYAAOGHY4OWNyMIjZQ4UdFiMV9AITEzdvPDIJUAAAAAElFTkSuQmCC',
			'69E7' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZ0lEQVR4nGNYhQEaGAYTpIn7WAMYQ1hDHUNDkMREprC2soJoJLGAFpFGV3SxBohYAJL7IqOWLk0NXbUyC8l9IVMYA4HqWpHtDWhlAOmdgirGAhILQBaDuIXRAYubUcQGKvyoCLG4DwALCcvThLenPAAAAABJRU5ErkJggg==',
			'7385' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbUlEQVR4nGNYhQEaGAYTpIn7QkNZQxhCGUMDkEVbRVoZHR0dUFS2MjS6NgSiik1hAKlzdUB2X9SqsFWhK6OikNzH6ABS59AggqSXtQFkXgCKmEgDxA5kMaAKkN6AABQxkJsZpjoMgvCjIsTiPgA3a8rv3pB+5QAAAABJRU5ErkJggg==',
			'65CF' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbUlEQVR4nGNYhQEaGAYTpIn7WANEQxlCHUNDkMREpog0MDoEOiCrC2gRaWBtEEQVaxAJYQWqRHZfZNTUpUtXrQzNQnJfyBSGRleEOojeVmxiIkAxVDtEprC2oruFNYAxBOhmFLGBCj8qQizuAwCVzMoGwC301AAAAABJRU5ErkJggg==',
			'A356' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAeElEQVR4nGNYhQEaGAYTpIn7GB1YQ1hDHaY6IImxBoi0sjYwBAQgiYlMYWh0BaoWQBILaGVoZZ3K6IDsvqilq8KWZmamZiG5D6SOoSEQxbzQUIZGh4ZABxFU84B2oIuJtDI6OqDoDWhlDWEIZUBx80CFHxUhFvcBALKUzCP9MIb6AAAAAElFTkSuQmCC',
			'AFDA' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZElEQVR4nGNYhQEaGAYTpIn7GB1EQ11DGVqRxVgDRBpYGx2mOiCJiUwBijUEBAQgiQW0gsQCHUSQ3Be1dGrY0lWRWdOQ3IemDgxDQ8FioSG4zUOINTpiioUyoogNVPhREWJxHwD9Xszur78UKAAAAABJRU5ErkJggg==',
			'F7F0' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAYUlEQVR4nGNYhQEaGAYTpIn7QkNFQ11DA1qRxQIaGBpdGximOmCKBQSgirWyNjA6iCC5LzRq1bSloSuzpiG5D6guAEkdVIzRAVOMFQjR7RABiaG5BSyG4uaBCj8qQizuAwAIz8y7gZWA0wAAAABJRU5ErkJggg==',
			'230E' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZklEQVR4nGNYhQEaGAYTpIn7WANYQximMIYGIImJTBFpZQhldEBWF9DK0Ojo6IgixtDK0MraEAgTg7hp2qqwpasiQ7OQ3ReAog4MgaY3uqKJsTZg2iHSgOmW0FBMNw9U+FERYnEfAHLOyTZMmkM0AAAAAElFTkSuQmCC',
			'F6DA' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaElEQVR4nGNYhQEaGAYTpIn7QkMZQ1hDGVqRxQIaWFtZGx2mOqCIiTSyNgQEBKCKNbA2BDqIILkvNGpa2NJVkVnTkNwX0CDaiqQObp5rQ2BoCKYYmjqQWxzRxEBuZkQRG6jwoyLE4j4ABDnNmdoktfgAAAAASUVORK5CYII=',
			'3DA3' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbklEQVR4nGNYhQEaGAYTpIn7RANEQximMIQ6IIkFTBFpZQhldAhAVtkq0ujo6NAggiw2RaTRtSGgIQDJfSujpq1MXRW1NAvZfajq4Oa5hgagmtcKUSeC5hbWhkAUt4DczNoQgOLmgQo/KkIs7gMAoIbOYdvX2V4AAAAASUVORK5CYII=',
			'3DA6' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbElEQVR4nGNYhQEaGAYTpIn7RANEQximMEx1QBILmCLSyhDKEBCArLJVpNHR0dFBAFlsikija0OgA7L7VkZNW5m6KjI1C9l9EHUY5rmGBjqIoIs1oIqB3MLaEICiF+RmoBiKmwcq/KgIsbgPAC7XzT+oHNI0AAAAAElFTkSuQmCC',
			'A873' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAdElEQVR4nGNYhQEaGAYTpIn7GB0YQ1hDA0IdkMRYA1hbGRoCHQKQxESmiDQ6NAQ0iCCJBbQC1YFFEe6LWroybNXSVUuzkNwHVjeFoQHZvNBQoHkBDGjmiTQ6OqCLsbayAl0ZgCIGdHMDA4qbByr8qAixuA8A1U7NldOqdYsAAAAASUVORK5CYII=',
			'2571' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbUlEQVR4nGNYhQEaGAYTpIn7WANEQ1lDA1qRxUSmiADJgKnIYgGtYLFQFN2tIiEMjQ4wvRA3TZu6dBUIIrsvAKhqCgOKHYwOQLEAVDHWBpFGRwdUMZEG1lbWBlSx0FDGEKBYaMAgCD8qQizuAwDo7MvPDvBc+QAAAABJRU5ErkJggg==',
			'800B' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAX0lEQVR4nGNYhQEaGAYTpIn7WAMYAhimMIY6IImJTGEMYQhldAhAEgtoZW1ldHR0EEFRJ9Lo2hAIUwd20tKoaStTV0WGZiG5D00d1DyImAhBOzDdgs3NAxV+VIRY3AcAysXLGvsugfoAAAAASUVORK5CYII=',
			'CF61' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZElEQVR4nGNYhQEaGAYTpIn7WENEQx1CGVqRxURaRRoYHR2mIosFNIo0sDYAVSKLNYDE4HrBTopaNTVs6dRVS5HdB1bn6NCKqTegFdOOAGxuQRFjDRFpYAhlCA0YBOFHRYjFfQCCQsyCHNq7mAAAAABJRU5ErkJggg==',
			'BAEE' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAXElEQVR4nGNYhQEaGAYTpIn7QgMYAlhDHUMDkMQCpjCGsDYwOiCrC2hlbcUQmyLS6IoQAzspNGraytTQlaFZSO5DUwc1TzQUUwyLOix6QwOAYmhuHqjwoyLE4j4AI9fLoPqivQgAAAAASUVORK5CYII=',
			'AAA8' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaElEQVR4nGNYhQEaGAYTpIn7GB0YAhimMEx1QBJjDWAMYQhlCAhAEhOZwtrK6OjoIIIkFtAq0ujaEABTB3ZS1NJpK1NXRU3NQnIfmjowDA0VDXUNDcRiHjYxVL1QMRQ3D1T4URFicR8A+Z3Oawm6K38AAAAASUVORK5CYII=',
			'0E34' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAYUlEQVR4nGNYhQEaGAYTpIn7GB1EQxlDGRoCkMRYA0QaWBsdGpHFRKaIAMmAVmSxgFagWKPDlAAk90UtnRq2auqqqCgk90HUOTpg6G0IDA3BtAObW1DEsLl5oMKPihCL+wA4l83cnp+s/AAAAABJRU5ErkJggg==',
			'384C' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZUlEQVR4nGNYhQEaGAYTpIn7RAMYQxgaHaYGIIkFTGFtZWh1CBBBVtkqAlTl6MCCLAZSF+jogOy+lVErw1ZmZmahuA+ojrURrg5unmtoIIaYQyOqHWC3NKK6BZubByr8qAixuA8A26rL9CUFutAAAAAASUVORK5CYII=',
			'2D31' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZklEQVR4nGNYhQEaGAYTpIn7WANEQxhDGVqRxUSmiLSyNjpMRRYLaBVpdGgICEXRDRJrdIDphbhp2rSVWVNXLUVxXwCKOjBkdACbhyLG2oApJtIAdguKWGgo2M2hAYMg/KgIsbgPAK3MzXFCadRoAAAAAElFTkSuQmCC',
			'4ADC' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZElEQVR4nGNYhQEaGAYTpI37pjAEsIYyTA1AFgthDGFtdAgQQRIDirSyNgQ6sCCJsU4RaXQFiiG7b9q0aStTV0VmIbsvAFUdGIaGioaiizFA1bGgi6G5BSyG7uaBCj/qQSzuAwA0zsycjIslxAAAAABJRU5ErkJggg==',
			'ED82' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAYUlEQVR4nGNYhQEaGAYTpIn7QkNEQxhCGaY6IIkFNIi0Mjo6BASgijW6NgQ6iKCJOTo6NIgguS80atrKrNBVq6KQ3AdV1+iAYV5AKwOm2BQGLG7BdDNjaMggCD8qQizuAwDBFM44C1a3agAAAABJRU5ErkJggg==',
			'353E' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAZElEQVR4nGNYhQEaGAYTpIn7RANEQxmBMABJLGCKSANro6MDispWESAZiCo2RSSEAaEO7KSVUVOXrpq6MjQL2X1TGBodMMwDiqGb1yqCIRYwhbUV3S2iAYwh6G4eqPCjIsTiPgCGOsrl6IjkygAAAABJRU5ErkJggg==',
			'5C8E' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAYklEQVR4nGNYhQEaGAYTpIn7QkMYQxlCGUMDkMQCGlgbHR0dHRhQxEQaXBsCUcQCA0QaGBHqwE4KmzZt1arQlaFZyO5rRVEHF2NFMy+gFdMOkSmYbmENwHTzQIUfFSEW9wEAP+jKhIGCoCMAAAAASUVORK5CYII=',
			'2AE0' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAa0lEQVR4nGNYhQEaGAYTpIn7WAMYAlhDHVqRxUSmMIawNjBMdUASC2hlbQWKBQQg624VaXRtYHQQQXbftGkrU0NXZk1Ddl8AijowZHQQDUUXY20AqUO1QwQihuKW0FCgGJqbByr8qAixuA8AJCLLpPspcqUAAAAASUVORK5CYII=',
			'9D3F' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAW0lEQVR4nGNYhQEaGAYTpIn7WANEQxhDGUNDkMREpoi0sjY6OiCrC2gVaXRoCMQUQ6gDO2na1Gkrs6auDM1Cch+rK4o6CMRingAWMWxugboZ1bwBCj8qQizuAwAprcstRcnJxgAAAABJRU5ErkJggg==',
			'FDFC' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAVUlEQVR4nGNYhQEaGAYTpIn7QkNFQ1hDA6YGIIkFNIi0sjYwBIigijW6NjA6sGARQ3ZfaNS0lamhK7OQ3YemjqAYmh1Y3AJ0cwMDipsHKvyoCLG4DwDbsMy46ZTUbAAAAABJRU5ErkJggg==',
			'6F7A' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAa0lEQVR4nGNYhQEaGAYTpIn7WANEQ11DA1qRxUSmiADJgKkOSGIBLWCxgABksQagWKOjgwiS+yKjpoatWroyaxqS+0JA5k1hhKmD6G0F8gIYQ0PQxBgdUNWB3MLagCrGGoApNlDhR0WIxX0AVZjL4jsSGbgAAAAASUVORK5CYII=',
			'9573' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAdklEQVR4nM2QMQ6AMAhF6cDugPepgzsm7SU8BR16g9YbuPSU1g2io0b5CcML+XkB2mUE/pRX/JDHiJGjV4wK9b14VozzyVjIsgDJCyu/rda99azKD+d+VUB0H+TOGEzfkClN3jIqmFGccUF2AQWM81f/ezA3fgdR+MzS7DjfnwAAAABJRU5ErkJggg==',
			'0A29' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAeUlEQVR4nGNYhQEaGAYTpIn7GB0YAhhCGaY6IImxBjCGMDo6BAQgiYlMYW1lbQh0EEESC2gVaXRAiIGdFLV02sqslVlRYUjuA6trZZiKqlc01GEK0FwUO4DqAhhQ7GANEGl0BLoR2S2MDiKNrqEBKG4eqPCjIsTiPgAqhMuowH6P6wAAAABJRU5ErkJggg==',
			'12C4' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAcElEQVR4nGNYhQEaGAYTpIn7GB0YQxhCHRoCkMRYHVhbGR0CGpHFRB1EGl0bBFoDUPQyAMUYpgQguW9l1qqlS1etiopCch9Q3RRWIImmNwAoFhqC6hYH1gaBBlR1EJ0obgkRDXVAc/NAhR8VIRb3AQBV1cq2hTgz4QAAAABJRU5ErkJggg==',
			'2163' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbUlEQVR4nGNYhQEaGAYTpIn7WAMYAhhCGUIdkMREpjAGMDo6OgQgiQW0sgawNjg0iCDrbmUAigHlkN03bVXU0qmrlmYhuw9oB6ujQwOyeYwOIL0BKOYBzcIQA7Ix3BIayhqK7uaBCj8qQizuAwA7z8nd0ZVzkwAAAABJRU5ErkJggg==',
			'C9AA' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAb0lEQVR4nGNYhQEaGAYTpIn7WEMYQximMLQii4m0srYyhDJMdUASC2gUaXR0dAgIQBZrEGl0bQh0EEFyX9SqpUtTV0VmTUNyX0ADYyCSOqgYQ6NraGBoCIodLI3o6kBuYUUTA7kZXWygwo+KEIv7ACpQzQKrwtUNAAAAAElFTkSuQmCC',
			'EED1' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAT0lEQVR4nGNYhQEaGAYTpIn7QkNEQ1lDGVqRxQIaRBpYGx2mYog1BIRiEYPpBTspNGpq2NJVUUuR3YemjnSxRgcUMaibQwMGQfhREWJxHwAoKc3Vuv4mBgAAAABJRU5ErkJggg==',
			'7D0C' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAYUlEQVR4nGNYhQEaGAYTpIn7QkNFQximMEwNQBZtFWllCGUIEEEVa3R0dHRgQRabItLo2hDogOK+qGkrU1dFZiG7j9EBRR0YsjZgiok0YNoR0IDploAGLG4eoPCjIsTiPgBpjcut+WGNAwAAAABJRU5ErkJggg==',
			'048B' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAaUlEQVR4nGNYhQEaGAYTpIn7GB0YWhlCGUMdkMRYAximMjo6OgQgiYlMYQhlbQh0EEESC2hldEVSB3ZS1NKlS1eFrgzNQnJfQKtIK7p5Aa2ioa5o5gHtaEW3A+gWDL3Y3DxQ4UdFiMV9AHyyyh31NbwaAAAAAElFTkSuQmCC',
			'39AC' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAcElEQVR4nGNYhQEaGAYTpIn7RAMYQximMEwNQBILmMLayhDKECCCrLJVpNHR0dGBBVlsikija0OgA7L7VkYtXZq6KjILxX1TGAOR1EHNY2h0DUUXYwGbh2wHyC2sDQEobgG5GSiG4uaBCj8qQizuAwCsAMv64wA99AAAAABJRU5ErkJggg==',
			'C940' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbklEQVR4nGNYhQEaGAYTpIn7WEMYQxgaHVqRxURaWVsZWh2mOiCJBTSKNAJFAgKQxRqAYoGODiJI7otatXRpZmZm1jQk9wU0MAa6NsLVQcUYGl1DA1HFGlkaHRpR7QC7pRHVLdjcPFDhR0WIxX0ARa3N3JpoF44AAAAASUVORK5CYII=',
			'F3D3' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAVUlEQVR4nGNYhQEaGAYTpIn7QkNZQ1hDGUIdkMQCGkRaWRsdHQJQxBgaXUEyqGKtrEAyAMl9oVGrwpauilqaheQ+NHX4zMMihs0tmG4eqPCjIsTiPgC+Zc8ehZiDFQAAAABJRU5ErkJggg==',
			'8727' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAdklEQVR4nGNYhQEaGAYTpIn7WANEQx1CGUNDkMREpjA0Ojo6NIggiQW0MjS6NgSgiAHVtQJlgBDhvqVRq6atWpm1MgvJfUB1AUCVrQwo5jE6MEwBQhQx1gagygAGFDtEGhgdgGpR3CzSwBoaiCI2UOFHRYjFfQDKm8tvFbleMAAAAABJRU5ErkJggg==',
			'0462' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAcklEQVR4nGNYhQEaGAYTpIn7GB0YWhlCGaY6IImxBjBMZXR0CAhAEhOZwhDK2uDoIIIkFtDK6MoKkkNyX9RSIJgKpJHcF9Aq0srq6NDogKJXNNQVSDKg2tHK2hAwhQHVLa0gt2C6mTE0ZBCEHxUhFvcBABf2y1g7rGLdAAAAAElFTkSuQmCC',
			'F8BB' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAUElEQVR4nGNYhQEaGAYTpIn7QkMZQ1hDGUMdkMQCGlhbWRsdHQJQxEQaXRsCHURwqwM7KTRqZdjS0JWhWUjuI948gnZAxTDdPFDhR0WIxX0AzYzNkAz9H90AAAAASUVORK5CYII=',
			'BEEC' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAVUlEQVR4nGNYhQEaGAYTpIn7QgNEQ1lDHaYGIIkFTBFpYG1gCBBBFmsFiTE6sGCoY3RAdl9o1NSwpaErs5Ddh6YOxTxsYph2oLoFm5sHKvyoCLG4DwBmcsuLTUcmEQAAAABJRU5ErkJggg==',
			'43A0' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAc0lEQVR4nGNYhQEaGAYTpI37prCGMExhaEURCxFpZQhlmOqAJMYYwtDo6OgQEIAkxgrUx9oQ6CCC5L5p01aFLV0VmTUNyX0BqOrAMDSUodE1FFUM6I5G14YAFDsYpogA9QaguAXkZqAYqpsHKvyoB7G4DwBIAsyheM9OcQAAAABJRU5ErkJggg==',
			'21E1' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAX0lEQVR4nGNYhQEaGAYTpIn7WAMYAlhDHVqRxUSmMAawNjBMRRYLaGUFiYWi6G5lAInB9ELcNG1V1NLQVUtR3BeAog4MGR0wxYB8DDERLGKhoaxA6BAaMAjCj4oQi/sAmj/IkeD7/6oAAAAASUVORK5CYII=',
			'63D6' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAYUlEQVR4nGNYhQEaGAYTpIn7WANYQ1hDGaY6IImJTBFpZW10CAhAEgtoYWh0bQh0EEAWa2BoZQWKIbsvMmpV2NJVkalZSO4LmQJWh2peK8Q8EQJi2NyCzc0DFX5UhFjcBwAhBs0GH49P+AAAAABJRU5ErkJggg==',
			'5C72' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAdUlEQVR4nM2QsQ2AMAwEkyIbeCBT0D9SQsE0psgGgQ1oPCVOZwQlSMRVTif55KC3J+FP80lfybGkgo0dg6SVBcCFkbBMTI5NsJ+Z5PrmfVc9VBffV81o3XSbO0OovgXGBjbTMWppHbvpWII1Syz5B/d7cR76ThU7zUIkiWs/AAAAAElFTkSuQmCC',
			'C4F6' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAb0lEQVR4nGNYhQEaGAYTpIn7WEMYWllDA6Y6IImJtDJMZW1gCAhAEgtoZAhlbWB0EEAWa2B0BYkhuy9q1dKlS0NXpmYhuS8AaCJQHap5DaKhrkC9Iqh2gNShiAHd0oruFrCbGxhQ3DxQ4UdFiMV9ANM4yyFjyZcjAAAAAElFTkSuQmCC',
			'1A24' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAcklEQVR4nGNYhQEaGAYTpIn7GB0YAhhCGRoCkMRYHRhDGB0dGpHFRB1YW1kbAloDUPSKNDo0BEwJQHLfyqxpK7NWZkVFIbkPrK6V0QFVr2iowxTG0BB08wJQ3QISc3RAFRMNEWl0DQ1AERuo8KMixOI+AJEPyy5L62JzAAAAAElFTkSuQmCC',
			'6FA3' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAbklEQVR4nGNYhQEaGAYTpIn7WANEQx2mMIQ6IImJTBFpYAhldAhAEgtoEWlgdHRoEEEWA/JYgWQAkvsio6aGLV0VtTQLyX0hU1DUQfS2AsVCA1DNa4WoE0FzC2tDIIpbWAPA6lDcPFDhR0WIxX0AK0rOAfFKR7gAAAAASUVORK5CYII=',
			'F4FA' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAYElEQVR4nGNYhQEaGAYTpIn7QkMZWllDA1qRxQIaGKayArEDqlgoUCwgAEWM0ZW1gdFBBMl9oVFLly4NXZk1Dcl9AQ0irUjqoGKioa4NjKEhqHZgUUec2ECFHxUhFvcBAMNmy7dl/lToAAAAAElFTkSuQmCC',
			'A2D8' => 'iVBORw0KGgoAAAANSUhEUgAAAEkAAAAhAgMAAADoum54AAAACVBMVEX///8AAADS0tIrj1xmAAAAcElEQVR4nGNYhQEaGAYTpIn7GB0YQ1hDGaY6IImxBrC2sjY6BAQgiYlMEWl0bQh0EEESC2hlAIoFwNSBnRS1dNXSpauipmYhuQ+obgorQh0YhoYyBLBimMfogCnG2oDuloBW0VBXNDcPVPhREWJxHwC/Ic2tCTo8YwAAAABJRU5ErkJggg=='        
        );
        $this->text = array_rand( $images );
        return $images[ $this->text ] ;    
    }
    
    function out_processing_gif(){
        $image = dirname(__FILE__) . '/processing.gif';
        $base64_image = "R0lGODlhFAAUALMIAPh2AP+TMsZiALlcAKNOAOp4ANVqAP+PFv///wAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgAIACwAAAAAFAAUAAAEUxDJSau9iBDMtebTMEjehgTBJYqkiaLWOlZvGs8WDO6UIPCHw8TnAwWDEuKPcxQml0Ynj2cwYACAS7VqwWItWyuiUJB4s2AxmWxGg9bl6YQtl0cAACH5BAUKAAgALAEAAQASABIAAAROEMkpx6A4W5upENUmEQT2feFIltMJYivbvhnZ3Z1h4FMQIDodz+cL7nDEn5CH8DGZhcLtcMBEoxkqlXKVIgAAibbK9YLBYvLtHH5K0J0IACH5BAUKAAgALAEAAQASABIAAAROEMkphaA4W5upMdUmDQP2feFIltMJYivbvhnZ3V1R4BNBIDodz+cL7nDEn5CH8DGZAMAtEMBEoxkqlXKVIg4HibbK9YLBYvLtHH5K0J0IACH5BAUKAAgALAEAAQASABIAAAROEMkpjaE4W5tpKdUmCQL2feFIltMJYivbvhnZ3R0A4NMwIDodz+cL7nDEn5CH8DGZh8ONQMBEoxkqlXKVIgIBibbK9YLBYvLtHH5K0J0IACH5BAUKAAgALAEAAQASABIAAAROEMkpS6E4W5spANUmGQb2feFIltMJYivbvhnZ3d1x4JMgIDodz+cL7nDEn5CH8DGZgcBtMMBEoxkqlXKVIggEibbK9YLBYvLtHH5K0J0IACH5BAUKAAgALAEAAQASABIAAAROEMkpAaA4W5vpOdUmFQX2feFIltMJYivbvhnZ3V0Q4JNhIDodz+cL7nDEn5CH8DGZBMJNIMBEoxkqlXKVIgYDibbK9YLBYvLtHH5K0J0IACH5BAUKAAgALAEAAQASABIAAAROEMkpz6E4W5tpCNUmAQD2feFIltMJYivbvhnZ3R1B4FNRIDodz+cL7nDEn5CH8DGZg8HNYMBEoxkqlXKVIgQCibbK9YLBYvLtHH5K0J0IACH5BAkKAAgALAEAAQASABIAAAROEMkpQ6A4W5spIdUmHQf2feFIltMJYivbvhnZ3d0w4BMAIDodz+cL7nDEn5CH8DGZAsGtUMBEoxkqlXKVIgwGibbK9YLBYvLtHH5K0J0IADs=";
        $binary = is_file($image) ? join("",file($image)) : base64_decode($base64_image); 
        header("Cache-Control: post-check=0, pre-check=0, max-age=0, no-store, no-cache, must-revalidate");
        header("Pragma: no-cache");
        header("Content-type: image/gif");
        echo $binary;
    }

}
# end of class phpfmgImage
# ------------------------------------------------------
# end of module : captcha


# module user
# ------------------------------------------------------
function phpfmg_user_isLogin(){
    return ( isset($_SESSION['authenticated']) && true === $_SESSION['authenticated'] );
}


function phpfmg_user_logout(){
    session_destroy();
    header("Location: admin.php");
}

function phpfmg_user_login()
{
    if( phpfmg_user_isLogin() ){
        return true ;
    };
    
    $sErr = "" ;
    if( 'Y' == $_POST['formmail_submit'] ){
        if(
            defined( 'PHPFMG_USER' ) && strtolower(PHPFMG_USER) == strtolower($_POST['Username']) &&
            defined( 'PHPFMG_PW' )   && strtolower(PHPFMG_PW) == strtolower($_POST['Password']) 
        ){
             $_SESSION['authenticated'] = true ;
             return true ;
             
        }else{
            $sErr = 'Login failed. Please try again.';
        }
    };
    
    // show login form 
    phpfmg_admin_header();
?>
<form name="frmFormMail" action="" method='post' enctype='multipart/form-data'>
<input type='hidden' name='formmail_submit' value='Y'>
<br><br><br>

<center>
<div style="width:380px;height:260px;">
<fieldset style="padding:18px;" >
<table cellspacing='3' cellpadding='3' border='0' >
	<tr>
		<td class="form_field" valign='top' align='right'>Email :</td>
		<td class="form_text">
            <input type="text" name="Username"  value="<?php echo $_POST['Username']; ?>" class='text_box' >
		</td>
	</tr>

	<tr>
		<td class="form_field" valign='top' align='right'>Password :</td>
		<td class="form_text">
            <input type="password" name="Password"  value="" class='text_box'>
		</td>
	</tr>

	<tr><td colspan=3 align='center'>
        <input type='submit' value='Login'><br><br>
        <?php if( $sErr ) echo "<span style='color:red;font-weight:bold;'>{$sErr}</span><br><br>\n"; ?>
        <a href="admin.php?mod=mail&func=request_password">I forgot my password</a>   
    </td></tr>
</table>
</fieldset>
</div>
<script type="text/javascript">
    document.frmFormMail.Username.focus();
</script>
</form>
<?php
    phpfmg_admin_footer();
}


function phpfmg_mail_request_password(){
    $sErr = '';
    if( $_POST['formmail_submit'] == 'Y' ){
        if( strtoupper(trim($_POST['Username'])) == strtoupper(trim(PHPFMG_USER)) ){
            phpfmg_mail_password();
            exit;
        }else{
            $sErr = "Failed to verify your email.";
        };
    };
    
    $n1 = strpos(PHPFMG_USER,'@');
    $n2 = strrpos(PHPFMG_USER,'.');
    $email = substr(PHPFMG_USER,0,1) . str_repeat('*',$n1-1) . 
            '@' . substr(PHPFMG_USER,$n1+1,1) . str_repeat('*',$n2-$n1-2) . 
            '.' . substr(PHPFMG_USER,$n2+1,1) . str_repeat('*',strlen(PHPFMG_USER)-$n2-2) ;


    phpfmg_admin_header("Request Password of Email Form Admin Panel");
?>
<form name="frmRequestPassword" action="admin.php?mod=mail&func=request_password" method='post' enctype='multipart/form-data'>
<input type='hidden' name='formmail_submit' value='Y'>
<br><br><br>

<center>
<div style="width:580px;height:260px;text-align:left;">
<fieldset style="padding:18px;" >
<legend>Request Password</legend>
Enter Email Address <b><?php echo strtoupper($email) ;?></b>:<br />
<input type="text" name="Username"  value="<?php echo $_POST['Username']; ?>" style="width:380px;">
<input type='submit' value='Verify'><br>
The password will be sent to this email address. 
<?php if( $sErr ) echo "<br /><br /><span style='color:red;font-weight:bold;'>{$sErr}</span><br><br>\n"; ?>
</fieldset>
</div>
<script type="text/javascript">
    document.frmRequestPassword.Username.focus();
</script>
</form>
<?php
    phpfmg_admin_footer();    
}


function phpfmg_mail_password(){
    phpfmg_admin_header();
    if( defined( 'PHPFMG_USER' ) && defined( 'PHPFMG_PW' ) ){
        $body = "Here is the password for your form admin panel:\n\nUsername: " . PHPFMG_USER . "\nPassword: " . PHPFMG_PW . "\n\n" ;
        if( 'html' == PHPFMG_MAIL_TYPE )
            $body = nl2br($body);
        mailAttachments( PHPFMG_USER, "Password for Your Form Admin Panel", $body, PHPFMG_USER, 'You', "You <" . PHPFMG_USER . ">" );
        echo "<center>Your password has been sent.<br><br><a href='admin.php'>Click here to login again</a></center>";
    };   
    phpfmg_admin_footer();
}


function phpfmg_writable_check(){
 
    if( is_writable( dirname(PHPFMG_SAVE_FILE) ) && is_writable( dirname(PHPFMG_EMAILS_LOGFILE) )  ){
        return ;
    };
?>
<style type="text/css">
    .fmg_warning{
        background-color: #F4F6E5;
        border: 1px dashed #ff0000;
        padding: 16px;
        color : black;
        margin: 10px;
        line-height: 180%;
        width:80%;
    }
    
    .fmg_warning_title{
        font-weight: bold;
    }

</style>
<br><br>
<div class="fmg_warning">
    <div class="fmg_warning_title">Your form data or email traffic log is NOT saving.</div>
    The form data (<?php echo PHPFMG_SAVE_FILE ?>) and email traffic log (<?php echo PHPFMG_EMAILS_LOGFILE?>) will be created automatically when the form is submitted. 
    However, the script doesn't have writable permission to create those files. In order to save your valuable information, please set the directory to writable.
     If you don't know how to do it, please ask for help from your web Administrator or Technical Support of your hosting company.   
</div>
<br><br>
<?php
}


function phpfmg_log_view(){
    $n = isset($_REQUEST['file'])  ? $_REQUEST['file']  : '';
    $files = array(
        1 => PHPFMG_EMAILS_LOGFILE,
        2 => PHPFMG_SAVE_FILE,
    );
    
    phpfmg_admin_header();
   
    $file = $files[$n];
    if( is_file($file) ){
        if( 1== $n ){
            echo "<pre>\n";
            echo join("",file($file) );
            echo "</pre>\n";
        }else{
            $man = new phpfmgDataManager();
            $man->displayRecords();
        };
     

    }else{
        echo "<b>No form data found.</b>";
    };
    phpfmg_admin_footer();
}


function phpfmg_log_download(){
    $n = isset($_REQUEST['file'])  ? $_REQUEST['file']  : '';
    $files = array(
        1 => PHPFMG_EMAILS_LOGFILE,
        2 => PHPFMG_SAVE_FILE,
    );

    $file = $files[$n];
    if( is_file($file) ){
        phpfmg_util_download( $file, PHPFMG_SAVE_FILE == $file ? 'form-data.csv' : 'email-traffics.txt', true, 1 ); // skip the first line
    }else{
        phpfmg_admin_header();
        echo "<b>No email traffic log found.</b>";
        phpfmg_admin_footer();
    };

}


function phpfmg_log_delete(){
    $n = isset($_REQUEST['file'])  ? $_REQUEST['file']  : '';
    $files = array(
        1 => PHPFMG_EMAILS_LOGFILE,
        2 => PHPFMG_SAVE_FILE,
    );
    phpfmg_admin_header();

    $file = $files[$n];
    if( is_file($file) ){
        echo unlink($file) ? "It has been deleted!" : "Failed to delete!" ;
    };
    phpfmg_admin_footer();
}


function phpfmg_util_download($file, $filename='', $toCSV = false, $skipN = 0 ){
    if (!is_file($file)) return false ;

    set_time_limit(0);


    $buffer = "";
    $i = 0 ;
    $fp = @fopen($file, 'rb');
    while( !feof($fp)) { 
        $i ++ ;
        $line = fgets($fp);
        if($i > $skipN){ // skip lines
            if( $toCSV ){ 
              $line = str_replace( chr(0x09), ',', $line );
              $buffer .= phpfmg_data2record( $line, false );
            }else{
                $buffer .= $line;
            };
        }; 
    }; 
    fclose ($fp);
  

    
    /*
        If the Content-Length is NOT THE SAME SIZE as the real conent output, Windows+IIS might be hung!!
    */
    $len = strlen($buffer);
    $filename = basename( '' == $filename ? $file : $filename );
    $file_extension = strtolower(substr(strrchr($filename,"."),1));

    switch( $file_extension ) {
        case "pdf": $ctype="application/pdf"; break;
        case "exe": $ctype="application/octet-stream"; break;
        case "zip": $ctype="application/zip"; break;
        case "doc": $ctype="application/msword"; break;
        case "xls": $ctype="application/vnd.ms-excel"; break;
        case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
        case "gif": $ctype="image/gif"; break;
        case "png": $ctype="image/png"; break;
        case "jpeg":
        case "jpg": $ctype="image/jpg"; break;
        case "mp3": $ctype="audio/mpeg"; break;
        case "wav": $ctype="audio/x-wav"; break;
        case "mpeg":
        case "mpg":
        case "mpe": $ctype="video/mpeg"; break;
        case "mov": $ctype="video/quicktime"; break;
        case "avi": $ctype="video/x-msvideo"; break;
        //The following are for extensions that shouldn't be downloaded (sensitive stuff, like php files)
        case "php":
        case "htm":
        case "html": 
                $ctype="text/plain"; break;
        default: 
            $ctype="application/x-download";
    }
                                            

    //Begin writing headers
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: public"); 
    header("Content-Description: File Transfer");
    //Use the switch-generated Content-Type
    header("Content-Type: $ctype");
    //Force the download
    header("Content-Disposition: attachment; filename=".$filename.";" );
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".$len);
    
    while (@ob_end_clean()); // no output buffering !
    flush();
    echo $buffer ;
    
    return true;
 
    
}
?>