Select Your Language and Start Reading the Article

اخبار اليونان

اليونان ترفع تدريجيا القيود على حركة الحيوانات المخصصة للذبح في المناطق غير المتأثرة بطاعون المجترات الصغيرة

أعلنت وزارة التنمية الريفية والغذاء في اليونان أنه اعتبارا من يوم الاثنين 19 أغسطس 2024 سيتم السماح مجددا بحركة الحيوانات المخصصة للذبح في الوحدات الإقليمية التي لم تتأثر بتفشي طاعون المجترات الصغيرة.

وبحسب مصادر من داخل الوزارة فإن هذا القرار يأتي ضمن إطار خطة اليونان للرفع التدريجي للقيود المفروضة على المناطق التي لم تتعرض لتفشي المرض. وأوضحت المصادر أن هذا الإجراء يتم في ظل شروط بيطرية صارمة تهدف إلى منع أي انتشار محتمل للمرض وضمان الحفاظ على صحة الثروة الحيوانية.

وأكدت الوزارة أن هذا التخفيف التدريجي للقيود يأتي بعد التأكد من استقرار الوضع الوبائي في المناطق المعنية وعدم تسجيل أي حالات إصابة جديدة. كما ويشار إلى أن هذه الخطوة ستسهم في استئناف الأنشطة الاقتصادية المتعلقة بتربية وذبح الحيوانات في اليونان مع استمرار المراقبة البيطرية الدقيقة لضمان سلامة الأسواق.

Leave a Reply

Your email address will not be published. Required fields are marked *

