It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://feeds.feedburner.com/dudekblog/

  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <head>
  4. <!--
  5. S: blog.dudek.com
  6. U: FeedBurner/1.0 (http://www.FeedBurner.com)
  7. -->
  8. <meta charset="utf-8"/>
  9. <meta name="viewport" content="width=device-width, initial-scale=1">
  10. <meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
  11. <title>Robot Challenge Screen</title>
  12. <link rel="icon" href="data:;">
  13. <style>
  14. #BD_Captcha_CaptchaDiv { margin: auto; clear: both; }
  15. #BD_Captcha_CaptchaDiv div { float: left; }
  16. .incorrect { color: #F00;}
  17. .correct { color: #0F0;}
  18. .rotate { animation: rotation 2s infinite linear; }
  19. @keyframes rotation {
  20. from { transform: rotate(0deg); }
  21. to   { transform: rotate(359deg); }
  22. }
  23. </style>
  24. <script type="text/javascript">//<![CDATA[
  25. if (typeof(BotDetect) == "undefined") { // start single inclusion guard
  26.  
  27.  BotDetect = function(captchaId, instanceId, inputId, autoUppercaseInput, autoFocusInput, autoClearInput, autoReloadExpiredImage, autoReloadPeriod, autoReloadTimeout, soundStartDelay, limitSoundRegeneration) {
  28.    this.Id = captchaId;
  29.    this.InstanceId = instanceId;
  30.  
  31.    // Captcha image properties
  32.    var imageId = captchaId + "_CaptchaImage";
  33.    this.Image = document.getElementById(imageId);
  34.    this.ImagePlaceholder = this.Image.parentNode;
  35.  
  36.    this.ControlsDisabled = false;
  37.  
  38.    // check for Captcha Reload icon presence
  39.    var reloadLinkId = captchaId + "_ReloadLink";
  40.    var reloadLink = document.getElementById(reloadLinkId);
  41.    if (reloadLink) {
  42.      // show Captcha Reload icon
  43.      reloadLink.style.cssText = 'display: inline-block !important';
  44.  
  45.      // init reloading elements
  46.      this.NewImage = null;
  47.      this.ProgressIndicator = null;
  48.      this.ReloadTimer = null;
  49.      this.ReloadTimerTicks = 0;
  50.  
  51.      // Captcha image auto-reloading
  52.      this.AutoReloadPeriod = Math.max((autoReloadPeriod - 10), 10) * 1000;
  53.      this.AutoReloadTimeout = autoReloadTimeout * 1000;
  54.      this.AutoReloadExpiredImage = autoReloadExpiredImage;
  55.      this.AutoReloadPeriodSum = 0;
  56.      this.AutoReloading = false;
  57.      if (autoReloadExpiredImage) {
  58.        if (this.AutoReloadTimer) { clearTimeout(this.AutoReloadTimer); }
  59.        var self = this;
  60.        this.AutoReloadTimer = setTimeout(
  61.          function() {
  62.            clearTimeout(self.AutoReloadTimer);
  63.            if (self.AutoReloadPeriodSum >= self.AutoReloadTimeout) { self.DisableControls(); self.SessionExpired = true; return; }
  64.            self.AutoReloading = true;
  65.            self.ReloadImage();
  66.            self.AutoReloading = false;
  67.            self.AutoReloadPeriodSum += self.AutoReloadPeriod;
  68.            self = null;
  69.          },
  70.          self.AutoReloadPeriod
  71.        );
  72.      }
  73.    }
  74.  
  75.    // pre-load disabled reload icon
  76.    var reloadIcon = document.getElementById(this.Id + "_ReloadIcon");
  77.    if (reloadIcon) {
  78.      this.ReloadIconSrc = document.getElementById(this.Id + "_ReloadIcon").src;
  79.      this.DisabledReloadIconSrc = null;
  80.      var preloadedReloadIcon = document.createElement('img');
  81.      var self2 = this;
  82.      preloadedReloadIcon.onload = function() {
  83.        self2.DisabledReloadIconSrc = this.src;
  84.        self2 = null;
  85.      };
  86.      //preloadedReloadIcon.src = this.ReloadIconSrc.replace('icon', 'disabled-icon');
  87.    }
  88.  
  89.    // Captcha sound properties
  90.    this.SoundStartDelay = soundStartDelay;
  91.    this.LimitSoundRegeneration = limitSoundRegeneration;
  92.    this.SoundPlayed = false;
  93.    this.SoundPlayDelayed = false;
  94.    var soundLinkId = captchaId + "_SoundLink";
  95.    var soundLink = document.getElementById(soundLinkId);
  96.    if (soundLink) {
  97.      this.SoundUrl = soundLink.href;
  98.    }
  99.    var soundPlaceholderId = captchaId + "_AudioPlaceholder";
  100.    this.SoundPlaceholder = document.getElementById(soundPlaceholderId);
  101.  
  102.    // pre-load disabled sound icon
  103.    var soundIcon = document.getElementById(this.Id + "_SoundIcon");
  104.    if (soundIcon) {
  105.      this.SoundIconSrc = document.getElementById(this.Id + "_SoundIcon").src;
  106.      this.DisabledSoundIconSrc = null;
  107.      var preloadedSoundIcon = document.createElement('img');
  108.      var self3 = this;
  109.      preloadedSoundIcon.onload = function() {
  110.        self3.DisabledSoundIconSrc = this.src;
  111.        self3 = null;
  112.      };
  113.      //preloadedSoundIcon.src = this.SoundIconSrc.replace('icon', 'disabled-icon');
  114.    }
  115.  
  116.    // Captcha input textbox properties
  117.    this.ValidationUrl = this.Image.src.replace('get=image', 'get=validation-result');
  118.  
  119.    // Captcha help link properties
  120.    this.FollowHelpLink = true;
  121.  
  122.    // Captcha code user input element registration, helpers & processing
  123.    if (!inputId) return;
  124.    this.InputId = inputId;
  125.    var input = document.getElementById(inputId);
  126.    if (!input) return;
  127.  
  128.    input.Captcha = this; // allow access to the BotDetect object via the input element
  129.  
  130.    // automatic input processing
  131.    this.AutoFocusInput = autoFocusInput;
  132.    this.AutoClearInput = autoClearInput;
  133.    if (autoUppercaseInput) {
  134.      input.style.textTransform = 'uppercase';
  135.    }
  136.  };
  137.  
  138.  BotDetect.Init = function(captchaId, instanceId, inputId, autoUppercaseInput, autoFocusInput, autoClearInput, autoReloadExpiredImage, autoReloadPeriod, autoReloadTimeout, soundStartDelay, limitSoundRegeneration) {
  139.    var inputIdString = null;
  140.    if (inputId) {
  141.      inputIdString = "'" + inputId + "'";
  142.    }
  143.  
  144.    var actualInitialization = new Function("if (document.getElementById('" + captchaId + "_CaptchaImage')) { window['" + captchaId + "'] = new BotDetect('" + captchaId + "', '" + instanceId + "', " + inputIdString + ", " + autoUppercaseInput + ", " + autoFocusInput + ", " + autoClearInput + ", " + autoReloadExpiredImage + ", " + autoReloadPeriod + ", " + autoReloadTimeout + ", " + soundStartDelay + ", " + limitSoundRegeneration + "); window['" + captchaId + "'].PostInit(); }");
  145.  
  146.    if (typeof(window.jQuery) != "undefined") {
  147.      // jQuery initalization
  148.      jQuery(actualInitialization);
  149.    } else {
  150.      // regular initialization
  151.      BotDetect.RegisterHandler(window, 'domready', actualInitialization, false);
  152.    }
  153.  
  154.    // back button image reload to avoid cache issues
  155.    if (window.opera) {
  156.      BotDetect.RegisterHandler(window, 'popstate', function (e) { window[captchaId].ReloadImage(); }, false);
  157.    } else if (window.chrome) {
  158.      BotDetect.RegisterHandler(window, 'domready', function (e) { var el = document.getElementById("BDC_BackWorkaround_" + captchaId); if (el.value == "0") { el.value = "1"; } else { el.value = "0"; window[captchaId].ReloadImage(); } }, false);
  159.    } else { // firefox & safari
  160.      BotDetect.RegisterHandler(window, 'pageshow', function (e) { var el = document.getElementById("BDC_BackWorkaround_" + captchaId); if (el.value == "0") { el.value = "1"; } else { window[captchaId].ReloadImage(); } }, false);
  161.    }
  162.  };
  163.  
  164.  
  165.  // constants
  166.  BotDetect.ReloadTimerMaxTicks = 100;
  167.  BotDetect.ReloadTimerDelay = 250;
  168.  BotDetect.MillisecondsInAMinute = 60000;
  169.  BotDetect.AjaxTimeout = 10000;
  170.  BotDetect.MinSoundCooldown = 2000;
  171.  
  172.  
  173.  // CAPTCHA image reloading
  174.  BotDetect.prototype.ReloadImage = function() {
  175.    if (this.Image && !this.ReloadInProgress && !this.SessionExpired && (!this.ControlsDisabled || this.SoundPlayDelayed)) {
  176.      this.ReloadInProgress = true;
  177.      this.DisableControls();
  178.      this.ProgressIndicator = document.createElement('span');
  179.      this.ProgressIndicator.className = 'BDC_ProgressIndicator';
  180.      this.ProgressIndicator.appendChild(document.createTextNode('.'));
  181.      this.PreReloadImage();
  182.  
  183.      var imageUrl = BotDetect.UpdateTimestamp(this.Image.src);
  184.      this.InitNewImage(imageUrl);
  185.  
  186.      this.ImagePlaceholder.innerHTML = '';
  187.      this.ImagePlaceholder.appendChild(this.ProgressIndicator);
  188.  
  189.      this.ShowProgress();
  190.    }
  191.  };
  192.  
  193.  BotDetect.prototype.InitNewImage = function(imageUrl) {
  194.    this.NewImage = document.createElement('img');
  195.    var self = this;
  196.    this.NewImage.onload = function() {
  197.      if (self.NewImage && self.ImagePlaceholder && self.ProgressIndicator) {
  198.        self.ImagePlaceholder.innerHTML = '';
  199.        self.ImagePlaceholder.appendChild(self.NewImage);
  200.        self.Image = self.NewImage;
  201.        self.ProgressIndicator = null;
  202.        self.PostReloadImage();
  203.        self = null;
  204.      }
  205.    };
  206.    this.NewImage.id = this.Image.id;
  207.    this.NewImage.alt = this.Image.alt;
  208.    this.NewImage.src = imageUrl;
  209.  };
  210.  
  211.  BotDetect.prototype.ShowProgress = function() {
  212.    if (this.ProgressIndicator && (this.ReloadTimerTicks < BotDetect.ReloadTimerMaxTicks)) {
  213.      this.ReloadTimerTicks = this.ReloadTimerTicks + 1;
  214.      this.UpdateProgressIndicator();
  215.      var self = this;
  216.      this.ReloadTimer = setTimeout(function() { self.ShowProgress(); self = null; }, BotDetect.ReloadTimerDelay);
  217.    } else {
  218.      clearTimeout(this.ReloadTimer);
  219.      this.ReloadTimerTicks = 0;
  220.      this.ReloadInProgress = false;
  221.    }
  222.  };
  223.  
  224.  BotDetect.prototype.UpdateProgressIndicator = function() {
  225.    if (0 == this.ProgressIndicator.childNodes.length) {
  226.      this.ProgressIndicator.appendChild(document.createTextNode('.'));
  227.      return;
  228.    }
  229.    if (0 === this.ReloadTimerTicks % 5) {
  230.      this.ProgressIndicator.firstChild.nodeValue = '.';
  231.    } else {
  232.      this.ProgressIndicator.firstChild.nodeValue = this.ProgressIndicator.firstChild.nodeValue + '.';
  233.    }
  234.  };
  235.  
  236.  
  237.  // CAPTCHA sound playing
  238.  BotDetect.prototype.PlaySound = function() {
  239.    if (!document.getElementById || this.SoundPlayingInProgess || (this.ControlsDisabled && !this.SoundPlayDelayed)) { return; }
  240.  
  241.    this.DisableControls();
  242.    
  243.    if (this.LimitSoundRegeneration && !BotDetect.SoundReplaySupported()) {
  244.      // reload the captcha image and play the new sound
  245.      if (this.SoundPlayed) {
  246.        this.SoundPlayDelayed = true;
  247.        this.ReloadImage();
  248.        return;
  249.      }
  250.    }
  251.  
  252.    this.SoundPlayingInProgess = true;
  253.  
  254.    if (BotDetect.UseHtml5Audio()) { // html5 audio
  255.      var self = this;
  256.      var sound = document.getElementById('BDC_CaptchaSoundAudio_' + this.Id);
  257.      if (sound) { // replay existing audio, with the correct delay
  258.        sound.currentTime = 0;
  259.  
  260.        this.SoundStartDelayTimer = setTimeout(
  261.          function() {
  262.            if (self) {
  263.              clearTimeout(self.SoundStartDelayTimer);
  264.              self.PrePlaySound();
  265.              var sound = document.getElementById('BDC_CaptchaSoundAudio_' + self.Id);
  266.              sound.play();
  267.            }
  268.          },
  269.          this.SoundStartDelay
  270.        );
  271.  
  272.      } else { // play new audio
  273.        this.SoundPlaceholder.innerHTML = '';
  274.        var soundUrl = this.SoundUrl;
  275.        soundUrl = BotDetect.UpdateTimestamp(soundUrl);
  276.        soundUrl = BotDetect.DetectSsl(soundUrl);
  277.        sound = new Audio(soundUrl);
  278.        sound.id = 'BDC_CaptchaSoundAudio_' + this.Id;
  279.        sound.type = 'audio/wav';
  280.        sound.autobuffer = false;
  281.        sound.loop = false;
  282.        sound.autoplay = false;
  283.        sound.preload = 'auto';
  284.        this.SoundPlaceholder.appendChild(sound);
  285.  
  286.        sound.load();
  287.        BotDetect.RegisterHandler( // start counting the starting delay only when the sound is loaded
  288.          sound,
  289.          'canplay',
  290.          function() {
  291.            if (self) {
  292.              self.SoundStartDelayTimer = setTimeout(
  293.                function() {
  294.                  clearTimeout(self.SoundStartDelayTimer);
  295.                  self.PrePlaySound();
  296.                  var sound = document.getElementById('BDC_CaptchaSoundAudio_' + self.Id);
  297.                  sound.play();
  298.                },
  299.                self.SoundStartDelay
  300.              );
  301.            }
  302.          },
  303.          false
  304.        );
  305.      }
  306.  
  307.      // enable controls & other after-play cleanup
  308.      BotDetect.RegisterHandler(
  309.        sound,
  310.        'ended',
  311.        function() {
  312.          if (self) {
  313.            var sound = document.getElementById('BDC_CaptchaSoundAudio_' + self.Id);
  314.            if (sound.duration == 1) { // Android 4.0.4 issue
  315.              sound.play();
  316.            } else {
  317.              self.SoundPlayingInProgess = false;
  318.              self.EnableControls();
  319.              self = null;
  320.            }
  321.          }
  322.        },
  323.        false
  324.      );
  325.  
  326.    } else { // xhtml embed + object
  327.      this.SoundPlaceholder.innerHTML = '';
  328.      var self = this;
  329.      this.SoundStartDelayTimer = setTimeout(
  330.        function() {
  331.          clearTimeout(self.SoundStartDelayTimer);
  332.          self.PrePlaySound();
  333.          self.StartXhtmlSoundPlayback();
  334.        },
  335.        this.SoundStartDelay
  336.      );
  337.    }
  338.  
  339.    this.SoundPlayed = true;
  340.  };
  341.  
  342.  
  343.  BotDetect.prototype.StartXhtmlSoundPlayback = function() {
  344.    var soundUrl = this.SoundUrl;
  345.    soundUrl = BotDetect.UpdateTimestamp(soundUrl);
  346.    soundUrl = BotDetect.DetectSsl(soundUrl);
  347.  
  348.    var objectSrc = "<object id='BDC_CaptchaSoundObject_" + this.Id + "' classid='clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95' height='0' width='0' style='width:0; height:0;'><param name='AutoStart' value='1' /><param name='Volume' value='0' /><param name='PlayCount' value='1' /><param name='FileName' value='" + soundUrl + "' /><embed id='BDC_CaptchaSoundEmbed' src='" + soundUrl + "' autoplay='true' hidden='true' volume='100' type='" + BotDetect.GetMimeType() + "' style='display:inline;' /></object>";
  349.  
  350.    this.SoundPlaceholder.innerHTML = objectSrc;
  351.  
  352.    var self = this;
  353.    this.SoundCooldownTimer = setTimeout(
  354.      function() {
  355.        if (self) {
  356.          clearTimeout(self.SoundCooldownTimer);
  357.          self.SoundPlayingInProgess = false;
  358.          self.EnableControls();
  359.          self = null;
  360.        }
  361.      },
  362.      BotDetect.MinSoundCooldown
  363.    );
  364.  };
  365.  
  366.  
  367.  // input element access
  368.  BotDetect.prototype.GetInputElement = function() {
  369.    return document.getElementById(this.InputId);
  370.  };
  371.  
  372.  // CAPTCHA Ajax validation
  373.  BotDetect.prototype.StartAjaxValidation = function() {
  374.    this.PreAjaxValidate();
  375.    if (BotDetect.AjaxError) { return; }
  376.    var input = this.GetInputElement();
  377.    if (!input || !input.value || input.value.length < 0) {
  378.      this.AjaxValidationFailed();
  379.      return;
  380.    }
  381.    this.StartValidationRequest();
  382.  };
  383.  
  384.  BotDetect.prototype.StartValidationRequest = function() {
  385.    var input = this.GetInputElement();
  386.    var url = this.ValidationUrl + '&i=' + input.value;
  387.    var self = this;
  388.    var callback = function(y) {
  389.      clearTimeout(self.AjaxTimer);
  390.      if (200 != y.status) { self.AjaxValidationError(); self = null; return; }
  391.      var validationResult = false;
  392.      var parsed = BotDetect.ParseJson(y.responseText);
  393.      if (parsed) {
  394.        validationResult = parsed;
  395.      }
  396.      self.EndValidationRequest(validationResult);
  397.      self = null;
  398.    }
  399.    this.AjaxTimer = setTimeout(self.AjaxValidationError, BotDetect.AjaxTimeout);
  400.    BotDetect.Get(url, callback);
  401.  };
  402.  
  403.  BotDetect.prototype.EndValidationRequest = function(result) {
  404.    if (result) {
  405.      this.AjaxValidationPassed();
  406.    } else {
  407.      this.AjaxValidationFailed();
  408.    }
  409.  };
  410.  
  411.  BotDetect.ParseJson = function(jsonString) {
  412.    var resultObj = null;
  413.    if ("undefined" != typeof(JSON) && "function" == typeof(JSON.parse)) {
  414.      resultObj = JSON.parse(jsonString);
  415.    }
  416.    if (!resultObj) {
  417.      resultObj = eval('(' + jsonString + ')');
  418.    }
  419.    return resultObj;
  420.  };
  421.  
  422.  
  423.  // custom CAPTCHA events
  424.  
  425.  BotDetect.prototype.PostInit = function() {
  426.  };
  427.  
  428.  BotDetect.prototype.PreReloadImage = function() {
  429.    this.ClearInput();
  430.    this.FocusInput();
  431.  };
  432.  
  433.  BotDetect.prototype.PostReloadImage = function() {
  434.    this.ValidationUrl = this.Image.src.replace('get=image', 'get=validation-result');
  435.  
  436.    if (this.AutoReloadExpiredImage) {
  437.      if (this.AutoReloadTimer) { clearTimeout(this.AutoReloadTimer); }
  438.      var self = this;
  439.      this.AutoReloadTimer = setTimeout(
  440.        function() {
  441.          clearTimeout(self.AutoReloadTimer);
  442.          if (self.AutoReloadPeriodSum >= self.AutoReloadTimeout) { self.DisableControls(); self.SessionExpired = true; return; }
  443.          self.AutoReloading = true;
  444.          self.ReloadImage();
  445.          self.AutoReloading = false;
  446.          self.AutoReloadPeriodSum += self.AutoReloadPeriod;
  447.          self = null;
  448.        },
  449.        self.AutoReloadPeriod
  450.      );
  451.    }
  452.  
  453.    if (this.SoundIconSrc) {
  454.      this.SoundPlaceholder.innerHTML = '';
  455.      this.SoundPlayed = false;
  456.      if (this.SoundPlayDelayed) {
  457.        this.PlaySound();
  458.        this.SoundPlayDelayed = false;
  459.      } else {
  460.        this.EnableControls();
  461.      }
  462.    } else {
  463.      this.EnableControls();
  464.    }
  465.  };
  466.  
  467.  BotDetect.prototype.PrePlaySound = function() {
  468.    this.FocusInput();
  469.  };
  470.  
  471.  BotDetect.prototype.OnHelpLinkClick = function() {
  472.  };
  473.  
  474.  BotDetect.prototype.PreAjaxValidate = function() {
  475.  };
  476.  
  477.  BotDetect.prototype.AjaxValidationFailed = function() {
  478.    this.ReloadImage();
  479.  };
  480.  
  481.  BotDetect.prototype.AjaxValidationPassed = function() {
  482.  };
  483.  
  484.  BotDetect.prototype.AjaxValidationError = function() {
  485.    BotDetect.Xhr().abort();
  486.    BotDetect.AjaxError = true;
  487.  };
  488.  
  489.  BotDetect.RegisterCustomHandler = function(eventName, userHandler) {
  490.    var oldHandler = BotDetect.prototype[eventName];
  491.    BotDetect.prototype[eventName] = function() {
  492.      userHandler.call(this);
  493.      oldHandler.call(this);
  494.    }
  495.  };
  496.  
  497.  // input processing
  498.  BotDetect.prototype.FocusInput = function() {
  499.    var input = this.GetInputElement();
  500.    if (!this.AutoFocusInput || !input) return;
  501.    if (this.AutoReloading) return;
  502.    input.focus();
  503.  };
  504.  
  505.  BotDetect.prototype.ClearInput = function() {
  506.    var input = this.GetInputElement();
  507.    if (!this.AutoClearInput || !input) return;
  508.    input.value = '';
  509.  };
  510.  
  511.  
  512.  // helpers
  513.  
  514.  BotDetect.UpdateTimestamp = function(url) {
  515.    var i = url.indexOf('&d=');
  516.    if (-1 !== i) {
  517.      url = url.substring(0, i);
  518.    }
  519.    return url + '&d=' + BotDetect.GetTimestamp();
  520.  };
  521.  
  522.  BotDetect.GetTimestamp = function() {
  523.    var d = new Date();
  524.    var t = d.getTime() + (d.getTimezoneOffset() * BotDetect.MillisecondsInAMinute);
  525.    return t;
  526.  };
  527.  
  528.  BotDetect.DetectSsl = function(url) {
  529.    var i = url.indexOf('&e=');
  530.    if(-1 !== i) {
  531.      var len = url.length;
  532.      url = url.substring(0, i) + url.substring(i+4, len);
  533.    }
  534.    if (document.location.protocol === "https:") {
  535.      url = url + '&e=1';
  536.    }
  537.    return url;
  538.  };
  539.  
  540.  BotDetect.GetMimeType = function() {
  541.    var mimeType = "audio/x-wav";
  542.    return mimeType;
  543.  };
  544.  
  545.  BotDetect.UseHtml5Audio = function() {
  546.    var html5SoundSupported = false;
  547.    if (BotDetect.DetectAndroid() || BotDetect.DetectIOS()) {
  548.      html5SoundSupported = true;  // Android says it can't play audio even when it can; assuming iOS uses Html5 simplifies further browser checks
  549.    } else {
  550.      var browserCompatibilityCheck = document.createElement('audio');
  551.      html5SoundSupported = (
  552.        !!(browserCompatibilityCheck.canPlayType) &&
  553.        !!(browserCompatibilityCheck.canPlayType("audio/wav")) &&
  554.        !BotDetect.DetectIncompatibleAudio() // some browsers say they support the audio even when they have issues playing it
  555.      );
  556.    }
  557.    return html5SoundSupported;
  558.  };
  559.  
  560.  BotDetect.DetectIncompatibleAudio = function() {
  561.    return BotDetect.DetectFirefox3() || BotDetect.DetectSafariSsl();
  562.  };
  563.  
  564.  BotDetect.DetectAndroid = function() {
  565.    var detected = false;
  566.    if (navigator && navigator.userAgent) {
  567.      var matches = navigator.userAgent.match(/Linux; U; Android/);
  568.      if (matches) {
  569.        detected = true;
  570.      }
  571.    }
  572.    return detected;
  573.  };
  574.  
  575.  BotDetect.DetectIOS = function() {
  576.    var detected = false;
  577.    if (navigator && navigator.userAgent) {
  578.      var matches = navigator.userAgent.match(/like Mac OS/);
  579.      if (matches) {
  580.        detected = true;
  581.      }
  582.    }
  583.    return detected;
  584.  };
  585.  
  586.  BotDetect.DetectFirefox3 = function() {
  587.    var detected = false;
  588.    if (navigator && navigator.userAgent) {
  589.      var matches = navigator.userAgent.match(/(Firefox)\/(3\.6\.[^;\+,\/\s]+)/);
  590.      if (matches) {
  591.        detected = true;
  592.      }
  593.    }
  594.    return detected;
  595.  };
  596.  
  597.  BotDetect.DetectSafariSsl = function() {
  598.    var detected = false;
  599.    if (navigator && navigator.userAgent) {
  600.      var matches = navigator.userAgent.match(/Safari/);
  601.      if (matches) {
  602.        matches = navigator.userAgent.match(/Chrome/);
  603.        if (!matches && document.location.protocol === "https:") {
  604.          detected = true;
  605.        }
  606.      }
  607.    }
  608.    return detected;
  609.  };
  610.  
  611.  BotDetect.DetectAndroidBelow41 = function() {
  612.    var detected = false;
  613.    if (navigator && navigator.userAgent) {
  614.      var i = navigator.userAgent.indexOf("Android");
  615.      if (i >= 0) {
  616.        var v = parseFloat(navigator.userAgent.slice(i+8));
  617.        if (v < 4.1) {
  618.         detected = true;
  619.        }
  620.      }
  621.    }
  622.    return detected;
  623.  }
  624.  
  625.  BotDetect.SoundReplaySupported = function() {
  626.    return (BotDetect.UseHtml5Audio() &&
  627.                !BotDetect.DetectAndroidBelow41());
  628.  };
  629.  
  630.  BotDetect.prototype.DisableControls = function() {
  631.    this.ControlsDisabled = true;
  632.    this.DisableReloadIcon();
  633.    this.DisableSoundIcon();
  634.  }
  635.  
  636.  BotDetect.prototype.EnableControls = function() {
  637.    this.ControlsDisabled = false;
  638.    this.EnableReloadIcon();
  639.    this.EnableSoundIcon();
  640.  }
  641.  
  642.  BotDetect.prototype.DisableReloadIcon = function() {
  643.    if (this.ReloadIconSrc) {
  644.       if (this.DisabledReloadIconSrc) {
  645.        document.getElementById(this.Id + "_ReloadIcon").src = this.DisabledReloadIconSrc;
  646.      }
  647.    }
  648.  };
  649.  
  650.  BotDetect.prototype.EnableReloadIcon = function() {
  651.    if (this.ReloadIconSrc) {
  652.      if (this.DisabledReloadIconSrc) {
  653.        document.getElementById(this.Id + "_ReloadIcon").src = this.ReloadIconSrc;
  654.      }
  655.    }
  656.  };
  657.  
  658.  BotDetect.prototype.DisableSoundIcon = function() {
  659.    if (this.SoundIconSrc) {
  660.       if (this.DisabledSoundIconSrc) {
  661.        document.getElementById(this.Id + "_SoundIcon").src = this.DisabledSoundIconSrc;
  662.      }
  663.    }
  664.  };
  665.  
  666.  BotDetect.prototype.EnableSoundIcon = function() {
  667.    if (this.SoundIconSrc) {
  668.      if (this.DisabledSoundIconSrc) {
  669.        document.getElementById(this.Id + "_SoundIcon").src = this.SoundIconSrc;
  670.      }
  671.    }
  672.  };
  673.  
  674.  // standard events & handlers
  675.  BotDetect.RegisterHandler = function(target, eventType, functionRef, capture) {
  676.    // special case
  677.    if (eventType == "domready") {
  678.      BotDetect.RegisterDomReadyHandler(functionRef);
  679.      return;
  680.    }
  681.    // normal event registration
  682.    if (typeof target.addEventListener != "undefined") {
  683.      target.addEventListener(eventType, functionRef, capture);
  684.    } else if (typeof target.attachEvent != "undefined") {
  685.      var functionString = eventType + functionRef;
  686.      target["e" + functionString] = functionRef;
  687.      target[functionString] = function(event) {
  688.        if (typeof event == "undefined") {
  689.          event = window.event;
  690.        }
  691.        target["e" + functionString](event);
  692.      };
  693.      target.attachEvent("on" + eventType, target[functionString]);
  694.    } else {
  695.      eventType = "on" + eventType;
  696.      if (typeof target[eventType] == "function") {
  697.        var oldListener = target[eventType];
  698.        target[eventType] = function() {
  699.          oldListener();
  700.          return functionRef();
  701.        };
  702.      } else {
  703.        target[eventType] = functionRef;
  704.      }
  705.    }
  706.  };
  707.  
  708.  // earlier than window.load, if possible
  709.  BotDetect.RegisterDomReadyHandler = function(functionRef) {
  710.    if (document.addEventListener) {
  711.      document.addEventListener("DOMContentLoaded",
  712.        function(){
  713.          document.removeEventListener("DOMContentLoaded", arguments.callee, false);
  714.          functionRef();
  715.        },
  716.        false
  717.      );
  718.      return;
  719.    }
  720.    else if (document.attachEvent) {
  721.      var called = false;
  722.      document.attachEvent("onreadystatechange",
  723.        function(){
  724.          if (document.readyState === "complete") {
  725.            document.detachEvent("onreadystatechange", arguments.callee);
  726.            functionRef();
  727.            called = true;
  728.          }
  729.        }
  730.      );
  731.      if (document.documentElement.doScroll && window == window.top) {
  732.        (function() {
  733.          if (called) return;
  734.          try {
  735.            document.documentElement.doScroll("left");
  736.          } catch (error) {
  737.            setTimeout(arguments.callee, 1);
  738.            return;
  739.          }
  740.          functionRef();
  741.          called = true;
  742.        })();
  743.      }
  744.      return;
  745.    } else {
  746.      BotDetect.RegisterHandler(window, 'load', functionRef, false);
  747.    }
  748.  };
  749.  
  750.  
  751.  // Ajax helper
  752.  BotDetect.Xhr = function() {
  753.    var x = null;
  754.    try { x = new XMLHttpRequest(); return x; } catch (e) {}
  755.    try { x = new ActiveXObject('MSXML2.XMLHTTP.5.0'); return x; } catch (e) {}
  756.    try { x = new ActiveXObject('MSXML2.XMLHTTP.4.0'); return x; } catch (e) {}
  757.    try { x = new ActiveXObject('MSXML2.XMLHTTP.3.0'); return x; } catch (e) {}
  758.    try { x = new ActiveXObject('MSXML2.XMLHTTP'); return x; } catch (e) {}
  759.    try { x = new ActiveXObject('Microsoft.XMLHTTP'); return x; } catch (e) {}
  760.    return x;
  761.  };
  762.  
  763.  BotDetect.Get = function(url, callback) {
  764.    BotDetect.AjaxError = false;
  765.    var x = BotDetect.Xhr();
  766.    if (x && 0 == x.readyState) {
  767.      x.onreadystatechange = function() {
  768.        if(4 == x.readyState) {
  769.          callback(x);
  770.        }
  771.      }
  772.      x.open('GET', url, true);
  773.      x.send();
  774.    }
  775.  };
  776.  
  777. } // end single inclusion guard </script>
  778. </head>
  779. <body style="text-align: center; margin: 0; padding: 0; height: 100%; color: #363636;">
  780. <section>
  781. <div style="position: relative; width: 320px; margin: 3% auto 2% auto;" class="head-image">
  782. <img style="width: 240px;" src="./static/robot-suspicion.svg" alt="Robot">
  783. </div>
  784. <h1 style="margin: 20px 20px 10px; font: 700 36px/46px Arial, Helvetica sans-serif;">Our system thinks you might be a robot!</h1>
  785. <p style="padding: 0 20px 3% 20px; font: italic 400 18px/28px Arial, Helvetica ,sans-serif; max-width: 700px; margin: 0 auto; color: #797979;">
  786. We're really sorry about this, but it's getting harder and harder to tell the difference between humans and bots these days.
  787. </p>
  788. <div id="textCaprtcha" style=" margin: 0 auto 2% auto; padding: 0 0 140px;">
  789. <p style="padding: 0 20px 1% 20px; font: 400 18px/28px Arial, Helvetica ,sans-serif; max-width: 700px; margin: 0 auto;">
  790. Please complete the captcha below to prove you're a human and proceed to the page you're trying to reach.
  791. </p>
  792. <form method="POST" action="343" class="column" id="form1">
  793. <input name="s" type="hidden" value="91ad736793a5e5bb284c4b10e50aad0c" />
  794. <input name="sid" type="hidden" value="343" />
  795. <input name="r" type="hidden" value="%2Ffeed" />
  796. <input name="__submit__" type="hidden" value="YesPlease" />
  797. <div style="text-align: center; padding: 20px; overflow: auto; clear: both;">
  798.  <div class="BDC_CaptchaDiv" id="BD_Captcha_CaptchaDiv" style="width:280px; height:50px;"><!--
  799. --><div class="BDC_CaptchaImageDiv" id="BD_Captcha_CaptchaImageDiv" style="width:250px !important; height:50px !important;"><!--
  800.   --><img class="BDC_CaptchaImage" id="BD_Captcha_CaptchaImage" src="/.well-known/captcha/343/botdetect/?get=image&amp;c=bd_captcha&amp;t=785fb22b7e18c89cb10a680874bb39cb&amp;sid=343&amp;s=91ad736793a5e5bb284c4b10e50aad0c" alt="Retype the CAPTCHA code from the image" /><!--
  801. --></div><!--
  802. --><div class="BDC_CaptchaIconsDiv" id="BD_Captcha_CaptchaIconsDiv" style="width: 24px !important;"><!--
  803.   --><a class="BDC_ReloadLink" id="BD_Captcha_ReloadLink" href="#" onclick="BD_Captcha.ReloadImage(); this.blur(); return false;" title="Change the CAPTCHA code"><img class="BDC_ReloadIcon" id="BD_Captcha_ReloadIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAQAAABuvaSwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkNjE0ODcxNS0wNTM3LTQ4ODQtYTBkOS1lZTdmNzFjMDRlNjMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTI5MjBFODQxRTI4MTFFNzk2RUVCRDg0NkI5QzlCNkEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTI5MjBFODMxRTI4MTFFNzk2RUVCRDg0NkI5QzlCNkEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplZjQ1MWViOC03ZWRlLTQxYmYtODJmOS00OTMwNjVhNmM3YWUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ZDYxNDg3MTUtMDUzNy00ODg0LWEwZDktZWU3ZjcxYzA0ZTYzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+t8S3YgAAALhJREFUKM/F0lENwyAUhWEs1AIWsPBbqAUsYAEL10It1MIsYAEL7IFbIKEsy7JsuUkfyAc9PdQU8/6YX2EgIAgRdGW7xVgOyjAnlkDufKRJUSKRKRR92hnXUwVXX05UOmOodAgVWpwJC2VMp5sX2OFrgMZ3PB5/tfJpz9quIONJBIQw46u23DGWTOFYY9/opmXy6uSIxxN0Jd5lTmSkXcM1x+oDKQbH2TY8eqRldWzA3i/iLz//F/ETxFPbiDh40wkAAAAASUVORK5CYII=" alt="Change the CAPTCHA code" /></a><!--
  804.   --><a rel="nofollow" class="BDC_SoundLink" id="BD_Captcha_SoundLink" href="/.well-known/captcha/343/botdetect/?get=sound&amp;c=bd_captcha&amp;t=785fb22b7e18c89cb10a680874bb39cb&amp;sid=343&amp;s=91ad736793a5e5bb284c4b10e50aad0c" onclick="BD_Captcha.PlaySound(); this.blur(); return false;" title="Speak the CAPTCHA code" target="_blank"><img class="BDC_SoundIcon" id="BD_Captcha_SoundIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAQAAABuvaSwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkNjE0ODcxNS0wNTM3LTQ4ODQtYTBkOS1lZTdmNzFjMDRlNjMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTI5MjBFODgxRTI4MTFFNzk2RUVCRDg0NkI5QzlCNkEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTI5MjBFODcxRTI4MTFFNzk2RUVCRDg0NkI5QzlCNkEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmYjExNzRiNi0xZTUwLTQ2YTMtYjM3MS1hMGEzNzY0MzNlY2YiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ZDYxNDg3MTUtMDUzNy00ODg0LWEwZDktZWU3ZjcxYzA0ZTYzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+rsIN7wAAALtJREFUKM/N0jGVwzAQBcClYApLwRSGgimYgigcBVEwhaNgCqIgCk7hO784L05SRr9RMdpC+2OLzxNfhZ8fw//tEhtkRIRZV19iqe1EmnXLJZaaTY0w6Yrcpz9gKY2abccRiq6YdXnCJttdqtRQdKkpZzyfcYSqS91sUd9hNqmZ1TdYan6NNqyPOFXVcje5GCxWo256/nXlwKNVN6rW66WUP5x+pKLzat1FiThme9mN49Go7i2Jryz/Z7kBC+OAbI4NxvUAAAAASUVORK5CYII=" alt="Speak the CAPTCHA code" /></a><!--
  805.   --><div class="BDC_Placeholder" id="BD_Captcha_AudioPlaceholder">&nbsp;</div><!--
  806. --></div>
  807.    <script type="text/javascript">//<![CDATA[
  808.      BotDetect.Init('BD_Captcha', '785fb22b7e18c89cb10a680874bb39cb', 'BDCC', true, true, true, false, 1200, 7200, 0, true);
  809.    //]]></script>
  810.    <input type="hidden" name="BDC_UserSpecifiedCaptchaId" id="BDC_UserSpecifiedCaptchaId" value="BD_Captcha" />
  811.    <input type="hidden" name="BDC_VCID_BD_Captcha" id="BDC_VCID_BD_Captcha" value="785fb22b7e18c89cb10a680874bb39cb" />
  812.    <input type="hidden" name="BDC_BackWorkaround_BD_Captcha" id="BDC_BackWorkaround_BD_Captcha" value="0" />
  813.  </div>
  814. </div>
  815. <input name="BDCC" type="text" id="BDCC" autocomplete="off"
  816.  style="font: 400 18px/28px Arial, Helvetica ,sans-serif;height: 40px; padding: 0 20px; border-radius: 16px; border-width: 1px; margin-bottom: 20px;" />
  817. <input type="submit" name="ValidateCaptchaButton" value="CONTINUE" id="ValidateCaptchaButton"
  818.  style="font: 600 16px/28px Arial, Helvetica ,sans-serif; height: 40px; padding: 0 20px; border-radius: 16px; border: solid 2px #4343f0; background: #4343f0; color: #fff; margin: 0 0 0 20px;" />
  819. <br />
  820. </form>
  821. </div>
  822. </section>
  823. <footer style="position: fixed; bottom: 0; border-top: 1px solid #b7b7b7; width: 100%; background: #fff; ">
  824. <p style="padding: 10px 20px; margin: 0; font: 400 14px/24px Arial, Helvetica ,sans-serif; text-align: center;">
  825. This page requires cookies to be enabled in your browser settings. Please check this setting and enable cookies (if disabled). sid:343 </p>
  826. </footer>
  827. <script type="text/javascript" src="/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=3&cb=1376231940" async></script></body>
  828. </html>
  829.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda