plugin = new stdClass; $this->plugin->name = 'adwised'; // Plugin Folder $this->plugin->displayName = 'ادوایزد'; // Plugin Name $this->plugin->version = '2.5.7'; $this->plugin->folder = plugin_dir_path(__FILE__); $this->plugin->url = plugin_dir_url(__FILE__); $this->plugin->db_welcome_dismissed_key = $this->plugin->name . '_welcome_dismissed_key'; // Check if the global wpb_feed_append variable exists. If not, set it. if (!array_key_exists('wpb_feed_append', $GLOBALS)) { $GLOBALS['wpb_feed_append'] = false; } // Hooks add_action('admin_init', array(&$this, 'registerSettings')); add_action('admin_menu', array(&$this, 'adminPanelsAndMetaBoxes')); add_action('admin_notices', array(&$this, 'dashboardNotices')); add_action('wp_ajax_' . $this->plugin->name . '_dismiss_dashboard_notices', array(&$this, 'dismissDashboardNotices')); // Frontend Hooks function adwised_main_js() { wp_enqueue_script('mainjs', "https://adwisedfs.com/adwised-webpush.min.js?ver=8.9"); } $adwisedPopupConfig = get_option('adwisedPopConfig'); $url = "http" . (($_SERVER['SERVER_PORT'] == 443) ? "s" : "") . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $homeurl = home_url(); if (!get_option('adwisedPopDeactivate')) { add_action('wp_footer', array(&$this, 'frontendPopFooter'), 100); } if (!get_option('adwisedPushDeactivate')) { //add_action( 'wp_footer', 'adwised_main_js' ,10); add_action('wp_footer', array(&$this, 'frontendFooter'), 15); } if(!get_option('adwisedIframeDeactivate')){ add_action('wp_footer', array(&$this, 'frontendIframeFooter'), 15); } function add_adwised_admin_script_api() { wp_enqueue_script('adwised_ajaxcall', plugin_dir_url(__FILE__) . "assets/adwised_ajaxcall.js"); } add_action('admin_enqueue_scripts', 'add_adwised_admin_script_api'); } /** * Show relevant notices for the plugin */ function dashboardNotices() { global $pagenow; if (!get_option($this->plugin->db_welcome_dismissed_key)) { if (!($pagenow == 'options-general.php' && isset($_GET['page']) && $_GET['page'] == 'adwised')) { $setting_page = admin_url('options-general.php?page=' . $this->plugin->name); // load the notices view include_once($this->plugin->folder . '/views/dashboard-notices.php'); } } } /** * Dismiss the welcome notice for the plugin */ function dismissDashboardNotices() { check_ajax_referer($this->plugin->name . '-nonce', 'nonce'); // user has dismissed the welcome notice update_option($this->plugin->db_welcome_dismissed_key, 1); exit; } /** * Register Settings */ function registerSettings() { register_setting($this->plugin->name, 'adwised_topic', 'trim'); register_setting($this->plugin->name, 'adwised_client_id', 'trim'); register_setting($this->plugin->name, 'adwised_script', 'trim'); register_setting($this->plugin->name, 'adwisedPushDeactivate', 'trim'); register_setting($this->plugin->name, 'adwisedPopId', 'trim'); register_setting($this->plugin->name, 'adwisedPopSecretkey', 'trim'); register_setting($this->plugin->name, 'adwisedPopConfig', array( 'type' => 'string', )); register_setting($this->plugin->name, 'f', 'trim'); register_setting($this->plugin->name, 'adwisedPopScript', 'trim'); //register_setting($this->plugin->name, 'adwisedIframeDeactivate', 'trim'); //update_option('adwisedIframeDeactivate','1'); register_setting($this->plugin->name, 'adwisedIframeScript', 'trim'); register_setting($this->plugin->name, 'adwisedIframeConfig', array( 'type' => 'string', )); } /** * Register the plugin settings panel */ function adminPanelsAndMetaBoxes() { add_menu_page( $this->plugin->displayName, // page title 'ادوایزد', // menu title 'manage_options', // user access capability $this->plugin->name, // menu slug array(&$this, 'adminPanel'), //menu content function plugins_url('/adwised/adwisedicon.png', dirname(__FILE__)), // menu icon // 'dashicons-ztjalali', // menu icon 83 // menu position ); } /** * Output the Administration Panel * Save POSTed data from the Administration Panel into a WordPress option */ function adminPanel() { // only admin user can access this page if (!current_user_can('administrator')) { echo '

' . __('Sorry, you are not allowed to access this page.', 'adwised') . '

'; return; } // Save Settings if (isset($_REQUEST['submit'])) { $swFile = dirname(__FILE__); $dest = get_home_path(); copy($swFile . '/firebase-messaging-sw.js', $dest . '/' . 'firebase-messaging-sw.js'); // Check nonce if (!isset($_REQUEST[$this->plugin->name . '_nonce'])) { // Missing nonce $this->errorMessage = __('nonce field is missing. Settings NOT saved.', 'adwised'); } elseif (!wp_verify_nonce($_REQUEST[$this->plugin->name . '_nonce'], $this->plugin->name)) { // Invalid nonce $this->errorMessage = __('Invalid nonce specified. Settings NOT saved.', 'adwised'); } else { // Save // $_REQUEST has already been slashed by wp_magic_quotes in wp-settings // so do nothing before saving update_option('adwised_topic', trim(sanitize_text_field($_REQUEST['adwised_topic']))); update_option('adwised_client_id', trim(sanitize_text_field($_REQUEST['adwised_client_id']))); update_option('adwised_cpt_select', $_REQUEST['adwised_cpt_select']); update_option('adwisedPushDeactivate', $_REQUEST['adwisedPushDeactivate']); $pushConfig = new stdClass(); $pushConfig->client_id = get_option('adwised_client_id'); $pushConfig->topic = get_option('adwised_topic'); if (get_option("adwised_welcome_dismissed_key")) { $currentPushConfig = get_option("adwisedPushConfig"); $pushConfig->ask_location = $currentPushConfig->ask_location === NULL ? true : $currentPushConfig->ask_location; $pushConfig->double_permission_active = $currentPushConfig->double_permission_active === NULL ? false : $currentPushConfig->double_permission_active; } else { $pushConfig->ask_location = true; $pushConfig->double_permission_active = false; } update_option("adwisedPushConfig", $pushConfig); // iframe update_option('adwisedIframeDeactivate',$_REQUEST['adwisedIframeDeactivate']); // popup update_option('adwisedPopDeactivate', $_REQUEST['adwisedPopDeactivate']); update_option('adwisedPopId', trim(sanitize_text_field($_REQUEST['adwisedPopId']))); update_option('adwisedPopSecretkey', trim(sanitize_text_field($_REQUEST['adwisedPopSecretkey']))); setPushScript(); update_option($this->plugin->db_welcome_dismissed_key, 1); $this->message = __('تنظیمات ذخیره شد', 'adwised'); $endpoint = 'https://popapi.adwised.com/api/plugin/register'; $body = [ 'address' => get_site_url(), 'secretKey' => get_option('adwisedPopSecretkey') ]; $body = wp_json_encode($body); $options = [ 'body' => $body, 'headers' => [ 'Content-Type' => 'application/json', ], 'timeout' => 60, 'redirection' => 5, 'blocking' => true, 'httpversion' => '1.0', 'sslverify' => false, 'data_format' => 'body', ]; wp_remote_post($endpoint, $options); } } // Get latest settings $this->settings = array( 'adwised_topic' => esc_html(wp_unslash(get_option('adwised_topic'))), 'adwised_client_id' => esc_html(wp_unslash(get_option('adwised_client_id'))), ); // Load Settings Form include_once($this->plugin->folder . '/views/settings.php'); } /** * Loads plugin textdomain */ function loadLanguageFiles() { load_plugin_textdomain('adwised', false, dirname(plugin_basename(__FILE__)) . '/languages/'); } /** * Outputs script / CSS to the frontend footer */ function frontendFooter() { $this->output('adwised_script'); } function frontendPopFooter() { $this->output('adwisedPopScript'); } function frontendIframeFooter(){ $this->output('adwisedIframeScript'); } /** * Outputs the given setting, if conditions are met * * @param string $setting Setting Name * @return output */ function output($setting) { // Ignore admin, feed, robots or trackbacks if (is_admin() || is_feed() || is_robots() || is_trackback()) { return; } // provide the opportunity to Ignore IHAF - both headers and footers via filters if (apply_filters('disable_ihaf', false)) { return; } // provide the opportunity to Ignore IHAF - footer only via filters if ('adwised_client_id' == $setting && apply_filters('disable_ihaf_footer', false)) { return; } // provide the opportunity to Ignore IHAF - header only via filters if ('adwised_topic' == $setting && apply_filters('disable_ihaf_header', false)) { return; } // Get meta $meta = get_option($setting); if (empty($meta)) { return; } if (trim($meta) == '') { return; } // Output echo wp_unslash($meta); } } $ihaf = new insertAdwisedScript(); $swFile = dirname(__FILE__); //get pop url add_action('wp_ajax_get_adwised_url_first_time', 'get_adwised_url_first_time'); if (!function_exists('get_adwised_url_first_time')) : function get_adwised_url_first_time() { $popId = sanitize_text_field($_POST['popId']); $popSecretKey = sanitize_text_field($_POST['popSecretKey']); $cURLConnection = curl_init(); $curlUrl = 'https://popapi.adwised.com/api/home/'; $curlUrl .= $popId; $curlUrl .= '/0'; curl_setopt($cURLConnection, CURLOPT_URL, $curlUrl); curl_setopt($cURLConnection, CURLOPT_RETURNTRANSFER, true); $server_output = curl_exec($cURLConnection); curl_close($cURLConnection); $resultStatus = json_decode($server_output, true)["errors"]; $popConfig = new stdClass(); $popConfig->pop_url = array($server_output); $popConfig->pop_geolocationblock = true; $popConfig->pop_count = 1; $popConfig->pop_excludequeryselector = ""; $popConfig->pop_doNotShowOnHomePage = false; if ($resultStatus == "") { update_option("adwisedPopId", $popId); update_option("adwisedPopSecretkey", $popSecretKey); update_option("adwisedPopConfig", $popConfig); setPopScript(); print json_encode(array("status" => true, "message" => "پاپ آپ با موفقیت فعال شد")); } else { print json_encode(array("status" => false, "message" => "خطا در عملیات! لطفا ورودی های خود (پاپ آی دی و سکرت کی) را بررسی کنید و دوباره تلاش کنید (در صورت عدم موفقیت با پشتیبانی ادوایزد تماس بگیرید)")); } exit(); } endif; add_action('wp_ajax_adwised_get_iframe_link_ajaxcall','adwised_get_iframe_link_ajaxcall'); add_action('wp_ajax_nopriv_adwised_get_iframe_link_ajaxcall','adwised_get_iframe_link_ajaxcall'); function adwised_get_iframe_link_ajaxcall(){ $adwised_iframe_config = get_option('adwisedIframeConfig'); if($adwised_iframe_config->iframe_geolocationblock == 1){ $isIranIp = IsIranianIp(); if($isIranIp){ print json_encode(array("status" => true, "canShow" => true, "iframeConfig" => $adwised_iframe_config)); } else{ print json_encode(array("status" => true, "canShow" => false, "iframeConfig" => $adwised_iframe_config)); } exit; } print json_encode(array("status" => true, "canShow" => false, "iframeConfig" => $adwised_iframe_config)); exit; } add_action('wp_ajax_adwised_get_pop_link_ajaxcall', 'adwised_get_pop_link_ajaxcall'); add_action('wp_ajax_nopriv_adwised_get_pop_link_ajaxcall', 'adwised_get_pop_link_ajaxcall'); function adwised_get_pop_link_ajaxcall() { $isIranIp = IsIranianIp(); $requestedUrl = $_SERVER["HTTP_REFERER"]; $homeUrl = home_url(); $adwisedPopupConfig = get_option('adwisedPopConfig'); if ($adwisedPopupConfig->pop_doNotShowOnHomePage) { if ($requestedUrl == $homeUrl or $requestedUrl == $homeUrl . "/") { print json_encode(array("status" => true, "canShow" => "0", "popConfig" => $adwisedPopupConfig)); } else { if ($adwisedPopupConfig->pop_geolocationblock == 1) { if ($isIranIp) { print json_encode(array("status" => true, "canShow" => "1", "popConfig" => $adwisedPopupConfig)); } else { print json_encode(array("status" => true, "canShow" => "0", "popConfig" => $adwisedPopupConfig)); } } else { print json_encode(array("status" => true, "canShow" => "1", "popConfig" => $adwisedPopupConfig)); } } } else { if ($adwisedPopupConfig->pop_geolocationblock == 1) { if ($isIranIp) { print json_encode(array("status" => true, "canShow" => "1", "popConfig" => $adwisedPopupConfig)); } else { print json_encode(array("status" => true, "canShow" => "0", "popConfig" => $adwisedPopupConfig)); } } else { print json_encode(array("status" => true, "canShow" => "1", "popConfig" => $adwisedPopupConfig)); } } exit; } function auto_update_specific_plugins($update, $item) { // Array of plugin slugs to always auto-update $plugins = array('adwised'); if (in_array($item->slug, $plugins)) { // Always update plugins in this array return true; } else { // Else, use the normal API response to decide whether to update or not return $update; } } add_filter('auto_update_plugin', 'auto_update_specific_plugins', 10, 2); //popup api add_action('rest_api_init', 'adwisedApi'); function adwisedApi() { register_rest_route('adwised/v1', 'getversion', array( 'methods' => 'GET', 'callback' => 'getPluginVersion' )); register_rest_route('adwised/v1', 'getfunctionality', array( 'methods' => 'GET', 'callback' => 'getPluginFunctionality' )); register_rest_route('adwised/v1', 'setfunctionality', array( 'methods' => 'POST', 'callback' => 'setPluginFunctionality' )); register_rest_route('adwisedpopup/v1', 'getconfig', array( 'methods' => 'GET', 'callback' => 'getPopConfig' )); register_rest_route('adwisedpopup/v1', 'setconfig', array( 'methods' => 'POST', 'callback' => 'setPopConfig' )); register_rest_route('adwisedpush/v1', 'getconfig', array( 'methods' => 'GET', 'callback' => 'getPushConfig' )); register_rest_route('adwisedpush/v1', 'setconfig', array( 'methods' => 'POST', 'callback' => 'setPushConfig' )); register_rest_route('adwisedpush/v1', 'updateScript', array( 'methods' => 'POST', 'callback' => 'setUpdateScript' )); register_rest_route('adwisedIframe/v1', 'getconfig', array( 'methods' => 'GET', 'callback' => 'getIframeConfig' )); register_rest_route('adwisedIframe/v1', 'setconfig', array( 'methods' => 'POST', 'callback' => 'setIframeConfig' )); }; function getPluginVersion() { if (!function_exists('get_plugin_data')) { require_once(ABSPATH . 'wp-admin/includes/plugin.php'); } $plugin_data = get_plugin_data(__FILE__, 'false', 'false'); return $plugin_data["Version"]; } function getPluginFunctionality() { $functionality = new stdClass; if (!get_option("adwisedPopDeactivate")) { $functionality->popEnabled = true; } else { $functionality->popEnabled = false; } if (!get_option("adwisedPushDeactivate")) { $functionality->pushEnabled = true; } else { $functionality->pushEnabled = false; } if (!get_option("adwisedIframeDeactivate")) { $functionality->iframeEnabled = true; } else { $functionality->iframeEnabled = false; } return $functionality; } function setPluginFunctionality() { $data = json_decode(file_get_contents("php://input")); if ($data->adwisedSecretKey === get_option('adwisedPopSecretkey')) { update_option('adwisedPopDeactivate', !$data->popEnabled); update_option('adwisedPushDeactivate', !$data->pushEnabled); update_option('adwisedIframeDeactivate',!$data->iframeEnabled); return "{status:success}"; } else { return "{status:error,error:wrong secret key}"; } } function getPopConfig() { return get_option("adwisedPopConfig"); }; function setPopConfig() { $data = json_decode(file_get_contents("php://input")); if ($data->adwisedSecretKey === get_option('adwisedPopSecretkey')) { $popConfig = new stdClass(); $popConfig->pop_url = $data->adwisedPopUrl; $popConfig->pop_geolocationblock = $data->adwisedBlockGeoLocational; $popConfig->pop_count = $data->adwisedPopCount; $popConfig->pop_excludequeryselector = $data->adwisedExcludeQuerySelector; $popConfig->pop_doNotShowOnHomePage = $data->adwisedDoNotShowOnHomePage; update_option("adwisedPopConfig", $popConfig); setPopScript(); return "{status:success}"; } else { return "{status:error,error:wrong secret key}"; } }; function getIframeConfig(){ return get_option('adwisedIframeConfig'); } function setIframeConfig(){ $data = json_decode(file_get_contents("php://input")); if ($data->adwisedSecretKey === get_option('adwisedPopSecretkey')) { $IframeConfig = new stdClass(); $IframeConfig->iframe_url = $data->adwisedIframeUrl; $IframeConfig->iframe_doNotShowOnHomePage = $data->adwisedDoNotShowOnHomePage; $IframeConfig->iframe_geolocationblock = $data->adwisedBlockGeoLocational; update_option("adwisedIframeConfig", $IframeConfig); setIframeScript(); return "{status:success}"; } else { return "{status:error,error:wrong secret key}"; } } function getPushConfig() { return get_option("adwisedPushConfig"); }; function setPushConfig() { $data = json_decode(file_get_contents("php://input")); if ($data->adwisedSecretKey === get_option('adwisedPopSecretkey')) { $pushConfig = new stdClass(); $pushConfig->client_id = $data->adwisedClientId; $pushConfig->topic = $data->adwisedTopic; $pushConfig->ask_location = $data->adwisedAskLocation; $pushConfig->double_permission_active = $data->adwisedDoublePermissionActive; $pushConfig->double_permission_isNativeVersion = $data->adwisedDoublePermissionIsNativeVersion; update_option("adwised_client_id", $data->adwisedClientId); update_option("adwised_topic", $data->adwisedTopic); update_option("adwisedPushConfig", $pushConfig); setPushScript(); return "{status:success}"; } else { return "{status:error,error:wrong secret key}"; } } function setPushScript() { if ( ! function_exists( 'get_home_path' ) ) { include_once ABSPATH . '/wp-admin/includes/file.php'; } $swFile = dirname(__FILE__); $dest = get_home_path(); copy($swFile . '/firebase-messaging-sw.js', $dest . '/' . 'firebase-messaging-sw.js'); $pushConfig = get_option('adwisedPushConfig'); $modalHtml = '
'; $ids = explode("_CID_", $pushConfig->client_id); $adwised_scrip = ' '; if($pushConfig->double_permission_active){ $adwised_scrip = $modalHtml . $adwised_scrip; } update_option('adwised_script', $adwised_scrip); } function setPopScript(){ $adwised_pop_scrip = ' '; update_option('adwisedPopScript', $adwised_pop_scrip); } function setIframeScript(){ $adwised_iframe_script = '
'; update_option('adwisedIframeScript',$adwised_iframe_script); } // get ip function adwisedGetUserIpAddr() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) { //ip from share internet $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { //ip pass from proxy $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip = $_SERVER['REMOTE_ADDR']; } return $ip; } //ip check function function adwised_ip_in_range($ip, $range) { if (strpos($range, '/') !== false) { // $range is in IP/NETMASK format list($range, $netmask) = explode('/', $range, 2); if (strpos($netmask, '.') !== false) { // $netmask is a 255.255.0.0 format $netmask = str_replace('*', '0', $netmask); $netmask_dec = ip2long($netmask); return ((ip2long($ip) & $netmask_dec) == (ip2long($range) & $netmask_dec)); } else { // $netmask is a CIDR size block // fix the range argument $x = explode('.', $range); while (count($x) < 4) $x[] = '0'; list($a, $b, $c, $d) = $x; $range = sprintf("%u.%u.%u.%u", empty($a) ? '0' : $a, empty($b) ? '0' : $b, empty($c) ? '0' : $c, empty($d) ? '0' : $d); $range_dec = ip2long($range); $ip_dec = ip2long($ip); # Strategy 1 - Create the netmask with 'netmask' 1s and then fill it to 32 with 0s #$netmask_dec = bindec(str_pad('', $netmask, '1') . str_pad('', 32-$netmask, '0')); # Strategy 2 - Use math to create it $wildcard_dec = pow(2, (32 - $netmask)) - 1; $netmask_dec = ~$wildcard_dec; return (($ip_dec & $netmask_dec) == ($range_dec & $netmask_dec)); } } else { // range might be 255.255.*.* or 1.2.3.0-1.2.3.255 if (strpos($range, '*') !== false) { // a.b.*.* format // Just convert to A-B format by setting * to 0 for A and 255 for B $lower = str_replace('*', '0', $range); $upper = str_replace('*', '255', $range); $range = "$lower-$upper"; } if (strpos($range, '-') !== false) { // A-B format list($lower, $upper) = explode('-', $range, 2); $lower_dec = (float)sprintf("%u", ip2long($lower)); $upper_dec = (float)sprintf("%u", ip2long($upper)); $ip_dec = (float)sprintf("%u", ip2long($ip)); return (($ip_dec >= $lower_dec) && ($ip_dec <= $upper_dec)); } echo 'Range argument is not in 1.2.3.4/24 or 1.2.3.4/255.255.255.0 format'; return false; } } add_action( 'upgrader_process_complete', function( $upgrader_object, $options ) { // inspect $options setPushScript(); setPopScript(); setIframeScript(); }, 10, 2 ); function setUpdateScript(){ $data = json_decode(file_get_contents("php://input")); if ($data->adwisedSecretKey === get_option('adwisedPopSecretkey')) { setPushScript(); setPopScript(); setIframeScript(); return "{status:success}"; } else { return "{status:error,error:wrong secret key}"; } } function IsIranianIp(){ $ipRanges = array( "2.144.0.0-2.147.255.255", "2.176.0.0-2.191.255.255", "5.22.0.0-5.22.127.255", "5.22.192.0-5.22.207.255", "5.23.112.0-5.23.119.255", "5.34.208.0-5.34.223.255", "5.52.0.0-5.52.255.255", "5.53.32.0-5.53.63.255", "5.56.128.0-5.56.132.255", "5.56.134.0-5.56.135.255", "5.57.32.0-5.57.39.255", "5.61.24.0-5.61.26.255", "5.61.29.0-5.61.31.255", "5.62.160.0-5.62.255.255", "5.63.8.0-5.63.15.255", "5.72.0.0-5.75.127.255", "5.104.208.0-5.104.215.255", "5.106.0.0-5.106.255.255", "5.112.0.0-5.127.255.255", "5.134.128.0-5.134.199.255", "5.144.128.0-5.144.135.255", "5.145.112.0-5.145.119.255", "5.159.48.0-5.159.55.255", "5.160.0.0-5.160.139.255", "5.160.141.0-5.160.255.255", "5.182.44.0-5.182.47.255", "5.190.0.0-5.190.255.255", "5.198.160.0-5.198.191.255", "5.200.64.0-5.200.255.255", "5.201.128.0-5.202.255.255", "5.208.0.0-5.223.255.255", "5.226.50.0-5.226.50.255", "5.232.0.0-5.236.151.255", "5.236.156.0-5.239.255.255", "5.250.0.0-5.250.127.255", "5.252.216.0-5.252.219.255", "5.253.24.0-5.253.27.255", "5.253.96.0-5.253.99.255", "31.2.128.0-31.2.255.255", "31.7.64.0-31.7.77.255", "31.7.88.0-31.7.91.255", "31.7.96.0-31.7.143.255", "31.14.80.0-31.14.95.255", "31.14.112.0-31.14.127.255", "31.14.144.0-31.14.159.255", "31.24.200.0-31.24.207.255", "31.24.232.0-31.24.239.255", "31.25.88.0-31.25.89.254", "31.25.90.0-31.25.95.255", "31.25.104.0-31.25.111.255", "31.25.128.0-31.25.135.255", "31.25.232.0-31.25.233.255", "31.40.0.0-31.40.7.255", "31.47.32.0-31.47.63.255", "31.56.0.0-31.59.255.255", "31.130.176.0-31.130.191.255", "31.170.48.0-31.170.63.255", "31.171.216.0-31.171.223.255", "31.184.128.0-31.184.191.255", "31.193.112.0-31.193.119.255", "31.214.228.0-31.214.231.255", "31.214.248.0-31.214.255.255", "31.217.208.0-31.217.215.255", "37.9.248.0-37.9.255.255", "37.10.64.0-37.10.67.255", "37.19.80.0-37.19.95.255", "37.32.0.0-37.32.47.255", "37.32.112.0-37.32.127.255", "37.44.56.0-37.44.63.255", "37.49.144.0-37.49.151.255", "37.63.128.0-37.63.255.255", "37.75.240.0-37.75.247.255", "37.98.0.0-37.98.127.255", "37.114.192.0-37.114.255.255", "37.128.240.0-37.129.255.255", "37.130.200.0-37.130.207.255", "37.137.0.0-37.137.255.255", "37.143.144.0-37.143.151.255", "37.148.0.0-37.148.127.255", "37.148.248.0-37.148.251.255", "37.152.160.0-37.152.191.255", "37.153.128.0-37.153.131.255", "37.153.176.0-37.153.191.255", "37.156.0.0-37.156.3.255", "37.156.8.0-37.156.31.255", "37.156.48.0-37.156.63.255", "37.156.100.0-37.156.103.255", "37.156.112.0-37.156.147.255", "37.156.152.0-37.156.167.255", "37.156.176.0-37.156.179.255", "37.156.212.0-37.156.215.255", "37.156.232.0-37.156.243.255", "37.156.248.0-37.156.251.255", "37.191.64.0-37.191.95.255", "37.202.128.0-37.202.255.255", "37.221.0.0-37.221.63.255", "37.228.131.0-37.228.131.255", "37.228.133.0-37.228.133.255", "37.228.135.0-37.228.139.255", "37.235.16.0-37.235.31.255", "37.254.0.0-37.255.128.111", "37.255.128.128-37.255.186.255", "37.255.187.32-37.255.255.255", "45.8.160.0-45.8.163.255", "45.9.144.0-45.9.147.255", "45.9.252.0-45.9.255.255", "45.15.200.0-45.15.203.255", "45.15.248.0-45.15.251.255", "45.65.112.0-45.65.115.255", "45.81.16.0-45.81.19.255", "45.82.136.0-45.82.139.255", "45.84.156.0-45.84.159.255", "45.84.248.0-45.84.251.255", "45.86.4.0-45.86.7.255", "45.86.196.0-45.86.199.255", "45.87.4.0-45.87.7.255", "45.89.136.0-45.89.139.255", "45.89.200.0-45.89.203.255", "45.89.236.0-45.89.239.255", "45.90.72.0-45.90.75.255", "45.91.152.0-45.91.155.255", "45.92.92.0-45.92.95.255", "45.93.168.0-45.93.171.255", "45.94.212.0-45.94.215.255", "45.94.252.0-45.94.255.255", "45.128.140.0-45.128.143.255", "45.129.36.0-45.129.39.255", "45.129.116.0-45.129.119.255", "45.132.32.0-45.132.32.255", "45.132.168.0-45.132.175.255", "45.135.240.0-45.135.243.255", "45.138.132.0-45.138.135.255", "45.139.8.0-45.139.11.255", "45.139.100.0-45.139.103.255", "45.140.224.0-45.140.231.255", "45.142.188.0-45.142.191.255", "45.144.16.0-45.144.19.255", "45.144.124.0-45.144.127.255", "45.146.240.0-45.146.243.255", "45.147.76.0-45.147.79.255", "45.148.248.0-45.148.251.255", "45.149.76.0-45.149.79.255", "45.150.88.0-45.150.91.255", "45.155.192.0-45.155.195.255", "45.156.180.0-45.156.187.255", "45.156.192.0-45.156.203.255", "45.157.100.0-45.157.103.255", "45.157.244.0-45.157.247.255", "45.158.120.0-45.158.123.255", "45.159.112.0-45.159.115.255", "45.159.148.0-45.159.151.255", "45.159.196.0-45.159.199.255", "45.199.159.0-45.199.159.255", "46.18.248.0-46.18.255.255", "46.21.80.0-46.21.95.255", "46.28.72.0-46.28.79.255", "46.32.0.0-46.32.31.255", "46.34.96.0-46.34.127.255", "46.34.160.0-46.34.191.255", "46.36.96.0-46.36.111.255", "46.38.128.0-46.38.131.191", "46.38.132.0-46.38.159.255", "46.41.192.0-46.41.255.255", "46.51.0.0-46.51.127.255", "46.62.128.0-46.62.255.255", "46.100.0.0-46.100.255.255", "46.102.120.0-46.102.143.255", "46.102.184.0-46.102.187.255", "46.143.0.0-46.143.127.255", "46.143.204.0-46.143.215.255", "46.143.244.0-46.143.251.255", "46.148.32.0-46.148.47.255", "46.164.64.0-46.164.127.255", "46.167.128.0-46.167.159.255", "46.182.32.0-46.182.39.255", "46.209.0.0-46.209.94.255", "46.209.96.0-46.209.255.255", "46.224.0.0-46.225.255.255", "46.235.76.0-46.235.77.255", "46.245.0.0-46.245.127.255", "46.248.32.0-46.248.63.255", "46.249.96.0-46.249.96.255", "46.249.120.0-46.249.127.255", "46.255.216.0-46.255.223.255", "57.88.80.0-57.88.95.255", "62.32.49.128-62.32.49.231", "62.32.49.240-62.32.50.255", "62.32.53.64-62.32.53.127", "62.32.53.168-62.32.53.175", "62.32.53.224-62.32.53.239", "62.32.61.96-62.32.61.127", "62.32.61.224-62.32.61.255", "62.32.63.128-62.32.63.191", "62.60.128.0-62.60.159.255", "62.60.163.0-62.60.166.255", "62.60.168.0-62.60.169.255", "62.60.171.0-62.60.171.255", "62.60.175.0-62.60.175.255", "62.60.181.0-62.60.181.255", "62.60.186.0-62.60.186.255", "62.60.189.0-62.60.189.255", "62.60.191.0-62.60.200.255", "62.60.202.0-62.60.202.255", "62.60.205.0-62.60.205.255", "62.60.208.0-62.60.255.255", "62.102.128.0-62.102.143.255", "62.133.46.0-62.133.46.255", "62.193.0.0-62.193.31.255", "62.220.96.0-62.220.127.255", "63.243.185.0-63.243.185.255", "64.214.116.16-64.214.116.16", "66.79.96.0-66.79.127.255", "67.16.178.147-67.16.178.150", "69.194.64.0-69.194.127.255", "77.36.128.0-77.36.255.255", "77.42.0.0-77.42.127.255", "77.77.64.0-77.77.127.255", "77.81.32.0-77.81.47.255", "77.81.76.0-77.81.83.255", "77.81.128.0-77.81.135.255", "77.81.144.0-77.81.159.255", "77.81.192.0-77.81.223.255", "77.95.220.0-77.95.220.255", "77.104.64.0-77.104.127.255", "77.237.64.0-77.237.95.255", "77.237.160.0-77.237.191.255", "77.238.104.0-77.238.127.255", "77.245.224.0-77.245.239.255", "78.31.232.0-78.31.235.255", "78.38.0.0-78.39.255.255", "78.109.192.0-78.109.207.255", "78.110.112.0-78.110.127.255", "78.111.0.0-78.111.15.255", "78.154.32.0-78.154.63.255", "78.157.32.0-78.157.63.255", "78.158.160.0-78.158.191.255", "79.127.0.0-79.127.127.255", "79.132.192.0-79.132.193.255", "79.132.200.0-79.132.223.255", "79.143.84.0-79.143.86.255", "79.174.160.0-79.174.167.255", "79.175.128.0-79.175.167.133", "79.175.167.144-79.175.191.255", "80.66.176.0-80.66.191.255", "80.71.112.0-80.71.127.255", "80.75.0.0-80.75.15.255", "80.191.0.0-80.191.240.255", "80.191.241.128-80.191.255.255", "80.210.0.0-80.210.63.255", "80.210.128.0-80.210.255.255", "80.231.50.13-80.231.50.13", "80.242.0.0-80.242.15.255", "80.249.112.0-80.249.115.255", "80.250.192.0-80.250.207.255", "80.253.128.0-80.253.159.255", "80.255.3.160-80.255.3.191", "81.12.0.0-81.12.127.255", "81.16.112.0-81.16.127.255", "81.28.32.0-81.28.63.255", "81.29.240.0-81.29.255.255", "81.31.160.0-81.31.191.255", "81.31.224.0-81.31.246.255", "81.31.248.0-81.31.253.255", "81.90.144.0-81.90.159.255", "81.91.128.0-81.91.159.255", "81.92.216.0-81.92.216.255", "81.161.236.0-81.161.236.255", "81.163.0.0-81.163.7.255", "82.97.240.0-82.97.255.255", "82.99.192.0-82.99.255.255", "82.138.140.0-82.138.140.127", "82.180.192.0-82.180.255.255", "83.120.0.0-83.123.255.255", "83.147.192.0-83.147.194.255", "83.149.208.65-83.149.208.65", "83.150.192.0-83.150.195.255", "84.17.168.32-84.17.168.63", "84.47.192.0-84.47.255.255", "84.241.0.0-84.241.63.255", "85.9.64.0-85.9.127.255", "85.15.0.0-85.15.63.255", "85.133.128.0-85.133.255.255", "85.159.113.0-85.159.113.255", "85.185.0.0-85.185.255.255", "85.198.0.0-85.198.63.255", "85.204.76.0-85.204.77.255", "85.204.80.0-85.204.95.255", "85.204.104.0-85.204.105.255", "85.204.128.0-85.204.131.255", "85.204.208.0-85.204.223.255", "85.208.252.0-85.208.255.255", "85.239.192.0-85.239.223.255", "86.55.0.0-86.55.255.255", "86.57.0.0-86.57.127.255", "86.104.32.0-86.104.47.255", "86.104.80.0-86.104.111.255", "86.104.232.0-86.104.247.255", "86.105.40.0-86.105.47.255", "86.105.128.0-86.105.143.255", "86.106.24.0-86.106.25.255", "86.106.142.0-86.106.142.255", "86.106.192.0-86.106.199.255", "86.107.0.0-86.107.15.255", "86.107.80.0-86.107.95.255", "86.107.144.0-86.107.159.255", "86.107.172.0-86.107.175.255", "86.107.208.0-86.107.223.255", "86.109.32.0-86.109.63.255", "87.107.0.0-87.107.255.255", "87.128.22.75-87.128.22.75", "87.236.210.0-87.236.211.255", "87.236.213.0-87.236.214.255", "87.247.168.0-87.247.191.255", "87.248.128.0-87.248.128.255", "87.248.131.0-87.248.131.255", "87.248.134.0-87.248.135.255", "87.248.137.0-87.248.143.255", "87.248.145.0-87.248.157.255", "87.251.128.0-87.251.159.255", "88.131.195.45-88.131.195.45", "88.131.195.47-88.131.195.47", "88.131.240.122-88.131.240.123", "88.131.240.125-88.131.240.125", "88.131.244.10-88.131.244.10", "88.135.32.0-88.135.47.255", "88.135.68.0-88.135.68.255", "89.32.0.0-89.32.31.255", "89.32.96.0-89.32.111.255", "89.32.196.0-89.32.197.255", "89.32.248.0-89.32.251.255", "89.33.18.0-89.33.19.255", "89.33.100.0-89.33.103.255", "89.33.240.0-89.33.241.255", "89.34.20.0-89.34.21.255", "89.34.32.0-89.34.63.255", "89.34.128.0-89.34.159.255", "89.34.200.0-89.34.201.255", "89.34.248.0-89.34.255.255", "89.35.68.0-89.35.71.255", "89.35.120.0-89.35.123.255", "89.35.132.0-89.35.133.255", "89.35.180.0-89.35.183.255", "89.35.194.0-89.35.195.255", "89.36.16.0-89.36.17.255", "89.36.48.0-89.36.63.255", "89.36.96.0-89.36.111.255", "89.36.176.0-89.36.191.255", "89.36.194.0-89.36.195.255", "89.36.226.0-89.36.227.255", "89.36.252.0-89.36.253.255", "89.37.0.0-89.37.15.255", "89.37.102.0-89.37.103.255", "89.37.144.0-89.37.155.255", "89.37.168.0-89.37.171.255", "89.37.198.0-89.37.199.255", "89.37.208.0-89.37.211.255", "89.37.218.0-89.37.219.255", "89.37.240.0-89.37.255.255", "89.38.24.0-89.38.25.255", "89.38.80.0-89.38.95.255", "89.38.102.0-89.38.103.255", "89.38.184.0-89.38.199.255", "89.38.212.0-89.38.215.255", "89.38.244.0-89.38.247.255", "89.39.8.0-89.39.11.255", "89.39.208.0-89.39.208.255", "89.40.78.0-89.40.79.255", "89.40.106.0-89.40.107.255", "89.40.152.0-89.40.159.255", "89.40.240.0-89.40.255.255", "89.41.8.0-89.41.23.255", "89.41.40.0-89.41.43.255", "89.41.184.0-89.41.187.255", "89.41.192.0-89.41.223.255", "89.41.240.0-89.41.247.255", "89.42.44.0-89.42.47.255", "89.42.56.0-89.42.57.255", "89.42.68.0-89.42.69.255", "89.42.96.0-89.42.103.255", "89.42.136.0-89.42.139.255", "89.42.150.0-89.42.151.255", "89.42.184.0-89.42.191.255", "89.42.196.0-89.42.199.255", "89.42.208.0-89.42.210.188", "89.42.210.190-89.42.210.255", "89.42.228.0-89.42.229.255", "89.43.0.0-89.43.15.255", "89.43.36.0-89.43.37.255", "89.43.70.0-89.43.71.255", "89.43.88.0-89.43.103.255", "89.43.144.0-89.43.151.255", "89.43.182.0-89.43.183.255", "89.43.188.0-89.43.189.255", "89.43.216.0-89.43.231.255", "89.44.128.0-89.44.135.255", "89.44.176.0-89.44.183.255", "89.44.190.0-89.44.191.255", "89.44.240.0-89.44.243.255", "89.45.48.0-89.45.63.255", "89.45.80.0-89.45.81.255", "89.45.89.0-89.45.89.255", "89.45.112.0-89.45.119.255", "89.45.126.0-89.45.127.255", "89.45.152.0-89.45.159.255", "89.46.60.0-89.46.61.255", "89.46.94.0-89.46.95.255", "89.46.184.0-89.46.191.255", "89.46.216.0-89.46.219.255", "89.47.64.0-89.47.79.255", "89.47.128.0-89.47.159.255", "89.47.196.0-89.47.203.255", "89.144.128.0-89.144.191.255", "89.165.0.0-89.165.127.255", "89.196.0.0-89.196.255.255", "89.198.0.0-89.199.255.255", "89.219.64.0-89.219.127.255", "89.219.192.0-89.219.255.255", "89.221.80.0-89.221.95.255", "89.235.64.0-89.235.127.255", "91.92.104.0-91.92.104.255", "91.92.114.0-91.92.114.255", "91.92.121.0-91.92.127.255", "91.92.129.0-91.92.135.255", "91.92.145.0-91.92.151.255", "91.92.156.0-91.92.159.255", "91.92.164.0-91.92.167.255", "91.92.172.0-91.92.175.255", "91.92.180.0-91.92.193.255", "91.92.204.0-91.92.215.255", "91.92.220.0-91.92.223.255", "91.92.228.0-91.92.229.255", "91.92.231.0-91.92.231.255", "91.92.236.0-91.92.239.255", "91.98.0.0-91.99.255.255", "91.106.64.0-91.106.95.255", "91.107.128.0-91.107.255.255", "91.108.128.0-91.108.159.255", "91.109.104.0-91.109.111.255", "91.133.128.0-91.133.255.255", "91.147.64.0-91.147.79.255", "91.184.64.0-91.184.95.255", "91.185.128.0-91.185.159.255", "91.186.192.0-91.186.193.255", "91.190.88.0-91.190.95.255", "91.194.6.0-91.194.6.255", "91.199.9.0-91.199.9.255", "91.199.18.0-91.199.18.255", "91.199.27.0-91.199.27.255", "91.199.30.0-91.199.30.255", "91.206.122.0-91.206.123.255", "91.207.138.0-91.207.139.255", "91.208.165.0-91.208.165.255", "91.209.179.0-91.209.179.255", "91.209.183.0-91.209.184.255", "91.209.186.0-91.209.186.255", "91.209.242.0-91.209.242.255", "91.212.16.0-91.212.16.255", "91.212.252.0-91.212.252.255", "91.213.151.0-91.213.151.255", "91.213.157.0-91.213.157.255", "91.213.167.0-91.213.167.255", "91.213.172.0-91.213.172.255", "91.216.4.0-91.216.4.255", "91.217.64.0-91.217.65.255", "91.220.79.0-91.220.79.255", "91.220.113.0-91.220.113.255", "91.220.243.0-91.220.243.255", "91.221.116.0-91.221.117.255", "91.221.240.0-91.221.241.255", "91.222.196.0-91.222.199.255", "91.222.204.0-91.222.207.255", "91.224.20.0-91.224.21.255", "91.224.110.0-91.224.111.255", "91.224.176.0-91.224.177.255", "91.225.52.0-91.225.55.255", "91.226.224.0-91.226.225.255", "91.227.84.0-91.227.87.255", "91.227.246.0-91.227.247.255", "91.228.22.0-91.228.23.255", "91.228.132.0-91.228.133.255", "91.228.189.0-91.228.189.255", "91.229.46.0-91.229.47.255", "91.229.214.0-91.229.215.255", "91.230.32.0-91.230.32.255", "91.232.64.0-91.232.69.255", "91.232.72.0-91.232.75.255", "91.233.56.0-91.233.59.255", "91.236.168.0-91.236.169.255", "91.237.254.0-91.238.0.255", "91.238.92.0-91.238.93.255", "91.239.14.0-91.239.14.255", "91.239.108.0-91.239.111.255", "91.239.148.0-91.239.149.255", "91.239.214.0-91.239.214.255", "91.240.60.0-91.240.63.255", "91.240.180.0-91.240.183.255", "91.241.20.0-91.241.21.255", "91.241.92.0-91.241.92.255", "91.242.44.0-91.242.45.255", "91.243.126.0-91.243.127.255", "91.243.160.0-91.243.175.255", "91.244.120.0-91.244.123.255", "91.245.228.0-91.245.231.255", "91.247.66.0-91.247.67.255", "91.250.224.0-91.250.239.255", "91.251.0.0-91.251.255.255", "92.42.48.0-92.42.55.255", "92.43.160.0-92.43.163.255", "92.61.176.0-92.61.183.255", "92.61.185.0-92.61.188.255", "92.61.190.0-92.61.190.255", "92.114.16.0-92.114.31.255", "92.114.48.0-92.114.51.255", "92.114.64.0-92.114.79.255", "92.119.57.0-92.119.59.255", "92.119.68.0-92.119.71.255", "92.242.192.0-92.242.221.255", "92.242.223.0-92.242.223.255", "92.246.144.0-92.246.147.255", "92.246.156.0-92.246.159.255", "92.249.56.0-92.249.59.255", "93.88.64.0-93.88.73.255", "93.110.0.0-93.110.255.255", "93.113.224.0-93.113.239.255", "93.114.16.0-93.114.31.255", "93.114.104.0-93.114.111.255", "93.115.120.0-93.115.127.255", "93.115.144.0-93.115.151.255", "93.115.216.0-93.115.239.255", "93.117.0.0-93.117.47.255", "93.117.96.0-93.117.127.255", "93.117.176.0-93.117.191.255", "93.118.96.0-93.118.175.255", "93.118.180.0-93.118.187.255", "93.119.32.0-93.119.95.255", "93.119.208.0-93.119.223.255", "93.126.0.0-93.126.63.255", "93.190.24.0-93.190.31.255", "94.24.0.0-94.24.23.255", "94.24.80.0-94.24.103.255", "94.74.128.0-94.74.191.255", "94.101.120.0-94.101.123.255", "94.101.128.0-94.101.143.255", "94.101.176.0-94.101.191.255", "94.101.240.0-94.101.255.255", "94.139.160.0-94.139.191.255", "94.176.8.0-94.176.15.255", "94.176.32.0-94.176.39.255", "94.177.72.0-94.177.79.255", "94.182.0.0-94.184.255.255", "94.199.136.0-94.199.139.255", "94.232.168.0-94.232.175.255", "94.241.136.0-94.241.143.255", "94.241.160.0-94.241.167.255", "95.38.0.0-95.38.255.255", "95.64.0.0-95.64.127.255", "95.80.128.0-95.80.191.255", "95.81.64.0-95.81.127.255", "95.82.0.0-95.82.63.255", "95.130.56.0-95.130.63.255", "95.130.240.0-95.130.247.255", "95.142.224.0-95.142.239.255", "95.156.252.0-95.156.255.255", "95.162.0.0-95.162.255.255", "95.215.160.0-95.215.163.255", "95.215.173.0-95.215.173.255", "103.130.144.0-103.130.147.255", "103.215.220.0-103.215.220.255", "103.215.223.0-103.215.223.255", "103.216.60.0-103.216.62.255", "103.231.136.0-103.231.138.255", "109.70.237.0-109.70.237.255", "109.72.192.0-109.72.207.255", "109.74.232.0-109.74.239.255", "109.94.164.0-109.94.167.255", "109.95.60.0-109.95.71.255", "109.108.160.0-109.108.191.255", "109.109.32.0-109.109.41.255", "109.109.43.0-109.109.63.255", "109.110.161.0-109.110.166.255", "109.110.168.0-109.110.170.255", "109.110.173.0-109.110.175.255", "109.110.177.0-109.110.177.255", "109.110.180.0-109.110.182.255", "109.110.189.0-109.110.189.255", "109.111.32.0-109.111.35.255", "109.111.39.0-109.111.63.255", "109.122.192.0-109.122.199.255", "109.122.201.0-109.122.204.255", "109.122.206.0-109.122.206.255", "109.122.208.0-109.122.222.255", "109.122.224.0-109.122.247.255", "109.122.250.0-109.122.253.255", "109.125.128.0-109.125.191.255", "109.162.128.0-109.162.255.255", "109.201.0.0-109.201.31.255", "109.203.128.0-109.203.191.255", "109.206.252.0-109.206.255.255", "109.225.128.0-109.225.191.255", "109.230.64.0-109.230.111.255", "109.232.0.0-109.232.7.255", "109.238.176.0-109.238.191.255", "109.239.0.0-109.239.15.255", "113.203.0.0-113.203.127.255", "128.65.160.0-128.65.191.255", "128.140.0.0-128.140.127.255", "130.185.72.0-130.185.79.255", "130.244.71.67-130.244.71.67", "130.244.71.72-130.244.71.74", "130.244.71.80-130.244.71.81", "130.244.85.151-130.244.85.151", "130.255.192.0-130.255.255.255", "146.66.128.0-146.66.135.255", "151.232.0.0-151.235.255.255", "151.238.0.0-151.247.255.255", "152.89.12.0-152.89.15.255", "152.89.44.0-152.89.47.255", "152.89.152.0-152.89.155.255", "157.119.188.0-157.119.191.255", "158.58.0.0-158.58.127.255", "158.58.184.0-158.58.191.255", "159.20.96.0-159.20.111.255", "164.138.16.0-164.138.23.255", "164.138.128.0-164.138.191.255", "164.215.56.0-164.215.63.255", "164.215.128.0-164.215.255.255", "170.248.16.15-170.248.16.15", "171.22.24.0-171.22.27.255", "172.80.128.0-172.80.255.255", "176.12.64.0-176.12.79.255", "176.46.128.0-176.46.159.255", "176.56.144.0-176.56.159.255", "176.62.144.0-176.62.151.255", "176.65.160.0-176.65.255.255", "176.67.64.0-176.67.79.255", "176.101.32.0-176.101.55.255", "176.102.224.0-176.102.255.255", "176.122.210.0-176.122.211.255", "176.123.64.0-176.123.127.255", "176.124.64.0-176.124.67.255", "176.221.16.0-176.221.31.255", "176.221.64.0-176.221.71.255", "176.223.80.0-176.223.87.255", "178.21.40.0-178.21.47.255", "178.21.160.0-178.21.167.255", "178.22.72.0-178.22.79.255", "178.22.120.0-178.22.127.255", "178.131.0.0-178.131.255.255", "178.157.0.0-178.157.1.255", "178.169.0.0-178.169.31.255", "178.173.128.0-178.173.223.255", "178.215.0.0-178.215.63.255", "178.216.248.0-178.216.255.255", "178.219.224.0-178.219.239.255", "178.236.32.0-178.236.35.255", "178.236.96.0-178.236.111.255", "178.238.192.0-178.238.207.255", "178.239.144.0-178.239.159.255", "178.248.40.0-178.248.47.255", "178.251.208.0-178.251.215.255", "178.252.128.0-178.252.191.255", "178.253.16.0-178.253.16.255", "178.253.22.0-178.253.23.255", "178.253.26.0-178.253.27.255", "178.253.31.0-178.253.31.255", "178.253.38.0-178.253.45.255", "185.1.77.0-185.1.77.255", "185.2.12.0-185.2.15.255", "185.3.124.0-185.3.127.255", "185.3.200.0-185.3.203.255", "185.3.212.0-185.3.215.255", "185.4.0.0-185.4.3.255", "185.4.16.0-185.4.19.255", "185.4.28.0-185.4.31.255", "185.4.104.0-185.4.107.255", "185.4.220.0-185.4.223.255", "185.5.156.0-185.5.159.255", "185.8.172.0-185.8.175.255", "185.10.71.0-185.10.75.255", "185.11.68.0-185.11.71.255", "185.11.88.0-185.11.91.255", "185.11.176.0-185.11.179.255", "185.12.60.0-185.12.63.255", "185.12.100.0-185.12.102.255", "185.13.228.0-185.13.231.255", "185.14.80.0-185.14.83.255", "185.14.160.0-185.14.163.255", "185.16.232.0-185.16.235.255", "185.18.156.0-185.18.159.255", "185.18.212.0-185.18.215.255", "185.20.160.0-185.20.163.255", "185.21.68.0-185.21.71.255", "185.21.76.0-185.21.79.255", "185.22.28.0-185.22.31.255", "185.23.128.0-185.23.131.255", "185.24.136.0-185.24.139.255", "185.24.149.0-185.24.151.255", "185.24.228.0-185.24.231.255", "185.24.252.0-185.24.255.255", "185.25.172.0-185.25.175.255", "185.26.32.0-185.26.35.255", "185.26.232.0-185.26.235.255", "185.30.4.0-185.30.7.255", "185.30.76.0-185.30.79.255", "185.31.124.0-185.31.127.255", "185.32.128.0-185.32.131.255", "185.34.160.0-185.34.163.255", "185.37.52.0-185.37.55.255", "185.39.180.0-185.39.183.255", "185.40.16.0-185.40.16.255", "185.40.240.0-185.40.243.255", "185.41.0.0-185.41.3.255", "185.41.220.0-185.41.223.255", "185.42.24.0-185.42.27.255", "185.42.212.0-185.42.215.255", "185.42.224.0-185.42.227.255", "185.44.36.0-185.44.39.255", "185.44.100.0-185.44.103.255", "185.44.112.0-185.44.115.255", "185.45.188.0-185.45.191.255", "185.46.0.0-185.46.3.255", "185.46.108.0-185.46.111.255", "185.46.216.0-185.46.219.255", "185.47.48.0-185.47.51.255", "185.49.84.0-185.49.87.255", "185.49.96.0-185.49.99.255", "185.49.104.0-185.49.107.255", "185.49.231.0-185.49.231.255", "185.50.36.0-185.50.36.0", "185.50.37.0-185.50.39.255", "185.51.40.0-185.51.43.255", "185.51.200.0-185.51.203.255", "185.53.140.0-185.53.143.255", "185.55.224.0-185.55.227.255", "185.56.92.0-185.56.99.255", "185.57.132.0-185.57.135.255", "185.57.164.0-185.57.167.255", "185.57.200.0-185.57.203.255", "185.58.240.0-185.58.243.255", "185.59.112.0-185.59.113.255", "185.60.32.0-185.60.35.255", "185.60.136.0-185.60.139.255", "185.62.232.0-185.62.235.255", "185.63.236.0-185.63.239.255", "185.64.176.0-185.64.179.255", "185.66.224.0-185.66.231.255", "185.67.12.0-185.67.15.255", "185.67.100.0-185.67.103.255", "185.67.156.0-185.67.159.255", "185.67.212.0-185.67.215.255", "185.69.108.0-185.69.111.255", "185.70.60.0-185.70.63.255", "185.71.152.0-185.71.155.255", "185.71.192.0-185.71.195.255", "185.72.24.0-185.72.27.255", "185.72.80.0-185.72.83.255", "185.73.0.0-185.73.3.255", "185.73.76.0-185.73.79.255", "185.73.112.0-185.73.112.255", "185.73.114.0-185.73.114.255", "185.73.226.0-185.73.226.255", "185.74.164.0-185.74.167.255", "185.75.196.0-185.75.199.255", "185.75.204.0-185.75.207.255", "185.76.248.0-185.76.251.255", "185.78.20.0-185.78.23.255", "185.79.60.0-185.79.63.255", "185.79.96.0-185.79.99.255", "185.79.156.0-185.79.159.255", "185.80.100.0-185.80.103.255", "185.80.197.0-185.80.199.255", "185.81.40.0-185.81.43.255", "185.81.96.0-185.81.97.255", "185.81.99.0-185.81.99.255", "185.82.28.0-185.82.31.255", "185.82.64.0-185.82.67.255", "185.82.136.0-185.82.139.255", "185.82.164.0-185.82.167.255", "185.82.180.0-185.82.183.255", "185.83.28.0-185.83.31.255", "185.83.76.0-185.83.83.255", "185.83.88.0-185.83.91.255", "185.83.112.0-185.83.115.255", "185.83.180.0-185.83.187.255", "185.83.196.0-185.83.203.255", "185.83.208.0-185.83.211.255", "185.84.220.0-185.84.223.255", "185.85.68.0-185.85.71.255", "185.85.136.0-185.85.139.255", "185.86.36.0-185.86.39.255", "185.86.180.0-185.86.183.255", "185.88.11.0-185.88.11.255", "185.88.48.0-185.88.51.255", "185.88.152.0-185.88.155.255", "185.88.176.0-185.88.179.255", "185.88.252.0-185.88.255.255", "185.89.112.0-185.89.115.255", "185.92.4.0-185.92.11.255", "185.92.40.0-185.92.43.255", "185.94.96.0-185.94.99.127", "185.94.99.136-185.94.99.255", "185.95.60.0-185.95.63.255", "185.95.152.0-185.95.155.255", "185.95.180.0-185.95.183.255", "185.96.240.0-185.96.243.255", "185.97.116.0-185.97.119.255", "185.98.112.0-185.98.115.255", "185.99.212.0-185.99.215.255", "185.100.44.0-185.100.47.255", "185.101.228.0-185.101.231.255", "185.103.84.0-185.103.87.255", "185.103.128.0-185.103.131.255", "185.103.244.0-185.103.251.255", "185.104.192.0-185.104.192.255", "185.104.228.0-185.104.235.255", "185.104.240.0-185.104.243.255", "185.105.100.0-185.105.103.255", "185.105.120.0-185.105.123.255", "185.105.184.0-185.105.187.255", "185.105.236.0-185.105.239.255", "185.106.136.0-185.106.139.255", "185.106.144.0-185.106.147.255", "185.106.200.0-185.106.203.255", "185.106.228.0-185.106.231.255", "185.107.28.0-185.107.33.255", "185.107.244.0-185.107.251.255", "185.108.96.0-185.108.99.255", "185.108.164.0-185.108.167.255", "185.109.60.0-185.109.63.255", "185.109.72.0-185.109.75.255", "185.109.80.0-185.109.83.255", "185.109.128.0-185.109.131.255", "185.109.244.0-185.109.251.255", "185.110.28.0-185.110.31.255", "185.110.216.0-185.110.219.255", "185.110.228.0-185.110.231.255", "185.110.236.0-185.110.239.255", "185.110.244.0-185.110.247.255", "185.110.252.120-185.110.252.255", "185.110.254.0-185.110.255.255", "185.111.8.0-185.111.15.255", "185.111.64.0-185.111.67.255", "185.111.80.0-185.111.83.255", "185.111.136.0-185.111.139.255", "185.112.32.0-185.112.39.255", "185.112.130.0-185.112.131.255", "185.112.148.0-185.112.151.255", "185.112.168.0-185.112.171.255", "185.113.56.0-185.113.59.255", "185.113.112.0-185.113.115.255", "185.114.188.0-185.114.191.255", "185.115.76.0-185.115.79.255", "185.115.148.0-185.115.151.255", "185.115.168.0-185.115.171.255", "185.116.20.0-185.116.27.255", "185.116.44.0-185.116.47.255", "185.116.160.0-185.116.163.255", "185.117.48.0-185.117.51.255", "185.117.136.0-185.117.139.255", "185.117.204.0-185.117.207.255", "185.118.12.0-185.118.15.255", "185.118.136.0-185.118.139.255", "185.118.154.0-185.118.155.255", "185.119.4.0-185.119.7.255", "185.119.164.0-185.119.167.255", "185.119.240.0-185.119.243.255", "185.120.120.0-185.120.123.255", "185.120.136.0-185.120.139.255", "185.120.160.0-185.120.163.255", "185.120.168.0-185.120.171.255", "185.120.192.0-185.120.203.255", "185.120.208.0-185.120.251.255", "185.121.56.0-185.121.59.255", "185.121.128.0-185.121.131.255", "185.122.80.0-185.122.83.255", "185.123.68.0-185.123.71.255", "185.123.208.0-185.123.211.255", "185.124.112.0-185.124.115.255", "185.124.156.0-185.124.159.255", "185.124.172.0-185.124.175.255", "185.125.20.0-185.125.23.255", "185.125.244.0-185.126.19.255", "185.126.40.0-185.126.43.255", "185.126.132.0-185.126.135.255", "185.126.156.0-185.126.159.255", "185.126.200.0-185.126.203.255", "185.127.232.0-185.127.235.255", "185.128.48.0-185.128.51.255", "185.128.80.0-185.128.83.255", "185.128.136.0-185.128.139.255", "185.128.152.0-185.128.155.255", "185.128.164.0-185.128.167.255", "185.129.80.0-185.129.83.255", "185.129.168.0-185.129.171.255", "185.129.184.0-185.129.191.255", "185.129.196.0-185.129.203.255", "185.129.212.0-185.129.219.255", "185.129.228.0-185.129.243.255", "185.130.76.0-185.130.79.255", "185.131.28.0-185.131.31.255", "185.131.84.0-185.131.95.255", "185.131.100.0-185.131.103.255", "185.131.108.0-185.131.119.255", "185.131.124.0-185.131.131.255", "185.131.136.0-185.131.143.255", "185.131.148.0-185.131.159.255", "185.131.164.0-185.131.171.255", "185.132.80.0-185.132.83.255", "185.132.212.0-185.132.215.255", "185.133.152.0-185.133.155.255", "185.133.164.0-185.133.167.255", "185.133.244.0-185.133.246.255", "185.134.96.0-185.134.99.255", "185.135.28.0-185.135.31.255", "185.135.228.0-185.135.231.255", "185.136.100.0-185.136.103.255", "185.136.172.0-185.136.175.255", "185.136.180.0-185.136.183.255", "185.136.192.0-185.136.195.255", "185.136.220.0-185.136.223.255", "185.137.24.0-185.137.27.255", "185.137.60.0-185.137.63.255", "185.137.108.0-185.137.110.255", "185.139.64.0-185.139.67.255", "185.140.4.0-185.140.7.255", "185.140.56.0-185.140.59.255", "185.140.232.0-185.140.235.255", "185.140.240.0-185.140.243.255", "185.141.36.0-185.141.39.255", "185.141.48.0-185.141.51.255", "185.141.104.0-185.141.107.255", "185.141.132.0-185.141.135.255", "185.141.168.0-185.141.171.255", "185.141.212.0-185.141.215.255", "185.141.244.0-185.141.247.255", "185.142.92.0-185.142.95.255", "185.142.124.0-185.142.127.255", "185.142.156.0-185.142.159.255", "185.142.232.0-185.142.235.255", "185.143.204.0-185.143.207.255", "185.144.64.0-185.144.67.255", "185.145.8.0-185.145.11.255", "185.145.184.0-185.145.187.255", "185.147.40.0-185.147.43.255", "185.147.84.0-185.147.87.255", "185.147.160.0-185.147.163.255", "185.147.176.0-185.147.179.255", "185.150.108.0-185.150.111.255", "185.151.96.0-185.151.99.255", "185.153.184.0-185.153.187.255", "185.153.208.0-185.153.211.255", "185.154.184.0-185.154.187.255", "185.155.8.0-185.155.15.255", "185.155.72.0-185.155.75.255", "185.155.236.0-185.155.239.255", "185.156.44.0-185.156.47.255", "185.157.8.0-185.157.11.255", "185.158.172.0-185.158.175.255", "185.159.152.0-185.159.155.255", "185.159.176.0-185.159.179.255", "185.160.104.0-185.160.107.255", "185.160.176.0-185.160.179.255", "185.161.36.0-185.161.39.255", "185.161.112.0-185.161.115.255", "185.162.40.0-185.162.43.255", "185.162.216.0-185.162.219.255", "185.163.88.0-185.163.91.255", "185.164.73.0-185.164.75.255", "185.164.252.0-185.164.255.255", "185.165.28.0-185.165.31.255", "185.165.40.0-185.165.43.255", "185.165.100.0-185.165.103.255", "185.165.116.0-185.165.119.255", "185.165.204.0-185.165.207.255", "185.166.60.0-185.166.63.255", "185.166.104.0-185.166.107.255", "185.166.112.0-185.166.115.255", "185.167.72.0-185.167.75.255", "185.167.100.0-185.167.103.255", "185.167.124.0-185.167.127.255", "185.168.28.0-185.168.31.255", "185.169.6.0-185.169.6.255", "185.169.20.0-185.169.23.255", "185.169.36.0-185.169.39.255", "185.170.236.0-185.170.239.255", "185.171.52.0-185.171.55.255", "185.172.0.0-185.172.3.255", "185.172.68.0-185.172.71.255", "185.172.212.0-185.172.215.255", "185.173.104.0-185.173.107.255", "185.173.168.0-185.173.171.255", "185.174.132.0-185.174.135.255", "185.174.200.0-185.174.203.255", "185.174.248.0-185.174.251.255", "185.175.76.0-185.175.79.255", "185.175.240.0-185.175.243.255", "185.176.32.0-185.176.35.255", "185.176.56.0-185.176.59.255", "185.177.156.0-185.177.159.255", "185.177.232.0-185.177.235.255", "185.178.104.0-185.178.107.255", "185.178.220.0-185.178.223.255", "185.179.168.0-185.179.171.255", "185.179.220.0-185.179.223.255", "185.180.52.0-185.180.55.255", "185.180.128.0-185.180.131.255", "185.181.180.0-185.181.183.255", "185.182.220.0-185.182.223.255", "185.182.248.0-185.182.251.255", "185.183.128.0-185.183.131.255", "185.184.32.0-185.184.35.255", "185.184.48.0-185.184.51.255", "185.185.16.0-185.185.19.255", "185.185.240.0-185.185.243.255", "185.186.48.0-185.186.51.255", "185.186.240.0-185.186.243.255", "185.187.48.0-185.187.51.255", "185.187.84.0-185.187.87.255", "185.188.104.0-185.188.107.255", "185.188.112.0-185.188.115.255", "185.189.120.0-185.189.123.255", "185.190.20.0-185.190.23.255", "185.190.39.0-185.190.39.255", "185.191.76.0-185.191.79.255", "185.192.8.0-185.192.11.255", "185.192.112.0-185.192.115.255", "185.193.208.0-185.193.211.255", "185.194.76.0-185.194.79.255", "185.194.244.0-185.194.247.255", "185.195.72.0-185.195.75.255", "185.196.148.0-185.196.151.255", "185.197.68.0-185.197.71.255", "185.197.112.0-185.197.115.255", "185.198.160.0-185.198.163.255", "185.198.252.0-185.198.255.255", "185.199.64.0-185.199.67.255", "185.199.208.0-185.199.211.255", "185.201.48.0-185.201.51.255", "185.202.56.0-185.202.59.255", "185.202.92.0-185.202.95.255", "185.203.160.0-185.203.163.255", "185.204.168.0-185.204.171.255", "185.204.180.0-185.204.183.255", "185.205.203.0-185.205.203.255", "185.205.220.0-185.205.223.255", "185.206.92.0-185.206.95.255", "185.206.236.0-185.206.239.255", "185.207.4.0-185.207.7.255", "185.207.52.0-185.207.55.255", "185.207.72.0-185.207.75.255", "185.208.76.0-185.208.79.255", "185.208.148.0-185.208.151.255", "185.208.174.0-185.208.175.255", "185.208.180.0-185.208.183.255", "185.209.188.0-185.209.191.255", "185.210.200.0-185.210.203.255", "185.211.56.0-185.211.59.255", "185.211.84.0-185.211.91.255", "185.212.48.0-185.212.51.255", "185.212.192.0-185.212.195.255", "185.213.8.0-185.213.11.255", "185.213.164.0-185.213.167.255", "185.214.36.0-185.214.39.255", "185.215.124.0-185.215.127.255", "185.215.152.0-185.215.155.255", "185.215.228.0-185.215.231.255", "185.215.244.0-185.215.246.255", "185.216.124.0-185.216.127.255", "185.217.39.0-185.217.39.255", "185.217.160.0-185.217.163.255", "185.219.112.0-185.219.115.255", "185.220.224.0-185.220.227.255", "185.221.112.0-185.221.115.255", "185.221.192.0-185.221.195.255", "185.221.239.0-185.221.239.255", "185.222.120.0-185.222.123.255", "185.222.180.0-185.222.187.255", "185.222.210.0-185.222.210.255", "185.223.160.0-185.223.160.255", "185.224.176.0-185.224.179.255", "185.225.80.0-185.225.83.255", "185.225.180.0-185.225.183.255", "185.225.240.0-185.225.243.255", "185.226.97.0-185.226.97.255", "185.226.116.0-185.226.119.255", "185.226.132.0-185.226.135.255", "185.226.140.0-185.226.143.255", "185.227.64.0-185.227.67.255", "185.227.116.0-185.227.119.255", "185.228.236.0-185.228.239.255", "185.229.0.0-185.229.3.255", "185.229.28.0-185.229.31.255", "185.229.204.0-185.229.204.255", "185.231.65.0-185.231.65.255", "185.231.112.0-185.231.112.255", "185.231.114.0-185.231.115.255", "185.231.180.0-185.231.183.255", "185.232.152.0-185.232.155.255", "185.232.176.0-185.232.179.255", "185.233.12.0-185.233.15.255", "185.233.84.0-185.233.87.255", "185.234.192.0-185.234.195.255", "185.235.136.0-185.235.139.255", "185.236.36.0-185.236.39.255", "185.236.88.0-185.236.91.255", "185.237.8.0-185.237.11.255", "185.237.84.0-185.237.87.255", "185.238.20.0-185.238.23.255", "185.238.44.0-185.238.47.255", "185.238.92.0-185.238.95.255", "185.239.0.0-185.239.3.255", "185.239.104.0-185.239.107.255", "185.240.56.0-185.240.59.255", "185.240.148.0-185.240.151.255", "185.243.48.0-185.243.51.255", "185.244.52.0-185.244.55.255", "185.246.4.0-185.246.7.255", "185.248.32.0-185.248.32.255", "185.251.76.0-185.251.79.255", "185.252.28.0-185.252.31.255", "185.252.200.0-185.252.200.255", "185.254.165.0-185.254.166.255", "185.255.68.0-185.255.71.255", "185.255.88.0-185.255.91.255", "185.255.208.0-185.255.211.255", "188.0.240.0-188.0.255.255", "188.34.0.0-188.34.127.255", "188.75.64.0-188.75.127.255", "188.94.188.0-188.94.188.255", "188.95.89.0-188.95.89.255", "188.118.64.0-188.118.127.255", "188.121.96.0-188.121.159.255", "188.122.96.0-188.122.127.255", "188.136.128.0-188.136.223.255", "188.158.0.0-188.159.255.255", "188.191.176.0-188.191.183.255", "188.208.56.0-188.208.95.255", "188.208.144.0-188.208.191.255", "188.208.200.0-188.208.203.255", "188.208.208.0-188.208.215.255", "188.208.224.0-188.209.47.255", "188.209.64.0-188.209.79.255", "188.209.128.0-188.209.143.255", "188.209.152.0-188.209.153.255", "188.209.192.0-188.209.207.255", "188.210.64.0-188.210.87.255", "188.210.96.0-188.210.207.255", "188.210.232.0-188.210.235.255", "188.211.0.0-188.211.15.255", "188.211.32.0-188.211.159.255", "188.211.176.0-188.211.223.255", "188.212.6.0-188.212.7.255", "188.212.22.0-188.212.22.255", "188.212.48.0-188.212.99.255", "188.212.144.0-188.212.151.255", "188.212.160.0-188.212.191.255", "188.212.200.0-188.212.247.255", "188.213.64.0-188.213.79.255", "188.213.96.0-188.213.127.255", "188.213.144.0-188.213.159.255", "188.213.176.0-188.213.199.255", "188.213.208.0-188.213.211.255", "188.214.4.0-188.214.7.255", "188.214.84.0-188.214.87.255", "188.214.96.0-188.214.99.255", "188.214.120.0-188.214.121.255", "188.214.160.0-188.214.191.255", "188.214.216.0-188.214.223.255", "188.214.232.0-188.214.239.255", "188.215.24.0-188.215.27.255", "188.215.88.0-188.215.91.255", "188.215.128.0-188.215.143.255", "188.215.160.0-188.215.223.255", "188.215.240.0-188.215.243.255", "188.229.0.0-188.229.127.255", "188.240.196.0-188.240.196.255", "188.240.212.0-188.240.212.255", "188.240.248.0-188.240.255.255", "188.245.112.0-188.245.112.255", "188.245.176.0-188.245.176.255", "188.253.2.0-188.253.127.255", "192.15.0.0-192.15.255.255", "192.167.140.66-192.167.140.66", "193.0.156.0-193.0.156.255", "193.3.31.0-193.3.31.255", "193.3.231.0-193.3.231.255", "193.3.255.0-193.3.255.255", "193.8.139.0-193.8.139.255", "193.19.144.0-193.19.145.255", "193.22.20.0-193.22.20.255", "193.26.14.0-193.26.14.255", "193.28.181.0-193.28.181.255", "193.29.17.0-193.29.18.255", "193.29.24.0-193.29.24.255", "193.29.26.0-193.29.26.255", "193.32.80.0-193.32.81.255", "193.34.244.0-193.34.247.255", "193.35.62.0-193.35.62.255", "193.56.59.0-193.56.59.255", "193.56.61.0-193.56.61.255", "193.56.107.0-193.56.107.255", "193.56.118.0-193.56.118.255", "193.104.22.0-193.104.22.255", "193.104.212.0-193.104.212.255", "193.105.2.0-193.105.2.255", "193.105.6.0-193.105.6.255", "193.105.234.0-193.105.234.255", "193.108.242.0-193.108.243.255", "193.111.234.0-193.111.235.255", "193.134.100.0-193.134.101.255", "193.141.64.0-193.141.65.255", "193.141.126.0-193.141.127.255", "193.142.30.0-193.142.30.255", "193.142.232.0-193.142.233.255", "193.142.254.0-193.142.255.255", "193.148.64.0-193.148.67.255", "193.151.128.0-193.151.159.255", "193.176.240.0-193.176.243.255", "193.178.200.0-193.178.203.255", "193.189.122.0-193.189.123.255", "193.200.148.0-193.200.148.255", "193.201.192.0-193.201.195.255", "193.222.51.0-193.222.51.255", "193.228.91.0-193.228.91.255", "193.239.196.0-193.239.197.255", "193.239.236.0-193.239.237.255", "193.242.194.0-193.242.195.255", "193.242.208.0-193.242.209.255", "193.246.160.0-193.246.161.255", "193.246.164.0-193.246.165.255", "193.246.174.0-193.246.175.255", "193.246.200.0-193.246.201.255", "194.5.40.0-194.5.43.255", "194.5.175.0-194.5.179.255", "194.5.188.0-194.5.188.255", "194.5.195.0-194.5.195.255", "194.5.205.0-194.5.205.255", "194.9.56.0-194.9.57.255", "194.9.80.0-194.9.81.255", "194.15.96.0-194.15.99.255", "194.26.2.0-194.26.3.255", "194.26.20.0-194.26.21.255", "194.33.104.0-194.33.107.255", "194.33.122.0-194.33.127.255", "194.34.163.0-194.34.163.255", "194.36.174.0-194.36.174.255", "194.39.36.0-194.39.39.255", "194.41.48.0-194.41.51.255", "194.50.204.0-194.50.204.255", "194.50.209.0-194.50.209.255", "194.50.216.0-194.50.216.255", "194.50.218.0-194.50.218.255", "194.53.118.0-194.53.119.255", "194.53.122.0-194.53.123.255", "194.59.170.0-194.59.171.255", "194.59.214.0-194.59.215.255", "194.60.208.0-194.60.211.255", "194.60.228.0-194.60.231.255", "194.87.23.0-194.87.23.255", "194.143.140.0-194.143.141.255", "194.146.148.0-194.146.151.255", "194.146.239.0-194.146.239.255", "194.147.164.0-194.147.167.255", "194.150.68.0-194.150.71.255", "194.156.140.0-194.156.143.255", "194.225.0.0-194.225.255.255", "195.8.102.0-195.8.102.255", "195.8.110.0-195.8.110.255", "195.8.112.0-195.8.112.255", "195.8.114.0-195.8.114.255", "195.20.136.0-195.20.136.255", "195.27.14.0-195.27.14.7", "195.28.10.0-195.28.11.255", "195.28.168.0-195.28.169.255", "195.88.188.0-195.88.189.255", "195.110.38.0-195.110.39.255", "195.114.4.0-195.114.5.255", "195.114.8.0-195.114.9.255", "195.146.32.0-195.146.63.255", "195.170.163.0-195.170.163.255", "195.181.0.0-195.181.127.255", "195.191.22.0-195.191.23.255", "195.191.44.0-195.191.45.255", "195.191.74.0-195.191.75.255", "195.211.44.0-195.211.47.255", "195.219.71.0-195.219.71.255", "195.226.223.0-195.226.223.255", "195.230.97.0-195.230.97.255", "195.230.105.0-195.230.105.255", "195.230.107.0-195.230.107.255", "195.230.124.0-195.230.124.255", "195.234.191.0-195.234.191.255", "195.238.231.0-195.238.231.255", "195.238.240.0-195.238.240.255", "195.238.247.0-195.238.247.255", "195.245.70.0-195.245.71.255", "196.3.91.0-196.3.91.255", "198.46.135.24-198.46.135.31", "204.18.0.0-204.18.255.255", "204.245.22.24-204.245.22.27", "204.245.22.29-204.245.22.31", "209.28.123.0-209.28.123.63", "210.5.196.64-210.5.196.127", "210.5.197.64-210.5.197.127", "210.5.198.32-210.5.198.39", "210.5.198.64-210.5.198.79", "210.5.198.96-210.5.198.223", "210.5.204.0-210.5.204.127", "210.5.205.0-210.5.205.63", "210.5.208.0-210.5.208.63", "210.5.208.128-210.5.209.127", "210.5.214.192-210.5.214.255", "210.5.218.64-210.5.218.255", "210.5.232.0-210.5.232.127", "210.5.233.0-210.5.233.191", "212.1.192.0-212.1.199.255", "212.16.64.0-212.16.95.255", "212.33.192.0-212.33.223.255", "212.80.0.0-212.80.31.255", "212.86.64.0-212.86.95.255", "212.115.124.1-212.115.127.255", "212.120.146.104-212.120.146.111", "212.120.146.128-212.120.146.135", "212.120.192.0-212.120.223.255", "212.151.182.155-212.151.182.157", "212.151.186.154-212.151.186.156", "213.108.240.0-213.108.243.255", "213.109.240.0-213.109.255.255", "213.176.0.0-213.176.31.255", "213.176.64.0-213.176.127.255", "213.195.0.0-213.195.63.255", "213.207.192.0-213.207.255.255", "213.217.32.0-213.217.63.255", "213.232.124.0-213.232.127.255", "213.233.160.0-213.233.191.255", "217.11.16.0-217.11.31.255", "217.24.144.0-217.24.159.255", "217.25.48.0-217.25.63.255", "217.60.0.0-217.60.255.255", "217.66.192.0-217.66.223.255", "217.77.112.0-217.77.127.255", "217.144.104.0-217.144.107.255", "217.146.208.0-217.146.223.255", "217.161.16.0-217.161.16.255", "217.170.240.0-217.170.255.255", "217.171.145.0-217.171.145.255", "217.171.148.0-217.171.151.255", "217.171.191.220-217.171.191.223", "217.172.98.0-217.172.99.255", "217.172.102.0-217.172.118.255", "217.172.120.0-217.172.127.255", "217.174.16.0-217.174.31.255", "217.218.0.0-217.219.204.255", "217.219.205.64-217.219.255.255", ); $client_ip = adwisedGetUserIpAddr(); foreach ($ipRanges as $ipRange) { $isIranIp = adwised_ip_in_range($client_ip, $ipRange); if ($isIranIp) { return true; } } return false; }