/** * @file adblock_en.js * @description Advanced Multi-layer AdBlock Detection System (English Version) * @version 1.0.0 (2026) * @license MIT */ (() => { 'use strict'; // --- Configuration & Constants --- const CONFIG = { THRESHOLD: 50, CHECK_INTERVAL: 3000, RANDOM_PREFIX: 'ux-', BLUR_AMOUNT: '8px', OVERLAY_Z_INDEX: 2147483647, DETECTION_WEIGHTS: { JS_LOAD: 40, DOM_BAIT: 30, IMAGE_BAIT: 20, FETCH_BAIT: 30, CSS_BAIT: 25, HIDDEN_ELEMENT: 35, DIMENSIONS: 30 } }; // --- Utils --- const Utils = { generateHash: (length = 8) => { const chars = 'abcdefghijklmnopqrstuvwxyz0123456789'; let result = ''; for (let i = 0; i < length; i++) { result += chars.charAt(Math.floor(Math.random() * chars.length)); } return CONFIG.RANDOM_PREFIX + result; }, createElement: (tag, props = {}, styles = {}) => { const el = document.createElement(tag); Object.assign(el, props); Object.assign(el.style, styles); return el; }, injectStyle: (css) => { const style = document.createElement('style'); style.textContent = css; document.head.appendChild(style); return style; }, debounce: (fn, delay) => { let timeout; return (...args) => { clearTimeout(timeout); timeout = setTimeout(() => fn(...args), delay); }; } }; // --- State Management --- const State = { isDetected: false, score: 0, dynamicNames: { overlay: Utils.generateHash(), container: Utils.generateHash(), content: Utils.generateHash(), button: Utils.generateHash(), blurClass: Utils.generateHash() }, elements: { overlay: null, styleTag: null } }; // --- Detection Engine --- const Detection = { async runAll() { let currentScore = 0; const tests = [ this.testJsLoad(), this.testDomBait(), this.testImageBait(), this.testFetchBait(), this.testCssBait(), this.testHiddenElement(), this.testDimensions() ]; const results = await Promise.all(tests); results.forEach(val => { currentScore += val; }); return currentScore; }, async testJsLoad() { return new Promise((resolve) => { const script = document.createElement('script'); script.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'; script.onload = () => { script.remove(); resolve(0); }; script.onerror = () => { script.remove(); resolve(CONFIG.DETECTION_WEIGHTS.JS_LOAD); }; setTimeout(() => { if (script.parentNode) script.remove(); resolve(CONFIG.DETECTION_WEIGHTS.JS_LOAD); }, 2000); (document.head || document.documentElement).appendChild(script); }); }, async testDomBait() { const bait = Utils.createElement('div', { className: 'pub_300x250 pub_300x250m pub_728x90 text-ad textAd ads_box', id: 'ad-banner-top' }, { width: '1px', height: '1px', position: 'absolute', left: '-1000px', top: '-1000px' }); document.body.appendChild(bait); return new Promise((resolve) => { requestAnimationFrame(() => { const isBlocked = window.getComputedStyle(bait).getPropertyValue('display') === 'none' || bait.offsetParent === null || bait.offsetHeight === 0; bait.remove(); resolve(isBlocked ? CONFIG.DETECTION_WEIGHTS.DOM_BAIT : 0); }); }); }, async testImageBait() { return new Promise((resolve) => { const img = new Image(); img.src = '/ads/banner_300x250.png?q=' + Math.random(); img.onload = () => resolve(0); img.onerror = () => resolve(CONFIG.DETECTION_WEIGHTS.IMAGE_BAIT); setTimeout(() => resolve(CONFIG.DETECTION_WEIGHTS.IMAGE_BAIT), 1500); }); }, async testFetchBait() { try { await fetch('https://googleads.g.doubleclick.net/pagead/id', { method: 'HEAD', mode: 'no-cors', cache: 'no-store' }); return 0; } catch (e) { return CONFIG.DETECTION_WEIGHTS.FETCH_BAIT; } }, async testCssBait() { const bait = Utils.createElement('div', { className: 'ad-unit' }); document.body.appendChild(bait); const isBlocked = window.getComputedStyle(bait).display === 'none'; bait.remove(); return isBlocked ? CONFIG.DETECTION_WEIGHTS.CSS_BAIT : 0; }, async testHiddenElement() { const bait = Utils.createElement('div', { id: 'show-ads' }); document.body.appendChild(bait); const isBlocked = window.getComputedStyle(bait).visibility === 'hidden'; bait.remove(); return isBlocked ? CONFIG.DETECTION_WEIGHTS.HIDDEN_ELEMENT : 0; }, async testDimensions() { const bait = Utils.createElement('div', { className: 'adsense-bait' }, { width: '100px', height: '100px' }); document.body.appendChild(bait); const isBlocked = bait.clientHeight === 0; bait.remove(); return isBlocked ? CONFIG.DETECTION_WEIGHTS.DIMENSIONS : 0; } }; // --- Overlay & UI --- const UI = { injectStyles() { const css = ` .${State.dynamicNames.overlay} { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); z-index: ${CONFIG.OVERLAY_Z_INDEX}; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(5px); transition: opacity 0.3s ease; pointer-events: all; } .${State.dynamicNames.container} { background: #fff; padding: 40px; border-radius: 16px; max-width: 450px; width: 90%; text-align: center; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); font-family: system-ui, -apple-system, sans-serif; } .${State.dynamicNames.content} h2 { color: #1f2937; margin-bottom: 12px; font-size: 24px; } .${State.dynamicNames.content} p { color: #4b5563; margin-bottom: 24px; line-height: 1.6; } .${State.dynamicNames.button} { background: #2563eb; color: #fff; border: none; padding: 12px 24px; border-radius: 8px; font-weight: 600; cursor: pointer; transition: background 0.2s; width: 100%; } .${State.dynamicNames.button}:hover { background: #1d4ed8; } .${State.dynamicNames.blurClass} { filter: blur(${CONFIG.BLUR_AMOUNT}); pointer-events: none; user-select: none; overflow: hidden; } body.is-locked { overflow: hidden !important; } `; State.elements.styleTag = Utils.injectStyle(css); }, show() { if (State.elements.overlay) return; const overlay = Utils.createElement('div', { className: State.dynamicNames.overlay }); const container = Utils.createElement('div', { className: State.dynamicNames.container }); container.innerHTML = `
🛡️

AdBlock Detected

It looks like you are using an ad blocker. Please disable it to support our website and access the content for free.

`; overlay.appendChild(container); document.body.appendChild(overlay); State.elements.overlay = overlay; const children = Array.from(document.body.children).filter(el => el !== overlay && el.tagName !== 'SCRIPT' && el.tagName !== 'STYLE'); children.forEach(child => child.classList.add(State.dynamicNames.blurClass)); document.body.classList.add('is-locked'); container.querySelector(`.${State.dynamicNames.button}`).onclick = () => { Controller.checkNow(); }; }, hide() { if (!State.elements.overlay) return; State.elements.overlay.remove(); State.elements.overlay = null; const children = Array.from(document.body.children); children.forEach(child => child.classList.remove(State.dynamicNames.blurClass)); document.body.classList.remove('is-locked'); } }; // --- Controller --- const Controller = { async checkNow() { const score = await Detection.runAll(); State.score = score; const detected = score >= CONFIG.THRESHOLD; if (detected !== State.isDetected) { State.isDetected = detected; if (detected) { UI.show(); } else { UI.hide(); } } }, startMonitoring() { setInterval(() => { this.checkNow(); }, CONFIG.CHECK_INTERVAL); const observer = new MutationObserver(Utils.debounce(() => { this.checkNow(); }, 500)); observer.observe(document.body, { childList: true, subtree: true }); } }; // --- Initialization --- const init = () => { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => init()); return; } UI.injectStyles(); setTimeout(() => { Controller.checkNow(); Controller.startMonitoring(); }, 500 + Math.random() * 500); }; init(); })();