Анализ сайта https://royalastro.net/
Основное Готовность: 75%
Домен
royalastro.net
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Домен второго уровня идеален для продвижения.
Отличный запоминающийся домен.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
Не настроен HSTS (Strict-Transport-Security) — рекомендуется включить.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 04.10.2026 22:45:22.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
UTF-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице UTF-8.
Язык
en-US
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en-US.
Скорость загрузки
~1,78сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 1,78сек превышает 1 секунду. Желательно улучшить работу сайта!
Объем документа
109Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 109Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 19
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 19 много для одной страницы. Приемлемо до 10. Проведите оптимизацию файлов ресурсов!
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | https://royalastro.net/wp-content/cache/autoptimize/css/autoptimize_single_bc7602e82f399255c995dfafb828ef41.css?ver=20180413 | |
| stylesheet | https://royalastro.net/wp-content/cache/autoptimize/css/autoptimize_single_fcc725641811736655ab5f101c52bb2d.css?ver=3.111.2 | |
| stylesheet | https://royalastro.net/wp-content/cache/autoptimize/css/autoptimize_single_06a67acea628d335749c7963e66fb5c3.css?ver=5.2.4 | |
| stylesheet | https://royalastro.net/wp-content/cache/autoptimize/css/autoptimize_single_474f2da06b2a20a3d78b023b42995487.css?ver=1.2 | |
| stylesheet | https://royalastro.net/wp-content/cache/autoptimize/css/autoptimize_single_f67e688f787e23f2ed4a42d587eb3e1c.css?ver=1.6.8 | |
| stylesheet | https://royalastro.net/wp-content/cache/autoptimize/css/autoptimize_single_13a6500ddf36c6dd581877aefc78d34d.css?ver=3.4.1 | |
| js | https://royalastro.net/wp-includes/js/jquery/jquery.min.js?ver=3.7.1 | |
| js | https://royalastro.net/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1 | |
| js | data:text/javascript;base64,CnZhciBzbWFydGxpbmVfbWVudV90aXRsZSA9IHsidGV4dCI6Ik1lbnUifTsKLy8jIHNvdXJjZVVSTD1zbWFydGxpbmUtbGl0ZS1qcXVlcnktbmF2aWdhdGlvbi1qcy1leHRyYQo= | |
| js | https://royalastro.net/wp-content/cache/autoptimize/js/autoptimize_single_86c44c32608dd9264d6640f28e0df7d2.js?ver=20210324 | |
| js | data:text/javascript;base64,CiAgICAgICAgICAgIHZhciBfd3NtID0gX3dzbSB8fCBbXTsKICAgICAgICAgICAgX3dzbS5wdXNoKFsndHJhY2tQYWdlVmlldyddKTsKICAgICAgICAgICAgX3dzbS5wdXNoKFsnZW5hYmxlTGlua1RyYWNraW5nJ10pOwogICAgICAgICAgICBfd3NtLnB1c2goWydlbmFibGVIZWFydEJlYXRUaW1lciddKTsKICAgICAgICAgICAgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHUgPSAiaHR0cHM6Ly9yb3lhbGFzdHJvLm5ldC93cC1jb250ZW50L3BsdWdpbnMvd3Atc3RhdHMtbWFuYWdlci8iOwogICAgICAgICAgICAgICAgX3dzbS5wdXNoKFsnc2V0VXJsUmVmZXJyZXInLCAiIl0pOwogICAgICAgICAgICAgICAgX3dzbS5wdXNoKFsnc2V0VHJhY2tlclVybCcsICJodHRwczovL3JveWFsYXN0cm8ubmV0Lz93bWNBY3Rpb249d21jVHJhY2siXSk7CiAgICAgICAgICAgICAgICBfd3NtLnB1c2goWydzZXRTaXRlSWQnLCAiMSJdKTsKICAgICAgICAgICAgICAgIF93c20ucHVzaChbJ3NldFBhZ2VJZCcsICI5MzAiXSk7CiAgICAgICAgICAgICAgICBfd3NtLnB1c2goWydzZXRXcFVzZXJJZCcsICIwIl0pOwogICAgICAgICAgICAgICAgdmFyIGQgPSBkb2N1bWVudCwKICAgICAgICAgICAgICAgICAgICBnID0gZC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICAgICAgICAgICAgICBzID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07CiAgICAgICAgICAgICAgICBnLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICAgICAgICAgIGcuYXN5bmMgPSB0cnVlOwogICAgICAgICAgICAgICAgZy5kZWZlciA9IHRydWU7CiAgICAgICAgICAgICAgICBnLnNyYyA9IHUgKyAnanMvd3NtX25ldy5qcyc7CiAgICAgICAgICAgICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGcsIHMpOwogICAgICAgICAgICB9KSgpOwogICAgICAgIA== | |
| js | https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3680860714305510 | |
| js | https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3680860714305510 | |
| js | https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3680860714305510 | |
| js | https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3680860714305510 | |
| js | https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3680860714305510 | |
| js | data:text/javascript;base64,CiAgICAgICAgICAgIGZ1bmN0aW9uIHN0b3BQcm50U2NyKCkgewogICAgICAgICAgICAgICAgdmFyIGlucEZsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CiAgICAgICAgICAgICAgICBpbnBGbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJBY2Nlc3MgRGVuaWVkIik7CiAgICAgICAgICAgICAgICBpbnBGbGQuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIwIik7CiAgICAgICAgICAgICAgICBpbnBGbGQuc3R5bGUuaGVpZ2h0ID0gIjBweCI7CiAgICAgICAgICAgICAgICBpbnBGbGQuc3R5bGUud2lkdGggPSAiMHB4IjsKICAgICAgICAgICAgICAgIGlucEZsZC5zdHlsZS5ib3JkZXIgPSAiMHB4IjsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wRmxkKTsKICAgICAgICAgICAgICAgIGlucEZsZC5zZWxlY3QoKTsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5Iik7CiAgICAgICAgICAgICAgICBpbnBGbGQucmVtb3ZlKGlucEZsZCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIChmdW5jdGlvbiAoJCkgewogICAgICAgICAgICAgICAgJ3VzZSBzdHJpY3QnOwogICAgICAgICAgICAgICAgJChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgbGV0IGFsbCA9ICQoJyonKS5ub3QoJ3NjcmlwdCwgbWV0YSwgbGluaywgc3R5bGUsIG5vc2NyaXB0LCB0aXRsZScpLAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwID0gJCgnI2F5c190b29sdGlwJyksCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBDbGFzcyA9ICJtb3VzZSI7CiAgICAgICAgICAgICAgICAgICAgaWYgKHRvb2x0aXBDbGFzcyA9PSAibW91c2UiIHx8IHRvb2x0aXBDbGFzcyA9PSAibW91c2VfZmlyc3RfcG9zIikgewogICAgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbignbW91c2Vtb3ZlJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjb3JkaW5hdGVfeCA9IGUucGFnZVg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29yZGluYXRlX3kgPSBlLnBhZ2VZOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHdpbmRvd1dpZHRoID0gJCh3aW5kb3cpLndpZHRoKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29yZGluYXRlX3kgPCB0b29sdGlwLm91dGVySGVpZ2h0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwLmNzcyh7J3RvcCc6IChjb3JkaW5hdGVfeSArIDEwKSArICdweCd9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcC5jc3Moeyd0b3AnOiAoY29yZGluYXRlX3kgLSB0b29sdGlwLm91dGVySGVpZ2h0KCkpICsgJ3B4J30pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvcmRpbmF0ZV94ID4gKHdpbmRvd1dpZHRoIC0gdG9vbHRpcC5vdXRlcldpZHRoKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcC5jc3MoeydsZWZ0JzogKGNvcmRpbmF0ZV94IC0gdG9vbHRpcC5vdXRlcldpZHRoKCkpICsgJ3B4J30pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwLmNzcyh7J2xlZnQnOiAoY29yZGluYXRlX3ggKyA1KSArICdweCd9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXAuYWRkQ2xhc3ModG9vbHRpcENsYXNzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAJCQkJCgogICAgCQkJCSAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oJ2NvbnRleHRtZW51JywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9ICQoZXZlbnQudGFyZ2V0KTsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHQgPSBlIHx8IHdpbmRvdy5ldmVudDsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG4gPSB0LnRhcmdldCB8fCB0LnNyY0VsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0LmlzKCIiKSAmJiAoIXRhcmdldC5pcygiMSIpICYmICF0YXJnZXQuaXMoImltZyIpKSAmJiAoIXRhcmdldC5pcygiMSIpICYmICF0YXJnZXQuaXMoImEiKSAmJiBuLnBhcmVudEVsZW1lbnQubm9kZU5hbWUgIT09ICJBIikgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobi5ub2RlTmFtZSAhPT0gIkEiICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAJICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oJ2NvbnRleHRtZW51JywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9ICQoZXZlbnQudGFyZ2V0KTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldC5pcygiaW1nIikgfHwgdGFyZ2V0LmlzKCJkaXYuYXlzX3Rvb2x0aXBfY2xhc3MiKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHQgPSBlIHx8IHdpbmRvdy5ldmVudDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuID0gdC50YXJnZXQgfHwgdC5zcmNFbGVtZW50OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG4ubm9kZU5hbWUgIT09ICJBIikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgCiAgICAJICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbignY29udGV4dG1lbnUnLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gJChldmVudC50YXJnZXQpOwogICAgICAgICAgICAgICAgICAgICAgICBsZXQgdCA9IGUgfHwgd2luZG93LmV2ZW50OwogICAgICAgICAgICAgICAgICAgICAgICBsZXQgbiA9IHQudGFyZ2V0IHx8IHQuc3JjRWxlbWVudDsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldC5pcygiYSIpIHx8IG4ucGFyZW50RWxlbWVudC5ub2RlTmFtZSA9PSAiQSIgfHwgdGFyZ2V0LmlzKCJkaXYuYXlzX3Rvb2x0aXBfY2xhc3MiKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIAogICAgCQkJCSAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oJ2RyYWdzdGFydCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9ICQoZXZlbnQudGFyZ2V0KTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0YXJnZXQuaXMoIiIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAJCQkJCiAgICAJCQkJCiAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oJ21vdXNlZG93bicsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSAkKGV2ZW50LnRhcmdldCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0LmlzKCIiKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGV2ZW50ID0gZSB8fCB3aW5kb3cuZXZlbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQud2hpY2ggPT0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCggKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAJCQkJCiAgICAgICAgICAgICAgICAgICAgJCh3aW5kb3cpLm9uKCdrZXlkb3duJywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzY2NwX3NlbE9iaiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNoZWNrX3NlbGVjdG9ycyA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc2NjcF9zZWxPYmoucmFuZ2VDb3VudCA8IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzY2NwX3NlbFJhbmdlID0gc2NjcF9zZWxPYmouZ2V0UmFuZ2VBdCgwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzY2NwX3NlbGVjdGlvbl9zZWxlY3RvciA9IHNjY3Bfc2VsUmFuZ2Uuc3RhcnRDb250YWluZXIucGFyZW50RWxlbWVudDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrX3NlbGVjdG9ycyA9ICEkKHNjY3Bfc2VsZWN0aW9uX3NlbGVjdG9yKS5pcygiIik7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGVja19zZWxlY3RvcnMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc09wZXJhID0gKEJyb3dzZXJEZXRlY3QuYnJvd3NlciA9PT0gIk9wZXJhIik7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzRmlyZWZveCA9IChCcm93c2VyRGV0ZWN0LmJyb3dzZXIgPT09ICdGaXJlZm94Jyk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzU2FmYXJpID0gKEJyb3dzZXJEZXRlY3QuYnJvd3NlciA9PT0gJ1NhZmFyaScpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc0lFID0gKEJyb3dzZXJEZXRlY3QuYnJvd3NlciA9PT0gJ0V4cGxvcmVyJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXNDaHJvbWUgPSAoQnJvd3NlckRldGVjdC5icm93c2VyID09PSAnQ2hyb21lJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXNNb3ppbGxhID0gKEJyb3dzZXJEZXRlY3QuYnJvd3NlciA9PT0gJ01vemlsbGEnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQnJvd3NlckRldGVjdC5PUyA9PT0gJ1dpbmRvd3MnKSB7CiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNDaHJvbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgoZXZlbnQuY3RybEtleSAmJiBldmVudC5zaGlmdEtleSkgJiYgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzMgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDc0IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA2OCB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNjcpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0ZpcmVmb3gpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgoZXZlbnQuY3RybEtleSAmJiBldmVudC5zaGlmdEtleSkgJiYgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzMgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDc0IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA2NyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzUgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDY5KSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDExOCB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50LmtleUNvZGUgPT09IDExMiAmJiBldmVudC5zaGlmdEtleSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChldmVudC5rZXlDb2RlID09PSAxMTUgJiYgZXZlbnQuc2hpZnRLZXkpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA9PT0gMTE4ICYmIGV2ZW50LnNoaWZ0S2V5KSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50LmtleUNvZGUgPT09IDEyMCAmJiBldmVudC5zaGlmdEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNPcGVyYSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKChldmVudC5jdHJsS2V5ICYmIGV2ZW50LnNoaWZ0S2V5KSAmJiAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA3MyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzQgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDY3IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA4OCB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNjkpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0lFKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gMTIzICYmIGV2ZW50LnNoaWZ0S2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNNb3ppbGxhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQuY3RybEtleSAmJiBldmVudC5rZXlDb2RlID09PSA3MykgfHwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleUNvZGUgPT09IDY4KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4MyAmJiBldmVudC5jdHJsS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gNjUgJiYgZXZlbnQuY3RybEtleSkpIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDY3ICYmIGV2ZW50LmN0cmxLZXkgJiYgIWV2ZW50LnNoaWZ0S2V5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4NiAmJiBldmVudC5jdHJsS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODggJiYgZXZlbnQuY3RybEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4NSAmJiBldmVudC5jdHJsS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gMTIzIHx8IChldmVudC5rZXlDb2RlID09PSAxMjMgJiYgZXZlbnQuc2hpZnRLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKEJyb3dzZXJEZXRlY3QuT1MgPT09ICdMaW51eCcpIHsKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0Nocm9tZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQuc2hpZnRLZXkpICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50LmtleUNvZGUgPT09IDczIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDc0IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDY3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQua2V5Q29kZSA9PT0gODUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0ZpcmVmb3gpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgoZXZlbnQuY3RybEtleSAmJiBldmVudC5zaGlmdEtleSkgJiYgKGV2ZW50LmtleUNvZGUgPT09IDczIHx8IGV2ZW50LmtleUNvZGUgPT09IDc0IHx8IGV2ZW50LmtleUNvZGUgPT09IDY3IHx8IGV2ZW50LmtleUNvZGUgPT09IDc1IHx8IGV2ZW50LmtleUNvZGUgPT09IDY5KSkgfHwgZXZlbnQua2V5Q29kZSA9PT0gMTE4IHx8IGV2ZW50LmtleUNvZGUgPT09IDExNiB8fCAoZXZlbnQua2V5Q29kZSA9PT0gMTEyICYmIGV2ZW50LnNoaWZ0S2V5KSB8fCAoZXZlbnQua2V5Q29kZSA9PT0gMTE1ICYmIGV2ZW50LnNoaWZ0S2V5KSB8fCAoZXZlbnQua2V5Q29kZSA9PT0gMTE4ICYmIGV2ZW50LnNoaWZ0S2V5KSB8fCAoZXZlbnQua2V5Q29kZSA9PT0gMTIwICYmIGV2ZW50LnNoaWZ0S2V5KSB8fCAoZXZlbnQua2V5Q29kZSA9PT0gODUgJiYgZXZlbnQuY3RybEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNPcGVyYSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKChldmVudC5jdHJsS2V5ICYmIGV2ZW50LnNoaWZ0S2V5KSAmJiAoZXZlbnQua2V5Q29kZSA9PT0gNzMgfHwgZXZlbnQua2V5Q29kZSA9PT0gNzQgfHwgZXZlbnQua2V5Q29kZSA9PT0gNjcgfHwgZXZlbnQua2V5Q29kZSA9PT0gODggfHwgZXZlbnQua2V5Q29kZSA9PT0gNjkpKSB8fCAoZXZlbnQuY3RybEtleSAmJiBldmVudC5rZXlDb2RlID09PSA4NSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODMgJiYgZXZlbnQuY3RybEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gNjUgJiYgZXZlbnQuY3RybEtleSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSA2NyAmJiBldmVudC5jdHJsS2V5ICYmICFldmVudC5zaGlmdEtleSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODYgJiYgZXZlbnQuY3RybEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDg4ICYmIGV2ZW50LmN0cmxLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4NSAmJiBldmVudC5jdHJsS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gMTIzIHx8IChldmVudC5rZXlDb2RlID09PSAxMjMgJiYgZXZlbnQuc2hpZnRLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKEJyb3dzZXJEZXRlY3QuT1MgPT09ICdNYWMnKSB7CiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNDaHJvbWUgfHwgaXNTYWZhcmkgfHwgaXNPcGVyYSB8fCBpc0ZpcmVmb3gpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50Lm1ldGFLZXkgJiYgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzMgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDc0IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA2OSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDgzICYmIGV2ZW50Lm1ldGFLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA2NSAmJiBldmVudC5tZXRhS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gNjcgJiYgZXZlbnQubWV0YUtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDg2ICYmIGV2ZW50Lm1ldGFLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4OCAmJiBldmVudC5tZXRhS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODUgJiYgZXZlbnQubWV0YUtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDEyMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRpc2FibGVTZWxlY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGUub25zZWxlY3RzdGFydCAhPT0gInVuZGVmaW5lZCIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLm9uc2VsZWN0c3RhcnQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKCApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiBlLnN0eWxlLk1velVzZXJTZWxlY3QgIT09ICJ1bmRlZmluZWQiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdHlsZS5Nb3pVc2VyU2VsZWN0ID0gIm5vbmUiOwogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGUub25tb3VzZWRvd24gPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgZS5zdHlsZS5jdXJzb3IgPSAiZGVmYXVsdCIKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHZhciBtc2dfY291bnQgPSAxOyAKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBzaG93X3Rvb2x0aXAobWVzcykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVzcyAmJiBtc2dfY291bnQgPT0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRvb2x0aXBDbGFzcyA9PSAnbW91c2VfZmlyc3RfcG9zJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKCcjYXlzX3Rvb2x0aXAyJykubGVuZ3RoID4gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjYXlzX3Rvb2x0aXAyJykucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b29sdGlwMiA9IHRvb2x0aXAuY2xvbmUoKS5wcm9wKCdpZCcsJ2F5c190b29sdGlwMicpLmluc2VydEJlZm9yZSh0b29sdGlwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjYXlzX3Rvb2x0aXAyJykuYWRkQ2xhc3MoJ2F5c190b29sdGlwX2NsYXNzJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcDIuY3NzKHsnZGlzcGxheSc6ICd0YWJsZSd9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjYXlzX3Rvb2x0aXAnKS5mYWRlT3V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXAyLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEwMDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcC5jc3MoeydkaXNwbGF5JzogJ3RhYmxlJ30pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjYXlzX3Rvb2x0aXAnKS5mYWRlT3V0KDUwMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTAwMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBhdWRpb19wbGF5KGF1ZGlvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdWRpbykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGF1ZGlvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjY3BfcHVibGljX2F1ZGlvIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXVkaW8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpby5jdXJyZW50VGltZSA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW8ucGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCgogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pKGpRdWVyeSk7CiAgICAgICAgICAgIHZhciBjb3B5cmlnaHRUZXh0ID0gJyc7CiAgICAgICAgICAgIHZhciBjb3B5cmlnaHRJbmNsdWRlVXJsID0gJyc7CiAgICAgICAgICAgIHZhciBjb3B5cmlnaHRXb3JkID0gJyc7CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBmdW5jdGlvbiBjb3B5VG9DbGlwYm9hcmQodGV4dCkgewogICAgICAgICAgICAgICAgdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsKICAgICAgICAgICAgICAgIHRleHRhcmVhLnRleHRDb250ZW50ID0gdGV4dDsKICAgICAgICAgICAgICAgIHRleHRhcmVhLnN0eWxlLnBvc2l0aW9uID0gImZpeGVkIjsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGV4dGFyZWEpOwogICAgICAgICAgICAgICAgdGV4dGFyZWEuc2VsZWN0KCk7CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBkb2N1bWVudC5leGVjQ29tbWFuZCgiY3V0Iik7CiAgICAgICAgICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigiQ29weSB0byBjbGlwYm9hcmQgZmFpbGVkLiIsIGV4KTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dGFyZWEpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBodG1sRGVjb2RlKGlucHV0KSB7CiAgICAgICAgICAgICAgdmFyIGRvYyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoaW5wdXQsICJ0ZXh0L2h0bWwiKTsKICAgICAgICAgICAgICByZXR1cm4gZG9jLmRvY3VtZW50RWxlbWVudC50ZXh0Q29udGVudDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIEJyb3dzZXJEZXRlY3QgPSB7CiAgICAgICAgICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5icm93c2VyID0gdGhpcy5zZWFyY2hTdHJpbmcodGhpcy5kYXRhQnJvd3NlcikgfHwgIkFuIHVua25vd24gYnJvd3NlciI7CiAgICAgICAgICAgICAgICAgICAgdGhpcy52ZXJzaW9uID0gdGhpcy5zZWFyY2hWZXJzaW9uKG5hdmlnYXRvci51c2VyQWdlbnQpIHx8IHRoaXMuc2VhcmNoVmVyc2lvbihuYXZpZ2F0b3IuYXBwVmVyc2lvbikgfHwgImFuIHVua25vd24gdmVyc2lvbiI7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5PUyA9IHRoaXMuc2VhcmNoU3RyaW5nKHRoaXMuZGF0YU9TKSB8fCAiYW4gdW5rbm93biBPUyI7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgc2VhcmNoU3RyaW5nOiBmdW5jdGlvbiAoZGF0YSkgewogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YVN0cmluZyA9IGRhdGFbaV0uc3RyaW5nOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YVByb3AgPSBkYXRhW2ldLnByb3A7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmVyc2lvblNlYXJjaFN0cmluZyA9IGRhdGFbaV0udmVyc2lvblNlYXJjaCB8fCBkYXRhW2ldLmlkZW50aXR5OwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YVN0cmluZykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGFTdHJpbmcuaW5kZXhPZihkYXRhW2ldLnN1YlN0cmluZykgIT09IC0xKSByZXR1cm4gZGF0YVtpXS5pZGVudGl0eTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChkYXRhUHJvcCkgcmV0dXJuIGRhdGFbaV0uaWRlbnRpdHk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHNlYXJjaFZlcnNpb246IGZ1bmN0aW9uIChkYXRhU3RyaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gZGF0YVN0cmluZy5pbmRleE9mKHRoaXMudmVyc2lvblNlYXJjaFN0cmluZyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAtMSkgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZUZsb2F0KGRhdGFTdHJpbmcuc3Vic3RyaW5nKGluZGV4ICsgdGhpcy52ZXJzaW9uU2VhcmNoU3RyaW5nLmxlbmd0aCArIDEpKTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBkYXRhQnJvd3NlcjogW3sKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci51c2VyQWdlbnQsCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiQ2hyb21lIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIkNocm9tZSIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci51c2VyQWdlbnQsCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiT21uaVdlYiIsCiAgICAgICAgICAgICAgICAgICAgdmVyc2lvblNlYXJjaDogIk9tbmlXZWIvIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIk9tbmlXZWIiCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IudmVuZG9yLAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIkFwcGxlIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIlNhZmFyaSIsCiAgICAgICAgICAgICAgICAgICAgdmVyc2lvblNlYXJjaDogIlZlcnNpb24iCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgcHJvcDogd2luZG93Lm9wZXJhLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiT3BlcmEiLAogICAgICAgICAgICAgICAgICAgIHZlcnNpb25TZWFyY2g6ICJWZXJzaW9uIgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnZlbmRvciwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJpQ2FiIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogImlDYWIiCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IudmVuZG9yLAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIktERSIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJLb25xdWVyb3IiCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIkZpcmVmb3giLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiRmlyZWZveCIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci52ZW5kb3IsCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiQ2FtaW5vIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIkNhbWlubyIKICAgICAgICAgICAgICAgIH0sIHsgLy8gZm9yIG5ld2VyIE5ldHNjYXBlcyAoNispCiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIk5ldHNjYXBlIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIk5ldHNjYXBlIgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnVzZXJBZ2VudCwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJNU0lFIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIkV4cGxvcmVyIiwKICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uU2VhcmNoOiAiTVNJRSIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci51c2VyQWdlbnQsCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiR2Vja28iLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiTW96aWxsYSIsCiAgICAgICAgICAgICAgICAgICAgdmVyc2lvblNlYXJjaDogInJ2IgogICAgICAgICAgICAgICAgfSwgeyAvLyBmb3Igb2xkZXIgTmV0c2NhcGVzICg0LSkKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci51c2VyQWdlbnQsCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiTW96aWxsYSIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJOZXRzY2FwZSIsCiAgICAgICAgICAgICAgICAgICAgdmVyc2lvblNlYXJjaDogIk1vemlsbGEiCiAgICAgICAgICAgICAgICB9XSwKICAgICAgICAgICAgICAgIGRhdGFPUzogW3sKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci5wbGF0Zm9ybSwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJXaW4iLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiV2luZG93cyIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci5wbGF0Zm9ybSwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJNYWMiLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiTWFjIgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnVzZXJBZ2VudCwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJpUGhvbmUiLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiaVBob25lL2lQb2QiCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IucGxhdGZvcm0sCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiTGludXgiLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiTGludXgiCiAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICB9OwogICAgICAgICAgICBCcm93c2VyRGV0ZWN0LmluaXQoKTsKICAgICAgICAvLyB9LCBmYWxzZSk7CiAgICA= | |
| js | https://royalastro.net/wp-content/plugins/autoptimize/classes/external/js/lazysizes.min.js?ao_version=3.1.15.1 | |
| js | data:text/javascript;base64,DQogICAgICAgIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCQpIHsNCg0KICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkb2N1bWVudC5mb3Jtcy5sZW5ndGg7ICsraSkgew0KICAgICAgICAgICAgICAgIGxldCBmb3JtID0gZG9jdW1lbnQuZm9ybXNbaV07DQoJCQkJaWYgKCQoZm9ybSkuYXR0cigibWV0aG9kIikgIT0gImdldCIpIHsgJChmb3JtKS5hcHBlbmQoJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkZvSWpkR1UiIHZhbHVlPSJzUXBZMVVtQFZ1a3YiIC8+Jyk7IH0KaWYgKCQoZm9ybSkuYXR0cigibWV0aG9kIikgIT0gImdldCIpIHsgJChmb3JtKS5hcHBlbmQoJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlNBY2pUZ1pVIiB2YWx1ZT0iZjRLNndnMTVwelZSQyIgLz4nKTsgfQppZiAoJChmb3JtKS5hdHRyKCJtZXRob2QiKSAhPSAiZ2V0IikgeyAkKGZvcm0pLmFwcGVuZCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZEVBcEtTX3VhRk1QVllqIiB2YWx1ZT0iNHRNeldyZ2tmUURqbCIgLz4nKTsgfQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdzdWJtaXQnLCAnZm9ybScsIGZ1bmN0aW9uICgpIHsNCgkJCQlpZiAoJCh0aGlzKS5hdHRyKCJtZXRob2QiKSAhPSAiZ2V0IikgeyAkKHRoaXMpLmFwcGVuZCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iRm9JamRHVSIgdmFsdWU9InNRcFkxVW1AVnVrdiIgLz4nKTsgfQppZiAoJCh0aGlzKS5hdHRyKCJtZXRob2QiKSAhPSAiZ2V0IikgeyAkKHRoaXMpLmFwcGVuZCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU0FjalRnWlUiIHZhbHVlPSJmNEs2d2cxNXB6VlJDIiAvPicpOyB9CmlmICgkKHRoaXMpLmF0dHIoIm1ldGhvZCIpICE9ICJnZXQiKSB7ICQodGhpcykuYXBwZW5kKCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkRUFwS1NfdWFGTVBWWWoiIHZhbHVlPSI0dE16V3Jna2ZRRGpsIiAvPicpOyB9CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBqUXVlcnkuYWpheFNldHVwKHsNCiAgICAgICAgICAgICAgICBiZWZvcmVTZW5kOiBmdW5jdGlvbiAoZSwgZGF0YSkgew0KDQogICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnR5cGUgIT09ICdQT1NUJykgcmV0dXJuOw0KDQogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZGF0YS5kYXRhID09PSAnb2JqZWN0JyAmJiBkYXRhLmRhdGEgIT09IG51bGwpIHsNCgkJCQkJCWRhdGEuZGF0YS5hcHBlbmQoIkZvSWpkR1UiLCAic1FwWTFVbUBWdWt2Iik7CmRhdGEuZGF0YS5hcHBlbmQoIlNBY2pUZ1pVIiwgImY0SzZ3ZzE1cHpWUkMiKTsKZGF0YS5kYXRhLmFwcGVuZCgiZEVBcEtTX3VhRk1QVllqIiwgIjR0TXpXcmdrZlFEamwiKTsKICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5kYXRhID0gZGF0YS5kYXRhICsgJyZGb0lqZEdVPXNRcFkxVW1AVnVrdiZTQWNqVGdaVT1mNEs2d2cxNXB6VlJDJmRFQXBLU191YUZNUFZZaj00dE16V3Jna2ZRRGpsJzsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgIH0pOw0KICAgIA== |
Серверные заголовки
Кол-во: 8
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 8шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Server | nginx |
| Date | Sun, 23 Aug 2026 22:11:23 GMT |
| Vary | Accept-Encoding |
| X-Powered-By | PHP/8.3.32 |
| Set-Cookie | YeNcifvOFjMbp=d%2AD1j%5D0Vgmtrq; expires=Mon, 24 Aug 2026 22:11:22 GMT; Max-Age=86400; path=/; secure |
| Link | <https://royalastro.net/wp-json/>; rel="https://api.w.org/" |
| Referrer-Policy | no-referrer-when-downgrade |
| x-loopia-node | 172.22.223.102 |
CMS
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
Сайт работает на CMS WordPress.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере nginx.
Мета-теги Готовность: 23%
Title
Početna - Royal Astro Studio
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение: 28, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Установите мета-тег description!
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://royalastro.net/
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Канонический Url прописан корректно.
Robots
index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots со значениями index, follow не накладывает ограничений на индексирование и показ контента.
Адаптивность
width=device-width, initial-scale=1
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Кол-во: 10
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:locale | en_US |
| og:type | website |
| og:title | Početna - Royal Astro Studio |
| og:description | Moguće čitati na sajtu www.media.royalastro.net Astro usluge Preci princa Filipa Karađorđevića- nastavak loze Nemanjića Kako je nastala kraljevina Brazila Kraljevska kuća Karađorđević potomak brazilskih kraljeva Asteroid Karma u Vagi i Škorpiji sledećih godinu dana- razna iznenađenja Automatsko proricanje Brojevi, Asteroidi Ciganske karte Brojevi daju odgovor Ciganske karte Proricanje uz pomoć asteroida Na sajtu www.astrozenit.com– Automatsko proricanje Ji djing-kineska knjiga |
| og:url | https://royalastro.net/ |
| og:site_name | Royal Astro Studio |
| og:image | https://media6.royalastro.net/2025/11/Rio-ovo-3.jpg |
| og:image:width | 877 |
| og:image:height | 496 |
| og:image:type | image/jpeg |
Все мета-теги
Кол-во: 16
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 16шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | viewport | width=device-width, initial-scale=1 |
| name | robots | index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1 |
| name | twitter:card | summary_large_image |
| name | generator | AMP for WP 1.1.15 |
| name | generator | WordPress 7.1 |
| property | og:locale | en_US |
| property | og:type | website |
| property | og:title | Početna - Royal Astro Studio |
| property | og:description | Moguće čitati na sajtu www.media.royalastro.net Astro usluge Preci princa Filipa Karađorđevića- nastavak loze Nemanjića Kako je nastala kraljevina Brazila Kraljevska kuća Karađorđević potomak brazilskih kraljeva Asteroid Karma u Vagi i Škorpiji sledećih godinu dana- razna iznenađenja Automatsko proricanje Brojevi, Asteroidi Ciganske karte Brojevi daju odgovor Ciganske karte Proricanje uz pomoć asteroida Na sajtu www.astrozenit.com– Automatsko proricanje Ji djing-kineska knjiga |
| property | og:url | https://royalastro.net/ |
| property | og:site_name | Royal Astro Studio |
| property | article:modified_time | 2026-05-20T16:24:18+00:00 |
| property | og:image | https://media6.royalastro.net/2025/11/Rio-ovo-3.jpg |
| property | og:image:width | 877 |
| property | og:image:height | 496 |
| property | og:image:type | image/jpeg |
Оптимизация Готовность: 80%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в единственном экземпляре).
Контент
Есть ошибки
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Кол-во слов 408 не очень много. Добавьте побольше текста (хотя бы 800 слов)!
Слова из title 4 встречаются в тексте достаточно.
Абзацев с текстом 39 достаточно.
Среднее число слов в абзаце 17 достаточно.
Кол-во знаков контента 2923 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h3> 8.
Тошнота
2
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота страницы в пределах нормы 3.
Академич. тошнота
25,00%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| karađorđevića | 4 | 0,98% |
| royalastro | 3 | 0,74% |
| horoskop | 3 | 0,74% |
| tekstovi | 3 | 0,74% |
| princa | 3 | 0,74% |
| putovanja | 3 | 0,74% |
| parizu | 3 | 0,74% |
| proricanje | 3 | 0,74% |
| content | 2 | 0,49% |
| studio | 2 | 0,49% |
| početna | 2 | 0,49% |
| beograd | 2 | 0,49% |
| godišnji | 2 | 0,49% |
| donosi | 2 | 0,49% |
| tranzit | 2 | 0,49% |
| meseca | 2 | 0,49% |
| asteroidi | 2 | 0,49% |
| odabrati | 2 | 0,49% |
| destinaciju | 2 | 0,49% |
| ljubavi | 2 | 0,49% |
Индексация Готовность: 20%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 80 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Не загружен
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Файл robots.txt вернул ошибку 0! Проверьте настройки сайта и веб-сервера!
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 68
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 68 оптимально.
Показать внутренние ссылки
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| / |
Royal Astro Studio
|
|
Анализировать url |
| / |
Početna
|
|
Анализировать url |
| /category/o-nama/ |
O nama
|
|
Анализировать url |
| /o-nama/ |
Royal Astro Studio- Beograd
|
|
Анализировать url |
| /o-sajtu-www-royalastro-net/ |
O sajtu www.royalastro.net
|
|
Анализировать url |
| /kontakt/ |
Kontakt
|
|
Анализировать url |
| /category/uncategorized/astrologija/ |
Astrologija
|
|
Анализировать url |
| /category/uncategorized/astrologija/horoskop/ |
Horoskop
|
|
Анализировать url |
| /category/uncategorized/astrologija/godisnji-horoskop/ |
Godišnji horoskop
|
|
Анализировать url |
| /?p=5967 |
GODIŠNJI HOROSKOP ZA 2026.- OVAN
|
|
Анализировать url |
| /category/uncategorized/astrologija/astro-tekstovi/ |
Astro Tekstovi
|
|
Анализировать url |
| /?p=3555 |
Vazdušni znaci naglašeni sa asteroidima koji govore o stanju psihe.
|
|
Анализировать url |
| /sta-donosi-tranzit-meseca-preko-urana/ |
Šta donosi tranzit Meseca preko Urana
|
|
Анализировать url |
| /asteroidi-karma-psiha-donose-brak-novac-ljubomoru/ |
Asteroidi Karma i Psiha donose brak, novac, ljubomoru
|
|
Анализировать url |
| /kako-odabrati-destinaciju-za-putovanje/ |
Kako odabrati destinaciju za putovanje
|
|
Анализировать url |
| /zasto-je-leto-period-burnih-ljubavi/ |
Zašto je leto period burnih ljubavi
|
|
Анализировать url |
| /dnevni-tranzit-meseca-donosi-promene/ |
Dnevni tranzit Meseca donosi promene
|
|
Анализировать url |
| /polozaj-venere-ukazuje-na-nacin-na-koji-izrazavate-ljubav/ |
Položaj Venere ukazuje na način na koji izražavate ljubav
|
|
Анализировать url |
| /ima-li-resenja-za-ljubavni-problem/ |
Ima li rešenja za ljubavni problem
|
|
Анализировать url |
| /kada-treba-zapoceti-vezu-stupiti-u-brak/ |
Kada treba započeti vezu, stupiti u brak
|
|
Анализировать url |
| /category/kineska-astrologija/tekstovi/ |
Tekstovi
|
|
Анализировать url |
| /category/magazin/ |
Magazin
|
|
Анализировать url |
| /category/magazin/magazin-tekstovi/ |
Magazin tekstovi
|
|
Анализировать url |
| /svetsiki-dan-knjige-23-april-interesantni-podaci-iz-trilogije-tajna-santili-cipke/ |
Svetski Dan knjige 23.april- interesantni podaci iz Trilogije “Tajna Šantili čipke”
|
|
Анализировать url |
| /da-li-ste-u-vezi-sa-osecajnim-partnerom/ |
Da li ste u vezi sa osećajnim partnerom
|
|
Анализировать url |
| /razumevanje-prastanje-zaborav/ |
Razumevanje, praštanje, zaborav
|
|
Анализировать url |
| /test-4-sobe/ |
Test 4 sobe
|
|
Анализировать url |
| /da-li-ste-okruzeni-toksicnim-ljudima/ |
Da li ste okruženi toksičnim ljudima
|
|
Анализировать url |
| /category/film/ |
Film
|
|
Анализировать url |
| /ricard-gir-i-dzulija-roberts-idealan-glumacki-par/ |
Ričard Gir i Džulija Roberts, idealan glumački par
|
|
Анализировать url |
| /najvise-puta-ekranizivano-knjizevno-delo-rat-mir/ |
Najviše puta ekranizivano književno delo – “Rat i mir”
|
|
Анализировать url |
| /ko-je-bio-leopold-stokovski/ |
Ko je bio Leopold Stokovski
|
|
Анализировать url |
| /koliko-znamo-o-vitaminima/ |
Koliko znamo o vitaminima
|
|
Анализировать url |
| /category/intervjui/ |
Intervjui
|
|
Анализировать url |
| /strahinja-trifunovic-life-couch/ |
Strahinja Trifunović, life couch
|
|
Анализировать url |
| /gost-voja-zanetic-pisac-scenarista-novinar-kolumnista/ |
Gost Voja Žanetić, pisac, scenarista, novinar, kolumnista
|
|
Анализировать url |
| /branka-stankovic-life-couch/ |
Branka Stanković, life couch
|
|
Анализировать url |
| /category/royal-price/ |
Royal priče
|
|
Анализировать url |
| /da-li-mediji-urusavaju-ugled-monarhije-preko-price-o-carlsu-i-dajani/ |
Da li mediji urušavaju ugled monarhije preko priče o Čarlsu i Dajani
|
|
Анализировать url |
| /jedan-drugi-peti-oktobar-1795-napoleonov-uspon/ |
Jedan drugi peti oktobar – 1795.-Napoleonov uspon
|
|
Анализировать url |
| /deca-princa-tomislava-karadordevica-u-srodstvu-sa-engleskim-princevima-viljemom-i-harijem/ |
Deca princa Tomislava Karađorđevića u srodstvu sa engleskim prinčevima Viljemom i Harijem
|
|
Анализировать url |
| /engleska-kraljica-elizabeta-ii-potomak-rodenog-brata-vojvode-od-velingtona-i-francuske-glumice/ |
Engleska kraljica Elizabeta II potomak rođenog brata Vojvode od Velingtona i francuske glumice
|
|
Анализировать url |
| /veze-izmedu-kraljevske-kuce-karadordevic-i-kraljice-elizabete-ii/ |
Veze između kraljevske kuće Karađorđević i Kraljice Elizabete II
|
|
Анализировать url |
| /preci-filipa-karadordevica-sina-princa-aleksandra-karadordevica-nastavak-loze-nemanjica/ |
Preci Filipa Karađorđevića, sina princa Aleksandra Karađorđevića – nastavak loze Nemanjića
|
|
Анализировать url |
| /napoleon-sve-njegove-ljubavi/ |
Napoleon i sve njegove ljubavi
|
|
Анализировать url |
| /category/putovanja/ |
Putovanja
|
|
Анализировать url |
| /njujork-njujork-malo-poznate-cinjenice/ |
Njujork, Njujork – malo poznate činjenice
|
|
Анализировать url |
| /crkva-aleksandra-nevskog-u-parizu/ |
Crkva Aleksandra Nevskog u Parizu
|
|
Анализировать url |
| /park-monso-u-parizu-2/ |
Park Monso u Parizu
|
|
Анализировать url |
| /jugoslavija-zemlja-koje-vise-nema/ |
Jugoslavija, zemlja koje više nema
|
|
Анализировать url |
| /astroloske-usluge/ |
<span style="font-family: Tahoma,Arial,Helvetica,sans-serif; color: #333399;"><strong>Astro usluge</strong></span>
|
|
Анализировать url |
| /preci-filipa-karadordevica-sina-princa-aleksandra-karadordevica-nastavak-loze-nemanjica/ |
Preci princa Filipa Karađorđevića- nastavak loze Nemanjića
|
|
Анализировать url |
| /rio-u-19-veku-kako-je-nastala-kraljevina-brazila/ |
<strong>Kako je nastala kraljevina Brazila</strong>
|
|
Анализировать url |
| /rio-u-19-veku-kako-je-nastala-kraljevina-brazila/ |
Kraljevska kuća Karađorđević potomak brazilskih kraljeva
|
|
Анализировать url |
| /asteroid-karma-u-vagi-i-skorpiji-simbolu-brakaljubomore-i-novca/ |
Asteroid Karma u Vagi i Škorpiji sledećih godinu dana- razna iznenađenja
|
|
Анализировать url |
| /automatsko-proricanje-3/ |
<strong><span style="color: #333399;">Automatsko proricanje</span></strong>
|
|
Анализировать url |
| /brojevi-daju-odgovor/ |
<span style="color: #333399;">Brojevi</span>
|
|
Анализировать url |
| /automatsko-proricanje-asteroidima/ |
Asteroidi
|
|
Анализировать url |
| /ciganske-karte/ |
Ciganske karte
|
|
Анализировать url |
| /brojevi-daju-odgovor/ |
Brojevi daju odgovor
|
|
Анализировать url |
| /ciganske-karte/ |
Ciganske karte
|
|
Анализировать url |
| /automatsko-proricanje-asteroidi |
Proricanje uz pomoć asteroida
|
|
Анализировать url |
| /deca-princa-tomislava-karadordevica-potomci-zozefine-boarne-bonaparte-u-srodstvu-sa-filipom-od-edinbugra/ |
<span style="color: #000000;">Deca Tomislava Karađorđevića potomci Žozefine Boarne Bonaprte</span>
|
|
Анализировать url |
| /kada-treba-zapoceti-vezu-stupiti-u-brak/ |
<span style="font-size: 18px; font-family: Tahoma, Arial, Helvetica, sans-serif;"><span style="color: #333399;">Kada treba započeti vezu, stupiti u brak</span></span>
|
|
Анализировать url |
| /njujork-njujork-malo-poznate-cinjenice/ |
<span style="color: #000080;">Malo poznate činjenice o Njujorku-Jug Menhetna oaza mira</span>
|
|
Анализировать url |
| /kada-treba-zapoceti-vezu-stupiti-u-brak/ |
|
|
Анализировать url |
| /park-monso-u-parizu-2/ |
<span style="color: #333399;">Park Monso u Parizu</span>
|
|
Анализировать url |
| /najvise-puta-ekranizivano-knjizevno-delo-rat-mir/ |
<span style="color: #333399;"><span style="color: #333399;"> Rat i mir – najviše puta ekranizovano književno delo</span></span>
|
|
Анализировать url |
Внешние ссылки
Кол-во: 4
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 4 оптимально.
На странице присутствуют ссылки на субдомены 1.
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| astrozenit.com |
www.astrozenit.com
|
Анализировать url |
| astrozenit.com |
<span style="color: #000080;">Ji djing-kineska knjiga promene</span>
|
Анализировать url |
| astrozenit.com |
Tarot
|
Анализировать url |
| astrozenit.com |
Kraljevske karte,
|
Анализировать url |
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Таким сайт https://royalastro.net/ видят поисковые системы. Процент оптимизации невысокий - 50%. Чтобы улучшить сайт и попасть в ТОП необходимо:
Исправьте ошибки в мета-тегах.
Исправьте ошибки индексации.
Поделитесь с друзьями: