diff options
Diffstat (limited to 'Postman/Postman-Connectivity-Test')
9 files changed, 0 insertions, 7944 deletions
diff --git a/Postman/Postman-Connectivity-Test/Postman-PortTest.php b/Postman/Postman-Connectivity-Test/Postman-PortTest.php deleted file mode 100644 index adbe530..0000000 --- a/Postman/Postman-Connectivity-Test/Postman-PortTest.php +++ /dev/null @@ -1,286 +0,0 @@ -<?php -if ( ! defined( 'ABSPATH' ) ) { - exit; // Exit if accessed directly -} - -require_once ("registered-domain-libs-master/PHP/effectiveTLDs.inc.php"); -require_once ("registered-domain-libs-master/PHP/regDomain.inc.php"); - -/** - * - * @author jasonhendriks - * - */ -class PostmanPortTest { - private $errstr; - private $logger; - private $hostname; - public $hostnameDomainOnly; - private $port; - private $connectionTimeout; - private $readTimeout; - public $reportedHostname; - public $reportedHostnameDomainOnly; - public $protocol; - public $secure; - public $mitm; - public $http; - public $https; - public $smtp; - public $smtps; - public $startTls; - public $checkStartTls; - public $authLogin; - public $authPlain; - public $authCrammd5; - public $authXoauth; - public $authNone; - public $trySmtps; - - // - const SMTPS_PROTOCOL = 'SMTPS'; - - /** - */ - public function __construct($hostname, $port) { - $this->logger = new PostmanLogger ( get_class ( $this ) ); - $this->hostname = $hostname; - $this->hostnameDomainOnly = $this->getRegisteredDomain ( $hostname ); - $this->port = $port; - $this->connectionTimeout = 10; - $this->readTimeout = 10; - } - - /** - * Wrap the regDomain/getRegisteredDomain function - * - * @param mixed $domain - * @return mixed - */ - private function getRegisteredDomain($hostname) { - $registeredDomain = getRegisteredDomain ( $hostname ); - if ($registeredDomain === NULL) { - return $hostname; - } - return $registeredDomain; - } - public function setConnectionTimeout($timeout) { - $this->connectionTimeout = $timeout; - $this->logger->trace ( $this->connectionTimeout ); - } - public function setReadTimeout($timeout) { - $this->readTimeout = $timeout; - $this->logger->trace ( $this->readTimeout ); - } - private function createStream($connectionString) { - $stream = @stream_socket_client ( $connectionString, $errno, $errstr, $this->connectionTimeout ); - if ($stream) { - $this->trace ( sprintf ( 'connected to %s', $connectionString ) ); - } else { - $this->trace ( sprintf ( 'Could not connect to %s because %s [%s]', $connectionString, $errstr, $errno ) ); - } - return $stream; - } - - /** - * - * @param number $timeout - * @return boolean - */ - public function genericConnectionTest() { - $this->logger->trace ( 'testCustomConnection()' ); - // test if the port is open - $connectionString = sprintf ( '%s:%s', $this->hostname, $this->port ); - $stream = $this->createStream ( $connectionString, $this->connectionTimeout ); - return null != $stream; - } - - /** - * Given a hostname, test if it has open ports - * - * @param string $hostname - */ - public function testHttpPorts() { - $this->trace ( 'testHttpPorts()' ); - $connectionString = sprintf ( "https://%s:%s", $this->hostname, $this->port ); - try { - $response = PostmanUtils::remotePost ( $connectionString ); - $this->trace ( 'wp_remote_retrieve_headers:' ); - $this->logger->trace ( wp_remote_retrieve_headers ( $response ) ); - $this->trace ( wp_remote_retrieve_response_code ( $response ) ); - $this->protocol = 'HTTPS'; - $this->http = true; - $this->https = true; - $this->secure = true; - $this->reportedHostname = $this->hostname; - $this->reportedHostnameDomainOnly = $this->getRegisteredDomain ( $this->hostname ); - return true; - } catch ( Exception $e ) { - $this->debug ( 'return false' ); - } - } - - /** - * Given a hostname, test if it has open ports - * - * @param string $hostname - */ - public function testSmtpPorts() { - $this->logger->trace ( 'testSmtpPorts()' ); - if ($this->port == 8025) { - $this->debug ( 'Executing test code for port 8025' ); - $this->protocol = 'SMTP'; - $this->smtp = true; - $this->authNone = 'true'; - return true; - } - $connectionString = sprintf ( "%s:%s", $this->hostname, $this->port ); - $success = $this->talkToMailServer ( $connectionString, $this->connectionTimeout, $this->readTimeout ); - if ($success) { - $this->protocol = 'SMTP'; - if (! ($this->authCrammd5 || $this->authLogin || $this->authPlain || $this->authXoauth)) { - $this->authNone = true; - } - } else { - $this->trySmtps = true; - } - return $success; - } - - /** - * Given a hostname, test if it has open ports - * - * @param string $hostname - */ - public function testSmtpsPorts() { - $this->logger->trace ( 'testSmtpsPorts()' ); - $connectionString = sprintf ( "ssl://%s:%s", $this->hostname, $this->port ); - $success = $this->talkToMailServer ( $connectionString, $this->connectionTimeout, $this->readTimeout ); - if ($success) { - if (! ($this->authCrammd5 || $this->authLogin || $this->authPlain || $this->authXoauth)) { - $this->authNone = true; - } - $this->protocol = self::SMTPS_PROTOCOL; - $this->smtps = true; - $this->secure = true; - } - return $success; - } - - /** - * Given a hostname, test if it has open ports - * - * @param string $hostname - */ - private function talkToMailServer($connectionString) { - $this->logger->trace ( 'talkToMailServer()' ); - $stream = $this->createStream ( $connectionString, $this->connectionTimeout ); - if ($stream) { - $serverName = PostmanUtils::postmanGetServerName (); - @stream_set_timeout ( $stream, $this->readTimeout ); - // see http://php.net/manual/en/transports.inet.php#113244 - // see http://php.net/stream_socket_enable_crypto - $result = $this->readSmtpResponse ( $stream ); - if ($result) { - $this->reportedHostname = $result; - $this->reportedHostnameDomainOnly = $this->getRegisteredDomain ( $this->reportedHostname ); - $this->logger->trace ( sprintf ( 'comparing %s with %s', $this->reportedHostnameDomainOnly, $this->hostnameDomainOnly ) ); - $this->mitm = true; - // MITM exceptions - if ($this->reportedHostnameDomainOnly == 'google.com' && $this->hostnameDomainOnly == 'gmail.com') { - $this->mitm = false; - } elseif ($this->reportedHostnameDomainOnly == 'hotmail.com' && $this->hostnameDomainOnly == 'live.com') { - $this->mitm = false; - } elseif ($this->reportedHostnameDomainOnly == $this->hostnameDomainOnly) { - $this->mitm = false; - } - $this->debug ( sprintf ( 'domain name: %s (%s)', $this->reportedHostname, $this->reportedHostnameDomainOnly ) ); - $this->sendSmtpCommand ( $stream, sprintf ( 'EHLO %s', $serverName ) ); - $this->readSmtpResponse ( $stream ); - if ($this->checkStartTls) { - $this->sendSmtpCommand ( $stream, 'STARTTLS' ); - $this->readSmtpResponse ( $stream ); - $starttlsSuccess = @stream_socket_enable_crypto ( $stream, true, STREAM_CRYPTO_METHOD_TLS_CLIENT ); - if ($starttlsSuccess) { - $this->startTls = true; - $this->secure = true; - $this->sendSmtpCommand ( $stream, sprintf ( 'EHLO %s', $serverName ) ); - $this->readSmtpResponse ( $stream ); - } else { - $this->error ( 'starttls failed' ); - } - } - fclose ( $stream ); - $this->debug ( 'return true' ); - return true; - } else { - fclose ( $stream ); - $this->debug ( 'return false' ); - return false; - } - } else { - return false; - } - } - private function sendSmtpCommand($stream, $message) { - $this->trace ( 'tx: ' . $message ); - fputs ( $stream, $message . "\r\n" ); - } - private function readSmtpResponse($stream) { - $result = ''; - while ( ($line = fgets ( $stream )) !== false ) { - $this->trace ( 'rx: ' . $line ); - if (preg_match ( '/^250.AUTH/', $line )) { - // $this->debug ( '250-AUTH' ); - if (preg_match ( '/\\sLOGIN\\s/', $line )) { - $this->authLogin = true; - $this->debug ( 'authLogin' ); - } - if (preg_match ( '/\\sPLAIN\\s/', $line )) { - $this->authPlain = true; - $this->debug ( 'authPlain' ); - } - if (preg_match ( '/\\sCRAM-MD5\\s/', $line )) { - $this->authCrammd5 = true; - $this->debug ( 'authCrammd5' ); - } - if (preg_match ( '/\\sXOAUTH.\\s/', $line )) { - $this->authXoauth = true; - $this->debug ( 'authXoauth' ); - } - if (preg_match ( '/\\sANONYMOUS\\s/', $line )) { - // Postman treats ANONYMOUS login as no authentication. - $this->authNone = true; - $this->debug ( 'authAnonymous => authNone' ); - } - // done - $result = 'auth'; - } elseif (preg_match ( '/STARTTLS/', $line )) { - $result = 'starttls'; - $this->checkStartTls = true; - $this->debug ( 'starttls' ); - } elseif (preg_match ( '/^220.(.*?)\\s/', $line, $matches )) { - if (empty ( $result )) - $result = $matches [1]; - } - if (preg_match ( '/^\d\d\d\\s/', $line )) { - // always exist on last server response line - // $this->debug ( 'exit' ); - return $result; - } - } - return false; - } - public function getErrorMessage() { - return $this->errstr; - } - private function trace($message) { - $this->logger->trace ( sprintf ( '%s:%s => %s', $this->hostname, $this->port, $message ) ); - } - private function debug($message) { - $this->logger->debug ( sprintf ( '%s:%s => %s', $this->hostname, $this->port, $message ) ); - } - private function error($message) { - $this->logger->error ( sprintf ( '%s:%s => %s', $this->hostname, $this->port, $message ) ); - } -} diff --git a/Postman/Postman-Connectivity-Test/PostmanConnectivityTestController.php b/Postman/Postman-Connectivity-Test/PostmanConnectivityTestController.php deleted file mode 100644 index 6ff5a69..0000000 --- a/Postman/Postman-Connectivity-Test/PostmanConnectivityTestController.php +++ /dev/null @@ -1,336 +0,0 @@ -<?php -if ( ! defined( 'ABSPATH' ) ) { - exit; // Exit if accessed directly -} - -class PostmanConnectivityTestController { - - const PORT_TEST_SLUG = 'postman/port_test'; - - // logging - private $logger; - - // Holds the values to be used in the fields callbacks - private $rootPluginFilenameAndPath; - - /** - * Constructor - * - * @param mixed $rootPluginFilenameAndPath - */ - public function __construct( $rootPluginFilenameAndPath ) { - assert( ! empty( $rootPluginFilenameAndPath ) ); - assert( PostmanUtils::isAdmin() ); - assert( is_admin() ); - - $this->logger = new PostmanLogger( get_class( $this ) ); - $this->rootPluginFilenameAndPath = $rootPluginFilenameAndPath; - - PostmanUtils::registerAdminMenu( $this, 'addPortTestSubmenu' ); - - // hook on the init event - add_action( 'init', array( - $this, - 'on_init', - ) ); - - // initialize the scripts, stylesheets and form fields - add_action( 'admin_init', array( - $this, - 'on_admin_init', - ) ); - } - - /** - * Functions to execute on the init event - * - * "Typically used by plugins to initialize. The current user is already authenticated by this time." - * ref: http://codex.wordpress.org/Plugin_API/Action_Reference#Actions_Run_During_a_Typical_Request - */ - public function on_init() { - // register Ajax handlers - new PostmanPortTestAjaxController(); - } - - /** - * Fires on the admin_init method - */ - public function on_admin_init() { - $this->registerStylesAndScripts(); - } - - /** - * Register and add settings - */ - private function registerStylesAndScripts() { - if ( $this->logger->isTrace() ) { - $this->logger->trace( 'registerStylesAndScripts()' ); - } - // register the stylesheet and javascript external resources - $pluginData = apply_filters( 'postman_get_plugin_metadata', null ); - wp_register_script( 'postman_port_test_script', plugins_url( 'Postman/Postman-Connectivity-Test/postman_port_test.js', $this->rootPluginFilenameAndPath ), array( - PostmanViewController::JQUERY_SCRIPT, - 'jquery_validation', - PostmanViewController::POSTMAN_SCRIPT, - 'sprintf', - ), $pluginData ['version'] ); - } - - /** - * Register the Email Test screen - */ - public function addPortTestSubmenu() { - $page = add_submenu_page( null, sprintf( __( '%s Setup', 'post-smtp' ), __( 'Postman SMTP', 'post-smtp' ) ), __( 'Postman SMTP', 'post-smtp' ), Postman::MANAGE_POSTMAN_CAPABILITY_NAME, PostmanConnectivityTestController::PORT_TEST_SLUG, array( - $this, - 'outputPortTestContent', - ) ); - // When the plugin options page is loaded, also load the stylesheet - add_action( 'admin_print_styles-' . $page, array( - $this, - 'enqueuePortTestResources', - ) ); - } - - /** - */ - function enqueuePortTestResources() { - wp_enqueue_style( PostmanViewController::POSTMAN_STYLE ); - wp_enqueue_script( 'postman_port_test_script' ); - $warning = __( 'Warning', 'post-smtp' ); - wp_localize_script( PostmanViewController::POSTMAN_SCRIPT, 'postman_hostname_element_name', '#input_' . PostmanOptions::HOSTNAME ); - wp_localize_script( PostmanViewController::POSTMAN_SCRIPT, 'postman_email_test', array( - 'recipient' => '#' . PostmanSendTestEmailController::RECIPIENT_EMAIL_FIELD_NAME, - 'not_started' => _x( 'In Outbox', 'Email Test Status', 'post-smtp' ), - 'sending' => _x( 'Sending...', 'Email Test Status', 'post-smtp' ), - 'success' => _x( 'Success', 'Email Test Status', 'post-smtp' ), - 'failed' => _x( 'Failed', 'Email Test Status', 'post-smtp' ), - 'ajax_error' => __( 'Ajax Error', 'post-smtp' ), - ) ); - PostmanConnectivityTestController::addLocalizeScriptForPortTest(); - } - static function addLocalizeScriptForPortTest() { - wp_localize_script( PostmanViewController::POSTMAN_SCRIPT, 'postman_port_test', array( - 'in_progress' => _x( 'Checking..', 'The "please wait" message', 'post-smtp' ), - 'open' => _x( 'Open', 'The port is open', 'post-smtp' ), - 'closed' => _x( 'Closed', 'The port is closed', 'post-smtp' ), - 'yes' => __( 'Yes', 'post-smtp' ), - 'no' => __( 'No', 'post-smtp' ), - /* translators: where %d is a port number */ - 'blocked' => __( 'No outbound route between this site and the Internet on Port %d.', 'post-smtp' ), - /* translators: where %d is a port number and %s is a hostname */ - 'try_dif_smtp' => __( 'Port %d is open, but not to %s.', 'post-smtp' ), - /* translators: where %d is the port number and %s is the hostname */ - 'success' => __( 'Port %d can be used for SMTP to %s.', 'post-smtp' ), - 'mitm' => sprintf( '%s: %s', __( 'Warning', 'post-smtp' ), __( 'connected to %1$s instead of %2$s.', 'post-smtp' ) ), - /* translators: where %d is a port number and %s is the URL for the Postman Gmail Extension */ - 'https_success' => __( 'Port %d can be used with the %s.', 'post-smtp' ), - ) ); - } - - /** - * Get the settings option array and print one of its values - */ - public function port_test_hostname_callback() { - $hostname = PostmanTransportRegistry::getInstance()->getSelectedTransport()->getHostname(); - if ( empty( $hostname ) ) { - $hostname = PostmanTransportRegistry::getInstance()->getActiveTransport()->getHostname(); - } - printf( '<input type="text" id="input_hostname" name="postman_options[hostname]" value="%s" size="40" class="required"/>', $hostname ); - } - - /** - */ - public function outputPortTestContent() { - print '<div class="wrap">'; - - wp_nonce_field('post-smtp', 'security'); - - PostmanViewController::outputChildPageHeader( __( 'Connectivity Test', 'post-smtp' ) ); - - print '<p>'; - print __( 'This test determines which well-known ports are available for Postman to use.', 'post-smtp' ); - print '<form id="port_test_form_id" method="post">'; - - wp_nonce_field('post-smtp', 'security' ); - - printf( '<label for="hostname">%s</label>', __( 'Outgoing Mail Server Hostname', 'post-smtp' ) ); - $this->port_test_hostname_callback(); - submit_button( _x( 'Begin Test', 'Button Label', 'post-smtp' ), 'primary', 'begin-port-test', true ); - print '</form>'; - print '<table id="connectivity_test_table">'; - print sprintf( '<tr><th rowspan="2">%s</th><th rowspan="2">%s</th><th rowspan="2">%s</th><th rowspan="2">%s</th><th rowspan="2">%s</th><th colspan="5">%s</th></tr>', __( 'Transport', 'post-smtp' ), _x( 'Socket', 'A socket is the network term for host and port together', 'post-smtp' ), __( 'Status', 'post-smtp' ) . '<sup>*</sup>', __( 'Service Available', 'post-smtp' ), __( 'Server ID', 'post-smtp' ), __( 'Authentication', 'post-smtp' ) ); - print sprintf( '<tr><th>%s</th><th>%s</th><th>%s</th><th>%s</th><th>%s</th></tr>', 'None', 'Login', 'Plain', 'CRAM-MD5', 'OAuth 2.0' ); - $sockets = PostmanTransportRegistry::getInstance()->getSocketsForSetupWizardToProbe(); - foreach ( $sockets as $socket ) { - if ( $socket ['smtp'] ) { - print sprintf( '<tr id="%s"><th class="name">%s</th><td class="socket">%s:%s</td><td class="firewall resettable">-</td><td class="service resettable">-</td><td class="reported_id resettable">-</td><td class="auth_none resettable">-</td><td class="auth_login resettable">-</td><td class="auth_plain resettable">-</td><td class="auth_crammd5 resettable">-</td><td class="auth_xoauth2 resettable">-</td></tr>', $socket ['id'], $socket ['transport_name'], $socket ['host'], $socket ['port'] ); - } else { - print sprintf( '<tr id="%s"><th class="name">%s</th><td class="socket">%s:%s</td><td class="firewall resettable">-</td><td class="service resettable">-</td><td class="reported_id resettable">-</td><td colspan="5">%s</td></tr>', $socket ['id'], $socket ['transport_name'], $socket ['host'], $socket ['port'], __( 'n/a', 'post-smtp' ) ); - } - } - print '</table>'; - /* Translators: Where %s is the name of the service providing Internet connectivity test */ - printf( '<p class="portquiz" style="display:none; font-size:0.8em">* %s</p>', sprintf( __( 'According to %s', 'post-smtp' ), '<a target="_blank" href="https://downor.me/portquiz.net">portquiz.net</a>' ) ); - printf( '<p class="ajax-loader" style="display:none"><img src="%s"/></p>', plugins_url( 'post-smtp/style/ajax-loader.gif' ) ); - print '<section id="conclusion" style="display:none">'; - print sprintf( '<h3>%s:</h3>', __( 'Summary', 'post-smtp' ) ); - print '<ol class="conclusion">'; - print '</ol>'; - print '</section>'; - print '<section id="blocked-port-help" style="display:none">'; - print sprintf( '<p><b>%s</b></p>', __( 'A test with <span style="color:red">"No"</span> Service Available indicates one or more of these issues:', 'post-smtp' ) ); - print '<ol>'; - printf( '<li>%s</li>', __( 'Your web host has placed a firewall between this site and the Internet', 'post-smtp' ) ); - printf( '<li>%s</li>', __( 'The SMTP hostname is wrong or the mail server does not provide service on this port', 'post-smtp' ) ); - /* translators: where (1) is the URL and (2) is the system */ - $systemBlockMessage = __( 'Your <a href="%1$s">%2$s configuration</a> is preventing outbound connections', 'post-smtp' ); - printf( '<li>%s</li>', sprintf( $systemBlockMessage, 'http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen', 'PHP' ) ); - printf( '<li>%s</li>', sprintf( $systemBlockMessage, 'http://wp-mix.com/disable-external-url-requests/', 'WordPress' ) ); - print '</ol></p>'; - print sprintf( '<p><b>%s</b></p>', __( 'If the issues above can not be resolved, your last option is to configure Postman to use an email account managed by your web host with an SMTP server managed by your web host.', 'post-smtp' ) ); - print '</section>'; - print '</div>'; - } -} - -/** - * - * @author jasonhendriks - */ -class PostmanPortTestAjaxController { - private $logger; - /** - * Constructor - * - * @param PostmanOptions $options - */ - function __construct() { - $this->logger = new PostmanLogger( get_class( $this ) ); - PostmanUtils::registerAjaxHandler( 'postman_get_hosts_to_test', $this, 'getPortsToTestViaAjax' ); - PostmanUtils::registerAjaxHandler( 'postman_wizard_port_test', $this, 'runSmtpTest' ); - PostmanUtils::registerAjaxHandler( 'postman_wizard_port_test_smtps', $this, 'runSmtpsTest' ); - PostmanUtils::registerAjaxHandler( 'postman_port_quiz_test', $this, 'runPortQuizTest' ); - PostmanUtils::registerAjaxHandler( 'postman_test_port', $this, 'runSmtpTest' ); - PostmanUtils::registerAjaxHandler( 'postman_test_smtps', $this, 'runSmtpsTest' ); - } - - /** - * This Ajax function determines which hosts/ports to test in both the Wizard Connectivity Test and direct Connectivity Test - * - * Given a single outgoing smtp server hostname, return an array of host/port - * combinations to run the connectivity test on - */ - function getPortsToTestViaAjax() { - - check_admin_referer('post-smtp', 'security'); - - $queryHostname = PostmanUtils::getRequestParameter( 'hostname' ); - // originalSmtpServer is what SmtpDiscovery thinks the SMTP server should be, given an email address - $originalSmtpServer = PostmanUtils::getRequestParameter( 'original_smtp_server' ); - if ( $this->logger->isDebug() ) { - $this->logger->debug( 'Probing available transports for sockets against hostname ' . $queryHostname ); - } - $sockets = PostmanTransportRegistry::getInstance()->getSocketsForSetupWizardToProbe( $queryHostname, $originalSmtpServer ); - $response = array( - 'hosts' => $sockets, - ); - wp_send_json_success( $response ); - } - - /** - * This Ajax function retrieves whether a TCP port is open or not - */ - function runPortQuizTest() { - - check_admin_referer('post-smtp', 'security'); - - $hostname = 'portquiz.net'; - $port = intval( PostmanUtils::getRequestParameter( 'port' ) ); - $this->logger->debug( 'testing TCP port: hostname ' . $hostname . ' port ' . $port ); - $portTest = new PostmanPortTest( $hostname, $port ); - $success = $portTest->genericConnectionTest(); - $this->buildResponse( $hostname, $port, $portTest, $success ); - } - - /** - * This Ajax function retrieves whether a TCP port is open or not. - * This is called by both the Wizard and Port Test - */ - function runSmtpTest() { - - check_admin_referer('post-smtp', 'security'); - - $hostname = trim( PostmanUtils::getRequestParameter( 'hostname' ) ); - $port = intval( PostmanUtils::getRequestParameter( 'port' ) ); - $transport = trim( PostmanUtils::getRequestParameter( 'transport' ) ); - $timeout = PostmanUtils::getRequestParameter( 'timeout' ); - $this->logger->trace( $timeout ); - $portTest = new PostmanPortTest( $hostname, $port ); - if ( isset( $timeout ) ) { - $portTest->setConnectionTimeout( intval( $timeout ) ); - $portTest->setReadTimeout( intval( $timeout ) ); - } - if ( $port != 443 ) { - $this->logger->debug( sprintf( 'testing SMTP socket %s:%s (%s)', $hostname, $port, $transport ) ); - $success = $portTest->testSmtpPorts(); - } else { - $this->logger->debug( sprintf( 'testing HTTPS socket %s:%s (%s)', $hostname, $port, $transport ) ); - $success = $portTest->testHttpPorts(); - } - $this->buildResponse( $hostname, $port, $portTest, $success, $transport ); - } - /** - * This Ajax function retrieves whether a TCP port is open or not - */ - function runSmtpsTest() { - - check_admin_referer('post-smtp', 'security'); - - $hostname = trim( PostmanUtils::getRequestParameter( 'hostname' ) ); - $port = intval( PostmanUtils::getRequestParameter( 'port' ) ); - $transport = trim( PostmanUtils::getRequestParameter( 'transport' ) ); - $transportName = trim( PostmanUtils::getRequestParameter( 'transport_name' ) ); - $this->logger->debug( sprintf( 'testing SMTPS socket %s:%s (%s)', $hostname, $port, $transport ) ); - $portTest = new PostmanPortTest( $hostname, $port ); - $portTest->transportName = $transportName; - $success = $portTest->testSmtpsPorts(); - $this->buildResponse( $hostname, $port, $portTest, $success, $transport ); - } - - /** - * - * @param mixed $hostname - * @param mixed $port - * @param mixed $success - */ - private function buildResponse( $hostname, $port, PostmanPortTest $portTest, $success, $transport = '' ) { - $this->logger->debug( sprintf( 'testing port result for %s:%s success=%s', $hostname, $port, $success ) ); - $response = array( - 'hostname' => $hostname, - 'hostname_domain_only' => $portTest->hostnameDomainOnly, - 'port' => $port, - 'protocol' => $portTest->protocol, - 'secure' => ($portTest->secure), - 'mitm' => ($portTest->mitm), - 'reported_hostname' => $portTest->reportedHostname, - 'reported_hostname_domain_only' => $portTest->reportedHostnameDomainOnly, - 'message' => $portTest->getErrorMessage(), - 'start_tls' => $portTest->startTls, - 'auth_plain' => $portTest->authPlain, - 'auth_login' => $portTest->authLogin, - 'auth_crammd5' => $portTest->authCrammd5, - 'auth_xoauth' => $portTest->authXoauth, - 'auth_none' => $portTest->authNone, - 'try_smtps' => $portTest->trySmtps, - 'success' => $success, - 'transport' => $transport, - ); - $this->logger->trace( 'Ajax response:' ); - $this->logger->trace( $response ); - if ( $success ) { - wp_send_json_success( $response ); - } else { - wp_send_json_error( $response ); - } - } -} diff --git a/Postman/Postman-Connectivity-Test/postman_port_test.js b/Postman/Postman-Connectivity-Test/postman_port_test.js deleted file mode 100644 index 8667c06..0000000 --- a/Postman/Postman-Connectivity-Test/postman_port_test.js +++ /dev/null @@ -1,336 +0,0 @@ -postman_begin_test_button_id = 'input#begin-port-test'; - -jQuery(document).ready(function() { - var elHostname = jQuery(postman_begin_test_button_id); - jQuery(postman_hostname_element_name).focus(); - elHostname.click(function() { - valid = jQuery('#port_test_form_id').valid(); - if (!valid) { - return false; - } - - // initialize the view for a new test - elHostname.attr('disabled', 'disabled'); - hide('#conclusion'); - hide('#blocked-port-help'); - jQuery('ol.conclusion').html(''); - showLoaderIcon(); - - var $elTestingTable = jQuery('#connectivity_test_table'); - $elTestingTable.show(); - show('.portquiz'); - - var hostname = jQuery(postman_hostname_element_name).val(); - var data = { - 'action' : 'postman_get_hosts_to_test', - 'hostname' : hostname, - 'security' : jQuery('#security').val(), - }; - - totalPortsTested = 0; - portsToBeTested = 0; - - jQuery.post(ajaxurl, data, function(response) { - if (postmanValidateAjaxResponseWithPopup(response)) { - handleHostsToCheckResponse(response.data); - } - }).fail(function(response) { - ajaxFailed(response); - }); - - // - return false; - }); -}); - -/** - * Handles the response from the server of the list of sockets to check. - * - * @param hostname - * @param response - */ -function handleHostsToCheckResponse(response) { - for ( var x in response.hosts) { - var id = response.hosts[x].id; - var transportSlug = response.hosts[x].transport_id; - var hostname = response.hosts[x].host; - var port = response.hosts[x].port - var cell = 'tr#' + id + " td.socket"; - var testEl = jQuery(cell); - testEl.html('<span>' + hostname + ':' + port + '</span>'); - portQuizTest(response.hosts[x], hostname, port); - } -} - -function portQuizTest(socket, hostname, port) { - resetView(socket.id); - portsToBeTested += 1; - var cell = 'tr#' + socket.id + " td.firewall"; - var testEl = jQuery(cell); - testEl.html('<span style="color:blue">' + postman_port_test.in_progress - + '</span>'); - var data = { - 'action' : 'postman_port_quiz_test', - 'hostname' : hostname, - 'port' : port, - 'security' : jQuery('#security').val(), - }; - jQuery.post( - ajaxurl, - data, - function(response) { - if (postmanValidateAjaxResponseWithPopup(response)) { - if (response.success) { - testEl.html('<span style="color:green">' - + postman_port_test.open + '</span>'); - // start the next test - } else { - testEl.html('<span style="color:red">' - + postman_port_test.closed + '</span>'); - } - firstServiceTest(socket, hostname, port, response.success); - } - }).fail( - function(response) { - totalPortsTested += 1; - testEl.html('<span style="color:red">' - + postman_email_test.ajax_error + "</span>"); - enableButtonCheck(); - }); -} -function firstServiceTest(socket, hostname, port, open) { - var cell = 'tr#' + socket.id + " td.service"; - var testEl = jQuery(cell); - testEl.html('<span style="color:blue">' + postman_port_test.in_progress - + '</span>'); - var data = { - 'action' : 'postman_test_port', - 'hostname' : hostname, - 'port' : port, - 'security' : jQuery('#security').val(), - }; - jQuery - .post( - ajaxurl, - data, - function(response) { - if (postmanValidateAjaxResponseWithPopup(response)) { - if (response.success) { - totalPortsTested += 1; - if (port == 443) { - // API test - testEl - .html('<span style="color:green">🔒 ' - + response.data.protocol - + '</span>'); - var cell = 'tr#' + socket.id - + " td.reported_id"; - var p443El = jQuery(cell); - if (response.data.reported_hostname_domain_only) { - p443El - .html('<span>' - + response.data.reported_hostname_domain_only - + '</span>'); - } - addConclusion(sprintf( - postman_port_test.https_success, - response.data.port, - socket.transport_name), true, - response.data.secure); - } else { - // SMTP test - testEl.html('<span style="color:green">' - + response.data.protocol - + '</span>'); - inspectResponse(socket.id, response.data, - port); - var message = sprintf(postman_port_test.success, - port, hostname); - if (response.data.mitm) { - message += ' <span style="background-color:yellow">' - + sprintf( - postman_port_test.mitm, - response.data.reported_hostname_domain_only, - response.data.hostname_domain_only) - + '</span>'; - } - addConclusion(message, true, - response.data.secure); - } - } else { - if (port == 443) { - // API test - testEl.html('<span style="color:red">' - + postman_port_test.no + '</span>'); - totalPortsTested += 1; - var p443El = jQuery(cell); - addConclusion(sprintf(postman_port_test.try_dif_smtp, - port, hostname), false, - response.data.secure); - } else { - if (response.data.try_smtps) { - // start the SMTPS test - portTest3(socket, hostname, port, open); - } else { - testEl.html('<span style="color:red">' - + postman_port_test.no + '</span>'); - totalPortsTested += 1; - addConclusion(sprintf( - postman_port_test.blocked, port), - false, response.data.secure); - show('#blocked-port-help'); - } - } - } - enableButtonCheck(); - } - }).fail( - function(response) { - totalPortsTested += 1; - testEl.html('<span style="color:red">' - + postman_email_test.ajax_error + "</span>"); - enableButtonCheck(); - }); -} -function portTest3(socket, hostname, port, open) { - var cell = 'tr#' + socket.id + " td.service"; - var testEl = jQuery(cell); - testEl.html('<span style="color:blue">' + postman_port_test.in_progress - + '</span>'); - var data = { - 'action' : 'postman_test_smtps', - 'hostname' : hostname, - 'port' : port, - 'security' : jQuery('#security').val(), - }; - jQuery - .post( - ajaxurl, - data, - function(response) { - if (postmanValidateAjaxResponseWithPopup(response)) { - if (response.success) { - if (response.data.protocol == 'SMTPS') { - testEl - .html('<span style="color:green">🔒 ' - + response.data.protocol - + '</span>'); - } else { - - testEl.html('<span style="color:green">' - + response.data.protocol - + '</span>'); - } - inspectResponse(socket.id, response.data, port); - var message = sprintf(postman_port_test.success, - port, hostname); - if (response.data.mitm) { - message += ' <span style="background-color:yellow">' - + sprintf( - postman_port_test.mitm, - response.data.reported_hostname_domain_only, - response.data.hostname_domain_only - + '</span>'); - } - addConclusion(message, true, - response.data.secure); - } else { - testEl.html('<span style="color:red">' - + postman_port_test.no + '</span>'); - show('#blocked-port-help'); - if (open) { - addConclusion(sprintf(postman_port_test.try_dif_smtp, - port, hostname), false, - response.data.secure); - } else { - addConclusion(sprintf(postman_port_test.blocked, - port), false, response.data.secure); - } - } - totalPortsTested += 1; - enableButtonCheck(); - } - }).fail( - function(response) { - totalPortsTested += 1; - testEl.html('<span style="color:red">' - + postman_email_test.ajax_error + "</span>"); - enableButtonCheck(); - }); -} -function enableButtonCheck() { - if (totalPortsTested >= portsToBeTested) { - enable(postman_begin_test_button_id); - hideLoaderIcon(); - jQuery(postman_hostname_element_name).focus(); - } -} -function inspectResponse(id, response, port) { - var cell = 'tr#' + id + " td.reported_id"; - var testEl = jQuery(cell); - if (response.reported_hostname_domain_only) { - testEl.html('<span>' + response.reported_hostname_domain_only - + '</span>'); - } - var cell = 'tr#' + id + " td.service"; - var testEl = jQuery(cell); - if (response.protocol == 'SMTPS') { - testEl.html('<span style="color:green">🔒 SMTPS</span>'); - } else if (response.start_tls) { - testEl.html('<span style="color:green">🔒 SMTP-STARTTLS</span>'); - } else { - testEl.html('<span style="color:green">SMTP</span>'); - } - var cell = 'tr#' + id + " td.auth_none"; - var testEl = jQuery(cell); - if (response.auth_none) { - testEl.html('<span style="color:green">' + postman_port_test.yes + '</span>'); - } else { - testEl.html('<span>' + postman_port_test.no + '</span>'); - } - var cell = 'tr#' + id + " td.auth_plain"; - var testEl = jQuery(cell); - if (response.auth_plain) { - testEl.html('<span style="color:green">' + postman_port_test.yes + '</span>'); - } else { - testEl.html('<span>' + postman_port_test.no + '</span>'); - } - var cell = 'tr#' + id + " td.auth_login"; - var testEl = jQuery(cell); - if (response.auth_login) { - testEl.html('<span style="color:green">' + postman_port_test.yes + '</span>'); - } else { - testEl.html('<span>' + postman_port_test.no + '</span>'); - } - var cell = 'tr#' + id + " td.auth_crammd5"; - var testEl = jQuery(cell); - if (response.auth_crammd5) { - testEl.html('<span style="color:green">' + postman_port_test.yes + '</span>'); - } else { - testEl.html('<span>' + postman_port_test.no + '</span>'); - } - var cell = 'tr#' + id + " td.auth_xoauth2"; - var testEl = jQuery(cell); - if (response.auth_xoauth) { - testEl.html('<span style="color:green">' + postman_port_test.yes + '</span>'); - } else { - testEl.html('<span>' + postman_port_test.no + '</span>'); - } -} -function resetView(id) { - var testEl = jQuery('tr#' + id + ' td.resettable'); - testEl.html('-'); -} -function addConclusion(message, success, isSecure) { - show('#conclusion'); - var secureIcon = ''; - if (isSecure) { - secureIcon = '🔒 '; - } - if (success) { - message = '✅ ' + secureIcon + message; - } else { - message = '❌ ' + secureIcon + message; - } - jQuery('ol.conclusion').append('<li>' + message + '</li>'); -}
\ No newline at end of file diff --git a/Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/effectiveTLDs.inc.php b/Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/effectiveTLDs.inc.php deleted file mode 100644 index 8f353c8..0000000 --- a/Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/effectiveTLDs.inc.php +++ /dev/null @@ -1,6484 +0,0 @@ -<?php -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - -$tldTree = array('ac' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'net' => array(), -'mil' => array(), -'org' => array()), -'ad' => array('nom' => array()), -'ae' => array('co' => array(), -'net' => array(), -'org' => array(), -'sch' => array(), -'ac' => array(), -'gov' => array(), -'mil' => array()), -'aero' => array('accident-investigation' => array(), -'accident-prevention' => array(), -'aerobatic' => array(), -'aeroclub' => array(), -'aerodrome' => array(), -'agents' => array(), -'aircraft' => array(), -'airline' => array(), -'airport' => array(), -'air-surveillance' => array(), -'airtraffic' => array(), -'air-traffic-control' => array(), -'ambulance' => array(), -'amusement' => array(), -'association' => array(), -'author' => array(), -'ballooning' => array(), -'broker' => array(), -'caa' => array(), -'cargo' => array(), -'catering' => array(), -'certification' => array(), -'championship' => array(), -'charter' => array(), -'civilaviation' => array(), -'club' => array(), -'conference' => array(), -'consultant' => array(), -'consulting' => array(), -'control' => array(), -'council' => array(), -'crew' => array(), -'design' => array(), -'dgca' => array(), -'educator' => array(), -'emergency' => array(), -'engine' => array(), -'engineer' => array(), -'entertainment' => array(), -'equipment' => array(), -'exchange' => array(), -'express' => array(), -'federation' => array(), -'flight' => array(), -'freight' => array(), -'fuel' => array(), -'gliding' => array(), -'government' => array(), -'groundhandling' => array(), -'group' => array(), -'hanggliding' => array(), -'homebuilt' => array(), -'insurance' => array(), -'journal' => array(), -'journalist' => array(), -'leasing' => array(), -'logistics' => array(), -'magazine' => array(), -'maintenance' => array(), -'marketplace' => array(), -'media' => array(), -'microlight' => array(), -'modelling' => array(), -'navigation' => array(), -'parachuting' => array(), -'paragliding' => array(), -'passenger-association' => array(), -'pilot' => array(), -'press' => array(), -'production' => array(), -'recreation' => array(), -'repbody' => array(), -'res' => array(), -'research' => array(), -'rotorcraft' => array(), -'safety' => array(), -'scientist' => array(), -'services' => array(), -'show' => array(), -'skydiving' => array(), -'software' => array(), -'student' => array(), -'taxi' => array(), -'trader' => array(), -'trading' => array(), -'trainer' => array(), -'union' => array(), -'workinggroup' => array(), -'works' => array()), -'af' => array('gov' => array(), -'com' => array(), -'org' => array(), -'net' => array(), -'edu' => array()), -'ag' => array('com' => array(), -'org' => array(), -'net' => array(), -'co' => array(), -'nom' => array()), -'ai' => array('off' => array(), -'com' => array(), -'net' => array(), -'org' => array()), -'al' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'mil' => array(), -'net' => array(), -'org' => array()), -'am' => array(), -'an' => array('com' => array(), -'net' => array(), -'org' => array(), -'edu' => array()), -'ao' => array('ed' => array(), -'gv' => array(), -'og' => array(), -'co' => array(), -'pb' => array(), -'it' => array()), -'aq' => array(), -'ar' => array('com' => array('blogspot' => array()), -'edu' => array(), -'gob' => array(), -'gov' => array(), -'int' => array(), -'mil' => array(), -'net' => array(), -'org' => array(), -'tur' => array()), -'arpa' => array('e164' => array(), -'in-addr' => array(), -'ip6' => array(), -'iris' => array(), -'uri' => array(), -'urn' => array()), -'as' => array('gov' => array()), -'asia' => array(), -'at' => array('ac' => array(), -'co' => array('blogspot' => array()), -'gv' => array(), -'or' => array(), -'biz' => array(), -'info' => array(), -'priv' => array()), -'au' => array('com' => array('blogspot' => array()), -'net' => array(), -'org' => array(), -'edu' => array('act' => array(), -'nsw' => array(), -'nt' => array(), -'qld' => array(), -'sa' => array(), -'tas' => array(), -'vic' => array(), -'wa' => array()), -'gov' => array('qld' => array(), -'sa' => array(), -'tas' => array(), -'vic' => array(), -'wa' => array()), -'asn' => array(), -'id' => array(), -'info' => array(), -'conf' => array(), -'oz' => array(), -'act' => array(), -'nsw' => array(), -'nt' => array(), -'qld' => array(), -'sa' => array(), -'tas' => array(), -'vic' => array(), -'wa' => array()), -'aw' => array('com' => array()), -'ax' => array(), -'az' => array('com' => array(), -'net' => array(), -'int' => array(), -'gov' => array(), -'org' => array(), -'edu' => array(), -'info' => array(), -'pp' => array(), -'mil' => array(), -'name' => array(), -'pro' => array(), -'biz' => array()), -'ba' => array('org' => array(), -'net' => array(), -'edu' => array(), -'gov' => array(), -'mil' => array(), -'unsa' => array(), -'unbi' => array(), -'co' => array(), -'com' => array(), -'rs' => array()), -'bb' => array('biz' => array(), -'co' => array(), -'com' => array(), -'edu' => array(), -'gov' => array(), -'info' => array(), -'net' => array(), -'org' => array(), -'store' => array(), -'tv' => array()), -'bd' => array('*' => array()), -'be' => array('ac' => array(), -'blogspot' => array()), -'bf' => array('gov' => array()), -'bg' => array('a' => array(), -'b' => array(), -'c' => array(), -'d' => array(), -'e' => array(), -'f' => array(), -'g' => array(), -'h' => array(), -'i' => array(), -'j' => array(), -'k' => array(), -'l' => array(), -'m' => array(), -'n' => array(), -'o' => array(), -'p' => array(), -'q' => array(), -'r' => array(), -'s' => array(), -'t' => array(), -'u' => array(), -'v' => array(), -'w' => array(), -'x' => array(), -'y' => array(), -'z' => array(), -'0' => array(), -'1' => array(), -'2' => array(), -'3' => array(), -'4' => array(), -'5' => array(), -'6' => array(), -'7' => array(), -'8' => array(), -'9' => array()), -'bh' => array('com' => array(), -'edu' => array(), -'net' => array(), -'org' => array(), -'gov' => array()), -'bi' => array('co' => array(), -'com' => array(), -'edu' => array(), -'or' => array(), -'org' => array()), -'biz' => array('dyndns' => array(), -'for-better' => array(), -'for-more' => array(), -'for-some' => array(), -'for-the' => array(), -'selfip' => array(), -'webhop' => array()), -'bj' => array('asso' => array(), -'barreau' => array(), -'gouv' => array(), -'blogspot' => array()), -'bm' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'net' => array(), -'org' => array()), -'bn' => array('*' => array()), -'bo' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'gob' => array(), -'int' => array(), -'org' => array(), -'net' => array(), -'mil' => array(), -'tv' => array()), -'br' => array('adm' => array(), -'adv' => array(), -'agr' => array(), -'am' => array(), -'arq' => array(), -'art' => array(), -'ato' => array(), -'b' => array(), -'bio' => array(), -'blog' => array(), -'bmd' => array(), -'cim' => array(), -'cng' => array(), -'cnt' => array(), -'com' => array('blogspot' => array()), -'coop' => array(), -'ecn' => array(), -'eco' => array(), -'edu' => array(), -'emp' => array(), -'eng' => array(), -'esp' => array(), -'etc' => array(), -'eti' => array(), -'far' => array(), -'flog' => array(), -'fm' => array(), -'fnd' => array(), -'fot' => array(), -'fst' => array(), -'g12' => array(), -'ggf' => array(), -'gov' => array(), -'imb' => array(), -'ind' => array(), -'inf' => array(), -'jor' => array(), -'jus' => array(), -'leg' => array(), -'lel' => array(), -'mat' => array(), -'med' => array(), -'mil' => array(), -'mp' => array(), -'mus' => array(), -'net' => array(), -'nom' => array('*' => array()), -'not' => array(), -'ntr' => array(), -'odo' => array(), -'org' => array(), -'ppg' => array(), -'pro' => array(), -'psc' => array(), -'psi' => array(), -'qsl' => array(), -'radio' => array(), -'rec' => array(), -'slg' => array(), -'srv' => array(), -'taxi' => array(), -'teo' => array(), -'tmp' => array(), -'trd' => array(), -'tur' => array(), -'tv' => array(), -'vet' => array(), -'vlog' => array(), -'wiki' => array(), -'zlg' => array()), -'bs' => array('com' => array(), -'net' => array(), -'org' => array(), -'edu' => array(), -'gov' => array()), -'bt' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'net' => array(), -'org' => array()), -'bv' => array(), -'bw' => array('co' => array(), -'org' => array()), -'by' => array('gov' => array(), -'mil' => array(), -'com' => array(), -'of' => array()), -'bz' => array('com' => array(), -'net' => array(), -'org' => array(), -'edu' => array(), -'gov' => array(), -'za' => array()), -'ca' => array('ab' => array(), -'bc' => array(), -'mb' => array(), -'nb' => array(), -'nf' => array(), -'nl' => array(), -'ns' => array(), -'nt' => array(), -'nu' => array(), -'on' => array(), -'pe' => array(), -'qc' => array(), -'sk' => array(), -'yk' => array(), -'gc' => array(), -'co' => array(), -'blogspot' => array()), -'cat' => array(), -'cc' => array('ftpaccess' => array(), -'game-server' => array(), -'myphotos' => array(), -'scrapping' => array()), -'cd' => array('gov' => array()), -'cf' => array('blogspot' => array()), -'cg' => array(), -'ch' => array('blogspot' => array()), -'ci' => array('org' => array(), -'or' => array(), -'com' => array(), -'co' => array(), -'edu' => array(), -'ed' => array(), -'ac' => array(), -'net' => array(), -'go' => array(), -'asso' => array(), -'aéroport' => array(), -'int' => array(), -'presse' => array(), -'md' => array(), -'gouv' => array()), -'ck' => array('*' => array(), -'www' => array('!' => '')), -'cl' => array('gov' => array(), -'gob' => array(), -'co' => array(), -'mil' => array()), -'cm' => array('co' => array(), -'com' => array(), -'gov' => array(), -'net' => array()), -'cn' => array('ac' => array(), -'com' => array(), -'edu' => array(), -'gov' => array(), -'net' => array(), -'org' => array(), -'mil' => array(), -'公司' => array(), -'网络' => array(), -'網絡' => array(), -'ah' => array(), -'bj' => array(), -'cq' => array(), -'fj' => array(), -'gd' => array(), -'gs' => array(), -'gz' => array(), -'gx' => array(), -'ha' => array(), -'hb' => array(), -'he' => array(), -'hi' => array(), -'hl' => array(), -'hn' => array(), -'jl' => array(), -'js' => array(), -'jx' => array(), -'ln' => array(), -'nm' => array(), -'nx' => array(), -'qh' => array(), -'sc' => array(), -'sd' => array(), -'sh' => array(), -'sn' => array(), -'sx' => array(), -'tj' => array(), -'xj' => array(), -'xz' => array(), -'yn' => array(), -'zj' => array(), -'hk' => array(), -'mo' => array(), -'tw' => array(), -'amazonaws' => array('compute' => array('cn-north-1' => array()))), -'co' => array('arts' => array(), -'com' => array(), -'edu' => array(), -'firm' => array(), -'gov' => array(), -'info' => array(), -'int' => array(), -'mil' => array(), -'net' => array(), -'nom' => array(), -'org' => array(), -'rec' => array(), -'web' => array()), -'com' => array('amazonaws' => array('compute' => array('ap-northeast-1' => array(), -'ap-southeast-1' => array(), -'ap-southeast-2' => array(), -'eu-west-1' => array(), -'sa-east-1' => array(), -'us-gov-west-1' => array(), -'us-west-1' => array(), -'us-west-2' => array()), -'compute-1' => array('z-1' => array(), -'z-2' => array()), -'us-east-1' => array(), -'elb' => array(), -'s3' => array(), -'s3-us-west-2' => array(), -'s3-us-west-1' => array(), -'s3-eu-west-1' => array(), -'s3-ap-southeast-1' => array(), -'s3-ap-southeast-2' => array(), -'s3-ap-northeast-1' => array(), -'s3-sa-east-1' => array(), -'s3-us-gov-west-1' => array(), -'s3-fips-us-gov-west-1' => array(), -'s3-website-us-east-1' => array(), -'s3-website-us-west-2' => array(), -'s3-website-us-west-1' => array(), -'s3-website-eu-west-1' => array(), -'s3-website-ap-southeast-1' => array(), -'s3-website-ap-southeast-2' => array(), -'s3-website-ap-northeast-1' => array(), -'s3-website-sa-east-1' => array(), -'s3-website-us-gov-west-1' => array()), -'elasticbeanstalk' => array(), -'betainabox' => array(), -'ar' => array(), -'br' => array(), -'cn' => array(), -'de' => array(), -'eu' => array(), -'gb' => array(), -'hu' => array(), -'jpn' => array(), -'kr' => array(), -'mex' => array(), -'no' => array(), -'qc' => array(), -'ru' => array(), -'sa' => array(), -'se' => array(), -'uk' => array(), -'us' => array(), -'uy' => array(), -'za' => array(), -'africa' => array(), -'gr' => array(), -'co' => array(), -'cloudcontrolled' => array(), -'cloudcontrolapp' => array(), -'dreamhosters' => array(), -'dyndns-at-home' => array(), -'dyndns-at-work' => array(), -'dyndns-blog' => array(), -'dyndns-free' => array(), -'dyndns-home' => array(), -'dyndns-ip' => array(), -'dyndns-mail' => array(), -'dyndns-office' => array(), -'dyndns-pics' => array(), -'dyndns-remote' => array(), -'dyndns-server' => array(), -'dyndns-web' => array(), -'dyndns-wiki' => array(), -'dyndns-work' => array(), -'blogdns' => array(), -'cechire' => array(), -'dnsalias' => array(), -'dnsdojo' => array(), -'doesntexist' => array(), -'dontexist' => array(), -'doomdns' => array(), -'dyn-o-saur' => array(), -'dynalias' => array(), -'est-a-la-maison' => array(), -'est-a-la-masion' => array(), -'est-le-patron' => array(), -'est-mon-blogueur' => array(), -'from-ak' => array(), -'from-al' => array(), -'from-ar' => array(), -'from-ca' => array(), -'from-ct' => array(), -'from-dc' => array(), -'from-de' => array(), -'from-fl' => array(), -'from-ga' => array(), -'from-hi' => array(), -'from-ia' => array(), -'from-id' => array(), -'from-il' => array(), -'from-in' => array(), -'from-ks' => array(), -'from-ky' => array(), -'from-ma' => array(), -'from-md' => array(), -'from-mi' => array(), -'from-mn' => array(), -'from-mo' => array(), -'from-ms' => array(), -'from-mt' => array(), -'from-nc' => array(), -'from-nd' => array(), -'from-ne' => array(), -'from-nh' => array(), -'from-nj' => array(), -'from-nm' => array(), -'from-nv' => array(), -'from-oh' => array(), -'from-ok' => array(), -'from-or' => array(), -'from-pa' => array(), -'from-pr' => array(), -'from-ri' => array(), -'from-sc' => array(), -'from-sd' => array(), -'from-tn' => array(), -'from-tx' => array(), -'from-ut' => array(), -'from-va' => array(), -'from-vt' => array(), -'from-wa' => array(), -'from-wi' => array(), -'from-wv' => array(), -'from-wy' => array(), -'getmyip' => array(), -'gotdns' => array(), -'hobby-site' => array(), -'homelinux' => array(), -'homeunix' => array(), -'iamallama' => array(), -'is-a-anarchist' => array(), -'is-a-blogger' => array(), -'is-a-bookkeeper' => array(), -'is-a-bulls-fan' => array(), -'is-a-caterer' => array(), -'is-a-chef' => array(), -'is-a-conservative' => array(), -'is-a-cpa' => array(), -'is-a-cubicle-slave' => array(), -'is-a-democrat' => array(), -'is-a-designer' => array(), -'is-a-doctor' => array(), -'is-a-financialadvisor' => array(), -'is-a-geek' => array(), -'is-a-green' => array(), -'is-a-guru' => array(), -'is-a-hard-worker' => array(), -'is-a-hunter' => array(), -'is-a-landscaper' => array(), -'is-a-lawyer' => array(), -'is-a-liberal' => array(), -'is-a-libertarian' => array(), -'is-a-llama' => array(), -'is-a-musician' => array(), -'is-a-nascarfan' => array(), -'is-a-nurse' => array(), -'is-a-painter' => array(), -'is-a-personaltrainer' => array(), -'is-a-photographer' => array(), -'is-a-player' => array(), -'is-a-republican' => array(), -'is-a-rockstar' => array(), -'is-a-socialist' => array(), -'is-a-student' => array(), -'is-a-teacher' => array(), -'is-a-techie' => array(), -'is-a-therapist' => array(), -'is-an-accountant' => array(), -'is-an-actor' => array(), -'is-an-actress' => array(), -'is-an-anarchist' => array(), -'is-an-artist' => array(), -'is-an-engineer' => array(), -'is-an-entertainer' => array(), -'is-certified' => array(), -'is-gone' => array(), -'is-into-anime' => array(), -'is-into-cars' => array(), -'is-into-cartoons' => array(), -'is-into-games' => array(), -'is-leet' => array(), -'is-not-certified' => array(), -'is-slick' => array(), -'is-uberleet' => array(), -'is-with-theband' => array(), -'isa-geek' => array(), -'isa-hockeynut' => array(), -'issmarterthanyou' => array(), -'likes-pie' => array(), -'likescandy' => array(), -'neat-url' => array(), -'saves-the-whales' => array(), -'selfip' => array(), -'sells-for-less' => array(), -'sells-for-u' => array(), -'servebbs' => array(), -'simple-url' => array(), -'space-to-rent' => array(), -'teaches-yoga' => array(), -'writesthisblog' => array(), -'firebaseapp' => array(), -'flynnhub' => array(), -'githubusercontent' => array(), -'ro' => array(), -'appspot' => array(), -'blogspot' => array(), -'codespot' => array(), -'googleapis' => array(), -'googlecode' => array(), -'withgoogle' => array(), -'herokuapp' => array(), -'herokussl' => array(), -'nfshost' => array(), -'operaunite' => array(), -'outsystemscloud' => array(), -'rhcloud' => array(), -'yolasite' => array()), -'coop' => array(), -'cr' => array('ac' => array(), -'co' => array(), -'ed' => array(), -'fi' => array(), -'go' => array(), -'or' => array(), -'sa' => array()), -'cu' => array('com' => array(), -'edu' => array(), -'org' => array(), -'net' => array(), -'gov' => array(), -'inf' => array()), -'cv' => array('blogspot' => array()), -'cw' => array('com' => array(), -'edu' => array(), -'net' => array(), -'org' => array()), -'cx' => array('gov' => array(), -'ath' => array()), -'cy' => array('*' => array()), -'cz' => array('blogspot' => array()), -'de' => array('com' => array(), -'fuettertdasnetz' => array(), -'isteingeek' => array(), -'istmein' => array(), -'lebtimnetz' => array(), -'leitungsen' => array(), -'traeumtgerade' => array(), -'blogspot' => array()), -'dj' => array(), -'dk' => array('blogspot' => array()), -'dm' => array('com' => array(), -'net' => array(), -'org' => array(), -'edu' => array(), -'gov' => array()), -'do' => array('art' => array(), -'com' => array(), -'edu' => array(), -'gob' => array(), -'gov' => array(), -'mil' => array(), -'net' => array(), -'org' => array(), -'sld' => array(), -'web' => array()), -'dz' => array('com' => array(), -'org' => array(), -'net' => array(), -'gov' => array(), -'edu' => array(), -'asso' => array(), -'pol' => array(), -'art' => array()), -'ec' => array('com' => array(), -'info' => array(), -'net' => array(), -'fin' => array(), -'k12' => array(), -'med' => array(), -'pro' => array(), -'org' => array(), -'edu' => array(), -'gov' => array(), -'gob' => array(), -'mil' => array()), -'edu' => array(), -'ee' => array('edu' => array(), -'gov' => array(), -'riik' => array(), -'lib' => array(), -'med' => array(), -'com' => array(), -'pri' => array(), -'aip' => array(), -'org' => array(), -'fie' => array()), -'eg' => array('com' => array(), -'edu' => array(), -'eun' => array(), -'gov' => array(), -'mil' => array(), -'name' => array(), -'net' => array(), -'org' => array(), -'sci' => array()), -'er' => array('*' => array()), -'es' => array('com' => array('blogspot' => array()), -'nom' => array(), -'org' => array(), -'gob' => array(), -'edu' => array()), -'et' => array('com' => array(), -'gov' => array(), -'org' => array(), -'edu' => array(), -'biz' => array(), -'name' => array(), -'info' => array()), -'eu' => array(), -'fi' => array('aland' => array(), -'blogspot' => array(), -'iki' => array()), -'fj' => array('*' => array()), -'fk' => array('*' => array()), -'fm' => array(), -'fo' => array(), -'fr' => array('com' => array(), -'asso' => array(), -'nom' => array(), -'prd' => array(), -'presse' => array(), -'tm' => array(), -'aeroport' => array(), -'assedic' => array(), -'avocat' => array(), -'avoues' => array(), -'cci' => array(), -'chambagri' => array(), -'chirurgiens-dentistes' => array(), -'experts-comptables' => array(), -'geometre-expert' => array(), -'gouv' => array(), -'greta' => array(), -'huissier-justice' => array(), -'medecin' => array(), -'notaires' => array(), -'pharmacien' => array(), -'port' => array(), -'veterinaire' => array(), -'blogspot' => array()), -'ga' => array(), -'gb' => array(), -'gd' => array(), -'ge' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'org' => array(), -'mil' => array(), -'net' => array(), -'pvt' => array()), -'gf' => array(), -'gg' => array('co' => array(), -'net' => array(), -'org' => array()), -'gh' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'org' => array(), -'mil' => array()), -'gi' => array('com' => array(), -'ltd' => array(), -'gov' => array(), -'mod' => array(), -'edu' => array(), -'org' => array()), -'gl' => array(), -'gm' => array(), -'gn' => array('ac' => array(), -'com' => array(), -'edu' => array(), -'gov' => array(), -'org' => array(), -'net' => array()), -'gov' => array(), -'gp' => array('com' => array(), -'net' => array(), -'mobi' => array(), -'edu' => array(), -'org' => array(), -'asso' => array()), -'gq' => array(), -'gr' => array('com' => array(), -'edu' => array(), -'net' => array(), -'org' => array(), -'gov' => array(), -'blogspot' => array()), -'gs' => array(), -'gt' => array('com' => array(), -'edu' => array(), -'gob' => array(), -'ind' => array(), -'mil' => array(), -'net' => array(), -'org' => array()), -'gu' => array('*' => array()), -'gw' => array(), -'gy' => array('co' => array(), -'com' => array(), -'net' => array()), -'hk' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'idv' => array(), -'net' => array(), -'org' => array(), -'公司' => array(), -'教育' => array(), -'敎育' => array(), -'政府' => array(), -'個人' => array(), -'个人' => array(), -'箇人' => array(), -'網络' => array(), -'网络' => array(), -'组織' => array(), -'網絡' => array(), -'网絡' => array(), -'组织' => array(), -'組織' => array(), -'組织' => array(), -'blogspot' => array()), -'hm' => array(), -'hn' => array('com' => array(), -'edu' => array(), -'org' => array(), -'net' => array(), -'mil' => array(), -'gob' => array()), -'hr' => array('iz' => array(), -'from' => array(), -'name' => array(), -'com' => array()), -'ht' => array('com' => array(), -'shop' => array(), -'firm' => array(), -'info' => array(), -'adult' => array(), -'net' => array(), -'pro' => array(), -'org' => array(), -'med' => array(), -'art' => array(), -'coop' => array(), -'pol' => array(), -'asso' => array(), -'edu' => array(), -'rel' => array(), -'gouv' => array(), -'perso' => array()), -'hu' => array('co' => array(), -'info' => array(), -'org' => array(), -'priv' => array(), -'sport' => array(), -'tm' => array(), -'2000' => array(), -'agrar' => array(), -'bolt' => array(), -'casino' => array(), -'city' => array(), -'erotica' => array(), -'erotika' => array(), -'film' => array(), -'forum' => array(), -'games' => array(), -'hotel' => array(), -'ingatlan' => array(), -'jogasz' => array(), -'konyvelo' => array(), -'lakas' => array(), -'media' => array(), -'news' => array(), -'reklam' => array(), -'sex' => array(), -'shop' => array(), -'suli' => array(), -'szex' => array(), -'tozsde' => array(), -'utazas' => array(), -'video' => array(), -'blogspot' => array()), -'id' => array('ac' => array(), -'biz' => array(), -'co' => array(), -'desa' => array(), -'go' => array(), -'mil' => array(), -'my' => array(), -'net' => array(), -'or' => array(), -'sch' => array(), -'web' => array()), -'ie' => array('gov' => array(), -'blogspot' => array()), -'il' => array('*' => array(), -'co' => array('blogspot' => array())), -'im' => array('ac' => array(), -'co' => array('ltd' => array(), -'plc' => array()), -'com' => array(), -'net' => array(), -'org' => array(), -'tt' => array(), -'tv' => array()), -'in' => array('co' => array(), -'firm' => array(), -'net' => array(), -'org' => array(), -'gen' => array(), -'ind' => array(), -'nic' => array(), -'ac' => array(), -'edu' => array(), -'res' => array(), -'gov' => array(), -'mil' => array(), -'blogspot' => array()), -'info' => array('dyndns' => array(), -'barrel-of-knowledge' => array(), -'barrell-of-knowledge' => array(), -'for-our' => array(), -'groks-the' => array(), -'groks-this' => array(), -'here-for-more' => array(), -'knowsitall' => array(), -'selfip' => array(), -'webhop' => array()), -'int' => array('eu' => array()), -'io' => array('com' => array(), -'github' => array(), -'nid' => array()), -'iq' => array('gov' => array(), -'edu' => array(), -'mil' => array(), -'com' => array(), -'org' => array(), -'net' => array()), -'ir' => array('ac' => array(), -'co' => array(), -'gov' => array(), -'id' => array(), -'net' => array(), -'org' => array(), -'sch' => array(), -'ایران' => array(), -'ايران' => array()), -'is' => array('net' => array(), -'com' => array(), -'edu' => array(), -'gov' => array(), -'org' => array(), -'int' => array(), -'cupcake' => array()), -'it' => array('gov' => array(), -'edu' => array(), -'abr' => array(), -'abruzzo' => array(), -'aosta-valley' => array(), -'aostavalley' => array(), -'bas' => array(), -'basilicata' => array(), -'cal' => array(), -'calabria' => array(), -'cam' => array(), -'campania' => array(), -'emilia-romagna' => array(), -'emiliaromagna' => array(), -'emr' => array(), -'friuli-v-giulia' => array(), -'friuli-ve-giulia' => array(), -'friuli-vegiulia' => array(), -'friuli-venezia-giulia' => array(), -'friuli-veneziagiulia' => array(), -'friuli-vgiulia' => array(), -'friuliv-giulia' => array(), -'friulive-giulia' => array(), -'friulivegiulia' => array(), -'friulivenezia-giulia' => array(), -'friuliveneziagiulia' => array(), -'friulivgiulia' => array(), -'fvg' => array(), -'laz' => array(), -'lazio' => array(), -'lig' => array(), -'liguria' => array(), -'lom' => array(), -'lombardia' => array(), -'lombardy' => array(), -'lucania' => array(), -'mar' => array(), -'marche' => array(), -'mol' => array(), -'molise' => array(), -'piedmont' => array(), -'piemonte' => array(), -'pmn' => array(), -'pug' => array(), -'puglia' => array(), -'sar' => array(), -'sardegna' => array(), -'sardinia' => array(), -'sic' => array(), -'sicilia' => array(), -'sicily' => array(), -'taa' => array(), -'tos' => array(), -'toscana' => array(), -'trentino-a-adige' => array(), -'trentino-aadige' => array(), -'trentino-alto-adige' => array(), -'trentino-altoadige' => array(), -'trentino-s-tirol' => array(), -'trentino-stirol' => array(), -'trentino-sud-tirol' => array(), -'trentino-sudtirol' => array(), -'trentino-sued-tirol' => array(), -'trentino-suedtirol' => array(), -'trentinoa-adige' => array(), -'trentinoaadige' => array(), -'trentinoalto-adige' => array(), -'trentinoaltoadige' => array(), -'trentinos-tirol' => array(), -'trentinostirol' => array(), -'trentinosud-tirol' => array(), -'trentinosudtirol' => array(), -'trentinosued-tirol' => array(), -'trentinosuedtirol' => array(), -'tuscany' => array(), -'umb' => array(), -'umbria' => array(), -'val-d-aosta' => array(), -'val-daosta' => array(), -'vald-aosta' => array(), -'valdaosta' => array(), -'valle-aosta' => array(), -'valle-d-aosta' => array(), -'valle-daosta' => array(), -'valleaosta' => array(), -'valled-aosta' => array(), -'valledaosta' => array(), -'vallee-aoste' => array(), -'valleeaoste' => array(), -'vao' => array(), -'vda' => array(), -'ven' => array(), -'veneto' => array(), -'ag' => array(), -'agrigento' => array(), -'al' => array(), -'alessandria' => array(), -'alto-adige' => array(), -'altoadige' => array(), -'an' => array(), -'ancona' => array(), -'andria-barletta-trani' => array(), -'andria-trani-barletta' => array(), -'andriabarlettatrani' => array(), -'andriatranibarletta' => array(), -'ao' => array(), -'aosta' => array(), -'aoste' => array(), -'ap' => array(), -'aq' => array(), -'aquila' => array(), -'ar' => array(), -'arezzo' => array(), -'ascoli-piceno' => array(), -'ascolipiceno' => array(), -'asti' => array(), -'at' => array(), -'av' => array(), -'avellino' => array(), -'ba' => array(), -'balsan' => array(), -'bari' => array(), -'barletta-trani-andria' => array(), -'barlettatraniandria' => array(), -'belluno' => array(), -'benevento' => array(), -'bergamo' => array(), -'bg' => array(), -'bi' => array(), -'biella' => array(), -'bl' => array(), -'bn' => array(), -'bo' => array(), -'bologna' => array(), -'bolzano' => array(), -'bozen' => array(), -'br' => array(), -'brescia' => array(), -'brindisi' => array(), -'bs' => array(), -'bt' => array(), -'bz' => array(), -'ca' => array(), -'cagliari' => array(), -'caltanissetta' => array(), -'campidano-medio' => array(), -'campidanomedio' => array(), -'campobasso' => array(), -'carbonia-iglesias' => array(), -'carboniaiglesias' => array(), -'carrara-massa' => array(), -'carraramassa' => array(), -'caserta' => array(), -'catania' => array(), -'catanzaro' => array(), -'cb' => array(), -'ce' => array(), -'cesena-forli' => array(), -'cesenaforli' => array(), -'ch' => array(), -'chieti' => array(), -'ci' => array(), -'cl' => array(), -'cn' => array(), -'co' => array(), -'como' => array(), -'cosenza' => array(), -'cr' => array(), -'cremona' => array(), -'crotone' => array(), -'cs' => array(), -'ct' => array(), -'cuneo' => array(), -'cz' => array(), -'dell-ogliastra' => array(), -'dellogliastra' => array(), -'en' => array(), -'enna' => array(), -'fc' => array(), -'fe' => array(), -'fermo' => array(), -'ferrara' => array(), -'fg' => array(), -'fi' => array(), -'firenze' => array(), -'florence' => array(), -'fm' => array(), -'foggia' => array(), -'forli-cesena' => array(), -'forlicesena' => array(), -'fr' => array(), -'frosinone' => array(), -'ge' => array(), -'genoa' => array(), -'genova' => array(), -'go' => array(), -'gorizia' => array(), -'gr' => array(), -'grosseto' => array(), -'iglesias-carbonia' => array(), -'iglesiascarbonia' => array(), -'im' => array(), -'imperia' => array(), -'is' => array(), -'isernia' => array(), -'kr' => array(), -'la-spezia' => array(), -'laquila' => array(), -'laspezia' => array(), -'latina' => array(), -'lc' => array(), -'le' => array(), -'lecce' => array(), -'lecco' => array(), -'li' => array(), -'livorno' => array(), -'lo' => array(), -'lodi' => array(), -'lt' => array(), -'lu' => array(), -'lucca' => array(), -'macerata' => array(), -'mantova' => array(), -'massa-carrara' => array(), -'massacarrara' => array(), -'matera' => array(), -'mb' => array(), -'mc' => array(), -'me' => array(), -'medio-campidano' => array(), -'mediocampidano' => array(), -'messina' => array(), -'mi' => array(), -'milan' => array(), -'milano' => array(), -'mn' => array(), -'mo' => array(), -'modena' => array(), -'monza-brianza' => array(), -'monza-e-della-brianza' => array(), -'monza' => array(), -'monzabrianza' => array(), -'monzaebrianza' => array(), -'monzaedellabrianza' => array(), -'ms' => array(), -'mt' => array(), -'na' => array(), -'naples' => array(), -'napoli' => array(), -'no' => array(), -'novara' => array(), -'nu' => array(), -'nuoro' => array(), -'og' => array(), -'ogliastra' => array(), -'olbia-tempio' => array(), -'olbiatempio' => array(), -'or' => array(), -'oristano' => array(), -'ot' => array(), -'pa' => array(), -'padova' => array(), -'padua' => array(), -'palermo' => array(), -'parma' => array(), -'pavia' => array(), -'pc' => array(), -'pd' => array(), -'pe' => array(), -'perugia' => array(), -'pesaro-urbino' => array(), -'pesarourbino' => array(), -'pescara' => array(), -'pg' => array(), -'pi' => array(), -'piacenza' => array(), -'pisa' => array(), -'pistoia' => array(), -'pn' => array(), -'po' => array(), -'pordenone' => array(), -'potenza' => array(), -'pr' => array(), -'prato' => array(), -'pt' => array(), -'pu' => array(), -'pv' => array(), -'pz' => array(), -'ra' => array(), -'ragusa' => array(), -'ravenna' => array(), -'rc' => array(), -'re' => array(), -'reggio-calabria' => array(), -'reggio-emilia' => array(), -'reggiocalabria' => array(), -'reggioemilia' => array(), -'rg' => array(), -'ri' => array(), -'rieti' => array(), -'rimini' => array(), -'rm' => array(), -'rn' => array(), -'ro' => array(), -'roma' => array(), -'rome' => array(), -'rovigo' => array(), -'sa' => array(), -'salerno' => array(), -'sassari' => array(), -'savona' => array(), -'si' => array(), -'siena' => array(), -'siracusa' => array(), -'so' => array(), -'sondrio' => array(), -'sp' => array(), -'sr' => array(), -'ss' => array(), -'suedtirol' => array(), -'sv' => array(), -'ta' => array(), -'taranto' => array(), -'te' => array(), -'tempio-olbia' => array(), -'tempioolbia' => array(), -'teramo' => array(), -'terni' => array(), -'tn' => array(), -'to' => array(), -'torino' => array(), -'tp' => array(), -'tr' => array(), -'trani-andria-barletta' => array(), -'trani-barletta-andria' => array(), -'traniandriabarletta' => array(), -'tranibarlettaandria' => array(), -'trapani' => array(), -'trentino' => array(), -'trento' => array(), -'treviso' => array(), -'trieste' => array(), -'ts' => array(), -'turin' => array(), -'tv' => array(), -'ud' => array(), -'udine' => array(), -'urbino-pesaro' => array(), -'urbinopesaro' => array(), -'va' => array(), -'varese' => array(), -'vb' => array(), -'vc' => array(), -'ve' => array(), -'venezia' => array(), -'venice' => array(), -'verbania' => array(), -'vercelli' => array(), -'verona' => array(), -'vi' => array(), -'vibo-valentia' => array(), -'vibovalentia' => array(), -'vicenza' => array(), -'viterbo' => array(), -'vr' => array(), -'vs' => array(), -'vt' => array(), -'vv' => array(), -'blogspot' => array()), -'je' => array('co' => array(), -'net' => array(), -'org' => array()), -'jm' => array('*' => array()), -'jo' => array('com' => array(), -'org' => array(), -'net' => array(), -'edu' => array(), -'sch' => array(), -'gov' => array(), -'mil' => array(), -'name' => array()), -'jobs' => array(), -'jp' => array('ac' => array(), -'ad' => array(), -'co' => array(), -'ed' => array(), -'go' => array(), -'gr' => array(), -'lg' => array(), -'ne' => array(), -'or' => array(), -'aichi' => array('aisai' => array(), -'ama' => array(), -'anjo' => array(), -'asuke' => array(), -'chiryu' => array(), -'chita' => array(), -'fuso' => array(), -'gamagori' => array(), -'handa' => array(), -'hazu' => array(), -'hekinan' => array(), -'higashiura' => array(), -'ichinomiya' => array(), -'inazawa' => array(), -'inuyama' => array(), -'isshiki' => array(), -'iwakura' => array(), -'kanie' => array(), -'kariya' => array(), -'kasugai' => array(), -'kira' => array(), -'kiyosu' => array(), -'komaki' => array(), -'konan' => array(), -'kota' => array(), -'mihama' => array(), -'miyoshi' => array(), -'nishio' => array(), -'nisshin' => array(), -'obu' => array(), -'oguchi' => array(), -'oharu' => array(), -'okazaki' => array(), -'owariasahi' => array(), -'seto' => array(), -'shikatsu' => array(), -'shinshiro' => array(), -'shitara' => array(), -'tahara' => array(), -'takahama' => array(), -'tobishima' => array(), -'toei' => array(), -'togo' => array(), -'tokai' => array(), -'tokoname' => array(), -'toyoake' => array(), -'toyohashi' => array(), -'toyokawa' => array(), -'toyone' => array(), -'toyota' => array(), -'tsushima' => array(), -'yatomi' => array()), -'akita' => array('akita' => array(), -'daisen' => array(), -'fujisato' => array(), -'gojome' => array(), -'hachirogata' => array(), -'happou' => array(), -'higashinaruse' => array(), -'honjo' => array(), -'honjyo' => array(), -'ikawa' => array(), -'kamikoani' => array(), -'kamioka' => array(), -'katagami' => array(), -'kazuno' => array(), -'kitaakita' => array(), -'kosaka' => array(), -'kyowa' => array(), -'misato' => array(), -'mitane' => array(), -'moriyoshi' => array(), -'nikaho' => array(), -'noshiro' => array(), -'odate' => array(), -'oga' => array(), -'ogata' => array(), -'semboku' => array(), -'yokote' => array(), -'yurihonjo' => array()), -'aomori' => array('aomori' => array(), -'gonohe' => array(), -'hachinohe' => array(), -'hashikami' => array(), -'hiranai' => array(), -'hirosaki' => array(), -'itayanagi' => array(), -'kuroishi' => array(), -'misawa' => array(), -'mutsu' => array(), -'nakadomari' => array(), -'noheji' => array(), -'oirase' => array(), -'owani' => array(), -'rokunohe' => array(), -'sannohe' => array(), -'shichinohe' => array(), -'shingo' => array(), -'takko' => array(), -'towada' => array(), -'tsugaru' => array(), -'tsuruta' => array()), -'chiba' => array('abiko' => array(), -'asahi' => array(), -'chonan' => array(), -'chosei' => array(), -'choshi' => array(), -'chuo' => array(), -'funabashi' => array(), -'futtsu' => array(), -'hanamigawa' => array(), -'ichihara' => array(), -'ichikawa' => array(), -'ichinomiya' => array(), -'inzai' => array(), -'isumi' => array(), -'kamagaya' => array(), -'kamogawa' => array(), -'kashiwa' => array(), -'katori' => array(), -'katsuura' => array(), -'kimitsu' => array(), -'kisarazu' => array(), -'kozaki' => array(), -'kujukuri' => array(), -'kyonan' => array(), -'matsudo' => array(), -'midori' => array(), -'mihama' => array(), -'minamiboso' => array(), -'mobara' => array(), -'mutsuzawa' => array(), -'nagara' => array(), -'nagareyama' => array(), -'narashino' => array(), -'narita' => array(), -'noda' => array(), -'oamishirasato' => array(), -'omigawa' => array(), -'onjuku' => array(), -'otaki' => array(), -'sakae' => array(), -'sakura' => array(), -'shimofusa' => array(), -'shirako' => array(), -'shiroi' => array(), -'shisui' => array(), -'sodegaura' => array(), -'sosa' => array(), -'tako' => array(), -'tateyama' => array(), -'togane' => array(), -'tohnosho' => array(), -'tomisato' => array(), -'urayasu' => array(), -'yachimata' => array(), -'yachiyo' => array(), -'yokaichiba' => array(), -'yokoshibahikari' => array(), -'yotsukaido' => array()), -'ehime' => array('ainan' => array(), -'honai' => array(), -'ikata' => array(), -'imabari' => array(), -'iyo' => array(), -'kamijima' => array(), -'kihoku' => array(), -'kumakogen' => array(), -'masaki' => array(), -'matsuno' => array(), -'matsuyama' => array(), -'namikata' => array(), -'niihama' => array(), -'ozu' => array(), -'saijo' => array(), -'seiyo' => array(), -'shikokuchuo' => array(), -'tobe' => array(), -'toon' => array(), -'uchiko' => array(), -'uwajima' => array(), -'yawatahama' => array()), -'fukui' => array('echizen' => array(), -'eiheiji' => array(), -'fukui' => array(), -'ikeda' => array(), -'katsuyama' => array(), -'mihama' => array(), -'minamiechizen' => array(), -'obama' => array(), -'ohi' => array(), -'ono' => array(), -'sabae' => array(), -'sakai' => array(), -'takahama' => array(), -'tsuruga' => array(), -'wakasa' => array()), -'fukuoka' => array('ashiya' => array(), -'buzen' => array(), -'chikugo' => array(), -'chikuho' => array(), -'chikujo' => array(), -'chikushino' => array(), -'chikuzen' => array(), -'chuo' => array(), -'dazaifu' => array(), -'fukuchi' => array(), -'hakata' => array(), -'higashi' => array(), -'hirokawa' => array(), -'hisayama' => array(), -'iizuka' => array(), -'inatsuki' => array(), -'kaho' => array(), -'kasuga' => array(), -'kasuya' => array(), -'kawara' => array(), -'keisen' => array(), -'koga' => array(), -'kurate' => array(), -'kurogi' => array(), -'kurume' => array(), -'minami' => array(), -'miyako' => array(), -'miyama' => array(), -'miyawaka' => array(), -'mizumaki' => array(), -'munakata' => array(), -'nakagawa' => array(), -'nakama' => array(), -'nishi' => array(), -'nogata' => array(), -'ogori' => array(), -'okagaki' => array(), -'okawa' => array(), -'oki' => array(), -'omuta' => array(), -'onga' => array(), -'onojo' => array(), -'oto' => array(), -'saigawa' => array(), -'sasaguri' => array(), -'shingu' => array(), -'shinyoshitomi' => array(), -'shonai' => array(), -'soeda' => array(), -'sue' => array(), -'tachiarai' => array(), -'tagawa' => array(), -'takata' => array(), -'toho' => array(), -'toyotsu' => array(), -'tsuiki' => array(), -'ukiha' => array(), -'umi' => array(), -'usui' => array(), -'yamada' => array(), -'yame' => array(), -'yanagawa' => array(), -'yukuhashi' => array()), -'fukushima' => array('aizubange' => array(), -'aizumisato' => array(), -'aizuwakamatsu' => array(), -'asakawa' => array(), -'bandai' => array(), -'date' => array(), -'fukushima' => array(), -'furudono' => array(), -'futaba' => array(), -'hanawa' => array(), -'higashi' => array(), -'hirata' => array(), -'hirono' => array(), -'iitate' => array(), -'inawashiro' => array(), -'ishikawa' => array(), -'iwaki' => array(), -'izumizaki' => array(), -'kagamiishi' => array(), -'kaneyama' => array(), -'kawamata' => array(), -'kitakata' => array(), -'kitashiobara' => array(), -'koori' => array(), -'koriyama' => array(), -'kunimi' => array(), -'miharu' => array(), -'mishima' => array(), -'namie' => array(), -'nango' => array(), -'nishiaizu' => array(), -'nishigo' => array(), -'okuma' => array(), -'omotego' => array(), -'ono' => array(), -'otama' => array(), -'samegawa' => array(), -'shimogo' => array(), -'shirakawa' => array(), -'showa' => array(), -'soma' => array(), -'sukagawa' => array(), -'taishin' => array(), -'tamakawa' => array(), -'tanagura' => array(), -'tenei' => array(), -'yabuki' => array(), -'yamato' => array(), -'yamatsuri' => array(), -'yanaizu' => array(), -'yugawa' => array()), -'gifu' => array('anpachi' => array(), -'ena' => array(), -'gifu' => array(), -'ginan' => array(), -'godo' => array(), -'gujo' => array(), -'hashima' => array(), -'hichiso' => array(), -'hida' => array(), -'higashishirakawa' => array(), -'ibigawa' => array(), -'ikeda' => array(), -'kakamigahara' => array(), -'kani' => array(), -'kasahara' => array(), -'kasamatsu' => array(), -'kawaue' => array(), -'kitagata' => array(), -'mino' => array(), -'minokamo' => array(), -'mitake' => array(), -'mizunami' => array(), -'motosu' => array(), -'nakatsugawa' => array(), -'ogaki' => array(), -'sakahogi' => array(), -'seki' => array(), -'sekigahara' => array(), -'shirakawa' => array(), -'tajimi' => array(), -'takayama' => array(), -'tarui' => array(), -'toki' => array(), -'tomika' => array(), -'wanouchi' => array(), -'yamagata' => array(), -'yaotsu' => array(), -'yoro' => array()), -'gunma' => array('annaka' => array(), -'chiyoda' => array(), -'fujioka' => array(), -'higashiagatsuma' => array(), -'isesaki' => array(), -'itakura' => array(), -'kanna' => array(), -'kanra' => array(), -'katashina' => array(), -'kawaba' => array(), -'kiryu' => array(), -'kusatsu' => array(), -'maebashi' => array(), -'meiwa' => array(), -'midori' => array(), -'minakami' => array(), -'naganohara' => array(), -'nakanojo' => array(), -'nanmoku' => array(), -'numata' => array(), -'oizumi' => array(), -'ora' => array(), -'ota' => array(), -'shibukawa' => array(), -'shimonita' => array(), -'shinto' => array(), -'showa' => array(), -'takasaki' => array(), -'takayama' => array(), -'tamamura' => array(), -'tatebayashi' => array(), -'tomioka' => array(), -'tsukiyono' => array(), -'tsumagoi' => array(), -'ueno' => array(), -'yoshioka' => array()), -'hiroshima' => array('asaminami' => array(), -'daiwa' => array(), -'etajima' => array(), -'fuchu' => array(), -'fukuyama' => array(), -'hatsukaichi' => array(), -'higashihiroshima' => array(), -'hongo' => array(), -'jinsekikogen' => array(), -'kaita' => array(), -'kui' => array(), -'kumano' => array(), -'kure' => array(), -'mihara' => array(), -'miyoshi' => array(), -'naka' => array(), -'onomichi' => array(), -'osakikamijima' => array(), -'otake' => array(), -'saka' => array(), -'sera' => array(), -'seranishi' => array(), -'shinichi' => array(), -'shobara' => array(), -'takehara' => array()), -'hokkaido' => array('abashiri' => array(), -'abira' => array(), -'aibetsu' => array(), -'akabira' => array(), -'akkeshi' => array(), -'asahikawa' => array(), -'ashibetsu' => array(), -'ashoro' => array(), -'assabu' => array(), -'atsuma' => array(), -'bibai' => array(), -'biei' => array(), -'bifuka' => array(), -'bihoro' => array(), -'biratori' => array(), -'chippubetsu' => array(), -'chitose' => array(), -'date' => array(), -'ebetsu' => array(), -'embetsu' => array(), -'eniwa' => array(), -'erimo' => array(), -'esan' => array(), -'esashi' => array(), -'fukagawa' => array(), -'fukushima' => array(), -'furano' => array(), -'furubira' => array(), -'haboro' => array(), -'hakodate' => array(), -'hamatonbetsu' => array(), -'hidaka' => array(), -'higashikagura' => array(), -'higashikawa' => array(), -'hiroo' => array(), -'hokuryu' => array(), -'hokuto' => array(), -'honbetsu' => array(), -'horokanai' => array(), -'horonobe' => array(), -'ikeda' => array(), -'imakane' => array(), -'ishikari' => array(), -'iwamizawa' => array(), -'iwanai' => array(), -'kamifurano' => array(), -'kamikawa' => array(), -'kamishihoro' => array(), -'kamisunagawa' => array(), -'kamoenai' => array(), -'kayabe' => array(), -'kembuchi' => array(), -'kikonai' => array(), -'kimobetsu' => array(), -'kitahiroshima' => array(), -'kitami' => array(), -'kiyosato' => array(), -'koshimizu' => array(), -'kunneppu' => array(), -'kuriyama' => array(), -'kuromatsunai' => array(), -'kushiro' => array(), -'kutchan' => array(), -'kyowa' => array(), -'mashike' => array(), -'matsumae' => array(), -'mikasa' => array(), -'minamifurano' => array(), -'mombetsu' => array(), -'moseushi' => array(), -'mukawa' => array(), -'muroran' => array(), -'naie' => array(), -'nakagawa' => array(), -'nakasatsunai' => array(), -'nakatombetsu' => array(), -'nanae' => array(), -'nanporo' => array(), -'nayoro' => array(), -'nemuro' => array(), -'niikappu' => array(), -'niki' => array(), -'nishiokoppe' => array(), -'noboribetsu' => array(), -'numata' => array(), -'obihiro' => array(), -'obira' => array(), -'oketo' => array(), -'okoppe' => array(), -'otaru' => array(), -'otobe' => array(), -'otofuke' => array(), -'otoineppu' => array(), -'oumu' => array(), -'ozora' => array(), -'pippu' => array(), -'rankoshi' => array(), -'rebun' => array(), -'rikubetsu' => array(), -'rishiri' => array(), -'rishirifuji' => array(), -'saroma' => array(), -'sarufutsu' => array(), -'shakotan' => array(), -'shari' => array(), -'shibecha' => array(), -'shibetsu' => array(), -'shikabe' => array(), -'shikaoi' => array(), -'shimamaki' => array(), -'shimizu' => array(), -'shimokawa' => array(), -'shinshinotsu' => array(), -'shintoku' => array(), -'shiranuka' => array(), -'shiraoi' => array(), -'shiriuchi' => array(), -'sobetsu' => array(), -'sunagawa' => array(), -'taiki' => array(), -'takasu' => array(), -'takikawa' => array(), -'takinoue' => array(), -'teshikaga' => array(), -'tobetsu' => array(), -'tohma' => array(), -'tomakomai' => array(), -'tomari' => array(), -'toya' => array(), -'toyako' => array(), -'toyotomi' => array(), -'toyoura' => array(), -'tsubetsu' => array(), -'tsukigata' => array(), -'urakawa' => array(), -'urausu' => array(), -'uryu' => array(), -'utashinai' => array(), -'wakkanai' => array(), -'wassamu' => array(), -'yakumo' => array(), -'yoichi' => array()), -'hyogo' => array('aioi' => array(), -'akashi' => array(), -'ako' => array(), -'amagasaki' => array(), -'aogaki' => array(), -'asago' => array(), -'ashiya' => array(), -'awaji' => array(), -'fukusaki' => array(), -'goshiki' => array(), -'harima' => array(), -'himeji' => array(), -'ichikawa' => array(), -'inagawa' => array(), -'itami' => array(), -'kakogawa' => array(), -'kamigori' => array(), -'kamikawa' => array(), -'kasai' => array(), -'kasuga' => array(), -'kawanishi' => array(), -'miki' => array(), -'minamiawaji' => array(), -'nishinomiya' => array(), -'nishiwaki' => array(), -'ono' => array(), -'sanda' => array(), -'sannan' => array(), -'sasayama' => array(), -'sayo' => array(), -'shingu' => array(), -'shinonsen' => array(), -'shiso' => array(), -'sumoto' => array(), -'taishi' => array(), -'taka' => array(), -'takarazuka' => array(), -'takasago' => array(), -'takino' => array(), -'tamba' => array(), -'tatsuno' => array(), -'toyooka' => array(), -'yabu' => array(), -'yashiro' => array(), -'yoka' => array(), -'yokawa' => array()), -'ibaraki' => array('ami' => array(), -'asahi' => array(), -'bando' => array(), -'chikusei' => array(), -'daigo' => array(), -'fujishiro' => array(), -'hitachi' => array(), -'hitachinaka' => array(), -'hitachiomiya' => array(), -'hitachiota' => array(), -'ibaraki' => array(), -'ina' => array(), -'inashiki' => array(), -'itako' => array(), -'iwama' => array(), -'joso' => array(), -'kamisu' => array(), -'kasama' => array(), -'kashima' => array(), -'kasumigaura' => array(), -'koga' => array(), -'miho' => array(), -'mito' => array(), -'moriya' => array(), -'naka' => array(), -'namegata' => array(), -'oarai' => array(), -'ogawa' => array(), -'omitama' => array(), -'ryugasaki' => array(), -'sakai' => array(), -'sakuragawa' => array(), -'shimodate' => array(), -'shimotsuma' => array(), -'shirosato' => array(), -'sowa' => array(), -'suifu' => array(), -'takahagi' => array(), -'tamatsukuri' => array(), -'tokai' => array(), -'tomobe' => array(), -'tone' => array(), -'toride' => array(), -'tsuchiura' => array(), -'tsukuba' => array(), -'uchihara' => array(), -'ushiku' => array(), -'yachiyo' => array(), -'yamagata' => array(), -'yawara' => array(), -'yuki' => array()), -'ishikawa' => array('anamizu' => array(), -'hakui' => array(), -'hakusan' => array(), -'kaga' => array(), -'kahoku' => array(), -'kanazawa' => array(), -'kawakita' => array(), -'komatsu' => array(), -'nakanoto' => array(), -'nanao' => array(), -'nomi' => array(), -'nonoichi' => array(), -'noto' => array(), -'shika' => array(), -'suzu' => array(), -'tsubata' => array(), -'tsurugi' => array(), -'uchinada' => array(), -'wajima' => array()), -'iwate' => array('fudai' => array(), -'fujisawa' => array(), -'hanamaki' => array(), -'hiraizumi' => array(), -'hirono' => array(), -'ichinohe' => array(), -'ichinoseki' => array(), -'iwaizumi' => array(), -'iwate' => array(), -'joboji' => array(), -'kamaishi' => array(), -'kanegasaki' => array(), -'karumai' => array(), -'kawai' => array(), -'kitakami' => array(), -'kuji' => array(), -'kunohe' => array(), -'kuzumaki' => array(), -'miyako' => array(), -'mizusawa' => array(), -'morioka' => array(), -'ninohe' => array(), -'noda' => array(), -'ofunato' => array(), -'oshu' => array(), -'otsuchi' => array(), -'rikuzentakata' => array(), -'shiwa' => array(), -'shizukuishi' => array(), -'sumita' => array(), -'tanohata' => array(), -'tono' => array(), -'yahaba' => array(), -'yamada' => array()), -'kagawa' => array('ayagawa' => array(), -'higashikagawa' => array(), -'kanonji' => array(), -'kotohira' => array(), -'manno' => array(), -'marugame' => array(), -'mitoyo' => array(), -'naoshima' => array(), -'sanuki' => array(), -'tadotsu' => array(), -'takamatsu' => array(), -'tonosho' => array(), -'uchinomi' => array(), -'utazu' => array(), -'zentsuji' => array()), -'kagoshima' => array('akune' => array(), -'amami' => array(), -'hioki' => array(), -'isa' => array(), -'isen' => array(), -'izumi' => array(), -'kagoshima' => array(), -'kanoya' => array(), -'kawanabe' => array(), -'kinko' => array(), -'kouyama' => array(), -'makurazaki' => array(), -'matsumoto' => array(), -'minamitane' => array(), -'nakatane' => array(), -'nishinoomote' => array(), -'satsumasendai' => array(), -'soo' => array(), -'tarumizu' => array(), -'yusui' => array()), -'kanagawa' => array('aikawa' => array(), -'atsugi' => array(), -'ayase' => array(), -'chigasaki' => array(), -'ebina' => array(), -'fujisawa' => array(), -'hadano' => array(), -'hakone' => array(), -'hiratsuka' => array(), -'isehara' => array(), -'kaisei' => array(), -'kamakura' => array(), -'kiyokawa' => array(), -'matsuda' => array(), -'minamiashigara' => array(), -'miura' => array(), -'nakai' => array(), -'ninomiya' => array(), -'odawara' => array(), -'oi' => array(), -'oiso' => array(), -'sagamihara' => array(), -'samukawa' => array(), -'tsukui' => array(), -'yamakita' => array(), -'yamato' => array(), -'yokosuka' => array(), -'yugawara' => array(), -'zama' => array(), -'zushi' => array()), -'kochi' => array('aki' => array(), -'geisei' => array(), -'hidaka' => array(), -'higashitsuno' => array(), -'ino' => array(), -'kagami' => array(), -'kami' => array(), -'kitagawa' => array(), -'kochi' => array(), -'mihara' => array(), -'motoyama' => array(), -'muroto' => array(), -'nahari' => array(), -'nakamura' => array(), -'nankoku' => array(), -'nishitosa' => array(), -'niyodogawa' => array(), -'ochi' => array(), -'okawa' => array(), -'otoyo' => array(), -'otsuki' => array(), -'sakawa' => array(), -'sukumo' => array(), -'susaki' => array(), -'tosa' => array(), -'tosashimizu' => array(), -'toyo' => array(), -'tsuno' => array(), -'umaji' => array(), -'yasuda' => array(), -'yusuhara' => array()), -'kumamoto' => array('amakusa' => array(), -'arao' => array(), -'aso' => array(), -'choyo' => array(), -'gyokuto' => array(), -'hitoyoshi' => array(), -'kamiamakusa' => array(), -'kashima' => array(), -'kikuchi' => array(), -'kosa' => array(), -'kumamoto' => array(), -'mashiki' => array(), -'mifune' => array(), -'minamata' => array(), -'minamioguni' => array(), -'nagasu' => array(), -'nishihara' => array(), -'oguni' => array(), -'ozu' => array(), -'sumoto' => array(), -'takamori' => array(), -'uki' => array(), -'uto' => array(), -'yamaga' => array(), -'yamato' => array(), -'yatsushiro' => array()), -'kyoto' => array('ayabe' => array(), -'fukuchiyama' => array(), -'higashiyama' => array(), -'ide' => array(), -'ine' => array(), -'joyo' => array(), -'kameoka' => array(), -'kamo' => array(), -'kita' => array(), -'kizu' => array(), -'kumiyama' => array(), -'kyotamba' => array(), -'kyotanabe' => array(), -'kyotango' => array(), -'maizuru' => array(), -'minami' => array(), -'minamiyamashiro' => array(), -'miyazu' => array(), -'muko' => array(), -'nagaokakyo' => array(), -'nakagyo' => array(), -'nantan' => array(), -'oyamazaki' => array(), -'sakyo' => array(), -'seika' => array(), -'tanabe' => array(), -'uji' => array(), -'ujitawara' => array(), -'wazuka' => array(), -'yamashina' => array(), -'yawata' => array()), -'mie' => array('asahi' => array(), -'inabe' => array(), -'ise' => array(), -'kameyama' => array(), -'kawagoe' => array(), -'kiho' => array(), -'kisosaki' => array(), -'kiwa' => array(), -'komono' => array(), -'kumano' => array(), -'kuwana' => array(), -'matsusaka' => array(), -'meiwa' => array(), -'mihama' => array(), -'minamiise' => array(), -'misugi' => array(), -'miyama' => array(), -'nabari' => array(), -'shima' => array(), -'suzuka' => array(), -'tado' => array(), -'taiki' => array(), -'taki' => array(), -'tamaki' => array(), -'toba' => array(), -'tsu' => array(), -'udono' => array(), -'ureshino' => array(), -'watarai' => array(), -'yokkaichi' => array()), -'miyagi' => array('furukawa' => array(), -'higashimatsushima' => array(), -'ishinomaki' => array(), -'iwanuma' => array(), -'kakuda' => array(), -'kami' => array(), -'kawasaki' => array(), -'kesennuma' => array(), -'marumori' => array(), -'matsushima' => array(), -'minamisanriku' => array(), -'misato' => array(), -'murata' => array(), -'natori' => array(), -'ogawara' => array(), -'ohira' => array(), -'onagawa' => array(), -'osaki' => array(), -'rifu' => array(), -'semine' => array(), -'shibata' => array(), -'shichikashuku' => array(), -'shikama' => array(), -'shiogama' => array(), -'shiroishi' => array(), -'tagajo' => array(), -'taiwa' => array(), -'tome' => array(), -'tomiya' => array(), -'wakuya' => array(), -'watari' => array(), -'yamamoto' => array(), -'zao' => array()), -'miyazaki' => array('aya' => array(), -'ebino' => array(), -'gokase' => array(), -'hyuga' => array(), -'kadogawa' => array(), -'kawaminami' => array(), -'kijo' => array(), -'kitagawa' => array(), -'kitakata' => array(), -'kitaura' => array(), -'kobayashi' => array(), -'kunitomi' => array(), -'kushima' => array(), -'mimata' => array(), -'miyakonojo' => array(), -'miyazaki' => array(), -'morotsuka' => array(), -'nichinan' => array(), -'nishimera' => array(), -'nobeoka' => array(), -'saito' => array(), -'shiiba' => array(), -'shintomi' => array(), -'takaharu' => array(), -'takanabe' => array(), -'takazaki' => array(), -'tsuno' => array()), -'nagano' => array('achi' => array(), -'agematsu' => array(), -'anan' => array(), -'aoki' => array(), -'asahi' => array(), -'azumino' => array(), -'chikuhoku' => array(), -'chikuma' => array(), -'chino' => array(), -'fujimi' => array(), -'hakuba' => array(), -'hara' => array(), -'hiraya' => array(), -'iida' => array(), -'iijima' => array(), -'iiyama' => array(), -'iizuna' => array(), -'ikeda' => array(), -'ikusaka' => array(), -'ina' => array(), -'karuizawa' => array(), -'kawakami' => array(), -'kiso' => array(), -'kisofukushima' => array(), -'kitaaiki' => array(), -'komagane' => array(), -'komoro' => array(), -'matsukawa' => array(), -'matsumoto' => array(), -'miasa' => array(), -'minamiaiki' => array(), -'minamimaki' => array(), -'minamiminowa' => array(), -'minowa' => array(), -'miyada' => array(), -'miyota' => array(), -'mochizuki' => array(), -'nagano' => array(), -'nagawa' => array(), -'nagiso' => array(), -'nakagawa' => array(), -'nakano' => array(), -'nozawaonsen' => array(), -'obuse' => array(), -'ogawa' => array(), -'okaya' => array(), -'omachi' => array(), -'omi' => array(), -'ookuwa' => array(), -'ooshika' => array(), -'otaki' => array(), -'otari' => array(), -'sakae' => array(), -'sakaki' => array(), -'saku' => array(), -'sakuho' => array(), -'shimosuwa' => array(), -'shinanomachi' => array(), -'shiojiri' => array(), -'suwa' => array(), -'suzaka' => array(), -'takagi' => array(), -'takamori' => array(), -'takayama' => array(), -'tateshina' => array(), -'tatsuno' => array(), -'togakushi' => array(), -'togura' => array(), -'tomi' => array(), -'ueda' => array(), -'wada' => array(), -'yamagata' => array(), -'yamanouchi' => array(), -'yasaka' => array(), -'yasuoka' => array()), -'nagasaki' => array('chijiwa' => array(), -'futsu' => array(), -'goto' => array(), -'hasami' => array(), -'hirado' => array(), -'iki' => array(), -'isahaya' => array(), -'kawatana' => array(), -'kuchinotsu' => array(), -'matsuura' => array(), -'nagasaki' => array(), -'obama' => array(), -'omura' => array(), -'oseto' => array(), -'saikai' => array(), -'sasebo' => array(), -'seihi' => array(), -'shimabara' => array(), -'shinkamigoto' => array(), -'togitsu' => array(), -'tsushima' => array(), -'unzen' => array()), -'nara' => array('ando' => array(), -'gose' => array(), -'heguri' => array(), -'higashiyoshino' => array(), -'ikaruga' => array(), -'ikoma' => array(), -'kamikitayama' => array(), -'kanmaki' => array(), -'kashiba' => array(), -'kashihara' => array(), -'katsuragi' => array(), -'kawai' => array(), -'kawakami' => array(), -'kawanishi' => array(), -'koryo' => array(), -'kurotaki' => array(), -'mitsue' => array(), -'miyake' => array(), -'nara' => array(), -'nosegawa' => array(), -'oji' => array(), -'ouda' => array(), -'oyodo' => array(), -'sakurai' => array(), -'sango' => array(), -'shimoichi' => array(), -'shimokitayama' => array(), -'shinjo' => array(), -'soni' => array(), -'takatori' => array(), -'tawaramoto' => array(), -'tenkawa' => array(), -'tenri' => array(), -'uda' => array(), -'yamatokoriyama' => array(), -'yamatotakada' => array(), -'yamazoe' => array(), -'yoshino' => array()), -'niigata' => array('aga' => array(), -'agano' => array(), -'gosen' => array(), -'itoigawa' => array(), -'izumozaki' => array(), -'joetsu' => array(), -'kamo' => array(), -'kariwa' => array(), -'kashiwazaki' => array(), -'minamiuonuma' => array(), -'mitsuke' => array(), -'muika' => array(), -'murakami' => array(), -'myoko' => array(), -'nagaoka' => array(), -'niigata' => array(), -'ojiya' => array(), -'omi' => array(), -'sado' => array(), -'sanjo' => array(), -'seiro' => array(), -'seirou' => array(), -'sekikawa' => array(), -'shibata' => array(), -'tagami' => array(), -'tainai' => array(), -'tochio' => array(), -'tokamachi' => array(), -'tsubame' => array(), -'tsunan' => array(), -'uonuma' => array(), -'yahiko' => array(), -'yoita' => array(), -'yuzawa' => array()), -'oita' => array('beppu' => array(), -'bungoono' => array(), -'bungotakada' => array(), -'hasama' => array(), -'hiji' => array(), -'himeshima' => array(), -'hita' => array(), -'kamitsue' => array(), -'kokonoe' => array(), -'kuju' => array(), -'kunisaki' => array(), -'kusu' => array(), -'oita' => array(), -'saiki' => array(), -'taketa' => array(), -'tsukumi' => array(), -'usa' => array(), -'usuki' => array(), -'yufu' => array()), -'okayama' => array('akaiwa' => array(), -'asakuchi' => array(), -'bizen' => array(), -'hayashima' => array(), -'ibara' => array(), -'kagamino' => array(), -'kasaoka' => array(), -'kibichuo' => array(), -'kumenan' => array(), -'kurashiki' => array(), -'maniwa' => array(), -'misaki' => array(), -'nagi' => array(), -'niimi' => array(), -'nishiawakura' => array(), -'okayama' => array(), -'satosho' => array(), -'setouchi' => array(), -'shinjo' => array(), -'shoo' => array(), -'soja' => array(), -'takahashi' => array(), -'tamano' => array(), -'tsuyama' => array(), -'wake' => array(), -'yakage' => array()), -'okinawa' => array('aguni' => array(), -'ginowan' => array(), -'ginoza' => array(), -'gushikami' => array(), -'haebaru' => array(), -'higashi' => array(), -'hirara' => array(), -'iheya' => array(), -'ishigaki' => array(), -'ishikawa' => array(), -'itoman' => array(), -'izena' => array(), -'kadena' => array(), -'kin' => array(), -'kitadaito' => array(), -'kitanakagusuku' => array(), -'kumejima' => array(), -'kunigami' => array(), -'minamidaito' => array(), -'motobu' => array(), -'nago' => array(), -'naha' => array(), -'nakagusuku' => array(), -'nakijin' => array(), -'nanjo' => array(), -'nishihara' => array(), -'ogimi' => array(), -'okinawa' => array(), -'onna' => array(), -'shimoji' => array(), -'taketomi' => array(), -'tarama' => array(), -'tokashiki' => array(), -'tomigusuku' => array(), -'tonaki' => array(), -'urasoe' => array(), -'uruma' => array(), -'yaese' => array(), -'yomitan' => array(), -'yonabaru' => array(), -'yonaguni' => array(), -'zamami' => array()), -'osaka' => array('abeno' => array(), -'chihayaakasaka' => array(), -'chuo' => array(), -'daito' => array(), -'fujiidera' => array(), -'habikino' => array(), -'hannan' => array(), -'higashiosaka' => array(), -'higashisumiyoshi' => array(), -'higashiyodogawa' => array(), -'hirakata' => array(), -'ibaraki' => array(), -'ikeda' => array(), -'izumi' => array(), -'izumiotsu' => array(), -'izumisano' => array(), -'kadoma' => array(), -'kaizuka' => array(), -'kanan' => array(), -'kashiwara' => array(), -'katano' => array(), -'kawachinagano' => array(), -'kishiwada' => array(), -'kita' => array(), -'kumatori' => array(), -'matsubara' => array(), -'minato' => array(), -'minoh' => array(), -'misaki' => array(), -'moriguchi' => array(), -'neyagawa' => array(), -'nishi' => array(), -'nose' => array(), -'osakasayama' => array(), -'sakai' => array(), -'sayama' => array(), -'sennan' => array(), -'settsu' => array(), -'shijonawate' => array(), -'shimamoto' => array(), -'suita' => array(), -'tadaoka' => array(), -'taishi' => array(), -'tajiri' => array(), -'takaishi' => array(), -'takatsuki' => array(), -'tondabayashi' => array(), -'toyonaka' => array(), -'toyono' => array(), -'yao' => array()), -'saga' => array('ariake' => array(), -'arita' => array(), -'fukudomi' => array(), -'genkai' => array(), -'hamatama' => array(), -'hizen' => array(), -'imari' => array(), -'kamimine' => array(), -'kanzaki' => array(), -'karatsu' => array(), -'kashima' => array(), -'kitagata' => array(), -'kitahata' => array(), -'kiyama' => array(), -'kouhoku' => array(), -'kyuragi' => array(), -'nishiarita' => array(), -'ogi' => array(), -'omachi' => array(), -'ouchi' => array(), -'saga' => array(), -'shiroishi' => array(), -'taku' => array(), -'tara' => array(), -'tosu' => array(), -'yoshinogari' => array()), -'saitama' => array('arakawa' => array(), -'asaka' => array(), -'chichibu' => array(), -'fujimi' => array(), -'fujimino' => array(), -'fukaya' => array(), -'hanno' => array(), -'hanyu' => array(), -'hasuda' => array(), -'hatogaya' => array(), -'hatoyama' => array(), -'hidaka' => array(), -'higashichichibu' => array(), -'higashimatsuyama' => array(), -'honjo' => array(), -'ina' => array(), -'iruma' => array(), -'iwatsuki' => array(), -'kamiizumi' => array(), -'kamikawa' => array(), -'kamisato' => array(), -'kasukabe' => array(), -'kawagoe' => array(), -'kawaguchi' => array(), -'kawajima' => array(), -'kazo' => array(), -'kitamoto' => array(), -'koshigaya' => array(), -'kounosu' => array(), -'kuki' => array(), -'kumagaya' => array(), -'matsubushi' => array(), -'minano' => array(), -'misato' => array(), -'miyashiro' => array(), -'miyoshi' => array(), -'moroyama' => array(), -'nagatoro' => array(), -'namegawa' => array(), -'niiza' => array(), -'ogano' => array(), -'ogawa' => array(), -'ogose' => array(), -'okegawa' => array(), -'omiya' => array(), -'otaki' => array(), -'ranzan' => array(), -'ryokami' => array(), -'saitama' => array(), -'sakado' => array(), -'satte' => array(), -'sayama' => array(), -'shiki' => array(), -'shiraoka' => array(), -'soka' => array(), -'sugito' => array(), -'toda' => array(), -'tokigawa' => array(), -'tokorozawa' => array(), -'tsurugashima' => array(), -'urawa' => array(), -'warabi' => array(), -'yashio' => array(), -'yokoze' => array(), -'yono' => array(), -'yorii' => array(), -'yoshida' => array(), -'yoshikawa' => array(), -'yoshimi' => array()), -'shiga' => array('aisho' => array(), -'gamo' => array(), -'higashiomi' => array(), -'hikone' => array(), -'koka' => array(), -'konan' => array(), -'kosei' => array(), -'koto' => array(), -'kusatsu' => array(), -'maibara' => array(), -'moriyama' => array(), -'nagahama' => array(), -'nishiazai' => array(), -'notogawa' => array(), -'omihachiman' => array(), -'otsu' => array(), -'ritto' => array(), -'ryuoh' => array(), -'takashima' => array(), -'takatsuki' => array(), -'torahime' => array(), -'toyosato' => array(), -'yasu' => array()), -'shimane' => array('akagi' => array(), -'ama' => array(), -'gotsu' => array(), -'hamada' => array(), -'higashiizumo' => array(), -'hikawa' => array(), -'hikimi' => array(), -'izumo' => array(), -'kakinoki' => array(), -'masuda' => array(), -'matsue' => array(), -'misato' => array(), -'nishinoshima' => array(), -'ohda' => array(), -'okinoshima' => array(), -'okuizumo' => array(), -'shimane' => array(), -'tamayu' => array(), -'tsuwano' => array(), -'unnan' => array(), -'yakumo' => array(), -'yasugi' => array(), -'yatsuka' => array()), -'shizuoka' => array('arai' => array(), -'atami' => array(), -'fuji' => array(), -'fujieda' => array(), -'fujikawa' => array(), -'fujinomiya' => array(), -'fukuroi' => array(), -'gotemba' => array(), -'haibara' => array(), -'hamamatsu' => array(), -'higashiizu' => array(), -'ito' => array(), -'iwata' => array(), -'izu' => array(), -'izunokuni' => array(), -'kakegawa' => array(), -'kannami' => array(), -'kawanehon' => array(), -'kawazu' => array(), -'kikugawa' => array(), -'kosai' => array(), -'makinohara' => array(), -'matsuzaki' => array(), -'minamiizu' => array(), -'mishima' => array(), -'morimachi' => array(), -'nishiizu' => array(), -'numazu' => array(), -'omaezaki' => array(), -'shimada' => array(), -'shimizu' => array(), -'shimoda' => array(), -'shizuoka' => array(), -'susono' => array(), -'yaizu' => array(), -'yoshida' => array()), -'tochigi' => array('ashikaga' => array(), -'bato' => array(), -'haga' => array(), -'ichikai' => array(), -'iwafune' => array(), -'kaminokawa' => array(), -'kanuma' => array(), -'karasuyama' => array(), -'kuroiso' => array(), -'mashiko' => array(), -'mibu' => array(), -'moka' => array(), -'motegi' => array(), -'nasu' => array(), -'nasushiobara' => array(), -'nikko' => array(), -'nishikata' => array(), -'nogi' => array(), -'ohira' => array(), -'ohtawara' => array(), -'oyama' => array(), -'sakura' => array(), -'sano' => array(), -'shimotsuke' => array(), -'shioya' => array(), -'takanezawa' => array(), -'tochigi' => array(), -'tsuga' => array(), -'ujiie' => array(), -'utsunomiya' => array(), -'yaita' => array()), -'tokushima' => array('aizumi' => array(), -'anan' => array(), -'ichiba' => array(), -'itano' => array(), -'kainan' => array(), -'komatsushima' => array(), -'matsushige' => array(), -'mima' => array(), -'minami' => array(), -'miyoshi' => array(), -'mugi' => array(), -'nakagawa' => array(), -'naruto' => array(), -'sanagochi' => array(), -'shishikui' => array(), -'tokushima' => array(), -'wajiki' => array()), -'tokyo' => array('adachi' => array(), -'akiruno' => array(), -'akishima' => array(), -'aogashima' => array(), -'arakawa' => array(), -'bunkyo' => array(), -'chiyoda' => array(), -'chofu' => array(), -'chuo' => array(), -'edogawa' => array(), -'fuchu' => array(), -'fussa' => array(), -'hachijo' => array(), -'hachioji' => array(), -'hamura' => array(), -'higashikurume' => array(), -'higashimurayama' => array(), -'higashiyamato' => array(), -'hino' => array(), -'hinode' => array(), -'hinohara' => array(), -'inagi' => array(), -'itabashi' => array(), -'katsushika' => array(), -'kita' => array(), -'kiyose' => array(), -'kodaira' => array(), -'koganei' => array(), -'kokubunji' => array(), -'komae' => array(), -'koto' => array(), -'kouzushima' => array(), -'kunitachi' => array(), -'machida' => array(), -'meguro' => array(), -'minato' => array(), -'mitaka' => array(), -'mizuho' => array(), -'musashimurayama' => array(), -'musashino' => array(), -'nakano' => array(), -'nerima' => array(), -'ogasawara' => array(), -'okutama' => array(), -'ome' => array(), -'oshima' => array(), -'ota' => array(), -'setagaya' => array(), -'shibuya' => array(), -'shinagawa' => array(), -'shinjuku' => array(), -'suginami' => array(), -'sumida' => array(), -'tachikawa' => array(), -'taito' => array(), -'tama' => array(), -'toshima' => array()), -'tottori' => array('chizu' => array(), -'hino' => array(), -'kawahara' => array(), -'koge' => array(), -'kotoura' => array(), -'misasa' => array(), -'nanbu' => array(), -'nichinan' => array(), -'sakaiminato' => array(), -'tottori' => array(), -'wakasa' => array(), -'yazu' => array(), -'yonago' => array()), -'toyama' => array('asahi' => array(), -'fuchu' => array(), -'fukumitsu' => array(), -'funahashi' => array(), -'himi' => array(), -'imizu' => array(), -'inami' => array(), -'johana' => array(), -'kamiichi' => array(), -'kurobe' => array(), -'nakaniikawa' => array(), -'namerikawa' => array(), -'nanto' => array(), -'nyuzen' => array(), -'oyabe' => array(), -'taira' => array(), -'takaoka' => array(), -'tateyama' => array(), -'toga' => array(), -'tonami' => array(), -'toyama' => array(), -'unazuki' => array(), -'uozu' => array(), -'yamada' => array()), -'wakayama' => array('arida' => array(), -'aridagawa' => array(), -'gobo' => array(), -'hashimoto' => array(), -'hidaka' => array(), -'hirogawa' => array(), -'inami' => array(), -'iwade' => array(), -'kainan' => array(), -'kamitonda' => array(), -'katsuragi' => array(), -'kimino' => array(), -'kinokawa' => array(), -'kitayama' => array(), -'koya' => array(), -'koza' => array(), -'kozagawa' => array(), -'kudoyama' => array(), -'kushimoto' => array(), -'mihama' => array(), -'misato' => array(), -'nachikatsuura' => array(), -'shingu' => array(), -'shirahama' => array(), -'taiji' => array(), -'tanabe' => array(), -'wakayama' => array(), -'yuasa' => array(), -'yura' => array()), -'yamagata' => array('asahi' => array(), -'funagata' => array(), -'higashine' => array(), -'iide' => array(), -'kahoku' => array(), -'kaminoyama' => array(), -'kaneyama' => array(), -'kawanishi' => array(), -'mamurogawa' => array(), -'mikawa' => array(), -'murayama' => array(), -'nagai' => array(), -'nakayama' => array(), -'nanyo' => array(), -'nishikawa' => array(), -'obanazawa' => array(), -'oe' => array(), -'oguni' => array(), -'ohkura' => array(), -'oishida' => array(), -'sagae' => array(), -'sakata' => array(), -'sakegawa' => array(), -'shinjo' => array(), -'shirataka' => array(), -'shonai' => array(), -'takahata' => array(), -'tendo' => array(), -'tozawa' => array(), -'tsuruoka' => array(), -'yamagata' => array(), -'yamanobe' => array(), -'yonezawa' => array(), -'yuza' => array()), -'yamaguchi' => array('abu' => array(), -'hagi' => array(), -'hikari' => array(), -'hofu' => array(), -'iwakuni' => array(), -'kudamatsu' => array(), -'mitou' => array(), -'nagato' => array(), -'oshima' => array(), -'shimonoseki' => array(), -'shunan' => array(), -'tabuse' => array(), -'tokuyama' => array(), -'toyota' => array(), -'ube' => array(), -'yuu' => array()), -'yamanashi' => array('chuo' => array(), -'doshi' => array(), -'fuefuki' => array(), -'fujikawa' => array(), -'fujikawaguchiko' => array(), -'fujiyoshida' => array(), -'hayakawa' => array(), -'hokuto' => array(), -'ichikawamisato' => array(), -'kai' => array(), -'kofu' => array(), -'koshu' => array(), -'kosuge' => array(), -'minami-alps' => array(), -'minobu' => array(), -'nakamichi' => array(), -'nanbu' => array(), -'narusawa' => array(), -'nirasaki' => array(), -'nishikatsura' => array(), -'oshino' => array(), -'otsuki' => array(), -'showa' => array(), -'tabayama' => array(), -'tsuru' => array(), -'uenohara' => array(), -'yamanakako' => array(), -'yamanashi' => array()), -'kawasaki' => array('*' => array(), -'city' => array('!' => '')), -'kitakyushu' => array('*' => array(), -'city' => array('!' => '')), -'kobe' => array('*' => array(), -'city' => array('!' => '')), -'nagoya' => array('*' => array(), -'city' => array('!' => '')), -'sapporo' => array('*' => array(), -'city' => array('!' => '')), -'sendai' => array('*' => array(), -'city' => array('!' => '')), -'yokohama' => array('*' => array(), -'city' => array('!' => '')), -'blogspot' => array()), -'ke' => array('*' => array()), -'kg' => array('org' => array(), -'net' => array(), -'com' => array(), -'edu' => array(), -'gov' => array(), -'mil' => array()), -'kh' => array('*' => array()), -'ki' => array('edu' => array(), -'biz' => array(), -'net' => array(), -'org' => array(), -'gov' => array(), -'info' => array(), -'com' => array()), -'km' => array('org' => array(), -'nom' => array(), -'gov' => array(), -'prd' => array(), -'tm' => array(), -'edu' => array(), -'mil' => array(), -'ass' => array(), -'com' => array(), -'coop' => array(), -'asso' => array(), -'presse' => array(), -'medecin' => array(), -'notaires' => array(), -'pharmaciens' => array(), -'veterinaire' => array(), -'gouv' => array()), -'kn' => array('net' => array(), -'org' => array(), -'edu' => array(), -'gov' => array()), -'kp' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'org' => array(), -'rep' => array(), -'tra' => array()), -'kr' => array('ac' => array(), -'co' => array(), -'es' => array(), -'go' => array(), -'hs' => array(), -'kg' => array(), -'mil' => array(), -'ms' => array(), -'ne' => array(), -'or' => array(), -'pe' => array(), -'re' => array(), -'sc' => array(), -'busan' => array(), -'chungbuk' => array(), -'chungnam' => array(), -'daegu' => array(), -'daejeon' => array(), -'gangwon' => array(), -'gwangju' => array(), -'gyeongbuk' => array(), -'gyeonggi' => array(), -'gyeongnam' => array(), -'incheon' => array(), -'jeju' => array(), -'jeonbuk' => array(), -'jeonnam' => array(), -'seoul' => array(), -'ulsan' => array(), -'blogspot' => array()), -'kw' => array('*' => array()), -'ky' => array('edu' => array(), -'gov' => array(), -'com' => array(), -'org' => array(), -'net' => array()), -'kz' => array('org' => array(), -'edu' => array(), -'net' => array(), -'gov' => array(), -'mil' => array(), -'com' => array()), -'la' => array('int' => array(), -'net' => array(), -'info' => array(), -'edu' => array(), -'gov' => array(), -'per' => array(), -'com' => array(), -'org' => array(), -'c' => array()), -'lb' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'net' => array(), -'org' => array()), -'lc' => array('com' => array(), -'net' => array(), -'co' => array(), -'org' => array(), -'edu' => array(), -'gov' => array()), -'li' => array(), -'lk' => array('gov' => array(), -'sch' => array(), -'net' => array(), -'int' => array(), -'com' => array(), -'org' => array(), -'edu' => array(), -'ngo' => array(), -'soc' => array(), -'web' => array(), -'ltd' => array(), -'assn' => array(), -'grp' => array(), -'hotel' => array()), -'lr' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'org' => array(), -'net' => array()), -'ls' => array('co' => array(), -'org' => array()), -'lt' => array('gov' => array()), -'lu' => array(), -'lv' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'org' => array(), -'mil' => array(), -'id' => array(), -'net' => array(), -'asn' => array(), -'conf' => array()), -'ly' => array('com' => array(), -'net' => array(), -'gov' => array(), -'plc' => array(), -'edu' => array(), -'sch' => array(), -'med' => array(), -'org' => array(), -'id' => array()), -'ma' => array('co' => array(), -'net' => array(), -'gov' => array(), -'org' => array(), -'ac' => array(), -'press' => array()), -'mc' => array('tm' => array(), -'asso' => array()), -'md' => array(), -'me' => array('co' => array(), -'net' => array(), -'org' => array(), -'edu' => array(), -'ac' => array(), -'gov' => array(), -'its' => array(), -'priv' => array()), -'mg' => array('org' => array(), -'nom' => array(), -'gov' => array(), -'prd' => array(), -'tm' => array(), -'edu' => array(), -'mil' => array(), -'com' => array()), -'mh' => array(), -'mil' => array(), -'mk' => array('com' => array(), -'org' => array(), -'net' => array(), -'edu' => array(), -'gov' => array(), -'inf' => array(), -'name' => array()), -'ml' => array('com' => array(), -'edu' => array(), -'gouv' => array(), -'gov' => array(), -'net' => array(), -'org' => array(), -'presse' => array()), -'mm' => array('*' => array()), -'mn' => array('gov' => array(), -'edu' => array(), -'org' => array(), -'nyc' => array()), -'mo' => array('com' => array(), -'net' => array(), -'org' => array(), -'edu' => array(), -'gov' => array()), -'mobi' => array(), -'mp' => array(), -'mq' => array(), -'mr' => array('gov' => array(), -'blogspot' => array()), -'ms' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'net' => array(), -'org' => array()), -'mt' => array('com' => array(), -'edu' => array(), -'net' => array(), -'org' => array()), -'mu' => array('com' => array(), -'net' => array(), -'org' => array(), -'gov' => array(), -'ac' => array(), -'co' => array(), -'or' => array()), -'museum' => array('academy' => array(), -'agriculture' => array(), -'air' => array(), -'airguard' => array(), -'alabama' => array(), -'alaska' => array(), -'amber' => array(), -'ambulance' => array(), -'american' => array(), -'americana' => array(), -'americanantiques' => array(), -'americanart' => array(), -'amsterdam' => array(), -'and' => array(), -'annefrank' => array(), -'anthro' => array(), -'anthropology' => array(), -'antiques' => array(), -'aquarium' => array(), -'arboretum' => array(), -'archaeological' => array(), -'archaeology' => array(), -'architecture' => array(), -'art' => array(), -'artanddesign' => array(), -'artcenter' => array(), -'artdeco' => array(), -'arteducation' => array(), -'artgallery' => array(), -'arts' => array(), -'artsandcrafts' => array(), -'asmatart' => array(), -'assassination' => array(), -'assisi' => array(), -'association' => array(), -'astronomy' => array(), -'atlanta' => array(), -'austin' => array(), -'australia' => array(), -'automotive' => array(), -'aviation' => array(), -'axis' => array(), -'badajoz' => array(), -'baghdad' => array(), -'bahn' => array(), -'bale' => array(), -'baltimore' => array(), -'barcelona' => array(), -'baseball' => array(), -'basel' => array(), -'baths' => array(), -'bauern' => array(), -'beauxarts' => array(), -'beeldengeluid' => array(), -'bellevue' => array(), -'bergbau' => array(), -'berkeley' => array(), -'berlin' => array(), -'bern' => array(), -'bible' => array(), -'bilbao' => array(), -'bill' => array(), -'birdart' => array(), -'birthplace' => array(), -'bonn' => array(), -'boston' => array(), -'botanical' => array(), -'botanicalgarden' => array(), -'botanicgarden' => array(), -'botany' => array(), -'brandywinevalley' => array(), -'brasil' => array(), -'bristol' => array(), -'british' => array(), -'britishcolumbia' => array(), -'broadcast' => array(), -'brunel' => array(), -'brussel' => array(), -'brussels' => array(), -'bruxelles' => array(), -'building' => array(), -'burghof' => array(), -'bus' => array(), -'bushey' => array(), -'cadaques' => array(), -'california' => array(), -'cambridge' => array(), -'can' => array(), -'canada' => array(), -'capebreton' => array(), -'carrier' => array(), -'cartoonart' => array(), -'casadelamoneda' => array(), -'castle' => array(), -'castres' => array(), -'celtic' => array(), -'center' => array(), -'chattanooga' => array(), -'cheltenham' => array(), -'chesapeakebay' => array(), -'chicago' => array(), -'children' => array(), -'childrens' => array(), -'childrensgarden' => array(), -'chiropractic' => array(), -'chocolate' => array(), -'christiansburg' => array(), -'cincinnati' => array(), -'cinema' => array(), -'circus' => array(), -'civilisation' => array(), -'civilization' => array(), -'civilwar' => array(), -'clinton' => array(), -'clock' => array(), -'coal' => array(), -'coastaldefence' => array(), -'cody' => array(), -'coldwar' => array(), -'collection' => array(), -'colonialwilliamsburg' => array(), -'coloradoplateau' => array(), -'columbia' => array(), -'columbus' => array(), -'communication' => array(), -'communications' => array(), -'community' => array(), -'computer' => array(), -'computerhistory' => array(), -'comunicações' => array(), -'contemporary' => array(), -'contemporaryart' => array(), -'convent' => array(), -'copenhagen' => array(), -'corporation' => array(), -'correios-e-telecomunicações' => array(), -'corvette' => array(), -'costume' => array(), -'countryestate' => array(), -'county' => array(), -'crafts' => array(), -'cranbrook' => array(), -'creation' => array(), -'cultural' => array(), -'culturalcenter' => array(), -'culture' => array(), -'cyber' => array(), -'cymru' => array(), -'dali' => array(), -'dallas' => array(), -'database' => array(), -'ddr' => array(), -'decorativearts' => array(), -'delaware' => array(), -'delmenhorst' => array(), -'denmark' => array(), -'depot' => array(), -'design' => array(), -'detroit' => array(), -'dinosaur' => array(), -'discovery' => array(), -'dolls' => array(), -'donostia' => array(), -'durham' => array(), -'eastafrica' => array(), -'eastcoast' => array(), -'education' => array(), -'educational' => array(), -'egyptian' => array(), -'eisenbahn' => array(), -'elburg' => array(), -'elvendrell' => array(), -'embroidery' => array(), -'encyclopedic' => array(), -'england' => array(), -'entomology' => array(), -'environment' => array(), -'environmentalconservation' => array(), -'epilepsy' => array(), -'essex' => array(), -'estate' => array(), -'ethnology' => array(), -'exeter' => array(), -'exhibition' => array(), -'family' => array(), -'farm' => array(), -'farmequipment' => array(), -'farmers' => array(), -'farmstead' => array(), -'field' => array(), -'figueres' => array(), -'filatelia' => array(), -'film' => array(), -'fineart' => array(), -'finearts' => array(), -'finland' => array(), -'flanders' => array(), -'florida' => array(), -'force' => array(), -'fortmissoula' => array(), -'fortworth' => array(), -'foundation' => array(), -'francaise' => array(), -'frankfurt' => array(), -'franziskaner' => array(), -'freemasonry' => array(), -'freiburg' => array(), -'fribourg' => array(), -'frog' => array(), -'fundacio' => array(), -'furniture' => array(), -'gallery' => array(), -'garden' => array(), -'gateway' => array(), -'geelvinck' => array(), -'gemological' => array(), -'geology' => array(), -'georgia' => array(), -'giessen' => array(), -'glas' => array(), -'glass' => array(), -'gorge' => array(), -'grandrapids' => array(), -'graz' => array(), -'guernsey' => array(), -'halloffame' => array(), -'hamburg' => array(), -'handson' => array(), -'harvestcelebration' => array(), -'hawaii' => array(), -'health' => array(), -'heimatunduhren' => array(), -'hellas' => array(), -'helsinki' => array(), -'hembygdsforbund' => array(), -'heritage' => array(), -'histoire' => array(), -'historical' => array(), -'historicalsociety' => array(), -'historichouses' => array(), -'historisch' => array(), -'historisches' => array(), -'history' => array(), -'historyofscience' => array(), -'horology' => array(), -'house' => array(), -'humanities' => array(), -'illustration' => array(), -'imageandsound' => array(), -'indian' => array(), -'indiana' => array(), -'indianapolis' => array(), -'indianmarket' => array(), -'intelligence' => array(), -'interactive' => array(), -'iraq' => array(), -'iron' => array(), -'isleofman' => array(), -'jamison' => array(), -'jefferson' => array(), -'jerusalem' => array(), -'jewelry' => array(), -'jewish' => array(), -'jewishart' => array(), -'jfk' => array(), -'journalism' => array(), -'judaica' => array(), -'judygarland' => array(), -'juedisches' => array(), -'juif' => array(), -'karate' => array(), -'karikatur' => array(), -'kids' => array(), -'koebenhavn' => array(), -'koeln' => array(), -'kunst' => array(), -'kunstsammlung' => array(), -'kunstunddesign' => array(), -'labor' => array(), -'labour' => array(), -'lajolla' => array(), -'lancashire' => array(), -'landes' => array(), -'lans' => array(), -'läns' => array(), -'larsson' => array(), -'lewismiller' => array(), -'lincoln' => array(), -'linz' => array(), -'living' => array(), -'livinghistory' => array(), -'localhistory' => array(), -'london' => array(), -'losangeles' => array(), -'louvre' => array(), -'loyalist' => array(), -'lucerne' => array(), -'luxembourg' => array(), -'luzern' => array(), -'mad' => array(), -'madrid' => array(), -'mallorca' => array(), -'manchester' => array(), -'mansion' => array(), -'mansions' => array(), -'manx' => array(), -'marburg' => array(), -'maritime' => array(), -'maritimo' => array(), -'maryland' => array(), -'marylhurst' => array(), -'media' => array(), -'medical' => array(), -'medizinhistorisches' => array(), -'meeres' => array(), -'memorial' => array(), -'mesaverde' => array(), -'michigan' => array(), -'midatlantic' => array(), -'military' => array(), -'mill' => array(), -'miners' => array(), -'mining' => array(), -'minnesota' => array(), -'missile' => array(), -'missoula' => array(), -'modern' => array(), -'moma' => array(), -'money' => array(), -'monmouth' => array(), -'monticello' => array(), -'montreal' => array(), -'moscow' => array(), -'motorcycle' => array(), -'muenchen' => array(), -'muenster' => array(), -'mulhouse' => array(), -'muncie' => array(), -'museet' => array(), -'museumcenter' => array(), -'museumvereniging' => array(), -'music' => array(), -'national' => array(), -'nationalfirearms' => array(), -'nationalheritage' => array(), -'nativeamerican' => array(), -'naturalhistory' => array(), -'naturalhistorymuseum' => array(), -'naturalsciences' => array(), -'nature' => array(), -'naturhistorisches' => array(), -'natuurwetenschappen' => array(), -'naumburg' => array(), -'naval' => array(), -'nebraska' => array(), -'neues' => array(), -'newhampshire' => array(), -'newjersey' => array(), -'newmexico' => array(), -'newport' => array(), -'newspaper' => array(), -'newyork' => array(), -'niepce' => array(), -'norfolk' => array(), -'north' => array(), -'nrw' => array(), -'nuernberg' => array(), -'nuremberg' => array(), -'nyc' => array(), -'nyny' => array(), -'oceanographic' => array(), -'oceanographique' => array(), -'omaha' => array(), -'online' => array(), -'ontario' => array(), -'openair' => array(), -'oregon' => array(), -'oregontrail' => array(), -'otago' => array(), -'oxford' => array(), -'pacific' => array(), -'paderborn' => array(), -'palace' => array(), -'paleo' => array(), -'palmsprings' => array(), -'panama' => array(), -'paris' => array(), -'pasadena' => array(), -'pharmacy' => array(), -'philadelphia' => array(), -'philadelphiaarea' => array(), -'philately' => array(), -'phoenix' => array(), -'photography' => array(), -'pilots' => array(), -'pittsburgh' => array(), -'planetarium' => array(), -'plantation' => array(), -'plants' => array(), -'plaza' => array(), -'portal' => array(), -'portland' => array(), -'portlligat' => array(), -'posts-and-telecommunications' => array(), -'preservation' => array(), -'presidio' => array(), -'press' => array(), -'project' => array(), -'public' => array(), -'pubol' => array(), -'quebec' => array(), -'railroad' => array(), -'railway' => array(), -'research' => array(), -'resistance' => array(), -'riodejaneiro' => array(), -'rochester' => array(), -'rockart' => array(), -'roma' => array(), -'russia' => array(), -'saintlouis' => array(), -'salem' => array(), -'salvadordali' => array(), -'salzburg' => array(), -'sandiego' => array(), -'sanfrancisco' => array(), -'santabarbara' => array(), -'santacruz' => array(), -'santafe' => array(), -'saskatchewan' => array(), -'satx' => array(), -'savannahga' => array(), -'schlesisches' => array(), -'schoenbrunn' => array(), -'schokoladen' => array(), -'school' => array(), -'schweiz' => array(), -'science' => array(), -'scienceandhistory' => array(), -'scienceandindustry' => array(), -'sciencecenter' => array(), -'sciencecenters' => array(), -'science-fiction' => array(), -'sciencehistory' => array(), -'sciences' => array(), -'sciencesnaturelles' => array(), -'scotland' => array(), -'seaport' => array(), -'settlement' => array(), -'settlers' => array(), -'shell' => array(), -'sherbrooke' => array(), -'sibenik' => array(), -'silk' => array(), -'ski' => array(), -'skole' => array(), -'society' => array(), -'sologne' => array(), -'soundandvision' => array(), -'southcarolina' => array(), -'southwest' => array(), -'space' => array(), -'spy' => array(), -'square' => array(), -'stadt' => array(), -'stalbans' => array(), -'starnberg' => array(), -'state' => array(), -'stateofdelaware' => array(), -'station' => array(), -'steam' => array(), -'steiermark' => array(), -'stjohn' => array(), -'stockholm' => array(), -'stpetersburg' => array(), -'stuttgart' => array(), -'suisse' => array(), -'surgeonshall' => array(), -'surrey' => array(), -'svizzera' => array(), -'sweden' => array(), -'sydney' => array(), -'tank' => array(), -'tcm' => array(), -'technology' => array(), -'telekommunikation' => array(), -'television' => array(), -'texas' => array(), -'textile' => array(), -'theater' => array(), -'time' => array(), -'timekeeping' => array(), -'topology' => array(), -'torino' => array(), -'touch' => array(), -'town' => array(), -'transport' => array(), -'tree' => array(), -'trolley' => array(), -'trust' => array(), -'trustee' => array(), -'uhren' => array(), -'ulm' => array(), -'undersea' => array(), -'university' => array(), -'usa' => array(), -'usantiques' => array(), -'usarts' => array(), -'uscountryestate' => array(), -'usculture' => array(), -'usdecorativearts' => array(), -'usgarden' => array(), -'ushistory' => array(), -'ushuaia' => array(), -'uslivinghistory' => array(), -'utah' => array(), -'uvic' => array(), -'valley' => array(), -'vantaa' => array(), -'versailles' => array(), -'viking' => array(), -'village' => array(), -'virginia' => array(), -'virtual' => array(), -'virtuel' => array(), -'vlaanderen' => array(), -'volkenkunde' => array(), -'wales' => array(), -'wallonie' => array(), -'war' => array(), -'washingtondc' => array(), -'watchandclock' => array(), -'watch-and-clock' => array(), -'western' => array(), -'westfalen' => array(), -'whaling' => array(), -'wildlife' => array(), -'williamsburg' => array(), -'windmill' => array(), -'workshop' => array(), -'york' => array(), -'yorkshire' => array(), -'yosemite' => array(), -'youth' => array(), -'zoological' => array(), -'zoology' => array(), -'ירושלים' => array(), -'иком' => array()), -'mv' => array('aero' => array(), -'biz' => array(), -'com' => array(), -'coop' => array(), -'edu' => array(), -'gov' => array(), -'info' => array(), -'int' => array(), -'mil' => array(), -'museum' => array(), -'name' => array(), -'net' => array(), -'org' => array(), -'pro' => array()), -'mw' => array('ac' => array(), -'biz' => array(), -'co' => array(), -'com' => array(), -'coop' => array(), -'edu' => array(), -'gov' => array(), -'int' => array(), -'museum' => array(), -'net' => array(), -'org' => array()), -'mx' => array('com' => array(), -'org' => array(), -'gob' => array(), -'edu' => array(), -'net' => array(), -'blogspot' => array()), -'my' => array('com' => array(), -'net' => array(), -'org' => array(), -'gov' => array(), -'edu' => array(), -'mil' => array(), -'name' => array()), -'mz' => array('*' => array(), -'teledata' => array('!' => '')), -'na' => array('info' => array(), -'pro' => array(), -'name' => array(), -'school' => array(), -'or' => array(), -'dr' => array(), -'us' => array(), -'mx' => array(), -'ca' => array(), -'in' => array(), -'cc' => array(), -'tv' => array(), -'ws' => array(), -'mobi' => array(), -'co' => array(), -'com' => array(), -'org' => array()), -'name' => array('her' => array('forgot' => array()), -'his' => array('forgot' => array())), -'nc' => array('asso' => array()), -'ne' => array(), -'net' => array('cloudfront' => array(), -'gb' => array(), -'hu' => array(), -'jp' => array(), -'se' => array(), -'uk' => array(), -'in' => array(), -'at-band-camp' => array(), -'blogdns' => array(), -'broke-it' => array(), -'buyshouses' => array(), -'dnsalias' => array(), -'dnsdojo' => array(), -'does-it' => array(), -'dontexist' => array(), -'dynalias' => array(), -'dynathome' => array(), -'endofinternet' => array(), -'from-az' => array(), -'from-co' => array(), -'from-la' => array(), -'from-ny' => array(), -'gets-it' => array(), -'ham-radio-op' => array(), -'homeftp' => array(), -'homeip' => array(), -'homelinux' => array(), -'homeunix' => array(), -'in-the-band' => array(), -'is-a-chef' => array(), -'is-a-geek' => array(), -'isa-geek' => array(), -'kicks-ass' => array(), -'office-on-the' => array(), -'podzone' => array(), -'scrapper-site' => array(), -'selfip' => array(), -'sells-it' => array(), -'servebbs' => array(), -'serveftp' => array(), -'thruhere' => array(), -'webhop' => array(), -'fastly' => array('ssl' => array('a' => array(), -'b' => array(), -'global' => array()), -'prod' => array('a' => array(), -'global' => array())), -'azurewebsites' => array(), -'azure-mobile' => array(), -'cloudapp' => array(), -'za' => array()), -'nf' => array('com' => array(), -'net' => array(), -'per' => array(), -'rec' => array(), -'web' => array(), -'arts' => array(), -'firm' => array(), -'info' => array(), -'other' => array(), -'store' => array()), -'ng' => array('com' => array(), -'edu' => array(), -'name' => array(), -'net' => array(), -'org' => array(), -'sch' => array(), -'gov' => array(), -'mil' => array(), -'mobi' => array()), -'ni' => array('*' => array()), -'nl' => array('bv' => array(), -'co' => array(), -'blogspot' => array()), -'no' => array('fhs' => array(), -'vgs' => array(), -'fylkesbibl' => array(), -'folkebibl' => array(), -'museum' => array(), -'idrett' => array(), -'priv' => array(), -'mil' => array(), -'stat' => array(), -'dep' => array(), -'kommune' => array(), -'herad' => array(), -'aa' => array('gs' => array()), -'ah' => array('gs' => array()), -'bu' => array('gs' => array()), -'fm' => array('gs' => array()), -'hl' => array('gs' => array()), -'hm' => array('gs' => array()), -'jan-mayen' => array('gs' => array()), -'mr' => array('gs' => array()), -'nl' => array('gs' => array()), -'nt' => array('gs' => array()), -'of' => array('gs' => array()), -'ol' => array('gs' => array()), -'oslo' => array('gs' => array()), -'rl' => array('gs' => array()), -'sf' => array('gs' => array()), -'st' => array('gs' => array()), -'svalbard' => array('gs' => array()), -'tm' => array('gs' => array()), -'tr' => array('gs' => array()), -'va' => array('gs' => array()), -'vf' => array('gs' => array()), -'akrehamn' => array(), -'åkrehamn' => array(), -'algard' => array(), -'ålgård' => array(), -'arna' => array(), -'brumunddal' => array(), -'bryne' => array(), -'bronnoysund' => array(), -'brønnøysund' => array(), -'drobak' => array(), -'drøbak' => array(), -'egersund' => array(), -'fetsund' => array(), -'floro' => array(), -'florø' => array(), -'fredrikstad' => array(), -'hokksund' => array(), -'honefoss' => array(), -'hønefoss' => array(), -'jessheim' => array(), -'jorpeland' => array(), -'jørpeland' => array(), -'kirkenes' => array(), -'kopervik' => array(), -'krokstadelva' => array(), -'langevag' => array(), -'langevåg' => array(), -'leirvik' => array(), -'mjondalen' => array(), -'mjøndalen' => array(), -'mo-i-rana' => array(), -'mosjoen' => array(), -'mosjøen' => array(), -'nesoddtangen' => array(), -'orkanger' => array(), -'osoyro' => array(), -'osøyro' => array(), -'raholt' => array(), -'råholt' => array(), -'sandnessjoen' => array(), -'sandnessjøen' => array(), -'skedsmokorset' => array(), -'slattum' => array(), -'spjelkavik' => array(), -'stathelle' => array(), -'stavern' => array(), -'stjordalshalsen' => array(), -'stjørdalshalsen' => array(), -'tananger' => array(), -'tranby' => array(), -'vossevangen' => array(), -'afjord' => array(), -'åfjord' => array(), -'agdenes' => array(), -'al' => array(), -'ål' => array(), -'alesund' => array(), -'ålesund' => array(), -'alstahaug' => array(), -'alta' => array(), -'áltá' => array(), -'alaheadju' => array(), -'álaheadju' => array(), -'alvdal' => array(), -'amli' => array(), -'åmli' => array(), -'amot' => array(), -'åmot' => array(), -'andebu' => array(), -'andoy' => array(), -'andøy' => array(), -'andasuolo' => array(), -'ardal' => array(), -'årdal' => array(), -'aremark' => array(), -'arendal' => array(), -'ås' => array(), -'aseral' => array(), -'åseral' => array(), -'asker' => array(), -'askim' => array(), -'askvoll' => array(), -'askoy' => array(), -'askøy' => array(), -'asnes' => array(), -'åsnes' => array(), -'audnedaln' => array(), -'aukra' => array(), -'aure' => array(), -'aurland' => array(), -'aurskog-holand' => array(), -'aurskog-høland' => array(), -'austevoll' => array(), -'austrheim' => array(), -'averoy' => array(), -'averøy' => array(), -'balestrand' => array(), -'ballangen' => array(), -'balat' => array(), -'bálát' => array(), -'balsfjord' => array(), -'bahccavuotna' => array(), -'báhccavuotna' => array(), -'bamble' => array(), -'bardu' => array(), -'beardu' => array(), -'beiarn' => array(), -'bajddar' => array(), -'bájddar' => array(), -'baidar' => array(), -'báidár' => array(), -'berg' => array(), -'bergen' => array(), -'berlevag' => array(), -'berlevåg' => array(), -'bearalvahki' => array(), -'bearalváhki' => array(), -'bindal' => array(), -'birkenes' => array(), -'bjarkoy' => array(), -'bjarkøy' => array(), -'bjerkreim' => array(), -'bjugn' => array(), -'bodo' => array(), -'bodø' => array(), -'badaddja' => array(), -'bådåddjå' => array(), -'budejju' => array(), -'bokn' => array(), -'bremanger' => array(), -'bronnoy' => array(), -'brønnøy' => array(), -'bygland' => array(), -'bykle' => array(), -'barum' => array(), -'bærum' => array(), -'telemark' => array('bo' => array(), -'bø' => array()), -'nordland' => array('bo' => array(), -'bø' => array(), -'heroy' => array(), -'herøy' => array()), -'bievat' => array(), -'bievát' => array(), -'bomlo' => array(), -'bømlo' => array(), -'batsfjord' => array(), -'båtsfjord' => array(), -'bahcavuotna' => array(), -'báhcavuotna' => array(), -'dovre' => array(), -'drammen' => array(), -'drangedal' => array(), -'dyroy' => array(), -'dyrøy' => array(), -'donna' => array(), -'dønna' => array(), -'eid' => array(), -'eidfjord' => array(), -'eidsberg' => array(), -'eidskog' => array(), -'eidsvoll' => array(), -'eigersund' => array(), -'elverum' => array(), -'enebakk' => array(), -'engerdal' => array(), -'etne' => array(), -'etnedal' => array(), -'evenes' => array(), -'evenassi' => array(), -'evenášši' => array(), -'evje-og-hornnes' => array(), -'farsund' => array(), -'fauske' => array(), -'fuossko' => array(), -'fuoisku' => array(), -'fedje' => array(), -'fet' => array(), -'finnoy' => array(), -'finnøy' => array(), -'fitjar' => array(), -'fjaler' => array(), -'fjell' => array(), -'flakstad' => array(), -'flatanger' => array(), -'flekkefjord' => array(), -'flesberg' => array(), -'flora' => array(), -'fla' => array(), -'flå' => array(), -'folldal' => array(), -'forsand' => array(), -'fosnes' => array(), -'frei' => array(), -'frogn' => array(), -'froland' => array(), -'frosta' => array(), -'frana' => array(), -'fræna' => array(), -'froya' => array(), -'frøya' => array(), -'fusa' => array(), -'fyresdal' => array(), -'forde' => array(), -'førde' => array(), -'gamvik' => array(), -'gangaviika' => array(), -'gáŋgaviika' => array(), -'gaular' => array(), -'gausdal' => array(), -'gildeskal' => array(), -'gildeskål' => array(), -'giske' => array(), -'gjemnes' => array(), -'gjerdrum' => array(), -'gjerstad' => array(), -'gjesdal' => array(), -'gjovik' => array(), -'gjøvik' => array(), -'gloppen' => array(), -'gol' => array(), -'gran' => array(), -'grane' => array(), -'granvin' => array(), -'gratangen' => array(), -'grimstad' => array(), -'grong' => array(), -'kraanghke' => array(), -'kråanghke' => array(), -'grue' => array(), -'gulen' => array(), -'hadsel' => array(), -'halden' => array(), -'halsa' => array(), -'hamar' => array(), -'hamaroy' => array(), -'habmer' => array(), -'hábmer' => array(), -'hapmir' => array(), -'hápmir' => array(), -'hammerfest' => array(), -'hammarfeasta' => array(), -'hámmárfeasta' => array(), -'haram' => array(), -'hareid' => array(), -'harstad' => array(), -'hasvik' => array(), -'aknoluokta' => array(), -'ákŋoluokta' => array(), -'hattfjelldal' => array(), -'aarborte' => array(), -'haugesund' => array(), -'hemne' => array(), -'hemnes' => array(), -'hemsedal' => array(), -'more-og-romsdal' => array('heroy' => array(), -'sande' => array()), -'møre-og-romsdal' => array('herøy' => array(), -'sande' => array()), -'hitra' => array(), -'hjartdal' => array(), -'hjelmeland' => array(), -'hobol' => array(), -'hobøl' => array(), -'hof' => array(), -'hol' => array(), -'hole' => array(), -'holmestrand' => array(), -'holtalen' => array(), -'holtålen' => array(), -'hornindal' => array(), -'horten' => array(), -'hurdal' => array(), -'hurum' => array(), -'hvaler' => array(), -'hyllestad' => array(), -'hagebostad' => array(), -'hægebostad' => array(), -'hoyanger' => array(), -'høyanger' => array(), -'hoylandet' => array(), -'høylandet' => array(), -'ha' => array(), -'hå' => array(), -'ibestad' => array(), -'inderoy' => array(), -'inderøy' => array(), -'iveland' => array(), -'jevnaker' => array(), -'jondal' => array(), -'jolster' => array(), -'jølster' => array(), -'karasjok' => array(), -'karasjohka' => array(), -'kárášjohka' => array(), -'karlsoy' => array(), -'galsa' => array(), -'gálsá' => array(), -'karmoy' => array(), -'karmøy' => array(), -'kautokeino' => array(), -'guovdageaidnu' => array(), -'klepp' => array(), -'klabu' => array(), -'klæbu' => array(), -'kongsberg' => array(), -'kongsvinger' => array(), -'kragero' => array(), -'kragerø' => array(), -'kristiansand' => array(), -'kristiansund' => array(), -'krodsherad' => array(), -'krødsherad' => array(), -'kvalsund' => array(), -'rahkkeravju' => array(), -'ráhkkerávju' => array(), -'kvam' => array(), -'kvinesdal' => array(), -'kvinnherad' => array(), -'kviteseid' => array(), -'kvitsoy' => array(), -'kvitsøy' => array(), -'kvafjord' => array(), -'kvæfjord' => array(), -'giehtavuoatna' => array(), -'kvanangen' => array(), -'kvænangen' => array(), -'navuotna' => array(), -'návuotna' => array(), -'kafjord' => array(), -'kåfjord' => array(), -'gaivuotna' => array(), -'gáivuotna' => array(), -'larvik' => array(), -'lavangen' => array(), -'lavagis' => array(), -'loabat' => array(), -'loabát' => array(), -'lebesby' => array(), -'davvesiida' => array(), -'leikanger' => array(), -'leirfjord' => array(), -'leka' => array(), -'leksvik' => array(), -'lenvik' => array(), -'leangaviika' => array(), -'leaŋgaviika' => array(), -'lesja' => array(), -'levanger' => array(), -'lier' => array(), -'lierne' => array(), -'lillehammer' => array(), -'lillesand' => array(), -'lindesnes' => array(), -'lindas' => array(), -'lindås' => array(), -'lom' => array(), -'loppa' => array(), -'lahppi' => array(), -'láhppi' => array(), -'lund' => array(), -'lunner' => array(), -'luroy' => array(), -'lurøy' => array(), -'luster' => array(), -'lyngdal' => array(), -'lyngen' => array(), -'ivgu' => array(), -'lardal' => array(), -'lerdal' => array(), -'lærdal' => array(), -'lodingen' => array(), -'lødingen' => array(), -'lorenskog' => array(), -'lørenskog' => array(), -'loten' => array(), -'løten' => array(), -'malvik' => array(), -'masoy' => array(), -'måsøy' => array(), -'muosat' => array(), -'muosát' => array(), -'mandal' => array(), -'marker' => array(), -'marnardal' => array(), -'masfjorden' => array(), -'meland' => array(), -'meldal' => array(), -'melhus' => array(), -'meloy' => array(), -'meløy' => array(), -'meraker' => array(), -'meråker' => array(), -'moareke' => array(), -'moåreke' => array(), -'midsund' => array(), -'midtre-gauldal' => array(), -'modalen' => array(), -'modum' => array(), -'molde' => array(), -'moskenes' => array(), -'moss' => array(), -'mosvik' => array(), -'malselv' => array(), -'målselv' => array(), -'malatvuopmi' => array(), -'málatvuopmi' => array(), -'namdalseid' => array(), -'aejrie' => array(), -'namsos' => array(), -'namsskogan' => array(), -'naamesjevuemie' => array(), -'nååmesjevuemie' => array(), -'laakesvuemie' => array(), -'nannestad' => array(), -'narvik' => array(), -'narviika' => array(), -'naustdal' => array(), -'nedre-eiker' => array(), -'akershus' => array('nes' => array()), -'buskerud' => array('nes' => array()), -'nesna' => array(), -'nesodden' => array(), -'nesseby' => array(), -'unjarga' => array(), -'unjárga' => array(), -'nesset' => array(), -'nissedal' => array(), -'nittedal' => array(), -'nord-aurdal' => array(), -'nord-fron' => array(), -'nord-odal' => array(), -'norddal' => array(), -'nordkapp' => array(), -'davvenjarga' => array(), -'davvenjárga' => array(), -'nordre-land' => array(), -'nordreisa' => array(), -'raisa' => array(), -'ráisa' => array(), -'nore-og-uvdal' => array(), -'notodden' => array(), -'naroy' => array(), -'nærøy' => array(), -'notteroy' => array(), -'nøtterøy' => array(), -'odda' => array(), -'oksnes' => array(), -'øksnes' => array(), -'oppdal' => array(), -'oppegard' => array(), -'oppegård' => array(), -'orkdal' => array(), -'orland' => array(), -'ørland' => array(), -'orskog' => array(), -'ørskog' => array(), -'orsta' => array(), -'ørsta' => array(), -'hedmark' => array('os' => array(), -'valer' => array(), -'våler' => array()), -'hordaland' => array('os' => array()), -'osen' => array(), -'osteroy' => array(), -'osterøy' => array(), -'ostre-toten' => array(), -'østre-toten' => array(), -'overhalla' => array(), -'ovre-eiker' => array(), -'øvre-eiker' => array(), -'oyer' => array(), -'øyer' => array(), -'oygarden' => array(), -'øygarden' => array(), -'oystre-slidre' => array(), -'øystre-slidre' => array(), -'porsanger' => array(), -'porsangu' => array(), -'porsáŋgu' => array(), -'porsgrunn' => array(), -'radoy' => array(), -'radøy' => array(), -'rakkestad' => array(), -'rana' => array(), -'ruovat' => array(), -'randaberg' => array(), -'rauma' => array(), -'rendalen' => array(), -'rennebu' => array(), -'rennesoy' => array(), -'rennesøy' => array(), -'rindal' => array(), -'ringebu' => array(), -'ringerike' => array(), -'ringsaker' => array(), -'rissa' => array(), -'risor' => array(), -'risør' => array(), -'roan' => array(), -'rollag' => array(), -'rygge' => array(), -'ralingen' => array(), -'rælingen' => array(), -'rodoy' => array(), -'rødøy' => array(), -'romskog' => array(), -'rømskog' => array(), -'roros' => array(), -'røros' => array(), -'rost' => array(), -'røst' => array(), -'royken' => array(), -'røyken' => array(), -'royrvik' => array(), -'røyrvik' => array(), -'rade' => array(), -'råde' => array(), -'salangen' => array(), -'siellak' => array(), -'saltdal' => array(), -'salat' => array(), -'sálát' => array(), -'sálat' => array(), -'samnanger' => array(), -'vestfold' => array('sande' => array()), -'sandefjord' => array(), -'sandnes' => array(), -'sandoy' => array(), -'sandøy' => array(), -'sarpsborg' => array(), -'sauda' => array(), -'sauherad' => array(), -'sel' => array(), -'selbu' => array(), -'selje' => array(), -'seljord' => array(), -'sigdal' => array(), -'siljan' => array(), -'sirdal' => array(), -'skaun' => array(), -'skedsmo' => array(), -'ski' => array(), -'skien' => array(), -'skiptvet' => array(), -'skjervoy' => array(), -'skjervøy' => array(), -'skierva' => array(), -'skiervá' => array(), -'skjak' => array(), -'skjåk' => array(), -'skodje' => array(), -'skanland' => array(), -'skånland' => array(), -'skanit' => array(), -'skánit' => array(), -'smola' => array(), -'smøla' => array(), -'snillfjord' => array(), -'snasa' => array(), -'snåsa' => array(), -'snoasa' => array(), -'snaase' => array(), -'snåase' => array(), -'sogndal' => array(), -'sokndal' => array(), -'sola' => array(), -'solund' => array(), -'songdalen' => array(), -'sortland' => array(), -'spydeberg' => array(), -'stange' => array(), -'stavanger' => array(), -'steigen' => array(), -'steinkjer' => array(), -'stjordal' => array(), -'stjørdal' => array(), -'stokke' => array(), -'stor-elvdal' => array(), -'stord' => array(), -'stordal' => array(), -'storfjord' => array(), -'omasvuotna' => array(), -'strand' => array(), -'stranda' => array(), -'stryn' => array(), -'sula' => array(), -'suldal' => array(), -'sund' => array(), -'sunndal' => array(), -'surnadal' => array(), -'sveio' => array(), -'svelvik' => array(), -'sykkylven' => array(), -'sogne' => array(), -'søgne' => array(), -'somna' => array(), -'sømna' => array(), -'sondre-land' => array(), -'søndre-land' => array(), -'sor-aurdal' => array(), -'sør-aurdal' => array(), -'sor-fron' => array(), -'sør-fron' => array(), -'sor-odal' => array(), -'sør-odal' => array(), -'sor-varanger' => array(), -'sør-varanger' => array(), -'matta-varjjat' => array(), -'mátta-várjjat' => array(), -'sorfold' => array(), -'sørfold' => array(), -'sorreisa' => array(), -'sørreisa' => array(), -'sorum' => array(), -'sørum' => array(), -'tana' => array(), -'deatnu' => array(), -'time' => array(), -'tingvoll' => array(), -'tinn' => array(), -'tjeldsund' => array(), -'dielddanuorri' => array(), -'tjome' => array(), -'tjøme' => array(), -'tokke' => array(), -'tolga' => array(), -'torsken' => array(), -'tranoy' => array(), -'tranøy' => array(), -'tromso' => array(), -'tromsø' => array(), -'tromsa' => array(), -'romsa' => array(), -'trondheim' => array(), -'troandin' => array(), -'trysil' => array(), -'trana' => array(), -'træna' => array(), -'trogstad' => array(), -'trøgstad' => array(), -'tvedestrand' => array(), -'tydal' => array(), -'tynset' => array(), -'tysfjord' => array(), -'divtasvuodna' => array(), -'divttasvuotna' => array(), -'tysnes' => array(), -'tysvar' => array(), -'tysvær' => array(), -'tonsberg' => array(), -'tønsberg' => array(), -'ullensaker' => array(), -'ullensvang' => array(), -'ulvik' => array(), -'utsira' => array(), -'vadso' => array(), -'vadsø' => array(), -'cahcesuolo' => array(), -'čáhcesuolo' => array(), -'vaksdal' => array(), -'valle' => array(), -'vang' => array(), -'vanylven' => array(), -'vardo' => array(), -'vardø' => array(), -'varggat' => array(), -'várggát' => array(), -'vefsn' => array(), -'vaapste' => array(), -'vega' => array(), -'vegarshei' => array(), -'vegårshei' => array(), -'vennesla' => array(), -'verdal' => array(), -'verran' => array(), -'vestby' => array(), -'vestnes' => array(), -'vestre-slidre' => array(), -'vestre-toten' => array(), -'vestvagoy' => array(), -'vestvågøy' => array(), -'vevelstad' => array(), -'vik' => array(), -'vikna' => array(), -'vindafjord' => array(), -'volda' => array(), -'voss' => array(), -'varoy' => array(), -'værøy' => array(), -'vagan' => array(), -'vågan' => array(), -'voagat' => array(), -'vagsoy' => array(), -'vågsøy' => array(), -'vaga' => array(), -'vågå' => array(), -'ostfold' => array('valer' => array()), -'østfold' => array('våler' => array()), -'co' => array(), -'blogspot' => array()), -'np' => array('*' => array()), -'nr' => array('biz' => array(), -'info' => array(), -'gov' => array(), -'edu' => array(), -'org' => array(), -'net' => array(), -'com' => array()), -'nu' => array('merseine' => array(), -'mine' => array(), -'shacknet' => array()), -'nz' => array('ac' => array(), -'co' => array('blogspot' => array()), -'cri' => array(), -'geek' => array(), -'gen' => array(), -'govt' => array(), -'health' => array(), -'iwi' => array(), -'kiwi' => array(), -'maori' => array(), -'mil' => array(), -'māori' => array(), -'net' => array(), -'org' => array(), -'parliament' => array(), -'school' => array()), -'om' => array('co' => array(), -'com' => array(), -'edu' => array(), -'gov' => array(), -'med' => array(), -'museum' => array(), -'net' => array(), -'org' => array(), -'pro' => array()), -'org' => array('ae' => array(), -'us' => array(), -'dyndns' => array('go' => array(), -'home' => array()), -'blogdns' => array(), -'blogsite' => array(), -'boldlygoingnowhere' => array(), -'dnsalias' => array(), -'dnsdojo' => array(), -'doesntexist' => array(), -'dontexist' => array(), -'doomdns' => array(), -'dvrdns' => array(), -'dynalias' => array(), -'endofinternet' => array(), -'endoftheinternet' => array(), -'from-me' => array(), -'game-host' => array(), -'gotdns' => array(), -'hobby-site' => array(), -'homedns' => array(), -'homeftp' => array(), -'homelinux' => array(), -'homeunix' => array(), -'is-a-bruinsfan' => array(), -'is-a-candidate' => array(), -'is-a-celticsfan' => array(), -'is-a-chef' => array(), -'is-a-geek' => array(), -'is-a-knight' => array(), -'is-a-linux-user' => array(), -'is-a-patsfan' => array(), -'is-a-soxfan' => array(), -'is-found' => array(), -'is-lost' => array(), -'is-saved' => array(), -'is-very-bad' => array(), -'is-very-evil' => array(), -'is-very-good' => array(), -'is-very-nice' => array(), -'is-very-sweet' => array(), -'isa-geek' => array(), -'kicks-ass' => array(), -'misconfused' => array(), -'podzone' => array(), -'readmyblog' => array(), -'selfip' => array(), -'sellsyourhome' => array(), -'servebbs' => array(), -'serveftp' => array(), -'servegame' => array(), -'stuff-4-sale' => array(), -'webhop' => array(), -'za' => array()), -'pa' => array('ac' => array(), -'gob' => array(), -'com' => array(), -'org' => array(), -'sld' => array(), -'edu' => array(), -'net' => array(), -'ing' => array(), -'abo' => array(), -'med' => array(), -'nom' => array()), -'pe' => array('edu' => array(), -'gob' => array(), -'nom' => array(), -'mil' => array(), -'org' => array(), -'com' => array(), -'net' => array()), -'pf' => array('com' => array(), -'org' => array(), -'edu' => array()), -'pg' => array('*' => array()), -'ph' => array('com' => array(), -'net' => array(), -'org' => array(), -'gov' => array(), -'edu' => array(), -'ngo' => array(), -'mil' => array(), -'i' => array()), -'pk' => array('com' => array(), -'net' => array(), -'edu' => array(), -'org' => array(), -'fam' => array(), -'biz' => array(), -'web' => array(), -'gov' => array(), -'gob' => array(), -'gok' => array(), -'gon' => array(), -'gop' => array(), -'gos' => array(), -'info' => array()), -'pl' => array('aid' => array(), -'agro' => array(), -'atm' => array(), -'auto' => array(), -'biz' => array(), -'com' => array(), -'edu' => array(), -'gmina' => array(), -'gsm' => array(), -'info' => array(), -'mail' => array(), -'miasta' => array(), -'media' => array(), -'mil' => array(), -'net' => array(), -'nieruchomosci' => array(), -'nom' => array(), -'org' => array(), -'pc' => array(), -'powiat' => array(), -'priv' => array(), -'realestate' => array(), -'rel' => array(), -'sex' => array(), -'shop' => array(), -'sklep' => array(), -'sos' => array(), -'szkola' => array(), -'targi' => array(), -'tm' => array(), -'tourism' => array(), -'travel' => array(), -'turystyka' => array(), -'6bone' => array(), -'art' => array(), -'mbone' => array(), -'gov' => array('uw' => array(), -'um' => array(), -'ug' => array(), -'upow' => array(), -'starostwo' => array(), -'so' => array(), -'sr' => array(), -'po' => array(), -'pa' => array()), -'ngo' => array(), -'irc' => array(), -'usenet' => array(), -'augustow' => array(), -'babia-gora' => array(), -'bedzin' => array(), -'beskidy' => array(), -'bialowieza' => array(), -'bialystok' => array(), -'bielawa' => array(), -'bieszczady' => array(), -'boleslawiec' => array(), -'bydgoszcz' => array(), -'bytom' => array(), -'cieszyn' => array(), -'czeladz' => array(), -'czest' => array(), -'dlugoleka' => array(), -'elblag' => array(), -'elk' => array(), -'glogow' => array(), -'gniezno' => array(), -'gorlice' => array(), -'grajewo' => array(), -'ilawa' => array(), -'jaworzno' => array(), -'jelenia-gora' => array(), -'jgora' => array(), -'kalisz' => array(), -'kazimierz-dolny' => array(), -'karpacz' => array(), -'kartuzy' => array(), -'kaszuby' => array(), -'katowice' => array(), -'kepno' => array(), -'ketrzyn' => array(), -'klodzko' => array(), -'kobierzyce' => array(), -'kolobrzeg' => array(), -'konin' => array(), -'konskowola' => array(), -'kutno' => array(), -'lapy' => array(), -'lebork' => array(), -'legnica' => array(), -'lezajsk' => array(), -'limanowa' => array(), -'lomza' => array(), -'lowicz' => array(), -'lubin' => array(), -'lukow' => array(), -'malbork' => array(), -'malopolska' => array(), -'mazowsze' => array(), -'mazury' => array(), -'mielec' => array(), -'mielno' => array(), -'mragowo' => array(), -'naklo' => array(), -'nowaruda' => array(), -'nysa' => array(), -'olawa' => array(), -'olecko' => array(), -'olkusz' => array(), -'olsztyn' => array(), -'opoczno' => array(), -'opole' => array(), -'ostroda' => array(), -'ostroleka' => array(), -'ostrowiec' => array(), -'ostrowwlkp' => array(), -'pila' => array(), -'pisz' => array(), -'podhale' => array(), -'podlasie' => array(), -'polkowice' => array(), -'pomorze' => array(), -'pomorskie' => array(), -'prochowice' => array(), -'pruszkow' => array(), -'przeworsk' => array(), -'pulawy' => array(), -'radom' => array(), -'rawa-maz' => array(), -'rybnik' => array(), -'rzeszow' => array(), -'sanok' => array(), -'sejny' => array(), -'siedlce' => array(), -'slask' => array(), -'slupsk' => array(), -'sosnowiec' => array(), -'stalowa-wola' => array(), -'skoczow' => array(), -'starachowice' => array(), -'stargard' => array(), -'suwalki' => array(), -'swidnica' => array(), -'swiebodzin' => array(), -'swinoujscie' => array(), -'szczecin' => array(), -'szczytno' => array(), -'tarnobrzeg' => array(), -'tgory' => array(), -'turek' => array(), -'tychy' => array(), -'ustka' => array(), -'walbrzych' => array(), -'warmia' => array(), -'warszawa' => array(), -'waw' => array(), -'wegrow' => array(), -'wielun' => array(), -'wlocl' => array(), -'wloclawek' => array(), -'wodzislaw' => array(), -'wolomin' => array(), -'wroclaw' => array(), -'zachpomor' => array(), -'zagan' => array(), -'zarow' => array(), -'zgora' => array(), -'zgorzelec' => array(), -'gda' => array(), -'gdansk' => array(), -'gdynia' => array(), -'med' => array(), -'sopot' => array(), -'gliwice' => array(), -'krakow' => array(), -'poznan' => array(), -'wroc' => array(), -'zakopane' => array(), -'co' => array()), -'pm' => array(), -'pn' => array('gov' => array(), -'co' => array(), -'org' => array(), -'edu' => array(), -'net' => array()), -'post' => array(), -'pr' => array('com' => array(), -'net' => array(), -'org' => array(), -'gov' => array(), -'edu' => array(), -'isla' => array(), -'pro' => array(), -'biz' => array(), -'info' => array(), -'name' => array(), -'est' => array(), -'prof' => array(), -'ac' => array()), -'pro' => array('aca' => array(), -'bar' => array(), -'cpa' => array(), -'jur' => array(), -'law' => array(), -'med' => array(), -'eng' => array()), -'ps' => array('edu' => array(), -'gov' => array(), -'sec' => array(), -'plo' => array(), -'com' => array(), -'org' => array(), -'net' => array()), -'pt' => array('net' => array(), -'gov' => array(), -'org' => array(), -'edu' => array(), -'int' => array(), -'publ' => array(), -'com' => array(), -'nome' => array(), -'blogspot' => array()), -'pw' => array('co' => array(), -'ne' => array(), -'or' => array(), -'ed' => array(), -'go' => array(), -'belau' => array()), -'py' => array('com' => array(), -'coop' => array(), -'edu' => array(), -'gov' => array(), -'mil' => array(), -'net' => array(), -'org' => array()), -'qa' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'mil' => array(), -'name' => array(), -'net' => array(), -'org' => array(), -'sch' => array()), -'re' => array('com' => array(), -'asso' => array(), -'nom' => array(), -'blogspot' => array()), -'ro' => array('com' => array(), -'org' => array(), -'tm' => array(), -'nt' => array(), -'nom' => array(), -'info' => array(), -'rec' => array(), -'arts' => array(), -'firm' => array(), -'store' => array(), -'www' => array(), -'blogspot' => array()), -'rs' => array('co' => array(), -'org' => array(), -'edu' => array(), -'ac' => array(), -'gov' => array(), -'in' => array()), -'ru' => array('ac' => array(), -'com' => array(), -'edu' => array(), -'int' => array(), -'net' => array(), -'org' => array(), -'pp' => array(), -'adygeya' => array(), -'altai' => array(), -'amur' => array(), -'arkhangelsk' => array(), -'astrakhan' => array(), -'bashkiria' => array(), -'belgorod' => array(), -'bir' => array(), -'bryansk' => array(), -'buryatia' => array(), -'cbg' => array(), -'chel' => array(), -'chelyabinsk' => array(), -'chita' => array(), -'chukotka' => array(), -'chuvashia' => array(), -'dagestan' => array(), -'dudinka' => array(), -'e-burg' => array(), -'grozny' => array(), -'irkutsk' => array(), -'ivanovo' => array(), -'izhevsk' => array(), -'jar' => array(), -'joshkar-ola' => array(), -'kalmykia' => array(), -'kaluga' => array(), -'kamchatka' => array(), -'karelia' => array(), -'kazan' => array(), -'kchr' => array(), -'kemerovo' => array(), -'khabarovsk' => array(), -'khakassia' => array(), -'khv' => array(), -'kirov' => array(), -'koenig' => array(), -'komi' => array(), -'kostroma' => array(), -'krasnoyarsk' => array(), -'kuban' => array(), -'kurgan' => array(), -'kursk' => array(), -'lipetsk' => array(), -'magadan' => array(), -'mari' => array(), -'mari-el' => array(), -'marine' => array(), -'mordovia' => array(), -'mosreg' => array(), -'msk' => array(), -'murmansk' => array(), -'nalchik' => array(), -'nnov' => array(), -'nov' => array(), -'novosibirsk' => array(), -'nsk' => array(), -'omsk' => array(), -'orenburg' => array(), -'oryol' => array(), -'palana' => array(), -'penza' => array(), -'perm' => array(), -'ptz' => array(), -'rnd' => array(), -'ryazan' => array(), -'sakhalin' => array(), -'samara' => array(), -'saratov' => array(), -'simbirsk' => array(), -'smolensk' => array(), -'spb' => array(), -'stavropol' => array(), -'stv' => array(), -'surgut' => array(), -'tambov' => array(), -'tatarstan' => array(), -'tom' => array(), -'tomsk' => array(), -'tsaritsyn' => array(), -'tsk' => array(), -'tula' => array(), -'tuva' => array(), -'tver' => array(), -'tyumen' => array(), -'udm' => array(), -'udmurtia' => array(), -'ulan-ude' => array(), -'vladikavkaz' => array(), -'vladimir' => array(), -'vladivostok' => array(), -'volgograd' => array(), -'vologda' => array(), -'voronezh' => array(), -'vrn' => array(), -'vyatka' => array(), -'yakutia' => array(), -'yamal' => array(), -'yaroslavl' => array(), -'yekaterinburg' => array(), -'yuzhno-sakhalinsk' => array(), -'amursk' => array(), -'baikal' => array(), -'cmw' => array(), -'fareast' => array(), -'jamal' => array(), -'kms' => array(), -'k-uralsk' => array(), -'kustanai' => array(), -'kuzbass' => array(), -'magnitka' => array(), -'mytis' => array(), -'nakhodka' => array(), -'nkz' => array(), -'norilsk' => array(), -'oskol' => array(), -'pyatigorsk' => array(), -'rubtsovsk' => array(), -'snz' => array(), -'syzran' => array(), -'vdonsk' => array(), -'zgrad' => array(), -'gov' => array(), -'mil' => array(), -'test' => array()), -'rw' => array('gov' => array(), -'net' => array(), -'edu' => array(), -'ac' => array(), -'com' => array(), -'co' => array(), -'int' => array(), -'mil' => array(), -'gouv' => array()), -'sa' => array('com' => array(), -'net' => array(), -'org' => array(), -'gov' => array(), -'med' => array(), -'pub' => array(), -'edu' => array(), -'sch' => array()), -'sb' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'net' => array(), -'org' => array()), -'sc' => array('com' => array(), -'gov' => array(), -'net' => array(), -'org' => array(), -'edu' => array()), -'sd' => array('com' => array(), -'net' => array(), -'org' => array(), -'edu' => array(), -'med' => array(), -'tv' => array(), -'gov' => array(), -'info' => array()), -'se' => array('a' => array(), -'ac' => array(), -'b' => array(), -'bd' => array(), -'brand' => array(), -'c' => array(), -'d' => array(), -'e' => array(), -'f' => array(), -'fh' => array(), -'fhsk' => array(), -'fhv' => array(), -'g' => array(), -'h' => array(), -'i' => array(), -'k' => array(), -'komforb' => array(), -'kommunalforbund' => array(), -'komvux' => array(), -'l' => array(), -'lanbib' => array(), -'m' => array(), -'n' => array(), -'naturbruksgymn' => array(), -'o' => array(), -'org' => array(), -'p' => array(), -'parti' => array(), -'pp' => array(), -'press' => array(), -'r' => array(), -'s' => array(), -'t' => array(), -'tm' => array(), -'u' => array(), -'w' => array(), -'x' => array(), -'y' => array(), -'z' => array(), -'com' => array(), -'blogspot' => array()), -'sg' => array('com' => array(), -'net' => array(), -'org' => array(), -'gov' => array(), -'edu' => array(), -'per' => array(), -'blogspot' => array()), -'sh' => array('com' => array(), -'net' => array(), -'gov' => array(), -'org' => array(), -'mil' => array()), -'si' => array(), -'sj' => array(), -'sk' => array('blogspot' => array()), -'sl' => array('com' => array(), -'net' => array(), -'edu' => array(), -'gov' => array(), -'org' => array()), -'sm' => array(), -'sn' => array('art' => array(), -'com' => array(), -'edu' => array(), -'gouv' => array(), -'org' => array(), -'perso' => array(), -'univ' => array()), -'so' => array('com' => array(), -'net' => array(), -'org' => array()), -'sr' => array(), -'st' => array('co' => array(), -'com' => array(), -'consulado' => array(), -'edu' => array(), -'embaixada' => array(), -'gov' => array(), -'mil' => array(), -'net' => array(), -'org' => array(), -'principe' => array(), -'saotome' => array(), -'store' => array()), -'su' => array(), -'sv' => array('com' => array(), -'edu' => array(), -'gob' => array(), -'org' => array(), -'red' => array()), -'sx' => array('gov' => array()), -'sy' => array('edu' => array(), -'gov' => array(), -'net' => array(), -'mil' => array(), -'com' => array(), -'org' => array()), -'sz' => array('co' => array(), -'ac' => array(), -'org' => array()), -'tc' => array(), -'td' => array('blogspot' => array()), -'tel' => array(), -'tf' => array(), -'tg' => array(), -'th' => array('ac' => array(), -'co' => array(), -'go' => array(), -'in' => array(), -'mi' => array(), -'net' => array(), -'or' => array()), -'tj' => array('ac' => array(), -'biz' => array(), -'co' => array(), -'com' => array(), -'edu' => array(), -'go' => array(), -'gov' => array(), -'int' => array(), -'mil' => array(), -'name' => array(), -'net' => array(), -'nic' => array(), -'org' => array(), -'test' => array(), -'web' => array()), -'tk' => array(), -'tl' => array('gov' => array()), -'tm' => array('com' => array(), -'co' => array(), -'org' => array(), -'net' => array(), -'nom' => array(), -'gov' => array(), -'mil' => array(), -'edu' => array()), -'tn' => array('com' => array(), -'ens' => array(), -'fin' => array(), -'gov' => array(), -'ind' => array(), -'intl' => array(), -'nat' => array(), -'net' => array(), -'org' => array(), -'info' => array(), -'perso' => array(), -'tourism' => array(), -'edunet' => array(), -'rnrt' => array(), -'rns' => array(), -'rnu' => array(), -'mincom' => array(), -'agrinet' => array(), -'defense' => array(), -'turen' => array()), -'to' => array('com' => array(), -'gov' => array(), -'net' => array(), -'org' => array(), -'edu' => array(), -'mil' => array()), -'tp' => array(), -'tr' => array('com' => array(), -'info' => array(), -'biz' => array(), -'net' => array(), -'org' => array(), -'web' => array(), -'gen' => array(), -'tv' => array(), -'av' => array(), -'dr' => array(), -'bbs' => array(), -'name' => array(), -'tel' => array(), -'gov' => array(), -'bel' => array(), -'pol' => array(), -'mil' => array(), -'k12' => array(), -'edu' => array(), -'kep' => array(), -'nc' => array('gov' => array())), -'travel' => array(), -'tt' => array('co' => array(), -'com' => array(), -'org' => array(), -'net' => array(), -'biz' => array(), -'info' => array(), -'pro' => array(), -'int' => array(), -'coop' => array(), -'jobs' => array(), -'mobi' => array(), -'travel' => array(), -'museum' => array(), -'aero' => array(), -'name' => array(), -'gov' => array(), -'edu' => array()), -'tv' => array('dyndns' => array(), -'better-than' => array(), -'on-the-web' => array(), -'worse-than' => array()), -'tw' => array('edu' => array(), -'gov' => array(), -'mil' => array(), -'com' => array(), -'net' => array(), -'org' => array(), -'idv' => array(), -'game' => array(), -'ebiz' => array(), -'club' => array(), -'網路' => array(), -'組織' => array(), -'商業' => array(), -'blogspot' => array()), -'tz' => array('ac' => array(), -'co' => array(), -'go' => array(), -'hotel' => array(), -'info' => array(), -'me' => array(), -'mil' => array(), -'mobi' => array(), -'ne' => array(), -'or' => array(), -'sc' => array(), -'tv' => array()), -'ua' => array('com' => array(), -'edu' => array(), -'gov' => array(), -'in' => array(), -'net' => array(), -'org' => array(), -'cherkassy' => array(), -'cherkasy' => array(), -'chernigov' => array(), -'chernihiv' => array(), -'chernivtsi' => array(), -'chernovtsy' => array(), -'ck' => array(), -'cn' => array(), -'cr' => array(), -'crimea' => array(), -'cv' => array(), -'dn' => array(), -'dnepropetrovsk' => array(), -'dnipropetrovsk' => array(), -'dominic' => array(), -'donetsk' => array(), -'dp' => array(), -'if' => array(), -'ivano-frankivsk' => array(), -'kh' => array(), -'kharkiv' => array(), -'kharkov' => array(), -'kherson' => array(), -'khmelnitskiy' => array(), -'khmelnytskyi' => array(), -'kiev' => array(), -'kirovograd' => array(), -'km' => array(), -'kr' => array(), -'krym' => array(), -'ks' => array(), -'kv' => array(), -'kyiv' => array(), -'lg' => array(), -'lt' => array(), -'lugansk' => array(), -'lutsk' => array(), -'lv' => array(), -'lviv' => array(), -'mk' => array(), -'mykolaiv' => array(), -'nikolaev' => array(), -'od' => array(), -'odesa' => array(), -'odessa' => array(), -'pl' => array(), -'poltava' => array(), -'rivne' => array(), -'rovno' => array(), -'rv' => array(), -'sb' => array(), -'sebastopol' => array(), -'sevastopol' => array(), -'sm' => array(), -'sumy' => array(), -'te' => array(), -'ternopil' => array(), -'uz' => array(), -'uzhgorod' => array(), -'vinnica' => array(), -'vinnytsia' => array(), -'vn' => array(), -'volyn' => array(), -'yalta' => array(), -'zaporizhzhe' => array(), -'zaporizhzhia' => array(), -'zhitomir' => array(), -'zhytomyr' => array(), -'zp' => array(), -'zt' => array(), -'co' => array(), -'pp' => array()), -'ug' => array('co' => array(), -'or' => array(), -'ac' => array(), -'sc' => array(), -'go' => array(), -'ne' => array(), -'com' => array(), -'org' => array()), -'uk' => array('ac' => array(), -'co' => array('blogspot' => array()), -'gov' => array('service' => array()), -'ltd' => array(), -'me' => array(), -'net' => array(), -'nhs' => array(), -'org' => array(), -'plc' => array(), -'police' => array(), -'sch' => array('*' => array())), -'us' => array('dni' => array(), -'fed' => array(), -'isa' => array(), -'kids' => array(), -'nsn' => array(), -'ak' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'al' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'ar' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'as' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'az' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'ca' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'co' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'ct' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'dc' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'de' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'fl' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'ga' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'gu' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'hi' => array('cc' => array(), -'lib' => array()), -'ia' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'id' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'il' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'in' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'ks' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'ky' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'la' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'ma' => array('k12' => array('pvt' => array(), -'chtr' => array(), -'paroch' => array()), -'cc' => array(), -'lib' => array()), -'md' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'me' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'mi' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'mn' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'mo' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'ms' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'mt' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'nc' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'nd' => array('cc' => array(), -'lib' => array()), -'ne' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'nh' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'nj' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'nm' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'nv' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'ny' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'oh' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'ok' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'or' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'pa' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'pr' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'ri' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'sc' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'sd' => array('cc' => array(), -'lib' => array()), -'tn' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'tx' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'ut' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'vi' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'vt' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'va' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'wa' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'wi' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'wv' => array('cc' => array()), -'wy' => array('k12' => array(), -'cc' => array(), -'lib' => array()), -'is-by' => array(), -'land-4-sale' => array(), -'stuff-4-sale' => array()), -'uy' => array('com' => array(), -'edu' => array(), -'gub' => array(), -'mil' => array(), -'net' => array(), -'org' => array()), -'uz' => array('co' => array(), -'com' => array(), -'net' => array(), -'org' => array()), -'va' => array(), -'vc' => array('com' => array(), -'net' => array(), -'org' => array(), -'gov' => array(), -'mil' => array(), -'edu' => array()), -'ve' => array('arts' => array(), -'co' => array(), -'com' => array(), -'e12' => array(), -'edu' => array(), -'firm' => array(), -'gob' => array(), -'gov' => array(), -'info' => array(), -'int' => array(), -'mil' => array(), -'net' => array(), -'org' => array(), -'rec' => array(), -'store' => array(), -'tec' => array(), -'web' => array()), -'vg' => array(), -'vi' => array('co' => array(), -'com' => array(), -'k12' => array(), -'net' => array(), -'org' => array()), -'vn' => array('com' => array(), -'net' => array(), -'org' => array(), -'edu' => array(), -'gov' => array(), -'int' => array(), -'ac' => array(), -'biz' => array(), -'info' => array(), -'name' => array(), -'pro' => array(), -'health' => array()), -'vu' => array('com' => array(), -'edu' => array(), -'net' => array(), -'org' => array()), -'wf' => array(), -'ws' => array('com' => array(), -'net' => array(), -'org' => array(), -'gov' => array(), -'edu' => array(), -'dyndns' => array(), -'mypets' => array()), -'yt' => array(), -'امارات' => array(), -'বাংলা' => array(), -'中国' => array(), -'中國' => array(), -'الجزائر' => array(), -'مصر' => array(), -'გე' => array(), -'香港' => array(), -'भारत' => array(), -'بھارت' => array(), -'భారత్' => array(), -'ભારત' => array(), -'ਭਾਰਤ' => array(), -'ভারত' => array(), -'இந்தியா' => array(), -'ایران' => array(), -'ايران' => array(), -'الاردن' => array(), -'한국' => array(), -'қаз' => array(), -'ලංකා' => array(), -'இலங்கை' => array(), -'المغرب' => array(), -'мон' => array(), -'مليسيا' => array(), -'عمان' => array(), -'فلسطين' => array(), -'срб' => array('пр' => array(), -'орг' => array(), -'обр' => array(), -'од' => array(), -'упр' => array(), -'ак' => array()), -'рф' => array(), -'قطر' => array(), -'السعودية' => array(), -'السعودیة' => array(), -'السعودیۃ' => array(), -'السعوديه' => array(), -'سورية' => array(), -'سوريا' => array(), -'新加坡' => array(), -'சிங்கப்பூர்' => array(), -'ไทย' => array(), -'تونس' => array(), -'台灣' => array(), -'台湾' => array(), -'臺灣' => array(), -'укр' => array(), -'اليمن' => array(), -'xxx' => array(), -'ye' => array('*' => array()), -'za' => array('*' => array()), -'zm' => array('*' => array()), -'zw' => array('*' => array()), -'abbott' => array(), -'abogado' => array(), -'academy' => array(), -'accenture' => array(), -'accountants' => array(), -'active' => array(), -'actor' => array(), -'africa' => array(), -'agency' => array(), -'airforce' => array(), -'allfinanz' => array(), -'alsace' => array(), -'amsterdam' => array(), -'android' => array(), -'aquarelle' => array(), -'archi' => array(), -'army' => array(), -'associates' => array(), -'attorney' => array(), -'auction' => array(), -'audio' => array(), -'autos' => array(), -'axa' => array(), -'band' => array(), -'bar' => array(), -'barcelona' => array(), -'bargains' => array(), -'bauhaus' => array(), -'bayern' => array(), -'bcn' => array(), -'beer' => array(), -'berlin' => array(), -'best' => array(), -'bharti' => array(), -'bible' => array(), -'bid' => array(), -'bike' => array(), -'bio' => array(), -'black' => array(), -'blackfriday' => array(), -'bloomberg' => array(), -'blue' => array(), -'bmw' => array(), -'bnl' => array(), -'bnpparibas' => array(), -'bond' => array(), -'boo' => array(), -'boutique' => array(), -'brussels' => array(), -'budapest' => array(), -'build' => array(), -'builders' => array(), -'business' => array(), -'buzz' => array(), -'bzh' => array(), -'cab' => array(), -'cal' => array(), -'camera' => array(), -'camp' => array(), -'cancerresearch' => array(), -'capetown' => array(), -'capital' => array(), -'caravan' => array(), -'cards' => array(), -'care' => array(), -'career' => array(), -'careers' => array(), -'cartier' => array(), -'casa' => array(), -'cash' => array(), -'catering' => array(), -'cba' => array(), -'cbn' => array(), -'center' => array(), -'ceo' => array(), -'cern' => array(), -'cfa' => array(), -'channel' => array(), -'cheap' => array(), -'christmas' => array(), -'chrome' => array(), -'church' => array(), -'citic' => array(), -'city' => array(), -'claims' => array(), -'cleaning' => array(), -'click' => array(), -'clinic' => array(), -'clothing' => array(), -'club' => array(), -'codes' => array(), -'coffee' => array(), -'college' => array(), -'cologne' => array(), -'commbank' => array(), -'community' => array(), -'company' => array(), -'computer' => array(), -'condos' => array(), -'construction' => array(), -'consulting' => array(), -'contractors' => array(), -'cooking' => array(), -'cool' => array(), -'country' => array(), -'credit' => array(), -'creditcard' => array(), -'crs' => array(), -'cruises' => array(), -'cuisinella' => array(), -'cymru' => array(), -'dabur' => array(), -'dad' => array(), -'dance' => array(), -'dating' => array(), -'datsun' => array(), -'day' => array(), -'deals' => array(), -'degree' => array(), -'democrat' => array(), -'dental' => array(), -'dentist' => array(), -'desi' => array(), -'diamonds' => array(), -'diet' => array(), -'digital' => array(), -'direct' => array(), -'directory' => array(), -'discount' => array(), -'dnp' => array(), -'domains' => array(), -'doosan' => array(), -'durban' => array(), -'dvag' => array(), -'eat' => array(), -'education' => array(), -'email' => array(), -'emerck' => array(), -'engineer' => array(), -'engineering' => array(), -'enterprises' => array(), -'equipment' => array(), -'erni' => array(), -'esq' => array(), -'estate' => array(), -'eurovision' => array(), -'eus' => array(), -'events' => array(), -'everbank' => array(), -'exchange' => array(), -'expert' => array(), -'exposed' => array(), -'fail' => array(), -'fan' => array(), -'farm' => array(), -'fashion' => array(), -'feedback' => array(), -'finance' => array(), -'financial' => array(), -'firmdale' => array(), -'fish' => array(), -'fishing' => array(), -'fitness' => array(), -'flights' => array(), -'florist' => array(), -'flsmidth' => array(), -'fly' => array(), -'foo' => array(), -'forsale' => array(), -'foundation' => array(), -'frl' => array(), -'frogans' => array(), -'fund' => array(), -'furniture' => array(), -'futbol' => array(), -'gal' => array(), -'gallery' => array(), -'garden' => array(), -'gbiz' => array(), -'gdn' => array(), -'gent' => array(), -'ggee' => array(), -'gift' => array(), -'gifts' => array(), -'gives' => array(), -'glass' => array(), -'gle' => array(), -'global' => array(), -'globo' => array(), -'gmail' => array(), -'gmo' => array(), -'gmx' => array(), -'google' => array(), -'gop' => array(), -'graphics' => array(), -'gratis' => array(), -'green' => array(), -'gripe' => array(), -'group' => array(), -'guge' => array(), -'guide' => array(), -'guitars' => array(), -'guru' => array(), -'hamburg' => array(), -'haus' => array(), -'healthcare' => array(), -'help' => array(), -'here' => array(), -'hermes' => array(), -'hiphop' => array(), -'hiv' => array(), -'holdings' => array(), -'holiday' => array(), -'homes' => array(), -'horse' => array(), -'host' => array(), -'hosting' => array(), -'house' => array(), -'how' => array(), -'ibm' => array(), -'ifm' => array(), -'iinet' => array(), -'immo' => array(), -'immobilien' => array(), -'industries' => array(), -'infiniti' => array(), -'ing' => array(), -'ink' => array(), -'institute' => array(), -'insure' => array(), -'international' => array(), -'investments' => array(), -'ipiranga' => array(), -'irish' => array(), -'ist' => array(), -'istanbul' => array(), -'iwc' => array(), -'java' => array(), -'jetzt' => array(), -'joburg' => array(), -'juegos' => array(), -'kaufen' => array(), -'kim' => array(), -'kitchen' => array(), -'kiwi' => array(), -'koeln' => array(), -'krd' => array(), -'kred' => array(), -'lacaixa' => array(), -'land' => array(), -'latrobe' => array(), -'lawyer' => array(), -'lds' => array(), -'lease' => array(), -'leclerc' => array(), -'lgbt' => array(), -'life' => array(), -'lighting' => array(), -'limited' => array(), -'limo' => array(), -'link' => array(), -'loans' => array(), -'london' => array(), -'lotto' => array(), -'ltda' => array(), -'luxe' => array(), -'luxury' => array(), -'madrid' => array(), -'maison' => array(), -'management' => array(), -'mango' => array(), -'market' => array(), -'marketing' => array(), -'media' => array(), -'meet' => array(), -'melbourne' => array(), -'meme' => array(), -'menu' => array(), -'miami' => array(), -'mini' => array(), -'moda' => array(), -'moe' => array(), -'monash' => array(), -'montblanc' => array(), -'mormon' => array(), -'mortgage' => array(), -'moscow' => array(), -'motorcycles' => array(), -'mov' => array(), -'nagoya' => array(), -'navy' => array(), -'netbank' => array(), -'network' => array(), -'neustar' => array(), -'new' => array(), -'nexus' => array(), -'ngo' => array(), -'nhk' => array(), -'ninja' => array(), -'nissan' => array(), -'nra' => array(), -'nrw' => array(), -'nyc' => array(), -'okinawa' => array(), -'ong' => array(), -'onl' => array(), -'ooo' => array(), -'oracle' => array(), -'organic' => array(), -'otsuka' => array(), -'ovh' => array(), -'paris' => array(), -'partners' => array(), -'parts' => array(), -'pharmacy' => array(), -'photo' => array(), -'photography' => array(), -'photos' => array(), -'physio' => array(), -'pics' => array(), -'pictet' => array(), -'pictures' => array(), -'pink' => array(), -'pizza' => array(), -'place' => array(), -'plumbing' => array(), -'pohl' => array(), -'poker' => array(), -'praxi' => array(), -'press' => array(), -'prod' => array(), -'productions' => array(), -'prof' => array(), -'properties' => array(), -'property' => array(), -'pub' => array(), -'qpon' => array(), -'quebec' => array(), -'realtor' => array(), -'recipes' => array(), -'red' => array(), -'rehab' => array(), -'reise' => array(), -'reisen' => array(), -'ren' => array(), -'rentals' => array(), -'repair' => array(), -'report' => array(), -'republican' => array(), -'rest' => array(), -'restaurant' => array(), -'reviews' => array(), -'rich' => array(), -'rio' => array(), -'rip' => array(), -'rocks' => array(), -'rodeo' => array(), -'rsvp' => array(), -'ruhr' => array(), -'ryukyu' => array(), -'saarland' => array(), -'samsung' => array(), -'sap' => array(), -'sarl' => array(), -'sca' => array(), -'scb' => array(), -'schmidt' => array(), -'scholarships' => array(), -'schule' => array(), -'scot' => array(), -'seat' => array(), -'services' => array(), -'sew' => array(), -'sexy' => array(), -'sharp' => array(), -'shiksha' => array(), -'shoes' => array(), -'shriram' => array(), -'singles' => array(), -'sky' => array(), -'social' => array(), -'software' => array(), -'sohu' => array(), -'solar' => array(), -'solutions' => array(), -'soy' => array(), -'space' => array(), -'spiegel' => array(), -'supplies' => array(), -'supply' => array(), -'support' => array(), -'surf' => array(), -'surgery' => array(), -'suzuki' => array(), -'systems' => array(), -'taipei' => array(), -'tatar' => array(), -'tattoo' => array(), -'tax' => array(), -'technology' => array(), -'temasek' => array(), -'tienda' => array(), -'tips' => array(), -'tirol' => array(), -'today' => array(), -'tokyo' => array(), -'tools' => array(), -'top' => array(), -'toshiba' => array(), -'town' => array(), -'toys' => array(), -'trade' => array(), -'training' => array(), -'tui' => array(), -'university' => array(), -'uno' => array(), -'uol' => array(), -'vacations' => array(), -'vegas' => array(), -'ventures' => array(), -'versicherung' => array(), -'vet' => array(), -'viajes' => array(), -'villas' => array(), -'vision' => array(), -'vlaanderen' => array(), -'vodka' => array(), -'vote' => array(), -'voting' => array(), -'voto' => array(), -'voyage' => array(), -'wales' => array(), -'wang' => array(), -'watch' => array(), -'webcam' => array(), -'website' => array(), -'wed' => array(), -'wedding' => array(), -'whoswho' => array(), -'wien' => array(), -'wiki' => array(), -'williamhill' => array(), -'wme' => array(), -'work' => array(), -'works' => array(), -'world' => array(), -'wtc' => array(), -'wtf' => array(), -'佛山' => array(), -'慈善' => array(), -'集团' => array(), -'在线' => array(), -'八卦' => array(), -'موقع' => array(), -'公益' => array(), -'公司' => array(), -'移动' => array(), -'我爱你' => array(), -'москва' => array(), -'онлайн' => array(), -'сайт' => array(), -'时尚' => array(), -'淡马锡' => array(), -'орг' => array(), -'삼성' => array(), -'商标' => array(), -'商店' => array(), -'商城' => array(), -'дети' => array(), -'新闻' => array(), -'中文网' => array(), -'中信' => array(), -'娱乐' => array(), -'谷歌' => array(), -'网店' => array(), -'संगठन' => array(), -'网络' => array(), -'手机' => array(), -'بازار' => array(), -'政府' => array(), -'شبكة' => array(), -'机构' => array(), -'组织机构' => array(), -'рус' => array(), -'みんな' => array(), -'グーグル' => array(), -'世界' => array(), -'网址' => array(), -'游戏' => array(), -'vermögensberater' => array(), -'vermögensberatung' => array(), -'企业' => array(), -'广东' => array(), -'政务' => array(), -'xyz' => array(), -'yachts' => array(), -'yandex' => array(), -'yoga' => array(), -'yokohama' => array(), -'youtube' => array(), -'zip' => array(), -'zone' => array()); diff --git a/Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/regDomain.class.php b/Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/regDomain.class.php deleted file mode 100644 index ffe492e..0000000 --- a/Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/regDomain.class.php +++ /dev/null @@ -1,120 +0,0 @@ -<?php - -/* - * Calculate the effective registered domain of a fully qualified domain name. - * - * <@LICENSE> - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to you under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * </@LICENSE> - * - * Florian Sager, 25.07.2008, sager@agitos.de, http://www.agitos.de - */ - -/* - * Remove subdomains from a signing domain to get the registered domain. - * - * dkim-reputation.org blocks signing domains on the level of registered domains - * to rate senders who use e.g. a.spamdomain.tld, b.spamdomain.tld, ... under - * the most common identifier - the registered domain - finally. - * - * This function returns NULL if $signingDomain is TLD itself - * - * $signingDomain has to be provided lowercase (!) - */ - -class regDomain { - /* tld tree */ - protected $tldTree = array(); - - /* main function */ - public function getRegisteredDomain($signingDomain, $fallback = TRUE) { - $signingDomainParts = explode('.', $signingDomain); - - $result = $this->findRegisteredDomain($signingDomainParts, $this->tldTree); - - if ($result===NULL || $result=="") { - // this is an invalid domain name - return NULL; - } - - // assure there is at least 1 TLD in the stripped signing domain - if (!strpos($result, '.')) { - if ($fallback===FALSE) { - return NULL; - } - $cnt = count($signingDomainParts); - if ($cnt==1 || $signingDomainParts[$cnt-2]=="") return NULL; - if (!$this->validDomainPart($signingDomainParts[$cnt-2]) || !$this->validDomainPart($signingDomainParts[$cnt-1])) return NULL; - return $signingDomainParts[$cnt-2].'.'.$signingDomainParts[$cnt-1]; - } - return $result; - } - - /* validate parts */ - public function validDomainPart($domPart) { - // see http://www.register.com/domain-extension-rules.rcmx - $len = strlen($domPart); - - // not more than 63 characters - if ($len>63) return FALSE; - - // not less than 1 characters --> there are TLD-specific rules that could be considered additionally - if ($len<1) return FALSE; - - // Use only letters, numbers, or hyphen ("-") - // not beginning or ending with a hypen (this is TLD specific, be aware!) - if (!preg_match("/^([a-z0-9])(([a-z0-9-])*([a-z0-9]))*$/", $domPart)) return FALSE; - - return TRUE; - } - - /* recursive helper method */ - public function findRegisteredDomain($remainingSigningDomainParts, &$treeNode) { - $sub = array_pop($remainingSigningDomainParts); - - $result = NULL; - if (isset($treeNode['!'])) { - return '#'; - } - - if (!$this->validDomainPart($sub)) { - return NULL; - } - - if (is_array($treeNode) && array_key_exists($sub, $treeNode)) { - $result = $this->findRegisteredDomain($remainingSigningDomainParts, $treeNode[$sub]); - } else if (is_array($treeNode) && array_key_exists('*', $treeNode)) { - $result = $this->findRegisteredDomain($remainingSigningDomainParts, $treeNode['*']); - } else { - return $sub; - } - - // this is a hack 'cause PHP interpretes '' as NULL - if ($result == '#') { - return $sub; - } else if (strlen($result)>0) { - return $result.'.'.$sub; - } - return NULL; - } - - /* load tld tree into object */ - function __construct() { - /* include tld tree data */ - include(dirname(__FILE__) . '/effectiveTLDs.inc.php'); - } - -} diff --git a/Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/regDomain.inc.php b/Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/regDomain.inc.php deleted file mode 100644 index e6b7a2a..0000000 --- a/Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/regDomain.inc.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php - -/* - * Calculate the effective registered domain of a fully qualified domain name. - * - * <@LICENSE> - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to you under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * </@LICENSE> - * - * Florian Sager, 25.07.2008, sager@agitos.de, http://www.agitos.de - */ - -/* - * Remove subdomains from a signing domain to get the registered domain. - * - * dkim-reputation.org blocks signing domains on the level of registered domains - * to rate senders who use e.g. a.spamdomain.tld, b.spamdomain.tld, ... under - * the most common identifier - the registered domain - finally. - * - * This function returns NULL if $signingDomain is TLD itself - * - * $signingDomain has to be provided lowercase (!) - */ - -/* pull in class */ -require_once (dirname ( __FILE__ ) . '/regDomain.class.php'); - -/* create global object */ -; -function getRegisteredDomain($signingDomain, $fallback = TRUE) { - /* pull in object */ - $regDomainObj = new regDomain (); - /* return object method */ - return $regDomainObj->getRegisteredDomain ( $signingDomain, $fallback ); -} -function validDomainPart($domPart) { - /* pull in object */ - $regDomainObj = new regDomain (); - /* return object method */ - return $regDomainObj->validDomainPart ( $domPart ); -} - -// recursive helper method -function findRegisteredDomain($remainingSigningDomainParts, &$treeNode) { - /* pull in object */ - $regDomainObj = new regDomain (); - /* return object method */ - return $regDomainObj->findRegisteredDomain ( $remainingSigningDomainParts, $treeNode ); -} diff --git a/Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/test-regDomain.php b/Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/test-regDomain.php deleted file mode 100644 index d1cc47c..0000000 --- a/Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/test-regDomain.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php - -/* - * Calculate the effective registered domain of a fully qualified domain name. - * - * <@LICENSE> - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to you under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * </@LICENSE> - * - * Florian Sager, 25.07.2008, sager@agitos.de, http://www.agitos.de - */ - -require_once("effectiveTLDs.inc.php"); -require_once("regDomain.inc.php"); - -if ($_SERVER["argc"]<2) { - print("test-regDomain.php <(fully-qualified-domain-name )+>\n"); - exit; -} - -// strip subdomains from every signing domain -// char dom[] = "sub2.sub.registered.nom.ad"; - -$argc = $_SERVER["argc"]; -$argv = $_SERVER["argv"]; - -for ($i=1; $i<$argc; $i++) { - - $registeredDomain = getRegisteredDomain($argv[$i], $tldTree); - - if ( $registeredDomain === NULL ) { - printf("error: %s\n", $argv[$i]); - } else { - printf("%s\n", $registeredDomain); - } -} - -?> diff --git a/Postman/Postman-Connectivity-Test/registered-domain-libs-master/README.txt b/Postman/Postman-Connectivity-Test/registered-domain-libs-master/README.txt deleted file mode 100644 index 9199c9f..0000000 --- a/Postman/Postman-Connectivity-Test/registered-domain-libs-master/README.txt +++ /dev/null @@ -1,56 +0,0 @@ -=============================================== -Detection of registered domains by reg-dom libs -=============================================== - -The reg-dom libs are available in C, Perl and PHP so far. - -They include recent representations of the effective TLD list available at -http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1 -and help to convert an arbitrary domain name to the registered domain name. - -Sample use: -dkim-reputation.org blocks signing domains on the level of registered domains -to rate senders who use e.g. a.spamdomain.tld, b.spamdomain.tld, ... under -the most common identifier - the registered domain - finally. -Project page: http://www.dkim-reputation.org/regdom-libs/ - -Pseudo code: -registeredDomain = getRegisteredDomain(ingoingDomain); - -Return values: -1) NULL if ingoingDomain is a TLD -2) the registered domain name if TLD is known -3) just <domain>.<tld> if <tld> is unknown - This case was added to support new TLDs in outdated reg-dom libs - by a certain likelihood. This fallback method is implemented in the - last conversion step and can be simply commented out. - ---- - -If you like to regenerate the effective TLD tree structure by yourself -you can use the script generateEffectiveTLDs.php with the following parameters: - -php generateEffectiveTLDs.php php > PHP/effectiveTLDs.inc.php -php generateEffectiveTLDs.php perl > Perl/effectiveTLDs.pm -php generateEffectiveTLDs.php c > C/tld-canon.h - - - -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to you under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# </@LICENSE> - - -Florian Sager, 2009-02-05, sager@agitos.de, http://www.agitos.de diff --git a/Postman/Postman-Connectivity-Test/registered-domain-libs-master/generateEffectiveTLDs.php b/Postman/Postman-Connectivity-Test/registered-domain-libs-master/generateEffectiveTLDs.php deleted file mode 100644 index 63acb79..0000000 --- a/Postman/Postman-Connectivity-Test/registered-domain-libs-master/generateEffectiveTLDs.php +++ /dev/null @@ -1,213 +0,0 @@ -<?php - -/* - * Florian Sager, 06.08.2008, sager@agitos.de, http://www.agitos.de - * - * Auto-Generate PHP array tree that contains all TLDs from the URL (see below); - * The output has to be copied to reputation-libs/effectiveTLDs.inc.php - * - * - */ - -header('Content-Type: text/html; charset=utf-8'); - -DEFINE('URL', 'http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1'); - -$format = "php"; -if ($_SERVER['argc']>1) { - if ($_SERVER['argv'][1] == "perl") { - $format = "perl"; - } else if ($_SERVER['argv'][1] == "c") { - $format = "c"; - } -} - -/* - * Does $search start with $startstring? - */ -function startsWith($search, $startstring) { - return (substr($search, 0, strlen($startstring))==$startstring); -} - -/* - * Does $search end with $endstring? - */ -function endsWith($search, $endstring) { - return (substr($search, -strlen($endstring))==$endstring); -} - - -function buildSubdomain(&$node, $tldParts) { - - $dom = trim(array_pop($tldParts)); - - $isNotDomain = FALSE; - if (startsWith($dom, "!")) { - $dom = substr($dom, 1); - $isNotDomain = TRUE; - } - - if (!array_key_exists($dom, $node)) { - if ($isNotDomain) { - $node[$dom] = array("!" => ""); - } else { - $node[$dom] = array(); - } - } - - if (!$isNotDomain && count($tldParts)>0) { - buildSubdomain($node[$dom], $tldParts); - } -} - -function printNode($key, $valueTree, $isAssignment = false) { - - global $format; - - if ($isAssignment) { - if ($format == "perl") { - echo "$key = {"; - } else { - echo "$key = array("; - } - } else { - if (strcmp($key, "!")==0) { - if ($format == "perl") { - echo "'!' => {}"; - } else { - echo "'!' => ''"; - } - return; - } else { - if ($format == "perl") { - echo "'$key' => {"; - } else { - echo "'$key' => array("; - } - } - } - - $keys = array_keys($valueTree); - - for ($i=0; $i<count($keys); $i++) { - - $key = $keys[$i]; - - printNode($key, $valueTree[$key]); - - if ($i+1 != count($valueTree)) { - echo ",\n"; - } else { - "\n"; - } - } - - if ($format == "perl") { - echo '}'; - } else { - echo ')'; - } -} - -// sample: root(3:ac(5:com,edu,gov,net,ad(3:nom,co!,*)),de,com) - -function printNode_C($key, $valueTree) { - - echo "$key"; - - $keys = array_keys($valueTree); - - if (count($keys)>0) { - - if (strcmp($keys['!'], "!")==0) { - echo "!"; - } else { - - echo "(".count($keys).":"; - - for ($i=0; $i<count($keys); $i++) { - - $key = $keys[$i]; - - // if (count($valueTree[$key])>0) { - printNode_C($key, $valueTree[$key]); - // } - - if ($i+1 != count($valueTree)) { - echo ","; - } - } - - echo ')'; - } - } -} - -// --- main --- - -error_reporting(E_ERROR); - -$tldTree = array(); -$list = file_get_contents(URL); -// $list = "bg\na.bg\n0.bg\n!c.bg\n"; -$lines = explode("\n", $list); -$licence = TRUE; - -if ($format == "php") echo "<?php\n"; - -foreach ($lines as $line) { - $line = trim($line); - if ($line == "") { - if ($licence) { - $licence = FALSE; - echo "\n"; - } - continue; - } - if (startsWith($line, "//")) { - if ($licence) { - if ($format == "perl") { - echo "# ".substr($line, 2)."\n"; - } else { - echo $line."\n"; - } - } - continue; - } - - // this must be a TLD - $tldParts = preg_split('\.', $line); - buildSubdomain($tldTree, $tldParts); -} - -// print_r($tldTree); - -/* -$tldTree = array( - 'de' => array(), // test.agitos.de --> agitos.de - 'uk' => array( - 'co' => array(), // test.agitos.co.uk --> agitos.co.uk - 'xy' => array('!'), // test.agitos.xy.uk --> xy.uk - '*' => array() // test.agitos.ab.uk --> agitos.ab.uk - ) -); -*/ - -if ($format == "c") { - - echo "static const char tldString[] = \""; - printNode_C("root", $tldTree); - echo "\";\n\n"; - -} else { - - if ($format == "perl") { - print "package effectiveTLDs;\n\n"; - } - printNode("\$tldTree", $tldTree, TRUE); - echo ";\n"; - if ($format == "php") echo '?>' . "\n"; - -} - -?> |