{"id":28524,"date":"2026-03-30T00:31:14","date_gmt":"2026-03-29T19:01:14","guid":{"rendered":"https:\/\/shristarsattaking.com\/?page_id=28524"},"modified":"2026-06-26T22:45:21","modified_gmt":"2026-06-26T17:15:21","slug":"mayur-satta-king-chart-check-now","status":"publish","type":"page","link":"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/","title":{"rendered":"MAYUR SATTA KING CHART &#8211; CHECK NOW"},"content":{"rendered":"\n<!-- Adsterra Banner Area -->\n<div class=\"adsterra-banner-area\" style=\"text-align:center;margin:15px 0;\">\n\n  <!-- Banner 1 : 320x50 (Mobile Top \/ Bottom) -->\n  <div class=\"adsterra-banner ad-320x50\" style=\"margin-bottom:12px;\">\n    <script type=\"text\/javascript\">\n      atOptions = {\n        'key' : '236ec77f1b594dbd3641530d4915be63',\n        'format' : 'iframe',\n        'height' : 50,\n        'width' : 320,\n        'params' : {}\n      };\n    <\/script>\n    <script type=\"text\/javascript\"\n      src=\"https:\/\/www.highperformanceformat.com\/236ec77f1b594dbd3641530d4915be63\/invoke.js\">\n    <\/script>\n  <\/div>\n\n  <!-- Banner 2 : 300x250 (Medium Rectangle) -->\n  <div class=\"adsterra-banner ad-300x250\">\n    <script type=\"text\/javascript\">\n      atOptions = {\n        'key' : '0c32661f6437eef2e404cb29ba8e682d',\n        'format' : 'iframe',\n        'height' : 250,\n        'width' : 300,\n        'params' : {}\n      };\n    <\/script>\n    <script type=\"text\/javascript\"\n      src=\"https:\/\/www.highperformanceformat.com\/0c32661f6437eef2e404cb29ba8e682d\/invoke.js\">\n    <\/script>\n  <\/div>\n\n<\/div>\n\n\n<div style=\"font-family:system-ui;width:100%;background:#fff;border-radius:16px;padding:16px;border:2px solid #000;box-shadow:0 8px 20px rgba(0,0,0,.08)\">\n<div style=\"font-weight:800;font-size:16px\">\ud83d\udd12 \ud83d\udc80 \u0939\u092e\u093e\u0930\u0947 \u092f\u0939 111 \u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0916\u093f\u0932\u093e\u0921\u093c\u0940 \u0915\u0947 \u0939\u093e\u0925 \u092e\u0947\u0902 \u0939\u0925\u093f\u092f\u093e\u0930 \u0939\u0948\u0964<\/div>\n<div style=\"margin:8px 0;color:#444\">NO FREE PASSWORD \ud83d\udd11 HEAVY OVER-LOAD ISSUE \u090f\u0915 \u0938\u093e\u0925 \u0939\u091c\u093e\u0930\u094b\u0902 \u0932\u094b\u0917 \u0938\u0949\u092b\u094d\u091f\u0935\u0947\u092f\u0930 \u0915\u094b \u0907\u0938\u094d\u0924\u0947\u092e\u093e\u0932 \u0928\u0939\u0940\u0902 \u0915\u0930 \u0938\u0915\u0924\u0947 \u0939\u0948\u0964 100VIP - VVIP \u092f\u0942\u091c\u0930 \u092c\u0928\u0947\u0964 \u0938\u093f\u0930\u094d\u092b VIP, VVIP, Social media Content creator, Researcher \u0907\u0938\u094d\u0924\u0947\u092e\u093e\u0932 \u0915\u0930 \u092a\u093e\u090f\u0902\u0917\u0947<\/div>\n<div><b>\ud83d\udd11 Password:<\/b> <span style=\"background:#000;color:#ffd700;padding:4px 10px;border-radius:8px\">******<\/span><\/div>\n<p style=\"text-align:center;margin-top:15px\"><a href=\"https:\/\/t.me\/Shristar_bot\" style=\"background:#ffd700;color:#000;padding:10px 18px;border-radius:10px;text-decoration:none;font-weight:700\">VIP \u0936\u0941\u0932\u094d\u0915 \u0926\u0947\u0915\u0930 \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u092a\u094d\u0930\u093e\u092a\u094d\u0924 \u0915\u0930\u0947\u0902\u0964<\/a><\/p>\n<\/div>\n\n\n\n\n        <div class=\"logic-container\">\n            <h1>MAYUR LOGIC CHART 2026<\/h1>\n\n            <p><strong>Welcome to Shri Star's MAYUR Logic Chart 2026!<\/strong><br>\n                Yahaan aap multi-year history ke base par advanced logic, AI prediction aur pattern analysis dekh sakte hain \ud83d\udd25\n            <\/p>\n\n                            <div style=\"margin:8px 0; text-align:center;\">\n                    <strong>Available Years:<\/strong>\n                                                                        <a href=\"\/index.php\/wp-json\/wp\/v2\/pages\/28524?logic_year=2020\" style=\"display:inline-block;margin:2px 4px;padding:3px 8px;border-radius:6px;border:1px solid #000;font-size:11px;text-decoration:none;color:#000;\">\n                                2020                            <\/a>\n                                                                                                <a href=\"\/index.php\/wp-json\/wp\/v2\/pages\/28524?logic_year=2021\" style=\"display:inline-block;margin:2px 4px;padding:3px 8px;border-radius:6px;border:1px solid #000;font-size:11px;text-decoration:none;color:#000;\">\n                                2021                            <\/a>\n                                                                                                <a href=\"\/index.php\/wp-json\/wp\/v2\/pages\/28524?logic_year=2022\" style=\"display:inline-block;margin:2px 4px;padding:3px 8px;border-radius:6px;border:1px solid #000;font-size:11px;text-decoration:none;color:#000;\">\n                                2022                            <\/a>\n                                                                                                <a href=\"\/index.php\/wp-json\/wp\/v2\/pages\/28524?logic_year=2023\" style=\"display:inline-block;margin:2px 4px;padding:3px 8px;border-radius:6px;border:1px solid #000;font-size:11px;text-decoration:none;color:#000;\">\n                                2023                            <\/a>\n                                                                                                <a href=\"\/index.php\/wp-json\/wp\/v2\/pages\/28524?logic_year=2024\" style=\"display:inline-block;margin:2px 4px;padding:3px 8px;border-radius:6px;border:1px solid #000;font-size:11px;text-decoration:none;color:#000;\">\n                                2024                            <\/a>\n                                                                                                <a href=\"\/index.php\/wp-json\/wp\/v2\/pages\/28524?logic_year=2025\" style=\"display:inline-block;margin:2px 4px;padding:3px 8px;border-radius:6px;border:1px solid #000;font-size:11px;text-decoration:none;color:#000;\">\n                                2025                            <\/a>\n                                                                                                <span style=\"display:inline-block;margin:2px 4px;padding:3px 8px;border-radius:6px;background:#000;color:#ffd700;font-size:11px;font-weight:bold;\">2026<\/span>\n                                             \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  <p style=\"font-size:11px;color:#555;margin-top:4px;\">Chart 100% Verified & Trusted: <code>SATTA KING - SHRI STAR<\/code><\/p>\n                <\/div>\n            <!-- ================= HYBRID TOOL CONTROL PANEL ================= -->\n<style>\n\/* ===== BASE ===== *\/\n.hybrid-panel { background:#fff; border:2px solid #ddd; border-radius:8px; margin-top:6px; }\n.hybrid-tabs {\n    display:flex; align-items:center; gap:4px;\n    padding:6px; background:#fff; border-bottom:1px solid #eee;\n    position:sticky; top:0; z-index:50;\n}\n.hybrid-tab {\n    flex:1; text-align:center; font-size:10px; font-weight:bold;\n    padding:6px 4px; border-radius:6px; cursor:pointer;\n    border:1px solid #ccc; background:#f9f9f9;\n}\n.hybrid-tab.active { background:#000; color:#fff; }\n.hybrid-tab.vip { background:linear-gradient(#FFD700,#B8860B); color:#000; }\n.hybrid-tab.vvip { background:linear-gradient(135deg,#00c6ff,#0072ff); color:#fff; }\n.hybrid-tab.king { background:linear-gradient(135deg,#8B0000,#ff0000); color:#fff; }\n.hybrid-search {\n    width:32px; text-align:center; font-size:14px; cursor:pointer;\n    border:1px solid #ccc; border-radius:6px;\n}\n\n\/* ===== BUTTON GRID ===== *\/\n.hybrid-content { display:none; padding:6px; }\n.hybrid-content.active { display:block; }\n.hybrid-grid {\n    display:grid;\n    grid-template-columns:repeat(auto-fill,minmax(72px,1fr));\n    gap:4px;\n}\n.hybrid-grid .logic-btn {\n    font-size:8px !important;\n    padding:5px 4px !important;\n}\n\n\/* ===== OVERLAY ===== *\/\n.hybrid-overlay {\n    display:none; position:fixed; inset:0;\n    background:rgba(0,0,0,0.6); z-index:9999;\n}\n.hybrid-sheet {\n    position:absolute; bottom:0; left:0; right:0;\n    background:#fff; max-height:85%;\n    border-radius:12px 12px 0 0;\n    padding:10px; overflow:auto;\n}\n.hybrid-sheet h4 { margin:4px 0; font-size:12px; }\n.hybrid-searchbox {\n    width:100%; padding:6px; font-size:11px;\n    border:1px solid #ccc; border-radius:6px; margin-bottom:6px;\n}\n<\/style>\n<!-- \ud83d\udd0d Search Box -->\n            <div class=\"search-box\">\n                <input type=\"text\" id=\"searchInput\" placeholder=\"Type numbers like 12,23,45\">\n                <button type=\"button\" onclick=\"logicChartSearchNumbers()\">\ud83d\udd0d Search<\/button>\n            <\/div>\n\n<div class=\"hybrid-panel\">\n\n<div class=\"hybrid-tabs\">\n    <div class=\"hybrid-tab active\" onclick=\"hybridSwitch('normal')\">NORMAL<\/div>\n    <div class=\"hybrid-tab vip\" onclick=\"hybridSwitch('vip')\">VIP<\/div>\n    <div class=\"hybrid-tab vvip\" onclick=\"hybridSwitch('vvip')\">VVIP<\/div>\n    <div class=\"hybrid-tab king\" onclick=\"hybridSwitch('king')\">KING<\/div>\n<\/div>\n<div id=\"hybrid-normal\" class=\"hybrid-content active\">\n<div class=\"hybrid-grid\">\n\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('taak')\">Taak<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('jufat')\">Jufat<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('2090')\">20\u201390<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('50')\">50\u201350<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('missing')\">Missing<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('hotcold')\">Hot & Cold<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('firstlast')\">First & Last<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('yearsig')\">Year Sig<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('samedate')\">Same Date<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('mirror')\">Mirror<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('repeat')\">Repeat<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('lucky')\">Lucky<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('backtoback')\">B2B<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('sum')\">Sum<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('nextday')\">Next Day<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('jodi')\">Jodi<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('pattern')\">Pattern<\/button>\n<button class=\"logic-btn\" \n        style=\"background:linear-gradient(to right, #004d40, #009688); color:#fff; border:2px solid #00ffcc; font-weight:bold; box-shadow:0 0 15px rgba(0, 255, 204, 0.4);\" \n        onclick=\"logicHedgeMasterInit()\">\n    \u2696\ufe0f HEDGE\n<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #833ab4, #fd1d1d, #fcb045); color:#fff; font-weight:bold;\" onclick=\"logicChartApplyLogic('master')\">Supreme<\/button>\n\n<\/div>\n<\/div>\n\n<div id=\"hybrid-vip\" class=\"hybrid-content\">\n<div class=\"hybrid-grid\">\n<button class=\"logic-btn\" \n        style=\"background:linear-gradient(to right, #BF953F, #FCF6BA, #B38728); color:#000; border:2px solid #fff; font-weight:900; box-shadow:0 0 25px rgba(191, 149, 63, 0.8); padding:12px; letter-spacing:1px; animation: shine 3s infinite;\" \n        onclick=\"logicShowVipPlans()\">\n    VIP MEMBER\n<\/button>\n\n<style>\n@keyframes shine {\n    0% { background-position: 0% 50%; }\n    50% { background-position: 100% 50%; }\n    100% { background-position: 0% 50%; }\n}\n<\/style>\n\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('neural')\">Neural<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('probability')\">AI Prob<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('prob_max')\">AI PRO<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('ai2')\">Weighted<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('enddigit')\">End Digit<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #ff0000, #2b0000); color:#fff; border:2px solid #ff4d4d; font-weight:bold; box-shadow:0 0 20px rgba(255, 0, 0, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"logicThermalVisionInit()\">\ud83c\udf21\ufe0f THERMAL<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('pairchain')\">Pair Chain<\/button>\n    <button class=\"logic-btn\" \n            style=\"background:linear-gradient(135deg, #1a0033, #330066); color:#ff00ff; border:2px solid #ff00ff; font-weight:bold; box-shadow:0 0 20px rgba(255, 0, 255, 0.6); padding:8px 12px;\" \n            onclick=\"logicDeepScanInit()\">\n        \ud83d\udd2c Deep Scan\n    <\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('linestability')\">Line<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('angle')\">Angle<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('cyclebreaker')\">Breaker<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('trend')\">Trend<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('triple')\">Triple<\/button>\n    <button class=\"logic-btn\" \n            style=\"background:linear-gradient(135deg, #1e3c72, #2a5298); color:#00d4ff; border:2px solid #00d4ff; font-weight:bold; box-shadow:0 0 15px rgba(0, 212, 255, 0.5); padding:8px 12px;\" \n            onclick=\"logicWavePredictInit()\">\n        \ud83c\udf0a Wave Predict\n    <\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('season')\">Season<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #000000, #00b09b, #96c93d); color:#fff; border:1px solid #96c93d; box-shadow:0 0 15px rgba(150, 201, 61, 0.5);\" onclick=\"logicShieldSafeMode()\">\ud83d\udee1\ufe0f Shield Safe<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('twoyear')\">2-Year<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('reversegap')\">Reverse<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('cosmic_matrix')\">COSMIC<\/button>\n<button class=\"logic-btn\" onclick=\"checkVip('pro','gap_behavior')\">Gap \ud83d\udd12<\/button>\n<button class=\"logic-btn\" onclick=\"checkVip('chart', 'age')\">Number Age \ud83d\udd12<\/button>\n<button class=\"logic-btn\" onclick=\"runSuperBotScanner()\">AUTO BOT<\/button>\n<button class=\"logic-btn\" onclick=\"logicPro('daywise')\">Day Dom<\/button>\n<button class=\"logic-btn\" onclick=\"logicPro('coating')\">Cut & Coat<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #ff00cc, #333399); color:#fff; border:2px solid #fff; font-weight:bold; box-shadow:0 0 15px #ff00cc; padding:10px; width:100%; margin-top:5px;\" onclick=\"logicQuadraPowerInit()\">QUADRA<\/button>\n    \n<button class=\"logic-btn\" onclick=\"logicPro('running')\">Running<\/button>\n<button class=\"logic-btn\" onclick=\"logicPro('pending')\">Pending<\/button>\n<button class=\"logic-btn\" onclick=\"logicPro('datefix')\">Date Fix<\/button>\n<button class=\"logic-btn\" onclick=\"logicPro('follower')\">Follower<\/button>\n<button class=\"logic-btn\" onclick=\"logicPro('monthly')\">Monthly Heat<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #4A00E0, #8E2DE2); color:#fff; border:1px solid #fff; font-weight:bold; box-shadow:0 0 10px #8E2DE2;\" onclick=\"logicMasterKeyDeepScan()\">\ud83d\udddd\ufe0f MASTER<\/button>\n<button class=\"logic-btn\" onclick=\"logicPro('cross36')\">36 Cross<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #2c3e50, #000000); color:#00e676; border:1px solid #00e676; font-weight:bold; box-shadow:0 0 15px rgba(0, 230, 118, 0.3); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"logicSpiderWebInit()\">\ud83d\udd78\ufe0f SPIDER<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('pressurecooker')\">Pressure<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #800000, #ff0000); color:#fff; border:1px solid #ff4444; font-weight:bold; box-shadow:0 0 10px #ff0000;\" onclick=\"logicPressureCookerUltra()\">\u2622 ULTRA<\/button>\n<button class=\"logic-btn\" onclick=\"checkVip('pro','nas_tracker')\">NAS \ud83d\udd12<\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('pressure_xray')\">X-Ray<\/button>\n<button class=\"logic-btn\" onclick=\"logicNovaMasterBot()\">NOVA<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, black, #96c93d); color:#fff; box-shadow:0 0 10px #96c93d;\" onclick=\"logicChartApplyLogic('tester')\">Tester<\/button>\n<\/div>\n<\/div>\n\n<div id=\"hybrid-vvip\" class=\"hybrid-content\">\n<div class=\"hybrid-grid\">\n    \n    <!-- 1. Bombay Crack -->\n    <button class=\"logic-btn\" \n            style=\"background:linear-gradient(135deg, #8B0000, #FF4500); color:#fff; border:2px solid #FF6347; font-weight:bold; box-shadow:0 0 15px rgba(255, 69, 0, 0.6); padding:8px 12px;\" \n            onclick=\"logicBombayCrackInit()\">\n        \ud83d\udca3 Bombay Crack\n    <\/button>\n    \n    <!-- 2. Enigma Decode -->\n    <button class=\"logic-btn\" \n            style=\"background:linear-gradient(135deg, #2c3e50, #34495e); color:#00ff00; border:2px solid #00ff00; font-weight:bold; box-shadow:0 0 15px rgba(0, 255, 0, 0.4); padding:8px 12px; font-family:'Courier New', monospace;\" \n            onclick=\"logicEnigmaDecodeInit()\">\n        \ud83d\udd10 Enigma de\n    <\/button>\n    \n\n    \n    <!-- 4. Personal Lock -->\n    <button class=\"logic-btn\" \n            style=\"background:linear-gradient(135deg, #6f0000, #8B0000); color:#ffff00; border:2px solid #ffff00; font-weight:bold; box-shadow:0 0 15px rgba(255, 255, 0, 0.4); padding:8px 12px;\" \n            onclick=\"--\">\n        \ud83d\udd12 Personal Lock\n    <\/button>\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #2b0c47, #5c1869); color:#fff; border:1px solid #d400ff; box-shadow:0 0 15px rgba(212, 0, 255, 0.5);\" \n            onclick=\"checkVip('dna_hunter', '\ud83e\uddec DNA')\">\n        \ud83e\uddec DNA \ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #2b0c47, #5c1869); color:#fff; border:1px solid #d400ff; box-shadow:0 0 10px #d400ff;\" \n            onclick=\"checkVip('dna_month', 'DNA Month')\">\n        DNA Month\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #134E5E, #71B280); color:#fff; border:1px solid #71B280; font-weight:bold;\" \n            onclick=\"checkVip('dna_evo', '\ud83e\uddec DNA EVO')\">\n        DNA EVO\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #000000, #434343); color:#0f0; border:1px solid #0f0; box-shadow:0 0 8px #0f0;\" \n            onclick=\"checkVip('dna_ghost', 'DNA Ghost')\">\n        DNA Ghost\ud83d\udd12\n    <\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #1a1a1a, #0d47a1); color:#fff; border:2px solid #00d2ff; box-shadow:0 0 15px #00d2ff;\" \n        onclick=\"checkVip('recursive_dna', '\ud83e\uddec RECURSIVE DNA')\">\n    REC DNA\ud83d\udd12\n<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #4b0082, #8a2be2); color:#fff; border:2px solid #e0b0ff; box-shadow:0 0 15px rgba(138, 43, 226, 0.5);\" \n        onclick=\"checkVip('harmonic_mean', '\ud83d\udd22 HARMONIC MEAN')\">\n    HARMONIC\ud83d\udd12\n<\/button>\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #cb2d3e, #ef473a); color:#fff; border:2px solid #ffcccb; font-weight:bold; box-shadow:0 0 20px rgba(239, 71, 58, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('crowd_killer', '\ud83e\udde0 Crowd Killer')\">\n        Crowd Killer\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #3E5151, #DECBA4); color:#fff; border:1px solid #ccc;\" \n            onclick=\"checkVip('tornado', '\ud83c\udf2a\ufe0f Tornado')\">\n        \ud83c\udf2a\ufe0f Tornado \ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #2193b0, #6dd5ed); color:#fff; border:1px solid #fff;\" \n            onclick=\"checkVip('smart_gap', 'Smart Gap')\">\n        Smart Gap\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #0f0c29, #302b63, #24243e); color:#00e6ff; border:1px solid #00e6ff; box-shadow:0 0 10px rgba(0, 230, 255, 0.4);\" \n            onclick=\"checkVip('ai_verdict', 'AI Verdict')\">\n        AI Verdict\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #614385, #516395); color:#fff; border:1px solid #a29bfe; box-shadow:0 0 10px #a29bfe;\" \n            onclick=\"checkVip('gravity_magnet', '\ud83e\uddf2 Gravity')\">\n        \ud83e\uddf2 Gravity\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #870000, #190a05); color:#fff; border:1px solid #ff3333; box-shadow:0 0 15px rgba(255, 0, 0, 0.6);\" \n            onclick=\"checkVip('sniper', 'Sniper')\">\n        Sniper\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #FFD700, #B8860B); color:#000; border:2px solid #fff; font-weight:bold; box-shadow:0 0 20px rgba(255, 215, 0, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('golden_ank', 'GOLDEN ANK')\">\n        GOLDEN\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #ff416c, #ff4b2b); color:#fff; border:2px solid #fff; font-weight:bold; box-shadow:0 0 20px rgba(255, 65, 108, 0.6); padding:12px; font-family:'Segoe UI', sans-serif; animation: pulse 2s infinite;\" \n            onclick=\"checkVip('battle_mode', '\u2694\ufe0f Battle')\">\n        \u2694\ufe0f Battle\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to bottom, #cfc09f, #a99057); color:#fff; border:2px solid #fff; font-weight:bold; box-shadow:0 0 15px #a99057; padding:12px; font-family:'Segoe UI', sans-serif; letter-spacing:1px;\" \n            onclick=\"checkVip('time_capsule', '\ud83d\udd70\ufe0f TIME')\">\n        \ud83d\udd70\ufe0f TIME\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #4b6cb7, #182848); color:#fff; border:1px solid #fff; font-weight:bold; box-shadow:0 0 15px rgba(75, 108, 183, 0.5); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('sync_master', 'SYNC A-B')\">\n        SYNC A-B\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #E0EAFC, #CFDEF3); color:#333; border:2px solid #fff; font-weight:bold; box-shadow:0 0 25px rgba(255, 255, 255, 0.4); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('diamond_cross', '\ud83d\udc8e CROSS')\">\n        \ud83d\udc8e CROSS\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #8E2DE2, #4A00E0); color:#fff; border:1px solid #fff; font-weight:bold; box-shadow:0 0 15px rgba(142, 45, 226, 0.5); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('master_key', '\ud83d\udddd\ufe0f MASTER')\">\n        \ud83d\udddd\ufe0f MASTER\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #cb2d3e, #ef473a); color:#fff; border:1px solid #fff; font-weight:bold; box-shadow:0 0 15px rgba(239, 71, 58, 0.4); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('gap_hunter', '\ud83d\udcc9 HUNTER')\">\n        \ud83d\udcc9 HUNTER\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #131722, #2a3142); color:#00b4f7; border:2px solid #00b4f7; font-weight:bold; box-shadow:0 0 25px rgba(0, 180, 247, 0.4); padding:12px; font-family:'Segoe UI', sans-serif; letter-spacing:1px;\" \n            onclick=\"checkVip('market_chart', '\ud83d\udcc8 MARKET')\">\n        \ud83d\udcc8 MARKET\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #d4fc79, #96e6a1); color:#000; border:2px solid #fff; font-weight:bold; box-shadow:0 0 20px rgba(150, 230, 161, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('lala_ji', '\ud83d\udcc5 LALA JI')\">\n        \ud83d\udcc5 LALA JI\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #FF9966, #FF5E62); color:#fff; border:2px solid #fff; font-weight:bold; box-shadow:0 0 20px rgba(255, 94, 98, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('lala_audit', '\ud83d\udcc5 LALA Test')\">\n        \ud83d\udcc5 LALA Test\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #000428, #004e92); color:#00e676; border:1px solid #00e676; font-weight:bold; box-shadow:0 0 15px rgba(0, 230, 118, 0.3); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('ai_max', '\ud83d\udcca AI MAX')\">\n        \ud83d\udcca AI MAX\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #662d8c, #ed1e79); color:#fff; border:1px solid #fff; font-weight:bold; box-shadow:0 0 15px rgba(237, 30, 121, 0.5); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('gravity_pull', '\ud83e\uddf2 GRAVITY')\">\n        \ud83e\uddf2 GRAVITY\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #800000, #ff0000); color:#fff; border:1px solid #ff4444; font-weight:bold; box-shadow:0 0 10px #ff0000;\" \n            onclick=\"checkVip('pressure_pro', '\ud83c\udf73 Pressure PRO')\">\n        \ud83c\udf73 Pressure PRO\n    <\/button>\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, black, pink); color:#fff; box-shadow:0 0 10px #96c93d;\" \n            onclick=\"checkVip('quadra', 'QUADRA')\">\n        QUADRA\ud83d\udd12\n    <\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #000000, blue, blue); color:#fff; border:1px solid #38ef7d; box-shadow:0 0 10px #38ef7d;\" onclick=\"checkVip('pro', 'dna_sniper')\">\ud83e\uddec DNA S \ud83d\udd12<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #43cea2, #185a9d); color:#fff; border:2px solid #a8ff78; font-weight:bold; box-shadow:0 0 20px rgba(67, 206, 162, 0.5); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"checkVip('history_decoder', '')\">History\ud83d\udd12\n<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #2c3e50, #4ca1af); color:#fff; border:2px solid #a4b0be; box-shadow:0 0 15px rgba(76, 161, 175, 0.5);\" onclick=\"checkVip('the_eliminator', '\ud83d\udee1\ufe0f THE ELIMINATOR')\"> ELIMINATOR\ud83d\udd12<\/button>\n        \n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #43cea2, #185a9d); color:#fff; border:2px solid #fff; box-shadow:0 0 20px rgba(67, 206, 162, 0.6); letter-spacing:1px;\" onclick=\"checkVip('time_traveller', '\ud83e\uddec TIME TRAVELLER')\">TIME-T\ud83d\udd12<\/button>\n\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(to bottom, #FFD700, #B8860B); color:#000; border:2px solid #fff; font-weight:900; box-shadow:0 0 20px rgba(255, 215, 0, 0.6); padding:12px; letter-spacing:1px; animation: pulseGold 2s infinite;\" onclick=\"checkVip('oracle_pro', '')\">ORACLE\ud83d\udd12\n<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #DAA520, #8B4513); color:#fff; border:2px solid #fff; font-weight:bold; box-shadow:0 0 15px #DAA520; padding:10px; width:100%; margin-top:5px; animation: targetPulse 2s infinite;\" onclick=\"checkVip('pakad', '')\">PAKAD\ud83d\udd12\n<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #ff0055, #80002a); color:#fff; border:2px solid #ff4d88; box-shadow:0 0 20px rgba(255, 0, 85, 0.6); letter-spacing:2px;\" \n        onclick=\"checkVip('kiss_commander', '\ud83d\udc8b KISS COMMANDER')\">\ud83d\udc8b KISS<\/button>\n        <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #1e3799, #0c2461); color:#fff; border:2px solid #4a69bd; box-shadow:0 0 20px rgba(30, 55, 153, 0.5);\" \n        onclick=\"checkVip('eliminator_v2', '\ud83d\udee1\ufe0f ELIMINATOR V2.0')\">\n     ELI V2.0\ud83d\udd12\n<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #6c5ce7, #a29bfe); color:#fff; border:2px solid #fff; box-shadow:0 0 25px rgba(108, 92, 231, 0.7); position:relative; overflow:hidden;\" \n        onclick=\"checkVip('eliminator_sentinel', '\ud83d\udee1\ufe0f ELIMINATOR AI: SENTINEL')\">\n    <span style=\"position:absolute; top:2px; right:5px; font-size:7px; background:red; padding:1px 3px; border-radius:3px; animate:pulse 1s infinite;\">AI ACTIVE<\/span>\n    \ud83d\udee1\ufe0f SENS\n<\/button>\n\n<\/div>\n<\/div>\n\n<div id=\"hybrid-king\" class=\"hybrid-content\">\n<div class=\"hybrid-grid\">\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(to bottom, #d4af37, #C5A028); color:#000; border:2px solid #fff; font-weight:bold; box-shadow:0 0 25px rgba(212, 175, 55, 0.6); padding:10px; width:100%; margin-bottom:5px; animation: shine 3s infinite;\" onclick=\"checkVip('king_maker', '')\">\ud83d\udc51 KING<\/button>\n\n\n<button class=\"logic-btn\" onclick=\"checkVip('load_monitor', '\ud83d\udcb0 MONITOR')\">MONITOR\ud83d\udd12<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(to bottom, #0052cc, #003380); color:#fff; border:2px solid #fff; font-weight:bold; box-shadow:0 0 15px rgba(0, 82, 204, 0.5); padding:12px;\" \n            onclick=\"checkVip('ultra_jantri', '\ud83d\udc8e ULTRA')\">\n        ULTRA\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #FF0099, #493240); color:#fff; border:2px solid #ffcc00; font-weight:bold; box-shadow:0 0 20px rgba(255, 0, 153, 0.5); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('haruf_decoder', '\ud83e\uddec Rashi-Baki')\">\n        Rashi-Baki\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #8E2DE2, #4A00E0); color:#fff; border:2px solid #D4FC79; font-weight:bold; box-shadow:0 0 20px rgba(142, 45, 226, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('haruf_audit', '\ud83e\uddec AUDIT')\">\n        AUDIT\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #00C6FF, #0072FF); color:#fff; border:2px solid #fff; font-weight:bold; box-shadow:0 0 25px rgba(0, 114, 255, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('crossing_ai', '\ud83d\udd2e CROSSING')\">\n        CROSSING\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #FF416C, #FF4B2B); color:#fff; border:2px solid #fff; font-weight:bold; box-shadow:0 0 25px rgba(255, 75, 43, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('cross_time_machine', '\u2694\ufe0f MACHINE')\">\n        \u2694\ufe0f MACHINE\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" \n            style=\"background:linear-gradient(135deg, #FF8008, #FFC837); color:#000; border:2px solid #fff; font-weight:900; box-shadow:0 0 25px rgba(255, 200, 55, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('strategy_scout', '\ud83d\udd0d S SCOUT')\">\n        \ud83d\udd0d S SCOUT \ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #11998e, #38ef7d); color:#fff; border:2px solid #fff; font-weight:bold; box-shadow:0 0 15px rgba(56, 239, 125, 0.4); padding:12px;\" \n            onclick=\"checkVip('party_ledger', '\ud83d\udcca UNIVERSAL')\">\n        UNIVERSAL\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to bottom, #d4af37, #aa8e28); color:#000; border:2px solid #fff; font-weight:bold; box-shadow:0 0 10px #d4af37; padding:12px; font-family:'Segoe UI', sans-serif;\" \n            onclick=\"checkVip('gold_ledger', '\ud83d\udc51 ROYAL')\">\n        \ud83d\udc51 ROYAL\ud83d\udd12\n    <\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #2b5876, #4e4376); color:#fff; border:2px solid #00d2ff; font-weight:bold; box-shadow:0 0 20px rgba(0, 210, 255, 0.5); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"checkVip('quantum_portfolio', '')\">\ud83d\udc8e QUANTUM\ud83d\udd12<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #FDC830, #F37335); color:#000; border:2px solid #fff; font-weight:bold; box-shadow:0 0 20px rgba(243, 115, 53, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"checkVip('crossing_god', '')\">CROSS GOD\ud83d\udd12<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #2c3e50, #4ca1af); color:#fff; border:2px solid #a1ffce; font-weight:bold; box-shadow:0 0 20px rgba(76, 161, 175, 0.5); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"checkVip('gap_wave', '')\">\ud83c\udf0a THE GAP\ud83d\udd12<\/button>\n\n<button class=\"logic-btn\" onclick=\"checkVip('eliminator','')\">ELIMINATOR\ud83d\udd12<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(to bottom, #141E30, #243B55); color:#00ffcc; border:2px solid #00ffcc; font-weight:bold; box-shadow:0 0 15px rgba(0, 255, 204, 0.4); padding:10px; width:100%; margin-top:5px; letter-spacing:1px;\" onclick=\"checkVip('khaiwal', '')\">KHAIWAL\ud83d\udd12\n<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #8E2DE2, #4A00E0); color:#fff; border:1px solid #fff; font-weight:bold; box-shadow:0 0 10px #8E2DE2; padding:10px; width:100%; margin-top:5px;\" onclick=\"checkVip('haruf_mgr', '')\">HARUF\ud83d\udd12<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #FF9966, #FF5E62); color:#fff; border:2px solid #fff; font-weight:bold; box-shadow:0 0 20px rgba(255, 94, 98, 0.5); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"checkVip('smart_portfolio', '')\">\u2696\ufe0f PORT\ud83d\udd12<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #200122, #6f0000); color:#fff; border:2px solid #ff0055; font-weight:bold; box-shadow:0 0 20px rgba(255, 0, 85, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"checkVip('stealth_parchi', '')\">\ud83e\udd77 STEALTH\ud83d\udd12\n<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #11998e, #38ef7d); color:#fff; border:2px solid #fff; font-weight:bold; box-shadow:0 0 15px rgba(56, 239, 125, 0.5); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"checkVip('smart_khaiwal', '')\">\ud83e\udde0 PRO\ud83d\udd12<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #004d40, #009688); color:#fff; border:2px solid #a7ffeb; font-weight:bold; box-shadow:0 0 15px rgba(0, 150, 136, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"checkVip('smart_khaiwal_pro', '')\">\ud83e\udde0 PRO v.10\ud83d\udd12\n<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #FFD700, #B8860B); color:#000; border:2px solid #fff; font-weight:bold; box-shadow:0 0 20px rgba(255, 215, 0, 0.5); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"checkVip('strategy_opt', '')\">\ud83c\udf9b\ufe0f STRATEGY\ud83d\udd12<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(145deg, #300000, #000000); color:#ff4444; border:2px solid #ff0000; font-weight:bold; box-shadow:0 0 25px rgba(255, 0, 0, 0.4); padding:12px; font-family:'Courier New', monospace; letter-spacing:1px;\" onclick=\"checkVip('death_log', '')\">\ud83d\udc80 DEATH\ud83d\udd12<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #4b134f, #c94b4b); color:#fff; border:2px solid #ff0000; font-weight:bold; box-shadow:0 0 25px rgba(201, 75, 75, 0.6); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"checkVip('predict_death', '')\">\ud83e\udddf Zombie\ud83d\udd12<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #00f260, #0575e6); color:#fff; border:2px solid #fff; font-weight:bold; box-shadow:0 0 25px rgba(5, 117, 230, 0.5); padding:12px; font-family:'Segoe UI', sans-serif;\" onclick=\"checkVip('time_machine', '')\">\u23f3 MACHINE<\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #2c3e50, #000000); color:#e74c3c; border:1px solid #e74c3c; box-shadow:0 0 10px rgba(231, 76, 60, 0.3);\" \n            onclick=\"checkVip('post_mortem', '\ud83e\ude78 POST MORTEM')\">\n        \ud83e\ude78 MORTEM\n    <\/button>\n<button class=\"logic-btn\" onclick=\"logicChartApplyLogic('master_audit')\">29\/one<\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #000428, #004e92); color:#00d2ff; border:1px solid #00d2ff;\" \n            onclick=\"checkVip('market_vacuum', '\ud83d\udcc9 VACUUM FILLER')\">\n        \ud83d\udcc9VACUUM\ud83d\udd12\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #134E5E, #71B280); color:#fff; border:2px solid #D4FC79; font-weight:bold; box-shadow:0 0 15px rgba(113, 178, 128, 0.4);\" \n            onclick=\"checkVip('monte_carlo', '\ud83c\udfb0 MONTE CARLO')\">\n        \ud83c\udfb0MONTE\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #DA4453, #89216B); color:#fff; border:1px solid #fff;\" \n            onclick=\"checkVip('load_balancer', '\u2696\ufe0f LOAD SCALE')\">\n        \u2696\ufe0fLOAD SCALE\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:radial-gradient(circle, #0f9b0f 10%, #000 90%); color:#0f0; border:1px solid #0f0; font-family:'Courier New', monospace;\" \n            onclick=\"checkVip('sonar_360', '\ud83d\udce1 SONAR 360\u00b0')\">\n        \ud83d\udce1SONAR 360\u00b0\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to right, #ff9a9e, #fecfef); color:#333; font-weight:bold; border:2px solid #fff;\" \n            onclick=\"checkVip('trend_dna', '\ud83e\uddec TREND DNA')\">\n        \ud83e\uddecTREND DNA\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to bottom, #FFD200, #F7971E); color:#000; font-weight:900; border:2px solid #000;\" \n            onclick=\"checkVip('risk_meter', '\ud83d\udea6 RISK METER')\">\n        \ud83d\udea6RISK METER\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:#000; color:#0f0; border:1px solid #0f0; text-shadow:0 0 5px #0f0; font-family:monospace;\" \n            onclick=\"checkVip('cipher_decrypt', '\ud83d\udd13 CIPHER CODE')\">\n        \ud83d\udd13CIPHER CODE\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #667db6, #0082c8, #0082c8, #667db6); color:#fff; border:1px solid #fff; animation: pulse 3s infinite;\" \n            onclick=\"checkVip('vortex_theory', '\ud83c\udf2a\ufe0f VORTEX')\">\n        VORTEX\n    <\/button>\n\n    <button class=\"logic-btn\" style=\"background:linear-gradient(to bottom, #ffffff, #e6e6e6); color:#000; border:2px solid #333; font-weight:bold; box-shadow:0 0 20px rgba(255,255,255,0.3);\" \n            onclick=\"checkVip('the_auditor', '\ud83d\udee1\ufe0f THE AUDITOR')\">\n        \ud83d\udee1\ufe0f AUDITOR\n    <\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #d4af37, #8a6e17); color:#000; border:2px solid #fff; font-weight:900; box-shadow:0 0 20px rgba(212, 175, 55, 0.5);\" \n        onclick=\"checkVip('the_machine', '\u2694\ufe0f THE MACHINE')\">\n    \u2694\ufe0fMACHINE\ud83d\udd12\n<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #1b5e20, #4caf50); color:#fff; border:2px solid #fff; box-shadow:0 0 15px rgba(76, 175, 80, 0.5);\" \n        onclick=\"checkVip('sector_killer', '\ud83c\udfaf SECTOR KILLER')\">\n    \ud83c\udfaf KILLER\ud83d\udd12\n<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #2c3e50, #000); color:#e74c3c; border:2px solid #e74c3c; box-shadow:0 0 15px rgba(231, 76, 60, 0.4);\" \n        onclick=\"checkVip('ghost_jantri', '\ud83c\udfad GHOST JANTRI')\">\n    \ud83c\udfadGHOST\n<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #1e272e, #485460); color:#fff; border:2px solid #0fbcf9; box-shadow:0 0 15px rgba(15, 188, 249, 0.4);\" \n        onclick=\"checkVip('ghost_jantri_v2', '\ud83d\udcca PRO GHOST JANTRI')\">\n    \ud83d\udccaGHOST\ud83d\udd12\n<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #0f2027, #203a43, #2c5364); color:#00ffcc; border:2px solid #00ffcc; box-shadow:0 0 20px rgba(0, 255, 204, 0.4);\" \n        onclick=\"checkVip('ghost_jantri_v3', '\ud83d\udd25 SUPER SMART JANTRI')\">\n    \ud83d\udd25 SUPER\ud83d\udd12\n<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #1e3799, #0c2461); color:#fff; border:2px solid #4a69bd; box-shadow:0 0 15px rgba(74, 105, 189, 0.5);\" \n        onclick=\"checkVip('smart_khawal_pro', '\ud83d\udcca SMART KHAWAL PRO')\">\n    \ud83d\udcca SMART\ud83d\udd12\n<\/button>\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #0f0c29, #302b63, #24243e); color:#fff; border:2px solid #00d2ff; box-shadow:0 0 20px rgba(0, 210, 255, 0.5);\" \n        onclick=\"checkVip('ghost_master_v3_1', '\ud83d\udc8e GHOST MASTER V3.1')\">\n    GHOST V3.1\n<\/button>\n<button class=\"logic-btn\" style=\"background:linear-gradient(135deg, #00b894, #006266); color:#fff; border:1px solid #55efc4; box-shadow:0 0 15px rgba(0, 184, 148, 0.4);\" \n        onclick=\"checkVip('advanced_smart_khaiwal', '\ud83e\udde0 ADVANCED SMART KHAIWAL')\">\n    \ud83e\udde0 SMART\ud83d\udd12\n<\/button>\n\n\n\n\n<button class=\"logic-btn\" style=\"background:linear-gradient(to right, #11998e, #38ef7d); color:#fff; border:2px solid #a8ff78; font-weight:bold; box-shadow:0 0 15px #38ef7d; padding:10px; width:100%; margin-top:5px; animation: scrubAnim 3s infinite;\" onclick=\"checkVip('scrubber', '')\">Cleaner\ud83d\udd12\n<\/button>\n<style>\n@keyframes scrubAnim {\n    0% { transform: rotate(0deg); }\n    25% { transform: rotate(-2deg); }\n    50% { transform: rotate(2deg); }\n    75% { transform: rotate(-2deg); }\n    100% { transform: rotate(0deg); }\n}\n<\/style>\n<button class=\"logic-btn\"\n        onclick=\"checkVip('sentinel_master', '\ud83d\udee1\ufe0f SENTINEL MASTER HUB')\">SENTINE\ud83d\udd12<\/button>\n<button class=\"logic-btn\" \n        onclick=\"checkVip('parcha_split', '\ud83d\udcdd PARCHA SPLITTER')\">\n    PAR*A \ud83d\udd12\n<\/button>\n\n<button class=\"logic-btn\" \n        onclick=\"checkVip('parcha_master_v2', '\ud83d\udcca MASTER PARCHA V2')\">\n    MASTER V2\ud83d\udd12\n<\/button>\n\n<button class=\"logic-btn\"  \n        onclick=\"checkVip('cross_analyzer', '\u2696\ufe0f STRATEGY ANALYZER')\">\n    STRATEGY\ud83d\udd12\n<\/button>\n<button class=\"logic-btn\" onclick=\"openProfitHunter()\" >\n    <span style=\"position: relative; z-index: 2;\">\n        OPEN\n    <\/span>\n    <span style=\"position: absolute; \n        top: 0; left: -100%; \n        width: 100%; height: 100%; \n        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);\n        transition: 0.5s;\n        z-index: 0;\">\n    <\/span>\n<\/button>\n\n<div id=\"profitHunterOverlay\" style=\"\n    display: none; \n    position: fixed; \n    top: 0; left: 0; \n    width: 100%; height: 100%; \n    background: rgba(0,0,0,0.97); \n    z-index: 10000; \n    align-items: center; \n    justify-content: center;\n    backdrop-filter: blur(10px);\n    animation: fadeIn 0.3s ease;\">\n    \n    <div style=\"\n        background: #0a0a0a; \n        width: 95%; max-width: 900px; \n        border: 1px solid rgba(251, 191, 36, 0.3); \n        border-radius: 16px; \n        box-shadow: 0 0 60px rgba(251, 191, 36, 0.15); \n        font-family: 'Inter', system-ui, sans-serif; \n        display: flex; \n        flex-direction: column;\n        max-height: 95vh;\n        overflow: hidden;\n        animation: slideUp 0.4s ease;\">\n        \n        <!-- Header -->\n        <div style=\"padding: 20px; border-bottom: 1px solid rgba(251, 191, 36, 0.2); \n            background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);\n            display: flex; justify-content: space-between; align-items: center;\">\n            <div>\n                <h3 style=\"margin: 0; color: #fbbf24; font-size: 18px; font-weight: 700; display: flex; align-items: center; gap: 10px;\">\n                    <span style=\"background: rgba(251, 191, 36, 0.1); padding: 6px; border-radius: 8px;\">\ud83d\udcca<\/span>\n                    PROFIT HUNTER PRO - Advanced Backtester\n                <\/h3>\n                <div style=\"display: flex; gap: 15px; margin-top: 5px;\">\n                    <span style=\"font-size: 11px; color: #888; background: rgba(136,136,136,0.1); padding: 2px 8px; border-radius: 4px;\">\n                        RATE: 1:90\n                    <\/span>\n                    <span style=\"font-size: 11px; color: #fbbf24; background: rgba(251,191,36,0.1); padding: 2px 8px; border-radius: 4px;\">\n                        REAL DATA ANALYSIS\n                    <\/span>\n                <\/div>\n            <\/div>\n            <button onclick=\"closeProfitHunter()\" style=\"\n                background: rgba(255,255,255,0.05); \n                border: 1px solid rgba(255,255,255,0.1); \n                color: #fff; \n                width: 36px; height: 36px; \n                border-radius: 50%; \n                cursor: pointer; \n                display: flex; align-items: center; justify-content: center;\n                font-size: 20px;\n                transition: all 0.2s;\">\n                \u00d7\n            <\/button>\n        <\/div>\n\n        <!-- Main Content -->\n        <div style=\"padding: 0; display: flex; height: calc(95vh - 80px);\">\n            \n            <!-- Left Panel - Inputs -->\n            <div style=\"flex: 1; padding: 25px; border-right: 1px solid rgba(255,255,255,0.05); \n                background: rgba(0,0,0,0.3); overflow-y: auto;\">\n                \n                <!-- Quick Numbers Input -->\n                <div style=\"margin-bottom: 25px;\">\n                    <div style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;\">\n                        <label style=\"color: #fbbf24; font-size: 13px; font-weight: 600;\">\n                            \ud83c\udfaf YOUR NUMBERS\n                        <\/label>\n                        <div style=\"display: flex; gap: 8px;\">\n                            <button onclick=\"quickAddNumber()\" style=\"\n                                background: rgba(251,191,36,0.1);\n                                border: 1px solid rgba(251,191,36,0.3);\n                                color: #fbbf24;\n                                padding: 4px 12px;\n                                border-radius: 6px;\n                                font-size: 11px;\n                                cursor: pointer;\">\n                                + Add Random\n                            <\/button>\n                            <button onclick=\"clearNumbers()\" style=\"\n                                background: rgba(239,68,68,0.1);\n                                border: 1px solid rgba(239,68,68,0.3);\n                                color: #ef4444;\n                                padding: 4px 12px;\n                                border-radius: 6px;\n                                font-size: 11px;\n                                cursor: pointer;\">\n                                Clear All\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                    \n                    <div id=\"numberChips\" style=\"\n                        display: flex;\n                        flex-wrap: wrap;\n                        gap: 8px;\n                        margin-bottom: 15px;\n                        min-height: 40px;\n                        padding: 12px;\n                        background: rgba(255,255,255,0.02);\n                        border: 1px solid rgba(255,255,255,0.1);\n                        border-radius: 10px;\">\n                        <span style=\"color: #666; font-size: 12px; align-self: center;\">\n                            No numbers added. Click +Add or type below.\n                        <\/span>\n                    <\/div>\n                    \n                    <div style=\"display: flex; gap: 10px;\">\n                        <input type=\"text\" id=\"singleNumberInput\" placeholder=\"Enter single number (00-99)\" \n                            style=\"flex: 1; background: rgba(255,255,255,0.05); \n                            border: 1px solid rgba(255,255,255,0.1); \n                            color: #fff; padding: 12px; \n                            border-radius: 8px; font-size: 14px;\"\n                            maxlength=\"2\" onkeypress=\"return validateNumberInput(event)\">\n                        <button onclick=\"addSingleNumber()\" style=\"\n                            background: linear-gradient(135deg, #b45309 0%, #fbbf24 100%);\n                            color: #000; border: none; padding: 0 20px; \n                            border-radius: 8px; font-weight: 600; cursor: pointer;\">\n                            Add\n                        <\/button>\n                    <\/div>\n                    \n                    <div style=\"margin-top: 10px; display: flex; gap: 10px;\">\n                        <input type=\"text\" id=\"bulkNumbersInput\" placeholder=\"Or paste bulk numbers: 01.05.10.25...\" \n                            style=\"flex: 1; background: rgba(255,255,255,0.05); \n                            border: 1px solid rgba(255,255,255,0.1); \n                            color: #fff; padding: 12px; \n                            border-radius: 8px; font-size: 14px;\">\n                        <button onclick=\"parseBulkNumbers()\" style=\"\n                            background: rgba(59,130,246,0.1);\n                            border: 1px solid rgba(59,130,246,0.3);\n                            color: #3b82f6; padding: 0 20px; \n                            border-radius: 8px; font-weight: 600; cursor: pointer;\">\n                            Parse\n                        <\/button>\n                    <\/div>\n                <\/div>\n                \n                <!-- Settings Panel -->\n                <div style=\"background: rgba(255,255,255,0.02); border-radius: 12px; padding: 20px; margin-bottom: 25px;\">\n                    <h4 style=\"color: #fff; font-size: 14px; margin: 0 0 15px 0; display: flex; align-items: center; gap: 8px;\">\n                        \u2699\ufe0f SETTINGS\n                    <\/h4>\n                    \n                    <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 15px;\">\n                        <div>\n                            <label style=\"color: #aaa; font-size: 12px; display: block; margin-bottom: 6px;\">\n                                Bet Amount (\u20b9)\n                            <\/label>\n                            <input type=\"number\" id=\"ph_intoAmt\" value=\"100\" min=\"10\" step=\"10\"\n                                style=\"width: 100%; background: rgba(255,255,255,0.05); \n                                border: 1px solid rgba(255,255,255,0.1); \n                                color: #fff; padding: 10px; border-radius: 8px;\">\n                        <\/div>\n                        <div>\n                            <label style=\"color: #aaa; font-size: 12px; display: block; margin-bottom: 6px;\">\n                                Winning Rate\n                            <\/label>\n                            <select id=\"ph_rate\" style=\"width: 100%; background: rgba(255,255,255,0.05); \n                                border: 1px solid rgba(255,255,255,0.1); \n                                color: #fff; padding: 10px; border-radius: 8px;\">\n                                <option value=\"90\">1:90 (Standard)<\/option>\n                                <option value=\"80\">1:80<\/option>\n                                <option value=\"95\">1:95 (Premium)<\/option>\n                            <\/select>\n                        <\/div>\n                    <\/div>\n                    \n                    <div style=\"margin-top: 15px;\">\n                        <label style=\"color: #aaa; font-size: 12px; display: block; margin-bottom: 6px;\">\n                            Game & Time Period\n                        <\/label>\n                        <div style=\"display: flex; gap: 10px;\">\n                            <select id=\"ph_gameSelect\" style=\"flex: 1; background: rgba(255,255,255,0.05); \n                                border: 1px solid rgba(255,255,255,0.1); \n                                color: #fff; padding: 10px; border-radius: 8px;\">\n                                <option value=\"Gali\">Gali<\/option>\n                                <option value=\"Desawar\">Desawar<\/option>\n                                <option value=\"GZB\">Ghaziabad<\/option>\n                                <option value=\"FRD\">Faridabad<\/option>\n                            <\/select>\n                            <select id=\"ph_period\" style=\"flex: 1; background: rgba(255,255,255,0.05); \n                                border: 1px solid rgba(255,255,255,0.1); \n                                color: #fff; padding: 10px; border-radius: 8px;\">\n                                <option value=\"30\">Last 30 Days<\/option>\n                                <option value=\"60\">Last 60 Days<\/option>\n                                <option value=\"90\">Last 90 Days<\/option>\n                                <option value=\"365\">Last 1 Year<\/option>\n                                <option value=\"all\">All Time<\/option>\n                            <\/select>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                \n                <!-- Action Buttons -->\n                <div style=\"display: flex; gap: 12px;\">\n                    <button onclick=\"calculateProfitLog()\" style=\"\n                        flex: 1; background: linear-gradient(135deg, #059669 0%, #10b981 100%);\n                        color: white; border: none; padding: 14px; \n                        border-radius: 10px; font-weight: 700; cursor: pointer;\n                        display: flex; align-items: center; justify-content: center; gap: 8px;\n                        font-size: 14px;\">\n                        \ud83d\ude80 CALCULATE PROFIT\n                    <\/button>\n                    <button onclick=\"exportToExcel()\" style=\"\n                        background: rgba(59,130,246,0.1);\n                        border: 1px solid rgba(59,130,246,0.3);\n                        color: #3b82f6; padding: 14px 20px; \n                        border-radius: 10px; font-weight: 600; cursor: pointer;\n                        display: flex; align-items: center; gap: 6px;\">\n                        \ud83d\udcca Export\n                    <\/button>\n                <\/div>\n                \n                <!-- Quick Stats -->\n                <div id=\"quickStats\" style=\"\n                    display: none;\n                    margin-top: 20px;\n                    background: rgba(255,255,255,0.02);\n                    border-radius: 12px;\n                    padding: 15px;\n                    border: 1px solid rgba(255,255,255,0.05);\">\n                    <div style=\"display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;\">\n                        <div style=\"text-align: center;\">\n                            <div style=\"font-size: 11px; color: #888; margin-bottom: 4px;\">Selected Numbers<\/div>\n                            <div id=\"statNumbers\" style=\"color: #fbbf24; font-weight: 700; font-size: 18px;\">0<\/div>\n                        <\/div>\n                        <div style=\"text-align: center;\">\n                            <div style=\"font-size: 11px; color: #888; margin-bottom: 4px;\">Daily Investment<\/div>\n                            <div id=\"statDailyInv\" style=\"color: #fff; font-weight: 700; font-size: 18px;\">\u20b90<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            <!-- Right Panel - Results -->\n            <div style=\"flex: 1.5; padding: 25px; overflow-y: auto; background: rgba(0,0,0,0.2);\">\n                \n                <!-- Results Dashboard -->\n                <div id=\"ph_dashboard\" style=\"display: none;\">\n                    <!-- Summary Cards -->\n                    <div style=\"display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 25px;\">\n                        <div style=\"background: rgba(255,255,255,0.03); border-radius: 12px; padding: 15px; text-align: center; border: 1px solid rgba(255,255,255,0.05);\">\n                            <div style=\"font-size: 11px; color: #888; margin-bottom: 6px;\">TOTAL DAYS<\/div>\n                            <div id=\"ph_totalDays\" style=\"color: #fff; font-weight: 800; font-size: 24px;\">0<\/div>\n                        <\/div>\n                        <div style=\"background: rgba(34,197,94,0.1); border-radius: 12px; padding: 15px; text-align: center; border: 1px solid rgba(34,197,94,0.2);\">\n                            <div style=\"font-size: 11px; color: #22c55e; margin-bottom: 6px;\">WIN DAYS<\/div>\n                            <div id=\"ph_passDays\" style=\"color: #22c55e; font-weight: 800; font-size: 24px;\">0<\/div>\n                        <\/div>\n                        <div style=\"background: rgba(239,68,68,0.1); border-radius: 12px; padding: 15px; text-align: center; border: 1px solid rgba(239,68,68,0.2);\">\n                            <div style=\"font-size: 11px; color: #ef4444; margin-bottom: 6px;\">LOSS DAYS<\/div>\n                            <div id=\"ph_failDays\" style=\"color: #ef4444; font-weight: 800; font-size: 24px;\">0<\/div>\n                        <\/div>\n                        <div style=\"background: rgba(251,191,36,0.1); border-radius: 12px; padding: 15px; text-align: center; border: 1px solid rgba(251,191,36,0.3);\">\n                            <div style=\"font-size: 11px; color: #fbbf24; margin-bottom: 6px;\">WIN RATE<\/div>\n                            <div id=\"ph_winRate\" style=\"color: #fbbf24; font-weight: 800; font-size: 24px;\">0%<\/div>\n                        <\/div>\n                    <\/div>\n                    \n                    <!-- Profit Summary -->\n                    <div style=\"background: linear-gradient(135deg, rgba(26,26,0,0.5) 0%, rgba(10,10,0,0.8) 100%); \n                        border-radius: 16px; padding: 25px; margin-bottom: 25px;\n                        border: 1px solid rgba(251,191,36,0.2);\">\n                        <div style=\"text-align: center; margin-bottom: 20px;\">\n                            <div style=\"font-size: 12px; color: #fbbf24; letter-spacing: 1px; margin-bottom: 8px;\">\n                                NET PROFIT \/ LOSS\n                            <\/div>\n                            <div id=\"ph_netProfit\" style=\"font-size: 42px; font-weight: 900; color: #fff;\">\n                                \u20b90\n                            <\/div>\n                        <\/div>\n                        \n                        <div style=\"display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px;\">\n                            <div style=\"text-align: center;\">\n                                <div style=\"font-size: 11px; color: #888; margin-bottom: 4px;\">Total Invested<\/div>\n                                <div id=\"ph_totalInvested\" style=\"color: #fff; font-weight: 700; font-size: 16px;\">\u20b90<\/div>\n                            <\/div>\n                            <div style=\"text-align: center;\">\n                                <div style=\"font-size: 11px; color: #888; margin-bottom: 4px;\">Total Returns<\/div>\n                                <div id=\"ph_totalReturns\" style=\"color: #22c55e; font-weight: 700; font-size: 16px;\">\u20b90<\/div>\n                            <\/div>\n                            <div style=\"text-align: center;\">\n                                <div style=\"font-size: 11px; color: #888; margin-bottom: 4px;\">ROI<\/div>\n                                <div id=\"ph_roi\" style=\"color: #fbbf24; font-weight: 700; font-size: 16px;\">0%<\/div>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    \n                    <!-- Detailed Results Table -->\n                    <div style=\"margin-bottom: 20px;\">\n                        <div style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px;\">\n                            <h4 style=\"color: #fff; font-size: 14px; margin: 0; display: flex; align-items: center; gap: 8px;\">\n                                \ud83d\udccb DETAILED RESULTS\n                            <\/h4>\n                            <span id=\"ph_tableInfo\" style=\"font-size: 11px; color: #888;\">0 records<\/span>\n                        <\/div>\n                        \n                        <div style=\"\n                            background: rgba(255,255,255,0.02);\n                            border-radius: 12px;\n                            overflow: hidden;\n                            border: 1px solid rgba(255,255,255,0.05);\n                            max-height: 300px;\n                            overflow-y: auto;\">\n                            <table style=\"width: 100%; border-collapse: collapse; font-size: 12px;\">\n                                <thead style=\"\n                                    background: rgba(255,255,255,0.03);\n                                    position: sticky;\n                                    top: 0;\n                                    backdrop-filter: blur(10px);\">\n                                    <tr>\n                                        <th style=\"padding: 14px 12px; color: #888; font-weight: 600; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.05);\">Date<\/th>\n                                        <th style=\"padding: 14px 12px; color: #888; font-weight: 600; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.05);\">Result<\/th>\n                                        <th style=\"padding: 14px 12px; color: #888; font-weight: 600; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.05);\">Status<\/th>\n                                        <th style=\"padding: 14px 12px; color: #888; font-weight: 600; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.05);\">Investment<\/th>\n                                        <th style=\"padding: 14px 12px; color: #888; font-weight: 600; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.05);\">P&L<\/th>\n                                        <th style=\"padding: 14px 12px; color: #888; font-weight: 600; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.05);\">Balance<\/th>\n                                    <\/tr>\n                                <\/thead>\n                                <tbody id=\"ph_logTable\">\n                                    <tr>\n                                        <td colspan=\"6\" style=\"text-align: center; padding: 40px; color: #666;\">\n                                            Run calculation to see results...\n                                        <\/td>\n                                    <\/tr>\n                                <\/tbody>\n                            <\/table>\n                        <\/div>\n                    <\/div>\n                    \n                    <!-- Performance Chart (Simple) -->\n                    <div style=\"\n                        background: rgba(255,255,255,0.02);\n                        border-radius: 12px;\n                        padding: 20px;\n                        border: 1px solid rgba(255,255,255,0.05);\n                        margin-bottom: 20px;\">\n                        <div style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;\">\n                            <h4 style=\"color: #fff; font-size: 14px; margin: 0; display: flex; align-items: center; gap: 8px;\">\n                                \ud83d\udcc8 PERFORMANCE TREND\n                            <\/h4>\n                            <select id=\"chartType\" style=\"\n                                background: rgba(255,255,255,0.05);\n                                border: 1px solid rgba(255,255,255,0.1);\n                                color: #fff; padding: 6px 12px;\n                                border-radius: 6px; font-size: 12px;\">\n                                <option value=\"daily\">Daily P&L<\/option>\n                                <option value=\"cumulative\">Cumulative<\/option>\n                            <\/select>\n                        <\/div>\n                        <div id=\"profitChart\" style=\"\n                            height: 150px;\n                            display: flex;\n                            align-items: flex-end;\n                            gap: 2px;\n                            padding: 10px 0;\">\n                            <div style=\"text-align: center; color: #666; font-size: 11px; align-self: center;\">\n                                Chart will appear after calculation\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                \n                <!-- Empty State -->\n                <div id=\"emptyState\" style=\"\n                    height: 100%;\n                    display: flex;\n                    flex-direction: column;\n                    align-items: center;\n                    justify-content: center;\n                    color: #666;\n                    text-align: center;\n                    padding: 40px;\">\n                    <div style=\"\n                        width: 80px; height: 80px;\n                        background: rgba(251,191,36,0.1);\n                        border-radius: 50%;\n                        display: flex;\n                        align-items: center;\n                        justify-content: center;\n                        margin-bottom: 20px;\n                        font-size: 36px;\">\n                        \ud83d\udcca\n                    <\/div>\n                    <h3 style=\"color: #fff; margin: 0 0 10px 0;\">Profit Hunter Pro<\/h3>\n                    <p style=\"color: #888; font-size: 14px; max-width: 400px; line-height: 1.5;\">\n                        Enter your numbers, set the bet amount, and calculate potential profit\/loss \n                        based on historical data from real games.\n                    <\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\n\/\/ Enhanced Profit Hunter Pro with real database integration\n\n\/\/ Real database integration from wp_logic_chart_data\nconst wpLogicChartData = `2020,1,1,35\n2020,1,2,82\n2020,1,3,11\n2020,1,4,8\n2020,1,5,35\n2020,1,6,56\n2020,1,7,10\n2020,1,8,15\n2020,1,9,47\n2020,1,10,71\n2020,1,11,70\n2020,1,12,44\n2020,1,13,86\n2020,1,14,33\n2020,1,15,5\n2020,1,16,68\n2020,1,17,90\n2020,1,18,2\n2020,1,19,87\n2020,1,20,24\n2020,1,21,65\n2020,1,22,14\n2020,1,23,32\n2020,1,24,84\n2020,1,25,39\n2020,1,26,17\n2020,1,27,0\n2020,1,28,61\n2020,1,29,58\n2020,1,30,32\n2020,2,1,40\n2020,2,2,90\n2020,2,3,63\n2020,2,4,89\n2020,2,5,83\n2020,2,6,45\n2020,2,7,95\n2020,2,8,16\n2020,2,9,37\n2020,2,10,34\n2020,2,11,88\n2020,2,12,26\n2020,2,13,71\n2020,2,14,19\n2020,2,15,30\n2020,2,16,78\n2020,2,17,80\n2020,2,18,83\n2020,2,19,87\n2020,2,20,69\n2020,2,21,55\n2020,2,22,76\n2020,2,23,94\n2020,2,24,56\n2020,2,25,72\n2020,2,26,4\n2020,2,27,41\n2020,2,28,71\n2020,3,1,71\n2020,3,2,66\n2020,3,3,55\n2020,3,4,90\n2020,3,5,65\n2020,3,6,6\n2020,3,7,61\n2020,3,8,74\n2020,3,9,30\n2020,3,10,5\n2020,3,11,25\n2020,3,12,10\n2020,3,13,86\n2020,3,14,75\n2020,3,15,30\n2020,3,16,72\n2020,3,17,5\n2020,3,18,69\n2020,3,19,21\n2020,3,20,8\n2020,3,21,63\n2020,3,22,44\n2020,3,23,46\n2020,3,24,70\n2020,3,25,92\n2020,3,26,52\n2020,3,27,92\n2020,3,28,91\n2020,3,29,37\n2020,3,30,82\n2020,4,1,44\n2020,4,2,46\n2020,4,3,40\n2020,4,4,42\n2020,4,5,62\n2020,4,6,0\n2020,4,7,37\n2020,4,8,60\n2020,4,9,45\n2020,4,10,45\n2020,4,11,98\n2020,4,12,86\n2020,4,13,91\n2020,4,14,35\n2020,4,15,12\n2020,4,16,38\n2020,4,17,76\n2020,4,18,65\n2020,4,19,19\n2020,4,20,54\n2020,4,21,79\n2020,4,22,86\n2020,4,23,46\n2020,4,24,43\n2020,4,25,87\n2020,4,26,40\n2020,4,27,65\n2020,4,28,46\n2020,4,29,60\n2020,5,1,3\n2020,5,2,42\n2020,5,3,35\n2020,5,4,78\n2020,5,5,93\n2020,5,6,88\n2020,5,7,11\n2020,5,8,70\n2020,5,9,1\n2020,5,10,77\n2020,5,11,18\n2020,5,12,81\n2020,5,13,8\n2020,5,14,38\n2020,5,15,50\n2020,5,16,30\n2020,5,17,88\n2020,5,18,51\n2020,5,19,31\n2020,5,20,97\n2020,5,21,78\n2020,5,22,8\n2020,5,23,3\n2020,5,24,22\n2020,5,25,28\n2020,5,26,40\n2020,5,27,77\n2020,5,28,67\n2020,5,29,83\n2020,5,30,97\n2020,6,1,18\n2020,6,2,99\n2020,6,3,64\n2020,6,4,17\n2020,6,5,8\n2020,6,6,73\n2020,6,7,83\n2020,6,8,83\n2020,6,9,36\n2020,6,10,39\n2020,6,11,50\n2020,6,12,14\n2020,6,13,37\n2020,6,14,21\n2020,6,15,16\n2020,6,16,99\n2020,6,17,47\n2020,6,18,48\n2020,6,19,46\n2020,6,20,88\n2020,6,21,3\n2020,6,22,84\n2020,6,23,71\n2020,6,24,82\n2020,6,25,15\n2020,6,26,51\n2020,6,27,1\n2020,6,28,56\n2020,6,29,66\n2020,7,1,88\n2020,7,2,13\n2020,7,3,60\n2020,7,4,71\n2020,7,5,87\n2020,7,6,77\n2020,7,7,85\n2020,7,8,42\n2020,7,9,74\n2020,7,10,77\n2020,7,11,49\n2020,7,12,99\n2020,7,13,80\n2020,7,14,40\n2020,7,15,48\n2020,7,16,71\n2020,7,17,23\n2020,7,18,95\n2020,7,19,40\n2020,7,20,23\n2020,7,21,46\n2020,7,22,89\n2020,7,23,29\n2020,7,24,53\n2020,7,25,57\n2020,7,26,41\n2020,7,27,65\n2020,7,28,16\n2020,7,29,63\n2020,7,30,86\n2020,8,1,89\n2020,8,2,42\n2020,8,3,88\n2020,8,4,77\n2020,8,5,69\n2020,8,6,53\n2020,8,7,18\n2020,8,8,44\n2020,8,9,66\n2020,8,10,66\n2020,8,11,41\n2020,8,12,13\n2020,8,13,56\n2020,8,14,81\n2020,8,15,91\n2020,8,16,56\n2020,8,17,5\n2020,8,18,34\n2020,8,19,33\n2020,8,20,82\n2020,8,21,86\n2020,8,22,31\n2020,8,23,51\n2020,8,24,98\n2020,8,25,60\n2020,8,26,83\n2020,8,27,22\n2020,8,28,20\n2020,8,29,34\n2020,8,30,56\n2020,9,1,82\n2020,9,2,40\n2020,9,3,83\n2020,9,4,95\n2020,9,5,2\n2020,9,6,19\n2020,9,7,93\n2020,9,8,14\n2020,9,9,32\n2020,9,10,22\n2020,9,11,82\n2020,9,12,48\n2020,9,13,87\n2020,9,14,45\n2020,9,15,6\n2020,9,16,2\n2020,9,17,41\n2020,9,18,23\n2020,9,19,2\n2020,9,20,45\n2020,9,21,13\n2020,9,22,76\n2020,9,23,7\n2020,9,24,48\n2020,9,25,98\n2020,9,26,42\n2020,9,27,0\n2020,9,28,54\n2020,9,29,41\n2020,10,1,74\n2020,10,2,31\n2020,10,3,88\n2020,10,4,3\n2020,10,5,22\n2020,10,6,27\n2020,10,7,54\n2020,10,8,21\n2020,10,9,81\n2020,10,10,10\n2020,10,11,60\n2020,10,12,30\n2020,10,13,22\n2020,10,14,35\n2020,10,15,44\n2020,10,16,12\n2020,10,17,82\n2020,10,18,3\n2020,10,19,35\n2020,10,20,63\n2020,10,21,46\n2020,10,22,79\n2020,10,23,45\n2020,10,24,28\n2020,10,25,14\n2020,10,26,53\n2020,10,27,36\n2020,10,28,97\n2020,10,29,82\n2020,10,30,6\n2020,11,1,42\n2020,11,2,13\n2020,11,3,16\n2020,11,4,42\n2020,11,5,88\n2020,11,6,22\n2020,11,7,39\n2020,11,8,78\n2020,11,9,58\n2020,11,10,5\n2020,11,11,11\n2020,11,12,11\n2020,11,13,27\n2020,11,14,57\n2020,11,15,10\n2020,11,16,75\n2020,11,17,62\n2020,11,18,77\n2020,11,19,2\n2020,11,20,70\n2020,11,21,65\n2020,11,22,11\n2020,11,23,64\n2020,11,24,62\n2020,11,25,58\n2020,11,26,49\n2020,11,27,30\n2020,11,28,75\n2020,11,29,88\n2020,12,1,33\n2020,12,2,80\n2020,12,3,90\n2020,12,4,30\n2020,12,5,96\n2020,12,6,26\n2020,12,7,60\n2020,12,8,79\n2020,12,9,10\n2020,12,10,24\n2020,12,11,80\n2020,12,12,35\n2020,12,13,10\n2020,12,14,91\n2020,12,15,19\n2020,12,16,65\n2020,12,17,78\n2020,12,18,3\n2020,12,19,92\n2020,12,20,72\n2020,12,21,85\n2020,12,22,66\n2020,12,23,84\n2020,12,24,90\n2020,12,25,4\n2020,12,26,87\n2020,12,27,69\n2020,12,28,71\n2020,12,29,43\n2020,12,30,33\n2021,1,1,91\n2021,1,2,56\n2021,1,3,89\n2021,1,4,75\n2021,1,5,49\n2021,1,6,52\n2021,1,7,12\n2021,1,8,54\n2021,1,9,25\n2021,1,10,30\n2021,1,11,98\n2021,1,12,62\n2021,1,13,58\n2021,1,14,81\n2021,1,15,27\n2021,1,16,78\n2021,1,17,40\n2021,1,18,54\n2021,1,19,18\n2021,1,20,5\n2021,1,21,27\n2021,1,22,6\n2021,1,23,3\n2021,1,24,23\n2021,1,25,3\n2021,1,26,98\n2021,1,27,97\n2021,1,28,80\n2021,1,29,31\n2021,1,30,12\n2021,2,1,66\n2021,2,2,52\n2021,2,3,82\n2021,2,4,41\n2021,2,5,92\n2021,2,6,34\n2021,2,7,26\n2021,2,8,84\n2021,2,9,22\n2021,2,10,25\n2021,2,11,61\n2021,2,12,25\n2021,2,13,73\n2021,2,14,55\n2021,2,15,95\n2021,2,16,72\n2021,2,17,49\n2021,2,18,27\n2021,2,19,23\n2021,2,20,5\n2021,2,21,80\n2021,2,22,40\n2021,2,23,55\n2021,2,24,2\n2021,2,25,1\n2021,2,26,3\n2021,2,27,14\n2021,3,1,5\n2021,3,2,67\n2021,3,3,10\n2021,3,4,60\n2021,3,5,37\n2021,3,6,82\n2021,3,7,13\n2021,3,8,61\n2021,3,9,99\n2021,3,10,82\n2021,3,11,36\n2021,3,12,89\n2021,3,13,19\n2021,3,14,19\n2021,3,15,82\n2021,3,16,29\n2021,3,17,34\n2021,3,18,92\n2021,3,19,82\n2021,3,20,29\n2021,3,21,69\n2021,3,22,92\n2021,3,23,89\n2021,3,24,41\n2021,3,25,64\n2021,3,26,57\n2021,3,27,64\n2021,3,28,70\n2021,3,29,19\n2021,3,30,1\n2021,4,1,72\n2021,4,2,67\n2021,4,3,84\n2021,4,4,60\n2021,4,5,32\n2021,4,6,49\n2021,4,7,64\n2021,4,8,67\n2021,4,9,38\n2021,4,10,38\n2021,4,11,44\n2021,4,12,14\n2021,4,13,0\n2021,4,14,94\n2021,4,15,17\n2021,4,16,31\n2021,4,17,75\n2021,4,18,72\n2021,4,19,81\n2021,4,20,68\n2021,4,21,76\n2021,4,22,93\n2021,4,23,67\n2021,4,24,26\n2021,4,25,60\n2021,4,26,65\n2021,4,27,65\n2021,4,28,68\n2021,4,29,42\n2021,5,1,33\n2021,5,2,95\n2021,5,3,33\n2021,5,4,75\n2021,5,5,67\n2021,5,6,6\n2021,5,7,28\n2021,5,8,49\n2021,5,9,67\n2021,5,10,73\n2021,5,11,92\n2021,5,12,80\n2021,5,13,27\n2021,5,14,66\n2021,5,15,14\n2021,5,16,61\n2021,5,17,95\n2021,5,18,64\n2021,5,19,13\n2021,5,20,22\n2021,5,21,85\n2021,5,22,83\n2021,5,23,73\n2021,5,24,80\n2021,5,25,87\n2021,5,26,0\n2021,5,27,41\n2021,5,28,12\n2021,5,29,67\n2021,5,30,2\n2021,6,1,62\n2021,6,2,72\n2021,6,3,40\n2021,6,4,21\n2021,6,5,6\n2021,6,6,50\n2021,6,7,2\n2021,6,8,76\n2021,6,9,45\n2021,6,10,42\n2021,6,11,95\n2021,6,12,26\n2021,6,13,46\n2021,6,14,56\n2021,6,15,98\n2021,6,16,65\n2021,6,17,78\n2021,6,18,48\n2021,6,19,15\n2021,6,20,0\n2021,6,21,42\n2021,6,22,56\n2021,6,23,39\n2021,6,24,71\n2021,6,25,57\n2021,6,26,14\n2021,6,27,12\n2021,6,28,68\n2021,6,29,30\n2021,7,1,34\n2021,7,2,96\n2021,7,3,32\n2021,7,4,15\n2021,7,5,24\n2021,7,6,34\n2021,7,7,21\n2021,7,8,91\n2021,7,9,55\n2021,7,10,78\n2021,7,11,27\n2021,7,12,3\n2021,7,13,4\n2021,7,14,61\n2021,7,15,49\n2021,7,16,4\n2021,7,17,54\n2021,7,18,16\n2021,7,19,81\n2021,7,20,68\n2021,7,21,48\n2021,7,22,38\n2021,7,23,92\n2021,7,24,50\n2021,7,25,15\n2021,7,26,21\n2021,7,27,86\n2021,7,28,87\n2021,7,29,87\n2021,7,30,38\n2021,8,1,40\n2021,8,2,74\n2021,8,3,54\n2021,8,4,31\n2021,8,5,39\n2021,8,6,41\n2021,8,7,17\n2021,8,8,19\n2021,8,9,99\n2021,8,10,53\n2021,8,11,59\n2021,8,12,42\n2021,8,13,85\n2021,8,14,29\n2021,8,15,34\n2021,8,16,60\n2021,8,17,78\n2021,8,18,87\n2021,8,19,52\n2021,8,20,65\n2021,8,21,92\n2021,8,22,98\n2021,8,23,44\n2021,8,24,22\n2021,8,25,6\n2021,8,26,4\n2021,8,27,19\n2021,8,28,94\n2021,8,29,57\n2021,8,30,93\n2021,9,1,42\n2021,9,2,79\n2021,9,3,14\n2021,9,4,44\n2021,9,5,70\n2021,9,6,66\n2021,9,7,6\n2021,9,8,74\n2021,9,9,56\n2021,9,10,2\n2021,9,11,1\n2021,9,12,4\n2021,9,13,73\n2021,9,14,95\n2021,9,15,72\n2021,9,16,3\n2021,9,17,51\n2021,9,18,92\n2021,9,19,90\n2021,9,20,9\n2021,9,21,43\n2021,9,22,92\n2021,9,23,96\n2021,9,24,79\n2021,9,25,19\n2021,9,26,96\n2021,9,27,93\n2021,9,28,43\n2021,9,29,5\n2021,10,1,32\n2021,10,2,21\n2021,10,3,15\n2021,10,4,66\n2021,10,5,87\n2021,10,6,59\n2021,10,7,87\n2021,10,8,34\n2021,10,9,15\n2021,10,10,75\n2021,10,11,61\n2021,10,12,61\n2021,10,13,67\n2021,10,14,72\n2021,10,15,80\n2021,10,16,40\n2021,10,17,61\n2021,10,18,35\n2021,10,19,88\n2021,10,20,31\n2021,10,21,54\n2021,10,22,68\n2021,10,23,35\n2021,10,24,73\n2021,10,25,81\n2021,10,26,31\n2021,10,27,20\n2021,10,28,73\n2021,10,29,29\n2021,10,30,11\n2021,11,1,28\n2021,11,2,98\n2021,11,3,12\n2021,11,4,12\n2021,11,5,38\n2021,11,6,50\n2021,11,7,37\n2021,11,8,41\n2021,11,9,58\n2021,11,10,29\n2021,11,11,76\n2021,11,12,65\n2021,11,13,35\n2021,11,14,69\n2021,11,15,38\n2021,11,16,34\n2021,11,17,56\n2021,11,18,68\n2021,11,19,6\n2021,11,20,50\n2021,11,21,81\n2021,11,22,30\n2021,11,23,73\n2021,11,24,2\n2021,11,25,40\n2021,11,26,23\n2021,11,27,5\n2021,11,28,4\n2021,11,29,77\n2021,12,1,26\n2021,12,2,40\n2021,12,3,42\n2021,12,4,33\n2021,12,5,89\n2021,12,6,14\n2021,12,7,92\n2021,12,8,26\n2021,12,9,64\n2021,12,10,30\n2021,12,11,97\n2021,12,12,1\n2021,12,13,56\n2021,12,14,55\n2021,12,15,94\n2021,12,16,79\n2021,12,17,22\n2021,12,18,68\n2021,12,19,55\n2021,12,20,86\n2021,12,21,92\n2021,12,22,81\n2021,12,23,64\n2021,12,24,69\n2021,12,25,18\n2021,12,26,7\n2021,12,27,34\n2021,12,28,74\n2021,12,29,16\n2021,12,30,85\n2022,1,1,67\n2022,1,2,96\n2022,1,3,45\n2022,1,4,59\n2022,1,5,97\n2022,1,6,33\n2022,1,7,12\n2022,1,8,80\n2022,1,9,61\n2022,1,10,27\n2022,1,11,94\n2022,1,12,98\n2022,1,13,48\n2022,1,14,30\n2022,1,15,62\n2022,1,16,4\n2022,1,17,61\n2022,1,18,35\n2022,1,19,18\n2022,1,20,92\n2022,1,21,84\n2022,1,22,96\n2022,1,23,93\n2022,1,24,19\n2022,1,25,23\n2022,1,26,2\n2022,1,27,98\n2022,1,28,32\n2022,1,29,28\n2022,1,30,76\n2022,2,1,61\n2022,2,2,33\n2022,2,3,42\n2022,2,4,36\n2022,2,5,96\n2022,2,6,52\n2022,2,7,42\n2022,2,8,39\n2022,2,9,70\n2022,2,10,8\n2022,2,11,23\n2022,2,12,69\n2022,2,13,48\n2022,2,14,52\n2022,2,15,40\n2022,2,16,43\n2022,2,17,83\n2022,2,18,5\n2022,2,19,65\n2022,2,20,8\n2022,2,21,72\n2022,2,22,31\n2022,2,23,73\n2022,2,24,85\n2022,2,25,71\n2022,2,26,44\n2022,2,27,47\n2022,3,1,96\n2022,3,2,89\n2022,3,3,53\n2022,3,4,70\n2022,3,5,13\n2022,3,6,23\n2022,3,7,38\n2022,3,8,79\n2022,3,9,50\n2022,3,10,55\n2022,3,11,44\n2022,3,12,30\n2022,3,13,51\n2022,3,14,82\n2022,3,15,66\n2022,3,16,56\n2022,3,17,72\n2022,3,18,73\n2022,3,19,38\n2022,3,20,37\n2022,3,21,89\n2022,3,22,53\n2022,3,23,93\n2022,3,24,52\n2022,3,25,14\n2022,3,26,19\n2022,3,27,59\n2022,3,28,75\n2022,3,29,19\n2022,3,30,93\n2022,4,1,70\n2022,4,2,58\n2022,4,3,66\n2022,4,4,89\n2022,4,5,54\n2022,4,6,57\n2022,4,7,77\n2022,4,8,61\n2022,4,9,63\n2022,4,10,75\n2022,4,11,46\n2022,4,12,52\n2022,4,13,47\n2022,4,14,60\n2022,4,15,44\n2022,4,16,36\n2022,4,17,87\n2022,4,18,66\n2022,4,19,56\n2022,4,20,34\n2022,4,21,29\n2022,4,22,58\n2022,4,23,94\n2022,4,24,4\n2022,4,25,33\n2022,4,26,88\n2022,4,27,25\n2022,4,28,86\n2022,4,29,81\n2022,5,1,87\n2022,5,2,16\n2022,5,3,26\n2022,5,4,55\n2022,5,5,73\n2022,5,6,29\n2022,5,7,99\n2022,5,8,49\n2022,5,9,18\n2022,5,10,89\n2022,5,11,81\n2022,5,12,89\n2022,5,13,44\n2022,5,14,25\n2022,5,15,17\n2022,5,16,24\n2022,5,17,59\n2022,5,18,0\n2022,5,19,23\n2022,5,20,70\n2022,5,21,98\n2022,5,22,4\n2022,5,23,38\n2022,5,24,69\n2022,5,25,1\n2022,5,26,0\n2022,5,27,39\n2022,5,28,53\n2022,5,29,62\n2022,5,30,46\n2022,6,1,76\n2022,6,2,42\n2022,6,3,59\n2022,6,4,48\n2022,6,5,24\n2022,6,6,49\n2022,6,7,75\n2022,6,8,97\n2022,6,9,62\n2022,6,10,13\n2022,6,11,61\n2022,6,12,38\n2022,6,13,64\n2022,6,14,4\n2022,6,15,12\n2022,6,16,6\n2022,6,17,80\n2022,6,18,48\n2022,6,19,93\n2022,6,20,54\n2022,6,21,0\n2022,6,22,39\n2022,6,23,99\n2022,6,24,15\n2022,6,25,65\n2022,6,26,48\n2022,6,27,22\n2022,6,28,64\n2022,6,29,99\n2022,7,1,45\n2022,7,2,40\n2022,7,3,95\n2022,7,4,69\n2022,7,5,35\n2022,7,6,40\n2022,7,7,49\n2022,7,8,51\n2022,7,9,21\n2022,7,10,57\n2022,7,11,67\n2022,7,12,4\n2022,7,13,45\n2022,7,14,91\n2022,7,15,5\n2022,7,16,51\n2022,7,17,25\n2022,7,18,39\n2022,7,19,25\n2022,7,20,51\n2022,7,21,9\n2022,7,22,83\n2022,7,23,17\n2022,7,24,31\n2022,7,25,66\n2022,7,26,39\n2022,7,27,65\n2022,7,28,24\n2022,7,29,6\n2022,7,30,5\n2022,8,1,84\n2022,8,2,1\n2022,8,3,9\n2022,8,4,3\n2022,8,5,40\n2022,8,6,72\n2022,8,7,98\n2022,8,8,70\n2022,8,9,21\n2022,8,10,30\n2022,8,11,44\n2022,8,12,57\n2022,8,13,99\n2022,8,14,11\n2022,8,15,40\n2022,8,16,96\n2022,8,17,87\n2022,8,18,33\n2022,8,19,48\n2022,8,20,0\n2022,8,21,33\n2022,8,22,46\n2022,8,23,71\n2022,8,24,44\n2022,8,25,4\n2022,8,26,62\n2022,8,27,31\n2022,8,28,14\n2022,8,29,65\n2022,8,30,64\n2022,9,1,7\n2022,9,2,7\n2022,9,3,48\n2022,9,4,47\n2022,9,5,88\n2022,9,6,95\n2022,9,7,37\n2022,9,8,17\n2022,9,9,98\n2022,9,10,21\n2022,9,11,94\n2022,9,12,44\n2022,9,13,47\n2022,9,14,23\n2022,9,15,89\n2022,9,16,29\n2022,9,17,95\n2022,9,18,98\n2022,9,19,25\n2022,9,20,45\n2022,9,21,11\n2022,9,22,52\n2022,9,23,40\n2022,9,24,64\n2022,9,25,52\n2022,9,26,19\n2022,9,27,65\n2022,9,28,66\n2022,9,29,16\n2022,10,1,87\n2022,10,2,2\n2022,10,3,28\n2022,10,4,65\n2022,10,5,38\n2022,10,6,8\n2022,10,7,82\n2022,10,8,97\n2022,10,9,31\n2022,10,10,27\n2022,10,11,58\n2022,10,12,38\n2022,10,13,28\n2022,10,14,88\n2022,10,15,91\n2022,10,16,75\n2022,10,17,5\n2022,10,18,76\n2022,10,19,82\n2022,10,20,54\n2022,10,21,96\n2022,10,22,96\n2022,10,23,40\n2022,10,24,17\n2022,10,25,61\n2022,10,26,79\n2022,10,27,51\n2022,10,28,37\n2022,10,29,39\n2022,10,30,38\n2022,11,1,97\n2022,11,2,89\n2022,11,3,77\n2022,11,4,91\n2022,11,5,55\n2022,11,6,93\n2022,11,7,75\n2022,11,8,45\n2022,11,9,37\n2022,11,10,50\n2022,11,11,87\n2022,11,12,98\n2022,11,13,41\n2022,11,14,22\n2022,11,15,54\n2022,11,16,94\n2022,11,17,94\n2022,11,18,85\n2022,11,19,97\n2022,11,20,44\n2022,11,21,1\n2022,11,22,27\n2022,11,23,7\n2022,11,24,59\n2022,11,25,44\n2022,11,26,3\n2022,11,27,84\n2022,11,28,88\n2022,11,29,53\n2022,12,1,24\n2022,12,2,14\n2022,12,3,35\n2022,12,4,16\n2022,12,5,21\n2022,12,6,74\n2022,12,7,96\n2022,12,8,0\n2022,12,9,44\n2022,12,10,22\n2022,12,11,3\n2022,12,12,88\n2022,12,13,97\n2022,12,14,81\n2022,12,15,94\n2022,12,16,65\n2022,12,17,88\n2022,12,18,38\n2022,12,19,18\n2022,12,20,57\n2022,12,21,65\n2022,12,22,61\n2022,12,23,23\n2022,12,24,1\n2022,12,25,98\n2022,12,26,1\n2022,12,27,61\n2022,12,28,13\n2022,12,29,29\n2022,12,30,8\n2023,1,1,85\n2023,1,2,15\n2023,1,3,67\n2023,1,4,81\n2023,1,5,0\n2023,1,6,56\n2023,1,7,59\n2023,1,8,20\n2023,1,9,29\n2023,1,10,29\n2023,1,11,20\n2023,1,12,0\n2023,1,13,27\n2023,1,14,42\n2023,1,15,33\n2023,1,16,83\n2023,1,17,0\n2023,1,18,47\n2023,1,19,31\n2023,1,20,38\n2023,1,21,81\n2023,1,22,20\n2023,1,23,92\n2023,1,24,40\n2023,1,25,27\n2023,1,26,43\n2023,1,27,60\n2023,1,28,80\n2023,1,29,86\n2023,1,30,28\n2023,2,1,13\n2023,2,2,86\n2023,2,3,73\n2023,2,4,35\n2023,2,5,86\n2023,2,6,27\n2023,2,7,1\n2023,2,8,68\n2023,2,9,25\n2023,2,10,33\n2023,2,11,81\n2023,2,12,51\n2023,2,13,95\n2023,2,14,15\n2023,2,15,12\n2023,2,16,73\n2023,2,17,8\n2023,2,18,62\n2023,2,19,19\n2023,2,20,30\n2023,2,21,93\n2023,2,22,30\n2023,2,23,22\n2023,2,24,82\n2023,2,25,71\n2023,2,26,83\n2023,2,27,5\n2023,3,1,76\n2023,3,2,45\n2023,3,3,36\n2023,3,4,49\n2023,3,5,20\n2023,3,6,24\n2023,3,7,93\n2023,3,8,28\n2023,3,9,7\n2023,3,10,45\n2023,3,11,12\n2023,3,12,46\n2023,3,13,49\n2023,3,14,44\n2023,3,15,50\n2023,3,16,34\n2023,3,17,25\n2023,3,18,56\n2023,3,19,12\n2023,3,20,71\n2023,3,21,79\n2023,3,22,68\n2023,3,23,18\n2023,3,24,99\n2023,3,25,95\n2023,3,26,12\n2023,3,27,11\n2023,3,28,73\n2023,3,29,22\n2023,3,30,88\n2023,4,1,77\n2023,4,2,71\n2023,4,3,21\n2023,4,4,28\n2023,4,5,17\n2023,4,6,42\n2023,4,7,25\n2023,4,8,75\n2023,4,9,22\n2023,4,10,64\n2023,4,11,87\n2023,4,12,10\n2023,4,13,7\n2023,4,14,87\n2023,4,15,3\n2023,4,16,1\n2023,4,17,5\n2023,4,18,38\n2023,4,19,74\n2023,4,20,13\n2023,4,21,57\n2023,4,22,24\n2023,4,23,83\n2023,4,24,75\n2023,4,25,22\n2023,4,26,9\n2023,4,27,18\n2023,4,28,95\n2023,4,29,59\n2023,5,1,65\n2023,5,2,81\n2023,5,3,77\n2023,5,4,88\n2023,5,5,23\n2023,5,6,79\n2023,5,7,14\n2023,5,8,48\n2023,5,9,14\n2023,5,10,58\n2023,5,11,38\n2023,5,12,64\n2023,5,13,60\n2023,5,14,77\n2023,5,15,16\n2023,5,16,67\n2023,5,17,87\n2023,5,18,84\n2023,5,19,73\n2023,5,20,29\n2023,5,21,60\n2023,5,22,13\n2023,5,23,32\n2023,5,24,35\n2023,5,25,61\n2023,5,26,2\n2023,5,27,10\n2023,5,28,75\n2023,5,29,32\n2023,5,30,95\n2023,6,1,13\n2023,6,2,0\n2023,6,3,30\n2023,6,4,61\n2023,6,5,69\n2023,6,6,21\n2023,6,7,87\n2023,6,8,62\n2023,6,9,38\n2023,6,10,36\n2023,6,11,0\n2023,6,12,75\n2023,6,13,49\n2023,6,14,55\n2023,6,15,13\n2023,6,16,34\n2023,6,17,9\n2023,6,18,85\n2023,6,19,24\n2023,6,20,9\n2023,6,21,23\n2023,6,22,7\n2023,6,23,27\n2023,6,24,60\n2023,6,25,84\n2023,6,26,88\n2023,6,27,41\n2023,6,28,44\n2023,6,29,26\n2023,7,1,42\n2023,7,2,27\n2023,7,3,70\n2023,7,4,25\n2023,7,5,53\n2023,7,6,43\n2023,7,7,28\n2023,7,8,50\n2023,7,9,77\n2023,7,10,52\n2023,7,11,9\n2023,7,12,40\n2023,7,13,53\n2023,7,14,13\n2023,7,15,68\n2023,7,16,17\n2023,7,17,37\n2023,7,18,31\n2023,7,19,39\n2023,7,20,67\n2023,7,21,7\n2023,7,22,73\n2023,7,23,24\n2023,7,24,67\n2023,7,25,0\n2023,7,26,36\n2023,7,27,3\n2023,7,28,25\n2023,7,29,79\n2023,7,30,83\n2023,8,1,99\n2023,8,2,98\n2023,8,3,79\n2023,8,4,97\n2023,8,5,42\n2023,8,6,36\n2023,8,7,9\n2023,8,8,39\n2023,8,9,83\n2023,8,10,36\n2023,8,11,80\n2023,8,12,38\n2023,8,13,78\n2023,8,14,98\n2023,8,15,65\n2023,8,16,47\n2023,8,17,39\n2023,8,18,44\n2023,8,19,78\n2023,8,20,23\n2023,8,21,63\n2023,8,22,87\n2023,8,23,77\n2023,8,24,89\n2023,8,25,77\n2023,8,26,3\n2023,8,27,56\n2023,8,28,85\n2023,8,29,36\n2023,8,30,98\n2023,9,1,71\n2023,9,2,98\n2023,9,3,60\n2023,9,4,49\n2023,9,5,4\n2023,9,6,42\n2023,9,7,60\n2023,9,8,64\n2023,9,9,95\n2023,9,10,89\n2023,9,11,1\n2023,9,12,46\n2023,9,13,47\n2023,9,14,48\n2023,9,15,74\n2023,9,16,13\n2023,9,17,10\n2023,9,18,33\n2023,9,19,0\n2023,9,20,69\n2023,9,21,59\n2023,9,22,40\n2023,9,23,90\n2023,9,24,30\n2023,9,25,77\n2023,9,26,89\n2023,9,27,77\n2023,9,28,82\n2023,9,29,43\n2023,10,1,65\n2023,10,2,22\n2023,10,3,52\n2023,10,4,36\n2023,10,5,29\n2023,10,6,5\n2023,10,7,58\n2023,10,8,74\n2023,10,9,0\n2023,10,10,5\n2023,10,11,48\n2023,10,12,25\n2023,10,13,89\n2023,10,14,57\n2023,10,15,55\n2023,10,16,66\n2023,10,17,50\n2023,10,18,73\n2023,10,19,80\n2023,10,20,45\n2023,10,21,93\n2023,10,22,37\n2023,10,23,33\n2023,10,24,62\n2023,10,25,78\n2023,10,26,31\n2023,10,27,75\n2023,10,28,87\n2023,10,29,21\n2023,10,30,61\n2023,11,1,74\n2023,11,2,50\n2023,11,3,30\n2023,11,4,1\n2023,11,5,6\n2023,11,6,88\n2023,11,7,70\n2023,11,8,19\n2023,11,9,59\n2023,11,10,60\n2023,11,11,84\n2023,11,12,34\n2023,11,13,8\n2023,11,14,76\n2023,11,15,87\n2023,11,16,56\n2023,11,17,93\n2023,11,18,41\n2023,11,19,21\n2023,11,20,87\n2023,11,21,11\n2023,11,22,74\n2023,11,23,29\n2023,11,24,43\n2023,11,25,75\n2023,11,26,3\n2023,11,27,6\n2023,11,28,28\n2023,11,29,37\n2023,12,1,55\n2023,12,2,60\n2023,12,3,11\n2023,12,4,78\n2023,12,5,76\n2023,12,6,3\n2023,12,7,52\n2023,12,8,55\n2023,12,9,60\n2023,12,10,74\n2023,12,11,53\n2023,12,12,18\n2023,12,13,19\n2023,12,14,24\n2023,12,15,0\n2023,12,16,28\n2023,12,17,47\n2023,12,18,55\n2023,12,19,40\n2023,12,20,85\n2023,12,21,31\n2023,12,22,36\n2023,12,23,11\n2023,12,24,49\n2023,12,25,7\n2023,12,26,75\n2023,12,27,34\n2023,12,28,32\n2023,12,29,1\n2023,12,30,89\n2024,1,1,88\n2024,1,2,38\n2024,1,3,66\n2024,1,4,49\n2024,1,5,19\n2024,1,6,56\n2024,1,7,70\n2024,1,8,27\n2024,1,9,18\n2024,1,10,17\n2024,1,11,95\n2024,1,12,34\n2024,1,13,19\n2024,1,14,69\n2024,1,15,50\n2024,1,16,0\n2024,1,17,38\n2024,1,18,3\n2024,1,19,68\n2024,1,20,36\n2024,1,21,82\n2024,1,22,96\n2024,1,23,9\n2024,1,24,45\n2024,1,25,93\n2024,1,26,88\n2024,1,27,74\n2024,1,28,50\n2024,1,29,90\n2024,1,30,24\n2024,2,1,92\n2024,2,2,8\n2024,2,3,67\n2024,2,4,29\n2024,2,5,43\n2024,2,6,13\n2024,2,7,15\n2024,2,8,45\n2024,2,9,11\n2024,2,10,69\n2024,2,11,23\n2024,2,12,22\n2024,2,13,16\n2024,2,14,47\n2024,2,15,54\n2024,2,16,47\n2024,2,17,0\n2024,2,18,72\n2024,2,19,47\n2024,2,20,52\n2024,2,21,38\n2024,2,22,42\n2024,2,23,90\n2024,2,24,19\n2024,2,25,89\n2024,2,26,99\n2024,2,27,52\n2024,2,28,81\n2024,3,1,46\n2024,3,2,83\n2024,3,3,73\n2024,3,4,84\n2024,3,5,52\n2024,3,6,20\n2024,3,7,24\n2024,3,8,17\n2024,3,9,91\n2024,3,10,55\n2024,3,11,46\n2024,3,12,75\n2024,3,13,17\n2024,3,14,37\n2024,3,15,80\n2024,3,16,55\n2024,3,17,5\n2024,3,18,47\n2024,3,19,63\n2024,3,20,96\n2024,3,21,35\n2024,3,22,95\n2024,3,23,96\n2024,3,24,38\n2024,3,25,15\n2024,3,26,7\n2024,3,27,93\n2024,3,28,10\n2024,3,29,85\n2024,3,30,40\n2024,4,1,30\n2024,4,2,68\n2024,4,3,18\n2024,4,4,32\n2024,4,5,69\n2024,4,6,31\n2024,4,7,4\n2024,4,8,79\n2024,4,9,75\n2024,4,10,9\n2024,4,11,64\n2024,4,12,70\n2024,4,13,9\n2024,4,14,16\n2024,4,15,93\n2024,4,16,8\n2024,4,17,40\n2024,4,18,29\n2024,4,19,9\n2024,4,20,29\n2024,4,21,57\n2024,4,22,14\n2024,4,23,92\n2024,4,24,41\n2024,4,25,19\n2024,4,26,95\n2024,4,27,83\n2024,4,28,69\n2024,4,29,53\n2024,5,1,90\n2024,5,2,59\n2024,5,3,90\n2024,5,4,56\n2024,5,5,84\n2024,5,6,47\n2024,5,7,64\n2024,5,8,87\n2024,5,9,81\n2024,5,10,91\n2024,5,11,4\n2024,5,12,7\n2024,5,13,72\n2024,5,14,55\n2024,5,15,30\n2024,5,16,51\n2024,5,17,63\n2024,5,18,74\n2024,5,19,45\n2024,5,20,86\n2024,5,21,50\n2024,5,22,35\n2024,5,23,7\n2024,5,24,96\n2024,5,25,33\n2024,5,26,33\n2024,5,27,13\n2024,5,28,4\n2024,5,29,26\n2024,5,30,8\n2024,6,1,87\n2024,6,2,31\n2024,6,3,24\n2024,6,4,87\n2024,6,5,35\n2024,6,6,79\n2024,6,7,45\n2024,6,8,39\n2024,6,9,43\n2024,6,10,15\n2024,6,11,21\n2024,6,12,18\n2024,6,13,4\n2024,6,14,52\n2024,6,15,11\n2024,6,16,99\n2024,6,17,26\n2024,6,18,30\n2024,6,19,42\n2024,6,20,20\n2024,6,21,90\n2024,6,22,55\n2024,6,23,67\n2024,6,24,46\n2024,6,25,30\n2024,6,26,59\n2024,6,27,6\n2024,6,28,77\n2024,6,29,21\n2024,7,1,68\n2024,7,2,33\n2024,7,3,91\n2024,7,4,2\n2024,7,5,29\n2024,7,6,24\n2024,7,7,76\n2024,7,8,93\n2024,7,9,0\n2024,7,10,16\n2024,7,11,86\n2024,7,12,86\n2024,7,13,37\n2024,7,14,47\n2024,7,15,56\n2024,7,16,56\n2024,7,17,51\n2024,7,18,17\n2024,7,19,4\n2024,7,20,91\n2024,7,21,51\n2024,7,22,55\n2024,7,23,23\n2024,7,24,48\n2024,7,25,26\n2024,7,26,11\n2024,7,27,28\n2024,7,28,62\n2024,7,29,78\n2024,7,30,9\n2024,8,1,52\n2024,8,2,94\n2024,8,3,97\n2024,8,4,55\n2024,8,5,55\n2024,8,6,5\n2024,8,7,73\n2024,8,8,40\n2024,8,9,85\n2024,8,10,90\n2024,8,11,80\n2024,8,12,9\n2024,8,13,57\n2024,8,14,33\n2024,8,15,95\n2024,8,16,88\n2024,8,17,98\n2024,8,18,64\n2024,8,19,33\n2024,8,20,55\n2024,8,21,10\n2024,8,22,0\n2024,8,23,9\n2024,8,24,90\n2024,8,25,53\n2024,8,26,47\n2024,8,27,3\n2024,8,28,13\n2024,8,29,22\n2024,8,30,72\n2024,9,1,66\n2024,9,2,35\n2024,9,3,40\n2024,9,4,87\n2024,9,5,37\n2024,9,6,90\n2024,9,7,51\n2024,9,8,58\n2024,9,9,25\n2024,9,10,64\n2024,9,11,95\n2024,9,12,8\n2024,9,13,41\n2024,9,14,74\n2024,9,15,83\n2024,9,16,91\n2024,9,17,4\n2024,9,18,75\n2024,9,19,42\n2024,9,20,65\n2024,9,21,48\n2024,9,22,56\n2024,9,23,41\n2024,9,24,27\n2024,9,25,8\n2024,9,26,20\n2024,9,27,54\n2024,9,28,85\n2024,9,29,72\n2024,10,1,24\n2024,10,2,10\n2024,10,3,56\n2024,10,4,6\n2024,10,5,50\n2024,10,6,41\n2024,10,7,19\n2024,10,8,24\n2024,10,9,12\n2024,10,10,39\n2024,10,11,95\n2024,10,12,94\n2024,10,13,6\n2024,10,14,72\n2024,10,15,57\n2024,10,16,60\n2024,10,17,35\n2024,10,18,64\n2024,10,19,71\n2024,10,20,6\n2024,10,21,72\n2024,10,22,34\n2024,10,23,42\n2024,10,24,52\n2024,10,25,52\n2024,10,26,38\n2024,10,27,77\n2024,10,28,87\n2024,10,29,81\n2024,10,30,78\n2024,11,1,71\n2024,11,2,98\n2024,11,3,0\n2024,11,4,38\n2024,11,5,70\n2024,11,6,44\n2024,11,7,43\n2024,11,8,38\n2024,11,9,48\n2024,11,10,66\n2024,11,11,86\n2024,11,12,66\n2024,11,13,49\n2024,11,14,17\n2024,11,15,98\n2024,11,16,6\n2024,11,17,29\n2024,11,18,82\n2024,11,19,58\n2024,11,20,62\n2024,11,21,8\n2024,11,22,79\n2024,11,23,35\n2024,11,24,97\n2024,11,25,51\n2024,11,26,31\n2024,11,27,99\n2024,11,28,67\n2024,11,29,17\n2024,12,1,84\n2024,12,2,1\n2024,12,3,32\n2024,12,4,87\n2024,12,5,34\n2024,12,6,68\n2024,12,7,22\n2024,12,8,78\n2024,12,9,64\n2024,12,10,20\n2024,12,11,82\n2024,12,12,91\n2024,12,13,12\n2024,12,14,60\n2024,12,15,13\n2024,12,16,24\n2024,12,17,69\n2024,12,18,40\n2024,12,19,85\n2024,12,20,53\n2024,12,21,71\n2024,12,22,5\n2024,12,23,10\n2024,12,24,70\n2024,12,25,71\n2024,12,26,52\n2024,12,27,23\n2024,12,28,90\n2024,12,29,24\n2024,12,30,82\n2025,1,1,46\n2025,1,2,8\n2025,1,3,7\n2025,1,4,85\n2025,1,5,5\n2025,1,6,93\n2025,1,7,95\n2025,1,8,2\n2025,1,9,43\n2025,1,10,64\n2025,1,11,14\n2025,1,12,63\n2025,1,13,13\n2025,1,14,23\n2025,1,15,83\n2025,1,16,24\n2025,1,17,87\n2025,1,18,59\n2025,1,19,59\n2025,1,20,59\n2025,1,21,32\n2025,1,22,0\n2025,1,23,28\n2025,1,24,8\n2025,1,25,39\n2025,1,26,38\n2025,1,27,21\n2025,1,28,5\n2025,1,29,78\n2025,1,30,81\n2025,2,1,94\n2025,2,2,41\n2025,2,3,21\n2025,2,4,15\n2025,2,5,75\n2025,2,6,12\n2025,2,7,98\n2025,2,8,85\n2025,2,9,42\n2025,2,10,92\n2025,2,11,5\n2025,2,12,27\n2025,2,13,76\n2025,2,14,83\n2025,2,15,94\n2025,2,16,42\n2025,2,17,8\n2025,2,18,59\n2025,2,19,75\n2025,2,20,12\n2025,2,21,24\n2025,2,22,31\n2025,2,23,92\n2025,2,24,31\n2025,2,25,29\n2025,2,26,15\n2025,2,27,8\n2025,3,1,69\n2025,3,2,16\n2025,3,3,89\n2025,3,4,58\n2025,3,5,87\n2025,3,6,80\n2025,3,7,46\n2025,3,8,10\n2025,3,9,98\n2025,3,10,92\n2025,3,11,12\n2025,3,12,81\n2025,3,13,87\n2025,3,14,24\n2025,3,15,69\n2025,3,16,21\n2025,3,17,53\n2025,3,18,13\n2025,3,19,75\n2025,3,20,25\n2025,3,21,30\n2025,3,22,21\n2025,3,23,8\n2025,3,24,5\n2025,3,25,49\n2025,3,26,23\n2025,3,27,46\n2025,3,28,45\n2025,3,29,63\n2025,3,30,95\n2025,4,1,99\n2025,4,2,75\n2025,4,3,88\n2025,4,4,81\n2025,4,5,21\n2025,4,6,11\n2025,4,7,7\n2025,4,8,14\n2025,4,9,18\n2025,4,10,74\n2025,4,11,0\n2025,4,12,28\n2025,4,13,0\n2025,4,14,4\n2025,4,15,73\n2025,4,16,83\n2025,4,17,6\n2025,4,18,50\n2025,4,19,87\n2025,4,20,52\n2025,4,21,9\n2025,4,22,98\n2025,4,23,30\n2025,4,24,50\n2025,4,25,82\n2025,4,26,13\n2025,4,27,94\n2025,4,28,6\n2025,4,29,3\n2025,5,1,3\n2025,5,2,24\n2025,5,3,42\n2025,5,4,53\n2025,5,5,81\n2025,5,6,30\n2025,5,7,66\n2025,5,8,8\n2025,5,9,81\n2025,5,10,37\n2025,5,11,74\n2025,5,12,68\n2025,5,13,41\n2025,5,14,76\n2025,5,15,38\n2025,5,16,73\n2025,5,17,68\n2025,5,18,31\n2025,5,19,61\n2025,5,20,20\n2025,5,21,88\n2025,5,22,26\n2025,5,23,74\n2025,5,24,4\n2025,5,25,36\n2025,5,26,94\n2025,5,27,74\n2025,5,28,46\n2025,5,29,66\n2025,5,30,62\n2025,6,1,85\n2025,6,2,80\n2025,6,3,25\n2025,6,4,6\n2025,6,5,1\n2025,6,6,91\n2025,6,7,8\n2025,6,8,31\n2025,6,9,95\n2025,6,10,71\n2025,6,11,59\n2025,6,12,42\n2025,6,13,71\n2025,6,14,38\n2025,6,15,35\n2025,6,16,84\n2025,6,17,82\n2025,6,18,79\n2025,6,19,58\n2025,6,20,87\n2025,6,21,99\n2025,6,22,41\n2025,6,23,67\n2025,6,24,6\n2025,6,25,86\n2025,6,26,67\n2025,6,27,90\n2025,6,28,83\n2025,6,29,22\n2025,7,1,80\n2025,7,2,82\n2025,7,3,53\n2025,7,4,42\n2025,7,5,27\n2025,7,6,47\n2025,7,7,93\n2025,7,8,68\n2025,7,9,39\n2025,7,10,38\n2025,7,11,16\n2025,7,12,65\n2025,7,13,59\n2025,7,14,33\n2025,7,15,85\n2025,7,16,24\n2025,7,17,0\n2025,7,18,50\n2025,7,19,49\n2025,7,20,61\n2025,7,21,20\n2025,7,22,97\n2025,7,23,34\n2025,7,24,8\n2025,7,25,41\n2025,7,26,92\n2025,7,27,22\n2025,7,28,75\n2025,7,29,41\n2025,7,30,16\n2025,8,1,48\n2025,8,2,82\n2025,8,3,71\n2025,8,4,90\n2025,8,5,7\n2025,8,6,22\n2025,8,7,71\n2025,8,8,30\n2025,8,9,40\n2025,8,10,12\n2025,8,11,44\n2025,8,12,17\n2025,8,13,11\n2025,8,14,48\n2025,8,15,95\n2025,8,16,88\n2025,8,17,55\n2025,8,18,21\n2025,8,19,78\n2025,8,20,95\n2025,8,21,6\n2025,8,22,90\n2025,8,23,24\n2025,8,24,68\n2025,8,25,61\n2025,8,26,68\n2025,8,27,2\n2025,8,28,18\n2025,8,29,26\n2025,8,30,16\n2025,9,1,56\n2025,9,2,37\n2025,9,3,86\n2025,9,4,14\n2025,9,5,19\n2025,9,6,35\n2025,9,7,7\n2025,9,8,21\n2025,9,9,10\n2025,9,10,62\n2025,9,11,12\n2025,9,12,87\n2025,9,13,83\n2025,9,14,7\n2025,9,15,38\n2025,9,16,57\n2025,9,17,20\n2025,9,18,79\n2025,9,19,63\n2025,9,20,28\n2025,9,21,19\n2025,9,22,35\n2025,9,23,69\n2025,9,24,2\n2025,9,25,73\n2025,9,26,35\n2025,9,27,32\n2025,9,28,12\n2025,9,29,78\n2025,10,1,55\n2025,10,2,30\n2025,10,3,40\n2025,10,4,37\n2025,10,5,17\n2025,10,6,69\n2025,10,7,98\n2025,10,8,17\n2025,10,9,37\n2025,10,10,16\n2025,10,11,27\n2025,10,12,50\n2025,10,13,26\n2025,10,14,81\n2025,10,15,46\n2025,10,16,3\n2025,10,17,91\n2025,10,18,2\n2025,10,19,68\n2025,10,20,63\n2025,10,21,62\n2025,10,22,43\n2025,10,23,62\n2025,10,24,50\n2025,10,25,38\n2025,10,26,99\n2025,10,27,32\n2025,10,28,80\n2025,10,29,54\n2025,10,30,29\n2025,11,1,14\n2025,11,2,88\n2025,11,3,50\n2025,11,4,62\n2025,11,5,69\n2025,11,6,84\n2025,11,7,0\n2025,11,8,95\n2025,11,9,92\n2025,11,10,18\n2025,11,11,35\n2025,11,12,6\n2025,11,13,23\n2025,11,14,3\n2025,11,15,70\n2025,11,16,31\n2025,11,17,1\n2025,11,18,45\n2025,11,19,9\n2025,11,20,27\n2025,11,21,44\n2025,11,22,99\n2025,11,23,7\n2025,11,24,44\n2025,11,25,71\n2025,11,26,6\n2025,11,27,57\n2025,11,28,32\n2025,11,29,23\n2025,12,1,25\n2025,12,2,70\n2025,12,3,62\n2025,12,4,24\n2025,12,5,71\n2025,12,6,77\n2025,12,7,80\n2025,12,8,87\n2025,12,9,74\n2025,12,10,54\n2025,12,11,54\n2025,12,12,30\n2025,12,13,68\n2025,12,14,54\n2025,12,15,2\n2025,12,16,14\n2025,12,17,3\n2025,12,18,86\n2025,12,19,51\n2025,12,20,64\n2025,12,21,94\n2025,12,22,79\n2025,12,23,47\n2025,12,24,41\n2025,12,25,31\n2025,12,26,10\n2025,12,27,81\n2025,12,28,50\n2025,12,29,63\n2025,12,30,3\n2026,1,1,47\n2026,1,2,83\n2026,1,3,29\n2026,1,4,65\n2026,1,5,12\n2026,1,6,90\n2026,1,7,34\n2026,1,8,76\n2026,1,9,58\n2026,1,10,21\n2026,1,11,43\n2026,1,12,88\n2026,1,13,9\n2026,1,14,67\n2026,1,15,25\n2026,1,16,71\n2026,1,17,36\n2026,1,18,54\n2026,1,19,80\n2026,1,20,19\n2026,1,21,62\n2026,1,22,48\n2026,1,23,95\n2026,1,24,13\n2026,1,25,77\n2026,1,26,4\n2026,1,27,56\n2026,1,28,31\n2026,1,29,68\n2026,1,30,22\n2026,2,1,75\n2026,2,2,14\n2026,2,3,39\n2026,2,4,82\n2026,2,5,7\n2026,2,6,61\n2026,2,7,53\n2026,2,8,28\n2026,2,9,44\n2026,2,10,96\n2026,2,11,33\n2026,2,12,70\n2026,2,13,18\n2026,2,14,85\n2026,2,15,24\n2026,2,16,66\n2026,2,17,49\n2026,2,18,11\n2026,2,19,73\n2026,2,20,58\n2026,2,21,2\n2026,2,22,91\n2026,2,23,37\n2026,2,24,64\n2026,2,25,26\n2026,2,26,88\n2026,2,27,15\n2026,3,1,52\n2026,3,2,9\n2026,3,3,67\n2026,3,4,41\n2026,3,5,78\n2026,3,6,23\n2026,3,7,95\n2026,3,8,30\n2026,3,9,84\n2026,3,10,16\n2026,3,11,72\n2026,3,12,55\n2026,3,13,1\n2026,3,14,63\n2026,3,15,27\n2026,3,16,90\n2026,3,17,38\n2026,3,18,74\n2026,3,19,20\n2026,3,20,86\n2026,3,21,47\n2026,3,22,59\n2026,3,23,12\n2026,3,24,68\n2026,3,25,34\n2026,3,26,79\n2026,3,27,5\n2026,3,28,92\n2026,3,29,44\n2026,3,30,41\n2026,4,1,73\n2026,4,2,94\n2026,4,3,6\n2026,4,4,72\n2026,4,5,70\n2026,4,6,6\n2026,4,7,80\n2026,4,8,80\n2026,4,9,57\n2026,4,10,26\n2026,4,11,9\n2026,4,12,76\n2026,4,13,69\n2026,4,14,32\n2026,4,15,18\n2026,4,16,17\n2026,4,17,40\n2026,4,18,77\n2026,4,19,37\n2026,4,20,13\n2026,4,21,76\n2026,4,22,21\n2026,4,23,74\n2026,4,24,59\n2026,4,25,58\n2026,4,26,29\n2026,4,27,7\n2026,4,28,64\n2026,4,29,85\n2026,5,1,45\n2026,5,2,0\n2026,5,3,15\n2026,5,4,66\n2026,5,5,4\n2026,5,6,71\n2026,5,7,18\n2026,5,8,59\n2026,5,9,58\n2026,5,10,28\n2026,5,11,92\n2026,5,12,68\n2026,5,13,32\n2026,5,14,39\n2026,5,15,60\n2026,5,16,87\n2026,5,17,71\n2026,5,18,38\n2026,5,19,28\n2026,5,20,28\n2026,5,21,76\n2026,5,22,72\n2026,5,23,4\n2026,5,24,21\n2026,5,25,98\n2026,5,26,75\n2026,5,27,63\n2026,5,28,18\n2026,5,29,56\n2026,5,30,20\n2026,6,1,3\n2026,6,2,65\n2026,6,3,21\n2026,6,4,8\n2026,6,5,35\n2026,6,6,52\n2026,6,7,20\n2026,6,8,39\n2026,6,9,96\n2026,6,10,14\n2026,6,11,51\n2026,6,12,74\n2026,6,13,23\n2026,6,14,38\n2026,6,15,44\n2026,6,16,90\n2026,6,17,31\n2026,6,18,82\n2026,6,19,26\n2026,6,20,84\n2026,6,21,55\n2026,6,22,91\n2026,6,23,40\n2026,6,24,42\n2026,6,25,67\n2026,6,26,67\n2026,6,27,12\n2026,6,28,7\n2026,6,29,45\n2026,7,1,15\n2026,7,2,30\n2026,7,3,30\n2026,7,4,87\n2026,7,5,82\n2026,7,6,39\n2026,7,7,24\n2026,7,8,56\n2026,7,9,25\n2026,7,10,98\n2026,7,11,43\n2026,7,12,11\n2026,7,13,2\n2026,7,14,10\n2026,7,15,63\n2026,7,16,80\n2026,7,17,46\n2026,7,18,75\n2026,7,19,97\n2026,7,20,41\n2026,7,21,80\n2026,7,22,89\n2026,7,23,95\n2026,7,24,90\n2026,7,25,9\n2026,7,26,86\n2026,7,27,24\n2026,7,28,11\n2026,7,29,41\n2026,7,30,4\n2026,8,1,87\n2026,8,2,56\n2026,8,3,21\n2026,8,4,20\n2026,8,5,32\n2026,8,6,10\n2026,8,7,1\n2026,8,8,33\n2026,8,9,68\n2026,8,10,73\n2026,8,11,50\n2026,8,12,33\n2026,8,13,85\n2026,8,14,69\n2026,8,15,70\n2026,8,16,65\n2026,8,17,65\n2026,8,18,9\n2026,8,19,20\n2026,8,20,4\n2026,8,21,55\n2026,8,22,95\n2026,8,23,39\n2026,8,24,78\n2026,8,25,87\n2026,8,26,9\n2026,8,27,22\n2026,8,28,5\n2026,8,29,92\n2026,8,30,78\n2026,9,1,39\n2026,9,2,35\n2026,9,3,10\n2026,9,4,8\n2026,9,5,15\n2026,9,6,20\n2026,9,7,46\n2026,9,8,72\n2026,9,9,20\n2026,9,10,15\n2026,9,11,90\n2026,9,12,82\n2026,9,13,73\n2026,9,14,3\n2026,9,15,2\n2026,9,16,2\n2026,9,17,96\n2026,9,18,61\n2026,9,19,19`;\n\n\/\/ Global variables\nlet selectedNumbers = new Set();\nlet currentGameData = [];\nlet cumulativeBalance = 0;\n\n\/\/ Initialize\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Load initial data\n    parseDatabaseData();\n    \n    \/\/ Add button hover effect\n    const button = document.querySelector('button[onclick=\"openProfitHunter()\"]');\n    button.addEventListener('mouseenter', function() {\n        this.querySelector('span').style.left = '100%';\n    });\n    button.addEventListener('mouseleave', function() {\n        this.querySelector('span').style.left = '-100%';\n    });\n});\n\n\/\/ Parse real database data\nfunction parseDatabaseData() {\n    const lines = wpLogicChartData.split('\\n');\n    currentGameData = lines.map(line => {\n        const [year, month, day, result] = line.split(',').map(Number);\n        const date = new Date(year, month - 1, day);\n        return {\n            date: date,\n            formattedDate: `${day.toString().padStart(2, '0')}\/${month.toString().padStart(2, '0')}\/${year}`,\n            displayDate: `${day.toString().padStart(2, '0')} ${getMonthName(month)}`,\n            result: result.toString().padStart(2, '0'),\n            game: 'Gali' \/\/ Default game, will be filtered later\n        };\n    }).sort((a, b) => b.date - a.date); \/\/ Sort by date descending\n}\n\nfunction getMonthName(month) {\n    const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n    return months[month - 1];\n}\n\n\/\/ UI Functions\nfunction openProfitHunter() {\n    const overlay = document.getElementById('profitHunterOverlay');\n    overlay.style.display = 'flex';\n    overlay.style.animation = 'fadeIn 0.3s ease';\n    \n    \/\/ Refresh quick stats\n    updateQuickStats();\n}\n\nfunction closeProfitHunter() {\n    const overlay = document.getElementById('profitHunterOverlay');\n    overlay.style.animation = 'fadeOut 0.3s ease';\n    setTimeout(() => {\n        overlay.style.display = 'none';\n    }, 300);\n}\n\n\/\/ Number Management\nfunction validateNumberInput(event) {\n    const char = String.fromCharCode(event.which);\n    if (!\/[0-9]\/.test(char)) {\n        event.preventDefault();\n        return false;\n    }\n    return true;\n}\n\nfunction addSingleNumber() {\n    const input = document.getElementById('singleNumberInput');\n    const number = input.value.trim().padStart(2, '0');\n    \n    if (number && number.length === 2 && \/^\\d{2}$\/.test(number)) {\n        selectedNumbers.add(number);\n        updateNumberChips();\n        updateQuickStats();\n        input.value = '';\n        input.focus();\n    }\n}\n\nfunction parseBulkNumbers() {\n    const input = document.getElementById('bulkNumbersInput');\n    const text = input.value.trim();\n    \n    if (!text) return;\n    \n    \/\/ Parse numbers separated by dots, spaces, commas, or newlines\n    const numbers = text.match(\/\\b\\d{2}\\b\/g);\n    \n    if (numbers) {\n        numbers.forEach(num => {\n            const paddedNum = num.padStart(2, '0');\n            selectedNumbers.add(paddedNum);\n        });\n        updateNumberChips();\n        updateQuickStats();\n        input.value = '';\n    }\n}\n\nfunction quickAddNumber() {\n    \/\/ Add 5 random numbers\n    for (let i = 0; i < 5; i++) {\n        const randomNum = Math.floor(Math.random() * 100).toString().padStart(2, '0');\n        selectedNumbers.add(randomNum);\n    }\n    updateNumberChips();\n    updateQuickStats();\n}\n\nfunction clearNumbers() {\n    selectedNumbers.clear();\n    updateNumberChips();\n    updateQuickStats();\n    document.getElementById('ph_dashboard').style.display = 'none';\n    document.getElementById('emptyState').style.display = 'flex';\n}\n\nfunction updateNumberChips() {\n    const container = document.getElementById('numberChips');\n    \n    if (selectedNumbers.size === 0) {\n        container.innerHTML = '<span style=\"color: #666; font-size: 12px; align-self: center;\">No numbers added. Click +Add or type below.<\/span>';\n        return;\n    }\n    \n    const chips = Array.from(selectedNumbers).map(number => `\n        <div style=\"\n            background: rgba(251,191,36,0.1);\n            border: 1px solid rgba(251,191,36,0.3);\n            color: #fbbf24;\n            padding: 8px 12px;\n            border-radius: 20px;\n            font-size: 12px;\n            font-weight: 600;\n            display: flex;\n            align-items: center;\n            gap: 6px;\">\n            ${number}\n            <span onclick=\"removeNumber('${number}')\" \n                style=\"cursor: pointer; font-size: 16px; color: #f59e0b;\">\n                \u00d7\n            <\/span>\n        <\/div>\n    `).join('');\n    \n    container.innerHTML = chips;\n}\n\nfunction removeNumber(number) {\n    selectedNumbers.delete(number);\n    updateNumberChips();\n    updateQuickStats();\n}\n\nfunction updateQuickStats() {\n    const statNumbers = document.getElementById('statNumbers');\n    const statDailyInv = document.getElementById('statDailyInv');\n    const quickStats = document.getElementById('quickStats');\n    \n    if (selectedNumbers.size > 0) {\n        const intoAmt = parseInt(document.getElementById('ph_intoAmt').value) || 100;\n        const dailyInvestment = selectedNumbers.size * intoAmt;\n        \n        statNumbers.textContent = selectedNumbers.size;\n        statDailyInv.textContent = `\u20b9${dailyInvestment}`;\n        quickStats.style.display = 'block';\n    } else {\n        quickStats.style.display = 'none';\n    }\n}\n\n\/\/ Main Calculation Function\nfunction calculateProfitLog() {\n    if (selectedNumbers.size === 0) {\n        alert(\"Please add at least one number to analyze!\");\n        return;\n    }\n    \n    \/\/ Get inputs\n    const intoAmt = parseInt(document.getElementById('ph_intoAmt').value) || 100;\n    const rate = parseInt(document.getElementById('ph_rate').value) || 90;\n    const selectedGame = document.getElementById('ph_gameSelect').value;\n    const period = document.getElementById('ph_period').value;\n    \n    \/\/ Filter data by period\n    const filteredData = filterDataByPeriod(currentGameData, period);\n    \n    \/\/ Calculate\n    const myNumbers = Array.from(selectedNumbers);\n    const costPerDay = myNumbers.length * intoAmt;\n    const winningPrize = intoAmt * rate;\n    \n    \/\/ Reset counters\n    let totalProfit = 0;\n    let passCount = 0;\n    let failCount = 0;\n    let totalInvested = 0;\n    let totalReturns = 0;\n    cumulativeBalance = 0;\n    \n    let tableHTML = '';\n    let chartData = [];\n    \n    \/\/ Calculate for each day\n    filteredData.forEach((day, index) => {\n        const isPass = myNumbers.includes(day.result);\n        let dailyPnL = 0;\n        let status = '';\n        let color = '';\n        \n        if (isPass) {\n            dailyPnL = winningPrize - costPerDay;\n            passCount++;\n            status = 'WIN';\n            color = '#22c55e';\n            totalReturns += winningPrize;\n        } else {\n            dailyPnL = -costPerDay;\n            failCount++;\n            status = 'LOSS';\n            color = '#ef4444';\n        }\n        \n        totalInvested += costPerDay;\n        totalProfit += dailyPnL;\n        cumulativeBalance += dailyPnL;\n        \n        \/\/ Add to table\n        tableHTML += `\n            <tr style=\"border-bottom: 1px solid rgba(255,255,255,0.05);\">\n                <td style=\"padding: 12px; color: #ccc;\">${day.displayDate}<\/td>\n                <td style=\"padding: 12px; color: #fff; font-weight: 700;\">${day.result}<\/td>\n                <td style=\"padding: 12px;\">\n                    <span style=\"\n                        background: ${isPass ? 'rgba(34,197,94,0.1)' : 'rgba(239,68,68,0.1)'};\n                        color: ${color};\n                        padding: 4px 8px;\n                        border-radius: 4px;\n                        font-size: 11px;\n                        font-weight: 600;\">\n                        ${status}\n                    <\/span>\n                <\/td>\n                <td style=\"padding: 12px; color: #ccc;\">-\u20b9${costPerDay}<\/td>\n                <td style=\"padding: 12px; color: ${color}; font-weight: 700;\">\n                    ${dailyPnL > 0 ? '+' : ''}\u20b9${dailyPnL}\n                <\/td>\n                <td style=\"padding: 12px; color: ${cumulativeBalance >= 0 ? '#22c55e' : '#ef4444'}; font-weight: 700;\">\n                    \u20b9${cumulativeBalance}\n                <\/td>\n            <\/tr>\n        `;\n        \n        \/\/ Store chart data\n        chartData.push({\n            date: day.displayDate,\n            profit: dailyPnL,\n            cumulative: cumulativeBalance\n        });\n    });\n    \n    \/\/ Update UI\n    updateDashboard(filteredData.length, passCount, failCount, totalProfit, totalInvested, totalReturns, tableHTML);\n    renderChart(chartData);\n    \n    \/\/ Show results\n    document.getElementById('ph_dashboard').style.display = 'block';\n    document.getElementById('emptyState').style.display = 'none';\n}\n\nfunction filterDataByPeriod(data, period) {\n    if (period === 'all') return data;\n    \n    const days = parseInt(period);\n    const cutoffDate = new Date();\n    cutoffDate.setDate(cutoffDate.getDate() - days);\n    \n    return data.filter(day => day.date >= cutoffDate);\n}\n\nfunction updateDashboard(totalDays, passDays, failDays, netProfit, totalInvested, totalReturns, tableHTML) {\n    \/\/ Update summary cards\n    document.getElementById('ph_totalDays').textContent = totalDays;\n    document.getElementById('ph_passDays').textContent = passDays;\n    document.getElementById('ph_failDays').textContent = failDays;\n    document.getElementById('ph_winRate').textContent = totalDays > 0 ? `${((passDays \/ totalDays) * 100).toFixed(1)}%` : '0%';\n    \n    \/\/ Update profit section\n    const netDisplay = document.getElementById('ph_netProfit');\n    netDisplay.textContent = `\u20b9${netProfit}`;\n    netDisplay.style.color = netProfit >= 0 ? '#22c55e' : '#ef4444';\n    \n    document.getElementById('ph_totalInvested').textContent = `\u20b9${totalInvested}`;\n    document.getElementById('ph_totalReturns').textContent = `\u20b9${totalReturns}`;\n    \n    const roi = totalInvested > 0 ? ((netProfit \/ totalInvested) * 100).toFixed(1) : 0;\n    document.getElementById('ph_roi').textContent = `${roi}%`;\n    document.getElementById('ph_roi').style.color = roi >= 0 ? '#22c55e' : '#ef4444';\n    \n    \/\/ Update table\n    document.getElementById('ph_logTable').innerHTML = tableHTML || '<tr><td colspan=\"6\" style=\"text-align: center; padding: 40px; color: #666;\">No data available<\/td><\/tr>';\n    document.getElementById('ph_tableInfo').textContent = `${totalDays} records`;\n}\n\nfunction renderChart(chartData) {\n    const container = document.getElementById('profitChart');\n    const chartType = document.getElementById('chartType').value;\n    \n    if (chartData.length === 0) {\n        container.innerHTML = '<div style=\"text-align: center; color: #666; font-size: 11px; align-self: center;\">No data to display<\/div>';\n        return;\n    }\n    \n    const maxValue = Math.max(...chartData.map(d => Math.abs(chartType === 'daily' ? d.profit : d.cumulative)));\n    const height = 150;\n    \n    const bars = chartData.map((data, index) => {\n        const value = chartType === 'daily' ? data.profit : data.cumulative;\n        const barHeight = maxValue > 0 ? (Math.abs(value) \/ maxValue) * (height - 30) : 0;\n        const color = value >= 0 ? '#22c55e' : '#ef4444';\n        \n        return `\n            <div style=\"\n                width: ${100 \/ chartData.length}%;\n                display: flex;\n                flex-direction: column;\n                align-items: center;\">\n                <div style=\"\n                    width: 80%;\n                    height: ${barHeight}px;\n                    background: ${color};\n                    border-radius: 4px 4px 0 0;\n                    transition: height 0.3s ease;\n                    position: relative;\">\n                    <div style=\"\n                        position: absolute;\n                        top: -20px;\n                        font-size: 9px;\n                        color: ${color};\n                        white-space: nowrap;\">\n                        \u20b9${value}\n                    <\/div>\n                <\/div>\n            <\/div>\n        `;\n    }).join('');\n    \n    container.innerHTML = bars;\n}\n\n\/\/ Export Function\nfunction exportToExcel() {\n    const table = document.getElementById('ph_logTable');\n    if (!table || table.rows.length === 0) {\n        alert(\"No data to export!\");\n        return;\n    }\n    \n    let csv = 'Date,Result,Status,Investment,Profit Loss,Balance\\n';\n    \n    Array.from(table.rows).forEach(row => {\n        const cells = Array.from(row.cells);\n        if (cells.length === 6) {\n            const rowData = cells.map(cell => {\n                let text = cell.textContent.trim();\n                \/\/ Remove \u20b9 symbol and any extra spaces\n                text = text.replace('\u20b9', '').trim();\n                \/\/ Wrap in quotes if contains comma\n                return text.includes(',') ? `\"${text}\"` : text;\n            });\n            csv += rowData.join(',') + '\\n';\n        }\n    });\n    \n    \/\/ Create download link\n    const blob = new Blob([csv], { type: 'text\/csv' });\n    const url = window.URL.createObjectURL(blob);\n    const a = document.createElement('a');\n    a.href = url;\n    a.download = `profit_hunter_export_${new Date().toISOString().slice(0,10)}.csv`;\n    document.body.appendChild(a);\n    a.click();\n    document.body.removeChild(a);\n    window.URL.revokeObjectURL(url);\n}\n\n\/\/ Add CSS animations\nconst style = document.createElement('style');\nstyle.textContent = `\n    @keyframes fadeIn {\n        from { opacity: 0; }\n        to { opacity: 1; }\n    }\n    @keyframes fadeOut {\n        from { opacity: 1; }\n        to { opacity: 0; }\n    }\n    @keyframes slideUp {\n        from { transform: translateY(30px); opacity: 0; }\n        to { transform: translateY(0); opacity: 1; }\n    }\n    button:hover > span:first-child {\n        transform: scale(1.05);\n    }\n    button:hover > span:last-child {\n        left: 100%;\n    }\n    input:focus, select:focus, textarea:focus {\n        outline: none;\n        border-color: #fbbf24 !important;\n        box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.1) !important;\n    }\n    ::-webkit-scrollbar {\n        width: 6px;\n        height: 6px;\n    }\n    ::-webkit-scrollbar-track {\n        background: rgba(255,255,255,0.05);\n        border-radius: 3px;\n    }\n    ::-webkit-scrollbar-thumb {\n        background: rgba(251,191,36,0.3);\n        border-radius: 3px;\n    }\n    ::-webkit-scrollbar-thumb:hover {\n        background: rgba(251,191,36,0.5);\n    }\n`;\ndocument.head.appendChild(style);\n<\/script>\n\n\n<button onclick=\"openVipModal()\" style=\"\n    background-color: white; \n    color: white; \n    border: none; \n    padding: 8px 10px; \n    border-radius: 3px; \n    font-size: 8px; \n    font-family: sans-serif; \n    cursor: pointer; \n    box-shadow: ;\n    font-weight: 200;\">\n    OPEN\n<\/button>\n\n<div id=\"vipModalOverlay\" style=\"\n    display: none; \n    position: fixed; \n    top: 0; left: 0; \n    width: 100%; height: 100%; \n    background: rgba(0,0,0,0.85); \n    z-index: 9999; \n    align-items: center; \n    justify-content: center;\n    backdrop-filter: blur(5px);\">\n\n    <div style=\"\n        background: #0f172a; \n        width: 90%; \n        max-width: 450px; \n        border-radius: 16px; \n        border: 1px solid #334155; \n        box-shadow: 0 20px 50px rgba(0,0,0,0.5); \n        overflow: hidden; \n        font-family: 'Segoe UI', sans-serif; \n        color: #f1f5f9;\n        animation: fadeIn 0.3s ease-out;\">\n\n        <div style=\"padding: 15px; border-bottom: 1px solid #334155; display: flex; justify-content: space-between; align-items: center; background: #1e293b;\">\n            <span style=\"font-weight: bold; color: #fbbf24;\">\ud83d\udc51 VIP DATA CENTER<\/span>\n            <button onclick=\"closeVipModal()\" style=\"background: transparent; border: none; color: #94a3b8; font-size: 20px; cursor: pointer;\">&times;<\/button>\n        <\/div>\n\n        <div style=\"display: flex; gap: 8px; padding: 12px; background: #0f172a; overflow-x: auto;\">\n            <button onclick=\"loadGame('Gali')\" class=\"game-btn active-game\">Gali<\/button>\n            <button onclick=\"loadGame('Desawar')\" class=\"game-btn\">Desawar<\/button>\n            <button onclick=\"loadGame('GZB')\" class=\"game-btn\">GZB<\/button>\n            <button onclick=\"loadGame('FRD')\" class=\"game-btn\">FRD<\/button>\n        <\/div>\n\n        <div style=\"padding: 15px; background: #1e293b; margin: 10px; border-radius: 10px; border: 1px solid #334155;\">\n            <div style=\"display: flex; justify-content: space-between; margin-bottom: 10px;\">\n                <span id=\"gameTitle\" style=\"font-weight: bold; color: #60a5fa;\">GALI ANALYSIS<\/span>\n                <span id=\"riskBadge\" style=\"background: #ef4444; color: white; padding: 2px 8px; border-radius: 4px; font-size: 10px;\">HIGH RISK<\/span>\n            <\/div>\n            \n            <div style=\"display: flex; gap: 10px; align-items: center; margin-bottom: 15px;\">\n                <div style=\"flex: 1; background: #0f172a; padding: 8px; border-radius: 6px; text-align: center; border: 1px solid #334155;\">\n                    <div style=\"font-size: 10px; color: #94a3b8;\">NEXT BET<\/div>\n                    <div id=\"multiplierVal\" style=\"font-size: 16px; font-weight: bold; color: #22c55e;\">200x<\/div>\n                <\/div>\n                <button onclick=\"copySafe()\" style=\"flex: 2; background: #22c55e; color: white; border: none; padding: 10px; border-radius: 6px; font-weight: bold; cursor: pointer;\">\ud83d\udccb COPY SAFE (18)<\/button>\n            <\/div>\n\n            <div style=\"max-height: 200px; overflow-y: auto; background: #0f172a; border-radius: 6px; border: 1px solid #334155;\">\n                <table style=\"width: 100%; border-collapse: collapse; font-size: 11px;\">\n                    <thead style=\"position: sticky; top: 0; background: #334155;\">\n                        <tr>\n                            <th style=\"padding: 8px; text-align: left;\">Day<\/th>\n                            <th style=\"padding: 8px; text-align: center;\">Result<\/th>\n                            <th style=\"padding: 8px; text-align: right;\">Status<\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody id=\"dataTableBody\">\n                        <\/tbody>\n                <\/table>\n            <\/div>\n        <\/div>\n\n    <\/div>\n<\/div>\n\n<style>\n    .game-btn { background: transparent; border: 1px solid #475569; color: #94a3b8; padding: 6px 12px; border-radius: 20px; cursor: pointer; font-size: 12px; white-space: nowrap; }\n    .active-game { background: #fbbf24; color: #000; border-color: #fbbf24; font-weight: bold; }\n    @keyframes fadeIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }\n<\/style>\n\n<script>\n    \/\/ --- 1. GAME DATA (Apni Image se yaha bhare) ---\n    const allGameData = {\n        Gali: [\n            { day: 0, res: \"95\", status: \"FAIL\" },\n            { day: 1, res: \"37\", status: \"FAIL\" },\n            { day: 2, res: \"04\", status: \"FAIL\" },\n            { day: 5, res: \"34\", status: \"PASS\" }\n        ],\n        Desawar: [\n            { day: 1, res: \"94\", status: \"PASS\" },\n            { day: 4, res: \"82\", status: \"PASS\" }\n        ],\n        GZB: [\n            { day: 0, res: \"84\", status: \"PASS\" },\n            { day: 1, res: \"42\", status: \"PASS\" }\n        ],\n        FRD: [\n            { day: 0, res: \"40\", status: \"FAIL\" },\n            { day: 1, res: \"08\", status: \"FAIL\" }\n        ]\n    };\n\n    let currentSelection = \"Gali\";\n\n    \/\/ --- 2. MODAL FUNCTIONS ---\n    function openVipModal() {\n        document.getElementById('vipModalOverlay').style.display = 'flex';\n        loadGame(currentSelection); \/\/ Load default game\n    }\n\n    function closeVipModal() {\n        document.getElementById('vipModalOverlay').style.display = 'none';\n    }\n\n    \/\/ --- 3. LOGIC ENGINE ---\n    function loadGame(game) {\n        currentSelection = game;\n        \n        \/\/ Update Buttons Style\n        document.querySelectorAll('.game-btn').forEach(btn => {\n            btn.classList.remove('active-game');\n            if(btn.innerText === game) btn.classList.add('active-game');\n        });\n\n        \/\/ Update Headers\n        document.getElementById('gameTitle').innerText = game.toUpperCase() + \" ANALYSIS\";\n\n        \/\/ Logic for Multiplier (Tarik 2)\n        const history = allGameData[game] || [];\n        const lastResult = history.length > 0 ? history[0].status : \"PASS\";\n        \n        const multDisplay = document.getElementById('multiplierVal');\n        const badge = document.getElementById('riskBadge');\n\n        if(lastResult === \"FAIL\") {\n            multDisplay.innerText = \"200x\";  \/\/ Increase Bet\n            multDisplay.style.color = \"#ef4444\"; \/\/ Red\n            badge.innerText = \"RECOVERY MODE\";\n            badge.style.background = \"#b91c1c\";\n        } else {\n            multDisplay.innerText = \"100x\"; \/\/ Normal Bet\n            multDisplay.style.color = \"#22c55e\"; \/\/ Green\n            badge.innerText = \"SAFE MODE\";\n            badge.style.background = \"#15803d\";\n        }\n\n        \/\/ Render Table\n        const tbody = document.getElementById('dataTableBody');\n        tbody.innerHTML = \"\";\n        history.forEach(row => {\n            const color = row.status === \"PASS\" ? \"#22c55e\" : \"#ef4444\";\n            tbody.innerHTML += `\n                <tr style=\"border-bottom: 1px solid #334155;\">\n                    <td style=\"padding: 8px;\">Day -${row.day}<\/td>\n                    <td style=\"padding: 8px; text-align: center; font-weight: bold;\">${row.res}<\/td>\n                    <td style=\"padding: 8px; text-align: right; color: ${color}; font-weight: bold;\">${row.status}<\/td>\n                <\/tr>\n            `;\n        });\n    }\n\n    \/\/ --- 4. COPY FUNCTION ---\n    function copySafe() {\n        \/\/ Logic to calculate remaining 18 numbers can go here\n        \/\/ For now, using a placeholder list\n        const safeList = \"04, 12, 19, 28, 33, 45, 50, 61, 78, 89, 90, 01, 15, 22, 39, 41, 58, 66\";\n        navigator.clipboard.writeText(safeList);\n        alert(`\u2705 ${currentSelection} Safe Numbers Copied!`);\n    }\n<\/script>\n\n<\/div>\n<\/div>\n\n<div id=\"hybridOverlay\" class=\"hybrid-overlay\">\n<div class=\"hybrid-sheet\">\n<input class=\"hybrid-searchbox\" placeholder=\"Search tool\u2026\" onkeyup=\"filterHybrid(this.value)\">\n<h4>ALL TOOLS<\/h4>\n<div class=\"hybrid-grid\" id=\"hybridAll\">\n<!-- simply copy all logic-btn buttons here again if needed -->\n<\/div>\n<button onclick=\"closeHybridOverlay()\" style=\"width:100%;margin-top:6px;\">CLOSE<\/button>\n<\/div>\n<\/div>\n<script>\nfunction hybridSwitch(type){\ndocument.querySelectorAll('.hybrid-content').forEach(c=>c.classList.remove('active'));\ndocument.querySelectorAll('.hybrid-tab').forEach(t=>t.classList.remove('active'));\ndocument.getElementById('hybrid-'+type).classList.add('active');\nevent.target.classList.add('active');\n}\nfunction openHybridOverlay(){document.getElementById('hybridOverlay').style.display='block';}\nfunction closeHybridOverlay(){document.getElementById('hybridOverlay').style.display='none';}\nfunction filterHybrid(q){\nq=q.toLowerCase();\ndocument.querySelectorAll('#hybridAll .logic-btn').forEach(b=>{\nb.style.display=b.innerText.toLowerCase().includes(q)?'':'none';\n});\n}\n<\/script>\n            <!-- Result Display Area -->\n            <div class=\"result-box\" id=\"resultBox\">\n                <div class=\"result-title\" id=\"resultTitle\">Select a logic to see analysis<\/div>\n                <div class=\"result-content\" id=\"resultContent\"><\/div>\n            <\/div>\n\n            <!-- \ud83e\uddee Chart Table -->\n            <div class=\"chart-container\">\n                <table id=\"chartTable\">\n                    <thead>\n                        <tr>\n                            <th>Sr<\/th>\n                            <th>Jan<\/th>\n                            <th>Feb<\/th>\n                            <th>Mar<\/th>\n                            <th>Apr<\/th>\n                            <th>May<\/th>\n                            <th>Jun<\/th>\n                            <th>Jul<\/th>\n                            <th>Aug<\/th>\n                            <th>Sep<\/th>\n                            <th>Oct<\/th>\n                            <th>Nov<\/th>\n                            <th>Dec<\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody>\n                                                    <tr>\n                                <td>1<\/td>\n                                                                    <td>47<\/td>\n                                                                    <td>75<\/td>\n                                                                    <td>52<\/td>\n                                                                    <td>73<\/td>\n                                                                    <td>45<\/td>\n                                                                    <td>03<\/td>\n                                                                    <td>15<\/td>\n                                                                    <td>87<\/td>\n                                                                    <td>39<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>2<\/td>\n                                                                    <td>83<\/td>\n                                                                    <td>14<\/td>\n                                                                    <td>09<\/td>\n                                                                    <td>94<\/td>\n                                                                    <td>00<\/td>\n                                                                    <td>65<\/td>\n                                                                    <td>30<\/td>\n                                                                    <td>56<\/td>\n                                                                    <td>35<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>3<\/td>\n                                                                    <td>29<\/td>\n                                                                    <td>39<\/td>\n                                                                    <td>67<\/td>\n                                                                    <td>06<\/td>\n                                                                    <td>15<\/td>\n                                                                    <td>21<\/td>\n                                                                    <td>30<\/td>\n                                                                    <td>21<\/td>\n                                                                    <td>10<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>4<\/td>\n                                                                    <td>65<\/td>\n                                                                    <td>82<\/td>\n                                                                    <td>41<\/td>\n                                                                    <td>72<\/td>\n                                                                    <td>66<\/td>\n                                                                    <td>08<\/td>\n                                                                    <td>87<\/td>\n                                                                    <td>20<\/td>\n                                                                    <td>08<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>5<\/td>\n                                                                    <td>12<\/td>\n                                                                    <td>07<\/td>\n                                                                    <td>78<\/td>\n                                                                    <td>70<\/td>\n                                                                    <td>04<\/td>\n                                                                    <td>35<\/td>\n                                                                    <td>82<\/td>\n                                                                    <td>32<\/td>\n                                                                    <td>15<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>6<\/td>\n                                                                    <td>90<\/td>\n                                                                    <td>61<\/td>\n                                                                    <td>23<\/td>\n                                                                    <td>06<\/td>\n                                                                    <td>71<\/td>\n                                                                    <td>52<\/td>\n                                                                    <td>39<\/td>\n                                                                    <td>10<\/td>\n                                                                    <td>20<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>7<\/td>\n                                                                    <td>34<\/td>\n                                                                    <td>53<\/td>\n                                                                    <td>95<\/td>\n                                                                    <td>80<\/td>\n                                                                    <td>18<\/td>\n                                                                    <td>20<\/td>\n                                                                    <td>24<\/td>\n                                                                    <td>01<\/td>\n                                                                    <td>46<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>8<\/td>\n                                                                    <td>76<\/td>\n                                                                    <td>28<\/td>\n                                                                    <td>30<\/td>\n                                                                    <td>80<\/td>\n                                                                    <td>59<\/td>\n                                                                    <td>39<\/td>\n                                                                    <td>56<\/td>\n                                                                    <td>33<\/td>\n                                                                    <td>72<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>9<\/td>\n                                                                    <td>58<\/td>\n                                                                    <td>44<\/td>\n                                                                    <td>84<\/td>\n                                                                    <td>57<\/td>\n                                                                    <td>58<\/td>\n                                                                    <td>96<\/td>\n                                                                    <td>25<\/td>\n                                                                    <td>68<\/td>\n                                                                    <td>20<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>10<\/td>\n                                                                    <td>21<\/td>\n                                                                    <td>96<\/td>\n                                                                    <td>16<\/td>\n                                                                    <td>26<\/td>\n                                                                    <td>28<\/td>\n                                                                    <td>14<\/td>\n                                                                    <td>98<\/td>\n                                                                    <td>73<\/td>\n                                                                    <td>15<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>11<\/td>\n                                                                    <td>43<\/td>\n                                                                    <td>33<\/td>\n                                                                    <td>72<\/td>\n                                                                    <td>09<\/td>\n                                                                    <td>92<\/td>\n                                                                    <td>51<\/td>\n                                                                    <td>43<\/td>\n                                                                    <td>50<\/td>\n                                                                    <td>90<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>12<\/td>\n                                                                    <td>88<\/td>\n                                                                    <td>70<\/td>\n                                                                    <td>55<\/td>\n                                                                    <td>76<\/td>\n                                                                    <td>68<\/td>\n                                                                    <td>74<\/td>\n                                                                    <td>11<\/td>\n                                                                    <td>33<\/td>\n                                                                    <td>82<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>13<\/td>\n                                                                    <td>09<\/td>\n                                                                    <td>18<\/td>\n                                                                    <td>01<\/td>\n                                                                    <td>69<\/td>\n                                                                    <td>32<\/td>\n                                                                    <td>23<\/td>\n                                                                    <td>02<\/td>\n                                                                    <td>85<\/td>\n                                                                    <td>73<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>14<\/td>\n                                                                    <td>67<\/td>\n                                                                    <td>85<\/td>\n                                                                    <td>63<\/td>\n                                                                    <td>32<\/td>\n                                                                    <td>39<\/td>\n                                                                    <td>38<\/td>\n                                                                    <td>10<\/td>\n                                                                    <td>69<\/td>\n                                                                    <td>03<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>15<\/td>\n                                                                    <td>25<\/td>\n                                                                    <td>24<\/td>\n                                                                    <td>27<\/td>\n                                                                    <td>18<\/td>\n                                                                    <td>60<\/td>\n                                                                    <td>44<\/td>\n                                                                    <td>63<\/td>\n                                                                    <td>70<\/td>\n                                                                    <td>02<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>16<\/td>\n                                                                    <td>71<\/td>\n                                                                    <td>66<\/td>\n                                                                    <td>90<\/td>\n                                                                    <td>17<\/td>\n                                                                    <td>87<\/td>\n                                                                    <td>90<\/td>\n                                                                    <td>80<\/td>\n                                                                    <td>65<\/td>\n                                                                    <td>02<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>17<\/td>\n                                                                    <td>36<\/td>\n                                                                    <td>49<\/td>\n                                                                    <td>38<\/td>\n                                                                    <td>40<\/td>\n                                                                    <td>71<\/td>\n                                                                    <td>31<\/td>\n                                                                    <td>46<\/td>\n                                                                    <td>65<\/td>\n                                                                    <td>96<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>18<\/td>\n                                                                    <td>54<\/td>\n                                                                    <td>11<\/td>\n                                                                    <td>74<\/td>\n                                                                    <td>77<\/td>\n                                                                    <td>38<\/td>\n                                                                    <td>82<\/td>\n                                                                    <td>75<\/td>\n                                                                    <td>09<\/td>\n                                                                    <td>61<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>19<\/td>\n                                                                    <td>80<\/td>\n                                                                    <td>73<\/td>\n                                                                    <td>20<\/td>\n                                                                    <td>37<\/td>\n                                                                    <td>28<\/td>\n                                                                    <td>26<\/td>\n                                                                    <td>97<\/td>\n                                                                    <td>20<\/td>\n                                                                    <td>19<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>20<\/td>\n                                                                    <td>19<\/td>\n                                                                    <td>58<\/td>\n                                                                    <td>86<\/td>\n                                                                    <td>13<\/td>\n                                                                    <td>28<\/td>\n                                                                    <td>84<\/td>\n                                                                    <td>41<\/td>\n                                                                    <td>04<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>21<\/td>\n                                                                    <td>62<\/td>\n                                                                    <td>02<\/td>\n                                                                    <td>47<\/td>\n                                                                    <td>76<\/td>\n                                                                    <td>76<\/td>\n                                                                    <td>55<\/td>\n                                                                    <td>80<\/td>\n                                                                    <td>55<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>22<\/td>\n                                                                    <td>48<\/td>\n                                                                    <td>91<\/td>\n                                                                    <td>59<\/td>\n                                                                    <td>21<\/td>\n                                                                    <td>72<\/td>\n                                                                    <td>91<\/td>\n                                                                    <td>89<\/td>\n                                                                    <td>95<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>23<\/td>\n                                                                    <td>95<\/td>\n                                                                    <td>37<\/td>\n                                                                    <td>12<\/td>\n                                                                    <td>74<\/td>\n                                                                    <td>04<\/td>\n                                                                    <td>40<\/td>\n                                                                    <td>95<\/td>\n                                                                    <td>39<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>24<\/td>\n                                                                    <td>13<\/td>\n                                                                    <td>64<\/td>\n                                                                    <td>68<\/td>\n                                                                    <td>59<\/td>\n                                                                    <td>21<\/td>\n                                                                    <td>42<\/td>\n                                                                    <td>90<\/td>\n                                                                    <td>78<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>25<\/td>\n                                                                    <td>77<\/td>\n                                                                    <td>26<\/td>\n                                                                    <td>34<\/td>\n                                                                    <td>58<\/td>\n                                                                    <td>98<\/td>\n                                                                    <td>67<\/td>\n                                                                    <td>09<\/td>\n                                                                    <td>87<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>26<\/td>\n                                                                    <td>04<\/td>\n                                                                    <td>88<\/td>\n                                                                    <td>79<\/td>\n                                                                    <td>29<\/td>\n                                                                    <td>75<\/td>\n                                                                    <td>67<\/td>\n                                                                    <td>86<\/td>\n                                                                    <td>09<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>27<\/td>\n                                                                    <td>56<\/td>\n                                                                    <td>15<\/td>\n                                                                    <td>05<\/td>\n                                                                    <td>07<\/td>\n                                                                    <td>63<\/td>\n                                                                    <td>12<\/td>\n                                                                    <td>24<\/td>\n                                                                    <td>22<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>28<\/td>\n                                                                    <td>31<\/td>\n                                                                    <td>--<\/td>\n                                                                    <td>92<\/td>\n                                                                    <td>64<\/td>\n                                                                    <td>18<\/td>\n                                                                    <td>07<\/td>\n                                                                    <td>11<\/td>\n                                                                    <td>05<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>29<\/td>\n                                                                    <td>68<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>44<\/td>\n                                                                    <td>85<\/td>\n                                                                    <td>56<\/td>\n                                                                    <td>45<\/td>\n                                                                    <td>41<\/td>\n                                                                    <td>92<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>30<\/td>\n                                                                    <td>22<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>41<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>20<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>04<\/td>\n                                                                    <td>78<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                                    <tr>\n                                <td>31<\/td>\n                                                                    <td>--<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                                    <td>XX<\/td>\n                                                            <\/tr>\n                                            <\/tbody>\n                <\/table>\n            <\/div>\n\n            <!-- Legend -->\n            <div class=\"legend\" id=\"legend\"><\/div>\n        <\/div>\n\n        <!-- Popup -->\n        <div class=\"popup-info\" id=\"infoBox\"><\/div>\n\n        <style>\n        .logic-container {\n            background: #fff;\n            border: 2px solid #ffd700;\n            border-radius: 12px;\n            box-shadow: 0 0 18px rgba(255, 215, 0, 0.35);\n            padding: 14px;\n            max-width: 1200px;\n            margin: 20px auto;\n            color: #000;\n            font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;\n        }\n        .logic-container h1 {\n            font-family: 'Orbitron', system-ui, sans-serif;\n            color: #000;\n            text-transform: uppercase;\n            text-align: center;\n            border-bottom: 2px solid #ffd700;\n            padding-bottom: 4px;\n            font-size: 22px;\n        }\n        .logic-container p {\n            font-size: 13px;\n            line-height: 1.5;\n            color: #111;\n        }\n        .button-row {\n            display: flex;\n            flex-wrap: wrap;\n            justify-content: center;\n            gap: 6px;\n            margin-top: 8px;\n        }\n        .logic-btn {\n            background: #000;\n            color: #ffd700;\n            border: 1px solid #ffd700;\n            border-radius: 6px;\n            padding: 3px 7px;\n            font-size: 10.5px;\n            cursor: pointer;\n            transition: all 0.3s;\n        }\n        .logic-btn:hover {\n            background: #ffd700;\n            color: #000;\n            box-shadow: 0 0 10px #ffd700;\n        }\n        .highlight-taak { background-color: #ff4c4c !important; color: #fff; }\n        .highlight-jufat { background-color: #00cc66 !important; color: #fff; }\n        .highlight-2090 { background-color: #ffd700 !important; }\n        .highlight-50low { background-color: #00bfff !important; color: #fff; }\n        .highlight-50high { background-color: #ff9900 !important; color: #fff; }\n        .highlight-search { background-color: #ffff66 !important; color: #000; }\n        .highlight-missing { background-color: #ff66b2 !important; color: #fff; }\n        .highlight-hot { background-color: #ff3333 !important; color: #fff; }\n        .highlight-cold { background-color: #3399ff !important; color: #fff; }\n        .highlight-first-last { background-color: #cc66ff !important; color: #fff; }\n        .highlight-mirror { background-color: #66ffcc !important; color: #000; }\n        .highlight-repeat { background-color: #ff9966 !important; color: #fff; }\n        .highlight-lucky { background-color: #ffff66 !important; color: #000; }\n        .highlight-backtoback { background-color: #9966ff !important; color: #fff; }\n        .highlight-master { background-color: #ff6600 !important; color: #fff; }\n        .highlight-ai { background-color: #00cccc !important; color: #fff; }\n        .highlight-sum { background-color: #ff66cc !important; color: #fff; }\n        .highlight-nextday { background-color: #99cc00 !important; color: #fff; }\n        .highlight-jodi { background-color: #ff9933 !important; color: #fff; }\n        .highlight-pattern { background-color: #cc99ff !important; color: #fff; }\n        .highlight-lowpressure { background-color: #4CAF50 !important; color: #fff; font-weight: bold; }\n.highlight-mediumpressure { background-color: #FF9800 !important; color: #fff; }\n.highlight-highpressure { background-color: #F44336 !important; color: #fff; }\n.highlight-veryhighpressure { background-color: #9C27B0 !important; color: #fff; }\n.highlight-quantum { background-color: #00bfff !important; color: #fff; }\n.highlight-dream { background-color: #9370db !important; color: #fff; }\n.highlight-entropy { background-color: #ff4500 !important; color: #fff; }\n.highlight-hive { background-color: #daa520 !important; color: #000; }\n.highlight-warp { background-color: #8a2be2 !important; color: #fff; }\n\n.highlight-bombay-crack {\n    background-color: #FF4500 !important;\n    color: #fff !important;\n    font-weight: bold !important;\n    box-shadow: 0 0 8px rgba(255, 69, 0, 0.6) !important;\n    animation: bombayPulse 1.5s ease-in-out infinite;\n}\n\n@keyframes bombayPulse {\n    0%, 100% {\n        box-shadow: 0 0 8px rgba(255, 69, 0, 0.6);\n    }\n    50% {\n        box-shadow: 0 0 15px rgba(255, 69, 0, 1);\n    }\n}\n\n@keyframes spin {\n    from {\n        transform: rotate(0deg);\n    }\n    to {\n        transform: rotate(360deg);\n    }\n}\n\n\n\/* ============================================================\n   2. ENIGMA DECODE - Styling\n   ============================================================ *\/\n\n.highlight-enigma-repeat {\n    background-color: #ff0000 !important;\n    color: #fff !important;\n    font-weight: bold !important;\n    box-shadow: inset 0 0 8px rgba(255, 0, 0, 0.5) !important;\n}\n\n.highlight-enigma-break {\n    background-color: #0066ff !important;\n    color: #fff !important;\n    font-weight: bold !important;\n    box-shadow: inset 0 0 8px rgba(0, 102, 255, 0.5) !important;\n}\n\n.highlight-enigma-continue {\n    background-color: #00cc00 !important;\n    color: #000 !important;\n    font-weight: bold !important;\n    box-shadow: inset 0 0 8px rgba(0, 204, 0, 0.5) !important;\n}\n\n\/* Lock icon styling *\/\n.enigma-lock-icon {\n    position: absolute;\n    top: -5px;\n    right: -5px;\n    font-size: 8px;\n    background: #000;\n    color: #fff;\n    padding: 2px 4px;\n    border-radius: 3px;\n    cursor: pointer;\n    transition: all 0.3s;\n}\n\n.enigma-lock-icon:hover {\n    background: #ffd700;\n    color: #000;\n    transform: scale(1.2);\n}\n\n\n\/* ============================================================\n   3. WAVE PREDICT - Styling\n   ============================================================ *\/\n\n#waveChart {\n    background: rgba(0, 212, 255, 0.05) !important;\n    border: 1px solid #00d4ff !important;\n    border-radius: 8px !important;\n    padding: 15px !important;\n    position: relative;\n}\n\n#waveCanvas {\n    width: 100% !important;\n    height: 100% !important;\n}\n\n.wave-grid-line {\n    stroke: rgba(0, 212, 255, 0.2);\n    stroke-width: 1;\n}\n\n.wave-line {\n    stroke: #00d4ff;\n    stroke-width: 2;\n    fill: none;\n}\n\n.wave-point {\n    fill: #00ff00;\n    stroke: #00d4ff;\n    stroke-width: 2;\n}\n\n\/* Wave animation *\/\n@keyframes waveFlow {\n    0% {\n        opacity: 0.5;\n    }\n    50% {\n        opacity: 1;\n    }\n    100% {\n        opacity: 0.5;\n    }\n}\n\n.wave-animate {\n    animation: waveFlow 2s ease-in-out infinite;\n}\n\n\n\/* ============================================================\n   4. PERSONAL LOCK - Styling\n   ============================================================ *\/\n\n#personalLockModal {\n    animation: slideInUp 0.4s ease-out;\n}\n\n@keyframes slideInUp {\n    from {\n        transform: translate(-50%, calc(-50% + 50px));\n        opacity: 0;\n    }\n    to {\n        transform: translate(-50%, -50%);\n        opacity: 1;\n    }\n}\n\n.personal-lock-rule {\n    background: rgba(255, 255, 0, 0.1) !important;\n    border-left: 4px solid #ffff00 !important;\n    padding: 8px !important;\n    border-radius: 4px !important;\n    margin-bottom: 6px !important;\n    font-size: 11px !important;\n    display: flex !important;\n    justify-content: space-between !important;\n    align-items: center !important;\n    transition: all 0.3s;\n}\n\n.personal-lock-rule:hover {\n    background: rgba(255, 255, 0, 0.2) !important;\n    box-shadow: 0 0 8px rgba(255, 255, 0, 0.3) !important;\n}\n\n.personal-lock-rule-delete {\n    background: #ff0000 !important;\n    color: #fff !important;\n    border: none !important;\n    padding: 2px 6px !important;\n    border-radius: 3px !important;\n    cursor: pointer !important;\n    font-size: 10px !important;\n    transition: all 0.2s;\n}\n\n.personal-lock-rule-delete:hover {\n    background: #cc0000 !important;\n    transform: scale(1.1);\n}\n\n.personal-lock-textarea {\n    width: 100% !important;\n    height: 60px !important;\n    background: rgba(255, 255, 255, 0.05) !important;\n    border: 1px solid #ffff00 !important;\n    border-radius: 6px !important;\n    color: #fff !important;\n    padding: 8px !important;\n    font-size: 12px !important;\n    resize: none !important;\n    font-family: 'Segoe UI', sans-serif !important;\n}\n\n.personal-lock-textarea:focus {\n    outline: none;\n    border-color: #ffff00;\n    box-shadow: 0 0 8px rgba(255, 255, 0, 0.3);\n}\n\n\/* Notification popup *\/\n.personal-lock-notification {\n    position: fixed;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    background: linear-gradient(135deg, #1a4d00 0%, #0d2600 100%);\n    border: 3px solid #ffff00;\n    border-radius: 12px;\n    padding: 20px;\n    z-index: 10001;\n    min-width: 300px;\n    box-shadow: 0 0 25px rgba(255, 255, 0, 0.6);\n    font-family: 'Segoe UI', sans-serif;\n    color: #fff;\n    text-align: center;\n    animation: popIn 0.4s ease-out;\n}\n\n@keyframes popIn {\n    from {\n        transform: translate(-50%, -50%) scale(0.8);\n        opacity: 0;\n    }\n    to {\n        transform: translate(-50%, -50%) scale(1);\n        opacity: 1;\n    }\n}\n\n\n\/* ============================================================\n   5. DEEP SCAN (VIP) - Styling\n   ============================================================ *\/\n\n#deepScanModal {\n    animation: slideInUp 0.4s ease-out;\n}\n\n.deep-scan-analysis {\n    background: rgba(255, 0, 255, 0.1) !important;\n    border: 1px solid #ff00ff !important;\n    border-radius: 8px !important;\n    padding: 15px !important;\n    margin-bottom: 15px !important;\n}\n\n.deep-scan-top-numbers {\n    background: rgba(100, 200, 255, 0.1) !important;\n    border-left: 4px solid #00d4ff !important;\n    padding: 12px !important;\n    border-radius: 6px !important;\n    margin-bottom: 15px !important;\n}\n\n.deep-scan-number-badge {\n    background: rgba(0, 212, 255, 0.2) !important;\n    border: 1px solid #00d4ff !important;\n    padding: 6px 10px !important;\n    border-radius: 4px !important;\n    font-size: 11px !important;\n    display: inline-block !important;\n    margin: 3px !important;\n    transition: all 0.3s;\n}\n\n.deep-scan-number-badge:hover {\n    background: rgba(0, 212, 255, 0.4) !important;\n    box-shadow: 0 0 8px rgba(0, 212, 255, 0.5) !important;\n    transform: scale(1.05);\n}\n\n.deep-scan-confidence {\n    font-size: 14px !important;\n    font-weight: bold !important;\n    color: #ffd700 !important;\n    text-shadow: 0 0 8px rgba(255, 215, 0, 0.4);\n}\n\n\n\/* ============================================================\n   GENERAL MODAL STYLING FOR ALL NEW BUTTONS\n   ============================================================ *\/\n\n.new-button-modal {\n    position: fixed;\n    z-index: 10000;\n    border-radius: 15px;\n    box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);\n    font-family: 'Segoe UI', sans-serif;\n    animation: modalFadeIn 0.3s ease-out;\n}\n\n@keyframes modalFadeIn {\n    from {\n        opacity: 0;\n        transform: translate(-50%, -50%) scale(0.9);\n    }\n    to {\n        opacity: 1;\n        transform: translate(-50%, -50%) scale(1);\n    }\n}\n\n.new-button-modal-header {\n    text-align: center;\n    margin-bottom: 20px;\n    padding-bottom: 15px;\n    border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.new-button-modal-title {\n    font-size: 24px;\n    font-weight: bold;\n    margin-bottom: 5px;\n}\n\n.new-button-modal-subtitle {\n    font-size: 12px;\n    color: #aaa;\n}\n\n.new-button-modal-content {\n    margin-bottom: 20px;\n}\n\n.new-button-modal-footer {\n    display: flex;\n    gap: 10px;\n}\n\n.new-button-modal-button {\n    flex: 1;\n    border: none;\n    padding: 10px;\n    border-radius: 6px;\n    font-weight: bold;\n    cursor: pointer;\n    transition: all 0.3s;\n}\n\n.new-button-modal-button:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);\n}\n\n.new-button-modal-button-primary {\n    background: linear-gradient(135deg, #00ff00, #00cc00);\n    color: #000;\n}\n\n.new-button-modal-button-primary:hover {\n    box-shadow: 0 0 15px rgba(0, 255, 0, 0.5);\n}\n\n.new-button-modal-button-secondary {\n    background: #333;\n    color: #fff;\n    border: 1px solid #555;\n}\n\n.new-button-modal-button-secondary:hover {\n    background: #444;\n    border-color: #666;\n}\n\n\n\/* ============================================================\n   RESPONSIVE DESIGN\n   ============================================================ *\/\n\n@media (max-width: 768px) {\n    .new-button-modal {\n        min-width: 90vw !important;\n        max-width: 90vw !important;\n    }\n    \n    .new-button-modal-title {\n        font-size: 18px;\n    }\n    \n    .new-button-modal-subtitle {\n        font-size: 11px;\n    }\n}\n\n@media (max-width: 480px) {\n    .new-button-modal {\n        min-width: 95vw !important;\n        max-width: 95vw !important;\n        padding: 15px !important;\n    }\n    \n    .new-button-modal-title {\n        font-size: 16px;\n    }\n}\n\n\n\/* ============================================================\n   UTILITY CLASSES\n   ============================================================ *\/\n\n.highlight-new-button {\n    animation: highlight-pulse 2s ease-in-out infinite;\n}\n\n@keyframes highlight-pulse {\n    0%, 100% {\n        opacity: 1;\n    }\n    50% {\n        opacity: 0.7;\n    }\n}\n\n.loading-spinner {\n    display: inline-block;\n    animation: spin 1s linear infinite;\n}\n\n.fade-in {\n    animation: fadeIn 0.3s ease-in;\n}\n\n@keyframes fadeIn {\n    from {\n        opacity: 0;\n    }\n    to {\n        opacity: 1;\n    }\n}\n\n.slide-up {\n    animation: slideUp 0.4s ease-out;\n}\n\n@keyframes slideUp {\n    from {\n        transform: translateY(20px);\n        opacity: 0;\n    }\n    to {\n        transform: translateY(0);\n        opacity: 1;\n    }\n}\n\n\n.highlight-singularity { background-color: #000 !important; color: #ffd700; border: 2px solid #ffd700 !important; }\n\/* DNA Hunter Color *\/\n            .highlight-dna { background-color: #4b0082 !important; color: #00ffff; border: 1px solid #00ffff; font-weight: bold; }\n            .legend { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:10px; }\n            .legend-item { display:flex; align-items:center; font-size:10px; }\n            .legend-color { width:10px; height:10px; margin-right:3px; }\n        .popup-info {\n            position: fixed;\n            bottom: 25px;\n            left: 50%;\n            transform: translateX(-50%);\n            background: #111;\n            color: #ffd700;\n            padding: 10px 14px;\n            border-radius: 8px;\n            font-size: 12px;\n            text-align: center;\n            box-shadow: 0 0 12px rgba(255, 215, 0, 0.5);\n            z-index: 9999;\n            display: none;\n            animation: logicFadeIn 0.4s ease-in-out;\n        }\n        @keyframes logicFadeIn {\n            from { opacity: 0; transform: translate(-50%, 10px); }\n            to { opacity: 1; transform: translate(-50%, 0); }\n        }\n        table {\n            width: 100%;\n            border-collapse: collapse;\n            margin-top: 12px;\n        }\n        th {\n            background-color: #ffd700;\n            color: #000;\n            padding: 6px;\n            font-size: 12px;\n        }\n        td {\n            border: 1px solid #eee;\n            text-align: center;\n            padding: 4px;\n            font-size: 11px;\n            transition: 0.3s;\n        }\n        .search-box {\n            display: flex;\n            justify-content: center;\n            margin: 8px 0;\n        }\n        .search-box input {\n            border: 1px solid #ccc;\n            border-radius: 6px 0 0 6px;\n            padding: 4px 8px;\n            font-size: 12px;\n            width: 160px;\n        }\n        .search-box button {\n            background: #00bfff;\n            color: #fff;\n            border: none;\n            padding: 4px 8px;\n            border-radius: 0 6px 6px 0;\n            cursor: pointer;\n            font-size: 12px;\n        }\n        .result-box {\n            margin-top: 15px;\n            padding: 10px;\n            background-color: #f9f9f9;\n            border-radius: 8px;\n            border: 1px solid #ddd;\n        }\n        .result-title {\n            font-weight: bold;\n            color: #000;\n            margin-bottom: 5px;\n        }\n        .result-content {\n            font-size: 12px;\n            color: #333;\n        }\n        .chart-container {\n            margin-top: 10px;\n        }\n        .highlight-day {\n            background-color: #ffd700 !important;\n            font-weight: bold;\n        }\n        .legend {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 8px;\n            margin-top: 10px;\n            justify-content: center;\n        }\n        .legend-item {\n            display: flex;\n            align-items: center;\n            font-size: 10px;\n        }\n        .legend-color {\n            width: 12px;\n            height: 12px;\n            margin-right: 4px;\n            border: 1px solid #ccc;\n        }\n        @media (max-width: 768px) {\n            .logic-container { padding:10px; }\n        }\n        <\/style>\n\n        <script>\n        \/\/ Multi-year meta from PHP\n        var logicChartMeta = {\"byYear\":{\"2020\":[35,82,11,8,35,56,10,15,47,71,70,44,86,33,5,68,90,2,87,24,65,14,32,84,39,17,0,61,58,32,40,90,63,89,83,45,95,16,37,34,88,26,71,19,30,78,80,83,87,69,55,76,94,56,72,4,41,71,71,66,55,90,65,6,61,74,30,5,25,10,86,75,30,72,5,69,21,8,63,44,46,70,92,52,92,91,37,82,44,46,40,42,62,0,37,60,45,45,98,86,91,35,12,38,76,65,19,54,79,86,46,43,87,40,65,46,60,3,42,35,78,93,88,11,70,1,77,18,81,8,38,50,30,88,51,31,97,78,8,3,22,28,40,77,67,83,97,18,99,64,17,8,73,83,83,36,39,50,14,37,21,16,99,47,48,46,88,3,84,71,82,15,51,1,56,66,88,13,60,71,87,77,85,42,74,77,49,99,80,40,48,71,23,95,40,23,46,89,29,53,57,41,65,16,63,86,89,42,88,77,69,53,18,44,66,66,41,13,56,81,91,56,5,34,33,82,86,31,51,98,60,83,22,20,34,56,82,40,83,95,2,19,93,14,32,22,82,48,87,45,6,2,41,23,2,45,13,76,7,48,98,42,0,54,41,74,31,88,3,22,27,54,21,81,10,60,30,22,35,44,12,82,3,35,63,46,79,45,28,14,53,36,97,82,6,42,13,16,42,88,22,39,78,58,5,11,11,27,57,10,75,62,77,2,70,65,11,64,62,58,49,30,75,88,33,80,90,30,96,26,60,79,10,24,80,35,10,91,19,65,78,3,92,72,85,66,84,90,4,87,69,71,43,33],\"2021\":[91,56,89,75,49,52,12,54,25,30,98,62,58,81,27,78,40,54,18,5,27,6,3,23,3,98,97,80,31,12,66,52,82,41,92,34,26,84,22,25,61,25,73,55,95,72,49,27,23,5,80,40,55,2,1,3,14,5,67,10,60,37,82,13,61,99,82,36,89,19,19,82,29,34,92,82,29,69,92,89,41,64,57,64,70,19,1,72,67,84,60,32,49,64,67,38,38,44,14,0,94,17,31,75,72,81,68,76,93,67,26,60,65,65,68,42,33,95,33,75,67,6,28,49,67,73,92,80,27,66,14,61,95,64,13,22,85,83,73,80,87,0,41,12,67,2,62,72,40,21,6,50,2,76,45,42,95,26,46,56,98,65,78,48,15,0,42,56,39,71,57,14,12,68,30,34,96,32,15,24,34,21,91,55,78,27,3,4,61,49,4,54,16,81,68,48,38,92,50,15,21,86,87,87,38,40,74,54,31,39,41,17,19,99,53,59,42,85,29,34,60,78,87,52,65,92,98,44,22,6,4,19,94,57,93,42,79,14,44,70,66,6,74,56,2,1,4,73,95,72,3,51,92,90,9,43,92,96,79,19,96,93,43,5,32,21,15,66,87,59,87,34,15,75,61,61,67,72,80,40,61,35,88,31,54,68,35,73,81,31,20,73,29,11,28,98,12,12,38,50,37,41,58,29,76,65,35,69,38,34,56,68,6,50,81,30,73,2,40,23,5,4,77,26,40,42,33,89,14,92,26,64,30,97,1,56,55,94,79,22,68,55,86,92,81,64,69,18,7,34,74,16,85],\"2022\":[67,96,45,59,97,33,12,80,61,27,94,98,48,30,62,4,61,35,18,92,84,96,93,19,23,2,98,32,28,76,61,33,42,36,96,52,42,39,70,8,23,69,48,52,40,43,83,5,65,8,72,31,73,85,71,44,47,96,89,53,70,13,23,38,79,50,55,44,30,51,82,66,56,72,73,38,37,89,53,93,52,14,19,59,75,19,93,70,58,66,89,54,57,77,61,63,75,46,52,47,60,44,36,87,66,56,34,29,58,94,4,33,88,25,86,81,87,16,26,55,73,29,99,49,18,89,81,89,44,25,17,24,59,0,23,70,98,4,38,69,1,0,39,53,62,46,76,42,59,48,24,49,75,97,62,13,61,38,64,4,12,6,80,48,93,54,0,39,99,15,65,48,22,64,99,45,40,95,69,35,40,49,51,21,57,67,4,45,91,5,51,25,39,25,51,9,83,17,31,66,39,65,24,6,5,84,1,9,3,40,72,98,70,21,30,44,57,99,11,40,96,87,33,48,0,33,46,71,44,4,62,31,14,65,64,7,7,48,47,88,95,37,17,98,21,94,44,47,23,89,29,95,98,25,45,11,52,40,64,52,19,65,66,16,87,2,28,65,38,8,82,97,31,27,58,38,28,88,91,75,5,76,82,54,96,96,40,17,61,79,51,37,39,38,97,89,77,91,55,93,75,45,37,50,87,98,41,22,54,94,94,85,97,44,1,27,7,59,44,3,84,88,53,24,14,35,16,21,74,96,0,44,22,3,88,97,81,94,65,88,38,18,57,65,61,23,1,98,1,61,13,29,8],\"2023\":[85,15,67,81,0,56,59,20,29,29,20,0,27,42,33,83,0,47,31,38,81,20,92,40,27,43,60,80,86,28,13,86,73,35,86,27,1,68,25,33,81,51,95,15,12,73,8,62,19,30,93,30,22,82,71,83,5,76,45,36,49,20,24,93,28,7,45,12,46,49,44,50,34,25,56,12,71,79,68,18,99,95,12,11,73,22,88,77,71,21,28,17,42,25,75,22,64,87,10,7,87,3,1,5,38,74,13,57,24,83,75,22,9,18,95,59,65,81,77,88,23,79,14,48,14,58,38,64,60,77,16,67,87,84,73,29,60,13,32,35,61,2,10,75,32,95,13,0,30,61,69,21,87,62,38,36,0,75,49,55,13,34,9,85,24,9,23,7,27,60,84,88,41,44,26,42,27,70,25,53,43,28,50,77,52,9,40,53,13,68,17,37,31,39,67,7,73,24,67,0,36,3,25,79,83,99,98,79,97,42,36,9,39,83,36,80,38,78,98,65,47,39,44,78,23,63,87,77,89,77,3,56,85,36,98,71,98,60,49,4,42,60,64,95,89,1,46,47,48,74,13,10,33,0,69,59,40,90,30,77,89,77,82,43,65,22,52,36,29,5,58,74,0,5,48,25,89,57,55,66,50,73,80,45,93,37,33,62,78,31,75,87,21,61,74,50,30,1,6,88,70,19,59,60,84,34,8,76,87,56,93,41,21,87,11,74,29,43,75,3,6,28,37,55,60,11,78,76,3,52,55,60,74,53,18,19,24,0,28,47,55,40,85,31,36,11,49,7,75,34,32,1,89],\"2024\":[88,38,66,49,19,56,70,27,18,17,95,34,19,69,50,0,38,3,68,36,82,96,9,45,93,88,74,50,90,24,92,8,67,29,43,13,15,45,11,69,23,22,16,47,54,47,0,72,47,52,38,42,90,19,89,99,52,81,46,83,73,84,52,20,24,17,91,55,46,75,17,37,80,55,5,47,63,96,35,95,96,38,15,7,93,10,85,40,30,68,18,32,69,31,4,79,75,9,64,70,9,16,93,8,40,29,9,29,57,14,92,41,19,95,83,69,53,90,59,90,56,84,47,64,87,81,91,4,7,72,55,30,51,63,74,45,86,50,35,7,96,33,33,13,4,26,8,87,31,24,87,35,79,45,39,43,15,21,18,4,52,11,99,26,30,42,20,90,55,67,46,30,59,6,77,21,68,33,91,2,29,24,76,93,0,16,86,86,37,47,56,56,51,17,4,91,51,55,23,48,26,11,28,62,78,9,52,94,97,55,55,5,73,40,85,90,80,9,57,33,95,88,98,64,33,55,10,0,9,90,53,47,3,13,22,72,66,35,40,87,37,90,51,58,25,64,95,8,41,74,83,91,4,75,42,65,48,56,41,27,8,20,54,85,72,24,10,56,6,50,41,19,24,12,39,95,94,6,72,57,60,35,64,71,6,72,34,42,52,52,38,77,87,81,78,71,98,0,38,70,44,43,38,48,66,86,66,49,17,98,6,29,82,58,62,8,79,35,97,51,31,99,67,17,84,1,32,87,34,68,22,78,64,20,82,91,12,60,13,24,69,40,85,53,71,5,10,70,71,52,23,90,24,82],\"2025\":[46,8,7,85,5,93,95,2,43,64,14,63,13,23,83,24,87,59,59,59,32,0,28,8,39,38,21,5,78,81,94,41,21,15,75,12,98,85,42,92,5,27,76,83,94,42,8,59,75,12,24,31,92,31,29,15,8,69,16,89,58,87,80,46,10,98,92,12,81,87,24,69,21,53,13,75,25,30,21,8,5,49,23,46,45,63,95,99,75,88,81,21,11,7,14,18,74,0,28,0,4,73,83,6,50,87,52,9,98,30,50,82,13,94,6,3,3,24,42,53,81,30,66,8,81,37,74,68,41,76,38,73,68,31,61,20,88,26,74,4,36,94,74,46,66,62,85,80,25,6,1,91,8,31,95,71,59,42,71,38,35,84,82,79,58,87,99,41,67,6,86,67,90,83,22,80,82,53,42,27,47,93,68,39,38,16,65,59,33,85,24,0,50,49,61,20,97,34,8,41,92,22,75,41,16,48,82,71,90,7,22,71,30,40,12,44,17,11,48,95,88,55,21,78,95,6,90,24,68,61,68,2,18,26,16,56,37,86,14,19,35,7,21,10,62,12,87,83,7,38,57,20,79,63,28,19,35,69,2,73,35,32,12,78,55,30,40,37,17,69,98,17,37,16,27,50,26,81,46,3,91,2,68,63,62,43,62,50,38,99,32,80,54,29,14,88,50,62,69,84,0,95,92,18,35,6,23,3,70,31,1,45,9,27,44,99,7,44,71,6,57,32,23,25,70,62,24,71,77,80,87,74,54,54,30,68,54,2,14,3,86,51,64,94,79,47,41,31,10,81,50,63,3],\"2026\":[47,83,29,65,12,90,34,76,58,21,43,88,9,67,25,71,36,54,80,19,62,48,95,13,77,4,56,31,68,22,75,14,39,82,7,61,53,28,44,96,33,70,18,85,24,66,49,11,73,58,2,91,37,64,26,88,15,52,9,67,41,78,23,95,30,84,16,72,55,1,63,27,90,38,74,20,86,47,59,12,68,34,79,5,92,44,41,73,94,6,72,70,6,80,80,57,26,9,76,69,32,18,17,40,77,37,13,76,21,74,59,58,29,7,64,85,45,0,15,66,4,71,18,59,58,28,92,68,32,39,60,87,71,38,28,28,76,72,4,21,98,75,63,18,56,20,3,65,21,8,35,52,20,39,96,14,51,74,23,38,44,90,31,82,26,84,55,91,40,42,67,67,12,7,45,15,30,30,87,82,39,24,56,25,98,43,11,2,10,63,80,46,75,97,41,80,89,95,90,9,86,24,11,41,4,87,56,21,20,32,10,1,33,68,73,50,33,85,69,70,65,65,9,20,4,55,95,39,78,87,9,22,5,92,78,39,35,10,8,15,20,46,72,20,15,90,82,73,3,2,2,96,61,19]},\"byDate\":{\"01-01\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[35,91,67,85,88,46,47]},\"01-02\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[82,56,96,15,38,8,83]},\"01-03\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[11,89,45,67,66,7,29]},\"01-04\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[8,75,59,81,49,85,65]},\"01-05\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[35,49,97,0,19,5,12]},\"01-06\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[56,52,33,56,56,93,90]},\"01-07\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[10,12,12,59,70,95,34]},\"01-08\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[15,54,80,20,27,2,76]},\"01-09\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[47,25,61,29,18,43,58]},\"01-10\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[71,30,27,29,17,64,21]},\"01-11\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[70,98,94,20,95,14,43]},\"01-12\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[44,62,98,0,34,63,88]},\"01-13\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[86,58,48,27,19,13,9]},\"01-14\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[33,81,30,42,69,23,67]},\"01-15\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[5,27,62,33,50,83,25]},\"01-16\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[68,78,4,83,0,24,71]},\"01-17\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[90,40,61,0,38,87,36]},\"01-18\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[2,54,35,47,3,59,54]},\"01-19\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[87,18,18,31,68,59,80]},\"01-20\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[24,5,92,38,36,59,19]},\"01-21\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[65,27,84,81,82,32,62]},\"01-22\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[14,6,96,20,96,0,48]},\"01-23\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[32,3,93,92,9,28,95]},\"01-24\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[84,23,19,40,45,8,13]},\"01-25\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[39,3,23,27,93,39,77]},\"01-26\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[17,98,2,43,88,38,4]},\"01-27\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[0,97,98,60,74,21,56]},\"01-28\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[61,80,32,80,50,5,31]},\"01-29\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[58,31,28,86,90,78,68]},\"01-30\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[32,12,76,28,24,81,22]},\"02-01\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[40,66,61,13,92,94,75]},\"02-02\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[90,52,33,86,8,41,14]},\"02-03\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[63,82,42,73,67,21,39]},\"02-04\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[89,41,36,35,29,15,82]},\"02-05\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[83,92,96,86,43,75,7]},\"02-06\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[45,34,52,27,13,12,61]},\"02-07\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[95,26,42,1,15,98,53]},\"02-08\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[16,84,39,68,45,85,28]},\"02-09\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[37,22,70,25,11,42,44]},\"02-10\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[34,25,8,33,69,92,96]},\"02-11\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[88,61,23,81,23,5,33]},\"02-12\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[26,25,69,51,22,27,70]},\"02-13\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[71,73,48,95,16,76,18]},\"02-14\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[19,55,52,15,47,83,85]},\"02-15\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[30,95,40,12,54,94,24]},\"02-16\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[78,72,43,73,47,42,66]},\"02-17\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[80,49,83,8,0,8,49]},\"02-18\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[83,27,5,62,72,59,11]},\"02-19\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[87,23,65,19,47,75,73]},\"02-20\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[69,5,8,30,52,12,58]},\"02-21\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[55,80,72,93,38,24,2]},\"02-22\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[76,40,31,30,42,31,91]},\"02-23\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[94,55,73,22,90,92,37]},\"02-24\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[56,2,85,82,19,31,64]},\"02-25\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[72,1,71,71,89,29,26]},\"02-26\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[4,3,44,83,99,15,88]},\"02-27\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[41,14,47,5,52,8,15]},\"02-28\":{\"years\":[2020,2024],\"numbers\":[71,81]},\"03-01\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[71,5,96,76,46,69,52]},\"03-02\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[66,67,89,45,83,16,9]},\"03-03\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[55,10,53,36,73,89,67]},\"03-04\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[90,60,70,49,84,58,41]},\"03-05\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[65,37,13,20,52,87,78]},\"03-06\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[6,82,23,24,20,80,23]},\"03-07\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[61,13,38,93,24,46,95]},\"03-08\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[74,61,79,28,17,10,30]},\"03-09\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[30,99,50,7,91,98,84]},\"03-10\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[5,82,55,45,55,92,16]},\"03-11\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[25,36,44,12,46,12,72]},\"03-12\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[10,89,30,46,75,81,55]},\"03-13\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[86,19,51,49,17,87,1]},\"03-14\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[75,19,82,44,37,24,63]},\"03-15\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[30,82,66,50,80,69,27]},\"03-16\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[72,29,56,34,55,21,90]},\"03-17\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[5,34,72,25,5,53,38]},\"03-18\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[69,92,73,56,47,13,74]},\"03-19\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[21,82,38,12,63,75,20]},\"03-20\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[8,29,37,71,96,25,86]},\"03-21\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[63,69,89,79,35,30,47]},\"03-22\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[44,92,53,68,95,21,59]},\"03-23\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[46,89,93,18,96,8,12]},\"03-24\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[70,41,52,99,38,5,68]},\"03-25\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[92,64,14,95,15,49,34]},\"03-26\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[52,57,19,12,7,23,79]},\"03-27\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[92,64,59,11,93,46,5]},\"03-28\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[91,70,75,73,10,45,92]},\"03-29\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[37,19,19,22,85,63,44]},\"03-30\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[82,1,93,88,40,95,41]},\"04-01\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[44,72,70,77,30,99,73]},\"04-02\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[46,67,58,71,68,75,94]},\"04-03\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[40,84,66,21,18,88,6]},\"04-04\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[42,60,89,28,32,81,72]},\"04-05\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[62,32,54,17,69,21,70]},\"04-06\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[0,49,57,42,31,11,6]},\"04-07\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[37,64,77,25,4,7,80]},\"04-08\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[60,67,61,75,79,14,80]},\"04-09\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[45,38,63,22,75,18,57]},\"04-10\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[45,38,75,64,9,74,26]},\"04-11\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[98,44,46,87,64,0,9]},\"04-12\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[86,14,52,10,70,28,76]},\"04-13\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[91,0,47,7,9,0,69]},\"04-14\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[35,94,60,87,16,4,32]},\"04-15\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[12,17,44,3,93,73,18]},\"04-16\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[38,31,36,1,8,83,17]},\"04-17\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[76,75,87,5,40,6,40]},\"04-18\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[65,72,66,38,29,50,77]},\"04-19\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[19,81,56,74,9,87,37]},\"04-20\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[54,68,34,13,29,52,13]},\"04-21\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[79,76,29,57,57,9,76]},\"04-22\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[86,93,58,24,14,98,21]},\"04-23\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[46,67,94,83,92,30,74]},\"04-24\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[43,26,4,75,41,50,59]},\"04-25\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[87,60,33,22,19,82,58]},\"04-26\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[40,65,88,9,95,13,29]},\"04-27\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[65,65,25,18,83,94,7]},\"04-28\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[46,68,86,95,69,6,64]},\"04-29\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[60,42,81,59,53,3,85]},\"05-01\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[3,33,87,65,90,3,45]},\"05-02\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[42,95,16,81,59,24,0]},\"05-03\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[35,33,26,77,90,42,15]},\"05-04\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[78,75,55,88,56,53,66]},\"05-05\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[93,67,73,23,84,81,4]},\"05-06\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[88,6,29,79,47,30,71]},\"05-07\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[11,28,99,14,64,66,18]},\"05-08\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[70,49,49,48,87,8,59]},\"05-09\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[1,67,18,14,81,81,58]},\"05-10\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[77,73,89,58,91,37,28]},\"05-11\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[18,92,81,38,4,74,92]},\"05-12\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[81,80,89,64,7,68,68]},\"05-13\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[8,27,44,60,72,41,32]},\"05-14\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[38,66,25,77,55,76,39]},\"05-15\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[50,14,17,16,30,38,60]},\"05-16\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[30,61,24,67,51,73,87]},\"05-17\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[88,95,59,87,63,68,71]},\"05-18\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[51,64,0,84,74,31,38]},\"05-19\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[31,13,23,73,45,61,28]},\"05-20\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[97,22,70,29,86,20,28]},\"05-21\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[78,85,98,60,50,88,76]},\"05-22\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[8,83,4,13,35,26,72]},\"05-23\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[3,73,38,32,7,74,4]},\"05-24\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[22,80,69,35,96,4,21]},\"05-25\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[28,87,1,61,33,36,98]},\"05-26\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[40,0,0,2,33,94,75]},\"05-27\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[77,41,39,10,13,74,63]},\"05-28\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[67,12,53,75,4,46,18]},\"05-29\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[83,67,62,32,26,66,56]},\"05-30\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[97,2,46,95,8,62,20]},\"06-01\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[18,62,76,13,87,85,3]},\"06-02\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[99,72,42,0,31,80,65]},\"06-03\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[64,40,59,30,24,25,21]},\"06-04\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[17,21,48,61,87,6,8]},\"06-05\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[8,6,24,69,35,1,35]},\"06-06\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[73,50,49,21,79,91,52]},\"06-07\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[83,2,75,87,45,8,20]},\"06-08\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[83,76,97,62,39,31,39]},\"06-09\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[36,45,62,38,43,95,96]},\"06-10\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[39,42,13,36,15,71,14]},\"06-11\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[50,95,61,0,21,59,51]},\"06-12\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[14,26,38,75,18,42,74]},\"06-13\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[37,46,64,49,4,71,23]},\"06-14\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[21,56,4,55,52,38,38]},\"06-15\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[16,98,12,13,11,35,44]},\"06-16\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[99,65,6,34,99,84,90]},\"06-17\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[47,78,80,9,26,82,31]},\"06-18\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[48,48,48,85,30,79,82]},\"06-19\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[46,15,93,24,42,58,26]},\"06-20\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[88,0,54,9,20,87,84]},\"06-21\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[3,42,0,23,90,99,55]},\"06-22\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[84,56,39,7,55,41,91]},\"06-23\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[71,39,99,27,67,67,40]},\"06-24\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[82,71,15,60,46,6,42]},\"06-25\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[15,57,65,84,30,86,67]},\"06-26\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[51,14,48,88,59,67,67]},\"06-27\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[1,12,22,41,6,90,12]},\"06-28\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[56,68,64,44,77,83,7]},\"06-29\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[66,30,99,26,21,22,45]},\"07-01\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[88,34,45,42,68,80,15]},\"07-02\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[13,96,40,27,33,82,30]},\"07-03\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[60,32,95,70,91,53,30]},\"07-04\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[71,15,69,25,2,42,87]},\"07-05\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[87,24,35,53,29,27,82]},\"07-06\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[77,34,40,43,24,47,39]},\"07-07\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[85,21,49,28,76,93,24]},\"07-08\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[42,91,51,50,93,68,56]},\"07-09\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[74,55,21,77,0,39,25]},\"07-10\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[77,78,57,52,16,38,98]},\"07-11\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[49,27,67,9,86,16,43]},\"07-12\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[99,3,4,40,86,65,11]},\"07-13\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[80,4,45,53,37,59,2]},\"07-14\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[40,61,91,13,47,33,10]},\"07-15\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[48,49,5,68,56,85,63]},\"07-16\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[71,4,51,17,56,24,80]},\"07-17\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[23,54,25,37,51,0,46]},\"07-18\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[95,16,39,31,17,50,75]},\"07-19\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[40,81,25,39,4,49,97]},\"07-20\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[23,68,51,67,91,61,41]},\"07-21\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[46,48,9,7,51,20,80]},\"07-22\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[89,38,83,73,55,97,89]},\"07-23\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[29,92,17,24,23,34,95]},\"07-24\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[53,50,31,67,48,8,90]},\"07-25\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[57,15,66,0,26,41,9]},\"07-26\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[41,21,39,36,11,92,86]},\"07-27\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[65,86,65,3,28,22,24]},\"07-28\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[16,87,24,25,62,75,11]},\"07-29\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[63,87,6,79,78,41,41]},\"07-30\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[86,38,5,83,9,16,4]},\"08-01\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[89,40,84,99,52,48,87]},\"08-02\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[42,74,1,98,94,82,56]},\"08-03\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[88,54,9,79,97,71,21]},\"08-04\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[77,31,3,97,55,90,20]},\"08-05\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[69,39,40,42,55,7,32]},\"08-06\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[53,41,72,36,5,22,10]},\"08-07\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[18,17,98,9,73,71,1]},\"08-08\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[44,19,70,39,40,30,33]},\"08-09\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[66,99,21,83,85,40,68]},\"08-10\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[66,53,30,36,90,12,73]},\"08-11\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[41,59,44,80,80,44,50]},\"08-12\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[13,42,57,38,9,17,33]},\"08-13\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[56,85,99,78,57,11,85]},\"08-14\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[81,29,11,98,33,48,69]},\"08-15\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[91,34,40,65,95,95,70]},\"08-16\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[56,60,96,47,88,88,65]},\"08-17\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[5,78,87,39,98,55,65]},\"08-18\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[34,87,33,44,64,21,9]},\"08-19\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[33,52,48,78,33,78,20]},\"08-20\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[82,65,0,23,55,95,4]},\"08-21\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[86,92,33,63,10,6,55]},\"08-22\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[31,98,46,87,0,90,95]},\"08-23\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[51,44,71,77,9,24,39]},\"08-24\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[98,22,44,89,90,68,78]},\"08-25\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[60,6,4,77,53,61,87]},\"08-26\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[83,4,62,3,47,68,9]},\"08-27\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[22,19,31,56,3,2,22]},\"08-28\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[20,94,14,85,13,18,5]},\"08-29\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[34,57,65,36,22,26,92]},\"08-30\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[56,93,64,98,72,16,78]},\"09-01\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[82,42,7,71,66,56,39]},\"09-02\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[40,79,7,98,35,37,35]},\"09-03\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[83,14,48,60,40,86,10]},\"09-04\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[95,44,47,49,87,14,8]},\"09-05\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[2,70,88,4,37,19,15]},\"09-06\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[19,66,95,42,90,35,20]},\"09-07\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[93,6,37,60,51,7,46]},\"09-08\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[14,74,17,64,58,21,72]},\"09-09\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[32,56,98,95,25,10,20]},\"09-10\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[22,2,21,89,64,62,15]},\"09-11\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[82,1,94,1,95,12,90]},\"09-12\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[48,4,44,46,8,87,82]},\"09-13\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[87,73,47,47,41,83,73]},\"09-14\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[45,95,23,48,74,7,3]},\"09-15\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[6,72,89,74,83,38,2]},\"09-16\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[2,3,29,13,91,57,2]},\"09-17\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[41,51,95,10,4,20,96]},\"09-18\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[23,92,98,33,75,79,61]},\"09-19\":{\"years\":[2020,2021,2022,2023,2024,2025,2026],\"numbers\":[2,90,25,0,42,63,19]},\"09-20\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[45,9,45,69,65,28]},\"09-21\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[13,43,11,59,48,19]},\"09-22\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[76,92,52,40,56,35]},\"09-23\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[7,96,40,90,41,69]},\"09-24\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[48,79,64,30,27,2]},\"09-25\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[98,19,52,77,8,73]},\"09-26\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[42,96,19,89,20,35]},\"09-27\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[0,93,65,77,54,32]},\"09-28\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[54,43,66,82,85,12]},\"09-29\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[41,5,16,43,72,78]},\"10-01\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[74,32,87,65,24,55]},\"10-02\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[31,21,2,22,10,30]},\"10-03\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[88,15,28,52,56,40]},\"10-04\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[3,66,65,36,6,37]},\"10-05\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[22,87,38,29,50,17]},\"10-06\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[27,59,8,5,41,69]},\"10-07\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[54,87,82,58,19,98]},\"10-08\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[21,34,97,74,24,17]},\"10-09\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[81,15,31,0,12,37]},\"10-10\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[10,75,27,5,39,16]},\"10-11\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[60,61,58,48,95,27]},\"10-12\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[30,61,38,25,94,50]},\"10-13\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[22,67,28,89,6,26]},\"10-14\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[35,72,88,57,72,81]},\"10-15\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[44,80,91,55,57,46]},\"10-16\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[12,40,75,66,60,3]},\"10-17\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[82,61,5,50,35,91]},\"10-18\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[3,35,76,73,64,2]},\"10-19\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[35,88,82,80,71,68]},\"10-20\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[63,31,54,45,6,63]},\"10-21\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[46,54,96,93,72,62]},\"10-22\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[79,68,96,37,34,43]},\"10-23\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[45,35,40,33,42,62]},\"10-24\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[28,73,17,62,52,50]},\"10-25\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[14,81,61,78,52,38]},\"10-26\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[53,31,79,31,38,99]},\"10-27\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[36,20,51,75,77,32]},\"10-28\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[97,73,37,87,87,80]},\"10-29\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[82,29,39,21,81,54]},\"10-30\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[6,11,38,61,78,29]},\"11-01\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[42,28,97,74,71,14]},\"11-02\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[13,98,89,50,98,88]},\"11-03\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[16,12,77,30,0,50]},\"11-04\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[42,12,91,1,38,62]},\"11-05\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[88,38,55,6,70,69]},\"11-06\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[22,50,93,88,44,84]},\"11-07\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[39,37,75,70,43,0]},\"11-08\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[78,41,45,19,38,95]},\"11-09\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[58,58,37,59,48,92]},\"11-10\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[5,29,50,60,66,18]},\"11-11\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[11,76,87,84,86,35]},\"11-12\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[11,65,98,34,66,6]},\"11-13\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[27,35,41,8,49,23]},\"11-14\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[57,69,22,76,17,3]},\"11-15\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[10,38,54,87,98,70]},\"11-16\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[75,34,94,56,6,31]},\"11-17\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[62,56,94,93,29,1]},\"11-18\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[77,68,85,41,82,45]},\"11-19\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[2,6,97,21,58,9]},\"11-20\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[70,50,44,87,62,27]},\"11-21\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[65,81,1,11,8,44]},\"11-22\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[11,30,27,74,79,99]},\"11-23\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[64,73,7,29,35,7]},\"11-24\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[62,2,59,43,97,44]},\"11-25\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[58,40,44,75,51,71]},\"11-26\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[49,23,3,3,31,6]},\"11-27\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[30,5,84,6,99,57]},\"11-28\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[75,4,88,28,67,32]},\"11-29\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[88,77,53,37,17,23]},\"12-01\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[33,26,24,55,84,25]},\"12-02\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[80,40,14,60,1,70]},\"12-03\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[90,42,35,11,32,62]},\"12-04\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[30,33,16,78,87,24]},\"12-05\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[96,89,21,76,34,71]},\"12-06\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[26,14,74,3,68,77]},\"12-07\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[60,92,96,52,22,80]},\"12-08\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[79,26,0,55,78,87]},\"12-09\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[10,64,44,60,64,74]},\"12-10\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[24,30,22,74,20,54]},\"12-11\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[80,97,3,53,82,54]},\"12-12\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[35,1,88,18,91,30]},\"12-13\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[10,56,97,19,12,68]},\"12-14\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[91,55,81,24,60,54]},\"12-15\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[19,94,94,0,13,2]},\"12-16\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[65,79,65,28,24,14]},\"12-17\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[78,22,88,47,69,3]},\"12-18\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[3,68,38,55,40,86]},\"12-19\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[92,55,18,40,85,51]},\"12-20\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[72,86,57,85,53,64]},\"12-21\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[85,92,65,31,71,94]},\"12-22\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[66,81,61,36,5,79]},\"12-23\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[84,64,23,11,10,47]},\"12-24\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[90,69,1,49,70,41]},\"12-25\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[4,18,98,7,71,31]},\"12-26\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[87,7,1,75,52,10]},\"12-27\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[69,34,61,34,23,81]},\"12-28\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[71,74,13,32,90,50]},\"12-29\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[43,16,29,1,24,63]},\"12-30\":{\"years\":[2020,2021,2022,2023,2024,2025],\"numbers\":[33,85,8,89,82,3]}},\"timeline\":[35,82,11,8,35,56,10,15,47,71,70,44,86,33,5,68,90,2,87,24,65,14,32,84,39,17,0,61,58,32,40,90,63,89,83,45,95,16,37,34,88,26,71,19,30,78,80,83,87,69,55,76,94,56,72,4,41,71,71,66,55,90,65,6,61,74,30,5,25,10,86,75,30,72,5,69,21,8,63,44,46,70,92,52,92,91,37,82,44,46,40,42,62,0,37,60,45,45,98,86,91,35,12,38,76,65,19,54,79,86,46,43,87,40,65,46,60,3,42,35,78,93,88,11,70,1,77,18,81,8,38,50,30,88,51,31,97,78,8,3,22,28,40,77,67,83,97,18,99,64,17,8,73,83,83,36,39,50,14,37,21,16,99,47,48,46,88,3,84,71,82,15,51,1,56,66,88,13,60,71,87,77,85,42,74,77,49,99,80,40,48,71,23,95,40,23,46,89,29,53,57,41,65,16,63,86,89,42,88,77,69,53,18,44,66,66,41,13,56,81,91,56,5,34,33,82,86,31,51,98,60,83,22,20,34,56,82,40,83,95,2,19,93,14,32,22,82,48,87,45,6,2,41,23,2,45,13,76,7,48,98,42,0,54,41,74,31,88,3,22,27,54,21,81,10,60,30,22,35,44,12,82,3,35,63,46,79,45,28,14,53,36,97,82,6,42,13,16,42,88,22,39,78,58,5,11,11,27,57,10,75,62,77,2,70,65,11,64,62,58,49,30,75,88,33,80,90,30,96,26,60,79,10,24,80,35,10,91,19,65,78,3,92,72,85,66,84,90,4,87,69,71,43,33,91,56,89,75,49,52,12,54,25,30,98,62,58,81,27,78,40,54,18,5,27,6,3,23,3,98,97,80,31,12,66,52,82,41,92,34,26,84,22,25,61,25,73,55,95,72,49,27,23,5,80,40,55,2,1,3,14,5,67,10,60,37,82,13,61,99,82,36,89,19,19,82,29,34,92,82,29,69,92,89,41,64,57,64,70,19,1,72,67,84,60,32,49,64,67,38,38,44,14,0,94,17,31,75,72,81,68,76,93,67,26,60,65,65,68,42,33,95,33,75,67,6,28,49,67,73,92,80,27,66,14,61,95,64,13,22,85,83,73,80,87,0,41,12,67,2,62,72,40,21,6,50,2,76,45,42,95,26,46,56,98,65,78,48,15,0,42,56,39,71,57,14,12,68,30,34,96,32,15,24,34,21,91,55,78,27,3,4,61,49,4,54,16,81,68,48,38,92,50,15,21,86,87,87,38,40,74,54,31,39,41,17,19,99,53,59,42,85,29,34,60,78,87,52,65,92,98,44,22,6,4,19,94,57,93,42,79,14,44,70,66,6,74,56,2,1,4,73,95,72,3,51,92,90,9,43,92,96,79,19,96,93,43,5,32,21,15,66,87,59,87,34,15,75,61,61,67,72,80,40,61,35,88,31,54,68,35,73,81,31,20,73,29,11,28,98,12,12,38,50,37,41,58,29,76,65,35,69,38,34,56,68,6,50,81,30,73,2,40,23,5,4,77,26,40,42,33,89,14,92,26,64,30,97,1,56,55,94,79,22,68,55,86,92,81,64,69,18,7,34,74,16,85,67,96,45,59,97,33,12,80,61,27,94,98,48,30,62,4,61,35,18,92,84,96,93,19,23,2,98,32,28,76,61,33,42,36,96,52,42,39,70,8,23,69,48,52,40,43,83,5,65,8,72,31,73,85,71,44,47,96,89,53,70,13,23,38,79,50,55,44,30,51,82,66,56,72,73,38,37,89,53,93,52,14,19,59,75,19,93,70,58,66,89,54,57,77,61,63,75,46,52,47,60,44,36,87,66,56,34,29,58,94,4,33,88,25,86,81,87,16,26,55,73,29,99,49,18,89,81,89,44,25,17,24,59,0,23,70,98,4,38,69,1,0,39,53,62,46,76,42,59,48,24,49,75,97,62,13,61,38,64,4,12,6,80,48,93,54,0,39,99,15,65,48,22,64,99,45,40,95,69,35,40,49,51,21,57,67,4,45,91,5,51,25,39,25,51,9,83,17,31,66,39,65,24,6,5,84,1,9,3,40,72,98,70,21,30,44,57,99,11,40,96,87,33,48,0,33,46,71,44,4,62,31,14,65,64,7,7,48,47,88,95,37,17,98,21,94,44,47,23,89,29,95,98,25,45,11,52,40,64,52,19,65,66,16,87,2,28,65,38,8,82,97,31,27,58,38,28,88,91,75,5,76,82,54,96,96,40,17,61,79,51,37,39,38,97,89,77,91,55,93,75,45,37,50,87,98,41,22,54,94,94,85,97,44,1,27,7,59,44,3,84,88,53,24,14,35,16,21,74,96,0,44,22,3,88,97,81,94,65,88,38,18,57,65,61,23,1,98,1,61,13,29,8,85,15,67,81,0,56,59,20,29,29,20,0,27,42,33,83,0,47,31,38,81,20,92,40,27,43,60,80,86,28,13,86,73,35,86,27,1,68,25,33,81,51,95,15,12,73,8,62,19,30,93,30,22,82,71,83,5,76,45,36,49,20,24,93,28,7,45,12,46,49,44,50,34,25,56,12,71,79,68,18,99,95,12,11,73,22,88,77,71,21,28,17,42,25,75,22,64,87,10,7,87,3,1,5,38,74,13,57,24,83,75,22,9,18,95,59,65,81,77,88,23,79,14,48,14,58,38,64,60,77,16,67,87,84,73,29,60,13,32,35,61,2,10,75,32,95,13,0,30,61,69,21,87,62,38,36,0,75,49,55,13,34,9,85,24,9,23,7,27,60,84,88,41,44,26,42,27,70,25,53,43,28,50,77,52,9,40,53,13,68,17,37,31,39,67,7,73,24,67,0,36,3,25,79,83,99,98,79,97,42,36,9,39,83,36,80,38,78,98,65,47,39,44,78,23,63,87,77,89,77,3,56,85,36,98,71,98,60,49,4,42,60,64,95,89,1,46,47,48,74,13,10,33,0,69,59,40,90,30,77,89,77,82,43,65,22,52,36,29,5,58,74,0,5,48,25,89,57,55,66,50,73,80,45,93,37,33,62,78,31,75,87,21,61,74,50,30,1,6,88,70,19,59,60,84,34,8,76,87,56,93,41,21,87,11,74,29,43,75,3,6,28,37,55,60,11,78,76,3,52,55,60,74,53,18,19,24,0,28,47,55,40,85,31,36,11,49,7,75,34,32,1,89,88,38,66,49,19,56,70,27,18,17,95,34,19,69,50,0,38,3,68,36,82,96,9,45,93,88,74,50,90,24,92,8,67,29,43,13,15,45,11,69,23,22,16,47,54,47,0,72,47,52,38,42,90,19,89,99,52,81,46,83,73,84,52,20,24,17,91,55,46,75,17,37,80,55,5,47,63,96,35,95,96,38,15,7,93,10,85,40,30,68,18,32,69,31,4,79,75,9,64,70,9,16,93,8,40,29,9,29,57,14,92,41,19,95,83,69,53,90,59,90,56,84,47,64,87,81,91,4,7,72,55,30,51,63,74,45,86,50,35,7,96,33,33,13,4,26,8,87,31,24,87,35,79,45,39,43,15,21,18,4,52,11,99,26,30,42,20,90,55,67,46,30,59,6,77,21,68,33,91,2,29,24,76,93,0,16,86,86,37,47,56,56,51,17,4,91,51,55,23,48,26,11,28,62,78,9,52,94,97,55,55,5,73,40,85,90,80,9,57,33,95,88,98,64,33,55,10,0,9,90,53,47,3,13,22,72,66,35,40,87,37,90,51,58,25,64,95,8,41,74,83,91,4,75,42,65,48,56,41,27,8,20,54,85,72,24,10,56,6,50,41,19,24,12,39,95,94,6,72,57,60,35,64,71,6,72,34,42,52,52,38,77,87,81,78,71,98,0,38,70,44,43,38,48,66,86,66,49,17,98,6,29,82,58,62,8,79,35,97,51,31,99,67,17,84,1,32,87,34,68,22,78,64,20,82,91,12,60,13,24,69,40,85,53,71,5,10,70,71,52,23,90,24,82,46,8,7,85,5,93,95,2,43,64,14,63,13,23,83,24,87,59,59,59,32,0,28,8,39,38,21,5,78,81,94,41,21,15,75,12,98,85,42,92,5,27,76,83,94,42,8,59,75,12,24,31,92,31,29,15,8,69,16,89,58,87,80,46,10,98,92,12,81,87,24,69,21,53,13,75,25,30,21,8,5,49,23,46,45,63,95,99,75,88,81,21,11,7,14,18,74,0,28,0,4,73,83,6,50,87,52,9,98,30,50,82,13,94,6,3,3,24,42,53,81,30,66,8,81,37,74,68,41,76,38,73,68,31,61,20,88,26,74,4,36,94,74,46,66,62,85,80,25,6,1,91,8,31,95,71,59,42,71,38,35,84,82,79,58,87,99,41,67,6,86,67,90,83,22,80,82,53,42,27,47,93,68,39,38,16,65,59,33,85,24,0,50,49,61,20,97,34,8,41,92,22,75,41,16,48,82,71,90,7,22,71,30,40,12,44,17,11,48,95,88,55,21,78,95,6,90,24,68,61,68,2,18,26,16,56,37,86,14,19,35,7,21,10,62,12,87,83,7,38,57,20,79,63,28,19,35,69,2,73,35,32,12,78,55,30,40,37,17,69,98,17,37,16,27,50,26,81,46,3,91,2,68,63,62,43,62,50,38,99,32,80,54,29,14,88,50,62,69,84,0,95,92,18,35,6,23,3,70,31,1,45,9,27,44,99,7,44,71,6,57,32,23,25,70,62,24,71,77,80,87,74,54,54,30,68,54,2,14,3,86,51,64,94,79,47,41,31,10,81,50,63,3,47,83,29,65,12,90,34,76,58,21,43,88,9,67,25,71,36,54,80,19,62,48,95,13,77,4,56,31,68,22,75,14,39,82,7,61,53,28,44,96,33,70,18,85,24,66,49,11,73,58,2,91,37,64,26,88,15,52,9,67,41,78,23,95,30,84,16,72,55,1,63,27,90,38,74,20,86,47,59,12,68,34,79,5,92,44,41,73,94,6,72,70,6,80,80,57,26,9,76,69,32,18,17,40,77,37,13,76,21,74,59,58,29,7,64,85,45,0,15,66,4,71,18,59,58,28,92,68,32,39,60,87,71,38,28,28,76,72,4,21,98,75,63,18,56,20,3,65,21,8,35,52,20,39,96,14,51,74,23,38,44,90,31,82,26,84,55,91,40,42,67,67,12,7,45,15,30,30,87,82,39,24,56,25,98,43,11,2,10,63,80,46,75,97,41,80,89,95,90,9,86,24,11,41,4,87,56,21,20,32,10,1,33,68,73,50,33,85,69,70,65,65,9,20,4,55,95,39,78,87,9,22,5,92,78,39,35,10,8,15,20,46,72,20,15,90,82,73,3,2,2,96,61,19],\"timelineDates\":[{\"year\":2020,\"month\":1,\"day\":1},{\"year\":2020,\"month\":1,\"day\":2},{\"year\":2020,\"month\":1,\"day\":3},{\"year\":2020,\"month\":1,\"day\":4},{\"year\":2020,\"month\":1,\"day\":5},{\"year\":2020,\"month\":1,\"day\":6},{\"year\":2020,\"month\":1,\"day\":7},{\"year\":2020,\"month\":1,\"day\":8},{\"year\":2020,\"month\":1,\"day\":9},{\"year\":2020,\"month\":1,\"day\":10},{\"year\":2020,\"month\":1,\"day\":11},{\"year\":2020,\"month\":1,\"day\":12},{\"year\":2020,\"month\":1,\"day\":13},{\"year\":2020,\"month\":1,\"day\":14},{\"year\":2020,\"month\":1,\"day\":15},{\"year\":2020,\"month\":1,\"day\":16},{\"year\":2020,\"month\":1,\"day\":17},{\"year\":2020,\"month\":1,\"day\":18},{\"year\":2020,\"month\":1,\"day\":19},{\"year\":2020,\"month\":1,\"day\":20},{\"year\":2020,\"month\":1,\"day\":21},{\"year\":2020,\"month\":1,\"day\":22},{\"year\":2020,\"month\":1,\"day\":23},{\"year\":2020,\"month\":1,\"day\":24},{\"year\":2020,\"month\":1,\"day\":25},{\"year\":2020,\"month\":1,\"day\":26},{\"year\":2020,\"month\":1,\"day\":27},{\"year\":2020,\"month\":1,\"day\":28},{\"year\":2020,\"month\":1,\"day\":29},{\"year\":2020,\"month\":1,\"day\":30},{\"year\":2020,\"month\":2,\"day\":1},{\"year\":2020,\"month\":2,\"day\":2},{\"year\":2020,\"month\":2,\"day\":3},{\"year\":2020,\"month\":2,\"day\":4},{\"year\":2020,\"month\":2,\"day\":5},{\"year\":2020,\"month\":2,\"day\":6},{\"year\":2020,\"month\":2,\"day\":7},{\"year\":2020,\"month\":2,\"day\":8},{\"year\":2020,\"month\":2,\"day\":9},{\"year\":2020,\"month\":2,\"day\":10},{\"year\":2020,\"month\":2,\"day\":11},{\"year\":2020,\"month\":2,\"day\":12},{\"year\":2020,\"month\":2,\"day\":13},{\"year\":2020,\"month\":2,\"day\":14},{\"year\":2020,\"month\":2,\"day\":15},{\"year\":2020,\"month\":2,\"day\":16},{\"year\":2020,\"month\":2,\"day\":17},{\"year\":2020,\"month\":2,\"day\":18},{\"year\":2020,\"month\":2,\"day\":19},{\"year\":2020,\"month\":2,\"day\":20},{\"year\":2020,\"month\":2,\"day\":21},{\"year\":2020,\"month\":2,\"day\":22},{\"year\":2020,\"month\":2,\"day\":23},{\"year\":2020,\"month\":2,\"day\":24},{\"year\":2020,\"month\":2,\"day\":25},{\"year\":2020,\"month\":2,\"day\":26},{\"year\":2020,\"month\":2,\"day\":27},{\"year\":2020,\"month\":2,\"day\":28},{\"year\":2020,\"month\":3,\"day\":1},{\"year\":2020,\"month\":3,\"day\":2},{\"year\":2020,\"month\":3,\"day\":3},{\"year\":2020,\"month\":3,\"day\":4},{\"year\":2020,\"month\":3,\"day\":5},{\"year\":2020,\"month\":3,\"day\":6},{\"year\":2020,\"month\":3,\"day\":7},{\"year\":2020,\"month\":3,\"day\":8},{\"year\":2020,\"month\":3,\"day\":9},{\"year\":2020,\"month\":3,\"day\":10},{\"year\":2020,\"month\":3,\"day\":11},{\"year\":2020,\"month\":3,\"day\":12},{\"year\":2020,\"month\":3,\"day\":13},{\"year\":2020,\"month\":3,\"day\":14},{\"year\":2020,\"month\":3,\"day\":15},{\"year\":2020,\"month\":3,\"day\":16},{\"year\":2020,\"month\":3,\"day\":17},{\"year\":2020,\"month\":3,\"day\":18},{\"year\":2020,\"month\":3,\"day\":19},{\"year\":2020,\"month\":3,\"day\":20},{\"year\":2020,\"month\":3,\"day\":21},{\"year\":2020,\"month\":3,\"day\":22},{\"year\":2020,\"month\":3,\"day\":23},{\"year\":2020,\"month\":3,\"day\":24},{\"year\":2020,\"month\":3,\"day\":25},{\"year\":2020,\"month\":3,\"day\":26},{\"year\":2020,\"month\":3,\"day\":27},{\"year\":2020,\"month\":3,\"day\":28},{\"year\":2020,\"month\":3,\"day\":29},{\"year\":2020,\"month\":3,\"day\":30},{\"year\":2020,\"month\":4,\"day\":1},{\"year\":2020,\"month\":4,\"day\":2},{\"year\":2020,\"month\":4,\"day\":3},{\"year\":2020,\"month\":4,\"day\":4},{\"year\":2020,\"month\":4,\"day\":5},{\"year\":2020,\"month\":4,\"day\":6},{\"year\":2020,\"month\":4,\"day\":7},{\"year\":2020,\"month\":4,\"day\":8},{\"year\":2020,\"month\":4,\"day\":9},{\"year\":2020,\"month\":4,\"day\":10},{\"year\":2020,\"month\":4,\"day\":11},{\"year\":2020,\"month\":4,\"day\":12},{\"year\":2020,\"month\":4,\"day\":13},{\"year\":2020,\"month\":4,\"day\":14},{\"year\":2020,\"month\":4,\"day\":15},{\"year\":2020,\"month\":4,\"day\":16},{\"year\":2020,\"month\":4,\"day\":17},{\"year\":2020,\"month\":4,\"day\":18},{\"year\":2020,\"month\":4,\"day\":19},{\"year\":2020,\"month\":4,\"day\":20},{\"year\":2020,\"month\":4,\"day\":21},{\"year\":2020,\"month\":4,\"day\":22},{\"year\":2020,\"month\":4,\"day\":23},{\"year\":2020,\"month\":4,\"day\":24},{\"year\":2020,\"month\":4,\"day\":25},{\"year\":2020,\"month\":4,\"day\":26},{\"year\":2020,\"month\":4,\"day\":27},{\"year\":2020,\"month\":4,\"day\":28},{\"year\":2020,\"month\":4,\"day\":29},{\"year\":2020,\"month\":5,\"day\":1},{\"year\":2020,\"month\":5,\"day\":2},{\"year\":2020,\"month\":5,\"day\":3},{\"year\":2020,\"month\":5,\"day\":4},{\"year\":2020,\"month\":5,\"day\":5},{\"year\":2020,\"month\":5,\"day\":6},{\"year\":2020,\"month\":5,\"day\":7},{\"year\":2020,\"month\":5,\"day\":8},{\"year\":2020,\"month\":5,\"day\":9},{\"year\":2020,\"month\":5,\"day\":10},{\"year\":2020,\"month\":5,\"day\":11},{\"year\":2020,\"month\":5,\"day\":12},{\"year\":2020,\"month\":5,\"day\":13},{\"year\":2020,\"month\":5,\"day\":14},{\"year\":2020,\"month\":5,\"day\":15},{\"year\":2020,\"month\":5,\"day\":16},{\"year\":2020,\"month\":5,\"day\":17},{\"year\":2020,\"month\":5,\"day\":18},{\"year\":2020,\"month\":5,\"day\":19},{\"year\":2020,\"month\":5,\"day\":20},{\"year\":2020,\"month\":5,\"day\":21},{\"year\":2020,\"month\":5,\"day\":22},{\"year\":2020,\"month\":5,\"day\":23},{\"year\":2020,\"month\":5,\"day\":24},{\"year\":2020,\"month\":5,\"day\":25},{\"year\":2020,\"month\":5,\"day\":26},{\"year\":2020,\"month\":5,\"day\":27},{\"year\":2020,\"month\":5,\"day\":28},{\"year\":2020,\"month\":5,\"day\":29},{\"year\":2020,\"month\":5,\"day\":30},{\"year\":2020,\"month\":6,\"day\":1},{\"year\":2020,\"month\":6,\"day\":2},{\"year\":2020,\"month\":6,\"day\":3},{\"year\":2020,\"month\":6,\"day\":4},{\"year\":2020,\"month\":6,\"day\":5},{\"year\":2020,\"month\":6,\"day\":6},{\"year\":2020,\"month\":6,\"day\":7},{\"year\":2020,\"month\":6,\"day\":8},{\"year\":2020,\"month\":6,\"day\":9},{\"year\":2020,\"month\":6,\"day\":10},{\"year\":2020,\"month\":6,\"day\":11},{\"year\":2020,\"month\":6,\"day\":12},{\"year\":2020,\"month\":6,\"day\":13},{\"year\":2020,\"month\":6,\"day\":14},{\"year\":2020,\"month\":6,\"day\":15},{\"year\":2020,\"month\":6,\"day\":16},{\"year\":2020,\"month\":6,\"day\":17},{\"year\":2020,\"month\":6,\"day\":18},{\"year\":2020,\"month\":6,\"day\":19},{\"year\":2020,\"month\":6,\"day\":20},{\"year\":2020,\"month\":6,\"day\":21},{\"year\":2020,\"month\":6,\"day\":22},{\"year\":2020,\"month\":6,\"day\":23},{\"year\":2020,\"month\":6,\"day\":24},{\"year\":2020,\"month\":6,\"day\":25},{\"year\":2020,\"month\":6,\"day\":26},{\"year\":2020,\"month\":6,\"day\":27},{\"year\":2020,\"month\":6,\"day\":28},{\"year\":2020,\"month\":6,\"day\":29},{\"year\":2020,\"month\":7,\"day\":1},{\"year\":2020,\"month\":7,\"day\":2},{\"year\":2020,\"month\":7,\"day\":3},{\"year\":2020,\"month\":7,\"day\":4},{\"year\":2020,\"month\":7,\"day\":5},{\"year\":2020,\"month\":7,\"day\":6},{\"year\":2020,\"month\":7,\"day\":7},{\"year\":2020,\"month\":7,\"day\":8},{\"year\":2020,\"month\":7,\"day\":9},{\"year\":2020,\"month\":7,\"day\":10},{\"year\":2020,\"month\":7,\"day\":11},{\"year\":2020,\"month\":7,\"day\":12},{\"year\":2020,\"month\":7,\"day\":13},{\"year\":2020,\"month\":7,\"day\":14},{\"year\":2020,\"month\":7,\"day\":15},{\"year\":2020,\"month\":7,\"day\":16},{\"year\":2020,\"month\":7,\"day\":17},{\"year\":2020,\"month\":7,\"day\":18},{\"year\":2020,\"month\":7,\"day\":19},{\"year\":2020,\"month\":7,\"day\":20},{\"year\":2020,\"month\":7,\"day\":21},{\"year\":2020,\"month\":7,\"day\":22},{\"year\":2020,\"month\":7,\"day\":23},{\"year\":2020,\"month\":7,\"day\":24},{\"year\":2020,\"month\":7,\"day\":25},{\"year\":2020,\"month\":7,\"day\":26},{\"year\":2020,\"month\":7,\"day\":27},{\"year\":2020,\"month\":7,\"day\":28},{\"year\":2020,\"month\":7,\"day\":29},{\"year\":2020,\"month\":7,\"day\":30},{\"year\":2020,\"month\":8,\"day\":1},{\"year\":2020,\"month\":8,\"day\":2},{\"year\":2020,\"month\":8,\"day\":3},{\"year\":2020,\"month\":8,\"day\":4},{\"year\":2020,\"month\":8,\"day\":5},{\"year\":2020,\"month\":8,\"day\":6},{\"year\":2020,\"month\":8,\"day\":7},{\"year\":2020,\"month\":8,\"day\":8},{\"year\":2020,\"month\":8,\"day\":9},{\"year\":2020,\"month\":8,\"day\":10},{\"year\":2020,\"month\":8,\"day\":11},{\"year\":2020,\"month\":8,\"day\":12},{\"year\":2020,\"month\":8,\"day\":13},{\"year\":2020,\"month\":8,\"day\":14},{\"year\":2020,\"month\":8,\"day\":15},{\"year\":2020,\"month\":8,\"day\":16},{\"year\":2020,\"month\":8,\"day\":17},{\"year\":2020,\"month\":8,\"day\":18},{\"year\":2020,\"month\":8,\"day\":19},{\"year\":2020,\"month\":8,\"day\":20},{\"year\":2020,\"month\":8,\"day\":21},{\"year\":2020,\"month\":8,\"day\":22},{\"year\":2020,\"month\":8,\"day\":23},{\"year\":2020,\"month\":8,\"day\":24},{\"year\":2020,\"month\":8,\"day\":25},{\"year\":2020,\"month\":8,\"day\":26},{\"year\":2020,\"month\":8,\"day\":27},{\"year\":2020,\"month\":8,\"day\":28},{\"year\":2020,\"month\":8,\"day\":29},{\"year\":2020,\"month\":8,\"day\":30},{\"year\":2020,\"month\":9,\"day\":1},{\"year\":2020,\"month\":9,\"day\":2},{\"year\":2020,\"month\":9,\"day\":3},{\"year\":2020,\"month\":9,\"day\":4},{\"year\":2020,\"month\":9,\"day\":5},{\"year\":2020,\"month\":9,\"day\":6},{\"year\":2020,\"month\":9,\"day\":7},{\"year\":2020,\"month\":9,\"day\":8},{\"year\":2020,\"month\":9,\"day\":9},{\"year\":2020,\"month\":9,\"day\":10},{\"year\":2020,\"month\":9,\"day\":11},{\"year\":2020,\"month\":9,\"day\":12},{\"year\":2020,\"month\":9,\"day\":13},{\"year\":2020,\"month\":9,\"day\":14},{\"year\":2020,\"month\":9,\"day\":15},{\"year\":2020,\"month\":9,\"day\":16},{\"year\":2020,\"month\":9,\"day\":17},{\"year\":2020,\"month\":9,\"day\":18},{\"year\":2020,\"month\":9,\"day\":19},{\"year\":2020,\"month\":9,\"day\":20},{\"year\":2020,\"month\":9,\"day\":21},{\"year\":2020,\"month\":9,\"day\":22},{\"year\":2020,\"month\":9,\"day\":23},{\"year\":2020,\"month\":9,\"day\":24},{\"year\":2020,\"month\":9,\"day\":25},{\"year\":2020,\"month\":9,\"day\":26},{\"year\":2020,\"month\":9,\"day\":27},{\"year\":2020,\"month\":9,\"day\":28},{\"year\":2020,\"month\":9,\"day\":29},{\"year\":2020,\"month\":10,\"day\":1},{\"year\":2020,\"month\":10,\"day\":2},{\"year\":2020,\"month\":10,\"day\":3},{\"year\":2020,\"month\":10,\"day\":4},{\"year\":2020,\"month\":10,\"day\":5},{\"year\":2020,\"month\":10,\"day\":6},{\"year\":2020,\"month\":10,\"day\":7},{\"year\":2020,\"month\":10,\"day\":8},{\"year\":2020,\"month\":10,\"day\":9},{\"year\":2020,\"month\":10,\"day\":10},{\"year\":2020,\"month\":10,\"day\":11},{\"year\":2020,\"month\":10,\"day\":12},{\"year\":2020,\"month\":10,\"day\":13},{\"year\":2020,\"month\":10,\"day\":14},{\"year\":2020,\"month\":10,\"day\":15},{\"year\":2020,\"month\":10,\"day\":16},{\"year\":2020,\"month\":10,\"day\":17},{\"year\":2020,\"month\":10,\"day\":18},{\"year\":2020,\"month\":10,\"day\":19},{\"year\":2020,\"month\":10,\"day\":20},{\"year\":2020,\"month\":10,\"day\":21},{\"year\":2020,\"month\":10,\"day\":22},{\"year\":2020,\"month\":10,\"day\":23},{\"year\":2020,\"month\":10,\"day\":24},{\"year\":2020,\"month\":10,\"day\":25},{\"year\":2020,\"month\":10,\"day\":26},{\"year\":2020,\"month\":10,\"day\":27},{\"year\":2020,\"month\":10,\"day\":28},{\"year\":2020,\"month\":10,\"day\":29},{\"year\":2020,\"month\":10,\"day\":30},{\"year\":2020,\"month\":11,\"day\":1},{\"year\":2020,\"month\":11,\"day\":2},{\"year\":2020,\"month\":11,\"day\":3},{\"year\":2020,\"month\":11,\"day\":4},{\"year\":2020,\"month\":11,\"day\":5},{\"year\":2020,\"month\":11,\"day\":6},{\"year\":2020,\"month\":11,\"day\":7},{\"year\":2020,\"month\":11,\"day\":8},{\"year\":2020,\"month\":11,\"day\":9},{\"year\":2020,\"month\":11,\"day\":10},{\"year\":2020,\"month\":11,\"day\":11},{\"year\":2020,\"month\":11,\"day\":12},{\"year\":2020,\"month\":11,\"day\":13},{\"year\":2020,\"month\":11,\"day\":14},{\"year\":2020,\"month\":11,\"day\":15},{\"year\":2020,\"month\":11,\"day\":16},{\"year\":2020,\"month\":11,\"day\":17},{\"year\":2020,\"month\":11,\"day\":18},{\"year\":2020,\"month\":11,\"day\":19},{\"year\":2020,\"month\":11,\"day\":20},{\"year\":2020,\"month\":11,\"day\":21},{\"year\":2020,\"month\":11,\"day\":22},{\"year\":2020,\"month\":11,\"day\":23},{\"year\":2020,\"month\":11,\"day\":24},{\"year\":2020,\"month\":11,\"day\":25},{\"year\":2020,\"month\":11,\"day\":26},{\"year\":2020,\"month\":11,\"day\":27},{\"year\":2020,\"month\":11,\"day\":28},{\"year\":2020,\"month\":11,\"day\":29},{\"year\":2020,\"month\":12,\"day\":1},{\"year\":2020,\"month\":12,\"day\":2},{\"year\":2020,\"month\":12,\"day\":3},{\"year\":2020,\"month\":12,\"day\":4},{\"year\":2020,\"month\":12,\"day\":5},{\"year\":2020,\"month\":12,\"day\":6},{\"year\":2020,\"month\":12,\"day\":7},{\"year\":2020,\"month\":12,\"day\":8},{\"year\":2020,\"month\":12,\"day\":9},{\"year\":2020,\"month\":12,\"day\":10},{\"year\":2020,\"month\":12,\"day\":11},{\"year\":2020,\"month\":12,\"day\":12},{\"year\":2020,\"month\":12,\"day\":13},{\"year\":2020,\"month\":12,\"day\":14},{\"year\":2020,\"month\":12,\"day\":15},{\"year\":2020,\"month\":12,\"day\":16},{\"year\":2020,\"month\":12,\"day\":17},{\"year\":2020,\"month\":12,\"day\":18},{\"year\":2020,\"month\":12,\"day\":19},{\"year\":2020,\"month\":12,\"day\":20},{\"year\":2020,\"month\":12,\"day\":21},{\"year\":2020,\"month\":12,\"day\":22},{\"year\":2020,\"month\":12,\"day\":23},{\"year\":2020,\"month\":12,\"day\":24},{\"year\":2020,\"month\":12,\"day\":25},{\"year\":2020,\"month\":12,\"day\":26},{\"year\":2020,\"month\":12,\"day\":27},{\"year\":2020,\"month\":12,\"day\":28},{\"year\":2020,\"month\":12,\"day\":29},{\"year\":2020,\"month\":12,\"day\":30},{\"year\":2021,\"month\":1,\"day\":1},{\"year\":2021,\"month\":1,\"day\":2},{\"year\":2021,\"month\":1,\"day\":3},{\"year\":2021,\"month\":1,\"day\":4},{\"year\":2021,\"month\":1,\"day\":5},{\"year\":2021,\"month\":1,\"day\":6},{\"year\":2021,\"month\":1,\"day\":7},{\"year\":2021,\"month\":1,\"day\":8},{\"year\":2021,\"month\":1,\"day\":9},{\"year\":2021,\"month\":1,\"day\":10},{\"year\":2021,\"month\":1,\"day\":11},{\"year\":2021,\"month\":1,\"day\":12},{\"year\":2021,\"month\":1,\"day\":13},{\"year\":2021,\"month\":1,\"day\":14},{\"year\":2021,\"month\":1,\"day\":15},{\"year\":2021,\"month\":1,\"day\":16},{\"year\":2021,\"month\":1,\"day\":17},{\"year\":2021,\"month\":1,\"day\":18},{\"year\":2021,\"month\":1,\"day\":19},{\"year\":2021,\"month\":1,\"day\":20},{\"year\":2021,\"month\":1,\"day\":21},{\"year\":2021,\"month\":1,\"day\":22},{\"year\":2021,\"month\":1,\"day\":23},{\"year\":2021,\"month\":1,\"day\":24},{\"year\":2021,\"month\":1,\"day\":25},{\"year\":2021,\"month\":1,\"day\":26},{\"year\":2021,\"month\":1,\"day\":27},{\"year\":2021,\"month\":1,\"day\":28},{\"year\":2021,\"month\":1,\"day\":29},{\"year\":2021,\"month\":1,\"day\":30},{\"year\":2021,\"month\":2,\"day\":1},{\"year\":2021,\"month\":2,\"day\":2},{\"year\":2021,\"month\":2,\"day\":3},{\"year\":2021,\"month\":2,\"day\":4},{\"year\":2021,\"month\":2,\"day\":5},{\"year\":2021,\"month\":2,\"day\":6},{\"year\":2021,\"month\":2,\"day\":7},{\"year\":2021,\"month\":2,\"day\":8},{\"year\":2021,\"month\":2,\"day\":9},{\"year\":2021,\"month\":2,\"day\":10},{\"year\":2021,\"month\":2,\"day\":11},{\"year\":2021,\"month\":2,\"day\":12},{\"year\":2021,\"month\":2,\"day\":13},{\"year\":2021,\"month\":2,\"day\":14},{\"year\":2021,\"month\":2,\"day\":15},{\"year\":2021,\"month\":2,\"day\":16},{\"year\":2021,\"month\":2,\"day\":17},{\"year\":2021,\"month\":2,\"day\":18},{\"year\":2021,\"month\":2,\"day\":19},{\"year\":2021,\"month\":2,\"day\":20},{\"year\":2021,\"month\":2,\"day\":21},{\"year\":2021,\"month\":2,\"day\":22},{\"year\":2021,\"month\":2,\"day\":23},{\"year\":2021,\"month\":2,\"day\":24},{\"year\":2021,\"month\":2,\"day\":25},{\"year\":2021,\"month\":2,\"day\":26},{\"year\":2021,\"month\":2,\"day\":27},{\"year\":2021,\"month\":3,\"day\":1},{\"year\":2021,\"month\":3,\"day\":2},{\"year\":2021,\"month\":3,\"day\":3},{\"year\":2021,\"month\":3,\"day\":4},{\"year\":2021,\"month\":3,\"day\":5},{\"year\":2021,\"month\":3,\"day\":6},{\"year\":2021,\"month\":3,\"day\":7},{\"year\":2021,\"month\":3,\"day\":8},{\"year\":2021,\"month\":3,\"day\":9},{\"year\":2021,\"month\":3,\"day\":10},{\"year\":2021,\"month\":3,\"day\":11},{\"year\":2021,\"month\":3,\"day\":12},{\"year\":2021,\"month\":3,\"day\":13},{\"year\":2021,\"month\":3,\"day\":14},{\"year\":2021,\"month\":3,\"day\":15},{\"year\":2021,\"month\":3,\"day\":16},{\"year\":2021,\"month\":3,\"day\":17},{\"year\":2021,\"month\":3,\"day\":18},{\"year\":2021,\"month\":3,\"day\":19},{\"year\":2021,\"month\":3,\"day\":20},{\"year\":2021,\"month\":3,\"day\":21},{\"year\":2021,\"month\":3,\"day\":22},{\"year\":2021,\"month\":3,\"day\":23},{\"year\":2021,\"month\":3,\"day\":24},{\"year\":2021,\"month\":3,\"day\":25},{\"year\":2021,\"month\":3,\"day\":26},{\"year\":2021,\"month\":3,\"day\":27},{\"year\":2021,\"month\":3,\"day\":28},{\"year\":2021,\"month\":3,\"day\":29},{\"year\":2021,\"month\":3,\"day\":30},{\"year\":2021,\"month\":4,\"day\":1},{\"year\":2021,\"month\":4,\"day\":2},{\"year\":2021,\"month\":4,\"day\":3},{\"year\":2021,\"month\":4,\"day\":4},{\"year\":2021,\"month\":4,\"day\":5},{\"year\":2021,\"month\":4,\"day\":6},{\"year\":2021,\"month\":4,\"day\":7},{\"year\":2021,\"month\":4,\"day\":8},{\"year\":2021,\"month\":4,\"day\":9},{\"year\":2021,\"month\":4,\"day\":10},{\"year\":2021,\"month\":4,\"day\":11},{\"year\":2021,\"month\":4,\"day\":12},{\"year\":2021,\"month\":4,\"day\":13},{\"year\":2021,\"month\":4,\"day\":14},{\"year\":2021,\"month\":4,\"day\":15},{\"year\":2021,\"month\":4,\"day\":16},{\"year\":2021,\"month\":4,\"day\":17},{\"year\":2021,\"month\":4,\"day\":18},{\"year\":2021,\"month\":4,\"day\":19},{\"year\":2021,\"month\":4,\"day\":20},{\"year\":2021,\"month\":4,\"day\":21},{\"year\":2021,\"month\":4,\"day\":22},{\"year\":2021,\"month\":4,\"day\":23},{\"year\":2021,\"month\":4,\"day\":24},{\"year\":2021,\"month\":4,\"day\":25},{\"year\":2021,\"month\":4,\"day\":26},{\"year\":2021,\"month\":4,\"day\":27},{\"year\":2021,\"month\":4,\"day\":28},{\"year\":2021,\"month\":4,\"day\":29},{\"year\":2021,\"month\":5,\"day\":1},{\"year\":2021,\"month\":5,\"day\":2},{\"year\":2021,\"month\":5,\"day\":3},{\"year\":2021,\"month\":5,\"day\":4},{\"year\":2021,\"month\":5,\"day\":5},{\"year\":2021,\"month\":5,\"day\":6},{\"year\":2021,\"month\":5,\"day\":7},{\"year\":2021,\"month\":5,\"day\":8},{\"year\":2021,\"month\":5,\"day\":9},{\"year\":2021,\"month\":5,\"day\":10},{\"year\":2021,\"month\":5,\"day\":11},{\"year\":2021,\"month\":5,\"day\":12},{\"year\":2021,\"month\":5,\"day\":13},{\"year\":2021,\"month\":5,\"day\":14},{\"year\":2021,\"month\":5,\"day\":15},{\"year\":2021,\"month\":5,\"day\":16},{\"year\":2021,\"month\":5,\"day\":17},{\"year\":2021,\"month\":5,\"day\":18},{\"year\":2021,\"month\":5,\"day\":19},{\"year\":2021,\"month\":5,\"day\":20},{\"year\":2021,\"month\":5,\"day\":21},{\"year\":2021,\"month\":5,\"day\":22},{\"year\":2021,\"month\":5,\"day\":23},{\"year\":2021,\"month\":5,\"day\":24},{\"year\":2021,\"month\":5,\"day\":25},{\"year\":2021,\"month\":5,\"day\":26},{\"year\":2021,\"month\":5,\"day\":27},{\"year\":2021,\"month\":5,\"day\":28},{\"year\":2021,\"month\":5,\"day\":29},{\"year\":2021,\"month\":5,\"day\":30},{\"year\":2021,\"month\":6,\"day\":1},{\"year\":2021,\"month\":6,\"day\":2},{\"year\":2021,\"month\":6,\"day\":3},{\"year\":2021,\"month\":6,\"day\":4},{\"year\":2021,\"month\":6,\"day\":5},{\"year\":2021,\"month\":6,\"day\":6},{\"year\":2021,\"month\":6,\"day\":7},{\"year\":2021,\"month\":6,\"day\":8},{\"year\":2021,\"month\":6,\"day\":9},{\"year\":2021,\"month\":6,\"day\":10},{\"year\":2021,\"month\":6,\"day\":11},{\"year\":2021,\"month\":6,\"day\":12},{\"year\":2021,\"month\":6,\"day\":13},{\"year\":2021,\"month\":6,\"day\":14},{\"year\":2021,\"month\":6,\"day\":15},{\"year\":2021,\"month\":6,\"day\":16},{\"year\":2021,\"month\":6,\"day\":17},{\"year\":2021,\"month\":6,\"day\":18},{\"year\":2021,\"month\":6,\"day\":19},{\"year\":2021,\"month\":6,\"day\":20},{\"year\":2021,\"month\":6,\"day\":21},{\"year\":2021,\"month\":6,\"day\":22},{\"year\":2021,\"month\":6,\"day\":23},{\"year\":2021,\"month\":6,\"day\":24},{\"year\":2021,\"month\":6,\"day\":25},{\"year\":2021,\"month\":6,\"day\":26},{\"year\":2021,\"month\":6,\"day\":27},{\"year\":2021,\"month\":6,\"day\":28},{\"year\":2021,\"month\":6,\"day\":29},{\"year\":2021,\"month\":7,\"day\":1},{\"year\":2021,\"month\":7,\"day\":2},{\"year\":2021,\"month\":7,\"day\":3},{\"year\":2021,\"month\":7,\"day\":4},{\"year\":2021,\"month\":7,\"day\":5},{\"year\":2021,\"month\":7,\"day\":6},{\"year\":2021,\"month\":7,\"day\":7},{\"year\":2021,\"month\":7,\"day\":8},{\"year\":2021,\"month\":7,\"day\":9},{\"year\":2021,\"month\":7,\"day\":10},{\"year\":2021,\"month\":7,\"day\":11},{\"year\":2021,\"month\":7,\"day\":12},{\"year\":2021,\"month\":7,\"day\":13},{\"year\":2021,\"month\":7,\"day\":14},{\"year\":2021,\"month\":7,\"day\":15},{\"year\":2021,\"month\":7,\"day\":16},{\"year\":2021,\"month\":7,\"day\":17},{\"year\":2021,\"month\":7,\"day\":18},{\"year\":2021,\"month\":7,\"day\":19},{\"year\":2021,\"month\":7,\"day\":20},{\"year\":2021,\"month\":7,\"day\":21},{\"year\":2021,\"month\":7,\"day\":22},{\"year\":2021,\"month\":7,\"day\":23},{\"year\":2021,\"month\":7,\"day\":24},{\"year\":2021,\"month\":7,\"day\":25},{\"year\":2021,\"month\":7,\"day\":26},{\"year\":2021,\"month\":7,\"day\":27},{\"year\":2021,\"month\":7,\"day\":28},{\"year\":2021,\"month\":7,\"day\":29},{\"year\":2021,\"month\":7,\"day\":30},{\"year\":2021,\"month\":8,\"day\":1},{\"year\":2021,\"month\":8,\"day\":2},{\"year\":2021,\"month\":8,\"day\":3},{\"year\":2021,\"month\":8,\"day\":4},{\"year\":2021,\"month\":8,\"day\":5},{\"year\":2021,\"month\":8,\"day\":6},{\"year\":2021,\"month\":8,\"day\":7},{\"year\":2021,\"month\":8,\"day\":8},{\"year\":2021,\"month\":8,\"day\":9},{\"year\":2021,\"month\":8,\"day\":10},{\"year\":2021,\"month\":8,\"day\":11},{\"year\":2021,\"month\":8,\"day\":12},{\"year\":2021,\"month\":8,\"day\":13},{\"year\":2021,\"month\":8,\"day\":14},{\"year\":2021,\"month\":8,\"day\":15},{\"year\":2021,\"month\":8,\"day\":16},{\"year\":2021,\"month\":8,\"day\":17},{\"year\":2021,\"month\":8,\"day\":18},{\"year\":2021,\"month\":8,\"day\":19},{\"year\":2021,\"month\":8,\"day\":20},{\"year\":2021,\"month\":8,\"day\":21},{\"year\":2021,\"month\":8,\"day\":22},{\"year\":2021,\"month\":8,\"day\":23},{\"year\":2021,\"month\":8,\"day\":24},{\"year\":2021,\"month\":8,\"day\":25},{\"year\":2021,\"month\":8,\"day\":26},{\"year\":2021,\"month\":8,\"day\":27},{\"year\":2021,\"month\":8,\"day\":28},{\"year\":2021,\"month\":8,\"day\":29},{\"year\":2021,\"month\":8,\"day\":30},{\"year\":2021,\"month\":9,\"day\":1},{\"year\":2021,\"month\":9,\"day\":2},{\"year\":2021,\"month\":9,\"day\":3},{\"year\":2021,\"month\":9,\"day\":4},{\"year\":2021,\"month\":9,\"day\":5},{\"year\":2021,\"month\":9,\"day\":6},{\"year\":2021,\"month\":9,\"day\":7},{\"year\":2021,\"month\":9,\"day\":8},{\"year\":2021,\"month\":9,\"day\":9},{\"year\":2021,\"month\":9,\"day\":10},{\"year\":2021,\"month\":9,\"day\":11},{\"year\":2021,\"month\":9,\"day\":12},{\"year\":2021,\"month\":9,\"day\":13},{\"year\":2021,\"month\":9,\"day\":14},{\"year\":2021,\"month\":9,\"day\":15},{\"year\":2021,\"month\":9,\"day\":16},{\"year\":2021,\"month\":9,\"day\":17},{\"year\":2021,\"month\":9,\"day\":18},{\"year\":2021,\"month\":9,\"day\":19},{\"year\":2021,\"month\":9,\"day\":20},{\"year\":2021,\"month\":9,\"day\":21},{\"year\":2021,\"month\":9,\"day\":22},{\"year\":2021,\"month\":9,\"day\":23},{\"year\":2021,\"month\":9,\"day\":24},{\"year\":2021,\"month\":9,\"day\":25},{\"year\":2021,\"month\":9,\"day\":26},{\"year\":2021,\"month\":9,\"day\":27},{\"year\":2021,\"month\":9,\"day\":28},{\"year\":2021,\"month\":9,\"day\":29},{\"year\":2021,\"month\":10,\"day\":1},{\"year\":2021,\"month\":10,\"day\":2},{\"year\":2021,\"month\":10,\"day\":3},{\"year\":2021,\"month\":10,\"day\":4},{\"year\":2021,\"month\":10,\"day\":5},{\"year\":2021,\"month\":10,\"day\":6},{\"year\":2021,\"month\":10,\"day\":7},{\"year\":2021,\"month\":10,\"day\":8},{\"year\":2021,\"month\":10,\"day\":9},{\"year\":2021,\"month\":10,\"day\":10},{\"year\":2021,\"month\":10,\"day\":11},{\"year\":2021,\"month\":10,\"day\":12},{\"year\":2021,\"month\":10,\"day\":13},{\"year\":2021,\"month\":10,\"day\":14},{\"year\":2021,\"month\":10,\"day\":15},{\"year\":2021,\"month\":10,\"day\":16},{\"year\":2021,\"month\":10,\"day\":17},{\"year\":2021,\"month\":10,\"day\":18},{\"year\":2021,\"month\":10,\"day\":19},{\"year\":2021,\"month\":10,\"day\":20},{\"year\":2021,\"month\":10,\"day\":21},{\"year\":2021,\"month\":10,\"day\":22},{\"year\":2021,\"month\":10,\"day\":23},{\"year\":2021,\"month\":10,\"day\":24},{\"year\":2021,\"month\":10,\"day\":25},{\"year\":2021,\"month\":10,\"day\":26},{\"year\":2021,\"month\":10,\"day\":27},{\"year\":2021,\"month\":10,\"day\":28},{\"year\":2021,\"month\":10,\"day\":29},{\"year\":2021,\"month\":10,\"day\":30},{\"year\":2021,\"month\":11,\"day\":1},{\"year\":2021,\"month\":11,\"day\":2},{\"year\":2021,\"month\":11,\"day\":3},{\"year\":2021,\"month\":11,\"day\":4},{\"year\":2021,\"month\":11,\"day\":5},{\"year\":2021,\"month\":11,\"day\":6},{\"year\":2021,\"month\":11,\"day\":7},{\"year\":2021,\"month\":11,\"day\":8},{\"year\":2021,\"month\":11,\"day\":9},{\"year\":2021,\"month\":11,\"day\":10},{\"year\":2021,\"month\":11,\"day\":11},{\"year\":2021,\"month\":11,\"day\":12},{\"year\":2021,\"month\":11,\"day\":13},{\"year\":2021,\"month\":11,\"day\":14},{\"year\":2021,\"month\":11,\"day\":15},{\"year\":2021,\"month\":11,\"day\":16},{\"year\":2021,\"month\":11,\"day\":17},{\"year\":2021,\"month\":11,\"day\":18},{\"year\":2021,\"month\":11,\"day\":19},{\"year\":2021,\"month\":11,\"day\":20},{\"year\":2021,\"month\":11,\"day\":21},{\"year\":2021,\"month\":11,\"day\":22},{\"year\":2021,\"month\":11,\"day\":23},{\"year\":2021,\"month\":11,\"day\":24},{\"year\":2021,\"month\":11,\"day\":25},{\"year\":2021,\"month\":11,\"day\":26},{\"year\":2021,\"month\":11,\"day\":27},{\"year\":2021,\"month\":11,\"day\":28},{\"year\":2021,\"month\":11,\"day\":29},{\"year\":2021,\"month\":12,\"day\":1},{\"year\":2021,\"month\":12,\"day\":2},{\"year\":2021,\"month\":12,\"day\":3},{\"year\":2021,\"month\":12,\"day\":4},{\"year\":2021,\"month\":12,\"day\":5},{\"year\":2021,\"month\":12,\"day\":6},{\"year\":2021,\"month\":12,\"day\":7},{\"year\":2021,\"month\":12,\"day\":8},{\"year\":2021,\"month\":12,\"day\":9},{\"year\":2021,\"month\":12,\"day\":10},{\"year\":2021,\"month\":12,\"day\":11},{\"year\":2021,\"month\":12,\"day\":12},{\"year\":2021,\"month\":12,\"day\":13},{\"year\":2021,\"month\":12,\"day\":14},{\"year\":2021,\"month\":12,\"day\":15},{\"year\":2021,\"month\":12,\"day\":16},{\"year\":2021,\"month\":12,\"day\":17},{\"year\":2021,\"month\":12,\"day\":18},{\"year\":2021,\"month\":12,\"day\":19},{\"year\":2021,\"month\":12,\"day\":20},{\"year\":2021,\"month\":12,\"day\":21},{\"year\":2021,\"month\":12,\"day\":22},{\"year\":2021,\"month\":12,\"day\":23},{\"year\":2021,\"month\":12,\"day\":24},{\"year\":2021,\"month\":12,\"day\":25},{\"year\":2021,\"month\":12,\"day\":26},{\"year\":2021,\"month\":12,\"day\":27},{\"year\":2021,\"month\":12,\"day\":28},{\"year\":2021,\"month\":12,\"day\":29},{\"year\":2021,\"month\":12,\"day\":30},{\"year\":2022,\"month\":1,\"day\":1},{\"year\":2022,\"month\":1,\"day\":2},{\"year\":2022,\"month\":1,\"day\":3},{\"year\":2022,\"month\":1,\"day\":4},{\"year\":2022,\"month\":1,\"day\":5},{\"year\":2022,\"month\":1,\"day\":6},{\"year\":2022,\"month\":1,\"day\":7},{\"year\":2022,\"month\":1,\"day\":8},{\"year\":2022,\"month\":1,\"day\":9},{\"year\":2022,\"month\":1,\"day\":10},{\"year\":2022,\"month\":1,\"day\":11},{\"year\":2022,\"month\":1,\"day\":12},{\"year\":2022,\"month\":1,\"day\":13},{\"year\":2022,\"month\":1,\"day\":14},{\"year\":2022,\"month\":1,\"day\":15},{\"year\":2022,\"month\":1,\"day\":16},{\"year\":2022,\"month\":1,\"day\":17},{\"year\":2022,\"month\":1,\"day\":18},{\"year\":2022,\"month\":1,\"day\":19},{\"year\":2022,\"month\":1,\"day\":20},{\"year\":2022,\"month\":1,\"day\":21},{\"year\":2022,\"month\":1,\"day\":22},{\"year\":2022,\"month\":1,\"day\":23},{\"year\":2022,\"month\":1,\"day\":24},{\"year\":2022,\"month\":1,\"day\":25},{\"year\":2022,\"month\":1,\"day\":26},{\"year\":2022,\"month\":1,\"day\":27},{\"year\":2022,\"month\":1,\"day\":28},{\"year\":2022,\"month\":1,\"day\":29},{\"year\":2022,\"month\":1,\"day\":30},{\"year\":2022,\"month\":2,\"day\":1},{\"year\":2022,\"month\":2,\"day\":2},{\"year\":2022,\"month\":2,\"day\":3},{\"year\":2022,\"month\":2,\"day\":4},{\"year\":2022,\"month\":2,\"day\":5},{\"year\":2022,\"month\":2,\"day\":6},{\"year\":2022,\"month\":2,\"day\":7},{\"year\":2022,\"month\":2,\"day\":8},{\"year\":2022,\"month\":2,\"day\":9},{\"year\":2022,\"month\":2,\"day\":10},{\"year\":2022,\"month\":2,\"day\":11},{\"year\":2022,\"month\":2,\"day\":12},{\"year\":2022,\"month\":2,\"day\":13},{\"year\":2022,\"month\":2,\"day\":14},{\"year\":2022,\"month\":2,\"day\":15},{\"year\":2022,\"month\":2,\"day\":16},{\"year\":2022,\"month\":2,\"day\":17},{\"year\":2022,\"month\":2,\"day\":18},{\"year\":2022,\"month\":2,\"day\":19},{\"year\":2022,\"month\":2,\"day\":20},{\"year\":2022,\"month\":2,\"day\":21},{\"year\":2022,\"month\":2,\"day\":22},{\"year\":2022,\"month\":2,\"day\":23},{\"year\":2022,\"month\":2,\"day\":24},{\"year\":2022,\"month\":2,\"day\":25},{\"year\":2022,\"month\":2,\"day\":26},{\"year\":2022,\"month\":2,\"day\":27},{\"year\":2022,\"month\":3,\"day\":1},{\"year\":2022,\"month\":3,\"day\":2},{\"year\":2022,\"month\":3,\"day\":3},{\"year\":2022,\"month\":3,\"day\":4},{\"year\":2022,\"month\":3,\"day\":5},{\"year\":2022,\"month\":3,\"day\":6},{\"year\":2022,\"month\":3,\"day\":7},{\"year\":2022,\"month\":3,\"day\":8},{\"year\":2022,\"month\":3,\"day\":9},{\"year\":2022,\"month\":3,\"day\":10},{\"year\":2022,\"month\":3,\"day\":11},{\"year\":2022,\"month\":3,\"day\":12},{\"year\":2022,\"month\":3,\"day\":13},{\"year\":2022,\"month\":3,\"day\":14},{\"year\":2022,\"month\":3,\"day\":15},{\"year\":2022,\"month\":3,\"day\":16},{\"year\":2022,\"month\":3,\"day\":17},{\"year\":2022,\"month\":3,\"day\":18},{\"year\":2022,\"month\":3,\"day\":19},{\"year\":2022,\"month\":3,\"day\":20},{\"year\":2022,\"month\":3,\"day\":21},{\"year\":2022,\"month\":3,\"day\":22},{\"year\":2022,\"month\":3,\"day\":23},{\"year\":2022,\"month\":3,\"day\":24},{\"year\":2022,\"month\":3,\"day\":25},{\"year\":2022,\"month\":3,\"day\":26},{\"year\":2022,\"month\":3,\"day\":27},{\"year\":2022,\"month\":3,\"day\":28},{\"year\":2022,\"month\":3,\"day\":29},{\"year\":2022,\"month\":3,\"day\":30},{\"year\":2022,\"month\":4,\"day\":1},{\"year\":2022,\"month\":4,\"day\":2},{\"year\":2022,\"month\":4,\"day\":3},{\"year\":2022,\"month\":4,\"day\":4},{\"year\":2022,\"month\":4,\"day\":5},{\"year\":2022,\"month\":4,\"day\":6},{\"year\":2022,\"month\":4,\"day\":7},{\"year\":2022,\"month\":4,\"day\":8},{\"year\":2022,\"month\":4,\"day\":9},{\"year\":2022,\"month\":4,\"day\":10},{\"year\":2022,\"month\":4,\"day\":11},{\"year\":2022,\"month\":4,\"day\":12},{\"year\":2022,\"month\":4,\"day\":13},{\"year\":2022,\"month\":4,\"day\":14},{\"year\":2022,\"month\":4,\"day\":15},{\"year\":2022,\"month\":4,\"day\":16},{\"year\":2022,\"month\":4,\"day\":17},{\"year\":2022,\"month\":4,\"day\":18},{\"year\":2022,\"month\":4,\"day\":19},{\"year\":2022,\"month\":4,\"day\":20},{\"year\":2022,\"month\":4,\"day\":21},{\"year\":2022,\"month\":4,\"day\":22},{\"year\":2022,\"month\":4,\"day\":23},{\"year\":2022,\"month\":4,\"day\":24},{\"year\":2022,\"month\":4,\"day\":25},{\"year\":2022,\"month\":4,\"day\":26},{\"year\":2022,\"month\":4,\"day\":27},{\"year\":2022,\"month\":4,\"day\":28},{\"year\":2022,\"month\":4,\"day\":29},{\"year\":2022,\"month\":5,\"day\":1},{\"year\":2022,\"month\":5,\"day\":2},{\"year\":2022,\"month\":5,\"day\":3},{\"year\":2022,\"month\":5,\"day\":4},{\"year\":2022,\"month\":5,\"day\":5},{\"year\":2022,\"month\":5,\"day\":6},{\"year\":2022,\"month\":5,\"day\":7},{\"year\":2022,\"month\":5,\"day\":8},{\"year\":2022,\"month\":5,\"day\":9},{\"year\":2022,\"month\":5,\"day\":10},{\"year\":2022,\"month\":5,\"day\":11},{\"year\":2022,\"month\":5,\"day\":12},{\"year\":2022,\"month\":5,\"day\":13},{\"year\":2022,\"month\":5,\"day\":14},{\"year\":2022,\"month\":5,\"day\":15},{\"year\":2022,\"month\":5,\"day\":16},{\"year\":2022,\"month\":5,\"day\":17},{\"year\":2022,\"month\":5,\"day\":18},{\"year\":2022,\"month\":5,\"day\":19},{\"year\":2022,\"month\":5,\"day\":20},{\"year\":2022,\"month\":5,\"day\":21},{\"year\":2022,\"month\":5,\"day\":22},{\"year\":2022,\"month\":5,\"day\":23},{\"year\":2022,\"month\":5,\"day\":24},{\"year\":2022,\"month\":5,\"day\":25},{\"year\":2022,\"month\":5,\"day\":26},{\"year\":2022,\"month\":5,\"day\":27},{\"year\":2022,\"month\":5,\"day\":28},{\"year\":2022,\"month\":5,\"day\":29},{\"year\":2022,\"month\":5,\"day\":30},{\"year\":2022,\"month\":6,\"day\":1},{\"year\":2022,\"month\":6,\"day\":2},{\"year\":2022,\"month\":6,\"day\":3},{\"year\":2022,\"month\":6,\"day\":4},{\"year\":2022,\"month\":6,\"day\":5},{\"year\":2022,\"month\":6,\"day\":6},{\"year\":2022,\"month\":6,\"day\":7},{\"year\":2022,\"month\":6,\"day\":8},{\"year\":2022,\"month\":6,\"day\":9},{\"year\":2022,\"month\":6,\"day\":10},{\"year\":2022,\"month\":6,\"day\":11},{\"year\":2022,\"month\":6,\"day\":12},{\"year\":2022,\"month\":6,\"day\":13},{\"year\":2022,\"month\":6,\"day\":14},{\"year\":2022,\"month\":6,\"day\":15},{\"year\":2022,\"month\":6,\"day\":16},{\"year\":2022,\"month\":6,\"day\":17},{\"year\":2022,\"month\":6,\"day\":18},{\"year\":2022,\"month\":6,\"day\":19},{\"year\":2022,\"month\":6,\"day\":20},{\"year\":2022,\"month\":6,\"day\":21},{\"year\":2022,\"month\":6,\"day\":22},{\"year\":2022,\"month\":6,\"day\":23},{\"year\":2022,\"month\":6,\"day\":24},{\"year\":2022,\"month\":6,\"day\":25},{\"year\":2022,\"month\":6,\"day\":26},{\"year\":2022,\"month\":6,\"day\":27},{\"year\":2022,\"month\":6,\"day\":28},{\"year\":2022,\"month\":6,\"day\":29},{\"year\":2022,\"month\":7,\"day\":1},{\"year\":2022,\"month\":7,\"day\":2},{\"year\":2022,\"month\":7,\"day\":3},{\"year\":2022,\"month\":7,\"day\":4},{\"year\":2022,\"month\":7,\"day\":5},{\"year\":2022,\"month\":7,\"day\":6},{\"year\":2022,\"month\":7,\"day\":7},{\"year\":2022,\"month\":7,\"day\":8},{\"year\":2022,\"month\":7,\"day\":9},{\"year\":2022,\"month\":7,\"day\":10},{\"year\":2022,\"month\":7,\"day\":11},{\"year\":2022,\"month\":7,\"day\":12},{\"year\":2022,\"month\":7,\"day\":13},{\"year\":2022,\"month\":7,\"day\":14},{\"year\":2022,\"month\":7,\"day\":15},{\"year\":2022,\"month\":7,\"day\":16},{\"year\":2022,\"month\":7,\"day\":17},{\"year\":2022,\"month\":7,\"day\":18},{\"year\":2022,\"month\":7,\"day\":19},{\"year\":2022,\"month\":7,\"day\":20},{\"year\":2022,\"month\":7,\"day\":21},{\"year\":2022,\"month\":7,\"day\":22},{\"year\":2022,\"month\":7,\"day\":23},{\"year\":2022,\"month\":7,\"day\":24},{\"year\":2022,\"month\":7,\"day\":25},{\"year\":2022,\"month\":7,\"day\":26},{\"year\":2022,\"month\":7,\"day\":27},{\"year\":2022,\"month\":7,\"day\":28},{\"year\":2022,\"month\":7,\"day\":29},{\"year\":2022,\"month\":7,\"day\":30},{\"year\":2022,\"month\":8,\"day\":1},{\"year\":2022,\"month\":8,\"day\":2},{\"year\":2022,\"month\":8,\"day\":3},{\"year\":2022,\"month\":8,\"day\":4},{\"year\":2022,\"month\":8,\"day\":5},{\"year\":2022,\"month\":8,\"day\":6},{\"year\":2022,\"month\":8,\"day\":7},{\"year\":2022,\"month\":8,\"day\":8},{\"year\":2022,\"month\":8,\"day\":9},{\"year\":2022,\"month\":8,\"day\":10},{\"year\":2022,\"month\":8,\"day\":11},{\"year\":2022,\"month\":8,\"day\":12},{\"year\":2022,\"month\":8,\"day\":13},{\"year\":2022,\"month\":8,\"day\":14},{\"year\":2022,\"month\":8,\"day\":15},{\"year\":2022,\"month\":8,\"day\":16},{\"year\":2022,\"month\":8,\"day\":17},{\"year\":2022,\"month\":8,\"day\":18},{\"year\":2022,\"month\":8,\"day\":19},{\"year\":2022,\"month\":8,\"day\":20},{\"year\":2022,\"month\":8,\"day\":21},{\"year\":2022,\"month\":8,\"day\":22},{\"year\":2022,\"month\":8,\"day\":23},{\"year\":2022,\"month\":8,\"day\":24},{\"year\":2022,\"month\":8,\"day\":25},{\"year\":2022,\"month\":8,\"day\":26},{\"year\":2022,\"month\":8,\"day\":27},{\"year\":2022,\"month\":8,\"day\":28},{\"year\":2022,\"month\":8,\"day\":29},{\"year\":2022,\"month\":8,\"day\":30},{\"year\":2022,\"month\":9,\"day\":1},{\"year\":2022,\"month\":9,\"day\":2},{\"year\":2022,\"month\":9,\"day\":3},{\"year\":2022,\"month\":9,\"day\":4},{\"year\":2022,\"month\":9,\"day\":5},{\"year\":2022,\"month\":9,\"day\":6},{\"year\":2022,\"month\":9,\"day\":7},{\"year\":2022,\"month\":9,\"day\":8},{\"year\":2022,\"month\":9,\"day\":9},{\"year\":2022,\"month\":9,\"day\":10},{\"year\":2022,\"month\":9,\"day\":11},{\"year\":2022,\"month\":9,\"day\":12},{\"year\":2022,\"month\":9,\"day\":13},{\"year\":2022,\"month\":9,\"day\":14},{\"year\":2022,\"month\":9,\"day\":15},{\"year\":2022,\"month\":9,\"day\":16},{\"year\":2022,\"month\":9,\"day\":17},{\"year\":2022,\"month\":9,\"day\":18},{\"year\":2022,\"month\":9,\"day\":19},{\"year\":2022,\"month\":9,\"day\":20},{\"year\":2022,\"month\":9,\"day\":21},{\"year\":2022,\"month\":9,\"day\":22},{\"year\":2022,\"month\":9,\"day\":23},{\"year\":2022,\"month\":9,\"day\":24},{\"year\":2022,\"month\":9,\"day\":25},{\"year\":2022,\"month\":9,\"day\":26},{\"year\":2022,\"month\":9,\"day\":27},{\"year\":2022,\"month\":9,\"day\":28},{\"year\":2022,\"month\":9,\"day\":29},{\"year\":2022,\"month\":10,\"day\":1},{\"year\":2022,\"month\":10,\"day\":2},{\"year\":2022,\"month\":10,\"day\":3},{\"year\":2022,\"month\":10,\"day\":4},{\"year\":2022,\"month\":10,\"day\":5},{\"year\":2022,\"month\":10,\"day\":6},{\"year\":2022,\"month\":10,\"day\":7},{\"year\":2022,\"month\":10,\"day\":8},{\"year\":2022,\"month\":10,\"day\":9},{\"year\":2022,\"month\":10,\"day\":10},{\"year\":2022,\"month\":10,\"day\":11},{\"year\":2022,\"month\":10,\"day\":12},{\"year\":2022,\"month\":10,\"day\":13},{\"year\":2022,\"month\":10,\"day\":14},{\"year\":2022,\"month\":10,\"day\":15},{\"year\":2022,\"month\":10,\"day\":16},{\"year\":2022,\"month\":10,\"day\":17},{\"year\":2022,\"month\":10,\"day\":18},{\"year\":2022,\"month\":10,\"day\":19},{\"year\":2022,\"month\":10,\"day\":20},{\"year\":2022,\"month\":10,\"day\":21},{\"year\":2022,\"month\":10,\"day\":22},{\"year\":2022,\"month\":10,\"day\":23},{\"year\":2022,\"month\":10,\"day\":24},{\"year\":2022,\"month\":10,\"day\":25},{\"year\":2022,\"month\":10,\"day\":26},{\"year\":2022,\"month\":10,\"day\":27},{\"year\":2022,\"month\":10,\"day\":28},{\"year\":2022,\"month\":10,\"day\":29},{\"year\":2022,\"month\":10,\"day\":30},{\"year\":2022,\"month\":11,\"day\":1},{\"year\":2022,\"month\":11,\"day\":2},{\"year\":2022,\"month\":11,\"day\":3},{\"year\":2022,\"month\":11,\"day\":4},{\"year\":2022,\"month\":11,\"day\":5},{\"year\":2022,\"month\":11,\"day\":6},{\"year\":2022,\"month\":11,\"day\":7},{\"year\":2022,\"month\":11,\"day\":8},{\"year\":2022,\"month\":11,\"day\":9},{\"year\":2022,\"month\":11,\"day\":10},{\"year\":2022,\"month\":11,\"day\":11},{\"year\":2022,\"month\":11,\"day\":12},{\"year\":2022,\"month\":11,\"day\":13},{\"year\":2022,\"month\":11,\"day\":14},{\"year\":2022,\"month\":11,\"day\":15},{\"year\":2022,\"month\":11,\"day\":16},{\"year\":2022,\"month\":11,\"day\":17},{\"year\":2022,\"month\":11,\"day\":18},{\"year\":2022,\"month\":11,\"day\":19},{\"year\":2022,\"month\":11,\"day\":20},{\"year\":2022,\"month\":11,\"day\":21},{\"year\":2022,\"month\":11,\"day\":22},{\"year\":2022,\"month\":11,\"day\":23},{\"year\":2022,\"month\":11,\"day\":24},{\"year\":2022,\"month\":11,\"day\":25},{\"year\":2022,\"month\":11,\"day\":26},{\"year\":2022,\"month\":11,\"day\":27},{\"year\":2022,\"month\":11,\"day\":28},{\"year\":2022,\"month\":11,\"day\":29},{\"year\":2022,\"month\":12,\"day\":1},{\"year\":2022,\"month\":12,\"day\":2},{\"year\":2022,\"month\":12,\"day\":3},{\"year\":2022,\"month\":12,\"day\":4},{\"year\":2022,\"month\":12,\"day\":5},{\"year\":2022,\"month\":12,\"day\":6},{\"year\":2022,\"month\":12,\"day\":7},{\"year\":2022,\"month\":12,\"day\":8},{\"year\":2022,\"month\":12,\"day\":9},{\"year\":2022,\"month\":12,\"day\":10},{\"year\":2022,\"month\":12,\"day\":11},{\"year\":2022,\"month\":12,\"day\":12},{\"year\":2022,\"month\":12,\"day\":13},{\"year\":2022,\"month\":12,\"day\":14},{\"year\":2022,\"month\":12,\"day\":15},{\"year\":2022,\"month\":12,\"day\":16},{\"year\":2022,\"month\":12,\"day\":17},{\"year\":2022,\"month\":12,\"day\":18},{\"year\":2022,\"month\":12,\"day\":19},{\"year\":2022,\"month\":12,\"day\":20},{\"year\":2022,\"month\":12,\"day\":21},{\"year\":2022,\"month\":12,\"day\":22},{\"year\":2022,\"month\":12,\"day\":23},{\"year\":2022,\"month\":12,\"day\":24},{\"year\":2022,\"month\":12,\"day\":25},{\"year\":2022,\"month\":12,\"day\":26},{\"year\":2022,\"month\":12,\"day\":27},{\"year\":2022,\"month\":12,\"day\":28},{\"year\":2022,\"month\":12,\"day\":29},{\"year\":2022,\"month\":12,\"day\":30},{\"year\":2023,\"month\":1,\"day\":1},{\"year\":2023,\"month\":1,\"day\":2},{\"year\":2023,\"month\":1,\"day\":3},{\"year\":2023,\"month\":1,\"day\":4},{\"year\":2023,\"month\":1,\"day\":5},{\"year\":2023,\"month\":1,\"day\":6},{\"year\":2023,\"month\":1,\"day\":7},{\"year\":2023,\"month\":1,\"day\":8},{\"year\":2023,\"month\":1,\"day\":9},{\"year\":2023,\"month\":1,\"day\":10},{\"year\":2023,\"month\":1,\"day\":11},{\"year\":2023,\"month\":1,\"day\":12},{\"year\":2023,\"month\":1,\"day\":13},{\"year\":2023,\"month\":1,\"day\":14},{\"year\":2023,\"month\":1,\"day\":15},{\"year\":2023,\"month\":1,\"day\":16},{\"year\":2023,\"month\":1,\"day\":17},{\"year\":2023,\"month\":1,\"day\":18},{\"year\":2023,\"month\":1,\"day\":19},{\"year\":2023,\"month\":1,\"day\":20},{\"year\":2023,\"month\":1,\"day\":21},{\"year\":2023,\"month\":1,\"day\":22},{\"year\":2023,\"month\":1,\"day\":23},{\"year\":2023,\"month\":1,\"day\":24},{\"year\":2023,\"month\":1,\"day\":25},{\"year\":2023,\"month\":1,\"day\":26},{\"year\":2023,\"month\":1,\"day\":27},{\"year\":2023,\"month\":1,\"day\":28},{\"year\":2023,\"month\":1,\"day\":29},{\"year\":2023,\"month\":1,\"day\":30},{\"year\":2023,\"month\":2,\"day\":1},{\"year\":2023,\"month\":2,\"day\":2},{\"year\":2023,\"month\":2,\"day\":3},{\"year\":2023,\"month\":2,\"day\":4},{\"year\":2023,\"month\":2,\"day\":5},{\"year\":2023,\"month\":2,\"day\":6},{\"year\":2023,\"month\":2,\"day\":7},{\"year\":2023,\"month\":2,\"day\":8},{\"year\":2023,\"month\":2,\"day\":9},{\"year\":2023,\"month\":2,\"day\":10},{\"year\":2023,\"month\":2,\"day\":11},{\"year\":2023,\"month\":2,\"day\":12},{\"year\":2023,\"month\":2,\"day\":13},{\"year\":2023,\"month\":2,\"day\":14},{\"year\":2023,\"month\":2,\"day\":15},{\"year\":2023,\"month\":2,\"day\":16},{\"year\":2023,\"month\":2,\"day\":17},{\"year\":2023,\"month\":2,\"day\":18},{\"year\":2023,\"month\":2,\"day\":19},{\"year\":2023,\"month\":2,\"day\":20},{\"year\":2023,\"month\":2,\"day\":21},{\"year\":2023,\"month\":2,\"day\":22},{\"year\":2023,\"month\":2,\"day\":23},{\"year\":2023,\"month\":2,\"day\":24},{\"year\":2023,\"month\":2,\"day\":25},{\"year\":2023,\"month\":2,\"day\":26},{\"year\":2023,\"month\":2,\"day\":27},{\"year\":2023,\"month\":3,\"day\":1},{\"year\":2023,\"month\":3,\"day\":2},{\"year\":2023,\"month\":3,\"day\":3},{\"year\":2023,\"month\":3,\"day\":4},{\"year\":2023,\"month\":3,\"day\":5},{\"year\":2023,\"month\":3,\"day\":6},{\"year\":2023,\"month\":3,\"day\":7},{\"year\":2023,\"month\":3,\"day\":8},{\"year\":2023,\"month\":3,\"day\":9},{\"year\":2023,\"month\":3,\"day\":10},{\"year\":2023,\"month\":3,\"day\":11},{\"year\":2023,\"month\":3,\"day\":12},{\"year\":2023,\"month\":3,\"day\":13},{\"year\":2023,\"month\":3,\"day\":14},{\"year\":2023,\"month\":3,\"day\":15},{\"year\":2023,\"month\":3,\"day\":16},{\"year\":2023,\"month\":3,\"day\":17},{\"year\":2023,\"month\":3,\"day\":18},{\"year\":2023,\"month\":3,\"day\":19},{\"year\":2023,\"month\":3,\"day\":20},{\"year\":2023,\"month\":3,\"day\":21},{\"year\":2023,\"month\":3,\"day\":22},{\"year\":2023,\"month\":3,\"day\":23},{\"year\":2023,\"month\":3,\"day\":24},{\"year\":2023,\"month\":3,\"day\":25},{\"year\":2023,\"month\":3,\"day\":26},{\"year\":2023,\"month\":3,\"day\":27},{\"year\":2023,\"month\":3,\"day\":28},{\"year\":2023,\"month\":3,\"day\":29},{\"year\":2023,\"month\":3,\"day\":30},{\"year\":2023,\"month\":4,\"day\":1},{\"year\":2023,\"month\":4,\"day\":2},{\"year\":2023,\"month\":4,\"day\":3},{\"year\":2023,\"month\":4,\"day\":4},{\"year\":2023,\"month\":4,\"day\":5},{\"year\":2023,\"month\":4,\"day\":6},{\"year\":2023,\"month\":4,\"day\":7},{\"year\":2023,\"month\":4,\"day\":8},{\"year\":2023,\"month\":4,\"day\":9},{\"year\":2023,\"month\":4,\"day\":10},{\"year\":2023,\"month\":4,\"day\":11},{\"year\":2023,\"month\":4,\"day\":12},{\"year\":2023,\"month\":4,\"day\":13},{\"year\":2023,\"month\":4,\"day\":14},{\"year\":2023,\"month\":4,\"day\":15},{\"year\":2023,\"month\":4,\"day\":16},{\"year\":2023,\"month\":4,\"day\":17},{\"year\":2023,\"month\":4,\"day\":18},{\"year\":2023,\"month\":4,\"day\":19},{\"year\":2023,\"month\":4,\"day\":20},{\"year\":2023,\"month\":4,\"day\":21},{\"year\":2023,\"month\":4,\"day\":22},{\"year\":2023,\"month\":4,\"day\":23},{\"year\":2023,\"month\":4,\"day\":24},{\"year\":2023,\"month\":4,\"day\":25},{\"year\":2023,\"month\":4,\"day\":26},{\"year\":2023,\"month\":4,\"day\":27},{\"year\":2023,\"month\":4,\"day\":28},{\"year\":2023,\"month\":4,\"day\":29},{\"year\":2023,\"month\":5,\"day\":1},{\"year\":2023,\"month\":5,\"day\":2},{\"year\":2023,\"month\":5,\"day\":3},{\"year\":2023,\"month\":5,\"day\":4},{\"year\":2023,\"month\":5,\"day\":5},{\"year\":2023,\"month\":5,\"day\":6},{\"year\":2023,\"month\":5,\"day\":7},{\"year\":2023,\"month\":5,\"day\":8},{\"year\":2023,\"month\":5,\"day\":9},{\"year\":2023,\"month\":5,\"day\":10},{\"year\":2023,\"month\":5,\"day\":11},{\"year\":2023,\"month\":5,\"day\":12},{\"year\":2023,\"month\":5,\"day\":13},{\"year\":2023,\"month\":5,\"day\":14},{\"year\":2023,\"month\":5,\"day\":15},{\"year\":2023,\"month\":5,\"day\":16},{\"year\":2023,\"month\":5,\"day\":17},{\"year\":2023,\"month\":5,\"day\":18},{\"year\":2023,\"month\":5,\"day\":19},{\"year\":2023,\"month\":5,\"day\":20},{\"year\":2023,\"month\":5,\"day\":21},{\"year\":2023,\"month\":5,\"day\":22},{\"year\":2023,\"month\":5,\"day\":23},{\"year\":2023,\"month\":5,\"day\":24},{\"year\":2023,\"month\":5,\"day\":25},{\"year\":2023,\"month\":5,\"day\":26},{\"year\":2023,\"month\":5,\"day\":27},{\"year\":2023,\"month\":5,\"day\":28},{\"year\":2023,\"month\":5,\"day\":29},{\"year\":2023,\"month\":5,\"day\":30},{\"year\":2023,\"month\":6,\"day\":1},{\"year\":2023,\"month\":6,\"day\":2},{\"year\":2023,\"month\":6,\"day\":3},{\"year\":2023,\"month\":6,\"day\":4},{\"year\":2023,\"month\":6,\"day\":5},{\"year\":2023,\"month\":6,\"day\":6},{\"year\":2023,\"month\":6,\"day\":7},{\"year\":2023,\"month\":6,\"day\":8},{\"year\":2023,\"month\":6,\"day\":9},{\"year\":2023,\"month\":6,\"day\":10},{\"year\":2023,\"month\":6,\"day\":11},{\"year\":2023,\"month\":6,\"day\":12},{\"year\":2023,\"month\":6,\"day\":13},{\"year\":2023,\"month\":6,\"day\":14},{\"year\":2023,\"month\":6,\"day\":15},{\"year\":2023,\"month\":6,\"day\":16},{\"year\":2023,\"month\":6,\"day\":17},{\"year\":2023,\"month\":6,\"day\":18},{\"year\":2023,\"month\":6,\"day\":19},{\"year\":2023,\"month\":6,\"day\":20},{\"year\":2023,\"month\":6,\"day\":21},{\"year\":2023,\"month\":6,\"day\":22},{\"year\":2023,\"month\":6,\"day\":23},{\"year\":2023,\"month\":6,\"day\":24},{\"year\":2023,\"month\":6,\"day\":25},{\"year\":2023,\"month\":6,\"day\":26},{\"year\":2023,\"month\":6,\"day\":27},{\"year\":2023,\"month\":6,\"day\":28},{\"year\":2023,\"month\":6,\"day\":29},{\"year\":2023,\"month\":7,\"day\":1},{\"year\":2023,\"month\":7,\"day\":2},{\"year\":2023,\"month\":7,\"day\":3},{\"year\":2023,\"month\":7,\"day\":4},{\"year\":2023,\"month\":7,\"day\":5},{\"year\":2023,\"month\":7,\"day\":6},{\"year\":2023,\"month\":7,\"day\":7},{\"year\":2023,\"month\":7,\"day\":8},{\"year\":2023,\"month\":7,\"day\":9},{\"year\":2023,\"month\":7,\"day\":10},{\"year\":2023,\"month\":7,\"day\":11},{\"year\":2023,\"month\":7,\"day\":12},{\"year\":2023,\"month\":7,\"day\":13},{\"year\":2023,\"month\":7,\"day\":14},{\"year\":2023,\"month\":7,\"day\":15},{\"year\":2023,\"month\":7,\"day\":16},{\"year\":2023,\"month\":7,\"day\":17},{\"year\":2023,\"month\":7,\"day\":18},{\"year\":2023,\"month\":7,\"day\":19},{\"year\":2023,\"month\":7,\"day\":20},{\"year\":2023,\"month\":7,\"day\":21},{\"year\":2023,\"month\":7,\"day\":22},{\"year\":2023,\"month\":7,\"day\":23},{\"year\":2023,\"month\":7,\"day\":24},{\"year\":2023,\"month\":7,\"day\":25},{\"year\":2023,\"month\":7,\"day\":26},{\"year\":2023,\"month\":7,\"day\":27},{\"year\":2023,\"month\":7,\"day\":28},{\"year\":2023,\"month\":7,\"day\":29},{\"year\":2023,\"month\":7,\"day\":30},{\"year\":2023,\"month\":8,\"day\":1},{\"year\":2023,\"month\":8,\"day\":2},{\"year\":2023,\"month\":8,\"day\":3},{\"year\":2023,\"month\":8,\"day\":4},{\"year\":2023,\"month\":8,\"day\":5},{\"year\":2023,\"month\":8,\"day\":6},{\"year\":2023,\"month\":8,\"day\":7},{\"year\":2023,\"month\":8,\"day\":8},{\"year\":2023,\"month\":8,\"day\":9},{\"year\":2023,\"month\":8,\"day\":10},{\"year\":2023,\"month\":8,\"day\":11},{\"year\":2023,\"month\":8,\"day\":12},{\"year\":2023,\"month\":8,\"day\":13},{\"year\":2023,\"month\":8,\"day\":14},{\"year\":2023,\"month\":8,\"day\":15},{\"year\":2023,\"month\":8,\"day\":16},{\"year\":2023,\"month\":8,\"day\":17},{\"year\":2023,\"month\":8,\"day\":18},{\"year\":2023,\"month\":8,\"day\":19},{\"year\":2023,\"month\":8,\"day\":20},{\"year\":2023,\"month\":8,\"day\":21},{\"year\":2023,\"month\":8,\"day\":22},{\"year\":2023,\"month\":8,\"day\":23},{\"year\":2023,\"month\":8,\"day\":24},{\"year\":2023,\"month\":8,\"day\":25},{\"year\":2023,\"month\":8,\"day\":26},{\"year\":2023,\"month\":8,\"day\":27},{\"year\":2023,\"month\":8,\"day\":28},{\"year\":2023,\"month\":8,\"day\":29},{\"year\":2023,\"month\":8,\"day\":30},{\"year\":2023,\"month\":9,\"day\":1},{\"year\":2023,\"month\":9,\"day\":2},{\"year\":2023,\"month\":9,\"day\":3},{\"year\":2023,\"month\":9,\"day\":4},{\"year\":2023,\"month\":9,\"day\":5},{\"year\":2023,\"month\":9,\"day\":6},{\"year\":2023,\"month\":9,\"day\":7},{\"year\":2023,\"month\":9,\"day\":8},{\"year\":2023,\"month\":9,\"day\":9},{\"year\":2023,\"month\":9,\"day\":10},{\"year\":2023,\"month\":9,\"day\":11},{\"year\":2023,\"month\":9,\"day\":12},{\"year\":2023,\"month\":9,\"day\":13},{\"year\":2023,\"month\":9,\"day\":14},{\"year\":2023,\"month\":9,\"day\":15},{\"year\":2023,\"month\":9,\"day\":16},{\"year\":2023,\"month\":9,\"day\":17},{\"year\":2023,\"month\":9,\"day\":18},{\"year\":2023,\"month\":9,\"day\":19},{\"year\":2023,\"month\":9,\"day\":20},{\"year\":2023,\"month\":9,\"day\":21},{\"year\":2023,\"month\":9,\"day\":22},{\"year\":2023,\"month\":9,\"day\":23},{\"year\":2023,\"month\":9,\"day\":24},{\"year\":2023,\"month\":9,\"day\":25},{\"year\":2023,\"month\":9,\"day\":26},{\"year\":2023,\"month\":9,\"day\":27},{\"year\":2023,\"month\":9,\"day\":28},{\"year\":2023,\"month\":9,\"day\":29},{\"year\":2023,\"month\":10,\"day\":1},{\"year\":2023,\"month\":10,\"day\":2},{\"year\":2023,\"month\":10,\"day\":3},{\"year\":2023,\"month\":10,\"day\":4},{\"year\":2023,\"month\":10,\"day\":5},{\"year\":2023,\"month\":10,\"day\":6},{\"year\":2023,\"month\":10,\"day\":7},{\"year\":2023,\"month\":10,\"day\":8},{\"year\":2023,\"month\":10,\"day\":9},{\"year\":2023,\"month\":10,\"day\":10},{\"year\":2023,\"month\":10,\"day\":11},{\"year\":2023,\"month\":10,\"day\":12},{\"year\":2023,\"month\":10,\"day\":13},{\"year\":2023,\"month\":10,\"day\":14},{\"year\":2023,\"month\":10,\"day\":15},{\"year\":2023,\"month\":10,\"day\":16},{\"year\":2023,\"month\":10,\"day\":17},{\"year\":2023,\"month\":10,\"day\":18},{\"year\":2023,\"month\":10,\"day\":19},{\"year\":2023,\"month\":10,\"day\":20},{\"year\":2023,\"month\":10,\"day\":21},{\"year\":2023,\"month\":10,\"day\":22},{\"year\":2023,\"month\":10,\"day\":23},{\"year\":2023,\"month\":10,\"day\":24},{\"year\":2023,\"month\":10,\"day\":25},{\"year\":2023,\"month\":10,\"day\":26},{\"year\":2023,\"month\":10,\"day\":27},{\"year\":2023,\"month\":10,\"day\":28},{\"year\":2023,\"month\":10,\"day\":29},{\"year\":2023,\"month\":10,\"day\":30},{\"year\":2023,\"month\":11,\"day\":1},{\"year\":2023,\"month\":11,\"day\":2},{\"year\":2023,\"month\":11,\"day\":3},{\"year\":2023,\"month\":11,\"day\":4},{\"year\":2023,\"month\":11,\"day\":5},{\"year\":2023,\"month\":11,\"day\":6},{\"year\":2023,\"month\":11,\"day\":7},{\"year\":2023,\"month\":11,\"day\":8},{\"year\":2023,\"month\":11,\"day\":9},{\"year\":2023,\"month\":11,\"day\":10},{\"year\":2023,\"month\":11,\"day\":11},{\"year\":2023,\"month\":11,\"day\":12},{\"year\":2023,\"month\":11,\"day\":13},{\"year\":2023,\"month\":11,\"day\":14},{\"year\":2023,\"month\":11,\"day\":15},{\"year\":2023,\"month\":11,\"day\":16},{\"year\":2023,\"month\":11,\"day\":17},{\"year\":2023,\"month\":11,\"day\":18},{\"year\":2023,\"month\":11,\"day\":19},{\"year\":2023,\"month\":11,\"day\":20},{\"year\":2023,\"month\":11,\"day\":21},{\"year\":2023,\"month\":11,\"day\":22},{\"year\":2023,\"month\":11,\"day\":23},{\"year\":2023,\"month\":11,\"day\":24},{\"year\":2023,\"month\":11,\"day\":25},{\"year\":2023,\"month\":11,\"day\":26},{\"year\":2023,\"month\":11,\"day\":27},{\"year\":2023,\"month\":11,\"day\":28},{\"year\":2023,\"month\":11,\"day\":29},{\"year\":2023,\"month\":12,\"day\":1},{\"year\":2023,\"month\":12,\"day\":2},{\"year\":2023,\"month\":12,\"day\":3},{\"year\":2023,\"month\":12,\"day\":4},{\"year\":2023,\"month\":12,\"day\":5},{\"year\":2023,\"month\":12,\"day\":6},{\"year\":2023,\"month\":12,\"day\":7},{\"year\":2023,\"month\":12,\"day\":8},{\"year\":2023,\"month\":12,\"day\":9},{\"year\":2023,\"month\":12,\"day\":10},{\"year\":2023,\"month\":12,\"day\":11},{\"year\":2023,\"month\":12,\"day\":12},{\"year\":2023,\"month\":12,\"day\":13},{\"year\":2023,\"month\":12,\"day\":14},{\"year\":2023,\"month\":12,\"day\":15},{\"year\":2023,\"month\":12,\"day\":16},{\"year\":2023,\"month\":12,\"day\":17},{\"year\":2023,\"month\":12,\"day\":18},{\"year\":2023,\"month\":12,\"day\":19},{\"year\":2023,\"month\":12,\"day\":20},{\"year\":2023,\"month\":12,\"day\":21},{\"year\":2023,\"month\":12,\"day\":22},{\"year\":2023,\"month\":12,\"day\":23},{\"year\":2023,\"month\":12,\"day\":24},{\"year\":2023,\"month\":12,\"day\":25},{\"year\":2023,\"month\":12,\"day\":26},{\"year\":2023,\"month\":12,\"day\":27},{\"year\":2023,\"month\":12,\"day\":28},{\"year\":2023,\"month\":12,\"day\":29},{\"year\":2023,\"month\":12,\"day\":30},{\"year\":2024,\"month\":1,\"day\":1},{\"year\":2024,\"month\":1,\"day\":2},{\"year\":2024,\"month\":1,\"day\":3},{\"year\":2024,\"month\":1,\"day\":4},{\"year\":2024,\"month\":1,\"day\":5},{\"year\":2024,\"month\":1,\"day\":6},{\"year\":2024,\"month\":1,\"day\":7},{\"year\":2024,\"month\":1,\"day\":8},{\"year\":2024,\"month\":1,\"day\":9},{\"year\":2024,\"month\":1,\"day\":10},{\"year\":2024,\"month\":1,\"day\":11},{\"year\":2024,\"month\":1,\"day\":12},{\"year\":2024,\"month\":1,\"day\":13},{\"year\":2024,\"month\":1,\"day\":14},{\"year\":2024,\"month\":1,\"day\":15},{\"year\":2024,\"month\":1,\"day\":16},{\"year\":2024,\"month\":1,\"day\":17},{\"year\":2024,\"month\":1,\"day\":18},{\"year\":2024,\"month\":1,\"day\":19},{\"year\":2024,\"month\":1,\"day\":20},{\"year\":2024,\"month\":1,\"day\":21},{\"year\":2024,\"month\":1,\"day\":22},{\"year\":2024,\"month\":1,\"day\":23},{\"year\":2024,\"month\":1,\"day\":24},{\"year\":2024,\"month\":1,\"day\":25},{\"year\":2024,\"month\":1,\"day\":26},{\"year\":2024,\"month\":1,\"day\":27},{\"year\":2024,\"month\":1,\"day\":28},{\"year\":2024,\"month\":1,\"day\":29},{\"year\":2024,\"month\":1,\"day\":30},{\"year\":2024,\"month\":2,\"day\":1},{\"year\":2024,\"month\":2,\"day\":2},{\"year\":2024,\"month\":2,\"day\":3},{\"year\":2024,\"month\":2,\"day\":4},{\"year\":2024,\"month\":2,\"day\":5},{\"year\":2024,\"month\":2,\"day\":6},{\"year\":2024,\"month\":2,\"day\":7},{\"year\":2024,\"month\":2,\"day\":8},{\"year\":2024,\"month\":2,\"day\":9},{\"year\":2024,\"month\":2,\"day\":10},{\"year\":2024,\"month\":2,\"day\":11},{\"year\":2024,\"month\":2,\"day\":12},{\"year\":2024,\"month\":2,\"day\":13},{\"year\":2024,\"month\":2,\"day\":14},{\"year\":2024,\"month\":2,\"day\":15},{\"year\":2024,\"month\":2,\"day\":16},{\"year\":2024,\"month\":2,\"day\":17},{\"year\":2024,\"month\":2,\"day\":18},{\"year\":2024,\"month\":2,\"day\":19},{\"year\":2024,\"month\":2,\"day\":20},{\"year\":2024,\"month\":2,\"day\":21},{\"year\":2024,\"month\":2,\"day\":22},{\"year\":2024,\"month\":2,\"day\":23},{\"year\":2024,\"month\":2,\"day\":24},{\"year\":2024,\"month\":2,\"day\":25},{\"year\":2024,\"month\":2,\"day\":26},{\"year\":2024,\"month\":2,\"day\":27},{\"year\":2024,\"month\":2,\"day\":28},{\"year\":2024,\"month\":3,\"day\":1},{\"year\":2024,\"month\":3,\"day\":2},{\"year\":2024,\"month\":3,\"day\":3},{\"year\":2024,\"month\":3,\"day\":4},{\"year\":2024,\"month\":3,\"day\":5},{\"year\":2024,\"month\":3,\"day\":6},{\"year\":2024,\"month\":3,\"day\":7},{\"year\":2024,\"month\":3,\"day\":8},{\"year\":2024,\"month\":3,\"day\":9},{\"year\":2024,\"month\":3,\"day\":10},{\"year\":2024,\"month\":3,\"day\":11},{\"year\":2024,\"month\":3,\"day\":12},{\"year\":2024,\"month\":3,\"day\":13},{\"year\":2024,\"month\":3,\"day\":14},{\"year\":2024,\"month\":3,\"day\":15},{\"year\":2024,\"month\":3,\"day\":16},{\"year\":2024,\"month\":3,\"day\":17},{\"year\":2024,\"month\":3,\"day\":18},{\"year\":2024,\"month\":3,\"day\":19},{\"year\":2024,\"month\":3,\"day\":20},{\"year\":2024,\"month\":3,\"day\":21},{\"year\":2024,\"month\":3,\"day\":22},{\"year\":2024,\"month\":3,\"day\":23},{\"year\":2024,\"month\":3,\"day\":24},{\"year\":2024,\"month\":3,\"day\":25},{\"year\":2024,\"month\":3,\"day\":26},{\"year\":2024,\"month\":3,\"day\":27},{\"year\":2024,\"month\":3,\"day\":28},{\"year\":2024,\"month\":3,\"day\":29},{\"year\":2024,\"month\":3,\"day\":30},{\"year\":2024,\"month\":4,\"day\":1},{\"year\":2024,\"month\":4,\"day\":2},{\"year\":2024,\"month\":4,\"day\":3},{\"year\":2024,\"month\":4,\"day\":4},{\"year\":2024,\"month\":4,\"day\":5},{\"year\":2024,\"month\":4,\"day\":6},{\"year\":2024,\"month\":4,\"day\":7},{\"year\":2024,\"month\":4,\"day\":8},{\"year\":2024,\"month\":4,\"day\":9},{\"year\":2024,\"month\":4,\"day\":10},{\"year\":2024,\"month\":4,\"day\":11},{\"year\":2024,\"month\":4,\"day\":12},{\"year\":2024,\"month\":4,\"day\":13},{\"year\":2024,\"month\":4,\"day\":14},{\"year\":2024,\"month\":4,\"day\":15},{\"year\":2024,\"month\":4,\"day\":16},{\"year\":2024,\"month\":4,\"day\":17},{\"year\":2024,\"month\":4,\"day\":18},{\"year\":2024,\"month\":4,\"day\":19},{\"year\":2024,\"month\":4,\"day\":20},{\"year\":2024,\"month\":4,\"day\":21},{\"year\":2024,\"month\":4,\"day\":22},{\"year\":2024,\"month\":4,\"day\":23},{\"year\":2024,\"month\":4,\"day\":24},{\"year\":2024,\"month\":4,\"day\":25},{\"year\":2024,\"month\":4,\"day\":26},{\"year\":2024,\"month\":4,\"day\":27},{\"year\":2024,\"month\":4,\"day\":28},{\"year\":2024,\"month\":4,\"day\":29},{\"year\":2024,\"month\":5,\"day\":1},{\"year\":2024,\"month\":5,\"day\":2},{\"year\":2024,\"month\":5,\"day\":3},{\"year\":2024,\"month\":5,\"day\":4},{\"year\":2024,\"month\":5,\"day\":5},{\"year\":2024,\"month\":5,\"day\":6},{\"year\":2024,\"month\":5,\"day\":7},{\"year\":2024,\"month\":5,\"day\":8},{\"year\":2024,\"month\":5,\"day\":9},{\"year\":2024,\"month\":5,\"day\":10},{\"year\":2024,\"month\":5,\"day\":11},{\"year\":2024,\"month\":5,\"day\":12},{\"year\":2024,\"month\":5,\"day\":13},{\"year\":2024,\"month\":5,\"day\":14},{\"year\":2024,\"month\":5,\"day\":15},{\"year\":2024,\"month\":5,\"day\":16},{\"year\":2024,\"month\":5,\"day\":17},{\"year\":2024,\"month\":5,\"day\":18},{\"year\":2024,\"month\":5,\"day\":19},{\"year\":2024,\"month\":5,\"day\":20},{\"year\":2024,\"month\":5,\"day\":21},{\"year\":2024,\"month\":5,\"day\":22},{\"year\":2024,\"month\":5,\"day\":23},{\"year\":2024,\"month\":5,\"day\":24},{\"year\":2024,\"month\":5,\"day\":25},{\"year\":2024,\"month\":5,\"day\":26},{\"year\":2024,\"month\":5,\"day\":27},{\"year\":2024,\"month\":5,\"day\":28},{\"year\":2024,\"month\":5,\"day\":29},{\"year\":2024,\"month\":5,\"day\":30},{\"year\":2024,\"month\":6,\"day\":1},{\"year\":2024,\"month\":6,\"day\":2},{\"year\":2024,\"month\":6,\"day\":3},{\"year\":2024,\"month\":6,\"day\":4},{\"year\":2024,\"month\":6,\"day\":5},{\"year\":2024,\"month\":6,\"day\":6},{\"year\":2024,\"month\":6,\"day\":7},{\"year\":2024,\"month\":6,\"day\":8},{\"year\":2024,\"month\":6,\"day\":9},{\"year\":2024,\"month\":6,\"day\":10},{\"year\":2024,\"month\":6,\"day\":11},{\"year\":2024,\"month\":6,\"day\":12},{\"year\":2024,\"month\":6,\"day\":13},{\"year\":2024,\"month\":6,\"day\":14},{\"year\":2024,\"month\":6,\"day\":15},{\"year\":2024,\"month\":6,\"day\":16},{\"year\":2024,\"month\":6,\"day\":17},{\"year\":2024,\"month\":6,\"day\":18},{\"year\":2024,\"month\":6,\"day\":19},{\"year\":2024,\"month\":6,\"day\":20},{\"year\":2024,\"month\":6,\"day\":21},{\"year\":2024,\"month\":6,\"day\":22},{\"year\":2024,\"month\":6,\"day\":23},{\"year\":2024,\"month\":6,\"day\":24},{\"year\":2024,\"month\":6,\"day\":25},{\"year\":2024,\"month\":6,\"day\":26},{\"year\":2024,\"month\":6,\"day\":27},{\"year\":2024,\"month\":6,\"day\":28},{\"year\":2024,\"month\":6,\"day\":29},{\"year\":2024,\"month\":7,\"day\":1},{\"year\":2024,\"month\":7,\"day\":2},{\"year\":2024,\"month\":7,\"day\":3},{\"year\":2024,\"month\":7,\"day\":4},{\"year\":2024,\"month\":7,\"day\":5},{\"year\":2024,\"month\":7,\"day\":6},{\"year\":2024,\"month\":7,\"day\":7},{\"year\":2024,\"month\":7,\"day\":8},{\"year\":2024,\"month\":7,\"day\":9},{\"year\":2024,\"month\":7,\"day\":10},{\"year\":2024,\"month\":7,\"day\":11},{\"year\":2024,\"month\":7,\"day\":12},{\"year\":2024,\"month\":7,\"day\":13},{\"year\":2024,\"month\":7,\"day\":14},{\"year\":2024,\"month\":7,\"day\":15},{\"year\":2024,\"month\":7,\"day\":16},{\"year\":2024,\"month\":7,\"day\":17},{\"year\":2024,\"month\":7,\"day\":18},{\"year\":2024,\"month\":7,\"day\":19},{\"year\":2024,\"month\":7,\"day\":20},{\"year\":2024,\"month\":7,\"day\":21},{\"year\":2024,\"month\":7,\"day\":22},{\"year\":2024,\"month\":7,\"day\":23},{\"year\":2024,\"month\":7,\"day\":24},{\"year\":2024,\"month\":7,\"day\":25},{\"year\":2024,\"month\":7,\"day\":26},{\"year\":2024,\"month\":7,\"day\":27},{\"year\":2024,\"month\":7,\"day\":28},{\"year\":2024,\"month\":7,\"day\":29},{\"year\":2024,\"month\":7,\"day\":30},{\"year\":2024,\"month\":8,\"day\":1},{\"year\":2024,\"month\":8,\"day\":2},{\"year\":2024,\"month\":8,\"day\":3},{\"year\":2024,\"month\":8,\"day\":4},{\"year\":2024,\"month\":8,\"day\":5},{\"year\":2024,\"month\":8,\"day\":6},{\"year\":2024,\"month\":8,\"day\":7},{\"year\":2024,\"month\":8,\"day\":8},{\"year\":2024,\"month\":8,\"day\":9},{\"year\":2024,\"month\":8,\"day\":10},{\"year\":2024,\"month\":8,\"day\":11},{\"year\":2024,\"month\":8,\"day\":12},{\"year\":2024,\"month\":8,\"day\":13},{\"year\":2024,\"month\":8,\"day\":14},{\"year\":2024,\"month\":8,\"day\":15},{\"year\":2024,\"month\":8,\"day\":16},{\"year\":2024,\"month\":8,\"day\":17},{\"year\":2024,\"month\":8,\"day\":18},{\"year\":2024,\"month\":8,\"day\":19},{\"year\":2024,\"month\":8,\"day\":20},{\"year\":2024,\"month\":8,\"day\":21},{\"year\":2024,\"month\":8,\"day\":22},{\"year\":2024,\"month\":8,\"day\":23},{\"year\":2024,\"month\":8,\"day\":24},{\"year\":2024,\"month\":8,\"day\":25},{\"year\":2024,\"month\":8,\"day\":26},{\"year\":2024,\"month\":8,\"day\":27},{\"year\":2024,\"month\":8,\"day\":28},{\"year\":2024,\"month\":8,\"day\":29},{\"year\":2024,\"month\":8,\"day\":30},{\"year\":2024,\"month\":9,\"day\":1},{\"year\":2024,\"month\":9,\"day\":2},{\"year\":2024,\"month\":9,\"day\":3},{\"year\":2024,\"month\":9,\"day\":4},{\"year\":2024,\"month\":9,\"day\":5},{\"year\":2024,\"month\":9,\"day\":6},{\"year\":2024,\"month\":9,\"day\":7},{\"year\":2024,\"month\":9,\"day\":8},{\"year\":2024,\"month\":9,\"day\":9},{\"year\":2024,\"month\":9,\"day\":10},{\"year\":2024,\"month\":9,\"day\":11},{\"year\":2024,\"month\":9,\"day\":12},{\"year\":2024,\"month\":9,\"day\":13},{\"year\":2024,\"month\":9,\"day\":14},{\"year\":2024,\"month\":9,\"day\":15},{\"year\":2024,\"month\":9,\"day\":16},{\"year\":2024,\"month\":9,\"day\":17},{\"year\":2024,\"month\":9,\"day\":18},{\"year\":2024,\"month\":9,\"day\":19},{\"year\":2024,\"month\":9,\"day\":20},{\"year\":2024,\"month\":9,\"day\":21},{\"year\":2024,\"month\":9,\"day\":22},{\"year\":2024,\"month\":9,\"day\":23},{\"year\":2024,\"month\":9,\"day\":24},{\"year\":2024,\"month\":9,\"day\":25},{\"year\":2024,\"month\":9,\"day\":26},{\"year\":2024,\"month\":9,\"day\":27},{\"year\":2024,\"month\":9,\"day\":28},{\"year\":2024,\"month\":9,\"day\":29},{\"year\":2024,\"month\":10,\"day\":1},{\"year\":2024,\"month\":10,\"day\":2},{\"year\":2024,\"month\":10,\"day\":3},{\"year\":2024,\"month\":10,\"day\":4},{\"year\":2024,\"month\":10,\"day\":5},{\"year\":2024,\"month\":10,\"day\":6},{\"year\":2024,\"month\":10,\"day\":7},{\"year\":2024,\"month\":10,\"day\":8},{\"year\":2024,\"month\":10,\"day\":9},{\"year\":2024,\"month\":10,\"day\":10},{\"year\":2024,\"month\":10,\"day\":11},{\"year\":2024,\"month\":10,\"day\":12},{\"year\":2024,\"month\":10,\"day\":13},{\"year\":2024,\"month\":10,\"day\":14},{\"year\":2024,\"month\":10,\"day\":15},{\"year\":2024,\"month\":10,\"day\":16},{\"year\":2024,\"month\":10,\"day\":17},{\"year\":2024,\"month\":10,\"day\":18},{\"year\":2024,\"month\":10,\"day\":19},{\"year\":2024,\"month\":10,\"day\":20},{\"year\":2024,\"month\":10,\"day\":21},{\"year\":2024,\"month\":10,\"day\":22},{\"year\":2024,\"month\":10,\"day\":23},{\"year\":2024,\"month\":10,\"day\":24},{\"year\":2024,\"month\":10,\"day\":25},{\"year\":2024,\"month\":10,\"day\":26},{\"year\":2024,\"month\":10,\"day\":27},{\"year\":2024,\"month\":10,\"day\":28},{\"year\":2024,\"month\":10,\"day\":29},{\"year\":2024,\"month\":10,\"day\":30},{\"year\":2024,\"month\":11,\"day\":1},{\"year\":2024,\"month\":11,\"day\":2},{\"year\":2024,\"month\":11,\"day\":3},{\"year\":2024,\"month\":11,\"day\":4},{\"year\":2024,\"month\":11,\"day\":5},{\"year\":2024,\"month\":11,\"day\":6},{\"year\":2024,\"month\":11,\"day\":7},{\"year\":2024,\"month\":11,\"day\":8},{\"year\":2024,\"month\":11,\"day\":9},{\"year\":2024,\"month\":11,\"day\":10},{\"year\":2024,\"month\":11,\"day\":11},{\"year\":2024,\"month\":11,\"day\":12},{\"year\":2024,\"month\":11,\"day\":13},{\"year\":2024,\"month\":11,\"day\":14},{\"year\":2024,\"month\":11,\"day\":15},{\"year\":2024,\"month\":11,\"day\":16},{\"year\":2024,\"month\":11,\"day\":17},{\"year\":2024,\"month\":11,\"day\":18},{\"year\":2024,\"month\":11,\"day\":19},{\"year\":2024,\"month\":11,\"day\":20},{\"year\":2024,\"month\":11,\"day\":21},{\"year\":2024,\"month\":11,\"day\":22},{\"year\":2024,\"month\":11,\"day\":23},{\"year\":2024,\"month\":11,\"day\":24},{\"year\":2024,\"month\":11,\"day\":25},{\"year\":2024,\"month\":11,\"day\":26},{\"year\":2024,\"month\":11,\"day\":27},{\"year\":2024,\"month\":11,\"day\":28},{\"year\":2024,\"month\":11,\"day\":29},{\"year\":2024,\"month\":12,\"day\":1},{\"year\":2024,\"month\":12,\"day\":2},{\"year\":2024,\"month\":12,\"day\":3},{\"year\":2024,\"month\":12,\"day\":4},{\"year\":2024,\"month\":12,\"day\":5},{\"year\":2024,\"month\":12,\"day\":6},{\"year\":2024,\"month\":12,\"day\":7},{\"year\":2024,\"month\":12,\"day\":8},{\"year\":2024,\"month\":12,\"day\":9},{\"year\":2024,\"month\":12,\"day\":10},{\"year\":2024,\"month\":12,\"day\":11},{\"year\":2024,\"month\":12,\"day\":12},{\"year\":2024,\"month\":12,\"day\":13},{\"year\":2024,\"month\":12,\"day\":14},{\"year\":2024,\"month\":12,\"day\":15},{\"year\":2024,\"month\":12,\"day\":16},{\"year\":2024,\"month\":12,\"day\":17},{\"year\":2024,\"month\":12,\"day\":18},{\"year\":2024,\"month\":12,\"day\":19},{\"year\":2024,\"month\":12,\"day\":20},{\"year\":2024,\"month\":12,\"day\":21},{\"year\":2024,\"month\":12,\"day\":22},{\"year\":2024,\"month\":12,\"day\":23},{\"year\":2024,\"month\":12,\"day\":24},{\"year\":2024,\"month\":12,\"day\":25},{\"year\":2024,\"month\":12,\"day\":26},{\"year\":2024,\"month\":12,\"day\":27},{\"year\":2024,\"month\":12,\"day\":28},{\"year\":2024,\"month\":12,\"day\":29},{\"year\":2024,\"month\":12,\"day\":30},{\"year\":2025,\"month\":1,\"day\":1},{\"year\":2025,\"month\":1,\"day\":2},{\"year\":2025,\"month\":1,\"day\":3},{\"year\":2025,\"month\":1,\"day\":4},{\"year\":2025,\"month\":1,\"day\":5},{\"year\":2025,\"month\":1,\"day\":6},{\"year\":2025,\"month\":1,\"day\":7},{\"year\":2025,\"month\":1,\"day\":8},{\"year\":2025,\"month\":1,\"day\":9},{\"year\":2025,\"month\":1,\"day\":10},{\"year\":2025,\"month\":1,\"day\":11},{\"year\":2025,\"month\":1,\"day\":12},{\"year\":2025,\"month\":1,\"day\":13},{\"year\":2025,\"month\":1,\"day\":14},{\"year\":2025,\"month\":1,\"day\":15},{\"year\":2025,\"month\":1,\"day\":16},{\"year\":2025,\"month\":1,\"day\":17},{\"year\":2025,\"month\":1,\"day\":18},{\"year\":2025,\"month\":1,\"day\":19},{\"year\":2025,\"month\":1,\"day\":20},{\"year\":2025,\"month\":1,\"day\":21},{\"year\":2025,\"month\":1,\"day\":22},{\"year\":2025,\"month\":1,\"day\":23},{\"year\":2025,\"month\":1,\"day\":24},{\"year\":2025,\"month\":1,\"day\":25},{\"year\":2025,\"month\":1,\"day\":26},{\"year\":2025,\"month\":1,\"day\":27},{\"year\":2025,\"month\":1,\"day\":28},{\"year\":2025,\"month\":1,\"day\":29},{\"year\":2025,\"month\":1,\"day\":30},{\"year\":2025,\"month\":2,\"day\":1},{\"year\":2025,\"month\":2,\"day\":2},{\"year\":2025,\"month\":2,\"day\":3},{\"year\":2025,\"month\":2,\"day\":4},{\"year\":2025,\"month\":2,\"day\":5},{\"year\":2025,\"month\":2,\"day\":6},{\"year\":2025,\"month\":2,\"day\":7},{\"year\":2025,\"month\":2,\"day\":8},{\"year\":2025,\"month\":2,\"day\":9},{\"year\":2025,\"month\":2,\"day\":10},{\"year\":2025,\"month\":2,\"day\":11},{\"year\":2025,\"month\":2,\"day\":12},{\"year\":2025,\"month\":2,\"day\":13},{\"year\":2025,\"month\":2,\"day\":14},{\"year\":2025,\"month\":2,\"day\":15},{\"year\":2025,\"month\":2,\"day\":16},{\"year\":2025,\"month\":2,\"day\":17},{\"year\":2025,\"month\":2,\"day\":18},{\"year\":2025,\"month\":2,\"day\":19},{\"year\":2025,\"month\":2,\"day\":20},{\"year\":2025,\"month\":2,\"day\":21},{\"year\":2025,\"month\":2,\"day\":22},{\"year\":2025,\"month\":2,\"day\":23},{\"year\":2025,\"month\":2,\"day\":24},{\"year\":2025,\"month\":2,\"day\":25},{\"year\":2025,\"month\":2,\"day\":26},{\"year\":2025,\"month\":2,\"day\":27},{\"year\":2025,\"month\":3,\"day\":1},{\"year\":2025,\"month\":3,\"day\":2},{\"year\":2025,\"month\":3,\"day\":3},{\"year\":2025,\"month\":3,\"day\":4},{\"year\":2025,\"month\":3,\"day\":5},{\"year\":2025,\"month\":3,\"day\":6},{\"year\":2025,\"month\":3,\"day\":7},{\"year\":2025,\"month\":3,\"day\":8},{\"year\":2025,\"month\":3,\"day\":9},{\"year\":2025,\"month\":3,\"day\":10},{\"year\":2025,\"month\":3,\"day\":11},{\"year\":2025,\"month\":3,\"day\":12},{\"year\":2025,\"month\":3,\"day\":13},{\"year\":2025,\"month\":3,\"day\":14},{\"year\":2025,\"month\":3,\"day\":15},{\"year\":2025,\"month\":3,\"day\":16},{\"year\":2025,\"month\":3,\"day\":17},{\"year\":2025,\"month\":3,\"day\":18},{\"year\":2025,\"month\":3,\"day\":19},{\"year\":2025,\"month\":3,\"day\":20},{\"year\":2025,\"month\":3,\"day\":21},{\"year\":2025,\"month\":3,\"day\":22},{\"year\":2025,\"month\":3,\"day\":23},{\"year\":2025,\"month\":3,\"day\":24},{\"year\":2025,\"month\":3,\"day\":25},{\"year\":2025,\"month\":3,\"day\":26},{\"year\":2025,\"month\":3,\"day\":27},{\"year\":2025,\"month\":3,\"day\":28},{\"year\":2025,\"month\":3,\"day\":29},{\"year\":2025,\"month\":3,\"day\":30},{\"year\":2025,\"month\":4,\"day\":1},{\"year\":2025,\"month\":4,\"day\":2},{\"year\":2025,\"month\":4,\"day\":3},{\"year\":2025,\"month\":4,\"day\":4},{\"year\":2025,\"month\":4,\"day\":5},{\"year\":2025,\"month\":4,\"day\":6},{\"year\":2025,\"month\":4,\"day\":7},{\"year\":2025,\"month\":4,\"day\":8},{\"year\":2025,\"month\":4,\"day\":9},{\"year\":2025,\"month\":4,\"day\":10},{\"year\":2025,\"month\":4,\"day\":11},{\"year\":2025,\"month\":4,\"day\":12},{\"year\":2025,\"month\":4,\"day\":13},{\"year\":2025,\"month\":4,\"day\":14},{\"year\":2025,\"month\":4,\"day\":15},{\"year\":2025,\"month\":4,\"day\":16},{\"year\":2025,\"month\":4,\"day\":17},{\"year\":2025,\"month\":4,\"day\":18},{\"year\":2025,\"month\":4,\"day\":19},{\"year\":2025,\"month\":4,\"day\":20},{\"year\":2025,\"month\":4,\"day\":21},{\"year\":2025,\"month\":4,\"day\":22},{\"year\":2025,\"month\":4,\"day\":23},{\"year\":2025,\"month\":4,\"day\":24},{\"year\":2025,\"month\":4,\"day\":25},{\"year\":2025,\"month\":4,\"day\":26},{\"year\":2025,\"month\":4,\"day\":27},{\"year\":2025,\"month\":4,\"day\":28},{\"year\":2025,\"month\":4,\"day\":29},{\"year\":2025,\"month\":5,\"day\":1},{\"year\":2025,\"month\":5,\"day\":2},{\"year\":2025,\"month\":5,\"day\":3},{\"year\":2025,\"month\":5,\"day\":4},{\"year\":2025,\"month\":5,\"day\":5},{\"year\":2025,\"month\":5,\"day\":6},{\"year\":2025,\"month\":5,\"day\":7},{\"year\":2025,\"month\":5,\"day\":8},{\"year\":2025,\"month\":5,\"day\":9},{\"year\":2025,\"month\":5,\"day\":10},{\"year\":2025,\"month\":5,\"day\":11},{\"year\":2025,\"month\":5,\"day\":12},{\"year\":2025,\"month\":5,\"day\":13},{\"year\":2025,\"month\":5,\"day\":14},{\"year\":2025,\"month\":5,\"day\":15},{\"year\":2025,\"month\":5,\"day\":16},{\"year\":2025,\"month\":5,\"day\":17},{\"year\":2025,\"month\":5,\"day\":18},{\"year\":2025,\"month\":5,\"day\":19},{\"year\":2025,\"month\":5,\"day\":20},{\"year\":2025,\"month\":5,\"day\":21},{\"year\":2025,\"month\":5,\"day\":22},{\"year\":2025,\"month\":5,\"day\":23},{\"year\":2025,\"month\":5,\"day\":24},{\"year\":2025,\"month\":5,\"day\":25},{\"year\":2025,\"month\":5,\"day\":26},{\"year\":2025,\"month\":5,\"day\":27},{\"year\":2025,\"month\":5,\"day\":28},{\"year\":2025,\"month\":5,\"day\":29},{\"year\":2025,\"month\":5,\"day\":30},{\"year\":2025,\"month\":6,\"day\":1},{\"year\":2025,\"month\":6,\"day\":2},{\"year\":2025,\"month\":6,\"day\":3},{\"year\":2025,\"month\":6,\"day\":4},{\"year\":2025,\"month\":6,\"day\":5},{\"year\":2025,\"month\":6,\"day\":6},{\"year\":2025,\"month\":6,\"day\":7},{\"year\":2025,\"month\":6,\"day\":8},{\"year\":2025,\"month\":6,\"day\":9},{\"year\":2025,\"month\":6,\"day\":10},{\"year\":2025,\"month\":6,\"day\":11},{\"year\":2025,\"month\":6,\"day\":12},{\"year\":2025,\"month\":6,\"day\":13},{\"year\":2025,\"month\":6,\"day\":14},{\"year\":2025,\"month\":6,\"day\":15},{\"year\":2025,\"month\":6,\"day\":16},{\"year\":2025,\"month\":6,\"day\":17},{\"year\":2025,\"month\":6,\"day\":18},{\"year\":2025,\"month\":6,\"day\":19},{\"year\":2025,\"month\":6,\"day\":20},{\"year\":2025,\"month\":6,\"day\":21},{\"year\":2025,\"month\":6,\"day\":22},{\"year\":2025,\"month\":6,\"day\":23},{\"year\":2025,\"month\":6,\"day\":24},{\"year\":2025,\"month\":6,\"day\":25},{\"year\":2025,\"month\":6,\"day\":26},{\"year\":2025,\"month\":6,\"day\":27},{\"year\":2025,\"month\":6,\"day\":28},{\"year\":2025,\"month\":6,\"day\":29},{\"year\":2025,\"month\":7,\"day\":1},{\"year\":2025,\"month\":7,\"day\":2},{\"year\":2025,\"month\":7,\"day\":3},{\"year\":2025,\"month\":7,\"day\":4},{\"year\":2025,\"month\":7,\"day\":5},{\"year\":2025,\"month\":7,\"day\":6},{\"year\":2025,\"month\":7,\"day\":7},{\"year\":2025,\"month\":7,\"day\":8},{\"year\":2025,\"month\":7,\"day\":9},{\"year\":2025,\"month\":7,\"day\":10},{\"year\":2025,\"month\":7,\"day\":11},{\"year\":2025,\"month\":7,\"day\":12},{\"year\":2025,\"month\":7,\"day\":13},{\"year\":2025,\"month\":7,\"day\":14},{\"year\":2025,\"month\":7,\"day\":15},{\"year\":2025,\"month\":7,\"day\":16},{\"year\":2025,\"month\":7,\"day\":17},{\"year\":2025,\"month\":7,\"day\":18},{\"year\":2025,\"month\":7,\"day\":19},{\"year\":2025,\"month\":7,\"day\":20},{\"year\":2025,\"month\":7,\"day\":21},{\"year\":2025,\"month\":7,\"day\":22},{\"year\":2025,\"month\":7,\"day\":23},{\"year\":2025,\"month\":7,\"day\":24},{\"year\":2025,\"month\":7,\"day\":25},{\"year\":2025,\"month\":7,\"day\":26},{\"year\":2025,\"month\":7,\"day\":27},{\"year\":2025,\"month\":7,\"day\":28},{\"year\":2025,\"month\":7,\"day\":29},{\"year\":2025,\"month\":7,\"day\":30},{\"year\":2025,\"month\":8,\"day\":1},{\"year\":2025,\"month\":8,\"day\":2},{\"year\":2025,\"month\":8,\"day\":3},{\"year\":2025,\"month\":8,\"day\":4},{\"year\":2025,\"month\":8,\"day\":5},{\"year\":2025,\"month\":8,\"day\":6},{\"year\":2025,\"month\":8,\"day\":7},{\"year\":2025,\"month\":8,\"day\":8},{\"year\":2025,\"month\":8,\"day\":9},{\"year\":2025,\"month\":8,\"day\":10},{\"year\":2025,\"month\":8,\"day\":11},{\"year\":2025,\"month\":8,\"day\":12},{\"year\":2025,\"month\":8,\"day\":13},{\"year\":2025,\"month\":8,\"day\":14},{\"year\":2025,\"month\":8,\"day\":15},{\"year\":2025,\"month\":8,\"day\":16},{\"year\":2025,\"month\":8,\"day\":17},{\"year\":2025,\"month\":8,\"day\":18},{\"year\":2025,\"month\":8,\"day\":19},{\"year\":2025,\"month\":8,\"day\":20},{\"year\":2025,\"month\":8,\"day\":21},{\"year\":2025,\"month\":8,\"day\":22},{\"year\":2025,\"month\":8,\"day\":23},{\"year\":2025,\"month\":8,\"day\":24},{\"year\":2025,\"month\":8,\"day\":25},{\"year\":2025,\"month\":8,\"day\":26},{\"year\":2025,\"month\":8,\"day\":27},{\"year\":2025,\"month\":8,\"day\":28},{\"year\":2025,\"month\":8,\"day\":29},{\"year\":2025,\"month\":8,\"day\":30},{\"year\":2025,\"month\":9,\"day\":1},{\"year\":2025,\"month\":9,\"day\":2},{\"year\":2025,\"month\":9,\"day\":3},{\"year\":2025,\"month\":9,\"day\":4},{\"year\":2025,\"month\":9,\"day\":5},{\"year\":2025,\"month\":9,\"day\":6},{\"year\":2025,\"month\":9,\"day\":7},{\"year\":2025,\"month\":9,\"day\":8},{\"year\":2025,\"month\":9,\"day\":9},{\"year\":2025,\"month\":9,\"day\":10},{\"year\":2025,\"month\":9,\"day\":11},{\"year\":2025,\"month\":9,\"day\":12},{\"year\":2025,\"month\":9,\"day\":13},{\"year\":2025,\"month\":9,\"day\":14},{\"year\":2025,\"month\":9,\"day\":15},{\"year\":2025,\"month\":9,\"day\":16},{\"year\":2025,\"month\":9,\"day\":17},{\"year\":2025,\"month\":9,\"day\":18},{\"year\":2025,\"month\":9,\"day\":19},{\"year\":2025,\"month\":9,\"day\":20},{\"year\":2025,\"month\":9,\"day\":21},{\"year\":2025,\"month\":9,\"day\":22},{\"year\":2025,\"month\":9,\"day\":23},{\"year\":2025,\"month\":9,\"day\":24},{\"year\":2025,\"month\":9,\"day\":25},{\"year\":2025,\"month\":9,\"day\":26},{\"year\":2025,\"month\":9,\"day\":27},{\"year\":2025,\"month\":9,\"day\":28},{\"year\":2025,\"month\":9,\"day\":29},{\"year\":2025,\"month\":10,\"day\":1},{\"year\":2025,\"month\":10,\"day\":2},{\"year\":2025,\"month\":10,\"day\":3},{\"year\":2025,\"month\":10,\"day\":4},{\"year\":2025,\"month\":10,\"day\":5},{\"year\":2025,\"month\":10,\"day\":6},{\"year\":2025,\"month\":10,\"day\":7},{\"year\":2025,\"month\":10,\"day\":8},{\"year\":2025,\"month\":10,\"day\":9},{\"year\":2025,\"month\":10,\"day\":10},{\"year\":2025,\"month\":10,\"day\":11},{\"year\":2025,\"month\":10,\"day\":12},{\"year\":2025,\"month\":10,\"day\":13},{\"year\":2025,\"month\":10,\"day\":14},{\"year\":2025,\"month\":10,\"day\":15},{\"year\":2025,\"month\":10,\"day\":16},{\"year\":2025,\"month\":10,\"day\":17},{\"year\":2025,\"month\":10,\"day\":18},{\"year\":2025,\"month\":10,\"day\":19},{\"year\":2025,\"month\":10,\"day\":20},{\"year\":2025,\"month\":10,\"day\":21},{\"year\":2025,\"month\":10,\"day\":22},{\"year\":2025,\"month\":10,\"day\":23},{\"year\":2025,\"month\":10,\"day\":24},{\"year\":2025,\"month\":10,\"day\":25},{\"year\":2025,\"month\":10,\"day\":26},{\"year\":2025,\"month\":10,\"day\":27},{\"year\":2025,\"month\":10,\"day\":28},{\"year\":2025,\"month\":10,\"day\":29},{\"year\":2025,\"month\":10,\"day\":30},{\"year\":2025,\"month\":11,\"day\":1},{\"year\":2025,\"month\":11,\"day\":2},{\"year\":2025,\"month\":11,\"day\":3},{\"year\":2025,\"month\":11,\"day\":4},{\"year\":2025,\"month\":11,\"day\":5},{\"year\":2025,\"month\":11,\"day\":6},{\"year\":2025,\"month\":11,\"day\":7},{\"year\":2025,\"month\":11,\"day\":8},{\"year\":2025,\"month\":11,\"day\":9},{\"year\":2025,\"month\":11,\"day\":10},{\"year\":2025,\"month\":11,\"day\":11},{\"year\":2025,\"month\":11,\"day\":12},{\"year\":2025,\"month\":11,\"day\":13},{\"year\":2025,\"month\":11,\"day\":14},{\"year\":2025,\"month\":11,\"day\":15},{\"year\":2025,\"month\":11,\"day\":16},{\"year\":2025,\"month\":11,\"day\":17},{\"year\":2025,\"month\":11,\"day\":18},{\"year\":2025,\"month\":11,\"day\":19},{\"year\":2025,\"month\":11,\"day\":20},{\"year\":2025,\"month\":11,\"day\":21},{\"year\":2025,\"month\":11,\"day\":22},{\"year\":2025,\"month\":11,\"day\":23},{\"year\":2025,\"month\":11,\"day\":24},{\"year\":2025,\"month\":11,\"day\":25},{\"year\":2025,\"month\":11,\"day\":26},{\"year\":2025,\"month\":11,\"day\":27},{\"year\":2025,\"month\":11,\"day\":28},{\"year\":2025,\"month\":11,\"day\":29},{\"year\":2025,\"month\":12,\"day\":1},{\"year\":2025,\"month\":12,\"day\":2},{\"year\":2025,\"month\":12,\"day\":3},{\"year\":2025,\"month\":12,\"day\":4},{\"year\":2025,\"month\":12,\"day\":5},{\"year\":2025,\"month\":12,\"day\":6},{\"year\":2025,\"month\":12,\"day\":7},{\"year\":2025,\"month\":12,\"day\":8},{\"year\":2025,\"month\":12,\"day\":9},{\"year\":2025,\"month\":12,\"day\":10},{\"year\":2025,\"month\":12,\"day\":11},{\"year\":2025,\"month\":12,\"day\":12},{\"year\":2025,\"month\":12,\"day\":13},{\"year\":2025,\"month\":12,\"day\":14},{\"year\":2025,\"month\":12,\"day\":15},{\"year\":2025,\"month\":12,\"day\":16},{\"year\":2025,\"month\":12,\"day\":17},{\"year\":2025,\"month\":12,\"day\":18},{\"year\":2025,\"month\":12,\"day\":19},{\"year\":2025,\"month\":12,\"day\":20},{\"year\":2025,\"month\":12,\"day\":21},{\"year\":2025,\"month\":12,\"day\":22},{\"year\":2025,\"month\":12,\"day\":23},{\"year\":2025,\"month\":12,\"day\":24},{\"year\":2025,\"month\":12,\"day\":25},{\"year\":2025,\"month\":12,\"day\":26},{\"year\":2025,\"month\":12,\"day\":27},{\"year\":2025,\"month\":12,\"day\":28},{\"year\":2025,\"month\":12,\"day\":29},{\"year\":2025,\"month\":12,\"day\":30},{\"year\":2026,\"month\":1,\"day\":1},{\"year\":2026,\"month\":1,\"day\":2},{\"year\":2026,\"month\":1,\"day\":3},{\"year\":2026,\"month\":1,\"day\":4},{\"year\":2026,\"month\":1,\"day\":5},{\"year\":2026,\"month\":1,\"day\":6},{\"year\":2026,\"month\":1,\"day\":7},{\"year\":2026,\"month\":1,\"day\":8},{\"year\":2026,\"month\":1,\"day\":9},{\"year\":2026,\"month\":1,\"day\":10},{\"year\":2026,\"month\":1,\"day\":11},{\"year\":2026,\"month\":1,\"day\":12},{\"year\":2026,\"month\":1,\"day\":13},{\"year\":2026,\"month\":1,\"day\":14},{\"year\":2026,\"month\":1,\"day\":15},{\"year\":2026,\"month\":1,\"day\":16},{\"year\":2026,\"month\":1,\"day\":17},{\"year\":2026,\"month\":1,\"day\":18},{\"year\":2026,\"month\":1,\"day\":19},{\"year\":2026,\"month\":1,\"day\":20},{\"year\":2026,\"month\":1,\"day\":21},{\"year\":2026,\"month\":1,\"day\":22},{\"year\":2026,\"month\":1,\"day\":23},{\"year\":2026,\"month\":1,\"day\":24},{\"year\":2026,\"month\":1,\"day\":25},{\"year\":2026,\"month\":1,\"day\":26},{\"year\":2026,\"month\":1,\"day\":27},{\"year\":2026,\"month\":1,\"day\":28},{\"year\":2026,\"month\":1,\"day\":29},{\"year\":2026,\"month\":1,\"day\":30},{\"year\":2026,\"month\":2,\"day\":1},{\"year\":2026,\"month\":2,\"day\":2},{\"year\":2026,\"month\":2,\"day\":3},{\"year\":2026,\"month\":2,\"day\":4},{\"year\":2026,\"month\":2,\"day\":5},{\"year\":2026,\"month\":2,\"day\":6},{\"year\":2026,\"month\":2,\"day\":7},{\"year\":2026,\"month\":2,\"day\":8},{\"year\":2026,\"month\":2,\"day\":9},{\"year\":2026,\"month\":2,\"day\":10},{\"year\":2026,\"month\":2,\"day\":11},{\"year\":2026,\"month\":2,\"day\":12},{\"year\":2026,\"month\":2,\"day\":13},{\"year\":2026,\"month\":2,\"day\":14},{\"year\":2026,\"month\":2,\"day\":15},{\"year\":2026,\"month\":2,\"day\":16},{\"year\":2026,\"month\":2,\"day\":17},{\"year\":2026,\"month\":2,\"day\":18},{\"year\":2026,\"month\":2,\"day\":19},{\"year\":2026,\"month\":2,\"day\":20},{\"year\":2026,\"month\":2,\"day\":21},{\"year\":2026,\"month\":2,\"day\":22},{\"year\":2026,\"month\":2,\"day\":23},{\"year\":2026,\"month\":2,\"day\":24},{\"year\":2026,\"month\":2,\"day\":25},{\"year\":2026,\"month\":2,\"day\":26},{\"year\":2026,\"month\":2,\"day\":27},{\"year\":2026,\"month\":3,\"day\":1},{\"year\":2026,\"month\":3,\"day\":2},{\"year\":2026,\"month\":3,\"day\":3},{\"year\":2026,\"month\":3,\"day\":4},{\"year\":2026,\"month\":3,\"day\":5},{\"year\":2026,\"month\":3,\"day\":6},{\"year\":2026,\"month\":3,\"day\":7},{\"year\":2026,\"month\":3,\"day\":8},{\"year\":2026,\"month\":3,\"day\":9},{\"year\":2026,\"month\":3,\"day\":10},{\"year\":2026,\"month\":3,\"day\":11},{\"year\":2026,\"month\":3,\"day\":12},{\"year\":2026,\"month\":3,\"day\":13},{\"year\":2026,\"month\":3,\"day\":14},{\"year\":2026,\"month\":3,\"day\":15},{\"year\":2026,\"month\":3,\"day\":16},{\"year\":2026,\"month\":3,\"day\":17},{\"year\":2026,\"month\":3,\"day\":18},{\"year\":2026,\"month\":3,\"day\":19},{\"year\":2026,\"month\":3,\"day\":20},{\"year\":2026,\"month\":3,\"day\":21},{\"year\":2026,\"month\":3,\"day\":22},{\"year\":2026,\"month\":3,\"day\":23},{\"year\":2026,\"month\":3,\"day\":24},{\"year\":2026,\"month\":3,\"day\":25},{\"year\":2026,\"month\":3,\"day\":26},{\"year\":2026,\"month\":3,\"day\":27},{\"year\":2026,\"month\":3,\"day\":28},{\"year\":2026,\"month\":3,\"day\":29},{\"year\":2026,\"month\":3,\"day\":30},{\"year\":2026,\"month\":4,\"day\":1},{\"year\":2026,\"month\":4,\"day\":2},{\"year\":2026,\"month\":4,\"day\":3},{\"year\":2026,\"month\":4,\"day\":4},{\"year\":2026,\"month\":4,\"day\":5},{\"year\":2026,\"month\":4,\"day\":6},{\"year\":2026,\"month\":4,\"day\":7},{\"year\":2026,\"month\":4,\"day\":8},{\"year\":2026,\"month\":4,\"day\":9},{\"year\":2026,\"month\":4,\"day\":10},{\"year\":2026,\"month\":4,\"day\":11},{\"year\":2026,\"month\":4,\"day\":12},{\"year\":2026,\"month\":4,\"day\":13},{\"year\":2026,\"month\":4,\"day\":14},{\"year\":2026,\"month\":4,\"day\":15},{\"year\":2026,\"month\":4,\"day\":16},{\"year\":2026,\"month\":4,\"day\":17},{\"year\":2026,\"month\":4,\"day\":18},{\"year\":2026,\"month\":4,\"day\":19},{\"year\":2026,\"month\":4,\"day\":20},{\"year\":2026,\"month\":4,\"day\":21},{\"year\":2026,\"month\":4,\"day\":22},{\"year\":2026,\"month\":4,\"day\":23},{\"year\":2026,\"month\":4,\"day\":24},{\"year\":2026,\"month\":4,\"day\":25},{\"year\":2026,\"month\":4,\"day\":26},{\"year\":2026,\"month\":4,\"day\":27},{\"year\":2026,\"month\":4,\"day\":28},{\"year\":2026,\"month\":4,\"day\":29},{\"year\":2026,\"month\":5,\"day\":1},{\"year\":2026,\"month\":5,\"day\":2},{\"year\":2026,\"month\":5,\"day\":3},{\"year\":2026,\"month\":5,\"day\":4},{\"year\":2026,\"month\":5,\"day\":5},{\"year\":2026,\"month\":5,\"day\":6},{\"year\":2026,\"month\":5,\"day\":7},{\"year\":2026,\"month\":5,\"day\":8},{\"year\":2026,\"month\":5,\"day\":9},{\"year\":2026,\"month\":5,\"day\":10},{\"year\":2026,\"month\":5,\"day\":11},{\"year\":2026,\"month\":5,\"day\":12},{\"year\":2026,\"month\":5,\"day\":13},{\"year\":2026,\"month\":5,\"day\":14},{\"year\":2026,\"month\":5,\"day\":15},{\"year\":2026,\"month\":5,\"day\":16},{\"year\":2026,\"month\":5,\"day\":17},{\"year\":2026,\"month\":5,\"day\":18},{\"year\":2026,\"month\":5,\"day\":19},{\"year\":2026,\"month\":5,\"day\":20},{\"year\":2026,\"month\":5,\"day\":21},{\"year\":2026,\"month\":5,\"day\":22},{\"year\":2026,\"month\":5,\"day\":23},{\"year\":2026,\"month\":5,\"day\":24},{\"year\":2026,\"month\":5,\"day\":25},{\"year\":2026,\"month\":5,\"day\":26},{\"year\":2026,\"month\":5,\"day\":27},{\"year\":2026,\"month\":5,\"day\":28},{\"year\":2026,\"month\":5,\"day\":29},{\"year\":2026,\"month\":5,\"day\":30},{\"year\":2026,\"month\":6,\"day\":1},{\"year\":2026,\"month\":6,\"day\":2},{\"year\":2026,\"month\":6,\"day\":3},{\"year\":2026,\"month\":6,\"day\":4},{\"year\":2026,\"month\":6,\"day\":5},{\"year\":2026,\"month\":6,\"day\":6},{\"year\":2026,\"month\":6,\"day\":7},{\"year\":2026,\"month\":6,\"day\":8},{\"year\":2026,\"month\":6,\"day\":9},{\"year\":2026,\"month\":6,\"day\":10},{\"year\":2026,\"month\":6,\"day\":11},{\"year\":2026,\"month\":6,\"day\":12},{\"year\":2026,\"month\":6,\"day\":13},{\"year\":2026,\"month\":6,\"day\":14},{\"year\":2026,\"month\":6,\"day\":15},{\"year\":2026,\"month\":6,\"day\":16},{\"year\":2026,\"month\":6,\"day\":17},{\"year\":2026,\"month\":6,\"day\":18},{\"year\":2026,\"month\":6,\"day\":19},{\"year\":2026,\"month\":6,\"day\":20},{\"year\":2026,\"month\":6,\"day\":21},{\"year\":2026,\"month\":6,\"day\":22},{\"year\":2026,\"month\":6,\"day\":23},{\"year\":2026,\"month\":6,\"day\":24},{\"year\":2026,\"month\":6,\"day\":25},{\"year\":2026,\"month\":6,\"day\":26},{\"year\":2026,\"month\":6,\"day\":27},{\"year\":2026,\"month\":6,\"day\":28},{\"year\":2026,\"month\":6,\"day\":29},{\"year\":2026,\"month\":7,\"day\":1},{\"year\":2026,\"month\":7,\"day\":2},{\"year\":2026,\"month\":7,\"day\":3},{\"year\":2026,\"month\":7,\"day\":4},{\"year\":2026,\"month\":7,\"day\":5},{\"year\":2026,\"month\":7,\"day\":6},{\"year\":2026,\"month\":7,\"day\":7},{\"year\":2026,\"month\":7,\"day\":8},{\"year\":2026,\"month\":7,\"day\":9},{\"year\":2026,\"month\":7,\"day\":10},{\"year\":2026,\"month\":7,\"day\":11},{\"year\":2026,\"month\":7,\"day\":12},{\"year\":2026,\"month\":7,\"day\":13},{\"year\":2026,\"month\":7,\"day\":14},{\"year\":2026,\"month\":7,\"day\":15},{\"year\":2026,\"month\":7,\"day\":16},{\"year\":2026,\"month\":7,\"day\":17},{\"year\":2026,\"month\":7,\"day\":18},{\"year\":2026,\"month\":7,\"day\":19},{\"year\":2026,\"month\":7,\"day\":20},{\"year\":2026,\"month\":7,\"day\":21},{\"year\":2026,\"month\":7,\"day\":22},{\"year\":2026,\"month\":7,\"day\":23},{\"year\":2026,\"month\":7,\"day\":24},{\"year\":2026,\"month\":7,\"day\":25},{\"year\":2026,\"month\":7,\"day\":26},{\"year\":2026,\"month\":7,\"day\":27},{\"year\":2026,\"month\":7,\"day\":28},{\"year\":2026,\"month\":7,\"day\":29},{\"year\":2026,\"month\":7,\"day\":30},{\"year\":2026,\"month\":8,\"day\":1},{\"year\":2026,\"month\":8,\"day\":2},{\"year\":2026,\"month\":8,\"day\":3},{\"year\":2026,\"month\":8,\"day\":4},{\"year\":2026,\"month\":8,\"day\":5},{\"year\":2026,\"month\":8,\"day\":6},{\"year\":2026,\"month\":8,\"day\":7},{\"year\":2026,\"month\":8,\"day\":8},{\"year\":2026,\"month\":8,\"day\":9},{\"year\":2026,\"month\":8,\"day\":10},{\"year\":2026,\"month\":8,\"day\":11},{\"year\":2026,\"month\":8,\"day\":12},{\"year\":2026,\"month\":8,\"day\":13},{\"year\":2026,\"month\":8,\"day\":14},{\"year\":2026,\"month\":8,\"day\":15},{\"year\":2026,\"month\":8,\"day\":16},{\"year\":2026,\"month\":8,\"day\":17},{\"year\":2026,\"month\":8,\"day\":18},{\"year\":2026,\"month\":8,\"day\":19},{\"year\":2026,\"month\":8,\"day\":20},{\"year\":2026,\"month\":8,\"day\":21},{\"year\":2026,\"month\":8,\"day\":22},{\"year\":2026,\"month\":8,\"day\":23},{\"year\":2026,\"month\":8,\"day\":24},{\"year\":2026,\"month\":8,\"day\":25},{\"year\":2026,\"month\":8,\"day\":26},{\"year\":2026,\"month\":8,\"day\":27},{\"year\":2026,\"month\":8,\"day\":28},{\"year\":2026,\"month\":8,\"day\":29},{\"year\":2026,\"month\":8,\"day\":30},{\"year\":2026,\"month\":9,\"day\":1},{\"year\":2026,\"month\":9,\"day\":2},{\"year\":2026,\"month\":9,\"day\":3},{\"year\":2026,\"month\":9,\"day\":4},{\"year\":2026,\"month\":9,\"day\":5},{\"year\":2026,\"month\":9,\"day\":6},{\"year\":2026,\"month\":9,\"day\":7},{\"year\":2026,\"month\":9,\"day\":8},{\"year\":2026,\"month\":9,\"day\":9},{\"year\":2026,\"month\":9,\"day\":10},{\"year\":2026,\"month\":9,\"day\":11},{\"year\":2026,\"month\":9,\"day\":12},{\"year\":2026,\"month\":9,\"day\":13},{\"year\":2026,\"month\":9,\"day\":14},{\"year\":2026,\"month\":9,\"day\":15},{\"year\":2026,\"month\":9,\"day\":16},{\"year\":2026,\"month\":9,\"day\":17},{\"year\":2026,\"month\":9,\"day\":18},{\"year\":2026,\"month\":9,\"day\":19}],\"yearsAvailable\":[2020,2021,2022,2023,2024,2025,2026],\"currentYear\":2026,\"todayKey\":\"09-20\",\"quadraData\":{\"2015-01-01\":{\"DESAWAR\":\"93\"},\"2015-01-02\":{\"DESAWAR\":\"28\"},\"2015-01-03\":{\"DESAWAR\":\"78\"},\"2015-01-04\":{\"DESAWAR\":\"24\"},\"2015-01-05\":{\"DESAWAR\":\"12\"},\"2015-01-06\":{\"DESAWAR\":\"93\"},\"2015-01-07\":{\"DESAWAR\":\"68\"},\"2015-01-08\":{\"DESAWAR\":\"94\"},\"2015-01-09\":{\"DESAWAR\":\"24\"},\"2015-01-10\":{\"DESAWAR\":\"83\"},\"2015-01-11\":{\"DESAWAR\":\"30\"},\"2015-01-12\":{\"DESAWAR\":\"40\"},\"2015-01-13\":{\"DESAWAR\":\"49\"},\"2015-01-14\":{\"DESAWAR\":\"43\"},\"2015-01-15\":{\"DESAWAR\":\"42\"},\"2015-01-16\":{\"DESAWAR\":\"57\"},\"2015-01-17\":{\"DESAWAR\":\"67\"},\"2015-01-18\":{\"DESAWAR\":\"50\"},\"2015-01-19\":{\"DESAWAR\":\"87\"},\"2015-01-20\":{\"DESAWAR\":\"17\"},\"2015-01-21\":{\"DESAWAR\":\"75\"},\"2015-01-22\":{\"DESAWAR\":\"04\"},\"2015-01-23\":{\"DESAWAR\":\"62\"},\"2015-01-24\":{\"DESAWAR\":\"15\"},\"2015-01-25\":{\"DESAWAR\":\"08\"},\"2015-01-26\":{\"DESAWAR\":\"57\"},\"2015-01-27\":{\"DESAWAR\":\"38\"},\"2015-01-28\":{\"DESAWAR\":\"35\"},\"2015-01-29\":{\"DESAWAR\":\"42\"},\"2015-01-30\":{\"DESAWAR\":\"74\"},\"2015-02-01\":{\"DESAWAR\":\"67\"},\"2015-02-02\":{\"DESAWAR\":\"40\"},\"2015-02-03\":{\"DESAWAR\":\"81\"},\"2015-02-04\":{\"DESAWAR\":\"81\"},\"2015-02-05\":{\"DESAWAR\":\"51\"},\"2015-02-06\":{\"DESAWAR\":\"98\"},\"2015-02-07\":{\"DESAWAR\":\"12\"},\"2015-02-08\":{\"DESAWAR\":\"57\"},\"2015-02-09\":{\"DESAWAR\":\"47\"},\"2015-02-10\":{\"DESAWAR\":\"75\"},\"2015-02-11\":{\"DESAWAR\":\"49\"},\"2015-02-12\":{\"DESAWAR\":\"97\"},\"2015-02-13\":{\"DESAWAR\":\"51\"},\"2015-02-14\":{\"DESAWAR\":\"54\"},\"2015-02-15\":{\"DESAWAR\":\"38\"},\"2015-02-16\":{\"DESAWAR\":\"06\"},\"2015-02-17\":{\"DESAWAR\":\"54\"},\"2015-02-18\":{\"DESAWAR\":\"94\"},\"2015-02-19\":{\"DESAWAR\":\"66\"},\"2015-02-20\":{\"DESAWAR\":\"03\"},\"2015-02-21\":{\"DESAWAR\":\"80\"},\"2015-02-22\":{\"DESAWAR\":\"87\"},\"2015-02-23\":{\"DESAWAR\":\"93\"},\"2015-02-24\":{\"DESAWAR\":\"39\"},\"2015-02-25\":{\"DESAWAR\":\"47\"},\"2015-02-26\":{\"DESAWAR\":\"63\"},\"2015-02-27\":{\"DESAWAR\":\"30\"},\"2015-03-01\":{\"DESAWAR\":\"29\"},\"2015-03-02\":{\"DESAWAR\":\"08\"},\"2015-03-03\":{\"DESAWAR\":\"13\"},\"2015-03-04\":{\"DESAWAR\":\"77\"},\"2015-03-05\":{\"DESAWAR\":\"21\"},\"2015-03-06\":{\"DESAWAR\":\"06\"},\"2015-03-07\":{\"DESAWAR\":\"04\"},\"2015-03-08\":{\"DESAWAR\":\"16\"},\"2015-03-09\":{\"DESAWAR\":\"37\"},\"2015-03-10\":{\"DESAWAR\":\"66\"},\"2015-03-11\":{\"DESAWAR\":\"68\"},\"2015-03-12\":{\"DESAWAR\":\"11\"},\"2015-03-13\":{\"DESAWAR\":\"46\"},\"2015-03-14\":{\"DESAWAR\":\"51\"},\"2015-03-15\":{\"DESAWAR\":\"49\"},\"2015-03-16\":{\"DESAWAR\":\"62\"},\"2015-03-17\":{\"DESAWAR\":\"71\"},\"2015-03-18\":{\"DESAWAR\":\"06\"},\"2015-03-19\":{\"DESAWAR\":\"97\"},\"2015-03-20\":{\"DESAWAR\":\"71\"},\"2015-03-21\":{\"DESAWAR\":\"45\"},\"2015-03-22\":{\"DESAWAR\":\"31\"},\"2015-03-23\":{\"DESAWAR\":\"87\"},\"2015-03-24\":{\"DESAWAR\":\"73\"},\"2015-03-25\":{\"DESAWAR\":\"86\"},\"2015-03-26\":{\"DESAWAR\":\"84\"},\"2015-03-27\":{\"DESAWAR\":\"11\"},\"2015-03-28\":{\"DESAWAR\":\"62\"},\"2015-03-29\":{\"DESAWAR\":\"86\"},\"2015-04-01\":{\"DESAWAR\":\"99\"},\"2015-04-02\":{\"DESAWAR\":\"68\"},\"2015-04-03\":{\"DESAWAR\":\"98\"},\"2015-04-04\":{\"DESAWAR\":\"61\"},\"2015-04-05\":{\"DESAWAR\":\"77\"},\"2015-04-06\":{\"DESAWAR\":\"76\"},\"2015-04-07\":{\"DESAWAR\":\"02\"},\"2015-04-08\":{\"DESAWAR\":\"62\"},\"2015-04-09\":{\"DESAWAR\":\"54\"},\"2015-04-10\":{\"DESAWAR\":\"34\"},\"2015-04-11\":{\"DESAWAR\":\"95\"},\"2015-04-12\":{\"DESAWAR\":\"52\"},\"2015-04-13\":{\"DESAWAR\":\"93\"},\"2015-04-14\":{\"DESAWAR\":\"08\"},\"2015-04-15\":{\"DESAWAR\":\"66\"},\"2015-04-16\":{\"DESAWAR\":\"78\"},\"2015-04-17\":{\"DESAWAR\":\"55\"},\"2015-04-18\":{\"DESAWAR\":\"63\"},\"2015-04-19\":{\"DESAWAR\":\"11\"},\"2015-04-20\":{\"DESAWAR\":\"70\"},\"2015-04-21\":{\"DESAWAR\":\"69\"},\"2015-04-22\":{\"DESAWAR\":\"21\"},\"2015-04-23\":{\"DESAWAR\":\"52\"},\"2015-04-24\":{\"DESAWAR\":\"19\"},\"2015-04-25\":{\"DESAWAR\":\"75\"},\"2015-04-26\":{\"DESAWAR\":\"49\"},\"2015-04-27\":{\"DESAWAR\":\"96\"},\"2015-04-28\":{\"DESAWAR\":\"07\"},\"2015-04-29\":{\"DESAWAR\":\"05\"},\"2015-04-30\":{\"DESAWAR\":\"24\"},\"2015-05-01\":{\"DESAWAR\":\"53\"},\"2015-05-02\":{\"DESAWAR\":\"14\"},\"2015-05-03\":{\"DESAWAR\":\"03\"},\"2015-05-04\":{\"DESAWAR\":\"88\"},\"2015-05-05\":{\"DESAWAR\":\"91\"},\"2015-05-06\":{\"DESAWAR\":\"40\"},\"2015-05-07\":{\"DESAWAR\":\"53\"},\"2015-05-08\":{\"DESAWAR\":\"73\"},\"2015-05-09\":{\"DESAWAR\":\"95\"},\"2015-05-10\":{\"DESAWAR\":\"45\"},\"2015-05-11\":{\"DESAWAR\":\"73\"},\"2015-05-12\":{\"DESAWAR\":\"73\"},\"2015-05-13\":{\"DESAWAR\":\"82\"},\"2015-05-14\":{\"DESAWAR\":\"89\"},\"2015-05-15\":{\"DESAWAR\":\"53\"},\"2015-05-16\":{\"DESAWAR\":\"87\"},\"2015-05-17\":{\"DESAWAR\":\"23\"},\"2015-05-18\":{\"DESAWAR\":\"43\"},\"2015-05-19\":{\"DESAWAR\":\"90\"},\"2015-05-20\":{\"DESAWAR\":\"90\"},\"2015-05-21\":{\"DESAWAR\":\"50\"},\"2015-05-22\":{\"DESAWAR\":\"69\"},\"2015-05-23\":{\"DESAWAR\":\"77\"},\"2015-05-24\":{\"DESAWAR\":\"84\"},\"2015-05-25\":{\"DESAWAR\":\"35\"},\"2015-05-26\":{\"DESAWAR\":\"06\"},\"2015-05-27\":{\"DESAWAR\":\"29\"},\"2015-05-28\":{\"DESAWAR\":\"88\"},\"2015-05-29\":{\"DESAWAR\":\"24\"},\"2015-05-30\":{\"DESAWAR\":\"15\"},\"2015-06-01\":{\"DESAWAR\":\"89\"},\"2015-06-02\":{\"DESAWAR\":\"74\"},\"2015-06-03\":{\"DESAWAR\":\"15\"},\"2015-06-04\":{\"DESAWAR\":\"69\"},\"2015-06-05\":{\"DESAWAR\":\"69\"},\"2015-06-06\":{\"DESAWAR\":\"24\"},\"2015-06-07\":{\"DESAWAR\":\"67\"},\"2015-06-08\":{\"DESAWAR\":\"41\"},\"2015-06-09\":{\"DESAWAR\":\"31\"},\"2015-06-10\":{\"DESAWAR\":\"14\"},\"2015-06-11\":{\"DESAWAR\":\"24\"},\"2015-06-12\":{\"DESAWAR\":\"77\"},\"2015-06-13\":{\"DESAWAR\":\"32\"},\"2015-06-14\":{\"DESAWAR\":\"24\"},\"2015-06-15\":{\"DESAWAR\":\"60\"},\"2015-06-16\":{\"DESAWAR\":\"23\"},\"2015-06-17\":{\"DESAWAR\":\"95\"},\"2015-06-18\":{\"DESAWAR\":\"49\"},\"2015-06-19\":{\"DESAWAR\":\"91\"},\"2015-06-20\":{\"DESAWAR\":\"92\"},\"2015-06-21\":{\"DESAWAR\":\"30\"},\"2015-06-22\":{\"DESAWAR\":\"09\"},\"2015-06-23\":{\"DESAWAR\":\"83\"},\"2015-06-24\":{\"DESAWAR\":\"14\"},\"2015-06-25\":{\"DESAWAR\":\"51\"},\"2015-06-26\":{\"DESAWAR\":\"18\"},\"2015-06-27\":{\"DESAWAR\":\"89\"},\"2015-06-28\":{\"DESAWAR\":\"31\"},\"2015-06-29\":{\"DESAWAR\":\"87\"},\"2015-06-30\":{\"DESAWAR\":\"59\"},\"2015-07-01\":{\"DESAWAR\":\"61\"},\"2015-07-02\":{\"DESAWAR\":\"49\"},\"2015-07-03\":{\"DESAWAR\":\"31\"},\"2015-07-04\":{\"DESAWAR\":\"58\"},\"2015-07-05\":{\"DESAWAR\":\"55\"},\"2015-07-06\":{\"DESAWAR\":\"50\"},\"2015-07-07\":{\"DESAWAR\":\"91\"},\"2015-07-08\":{\"DESAWAR\":\"07\"},\"2015-07-09\":{\"DESAWAR\":\"96\"},\"2015-07-10\":{\"DESAWAR\":\"44\"},\"2015-07-11\":{\"DESAWAR\":\"32\"},\"2015-07-12\":{\"DESAWAR\":\"47\"},\"2015-07-13\":{\"DESAWAR\":\"64\"},\"2015-07-14\":{\"DESAWAR\":\"99\"},\"2015-07-15\":{\"DESAWAR\":\"80\"},\"2015-07-16\":{\"DESAWAR\":\"14\"},\"2015-07-17\":{\"DESAWAR\":\"92\"},\"2015-07-18\":{\"DESAWAR\":\"40\"},\"2015-07-19\":{\"DESAWAR\":\"70\"},\"2015-07-20\":{\"DESAWAR\":\"60\"},\"2015-07-21\":{\"DESAWAR\":\"74\"},\"2015-07-22\":{\"DESAWAR\":\"22\"},\"2015-07-23\":{\"DESAWAR\":\"72\"},\"2015-07-24\":{\"DESAWAR\":\"53\"},\"2015-07-25\":{\"DESAWAR\":\"53\"},\"2015-07-26\":{\"DESAWAR\":\"02\"},\"2015-07-27\":{\"DESAWAR\":\"00\"},\"2015-07-28\":{\"DESAWAR\":\"32\"},\"2015-07-29\":{\"DESAWAR\":\"87\"},\"2015-07-30\":{\"DESAWAR\":\"06\"},\"2015-08-01\":{\"DESAWAR\":\"61\"},\"2015-08-02\":{\"DESAWAR\":\"92\"},\"2015-08-03\":{\"DESAWAR\":\"54\"},\"2015-08-04\":{\"DESAWAR\":\"99\"},\"2015-08-05\":{\"DESAWAR\":\"35\"},\"2015-08-06\":{\"DESAWAR\":\"92\"},\"2015-08-07\":{\"DESAWAR\":\"98\"},\"2015-08-08\":{\"DESAWAR\":\"79\"},\"2015-08-09\":{\"DESAWAR\":\"84\"},\"2015-08-10\":{\"DESAWAR\":\"28\"},\"2015-08-11\":{\"DESAWAR\":\"00\"},\"2015-08-12\":{\"DESAWAR\":\"53\"},\"2015-08-13\":{\"DESAWAR\":\"19\"},\"2015-08-14\":{\"DESAWAR\":\"12\"},\"2015-08-15\":{\"DESAWAR\":\"35\"},\"2015-08-16\":{\"DESAWAR\":\"57\"},\"2015-08-17\":{\"DESAWAR\":\"38\"},\"2015-08-18\":{\"DESAWAR\":\"37\"},\"2015-08-19\":{\"DESAWAR\":\"18\"},\"2015-08-20\":{\"DESAWAR\":\"77\"},\"2015-08-21\":{\"DESAWAR\":\"31\"},\"2015-08-22\":{\"DESAWAR\":\"99\"},\"2015-08-23\":{\"DESAWAR\":\"36\"},\"2015-08-24\":{\"DESAWAR\":\"53\"},\"2015-08-25\":{\"DESAWAR\":\"62\"},\"2015-08-26\":{\"DESAWAR\":\"13\"},\"2015-08-27\":{\"DESAWAR\":\"17\"},\"2015-08-28\":{\"DESAWAR\":\"95\"},\"2015-08-29\":{\"DESAWAR\":\"43\"},\"2015-08-30\":{\"DESAWAR\":\"02\"},\"2015-09-01\":{\"DESAWAR\":\"96\"},\"2015-09-02\":{\"DESAWAR\":\"72\"},\"2015-09-03\":{\"DESAWAR\":\"28\"},\"2015-09-04\":{\"DESAWAR\":\"31\"},\"2015-09-05\":{\"DESAWAR\":\"72\"},\"2015-09-06\":{\"DESAWAR\":\"75\"},\"2015-09-07\":{\"DESAWAR\":\"83\"},\"2015-09-08\":{\"DESAWAR\":\"68\"},\"2015-09-09\":{\"DESAWAR\":\"64\"},\"2015-09-10\":{\"DESAWAR\":\"14\"},\"2015-09-11\":{\"DESAWAR\":\"66\"},\"2015-09-12\":{\"DESAWAR\":\"55\"},\"2015-09-13\":{\"DESAWAR\":\"06\"},\"2015-09-14\":{\"DESAWAR\":\"79\"},\"2015-09-15\":{\"DESAWAR\":\"18\"},\"2015-09-16\":{\"DESAWAR\":\"29\"},\"2015-09-17\":{\"DESAWAR\":\"69\"},\"2015-09-18\":{\"DESAWAR\":\"30\"},\"2015-09-19\":{\"DESAWAR\":\"03\"},\"2015-09-20\":{\"DESAWAR\":\"37\"},\"2015-09-21\":{\"DESAWAR\":\"05\"},\"2015-09-22\":{\"DESAWAR\":\"29\"},\"2015-09-23\":{\"DESAWAR\":\"36\"},\"2015-09-24\":{\"DESAWAR\":\"81\"},\"2015-09-25\":{\"DESAWAR\":\"89\"},\"2015-09-26\":{\"DESAWAR\":\"89\"},\"2015-09-27\":{\"DESAWAR\":\"36\"},\"2015-09-28\":{\"DESAWAR\":\"83\"},\"2015-09-29\":{\"DESAWAR\":\"24\"},\"2015-09-30\":{\"DESAWAR\":\"39\"},\"2015-10-01\":{\"DESAWAR\":\"28\"},\"2015-10-02\":{\"DESAWAR\":\"71\"},\"2015-10-03\":{\"DESAWAR\":\"41\"},\"2015-10-04\":{\"DESAWAR\":\"35\"},\"2015-10-05\":{\"DESAWAR\":\"25\"},\"2015-10-06\":{\"DESAWAR\":\"81\"},\"2015-10-07\":{\"DESAWAR\":\"48\"},\"2015-10-08\":{\"DESAWAR\":\"02\"},\"2015-10-09\":{\"DESAWAR\":\"41\"},\"2015-10-10\":{\"DESAWAR\":\"18\"},\"2015-10-11\":{\"DESAWAR\":\"09\"},\"2015-10-12\":{\"DESAWAR\":\"02\"},\"2015-10-13\":{\"DESAWAR\":\"32\"},\"2015-10-14\":{\"DESAWAR\":\"06\"},\"2015-10-15\":{\"DESAWAR\":\"74\"},\"2015-10-16\":{\"DESAWAR\":\"61\"},\"2015-10-17\":{\"DESAWAR\":\"12\"},\"2015-10-18\":{\"DESAWAR\":\"54\"},\"2015-10-19\":{\"DESAWAR\":\"96\"},\"2015-10-20\":{\"DESAWAR\":\"64\"},\"2015-10-21\":{\"DESAWAR\":\"45\"},\"2015-10-22\":{\"DESAWAR\":\"43\"},\"2015-10-23\":{\"DESAWAR\":\"69\"},\"2015-10-24\":{\"DESAWAR\":\"68\"},\"2015-10-25\":{\"DESAWAR\":\"49\"},\"2015-10-26\":{\"DESAWAR\":\"76\"},\"2015-10-27\":{\"DESAWAR\":\"42\"},\"2015-10-28\":{\"DESAWAR\":\"09\"},\"2015-10-29\":{\"DESAWAR\":\"06\"},\"2015-10-30\":{\"DESAWAR\":\"81\"},\"2015-11-01\":{\"DESAWAR\":\"03\"},\"2015-11-02\":{\"DESAWAR\":\"24\"},\"2015-11-03\":{\"DESAWAR\":\"95\"},\"2015-11-04\":{\"DESAWAR\":\"70\"},\"2015-11-05\":{\"DESAWAR\":\"06\"},\"2015-11-06\":{\"DESAWAR\":\"62\"},\"2015-11-07\":{\"DESAWAR\":\"25\"},\"2015-11-08\":{\"DESAWAR\":\"02\"},\"2015-11-09\":{\"DESAWAR\":\"62\"},\"2015-11-10\":{\"DESAWAR\":\"19\"},\"2015-11-11\":{\"DESAWAR\":\"43\"},\"2015-11-12\":{\"DESAWAR\":\"19\"},\"2015-11-13\":{\"DESAWAR\":\"67\"},\"2015-11-14\":{\"DESAWAR\":\"28\"},\"2015-11-15\":{\"DESAWAR\":\"00\"},\"2015-11-16\":{\"DESAWAR\":\"19\"},\"2015-11-17\":{\"DESAWAR\":\"79\"},\"2015-11-18\":{\"DESAWAR\":\"58\"},\"2015-11-19\":{\"DESAWAR\":\"80\"},\"2015-11-20\":{\"DESAWAR\":\"49\"},\"2015-11-21\":{\"DESAWAR\":\"07\"},\"2015-11-22\":{\"DESAWAR\":\"61\"},\"2015-11-23\":{\"DESAWAR\":\"50\"},\"2015-11-24\":{\"DESAWAR\":\"97\"},\"2015-11-25\":{\"DESAWAR\":\"35\"},\"2015-11-26\":{\"DESAWAR\":\"43\"},\"2015-11-27\":{\"DESAWAR\":\"80\"},\"2015-11-28\":{\"DESAWAR\":\"93\"},\"2015-11-29\":{\"DESAWAR\":\"37\"},\"2015-11-30\":{\"DESAWAR\":\"73\"},\"2015-12-01\":{\"DESAWAR\":\"13\"},\"2015-12-02\":{\"DESAWAR\":\"51\"},\"2015-12-03\":{\"DESAWAR\":\"61\"},\"2015-12-04\":{\"DESAWAR\":\"26\"},\"2015-12-05\":{\"DESAWAR\":\"71\"},\"2015-12-06\":{\"DESAWAR\":\"46\"},\"2015-12-07\":{\"DESAWAR\":\"74\"},\"2015-12-08\":{\"DESAWAR\":\"86\"},\"2015-12-09\":{\"DESAWAR\":\"73\"},\"2015-12-10\":{\"DESAWAR\":\"17\"},\"2015-12-11\":{\"DESAWAR\":\"46\"},\"2015-12-12\":{\"DESAWAR\":\"24\"},\"2015-12-13\":{\"DESAWAR\":\"17\"},\"2015-12-14\":{\"DESAWAR\":\"73\"},\"2015-12-15\":{\"DESAWAR\":\"54\"},\"2015-12-16\":{\"DESAWAR\":\"50\"},\"2015-12-17\":{\"DESAWAR\":\"44\"},\"2015-12-18\":{\"DESAWAR\":\"84\"},\"2015-12-19\":{\"DESAWAR\":\"74\"},\"2015-12-20\":{\"DESAWAR\":\"58\"},\"2015-12-21\":{\"DESAWAR\":\"04\"},\"2015-12-22\":{\"DESAWAR\":\"33\"},\"2015-12-23\":{\"DESAWAR\":\"92\"},\"2015-12-24\":{\"DESAWAR\":\"28\"},\"2015-12-25\":{\"DESAWAR\":\"77\"},\"2015-12-26\":{\"DESAWAR\":\"04\"},\"2015-12-27\":{\"DESAWAR\":\"94\"},\"2015-12-28\":{\"DESAWAR\":\"67\"},\"2015-12-29\":{\"DESAWAR\":\"23\"},\"2015-12-30\":{\"DESAWAR\":\"68\"},\"2015-12-31\":{\"DESAWAR\":\"44\"},\"2016-01-01\":{\"GALI\":\"40\"},\"2016-01-02\":{\"GALI\":\"65\",\"DESAWAR\":\"92\"},\"2016-01-03\":{\"GALI\":\"71\",\"DESAWAR\":\"77\"},\"2016-01-04\":{\"GALI\":\"74\",\"DESAWAR\":\"36\"},\"2016-01-05\":{\"GALI\":\"69\",\"DESAWAR\":\"44\"},\"2016-01-06\":{\"GALI\":\"90\",\"DESAWAR\":\"26\"},\"2016-01-07\":{\"GALI\":\"66\",\"DESAWAR\":\"76\"},\"2016-01-08\":{\"GALI\":\"85\",\"DESAWAR\":\"41\"},\"2016-01-09\":{\"GALI\":\"59\",\"DESAWAR\":\"58\"},\"2016-01-10\":{\"GALI\":\"07\",\"DESAWAR\":\"30\"},\"2016-01-11\":{\"GALI\":\"01\",\"DESAWAR\":\"45\"},\"2016-01-12\":{\"GALI\":\"85\",\"DESAWAR\":\"57\"},\"2016-01-13\":{\"GALI\":\"01\",\"DESAWAR\":\"72\"},\"2016-01-14\":{\"GALI\":\"22\",\"DESAWAR\":\"51\"},\"2016-01-15\":{\"GALI\":\"65\",\"DESAWAR\":\"25\"},\"2016-01-16\":{\"GALI\":\"81\",\"DESAWAR\":\"21\"},\"2016-01-17\":{\"GALI\":\"18\",\"DESAWAR\":\"59\"},\"2016-01-18\":{\"GALI\":\"39\",\"DESAWAR\":\"35\"},\"2016-01-19\":{\"GALI\":\"78\",\"DESAWAR\":\"12\"},\"2016-01-20\":{\"GALI\":\"87\",\"DESAWAR\":\"70\"},\"2016-01-21\":{\"GALI\":\"52\",\"DESAWAR\":\"13\"},\"2016-01-22\":{\"GALI\":\"09\",\"DESAWAR\":\"89\"},\"2016-01-23\":{\"GALI\":\"61\",\"DESAWAR\":\"60\"},\"2016-01-24\":{\"GALI\":\"18\",\"DESAWAR\":\"42\"},\"2016-01-25\":{\"GALI\":\"48\",\"DESAWAR\":\"11\"},\"2016-01-26\":{\"GALI\":\"51\",\"DESAWAR\":\"43\"},\"2016-01-27\":{\"GALI\":\"56\",\"DESAWAR\":\"99\"},\"2016-01-28\":{\"GALI\":\"22\",\"DESAWAR\":\"79\"},\"2016-01-29\":{\"GALI\":\"22\",\"DESAWAR\":\"95\"},\"2016-01-30\":{\"GALI\":\"84\",\"DESAWAR\":\"33\"},\"2016-01-31\":{\"GALI\":\"--\",\"DESAWAR\":\"90\"},\"2016-02-01\":{\"GALI\":\"79\"},\"2016-02-02\":{\"GALI\":\"66\",\"DESAWAR\":\"49\"},\"2016-02-03\":{\"GALI\":\"94\",\"DESAWAR\":\"92\"},\"2016-02-04\":{\"GALI\":\"72\",\"DESAWAR\":\"89\"},\"2016-02-05\":{\"GALI\":\"91\",\"DESAWAR\":\"42\"},\"2016-02-06\":{\"GALI\":\"25\",\"DESAWAR\":\"91\"},\"2016-02-07\":{\"GALI\":\"49\",\"DESAWAR\":\"71\"},\"2016-02-08\":{\"GALI\":\"15\",\"DESAWAR\":\"39\"},\"2016-02-09\":{\"GALI\":\"67\",\"DESAWAR\":\"71\"},\"2016-02-10\":{\"GALI\":\"11\",\"DESAWAR\":\"25\"},\"2016-02-11\":{\"GALI\":\"38\",\"DESAWAR\":\"92\"},\"2016-02-12\":{\"GALI\":\"92\",\"DESAWAR\":\"86\"},\"2016-02-13\":{\"GALI\":\"27\",\"DESAWAR\":\"15\"},\"2016-02-14\":{\"GALI\":\"67\",\"DESAWAR\":\"84\"},\"2016-02-15\":{\"GALI\":\"55\",\"DESAWAR\":\"41\"},\"2016-02-16\":{\"GALI\":\"93\",\"DESAWAR\":\"33\"},\"2016-02-17\":{\"GALI\":\"43\",\"DESAWAR\":\"66\"},\"2016-02-18\":{\"GALI\":\"46\",\"DESAWAR\":\"46\"},\"2016-02-19\":{\"GALI\":\"47\",\"DESAWAR\":\"88\"},\"2016-02-20\":{\"GALI\":\"41\",\"DESAWAR\":\"43\"},\"2016-02-21\":{\"GALI\":\"30\",\"DESAWAR\":\"06\"},\"2016-02-22\":{\"GALI\":\"01\",\"DESAWAR\":\"46\"},\"2016-02-23\":{\"GALI\":\"86\",\"DESAWAR\":\"12\"},\"2016-02-24\":{\"GALI\":\"80\",\"DESAWAR\":\"49\"},\"2016-02-25\":{\"GALI\":\"89\",\"DESAWAR\":\"33\"},\"2016-02-26\":{\"GALI\":\"66\",\"DESAWAR\":\"35\"},\"2016-02-27\":{\"GALI\":\"09\",\"DESAWAR\":\"20\"},\"2016-02-28\":{\"GALI\":\"36\",\"DESAWAR\":\"31\"},\"2016-02-29\":{\"GALI\":\"--\",\"DESAWAR\":\"76\"},\"2016-03-01\":{\"GALI\":\"48\"},\"2016-03-02\":{\"GALI\":\"08\",\"DESAWAR\":\"72\"},\"2016-03-03\":{\"GALI\":\"75\",\"DESAWAR\":\"58\"},\"2016-03-04\":{\"GALI\":\"04\",\"DESAWAR\":\"17\"},\"2016-03-05\":{\"GALI\":\"25\",\"DESAWAR\":\"83\"},\"2016-03-06\":{\"GALI\":\"22\",\"DESAWAR\":\"84\"},\"2016-03-07\":{\"GALI\":\"26\",\"DESAWAR\":\"90\"},\"2016-03-08\":{\"GALI\":\"98\",\"DESAWAR\":\"96\"},\"2016-03-09\":{\"GALI\":\"38\",\"DESAWAR\":\"81\"},\"2016-03-10\":{\"GALI\":\"90\",\"DESAWAR\":\"40\"},\"2016-03-11\":{\"GALI\":\"14\",\"DESAWAR\":\"38\"},\"2016-03-12\":{\"GALI\":\"45\",\"DESAWAR\":\"86\"},\"2016-03-13\":{\"GALI\":\"07\",\"DESAWAR\":\"23\"},\"2016-03-14\":{\"GALI\":\"30\",\"DESAWAR\":\"94\"},\"2016-03-15\":{\"GALI\":\"72\",\"DESAWAR\":\"49\"},\"2016-03-16\":{\"GALI\":\"85\",\"DESAWAR\":\"25\"},\"2016-03-17\":{\"GALI\":\"52\",\"DESAWAR\":\"66\"},\"2016-03-18\":{\"GALI\":\"05\",\"DESAWAR\":\"23\"},\"2016-03-19\":{\"GALI\":\"87\",\"DESAWAR\":\"36\"},\"2016-03-20\":{\"GALI\":\"39\",\"DESAWAR\":\"65\"},\"2016-03-21\":{\"GALI\":\"84\",\"DESAWAR\":\"68\"},\"2016-03-22\":{\"GALI\":\"15\",\"DESAWAR\":\"93\"},\"2016-03-23\":{\"GALI\":\"97\",\"DESAWAR\":\"15\"},\"2016-03-24\":{\"GALI\":\"47\",\"DESAWAR\":\"93\"},\"2016-03-25\":{\"GALI\":\"17\",\"DESAWAR\":\"87\"},\"2016-03-26\":{\"GALI\":\"69\",\"DESAWAR\":\"09\"},\"2016-03-27\":{\"GALI\":\"92\",\"DESAWAR\":\"40\"},\"2016-03-28\":{\"GALI\":\"41\",\"DESAWAR\":\"09\"},\"2016-03-29\":{\"GALI\":\"42\",\"DESAWAR\":\"55\"},\"2016-03-30\":{\"GALI\":\"64\",\"DESAWAR\":\"19\"},\"2016-03-31\":{\"GALI\":\"--\",\"DESAWAR\":\"46\"},\"2016-04-01\":{\"GALI\":\"51\"},\"2016-04-02\":{\"GALI\":\"87\",\"DESAWAR\":\"87\"},\"2016-04-03\":{\"GALI\":\"71\",\"DESAWAR\":\"99\"},\"2016-04-04\":{\"GALI\":\"01\",\"DESAWAR\":\"82\"},\"2016-04-05\":{\"GALI\":\"91\",\"DESAWAR\":\"03\"},\"2016-04-06\":{\"GALI\":\"37\",\"DESAWAR\":\"22\"},\"2016-04-07\":{\"GALI\":\"51\",\"DESAWAR\":\"38\"},\"2016-04-08\":{\"GALI\":\"63\"},\"2016-04-09\":{\"GALI\":\"39\",\"DESAWAR\":\"17\"},\"2016-04-10\":{\"GALI\":\"99\",\"DESAWAR\":\"90\"},\"2016-04-11\":{\"GALI\":\"88\",\"DESAWAR\":\"22\"},\"2016-04-12\":{\"GALI\":\"52\",\"DESAWAR\":\"90\"},\"2016-04-13\":{\"GALI\":\"96\",\"DESAWAR\":\"82\"},\"2016-04-14\":{\"GALI\":\"96\",\"DESAWAR\":\"28\"},\"2016-04-15\":{\"GALI\":\"97\",\"DESAWAR\":\"76\"},\"2016-04-16\":{\"GALI\":\"07\",\"DESAWAR\":\"83\"},\"2016-04-17\":{\"GALI\":\"31\",\"DESAWAR\":\"47\"},\"2016-04-18\":{\"GALI\":\"61\",\"DESAWAR\":\"07\"},\"2016-04-19\":{\"GALI\":\"13\",\"DESAWAR\":\"36\"},\"2016-04-20\":{\"GALI\":\"85\",\"DESAWAR\":\"95\"},\"2016-04-21\":{\"GALI\":\"04\",\"DESAWAR\":\"01\"},\"2016-04-22\":{\"GALI\":\"99\",\"DESAWAR\":\"92\"},\"2016-04-23\":{\"GALI\":\"51\",\"DESAWAR\":\"64\"},\"2016-04-24\":{\"GALI\":\"29\",\"DESAWAR\":\"62\"},\"2016-04-25\":{\"GALI\":\"64\",\"DESAWAR\":\"28\"},\"2016-04-26\":{\"GALI\":\"29\",\"DESAWAR\":\"38\"},\"2016-04-27\":{\"GALI\":\"29\",\"DESAWAR\":\"07\"},\"2016-04-28\":{\"GALI\":\"83\",\"DESAWAR\":\"35\"},\"2016-04-29\":{\"GALI\":\"28\",\"DESAWAR\":\"04\"},\"2016-04-30\":{\"GALI\":\"--\",\"DESAWAR\":\"27\"},\"2016-05-01\":{\"GALI\":\"39\"},\"2016-05-02\":{\"GALI\":\"97\",\"DESAWAR\":\"48\"},\"2016-05-03\":{\"GALI\":\"55\",\"DESAWAR\":\"21\"},\"2016-05-04\":{\"GALI\":\"54\",\"DESAWAR\":\"70\"},\"2016-05-05\":{\"GALI\":\"61\",\"DESAWAR\":\"25\"},\"2016-05-06\":{\"GALI\":\"20\",\"DESAWAR\":\"29\"},\"2016-05-07\":{\"GALI\":\"28\",\"DESAWAR\":\"75\"},\"2016-05-08\":{\"GALI\":\"68\",\"DESAWAR\":\"47\"},\"2016-05-09\":{\"GALI\":\"01\",\"DESAWAR\":\"15\"},\"2016-05-10\":{\"GALI\":\"60\",\"DESAWAR\":\"13\"},\"2016-05-11\":{\"GALI\":\"78\",\"DESAWAR\":\"08\"},\"2016-05-12\":{\"GALI\":\"42\",\"DESAWAR\":\"79\"},\"2016-05-13\":{\"GALI\":\"73\",\"DESAWAR\":\"27\"},\"2016-05-14\":{\"GALI\":\"13\",\"DESAWAR\":\"98\"},\"2016-05-15\":{\"GALI\":\"21\",\"DESAWAR\":\"47\"},\"2016-05-16\":{\"GALI\":\"55\",\"DESAWAR\":\"72\"},\"2016-05-17\":{\"GALI\":\"79\",\"DESAWAR\":\"82\"},\"2016-05-18\":{\"GALI\":\"59\",\"DESAWAR\":\"62\"},\"2016-05-19\":{\"GALI\":\"76\",\"DESAWAR\":\"15\"},\"2016-05-20\":{\"GALI\":\"50\",\"DESAWAR\":\"21\"},\"2016-05-21\":{\"GALI\":\"52\",\"DESAWAR\":\"38\"},\"2016-05-22\":{\"GALI\":\"65\",\"DESAWAR\":\"98\"},\"2016-05-23\":{\"GALI\":\"58\",\"DESAWAR\":\"94\"},\"2016-05-24\":{\"GALI\":\"53\",\"DESAWAR\":\"69\"},\"2016-05-25\":{\"GALI\":\"60\",\"DESAWAR\":\"25\"},\"2016-05-26\":{\"GALI\":\"46\",\"DESAWAR\":\"98\"},\"2016-05-27\":{\"GALI\":\"31\",\"DESAWAR\":\"58\"},\"2016-05-28\":{\"GALI\":\"06\",\"DESAWAR\":\"99\"},\"2016-05-29\":{\"GALI\":\"52\",\"DESAWAR\":\"62\"},\"2016-05-30\":{\"GALI\":\"11\",\"DESAWAR\":\"94\"},\"2016-05-31\":{\"GALI\":\"--\",\"DESAWAR\":\"76\"},\"2016-06-01\":{\"GALI\":\"14\"},\"2016-06-02\":{\"GALI\":\"02\",\"DESAWAR\":\"02\"},\"2016-06-03\":{\"GALI\":\"82\",\"DESAWAR\":\"76\"},\"2016-06-04\":{\"GALI\":\"37\",\"DESAWAR\":\"07\"},\"2016-06-05\":{\"GALI\":\"29\",\"DESAWAR\":\"79\"},\"2016-06-06\":{\"GALI\":\"37\",\"DESAWAR\":\"41\"},\"2016-06-07\":{\"GALI\":\"78\",\"DESAWAR\":\"19\"},\"2016-06-08\":{\"GALI\":\"03\",\"DESAWAR\":\"29\"},\"2016-06-09\":{\"GALI\":\"84\",\"DESAWAR\":\"87\"},\"2016-06-10\":{\"GALI\":\"87\",\"DESAWAR\":\"71\"},\"2016-06-11\":{\"GALI\":\"46\",\"DESAWAR\":\"65\"},\"2016-06-12\":{\"GALI\":\"60\",\"DESAWAR\":\"19\"},\"2016-06-13\":{\"GALI\":\"44\",\"DESAWAR\":\"99\"},\"2016-06-14\":{\"GALI\":\"30\",\"DESAWAR\":\"39\"},\"2016-06-15\":{\"GALI\":\"63\",\"DESAWAR\":\"55\"},\"2016-06-16\":{\"GALI\":\"29\",\"DESAWAR\":\"43\"},\"2016-06-17\":{\"GALI\":\"80\",\"DESAWAR\":\"67\"},\"2016-06-18\":{\"GALI\":\"32\",\"DESAWAR\":\"33\"},\"2016-06-19\":{\"GALI\":\"37\",\"DESAWAR\":\"31\"},\"2016-06-20\":{\"GALI\":\"02\",\"DESAWAR\":\"24\"},\"2016-06-21\":{\"GALI\":\"36\",\"DESAWAR\":\"23\"},\"2016-06-22\":{\"GALI\":\"17\",\"DESAWAR\":\"30\"},\"2016-06-23\":{\"GALI\":\"33\",\"DESAWAR\":\"76\"},\"2016-06-24\":{\"GALI\":\"48\",\"DESAWAR\":\"23\"},\"2016-06-25\":{\"GALI\":\"04\",\"DESAWAR\":\"84\"},\"2016-06-26\":{\"GALI\":\"30\",\"DESAWAR\":\"57\"},\"2016-06-27\":{\"GALI\":\"80\",\"DESAWAR\":\"31\"},\"2016-06-28\":{\"GALI\":\"60\",\"DESAWAR\":\"60\"},\"2016-06-29\":{\"GALI\":\"81\",\"DESAWAR\":\"53\"},\"2016-06-30\":{\"GALI\":\"--\",\"DESAWAR\":\"79\"},\"2016-07-01\":{\"GALI\":\"32\"},\"2016-07-02\":{\"GALI\":\"46\",\"DESAWAR\":\"69\"},\"2016-07-03\":{\"GALI\":\"36\",\"DESAWAR\":\"06\"},\"2016-07-04\":{\"GALI\":\"04\",\"DESAWAR\":\"27\"},\"2016-07-05\":{\"GALI\":\"63\",\"DESAWAR\":\"50\"},\"2016-07-06\":{\"GALI\":\"23\",\"DESAWAR\":\"41\"},\"2016-07-07\":{\"GALI\":\"69\",\"DESAWAR\":\"15\"},\"2016-07-08\":{\"GALI\":\"58\",\"DESAWAR\":\"62\"},\"2016-07-09\":{\"GALI\":\"09\",\"DESAWAR\":\"49\"},\"2016-07-10\":{\"GALI\":\"62\",\"DESAWAR\":\"03\"},\"2016-07-11\":{\"GALI\":\"85\",\"DESAWAR\":\"97\"},\"2016-07-12\":{\"GALI\":\"45\",\"DESAWAR\":\"63\"},\"2016-07-13\":{\"GALI\":\"94\",\"DESAWAR\":\"24\"},\"2016-07-14\":{\"GALI\":\"84\",\"DESAWAR\":\"20\"},\"2016-07-15\":{\"GALI\":\"09\",\"DESAWAR\":\"90\"},\"2016-07-16\":{\"GALI\":\"74\",\"DESAWAR\":\"12\"},\"2016-07-17\":{\"GALI\":\"72\",\"DESAWAR\":\"01\"},\"2016-07-18\":{\"GALI\":\"85\",\"DESAWAR\":\"19\"},\"2016-07-19\":{\"GALI\":\"06\",\"DESAWAR\":\"17\"},\"2016-07-20\":{\"GALI\":\"48\",\"DESAWAR\":\"69\"},\"2016-07-21\":{\"GALI\":\"46\",\"DESAWAR\":\"14\"},\"2016-07-22\":{\"GALI\":\"17\",\"DESAWAR\":\"45\"},\"2016-07-23\":{\"GALI\":\"35\",\"DESAWAR\":\"54\"},\"2016-07-24\":{\"GALI\":\"84\",\"DESAWAR\":\"80\"},\"2016-07-25\":{\"GALI\":\"58\",\"DESAWAR\":\"34\"},\"2016-07-26\":{\"GALI\":\"16\",\"DESAWAR\":\"93\"},\"2016-07-27\":{\"GALI\":\"93\",\"DESAWAR\":\"01\"},\"2016-07-28\":{\"GALI\":\"16\",\"DESAWAR\":\"57\"},\"2016-07-29\":{\"GALI\":\"50\",\"DESAWAR\":\"09\"},\"2016-07-30\":{\"GALI\":\"74\",\"DESAWAR\":\"86\"},\"2016-07-31\":{\"GALI\":\"--\",\"DESAWAR\":\"63\"},\"2016-08-01\":{\"GALI\":\"33\"},\"2016-08-02\":{\"GALI\":\"27\",\"DESAWAR\":\"91\"},\"2016-08-03\":{\"GALI\":\"87\",\"DESAWAR\":\"86\"},\"2016-08-04\":{\"GALI\":\"81\",\"DESAWAR\":\"94\"},\"2016-08-05\":{\"GALI\":\"05\",\"DESAWAR\":\"41\"},\"2016-08-06\":{\"GALI\":\"22\",\"DESAWAR\":\"86\"},\"2016-08-07\":{\"GALI\":\"40\",\"DESAWAR\":\"98\"},\"2016-08-08\":{\"GALI\":\"00\",\"DESAWAR\":\"63\"},\"2016-08-09\":{\"GALI\":\"23\",\"DESAWAR\":\"52\"},\"2016-08-10\":{\"GALI\":\"93\",\"DESAWAR\":\"60\"},\"2016-08-11\":{\"GALI\":\"60\",\"DESAWAR\":\"34\"},\"2016-08-12\":{\"GALI\":\"71\",\"DESAWAR\":\"03\"},\"2016-08-13\":{\"GALI\":\"20\",\"DESAWAR\":\"50\"},\"2016-08-14\":{\"GALI\":\"79\",\"DESAWAR\":\"91\"},\"2016-08-15\":{\"GALI\":\"97\",\"DESAWAR\":\"33\"},\"2016-08-16\":{\"GALI\":\"11\",\"DESAWAR\":\"86\"},\"2016-08-17\":{\"GALI\":\"59\",\"DESAWAR\":\"87\"},\"2016-08-18\":{\"GALI\":\"11\",\"DESAWAR\":\"03\"},\"2016-08-19\":{\"GALI\":\"78\",\"DESAWAR\":\"32\"},\"2016-08-20\":{\"GALI\":\"59\",\"DESAWAR\":\"76\"},\"2016-08-21\":{\"GALI\":\"23\",\"DESAWAR\":\"71\"},\"2016-08-22\":{\"GALI\":\"50\",\"DESAWAR\":\"57\"},\"2016-08-23\":{\"GALI\":\"88\",\"DESAWAR\":\"79\"},\"2016-08-24\":{\"GALI\":\"78\",\"DESAWAR\":\"72\"},\"2016-08-25\":{\"GALI\":\"17\",\"DESAWAR\":\"67\"},\"2016-08-26\":{\"GALI\":\"26\",\"DESAWAR\":\"63\"},\"2016-08-27\":{\"GALI\":\"71\",\"DESAWAR\":\"40\"},\"2016-08-28\":{\"GALI\":\"68\",\"DESAWAR\":\"85\"},\"2016-08-29\":{\"GALI\":\"08\",\"DESAWAR\":\"61\"},\"2016-08-30\":{\"GALI\":\"32\",\"DESAWAR\":\"33\"},\"2016-08-31\":{\"GALI\":\"--\",\"DESAWAR\":\"58\"},\"2016-09-01\":{\"GALI\":\"61\"},\"2016-09-02\":{\"GALI\":\"11\",\"DESAWAR\":\"62\"},\"2016-09-03\":{\"GALI\":\"07\",\"DESAWAR\":\"41\"},\"2016-09-04\":{\"GALI\":\"32\",\"DESAWAR\":\"62\"},\"2016-09-05\":{\"GALI\":\"04\",\"DESAWAR\":\"70\"},\"2016-09-06\":{\"GALI\":\"61\",\"DESAWAR\":\"98\"},\"2016-09-07\":{\"GALI\":\"35\",\"DESAWAR\":\"46\"},\"2016-09-08\":{\"GALI\":\"47\",\"DESAWAR\":\"45\"},\"2016-09-09\":{\"GALI\":\"44\",\"DESAWAR\":\"22\"},\"2016-09-10\":{\"GALI\":\"24\",\"DESAWAR\":\"93\"},\"2016-09-11\":{\"GALI\":\"08\",\"DESAWAR\":\"46\"},\"2016-09-12\":{\"GALI\":\"00\",\"DESAWAR\":\"84\"},\"2016-09-13\":{\"GALI\":\"62\",\"DESAWAR\":\"50\"},\"2016-09-14\":{\"GALI\":\"98\",\"DESAWAR\":\"95\"},\"2016-09-15\":{\"GALI\":\"90\",\"DESAWAR\":\"08\"},\"2016-09-16\":{\"GALI\":\"30\",\"DESAWAR\":\"95\"},\"2016-09-17\":{\"GALI\":\"96\",\"DESAWAR\":\"38\"},\"2016-09-18\":{\"GALI\":\"48\",\"DESAWAR\":\"65\"},\"2016-09-19\":{\"GALI\":\"56\",\"DESAWAR\":\"97\"},\"2016-09-20\":{\"GALI\":\"98\",\"DESAWAR\":\"32\"},\"2016-09-21\":{\"GALI\":\"81\",\"DESAWAR\":\"19\"},\"2016-09-22\":{\"GALI\":\"46\",\"DESAWAR\":\"30\"},\"2016-09-23\":{\"GALI\":\"66\",\"DESAWAR\":\"98\"},\"2016-09-24\":{\"GALI\":\"66\",\"DESAWAR\":\"34\"},\"2016-09-25\":{\"GALI\":\"05\",\"DESAWAR\":\"45\"},\"2016-09-26\":{\"GALI\":\"63\",\"DESAWAR\":\"62\"},\"2016-09-27\":{\"GALI\":\"73\",\"DESAWAR\":\"32\"},\"2016-09-28\":{\"GALI\":\"01\",\"DESAWAR\":\"14\"},\"2016-09-29\":{\"GALI\":\"41\",\"DESAWAR\":\"39\"},\"2016-09-30\":{\"GALI\":\"--\",\"DESAWAR\":\"71\"},\"2016-10-01\":{\"GALI\":\"80\"},\"2016-10-02\":{\"GALI\":\"78\",\"DESAWAR\":\"58\"},\"2016-10-03\":{\"GALI\":\"65\",\"DESAWAR\":\"51\"},\"2016-10-04\":{\"GALI\":\"26\",\"DESAWAR\":\"28\"},\"2016-10-05\":{\"GALI\":\"74\",\"DESAWAR\":\"57\"},\"2016-10-06\":{\"GALI\":\"88\",\"DESAWAR\":\"70\"},\"2016-10-07\":{\"GALI\":\"54\",\"DESAWAR\":\"73\"},\"2016-10-08\":{\"GALI\":\"47\",\"DESAWAR\":\"05\"},\"2016-10-09\":{\"GALI\":\"23\",\"DESAWAR\":\"65\"},\"2016-10-10\":{\"GALI\":\"22\",\"DESAWAR\":\"37\"},\"2016-10-11\":{\"GALI\":\"55\",\"DESAWAR\":\"16\"},\"2016-10-12\":{\"GALI\":\"13\",\"DESAWAR\":\"37\"},\"2016-10-13\":{\"GALI\":\"43\",\"DESAWAR\":\"46\"},\"2016-10-14\":{\"GALI\":\"18\",\"DESAWAR\":\"08\"},\"2016-10-15\":{\"GALI\":\"21\",\"DESAWAR\":\"78\"},\"2016-10-16\":{\"GALI\":\"28\",\"DESAWAR\":\"07\"},\"2016-10-17\":{\"GALI\":\"47\",\"DESAWAR\":\"12\"},\"2016-10-18\":{\"GALI\":\"52\",\"DESAWAR\":\"91\"},\"2016-10-19\":{\"GALI\":\"18\",\"DESAWAR\":\"31\"},\"2016-10-20\":{\"GALI\":\"69\",\"DESAWAR\":\"96\"},\"2016-10-21\":{\"GALI\":\"74\",\"DESAWAR\":\"92\"},\"2016-10-22\":{\"GALI\":\"31\",\"DESAWAR\":\"51\"},\"2016-10-23\":{\"GALI\":\"75\",\"DESAWAR\":\"96\"},\"2016-10-24\":{\"GALI\":\"94\",\"DESAWAR\":\"02\"},\"2016-10-25\":{\"GALI\":\"93\",\"DESAWAR\":\"69\"},\"2016-10-26\":{\"GALI\":\"17\",\"DESAWAR\":\"44\"},\"2016-10-27\":{\"GALI\":\"53\",\"DESAWAR\":\"93\"},\"2016-10-28\":{\"GALI\":\"56\",\"DESAWAR\":\"35\"},\"2016-10-29\":{\"GALI\":\"46\",\"DESAWAR\":\"71\"},\"2016-10-30\":{\"GALI\":\"19\",\"DESAWAR\":\"94\"},\"2016-10-31\":{\"GALI\":\"--\",\"DESAWAR\":\"65\"},\"2016-11-01\":{\"GALI\":\"04\"},\"2016-11-02\":{\"GALI\":\"42\",\"DESAWAR\":\"75\"},\"2016-11-03\":{\"GALI\":\"52\",\"DESAWAR\":\"65\"},\"2016-11-04\":{\"GALI\":\"72\",\"DESAWAR\":\"51\"},\"2016-11-05\":{\"GALI\":\"83\",\"DESAWAR\":\"35\"},\"2016-11-06\":{\"GALI\":\"70\",\"DESAWAR\":\"43\"},\"2016-11-07\":{\"GALI\":\"11\",\"DESAWAR\":\"85\"},\"2016-11-08\":{\"GALI\":\"36\",\"DESAWAR\":\"92\"},\"2016-11-09\":{\"GALI\":\"07\",\"DESAWAR\":\"38\"},\"2016-11-10\":{\"GALI\":\"93\",\"DESAWAR\":\"35\"},\"2016-11-11\":{\"GALI\":\"78\",\"DESAWAR\":\"07\"},\"2016-11-12\":{\"GALI\":\"59\",\"DESAWAR\":\"01\"},\"2016-11-13\":{\"GALI\":\"83\",\"DESAWAR\":\"16\"},\"2016-11-14\":{\"GALI\":\"19\",\"DESAWAR\":\"34\"},\"2016-11-15\":{\"GALI\":\"05\",\"DESAWAR\":\"28\"},\"2016-11-16\":{\"GALI\":\"10\",\"DESAWAR\":\"08\"},\"2016-11-17\":{\"GALI\":\"72\",\"DESAWAR\":\"31\"},\"2016-11-18\":{\"GALI\":\"80\",\"DESAWAR\":\"27\"},\"2016-11-19\":{\"GALI\":\"36\",\"DESAWAR\":\"47\"},\"2016-11-20\":{\"GALI\":\"76\",\"DESAWAR\":\"88\"},\"2016-11-21\":{\"GALI\":\"10\",\"DESAWAR\":\"02\"},\"2016-11-22\":{\"GALI\":\"53\",\"DESAWAR\":\"58\"},\"2016-11-23\":{\"GALI\":\"27\",\"DESAWAR\":\"43\"},\"2016-11-24\":{\"GALI\":\"08\",\"DESAWAR\":\"44\"},\"2016-11-25\":{\"GALI\":\"82\",\"DESAWAR\":\"22\"},\"2016-11-26\":{\"GALI\":\"30\",\"DESAWAR\":\"14\"},\"2016-11-27\":{\"GALI\":\"95\",\"DESAWAR\":\"54\"},\"2016-11-28\":{\"GALI\":\"54\",\"DESAWAR\":\"48\"},\"2016-11-29\":{\"GALI\":\"42\",\"DESAWAR\":\"01\"},\"2016-11-30\":{\"GALI\":\"--\",\"DESAWAR\":\"61\"},\"2016-12-01\":{\"GALI\":\"44\"},\"2016-12-02\":{\"GALI\":\"15\",\"DESAWAR\":\"44\"},\"2016-12-03\":{\"GALI\":\"50\",\"DESAWAR\":\"75\"},\"2016-12-04\":{\"GALI\":\"69\",\"DESAWAR\":\"37\"},\"2016-12-05\":{\"GALI\":\"73\"},\"2016-12-06\":{\"GALI\":\"41\",\"DESAWAR\":\"15\"},\"2016-12-07\":{\"GALI\":\"16\",\"DESAWAR\":\"16\"},\"2016-12-08\":{\"GALI\":\"90\",\"DESAWAR\":\"57\"},\"2016-12-09\":{\"GALI\":\"64\",\"DESAWAR\":\"90\"},\"2016-12-10\":{\"GALI\":\"18\",\"DESAWAR\":\"87\"},\"2016-12-11\":{\"GALI\":\"50\",\"DESAWAR\":\"97\"},\"2016-12-12\":{\"GALI\":\"05\",\"DESAWAR\":\"66\"},\"2016-12-13\":{\"GALI\":\"78\",\"DESAWAR\":\"72\"},\"2016-12-14\":{\"GALI\":\"70\",\"DESAWAR\":\"32\"},\"2016-12-15\":{\"GALI\":\"70\",\"DESAWAR\":\"60\"},\"2016-12-16\":{\"GALI\":\"82\",\"DESAWAR\":\"77\"},\"2016-12-17\":{\"GALI\":\"26\",\"DESAWAR\":\"44\"},\"2016-12-18\":{\"GALI\":\"96\",\"DESAWAR\":\"27\"},\"2016-12-19\":{\"GALI\":\"84\",\"DESAWAR\":\"45\"},\"2016-12-20\":{\"GALI\":\"84\",\"DESAWAR\":\"82\"},\"2016-12-21\":{\"GALI\":\"22\",\"DESAWAR\":\"34\"},\"2016-12-22\":{\"GALI\":\"61\",\"DESAWAR\":\"91\"},\"2016-12-23\":{\"GALI\":\"96\",\"DESAWAR\":\"57\"},\"2016-12-24\":{\"GALI\":\"09\",\"DESAWAR\":\"16\"},\"2016-12-25\":{\"GALI\":\"21\",\"DESAWAR\":\"62\"},\"2016-12-26\":{\"GALI\":\"32\",\"DESAWAR\":\"40\"},\"2016-12-27\":{\"GALI\":\"20\",\"DESAWAR\":\"66\"},\"2016-12-28\":{\"GALI\":\"61\",\"DESAWAR\":\"48\"},\"2016-12-29\":{\"GALI\":\"88\",\"DESAWAR\":\"97\"},\"2016-12-30\":{\"GALI\":\"82\",\"DESAWAR\":\"83\"},\"2016-12-31\":{\"GALI\":\"--\",\"DESAWAR\":\"20\"},\"2017-01-01\":{\"GALI\":\"87\"},\"2017-01-02\":{\"GALI\":\"84\",\"DESAWAR\":\"26\"},\"2017-01-03\":{\"GALI\":\"87\",\"DESAWAR\":\"77\"},\"2017-01-04\":{\"GALI\":\"62\",\"DESAWAR\":\"95\"},\"2017-01-05\":{\"GALI\":\"76\",\"DESAWAR\":\"48\"},\"2017-01-06\":{\"GALI\":\"69\",\"DESAWAR\":\"05\"},\"2017-01-07\":{\"GALI\":\"56\",\"DESAWAR\":\"76\"},\"2017-01-08\":{\"GALI\":\"75\",\"DESAWAR\":\"08\"},\"2017-01-09\":{\"GALI\":\"29\",\"DESAWAR\":\"39\"},\"2017-01-10\":{\"GALI\":\"89\",\"DESAWAR\":\"37\"},\"2017-01-11\":{\"GALI\":\"83\",\"DESAWAR\":\"71\"},\"2017-01-12\":{\"GALI\":\"20\",\"DESAWAR\":\"96\"},\"2017-01-13\":{\"GALI\":\"15\",\"DESAWAR\":\"90\"},\"2017-01-14\":{\"GALI\":\"33\",\"DESAWAR\":\"83\"},\"2017-01-15\":{\"GALI\":\"37\",\"DESAWAR\":\"65\"},\"2017-01-16\":{\"GALI\":\"31\",\"DESAWAR\":\"45\"},\"2017-01-17\":{\"GALI\":\"25\",\"DESAWAR\":\"87\"},\"2017-01-18\":{\"GALI\":\"77\",\"DESAWAR\":\"73\"},\"2017-01-19\":{\"GALI\":\"04\",\"DESAWAR\":\"09\"},\"2017-01-20\":{\"GALI\":\"19\",\"DESAWAR\":\"29\"},\"2017-01-21\":{\"GALI\":\"08\",\"DESAWAR\":\"82\"},\"2017-01-22\":{\"GALI\":\"09\",\"DESAWAR\":\"51\"},\"2017-01-23\":{\"GALI\":\"34\",\"DESAWAR\":\"20\"},\"2017-01-24\":{\"GALI\":\"13\",\"DESAWAR\":\"80\"},\"2017-01-25\":{\"GALI\":\"37\",\"DESAWAR\":\"17\"},\"2017-01-26\":{\"GALI\":\"19\",\"DESAWAR\":\"81\"},\"2017-01-27\":{\"GALI\":\"32\",\"DESAWAR\":\"59\"},\"2017-01-28\":{\"GALI\":\"72\",\"DESAWAR\":\"07\"},\"2017-01-29\":{\"GALI\":\"34\",\"DESAWAR\":\"00\"},\"2017-01-30\":{\"GALI\":\"69\",\"DESAWAR\":\"54\"},\"2017-01-31\":{\"GALI\":\"--\",\"DESAWAR\":\"52\"},\"2017-02-01\":{\"GALI\":\"83\"},\"2017-02-02\":{\"GALI\":\"76\",\"DESAWAR\":\"77\"},\"2017-02-03\":{\"GALI\":\"71\",\"DESAWAR\":\"39\"},\"2017-02-04\":{\"GALI\":\"51\",\"DESAWAR\":\"51\"},\"2017-02-05\":{\"GALI\":\"84\",\"DESAWAR\":\"43\"},\"2017-02-06\":{\"GALI\":\"54\",\"DESAWAR\":\"34\"},\"2017-02-07\":{\"GALI\":\"90\",\"DESAWAR\":\"47\"},\"2017-02-08\":{\"GALI\":\"31\",\"DESAWAR\":\"13\"},\"2017-02-09\":{\"GALI\":\"92\",\"DESAWAR\":\"84\"},\"2017-02-10\":{\"GALI\":\"94\",\"DESAWAR\":\"32\"},\"2017-02-11\":{\"GALI\":\"34\",\"DESAWAR\":\"77\"},\"2017-02-12\":{\"GALI\":\"36\",\"DESAWAR\":\"78\"},\"2017-02-13\":{\"GALI\":\"00\",\"DESAWAR\":\"48\"},\"2017-02-14\":{\"GALI\":\"79\",\"DESAWAR\":\"66\"},\"2017-02-15\":{\"GALI\":\"79\",\"DESAWAR\":\"13\"},\"2017-02-16\":{\"GALI\":\"95\",\"DESAWAR\":\"48\"},\"2017-02-17\":{\"GALI\":\"18\",\"DESAWAR\":\"98\"},\"2017-02-18\":{\"GALI\":\"92\",\"DESAWAR\":\"95\"},\"2017-02-19\":{\"GALI\":\"33\",\"DESAWAR\":\"12\"},\"2017-02-20\":{\"GALI\":\"55\",\"DESAWAR\":\"75\"},\"2017-02-21\":{\"GALI\":\"95\",\"DESAWAR\":\"63\"},\"2017-02-22\":{\"GALI\":\"25\",\"DESAWAR\":\"78\"},\"2017-02-23\":{\"GALI\":\"85\",\"DESAWAR\":\"69\"},\"2017-02-24\":{\"GALI\":\"71\",\"DESAWAR\":\"36\"},\"2017-02-25\":{\"GALI\":\"12\",\"DESAWAR\":\"32\"},\"2017-02-26\":{\"GALI\":\"39\",\"DESAWAR\":\"63\"},\"2017-02-27\":{\"GALI\":\"55\",\"DESAWAR\":\"44\"},\"2017-02-28\":{\"GALI\":\"--\",\"DESAWAR\":\"39\"},\"2017-03-01\":{\"GALI\":\"80\"},\"2017-03-02\":{\"GALI\":\"44\",\"DESAWAR\":\"38\"},\"2017-03-03\":{\"GALI\":\"56\",\"DESAWAR\":\"18\"},\"2017-03-04\":{\"GALI\":\"56\",\"DESAWAR\":\"30\"},\"2017-03-05\":{\"GALI\":\"25\",\"DESAWAR\":\"16\"},\"2017-03-06\":{\"GALI\":\"08\",\"DESAWAR\":\"81\"},\"2017-03-07\":{\"GALI\":\"60\",\"DESAWAR\":\"35\"},\"2017-03-08\":{\"GALI\":\"03\",\"DESAWAR\":\"94\"},\"2017-03-09\":{\"GALI\":\"31\",\"DESAWAR\":\"85\"},\"2017-03-10\":{\"GALI\":\"74\",\"DESAWAR\":\"74\"},\"2017-03-11\":{\"GALI\":\"73\",\"DESAWAR\":\"20\"},\"2017-03-12\":{\"GALI\":\"29\",\"DESAWAR\":\"55\"},\"2017-03-13\":{\"GALI\":\"02\",\"DESAWAR\":\"60\"},\"2017-03-14\":{\"GALI\":\"56\",\"DESAWAR\":\"22\"},\"2017-03-15\":{\"GALI\":\"28\",\"DESAWAR\":\"19\"},\"2017-03-16\":{\"GALI\":\"03\",\"DESAWAR\":\"99\"},\"2017-03-17\":{\"GALI\":\"01\",\"DESAWAR\":\"14\"},\"2017-03-18\":{\"GALI\":\"64\",\"DESAWAR\":\"78\"},\"2017-03-19\":{\"GALI\":\"89\",\"DESAWAR\":\"84\"},\"2017-03-20\":{\"GALI\":\"35\",\"DESAWAR\":\"14\"},\"2017-03-21\":{\"GALI\":\"96\",\"DESAWAR\":\"91\"},\"2017-03-22\":{\"GALI\":\"82\",\"DESAWAR\":\"54\"},\"2017-03-23\":{\"GALI\":\"98\",\"DESAWAR\":\"04\"},\"2017-03-24\":{\"GALI\":\"69\",\"DESAWAR\":\"42\"},\"2017-03-25\":{\"GALI\":\"40\",\"DESAWAR\":\"12\"},\"2017-03-26\":{\"GALI\":\"04\",\"DESAWAR\":\"59\"},\"2017-03-27\":{\"GALI\":\"74\",\"DESAWAR\":\"91\"},\"2017-03-28\":{\"GALI\":\"52\",\"DESAWAR\":\"27\"},\"2017-03-29\":{\"GALI\":\"40\",\"DESAWAR\":\"12\"},\"2017-03-30\":{\"GALI\":\"98\",\"DESAWAR\":\"65\"},\"2017-03-31\":{\"GALI\":\"--\",\"DESAWAR\":\"98\"},\"2017-04-01\":{\"GALI\":\"29\"},\"2017-04-02\":{\"GALI\":\"86\",\"DESAWAR\":\"34\"},\"2017-04-03\":{\"GALI\":\"55\",\"DESAWAR\":\"59\"},\"2017-04-04\":{\"GALI\":\"47\",\"DESAWAR\":\"79\"},\"2017-04-05\":{\"GALI\":\"46\",\"DESAWAR\":\"24\"},\"2017-04-06\":{\"GALI\":\"65\",\"DESAWAR\":\"70\"},\"2017-04-07\":{\"GALI\":\"77\",\"DESAWAR\":\"42\"},\"2017-04-08\":{\"GALI\":\"79\",\"DESAWAR\":\"60\"},\"2017-04-09\":{\"GALI\":\"35\",\"DESAWAR\":\"75\"},\"2017-04-10\":{\"GALI\":\"73\",\"DESAWAR\":\"61\"},\"2017-04-11\":{\"GALI\":\"26\",\"DESAWAR\":\"80\"},\"2017-04-12\":{\"GALI\":\"07\",\"DESAWAR\":\"76\"},\"2017-04-13\":{\"GALI\":\"73\",\"DESAWAR\":\"74\"},\"2017-04-14\":{\"GALI\":\"86\",\"DESAWAR\":\"69\"},\"2017-04-15\":{\"GALI\":\"25\",\"DESAWAR\":\"83\"},\"2017-04-16\":{\"GALI\":\"11\",\"DESAWAR\":\"81\"},\"2017-04-17\":{\"GALI\":\"65\",\"DESAWAR\":\"78\"},\"2017-04-18\":{\"GALI\":\"04\",\"DESAWAR\":\"01\"},\"2017-04-19\":{\"GALI\":\"53\",\"DESAWAR\":\"60\"},\"2017-04-20\":{\"GALI\":\"04\",\"DESAWAR\":\"87\"},\"2017-04-21\":{\"GALI\":\"88\",\"DESAWAR\":\"75\"},\"2017-04-22\":{\"GALI\":\"60\",\"DESAWAR\":\"05\"},\"2017-04-23\":{\"GALI\":\"07\",\"DESAWAR\":\"39\"},\"2017-04-24\":{\"GALI\":\"01\",\"DESAWAR\":\"07\"},\"2017-04-25\":{\"GALI\":\"47\",\"DESAWAR\":\"29\"},\"2017-04-26\":{\"GALI\":\"51\",\"DESAWAR\":\"80\"},\"2017-04-27\":{\"GALI\":\"36\",\"DESAWAR\":\"56\"},\"2017-04-28\":{\"GALI\":\"01\",\"DESAWAR\":\"52\"},\"2017-04-29\":{\"GALI\":\"72\",\"DESAWAR\":\"38\"},\"2017-04-30\":{\"GALI\":\"--\",\"DESAWAR\":\"65\"},\"2017-05-01\":{\"GALI\":\"44\"},\"2017-05-02\":{\"GALI\":\"83\",\"DESAWAR\":\"74\"},\"2017-05-03\":{\"GALI\":\"64\",\"DESAWAR\":\"47\"},\"2017-05-04\":{\"GALI\":\"80\",\"DESAWAR\":\"64\"},\"2017-05-05\":{\"GALI\":\"09\",\"DESAWAR\":\"83\"},\"2017-05-06\":{\"GALI\":\"68\",\"DESAWAR\":\"22\"},\"2017-05-07\":{\"GALI\":\"39\",\"DESAWAR\":\"30\"},\"2017-05-08\":{\"GALI\":\"03\",\"DESAWAR\":\"83\"},\"2017-05-09\":{\"GALI\":\"97\",\"DESAWAR\":\"69\"},\"2017-05-10\":{\"GALI\":\"19\",\"DESAWAR\":\"39\"},\"2017-05-11\":{\"GALI\":\"85\",\"DESAWAR\":\"60\"},\"2017-05-12\":{\"GALI\":\"27\",\"DESAWAR\":\"50\"},\"2017-05-13\":{\"GALI\":\"10\",\"DESAWAR\":\"67\"},\"2017-05-14\":{\"GALI\":\"64\",\"DESAWAR\":\"96\"},\"2017-05-15\":{\"GALI\":\"27\",\"DESAWAR\":\"57\"},\"2017-05-16\":{\"GALI\":\"26\",\"DESAWAR\":\"96\"},\"2017-05-17\":{\"GALI\":\"70\",\"DESAWAR\":\"49\"},\"2017-05-18\":{\"GALI\":\"24\",\"DESAWAR\":\"16\"},\"2017-05-19\":{\"GALI\":\"15\",\"DESAWAR\":\"74\"},\"2017-05-20\":{\"GALI\":\"34\",\"DESAWAR\":\"99\"},\"2017-05-21\":{\"GALI\":\"10\",\"DESAWAR\":\"72\"},\"2017-05-22\":{\"GALI\":\"16\",\"DESAWAR\":\"64\"},\"2017-05-23\":{\"GALI\":\"53\",\"DESAWAR\":\"34\"},\"2017-05-24\":{\"GALI\":\"61\",\"DESAWAR\":\"76\"},\"2017-05-25\":{\"GALI\":\"43\",\"DESAWAR\":\"03\"},\"2017-05-26\":{\"GALI\":\"90\",\"DESAWAR\":\"16\"},\"2017-05-27\":{\"GALI\":\"92\",\"DESAWAR\":\"61\"},\"2017-05-28\":{\"GALI\":\"26\",\"DESAWAR\":\"41\"},\"2017-05-29\":{\"GALI\":\"81\",\"DESAWAR\":\"04\"},\"2017-05-30\":{\"GALI\":\"15\",\"DESAWAR\":\"86\"},\"2017-05-31\":{\"GALI\":\"--\",\"DESAWAR\":\"37\"},\"2017-06-01\":{\"GALI\":\"51\"},\"2017-06-02\":{\"GALI\":\"88\",\"DESAWAR\":\"30\"},\"2017-06-03\":{\"GALI\":\"73\",\"DESAWAR\":\"82\"},\"2017-06-04\":{\"GALI\":\"98\",\"DESAWAR\":\"75\"},\"2017-06-05\":{\"GALI\":\"66\",\"DESAWAR\":\"54\"},\"2017-06-06\":{\"GALI\":\"28\",\"DESAWAR\":\"51\"},\"2017-06-07\":{\"GALI\":\"99\",\"DESAWAR\":\"24\"},\"2017-06-08\":{\"GALI\":\"52\",\"DESAWAR\":\"52\"},\"2017-06-09\":{\"GALI\":\"20\",\"DESAWAR\":\"16\"},\"2017-06-10\":{\"GALI\":\"67\",\"DESAWAR\":\"54\"},\"2017-06-11\":{\"GALI\":\"58\",\"DESAWAR\":\"24\"},\"2017-06-12\":{\"GALI\":\"21\",\"DESAWAR\":\"22\"},\"2017-06-13\":{\"GALI\":\"90\",\"DESAWAR\":\"51\"},\"2017-06-14\":{\"GALI\":\"81\",\"DESAWAR\":\"41\"},\"2017-06-15\":{\"GALI\":\"43\",\"DESAWAR\":\"98\"},\"2017-06-16\":{\"GALI\":\"57\",\"DESAWAR\":\"40\"},\"2017-06-17\":{\"GALI\":\"78\",\"DESAWAR\":\"94\"},\"2017-06-18\":{\"GALI\":\"11\",\"DESAWAR\":\"28\"},\"2017-06-19\":{\"GALI\":\"39\",\"DESAWAR\":\"54\"},\"2017-06-20\":{\"GALI\":\"16\",\"DESAWAR\":\"36\"},\"2017-06-21\":{\"GALI\":\"00\",\"DESAWAR\":\"88\"},\"2017-06-22\":{\"GALI\":\"59\",\"DESAWAR\":\"29\"},\"2017-06-23\":{\"GALI\":\"46\",\"DESAWAR\":\"41\"},\"2017-06-24\":{\"GALI\":\"94\",\"DESAWAR\":\"66\"},\"2017-06-25\":{\"GALI\":\"70\",\"DESAWAR\":\"87\"},\"2017-06-26\":{\"GALI\":\"88\",\"DESAWAR\":\"52\"},\"2017-06-27\":{\"GALI\":\"94\",\"DESAWAR\":\"52\"},\"2017-06-28\":{\"GALI\":\"20\",\"DESAWAR\":\"44\"},\"2017-06-29\":{\"GALI\":\"97\",\"DESAWAR\":\"99\"},\"2017-06-30\":{\"GALI\":\"--\",\"DESAWAR\":\"12\"},\"2017-07-01\":{\"GALI\":\"67\"},\"2017-07-02\":{\"GALI\":\"00\",\"DESAWAR\":\"61\"},\"2017-07-03\":{\"GALI\":\"75\",\"DESAWAR\":\"78\"},\"2017-07-04\":{\"GALI\":\"90\",\"DESAWAR\":\"68\"},\"2017-07-05\":{\"GALI\":\"97\",\"DESAWAR\":\"59\"},\"2017-07-06\":{\"GALI\":\"64\",\"DESAWAR\":\"50\"},\"2017-07-07\":{\"GALI\":\"52\",\"DESAWAR\":\"79\"},\"2017-07-08\":{\"GALI\":\"14\",\"DESAWAR\":\"04\"},\"2017-07-09\":{\"GALI\":\"19\",\"DESAWAR\":\"70\"},\"2017-07-10\":{\"GALI\":\"14\",\"DESAWAR\":\"80\"},\"2017-07-11\":{\"GALI\":\"98\",\"DESAWAR\":\"31\"},\"2017-07-12\":{\"GALI\":\"57\",\"DESAWAR\":\"31\"},\"2017-07-13\":{\"GALI\":\"55\",\"DESAWAR\":\"70\"},\"2017-07-14\":{\"GALI\":\"39\",\"DESAWAR\":\"15\"},\"2017-07-15\":{\"GALI\":\"89\",\"DESAWAR\":\"97\"},\"2017-07-16\":{\"GALI\":\"55\",\"DESAWAR\":\"26\"},\"2017-07-17\":{\"GALI\":\"83\",\"DESAWAR\":\"79\"},\"2017-07-18\":{\"GALI\":\"82\",\"DESAWAR\":\"72\"},\"2017-07-19\":{\"GALI\":\"97\",\"DESAWAR\":\"31\"},\"2017-07-20\":{\"GALI\":\"78\",\"DESAWAR\":\"82\"},\"2017-07-21\":{\"GALI\":\"30\",\"DESAWAR\":\"40\"},\"2017-07-22\":{\"GALI\":\"27\",\"DESAWAR\":\"31\"},\"2017-07-23\":{\"GALI\":\"26\",\"DESAWAR\":\"09\"},\"2017-07-24\":{\"GALI\":\"47\",\"DESAWAR\":\"97\"},\"2017-07-25\":{\"GALI\":\"53\",\"DESAWAR\":\"41\"},\"2017-07-26\":{\"GALI\":\"35\",\"DESAWAR\":\"27\"},\"2017-07-27\":{\"GALI\":\"56\",\"DESAWAR\":\"11\"},\"2017-07-28\":{\"GALI\":\"34\",\"DESAWAR\":\"18\"},\"2017-07-29\":{\"GALI\":\"58\",\"DESAWAR\":\"05\"},\"2017-07-30\":{\"GALI\":\"93\",\"DESAWAR\":\"42\"},\"2017-07-31\":{\"GALI\":\"--\",\"DESAWAR\":\"01\"},\"2017-08-01\":{\"GALI\":\"43\"},\"2017-08-02\":{\"GALI\":\"99\",\"DESAWAR\":\"38\"},\"2017-08-03\":{\"GALI\":\"67\",\"DESAWAR\":\"42\"},\"2017-08-04\":{\"GALI\":\"19\",\"DESAWAR\":\"95\"},\"2017-08-05\":{\"GALI\":\"53\",\"DESAWAR\":\"44\"},\"2017-08-06\":{\"GALI\":\"52\",\"DESAWAR\":\"79\"},\"2017-08-07\":{\"GALI\":\"82\",\"DESAWAR\":\"99\"},\"2017-08-08\":{\"GALI\":\"54\",\"DESAWAR\":\"59\"},\"2017-08-09\":{\"GALI\":\"61\",\"DESAWAR\":\"87\"},\"2017-08-10\":{\"GALI\":\"94\",\"DESAWAR\":\"02\"},\"2017-08-11\":{\"GALI\":\"25\",\"DESAWAR\":\"28\"},\"2017-08-12\":{\"GALI\":\"56\",\"DESAWAR\":\"66\"},\"2017-08-13\":{\"GALI\":\"67\",\"DESAWAR\":\"58\"},\"2017-08-14\":{\"GALI\":\"64\",\"DESAWAR\":\"48\"},\"2017-08-15\":{\"GALI\":\"99\",\"DESAWAR\":\"22\"},\"2017-08-16\":{\"GALI\":\"30\",\"DESAWAR\":\"64\"},\"2017-08-17\":{\"GALI\":\"14\",\"DESAWAR\":\"36\"},\"2017-08-18\":{\"GALI\":\"37\",\"DESAWAR\":\"30\"},\"2017-08-19\":{\"GALI\":\"66\",\"DESAWAR\":\"54\"},\"2017-08-20\":{\"GALI\":\"21\",\"DESAWAR\":\"20\"},\"2017-08-21\":{\"GALI\":\"86\",\"DESAWAR\":\"83\"},\"2017-08-22\":{\"GALI\":\"38\",\"DESAWAR\":\"18\"},\"2017-08-23\":{\"GALI\":\"85\",\"DESAWAR\":\"26\"},\"2017-08-24\":{\"GALI\":\"11\",\"DESAWAR\":\"65\"},\"2017-08-25\":{\"GALI\":\"03\",\"DESAWAR\":\"39\"},\"2017-08-26\":{\"GALI\":\"04\",\"DESAWAR\":\"02\"},\"2017-08-27\":{\"GALI\":\"80\",\"DESAWAR\":\"72\"},\"2017-08-28\":{\"GALI\":\"37\",\"DESAWAR\":\"68\"},\"2017-08-29\":{\"GALI\":\"28\",\"DESAWAR\":\"05\"},\"2017-08-30\":{\"GALI\":\"08\",\"DESAWAR\":\"41\"},\"2017-08-31\":{\"GALI\":\"--\",\"DESAWAR\":\"39\"},\"2017-09-01\":{\"GALI\":\"49\"},\"2017-09-02\":{\"GALI\":\"68\",\"DESAWAR\":\"04\"},\"2017-09-03\":{\"GALI\":\"81\",\"DESAWAR\":\"11\"},\"2017-09-04\":{\"GALI\":\"24\",\"DESAWAR\":\"87\"},\"2017-09-05\":{\"GALI\":\"73\",\"DESAWAR\":\"66\"},\"2017-09-06\":{\"GALI\":\"86\",\"DESAWAR\":\"22\"},\"2017-09-07\":{\"GALI\":\"06\",\"DESAWAR\":\"84\"},\"2017-09-08\":{\"GALI\":\"82\",\"DESAWAR\":\"28\"},\"2017-09-09\":{\"GALI\":\"92\",\"DESAWAR\":\"47\"},\"2017-09-10\":{\"GALI\":\"17\",\"DESAWAR\":\"24\"},\"2017-09-11\":{\"GALI\":\"28\",\"DESAWAR\":\"16\"},\"2017-09-12\":{\"GALI\":\"68\",\"DESAWAR\":\"64\"},\"2017-09-13\":{\"GALI\":\"53\",\"DESAWAR\":\"08\"},\"2017-09-14\":{\"GALI\":\"09\",\"DESAWAR\":\"94\"},\"2017-09-15\":{\"GALI\":\"79\",\"DESAWAR\":\"85\"},\"2017-09-16\":{\"GALI\":\"17\",\"DESAWAR\":\"49\"},\"2017-09-17\":{\"GALI\":\"47\",\"DESAWAR\":\"86\"},\"2017-09-18\":{\"GALI\":\"10\",\"DESAWAR\":\"66\"},\"2017-09-19\":{\"GALI\":\"37\",\"DESAWAR\":\"70\"},\"2017-09-20\":{\"GALI\":\"49\",\"DESAWAR\":\"61\"},\"2017-09-21\":{\"GALI\":\"34\",\"DESAWAR\":\"62\"},\"2017-09-22\":{\"GALI\":\"09\",\"DESAWAR\":\"16\"},\"2017-09-23\":{\"GALI\":\"63\",\"DESAWAR\":\"62\"},\"2017-09-24\":{\"GALI\":\"31\",\"DESAWAR\":\"29\"},\"2017-09-25\":{\"GALI\":\"29\",\"DESAWAR\":\"01\"},\"2017-09-26\":{\"GALI\":\"89\",\"DESAWAR\":\"13\"},\"2017-09-27\":{\"GALI\":\"40\",\"DESAWAR\":\"01\"},\"2017-09-28\":{\"GALI\":\"18\",\"DESAWAR\":\"47\"},\"2017-09-29\":{\"GALI\":\"70\",\"DESAWAR\":\"61\"},\"2017-09-30\":{\"GALI\":\"--\",\"DESAWAR\":\"33\"},\"2017-10-01\":{\"GALI\":\"36\"},\"2017-10-02\":{\"GALI\":\"15\",\"DESAWAR\":\"36\"},\"2017-10-03\":{\"GALI\":\"45\",\"DESAWAR\":\"80\"},\"2017-10-04\":{\"GALI\":\"12\",\"DESAWAR\":\"04\"},\"2017-10-05\":{\"GALI\":\"98\",\"DESAWAR\":\"04\"},\"2017-10-06\":{\"GALI\":\"84\",\"DESAWAR\":\"76\"},\"2017-10-07\":{\"GALI\":\"53\",\"DESAWAR\":\"97\"},\"2017-10-08\":{\"GALI\":\"95\",\"DESAWAR\":\"25\"},\"2017-10-09\":{\"GALI\":\"31\",\"DESAWAR\":\"93\"},\"2017-10-10\":{\"GALI\":\"59\",\"DESAWAR\":\"85\"},\"2017-10-11\":{\"GALI\":\"45\",\"DESAWAR\":\"92\"},\"2017-10-12\":{\"GALI\":\"58\",\"DESAWAR\":\"23\"},\"2017-10-13\":{\"GALI\":\"17\",\"DESAWAR\":\"45\"},\"2017-10-14\":{\"GALI\":\"85\",\"DESAWAR\":\"50\"},\"2017-10-15\":{\"GALI\":\"43\",\"DESAWAR\":\"58\"},\"2017-10-16\":{\"GALI\":\"06\",\"DESAWAR\":\"26\"},\"2017-10-17\":{\"GALI\":\"83\",\"DESAWAR\":\"75\"},\"2017-10-18\":{\"GALI\":\"58\",\"DESAWAR\":\"21\"},\"2017-10-19\":{\"GALI\":\"15\",\"DESAWAR\":\"48\"},\"2017-10-20\":{\"GALI\":\"97\",\"DESAWAR\":\"41\"},\"2017-10-21\":{\"GALI\":\"07\",\"DESAWAR\":\"88\"},\"2017-10-22\":{\"GALI\":\"60\",\"DESAWAR\":\"49\"},\"2017-10-23\":{\"GALI\":\"92\",\"DESAWAR\":\"03\"},\"2017-10-24\":{\"GALI\":\"73\",\"DESAWAR\":\"91\"},\"2017-10-25\":{\"GALI\":\"00\",\"DESAWAR\":\"91\"},\"2017-10-26\":{\"GALI\":\"47\",\"DESAWAR\":\"45\"},\"2017-10-27\":{\"GALI\":\"92\",\"DESAWAR\":\"37\"},\"2017-10-28\":{\"GALI\":\"45\",\"DESAWAR\":\"75\"},\"2017-10-29\":{\"GALI\":\"75\",\"DESAWAR\":\"33\"},\"2017-10-30\":{\"GALI\":\"40\",\"DESAWAR\":\"85\"},\"2017-10-31\":{\"GALI\":\"--\",\"DESAWAR\":\"67\"},\"2017-11-01\":{\"GALI\":\"09\"},\"2017-11-02\":{\"GALI\":\"89\",\"DESAWAR\":\"66\"},\"2017-11-03\":{\"GALI\":\"23\",\"DESAWAR\":\"20\"},\"2017-11-04\":{\"GALI\":\"80\",\"DESAWAR\":\"91\"},\"2017-11-05\":{\"GALI\":\"63\",\"DESAWAR\":\"67\"},\"2017-11-06\":{\"GALI\":\"06\",\"DESAWAR\":\"64\"},\"2017-11-07\":{\"GALI\":\"07\",\"DESAWAR\":\"25\"},\"2017-11-08\":{\"GALI\":\"20\",\"DESAWAR\":\"90\"},\"2017-11-09\":{\"GALI\":\"21\",\"DESAWAR\":\"94\"},\"2017-11-10\":{\"GALI\":\"08\",\"DESAWAR\":\"26\"},\"2017-11-11\":{\"GALI\":\"06\",\"DESAWAR\":\"84\"},\"2017-11-12\":{\"GALI\":\"59\",\"DESAWAR\":\"52\"},\"2017-11-13\":{\"GALI\":\"98\",\"DESAWAR\":\"29\"},\"2017-11-14\":{\"GALI\":\"36\",\"DESAWAR\":\"12\"},\"2017-11-15\":{\"GALI\":\"88\",\"DESAWAR\":\"97\"},\"2017-11-16\":{\"GALI\":\"72\",\"DESAWAR\":\"29\"},\"2017-11-17\":{\"GALI\":\"53\",\"DESAWAR\":\"24\"},\"2017-11-18\":{\"GALI\":\"33\",\"DESAWAR\":\"62\"},\"2017-11-19\":{\"GALI\":\"18\",\"DESAWAR\":\"88\"},\"2017-11-20\":{\"GALI\":\"71\",\"DESAWAR\":\"07\"},\"2017-11-21\":{\"GALI\":\"14\",\"DESAWAR\":\"78\"},\"2017-11-22\":{\"GALI\":\"43\",\"DESAWAR\":\"33\"},\"2017-11-23\":{\"GALI\":\"15\",\"DESAWAR\":\"24\"},\"2017-11-24\":{\"GALI\":\"79\",\"DESAWAR\":\"73\"},\"2017-11-25\":{\"GALI\":\"74\",\"DESAWAR\":\"59\"},\"2017-11-26\":{\"GALI\":\"88\",\"DESAWAR\":\"31\"},\"2017-11-27\":{\"GALI\":\"05\",\"DESAWAR\":\"42\"},\"2017-11-28\":{\"GALI\":\"49\",\"DESAWAR\":\"93\"},\"2017-11-29\":{\"GALI\":\"69\",\"DESAWAR\":\"37\"},\"2017-11-30\":{\"GALI\":\"--\",\"DESAWAR\":\"68\"},\"2017-12-01\":{\"GALI\":\"72\"},\"2017-12-02\":{\"GALI\":\"06\",\"DESAWAR\":\"52\"},\"2017-12-03\":{\"GALI\":\"01\",\"DESAWAR\":\"90\"},\"2017-12-04\":{\"GALI\":\"33\",\"DESAWAR\":\"26\"},\"2017-12-05\":{\"GALI\":\"54\",\"DESAWAR\":\"30\"},\"2017-12-06\":{\"GALI\":\"10\",\"DESAWAR\":\"24\"},\"2017-12-07\":{\"GALI\":\"50\",\"DESAWAR\":\"34\"},\"2017-12-08\":{\"GALI\":\"71\",\"DESAWAR\":\"51\"},\"2017-12-09\":{\"GALI\":\"49\",\"DESAWAR\":\"15\"},\"2017-12-10\":{\"DESAWAR\":\"26\"},\"2017-12-11\":{\"GALI\":\"58\",\"DESAWAR\":\"46\"},\"2017-12-12\":{\"GALI\":\"38\",\"DESAWAR\":\"10\"},\"2017-12-13\":{\"GALI\":\"61\",\"DESAWAR\":\"80\"},\"2017-12-14\":{\"GALI\":\"52\",\"DESAWAR\":\"80\"},\"2017-12-15\":{\"GALI\":\"81\",\"DESAWAR\":\"68\"},\"2017-12-16\":{\"GALI\":\"76\",\"DESAWAR\":\"18\"},\"2017-12-17\":{\"GALI\":\"64\",\"DESAWAR\":\"60\"},\"2017-12-18\":{\"GALI\":\"58\",\"DESAWAR\":\"31\"},\"2017-12-19\":{\"GALI\":\"16\",\"DESAWAR\":\"88\"},\"2017-12-20\":{\"GALI\":\"14\",\"DESAWAR\":\"78\"},\"2017-12-21\":{\"GALI\":\"06\",\"DESAWAR\":\"74\"},\"2017-12-22\":{\"GALI\":\"73\",\"DESAWAR\":\"55\"},\"2017-12-23\":{\"GALI\":\"38\",\"DESAWAR\":\"81\"},\"2017-12-24\":{\"GALI\":\"77\",\"DESAWAR\":\"28\"},\"2017-12-25\":{\"GALI\":\"48\",\"DESAWAR\":\"34\"},\"2017-12-26\":{\"GALI\":\"27\",\"DESAWAR\":\"37\"},\"2017-12-27\":{\"GALI\":\"16\",\"DESAWAR\":\"94\"},\"2017-12-28\":{\"GALI\":\"86\",\"DESAWAR\":\"67\"},\"2017-12-29\":{\"GALI\":\"34\",\"DESAWAR\":\"23\"},\"2017-12-30\":{\"GALI\":\"21\",\"DESAWAR\":\"68\"},\"2017-12-31\":{\"GALI\":\"--\",\"DESAWAR\":\"44\"},\"2018-01-01\":{\"GALI\":\"23\"},\"2018-01-02\":{\"GALI\":\"60\",\"DESAWAR\":\"55\"},\"2018-01-03\":{\"GALI\":\"64\",\"DESAWAR\":\"98\"},\"2018-01-04\":{\"GALI\":\"89\",\"DESAWAR\":\"15\"},\"2018-01-05\":{\"GALI\":\"81\",\"DESAWAR\":\"31\"},\"2018-01-06\":{\"GALI\":\"67\",\"DESAWAR\":\"90\"},\"2018-01-07\":{\"GALI\":\"30\",\"DESAWAR\":\"27\"},\"2018-01-08\":{\"GALI\":\"06\",\"DESAWAR\":\"91\"},\"2018-01-09\":{\"GALI\":\"89\",\"DESAWAR\":\"44\"},\"2018-01-10\":{\"GALI\":\"26\",\"DESAWAR\":\"91\"},\"2018-01-11\":{\"GALI\":\"62\",\"DESAWAR\":\"76\"},\"2018-01-12\":{\"GALI\":\"34\",\"DESAWAR\":\"91\"},\"2018-01-13\":{\"GALI\":\"40\",\"DESAWAR\":\"65\"},\"2018-01-14\":{\"GALI\":\"02\",\"DESAWAR\":\"25\"},\"2018-01-15\":{\"GALI\":\"43\",\"DESAWAR\":\"21\"},\"2018-01-16\":{\"GALI\":\"74\",\"DESAWAR\":\"02\"},\"2018-01-17\":{\"GALI\":\"34\",\"DESAWAR\":\"67\"},\"2018-01-18\":{\"GALI\":\"50\",\"DESAWAR\":\"53\"},\"2018-01-19\":{\"GALI\":\"65\",\"DESAWAR\":\"26\"},\"2018-01-20\":{\"GALI\":\"48\",\"DESAWAR\":\"58\"},\"2018-01-21\":{\"GALI\":\"60\",\"DESAWAR\":\"01\"},\"2018-01-22\":{\"GALI\":\"06\",\"DESAWAR\":\"97\"},\"2018-01-23\":{\"GALI\":\"50\",\"DESAWAR\":\"46\"},\"2018-01-24\":{\"GALI\":\"12\",\"DESAWAR\":\"30\"},\"2018-01-25\":{\"GALI\":\"82\",\"DESAWAR\":\"58\"},\"2018-01-26\":{\"GALI\":\"31\",\"DESAWAR\":\"12\"},\"2018-01-27\":{\"GALI\":\"96\",\"DESAWAR\":\"56\"},\"2018-01-28\":{\"GALI\":\"21\",\"DESAWAR\":\"93\"},\"2018-01-29\":{\"GALI\":\"30\",\"DESAWAR\":\"82\"},\"2018-01-30\":{\"GALI\":\"92\",\"DESAWAR\":\"42\"},\"2018-01-31\":{\"GALI\":\"--\",\"DESAWAR\":\"62\"},\"2018-02-01\":{\"GALI\":\"65\"},\"2018-02-02\":{\"GALI\":\"14\",\"DESAWAR\":\"42\"},\"2018-02-03\":{\"GALI\":\"67\",\"DESAWAR\":\"65\"},\"2018-02-04\":{\"GALI\":\"01\",\"DESAWAR\":\"82\"},\"2018-02-05\":{\"GALI\":\"54\",\"DESAWAR\":\"95\"},\"2018-02-06\":{\"GALI\":\"43\",\"DESAWAR\":\"64\"},\"2018-02-07\":{\"GALI\":\"39\",\"DESAWAR\":\"18\"},\"2018-02-08\":{\"GALI\":\"75\",\"DESAWAR\":\"33\"},\"2018-02-09\":{\"GALI\":\"74\",\"DESAWAR\":\"46\"},\"2018-02-10\":{\"GALI\":\"09\",\"DESAWAR\":\"72\"},\"2018-02-11\":{\"GALI\":\"03\",\"DESAWAR\":\"73\"},\"2018-02-12\":{\"GALI\":\"95\",\"DESAWAR\":\"62\"},\"2018-02-13\":{\"GALI\":\"23\",\"DESAWAR\":\"12\"},\"2018-02-14\":{\"GALI\":\"40\",\"DESAWAR\":\"68\"},\"2018-02-15\":{\"GALI\":\"63\",\"DESAWAR\":\"99\"},\"2018-02-16\":{\"GALI\":\"20\",\"DESAWAR\":\"61\"},\"2018-02-17\":{\"GALI\":\"75\",\"DESAWAR\":\"46\"},\"2018-02-18\":{\"GALI\":\"33\",\"DESAWAR\":\"48\"},\"2018-02-19\":{\"GALI\":\"08\",\"DESAWAR\":\"84\"},\"2018-02-20\":{\"GALI\":\"68\",\"DESAWAR\":\"55\"},\"2018-02-21\":{\"GALI\":\"09\",\"DESAWAR\":\"61\"},\"2018-02-22\":{\"GALI\":\"48\",\"DESAWAR\":\"90\"},\"2018-02-23\":{\"GALI\":\"36\",\"DESAWAR\":\"82\"},\"2018-02-24\":{\"GALI\":\"83\",\"DESAWAR\":\"18\"},\"2018-02-25\":{\"GALI\":\"08\",\"DESAWAR\":\"49\"},\"2018-02-26\":{\"GALI\":\"71\",\"DESAWAR\":\"98\"},\"2018-02-27\":{\"GALI\":\"77\",\"DESAWAR\":\"41\"},\"2018-02-28\":{\"DESAWAR\":\"59\"},\"2018-03-01\":{\"GALI\":\"44\"},\"2018-03-02\":{\"GALI\":\"12\",\"DESAWAR\":\"71\"},\"2018-03-03\":{\"GALI\":\"66\",\"DESAWAR\":\"70\"},\"2018-03-04\":{\"GALI\":\"59\",\"DESAWAR\":\"93\"},\"2018-03-05\":{\"GALI\":\"99\",\"DESAWAR\":\"89\"},\"2018-03-06\":{\"GALI\":\"27\",\"DESAWAR\":\"84\"},\"2018-03-07\":{\"GALI\":\"82\",\"DESAWAR\":\"76\"},\"2018-03-08\":{\"GALI\":\"72\",\"DESAWAR\":\"44\"},\"2018-03-09\":{\"GALI\":\"75\",\"DESAWAR\":\"98\"},\"2018-03-10\":{\"GALI\":\"27\",\"DESAWAR\":\"49\"},\"2018-03-11\":{\"GALI\":\"17\",\"DESAWAR\":\"40\"},\"2018-03-12\":{\"GALI\":\"87\",\"DESAWAR\":\"92\"},\"2018-03-13\":{\"GALI\":\"23\",\"DESAWAR\":\"27\"},\"2018-03-14\":{\"GALI\":\"17\",\"DESAWAR\":\"07\"},\"2018-03-15\":{\"GALI\":\"47\",\"DESAWAR\":\"03\"},\"2018-03-16\":{\"GALI\":\"00\",\"DESAWAR\":\"96\"},\"2018-03-17\":{\"GALI\":\"93\",\"DESAWAR\":\"43\"},\"2018-03-18\":{\"GALI\":\"81\",\"DESAWAR\":\"24\"},\"2018-03-19\":{\"GALI\":\"02\",\"DESAWAR\":\"47\"},\"2018-03-20\":{\"GALI\":\"51\",\"DESAWAR\":\"18\"},\"2018-03-21\":{\"GALI\":\"89\",\"DESAWAR\":\"17\"},\"2018-03-22\":{\"GALI\":\"50\",\"DESAWAR\":\"72\"},\"2018-03-23\":{\"GALI\":\"80\",\"DESAWAR\":\"33\"},\"2018-03-24\":{\"GALI\":\"15\",\"DESAWAR\":\"59\"},\"2018-03-25\":{\"GALI\":\"77\",\"DESAWAR\":\"67\"},\"2018-03-26\":{\"GALI\":\"22\",\"DESAWAR\":\"56\"},\"2018-03-27\":{\"GALI\":\"35\",\"DESAWAR\":\"15\"},\"2018-03-28\":{\"GALI\":\"06\",\"DESAWAR\":\"59\"},\"2018-03-29\":{\"GALI\":\"81\",\"DESAWAR\":\"36\"},\"2018-03-30\":{\"GALI\":\"53\",\"DESAWAR\":\"49\"},\"2018-03-31\":{\"GALI\":\"--\",\"DESAWAR\":\"14\"},\"2018-04-01\":{\"GALI\":\"77\"},\"2018-04-02\":{\"GALI\":\"96\",\"DESAWAR\":\"33\"},\"2018-04-03\":{\"GALI\":\"60\",\"DESAWAR\":\"47\"},\"2018-04-04\":{\"GALI\":\"24\",\"DESAWAR\":\"10\"},\"2018-04-05\":{\"GALI\":\"58\",\"DESAWAR\":\"18\"},\"2018-04-06\":{\"GALI\":\"40\",\"DESAWAR\":\"50\"},\"2018-04-07\":{\"GALI\":\"85\",\"DESAWAR\":\"04\"},\"2018-04-08\":{\"GALI\":\"14\",\"DESAWAR\":\"83\"},\"2018-04-09\":{\"GALI\":\"23\",\"DESAWAR\":\"08\"},\"2018-04-10\":{\"GALI\":\"36\",\"DESAWAR\":\"73\"},\"2018-04-11\":{\"GALI\":\"14\",\"DESAWAR\":\"35\"},\"2018-04-12\":{\"GALI\":\"21\",\"DESAWAR\":\"99\"},\"2018-04-13\":{\"GALI\":\"71\",\"DESAWAR\":\"04\"},\"2018-04-14\":{\"GALI\":\"87\",\"DESAWAR\":\"95\"},\"2018-04-15\":{\"GALI\":\"06\",\"DESAWAR\":\"22\"},\"2018-04-16\":{\"GALI\":\"99\",\"DESAWAR\":\"89\"},\"2018-04-17\":{\"GALI\":\"45\",\"DESAWAR\":\"22\"},\"2018-04-18\":{\"GALI\":\"07\",\"DESAWAR\":\"19\"},\"2018-04-19\":{\"GALI\":\"53\",\"DESAWAR\":\"58\"},\"2018-04-20\":{\"GALI\":\"69\",\"DESAWAR\":\"56\"},\"2018-04-21\":{\"GALI\":\"88\",\"DESAWAR\":\"92\"},\"2018-04-22\":{\"GALI\":\"62\",\"DESAWAR\":\"65\"},\"2018-04-23\":{\"GALI\":\"44\",\"DESAWAR\":\"50\"},\"2018-04-24\":{\"GALI\":\"98\",\"DESAWAR\":\"28\"},\"2018-04-25\":{\"GALI\":\"42\",\"DESAWAR\":\"91\"},\"2018-04-26\":{\"GALI\":\"00\",\"DESAWAR\":\"23\"},\"2018-04-27\":{\"GALI\":\"97\",\"DESAWAR\":\"28\"},\"2018-04-28\":{\"GALI\":\"85\",\"DESAWAR\":\"35\"},\"2018-04-29\":{\"GALI\":\"19\",\"DESAWAR\":\"00\"},\"2018-04-30\":{\"GALI\":\"--\",\"DESAWAR\":\"89\"},\"2018-05-01\":{\"GALI\":\"37\"},\"2018-05-02\":{\"GALI\":\"89\",\"DESAWAR\":\"93\"},\"2018-05-03\":{\"GALI\":\"69\",\"DESAWAR\":\"10\"},\"2018-05-04\":{\"GALI\":\"08\",\"DESAWAR\":\"01\"},\"2018-05-05\":{\"GALI\":\"17\",\"DESAWAR\":\"27\"},\"2018-05-06\":{\"GALI\":\"77\",\"DESAWAR\":\"08\"},\"2018-05-07\":{\"GALI\":\"60\",\"DESAWAR\":\"72\"},\"2018-05-08\":{\"GALI\":\"84\",\"DESAWAR\":\"01\"},\"2018-05-09\":{\"GALI\":\"29\",\"DESAWAR\":\"42\"},\"2018-05-10\":{\"GALI\":\"57\",\"DESAWAR\":\"61\"},\"2018-05-11\":{\"GALI\":\"94\",\"DESAWAR\":\"42\"},\"2018-05-12\":{\"GALI\":\"52\",\"DESAWAR\":\"31\"},\"2018-05-13\":{\"GALI\":\"36\",\"DESAWAR\":\"36\"},\"2018-05-14\":{\"GALI\":\"13\",\"DESAWAR\":\"34\"},\"2018-05-15\":{\"GALI\":\"73\",\"DESAWAR\":\"17\"},\"2018-05-16\":{\"GALI\":\"51\",\"DESAWAR\":\"40\"},\"2018-05-17\":{\"DESAWAR\":\"37\"},\"2018-05-18\":{\"GALI\":\"52\",\"DESAWAR\":\"18\"},\"2018-05-19\":{\"GALI\":\"81\",\"DESAWAR\":\"80\"},\"2018-05-20\":{\"GALI\":\"78\",\"DESAWAR\":\"27\"},\"2018-05-21\":{\"GALI\":\"85\",\"DESAWAR\":\"32\"},\"2018-05-22\":{\"GALI\":\"94\",\"DESAWAR\":\"60\"},\"2018-05-23\":{\"GALI\":\"57\",\"DESAWAR\":\"89\"},\"2018-05-24\":{\"GALI\":\"59\",\"DESAWAR\":\"27\"},\"2018-05-25\":{\"GALI\":\"70\",\"DESAWAR\":\"43\"},\"2018-05-26\":{\"GALI\":\"63\",\"DESAWAR\":\"73\"},\"2018-05-27\":{\"GALI\":\"52\",\"DESAWAR\":\"85\"},\"2018-05-28\":{\"GALI\":\"69\",\"DESAWAR\":\"07\"},\"2018-05-29\":{\"GALI\":\"66\",\"DESAWAR\":\"62\"},\"2018-05-30\":{\"GALI\":\"77\",\"DESAWAR\":\"60\"},\"2018-05-31\":{\"GALI\":\"--\",\"DESAWAR\":\"91\"},\"2018-06-01\":{\"GALI\":\"73\"},\"2018-06-02\":{\"GALI\":\"53\",\"DESAWAR\":\"40\"},\"2018-06-03\":{\"GALI\":\"42\",\"DESAWAR\":\"99\"},\"2018-06-04\":{\"GALI\":\"92\",\"DESAWAR\":\"21\"},\"2018-06-05\":{\"GALI\":\"98\",\"DESAWAR\":\"82\"},\"2018-06-06\":{\"GALI\":\"13\",\"DESAWAR\":\"66\"},\"2018-06-07\":{\"GALI\":\"98\",\"DESAWAR\":\"62\"},\"2018-06-08\":{\"GALI\":\"19\",\"DESAWAR\":\"58\"},\"2018-06-09\":{\"GALI\":\"93\",\"DESAWAR\":\"93\"},\"2018-06-10\":{\"GALI\":\"43\",\"DESAWAR\":\"57\"},\"2018-06-11\":{\"GALI\":\"69\",\"DESAWAR\":\"91\"},\"2018-06-12\":{\"GALI\":\"88\",\"DESAWAR\":\"68\"},\"2018-06-13\":{\"GALI\":\"24\",\"DESAWAR\":\"93\"},\"2018-06-14\":{\"GALI\":\"39\",\"DESAWAR\":\"32\"},\"2018-06-15\":{\"GALI\":\"64\",\"DESAWAR\":\"23\"},\"2018-06-16\":{\"GALI\":\"64\",\"DESAWAR\":\"35\"},\"2018-06-17\":{\"GALI\":\"24\",\"DESAWAR\":\"74\"},\"2018-06-18\":{\"GALI\":\"03\",\"DESAWAR\":\"84\"},\"2018-06-19\":{\"GALI\":\"21\",\"DESAWAR\":\"91\"},\"2018-06-20\":{\"GALI\":\"90\",\"DESAWAR\":\"72\"},\"2018-06-21\":{\"GALI\":\"50\",\"DESAWAR\":\"57\"},\"2018-06-22\":{\"GALI\":\"37\",\"DESAWAR\":\"37\"},\"2018-06-23\":{\"GALI\":\"67\",\"DESAWAR\":\"08\"},\"2018-06-24\":{\"GALI\":\"53\",\"DESAWAR\":\"93\"},\"2018-06-25\":{\"GALI\":\"67\",\"DESAWAR\":\"13\"},\"2018-06-26\":{\"GALI\":\"04\",\"DESAWAR\":\"55\"},\"2018-06-27\":{\"GALI\":\"94\",\"DESAWAR\":\"43\"},\"2018-06-28\":{\"GALI\":\"42\",\"DESAWAR\":\"08\"},\"2018-06-29\":{\"GALI\":\"88\",\"DESAWAR\":\"87\"},\"2018-06-30\":{\"GALI\":\"--\",\"DESAWAR\":\"74\"},\"2018-07-01\":{\"GALI\":\"50\"},\"2018-07-02\":{\"GALI\":\"95\",\"DESAWAR\":\"29\"},\"2018-07-03\":{\"GALI\":\"81\",\"DESAWAR\":\"22\"},\"2018-07-04\":{\"GALI\":\"54\",\"DESAWAR\":\"01\"},\"2018-07-05\":{\"GALI\":\"96\",\"DESAWAR\":\"05\"},\"2018-07-06\":{\"GALI\":\"02\",\"DESAWAR\":\"63\"},\"2018-07-07\":{\"GALI\":\"60\",\"DESAWAR\":\"56\"},\"2018-07-08\":{\"GALI\":\"99\",\"DESAWAR\":\"86\"},\"2018-07-09\":{\"GALI\":\"57\",\"DESAWAR\":\"65\"},\"2018-07-10\":{\"GALI\":\"62\",\"DESAWAR\":\"02\"},\"2018-07-11\":{\"GALI\":\"11\",\"DESAWAR\":\"81\"},\"2018-07-12\":{\"GALI\":\"48\",\"DESAWAR\":\"99\"},\"2018-07-13\":{\"GALI\":\"47\",\"DESAWAR\":\"43\"},\"2018-07-14\":{\"GALI\":\"44\",\"DESAWAR\":\"59\"},\"2018-07-15\":{\"GALI\":\"70\",\"DESAWAR\":\"16\"},\"2018-07-16\":{\"GALI\":\"56\",\"DESAWAR\":\"68\"},\"2018-07-17\":{\"GALI\":\"85\",\"DESAWAR\":\"11\"},\"2018-07-18\":{\"GALI\":\"24\",\"DESAWAR\":\"86\"},\"2018-07-19\":{\"GALI\":\"02\",\"DESAWAR\":\"36\"},\"2018-07-20\":{\"GALI\":\"97\",\"DESAWAR\":\"82\"},\"2018-07-21\":{\"GALI\":\"30\",\"DESAWAR\":\"84\"},\"2018-07-22\":{\"GALI\":\"40\",\"DESAWAR\":\"42\"},\"2018-07-23\":{\"GALI\":\"92\",\"DESAWAR\":\"13\"},\"2018-07-24\":{\"GALI\":\"35\",\"DESAWAR\":\"16\"},\"2018-07-25\":{\"GALI\":\"61\",\"DESAWAR\":\"87\"},\"2018-07-26\":{\"GALI\":\"35\",\"DESAWAR\":\"43\"},\"2018-07-27\":{\"GALI\":\"90\",\"DESAWAR\":\"04\"},\"2018-07-28\":{\"GALI\":\"38\",\"DESAWAR\":\"66\"},\"2018-07-29\":{\"GALI\":\"57\",\"DESAWAR\":\"09\"},\"2018-07-30\":{\"GALI\":\"65\",\"DESAWAR\":\"06\"},\"2018-07-31\":{\"GALI\":\"--\",\"DESAWAR\":\"83\"},\"2018-08-01\":{\"GALI\":\"21\"},\"2018-08-02\":{\"GALI\":\"95\",\"DESAWAR\":\"57\"},\"2018-08-03\":{\"GALI\":\"95\",\"DESAWAR\":\"66\"},\"2018-08-04\":{\"GALI\":\"96\",\"DESAWAR\":\"63\"},\"2018-08-05\":{\"GALI\":\"16\",\"DESAWAR\":\"43\"},\"2018-08-06\":{\"GALI\":\"30\",\"DESAWAR\":\"10\"},\"2018-08-07\":{\"GALI\":\"29\",\"DESAWAR\":\"46\"},\"2018-08-08\":{\"GALI\":\"74\",\"DESAWAR\":\"02\"},\"2018-08-09\":{\"GALI\":\"74\",\"DESAWAR\":\"30\"},\"2018-08-10\":{\"GALI\":\"14\",\"DESAWAR\":\"53\"},\"2018-08-11\":{\"GALI\":\"72\",\"DESAWAR\":\"60\"},\"2018-08-12\":{\"GALI\":\"67\",\"DESAWAR\":\"87\"},\"2018-08-13\":{\"GALI\":\"96\",\"DESAWAR\":\"37\"},\"2018-08-14\":{\"GALI\":\"45\",\"DESAWAR\":\"26\"},\"2018-08-15\":{\"GALI\":\"97\",\"DESAWAR\":\"30\"},\"2018-08-16\":{\"GALI\":\"92\",\"DESAWAR\":\"87\"},\"2018-08-17\":{\"GALI\":\"70\",\"DESAWAR\":\"14\"},\"2018-08-18\":{\"GALI\":\"64\",\"DESAWAR\":\"55\"},\"2018-08-19\":{\"GALI\":\"17\",\"DESAWAR\":\"21\"},\"2018-08-20\":{\"GALI\":\"14\",\"DESAWAR\":\"46\"},\"2018-08-21\":{\"GALI\":\"13\",\"DESAWAR\":\"54\"},\"2018-08-22\":{\"GALI\":\"50\",\"DESAWAR\":\"57\"},\"2018-08-23\":{\"GALI\":\"09\",\"DESAWAR\":\"17\"},\"2018-08-24\":{\"GALI\":\"20\",\"DESAWAR\":\"52\"},\"2018-08-25\":{\"GALI\":\"20\",\"DESAWAR\":\"47\"},\"2018-08-26\":{\"GALI\":\"30\",\"DESAWAR\":\"12\"},\"2018-08-27\":{\"GALI\":\"44\",\"DESAWAR\":\"23\"},\"2018-08-28\":{\"GALI\":\"64\",\"DESAWAR\":\"11\"},\"2018-08-29\":{\"GALI\":\"22\",\"DESAWAR\":\"49\"},\"2018-08-30\":{\"GALI\":\"57\",\"DESAWAR\":\"73\"},\"2018-08-31\":{\"GALI\":\"--\",\"DESAWAR\":\"83\"},\"2018-09-01\":{\"GALI\":\"70\"},\"2018-09-02\":{\"GALI\":\"18\",\"DESAWAR\":\"00\"},\"2018-09-03\":{\"GALI\":\"79\",\"DESAWAR\":\"71\"},\"2018-09-04\":{\"GALI\":\"85\",\"DESAWAR\":\"67\"},\"2018-09-05\":{\"GALI\":\"73\",\"DESAWAR\":\"27\"},\"2018-09-06\":{\"GALI\":\"86\",\"DESAWAR\":\"67\"},\"2018-09-07\":{\"GALI\":\"93\",\"DESAWAR\":\"87\"},\"2018-09-08\":{\"GALI\":\"62\",\"DESAWAR\":\"21\"},\"2018-09-09\":{\"GALI\":\"49\",\"DESAWAR\":\"55\"},\"2018-09-10\":{\"GALI\":\"08\",\"DESAWAR\":\"71\"},\"2018-09-11\":{\"GALI\":\"95\",\"DESAWAR\":\"31\"},\"2018-09-12\":{\"GALI\":\"46\",\"DESAWAR\":\"14\"},\"2018-09-13\":{\"GALI\":\"06\",\"DESAWAR\":\"29\"},\"2018-09-14\":{\"GALI\":\"38\",\"DESAWAR\":\"46\"},\"2018-09-15\":{\"GALI\":\"78\",\"DESAWAR\":\"29\"},\"2018-09-16\":{\"GALI\":\"90\",\"DESAWAR\":\"37\"},\"2018-09-17\":{\"GALI\":\"17\",\"DESAWAR\":\"96\"},\"2018-09-18\":{\"GALI\":\"10\",\"DESAWAR\":\"83\"},\"2018-09-19\":{\"GALI\":\"60\",\"DESAWAR\":\"14\"},\"2018-09-20\":{\"GALI\":\"70\",\"DESAWAR\":\"48\"},\"2018-09-21\":{\"GALI\":\"74\",\"DESAWAR\":\"29\"},\"2018-09-22\":{\"GALI\":\"85\",\"DESAWAR\":\"81\"},\"2018-09-23\":{\"GALI\":\"51\",\"DESAWAR\":\"33\"},\"2018-09-24\":{\"GALI\":\"04\",\"DESAWAR\":\"47\"},\"2018-09-25\":{\"GALI\":\"89\",\"DESAWAR\":\"80\"},\"2018-09-26\":{\"GALI\":\"38\",\"DESAWAR\":\"69\"},\"2018-09-27\":{\"GALI\":\"03\",\"DESAWAR\":\"30\"},\"2018-09-28\":{\"GALI\":\"25\",\"DESAWAR\":\"25\"},\"2018-09-29\":{\"GALI\":\"23\",\"DESAWAR\":\"09\"},\"2018-09-30\":{\"GALI\":\"--\",\"DESAWAR\":\"13\"},\"2018-10-01\":{\"GALI\":\"51\"},\"2018-10-02\":{\"GALI\":\"23\",\"DESAWAR\":\"80\"},\"2018-10-03\":{\"GALI\":\"49\",\"DESAWAR\":\"95\"},\"2018-10-04\":{\"GALI\":\"42\",\"DESAWAR\":\"35\"},\"2018-10-05\":{\"GALI\":\"78\",\"DESAWAR\":\"34\"},\"2018-10-06\":{\"GALI\":\"68\",\"DESAWAR\":\"31\"},\"2018-10-07\":{\"GALI\":\"78\",\"DESAWAR\":\"58\"},\"2018-10-08\":{\"GALI\":\"49\",\"DESAWAR\":\"49\"},\"2018-10-09\":{\"GALI\":\"39\",\"DESAWAR\":\"27\"},\"2018-10-10\":{\"GALI\":\"97\",\"DESAWAR\":\"69\"},\"2018-10-11\":{\"GALI\":\"19\",\"DESAWAR\":\"43\"},\"2018-10-12\":{\"GALI\":\"78\",\"DESAWAR\":\"00\"},\"2018-10-13\":{\"GALI\":\"39\",\"DESAWAR\":\"04\"},\"2018-10-14\":{\"GALI\":\"82\",\"DESAWAR\":\"32\"},\"2018-10-15\":{\"GALI\":\"46\",\"DESAWAR\":\"53\"},\"2018-10-16\":{\"GALI\":\"69\",\"DESAWAR\":\"38\"},\"2018-10-17\":{\"GALI\":\"62\",\"DESAWAR\":\"82\"},\"2018-10-18\":{\"GALI\":\"77\",\"DESAWAR\":\"61\"},\"2018-10-19\":{\"GALI\":\"15\",\"DESAWAR\":\"29\"},\"2018-10-20\":{\"GALI\":\"84\",\"DESAWAR\":\"55\"},\"2018-10-21\":{\"GALI\":\"38\",\"DESAWAR\":\"83\"},\"2018-10-22\":{\"GALI\":\"43\",\"DESAWAR\":\"17\"},\"2018-10-23\":{\"GALI\":\"85\",\"DESAWAR\":\"63\"},\"2018-10-24\":{\"GALI\":\"56\",\"DESAWAR\":\"18\"},\"2018-10-25\":{\"GALI\":\"81\",\"DESAWAR\":\"87\"},\"2018-10-26\":{\"GALI\":\"21\",\"DESAWAR\":\"07\"},\"2018-10-27\":{\"GALI\":\"61\",\"DESAWAR\":\"81\"},\"2018-10-28\":{\"GALI\":\"75\",\"DESAWAR\":\"90\"},\"2018-10-29\":{\"GALI\":\"34\",\"DESAWAR\":\"17\"},\"2018-10-30\":{\"GALI\":\"79\",\"DESAWAR\":\"96\"},\"2018-10-31\":{\"GALI\":\"--\",\"DESAWAR\":\"22\"},\"2018-11-01\":{\"GALI\":\"16\"},\"2018-11-02\":{\"GALI\":\"35\",\"DESAWAR\":\"06\"},\"2018-11-03\":{\"GALI\":\"52\",\"DESAWAR\":\"25\"},\"2018-11-04\":{\"GALI\":\"88\",\"DESAWAR\":\"66\"},\"2018-11-05\":{\"GALI\":\"84\",\"DESAWAR\":\"68\"},\"2018-11-06\":{\"GALI\":\"06\",\"DESAWAR\":\"07\"},\"2018-11-07\":{\"GALI\":\"07\",\"DESAWAR\":\"04\"},\"2018-11-08\":{\"GALI\":\"22\",\"DESAWAR\":\"46\"},\"2018-11-09\":{\"GALI\":\"33\",\"DESAWAR\":\"37\"},\"2018-11-10\":{\"GALI\":\"13\",\"DESAWAR\":\"64\"},\"2018-11-11\":{\"GALI\":\"59\",\"DESAWAR\":\"06\"},\"2018-11-12\":{\"GALI\":\"79\",\"DESAWAR\":\"03\"},\"2018-11-13\":{\"GALI\":\"53\",\"DESAWAR\":\"86\"},\"2018-11-14\":{\"GALI\":\"40\",\"DESAWAR\":\"54\"},\"2018-11-15\":{\"GALI\":\"83\",\"DESAWAR\":\"53\"},\"2018-11-16\":{\"GALI\":\"01\",\"DESAWAR\":\"65\"},\"2018-11-17\":{\"GALI\":\"19\",\"DESAWAR\":\"86\"},\"2018-11-18\":{\"GALI\":\"56\",\"DESAWAR\":\"80\"},\"2018-11-19\":{\"GALI\":\"18\",\"DESAWAR\":\"09\"},\"2018-11-20\":{\"GALI\":\"30\",\"DESAWAR\":\"97\"},\"2018-11-21\":{\"GALI\":\"64\",\"DESAWAR\":\"53\"},\"2018-11-22\":{\"GALI\":\"80\",\"DESAWAR\":\"52\"},\"2018-11-23\":{\"GALI\":\"37\",\"DESAWAR\":\"11\"},\"2018-11-24\":{\"GALI\":\"92\",\"DESAWAR\":\"54\"},\"2018-11-25\":{\"GALI\":\"88\",\"DESAWAR\":\"62\"},\"2018-11-26\":{\"GALI\":\"18\",\"DESAWAR\":\"96\"},\"2018-11-27\":{\"GALI\":\"05\",\"DESAWAR\":\"64\"},\"2018-11-28\":{\"GALI\":\"40\",\"DESAWAR\":\"99\"},\"2018-11-29\":{\"GALI\":\"19\",\"DESAWAR\":\"24\"},\"2018-11-30\":{\"GALI\":\"--\",\"DESAWAR\":\"70\"},\"2018-12-01\":{\"GALI\":\"19\"},\"2018-12-02\":{\"GALI\":\"90\",\"DESAWAR\":\"46\"},\"2018-12-03\":{\"GALI\":\"70\",\"DESAWAR\":\"74\"},\"2018-12-04\":{\"GALI\":\"93\",\"DESAWAR\":\"04\"},\"2018-12-05\":{\"GALI\":\"40\",\"DESAWAR\":\"12\"},\"2018-12-06\":{\"GALI\":\"74\",\"DESAWAR\":\"21\"},\"2018-12-07\":{\"GALI\":\"82\",\"DESAWAR\":\"62\"},\"2018-12-08\":{\"GALI\":\"50\",\"DESAWAR\":\"35\"},\"2018-12-09\":{\"GALI\":\"48\",\"DESAWAR\":\"59\"},\"2018-12-10\":{\"GALI\":\"57\",\"DESAWAR\":\"24\"},\"2018-12-11\":{\"GALI\":\"05\",\"DESAWAR\":\"92\"},\"2018-12-12\":{\"GALI\":\"33\",\"DESAWAR\":\"34\"},\"2018-12-13\":{\"GALI\":\"93\",\"DESAWAR\":\"81\"},\"2018-12-14\":{\"GALI\":\"22\",\"DESAWAR\":\"24\"},\"2018-12-15\":{\"GALI\":\"80\",\"DESAWAR\":\"01\"},\"2018-12-16\":{\"GALI\":\"71\",\"DESAWAR\":\"50\"},\"2018-12-17\":{\"GALI\":\"81\",\"DESAWAR\":\"16\"},\"2018-12-18\":{\"GALI\":\"05\",\"DESAWAR\":\"89\"},\"2018-12-19\":{\"GALI\":\"17\",\"DESAWAR\":\"16\"},\"2018-12-20\":{\"GALI\":\"31\",\"DESAWAR\":\"95\"},\"2018-12-21\":{\"GALI\":\"57\",\"DESAWAR\":\"30\"},\"2018-12-22\":{\"GALI\":\"45\",\"DESAWAR\":\"80\"},\"2018-12-23\":{\"GALI\":\"65\",\"DESAWAR\":\"16\"},\"2018-12-24\":{\"GALI\":\"31\",\"DESAWAR\":\"81\"},\"2018-12-25\":{\"GALI\":\"23\",\"DESAWAR\":\"59\"},\"2018-12-26\":{\"GALI\":\"97\",\"DESAWAR\":\"26\"},\"2018-12-27\":{\"GALI\":\"51\",\"DESAWAR\":\"25\"},\"2018-12-28\":{\"GALI\":\"40\",\"DESAWAR\":\"45\"},\"2018-12-29\":{\"GALI\":\"84\",\"DESAWAR\":\"38\"},\"2018-12-30\":{\"GALI\":\"97\",\"DESAWAR\":\"70\"},\"2018-12-31\":{\"GALI\":\"--\",\"DESAWAR\":\"32\"},\"2019-01-01\":{\"GALI\":\"08\",\"DESAWAR\":\"--\",\"GAZIYAABAAD\":\"08\"},\"2019-01-02\":{\"GALI\":\"94\",\"DESAWAR\":\"43\",\"GAZIYAABAAD\":\"94\"},\"2019-01-03\":{\"GALI\":\"29\",\"DESAWAR\":\"34\",\"GAZIYAABAAD\":\"29\"},\"2019-01-04\":{\"GALI\":\"86\",\"DESAWAR\":\"92\",\"GAZIYAABAAD\":\"86\"},\"2019-01-05\":{\"GALI\":\"31\",\"DESAWAR\":\"09\",\"GAZIYAABAAD\":\"31\"},\"2019-01-06\":{\"GALI\":\"05\",\"DESAWAR\":\"89\",\"GAZIYAABAAD\":\"05\"},\"2019-01-07\":{\"GALI\":\"84\",\"DESAWAR\":\"71\",\"GAZIYAABAAD\":\"84\"},\"2019-01-08\":{\"GALI\":\"61\",\"DESAWAR\":\"86\",\"GAZIYAABAAD\":\"61\"},\"2019-01-09\":{\"GALI\":\"12\",\"DESAWAR\":\"01\",\"GAZIYAABAAD\":\"12\"},\"2019-01-10\":{\"GALI\":\"75\",\"DESAWAR\":\"71\",\"GAZIYAABAAD\":\"75\"},\"2019-01-11\":{\"GALI\":\"59\",\"DESAWAR\":\"07\",\"GAZIYAABAAD\":\"59\"},\"2019-01-12\":{\"GALI\":\"63\",\"DESAWAR\":\"74\",\"GAZIYAABAAD\":\"63\"},\"2019-01-13\":{\"GALI\":\"58\",\"DESAWAR\":\"52\",\"GAZIYAABAAD\":\"58\"},\"2019-01-14\":{\"GALI\":\"00\",\"DESAWAR\":\"74\",\"GAZIYAABAAD\":\"00\"},\"2019-01-15\":{\"GALI\":\"13\",\"DESAWAR\":\"67\",\"GAZIYAABAAD\":\"13\"},\"2019-01-16\":{\"GALI\":\"77\",\"DESAWAR\":\"14\",\"GAZIYAABAAD\":\"77\"},\"2019-01-17\":{\"GALI\":\"01\",\"DESAWAR\":\"37\",\"GAZIYAABAAD\":\"01\"},\"2019-01-18\":{\"GALI\":\"03\",\"DESAWAR\":\"89\",\"GAZIYAABAAD\":\"03\"},\"2019-01-19\":{\"GALI\":\"69\",\"DESAWAR\":\"94\",\"GAZIYAABAAD\":\"69\"},\"2019-01-20\":{\"GALI\":\"33\",\"DESAWAR\":\"71\",\"GAZIYAABAAD\":\"33\"},\"2019-01-21\":{\"GALI\":\"32\",\"DESAWAR\":\"51\",\"GAZIYAABAAD\":\"32\"},\"2019-01-22\":{\"GALI\":\"62\",\"DESAWAR\":\"94\",\"GAZIYAABAAD\":\"62\"},\"2019-01-23\":{\"GALI\":\"00\",\"DESAWAR\":\"73\",\"GAZIYAABAAD\":\"00\"},\"2019-01-24\":{\"GALI\":\"73\",\"DESAWAR\":\"78\",\"GAZIYAABAAD\":\"73\"},\"2019-01-25\":{\"GALI\":\"60\",\"DESAWAR\":\"68\",\"GAZIYAABAAD\":\"60\"},\"2019-01-26\":{\"GALI\":\"90\",\"DESAWAR\":\"24\",\"GAZIYAABAAD\":\"90\"},\"2019-01-27\":{\"GALI\":\"23\",\"DESAWAR\":\"36\",\"GAZIYAABAAD\":\"23\"},\"2019-01-28\":{\"GALI\":\"03\",\"DESAWAR\":\"64\",\"GAZIYAABAAD\":\"03\"},\"2019-01-29\":{\"GALI\":\"77\",\"DESAWAR\":\"12\",\"GAZIYAABAAD\":\"77\"},\"2019-01-30\":{\"GALI\":\"59\",\"DESAWAR\":\"69\",\"GAZIYAABAAD\":\"59\"},\"2019-01-31\":{\"DESAWAR\":\"86\"},\"2019-02-01\":{\"GALI\":\"97\",\"DESAWAR\":\"--\",\"GAZIYAABAAD\":\"97\"},\"2019-02-02\":{\"GALI\":\"65\",\"DESAWAR\":\"89\",\"GAZIYAABAAD\":\"65\"},\"2019-02-03\":{\"GALI\":\"21\",\"DESAWAR\":\"14\",\"GAZIYAABAAD\":\"21\"},\"2019-02-04\":{\"GALI\":\"85\",\"DESAWAR\":\"85\",\"GAZIYAABAAD\":\"85\"},\"2019-02-05\":{\"GALI\":\"89\",\"DESAWAR\":\"23\",\"GAZIYAABAAD\":\"89\"},\"2019-02-06\":{\"GALI\":\"51\",\"DESAWAR\":\"53\",\"GAZIYAABAAD\":\"51\"},\"2019-02-07\":{\"GALI\":\"07\",\"DESAWAR\":\"06\",\"GAZIYAABAAD\":\"07\"},\"2019-02-08\":{\"GALI\":\"96\",\"DESAWAR\":\"41\",\"GAZIYAABAAD\":\"96\"},\"2019-02-09\":{\"GALI\":\"58\",\"DESAWAR\":\"01\",\"GAZIYAABAAD\":\"58\"},\"2019-02-10\":{\"GALI\":\"24\",\"DESAWAR\":\"31\",\"GAZIYAABAAD\":\"24\"},\"2019-02-11\":{\"GALI\":\"43\",\"DESAWAR\":\"80\",\"GAZIYAABAAD\":\"43\"},\"2019-02-12\":{\"GALI\":\"79\",\"DESAWAR\":\"91\",\"GAZIYAABAAD\":\"79\"},\"2019-02-13\":{\"GALI\":\"69\",\"DESAWAR\":\"94\",\"GAZIYAABAAD\":\"69\"},\"2019-02-14\":{\"GALI\":\"61\",\"DESAWAR\":\"40\",\"GAZIYAABAAD\":\"61\"},\"2019-02-15\":{\"GALI\":\"22\",\"DESAWAR\":\"06\",\"GAZIYAABAAD\":\"22\"},\"2019-02-16\":{\"GALI\":\"22\",\"DESAWAR\":\"65\",\"GAZIYAABAAD\":\"22\"},\"2019-02-17\":{\"GALI\":\"66\",\"DESAWAR\":\"08\",\"GAZIYAABAAD\":\"66\"},\"2019-02-18\":{\"GALI\":\"85\",\"DESAWAR\":\"54\",\"GAZIYAABAAD\":\"85\"},\"2019-02-19\":{\"GALI\":\"28\",\"DESAWAR\":\"78\",\"GAZIYAABAAD\":\"28\"},\"2019-02-20\":{\"GALI\":\"28\",\"DESAWAR\":\"70\",\"GAZIYAABAAD\":\"28\"},\"2019-02-21\":{\"GALI\":\"58\",\"DESAWAR\":\"65\",\"GAZIYAABAAD\":\"58\"},\"2019-02-22\":{\"GALI\":\"72\",\"DESAWAR\":\"69\",\"GAZIYAABAAD\":\"72\"},\"2019-02-23\":{\"GALI\":\"07\",\"DESAWAR\":\"55\",\"GAZIYAABAAD\":\"07\"},\"2019-02-24\":{\"GALI\":\"22\",\"DESAWAR\":\"94\",\"GAZIYAABAAD\":\"22\"},\"2019-02-25\":{\"GALI\":\"55\",\"DESAWAR\":\"48\",\"GAZIYAABAAD\":\"55\"},\"2019-02-26\":{\"GALI\":\"37\",\"DESAWAR\":\"51\",\"GAZIYAABAAD\":\"37\"},\"2019-02-27\":{\"GALI\":\"39\",\"DESAWAR\":\"32\",\"GAZIYAABAAD\":\"39\"},\"2019-02-28\":{\"DESAWAR\":\"71\"},\"2019-03-01\":{\"GALI\":\"25\",\"DESAWAR\":\"--\",\"GAZIYAABAAD\":\"25\"},\"2019-03-02\":{\"GALI\":\"37\",\"DESAWAR\":\"52\",\"GAZIYAABAAD\":\"37\"},\"2019-03-03\":{\"GALI\":\"45\",\"DESAWAR\":\"17\",\"GAZIYAABAAD\":\"45\"},\"2019-03-04\":{\"GALI\":\"45\",\"DESAWAR\":\"66\",\"GAZIYAABAAD\":\"45\"},\"2019-03-05\":{\"GALI\":\"49\",\"DESAWAR\":\"52\",\"GAZIYAABAAD\":\"49\"},\"2019-03-06\":{\"GALI\":\"46\",\"DESAWAR\":\"16\",\"GAZIYAABAAD\":\"46\"},\"2019-03-07\":{\"GALI\":\"16\",\"DESAWAR\":\"93\",\"GAZIYAABAAD\":\"16\"},\"2019-03-08\":{\"GALI\":\"09\",\"DESAWAR\":\"33\",\"GAZIYAABAAD\":\"09\"},\"2019-03-09\":{\"GALI\":\"02\",\"DESAWAR\":\"64\",\"GAZIYAABAAD\":\"02\"},\"2019-03-10\":{\"GALI\":\"19\",\"DESAWAR\":\"90\",\"GAZIYAABAAD\":\"19\"},\"2019-03-11\":{\"GALI\":\"72\",\"DESAWAR\":\"69\",\"GAZIYAABAAD\":\"72\"},\"2019-03-12\":{\"GALI\":\"13\",\"DESAWAR\":\"82\",\"GAZIYAABAAD\":\"13\"},\"2019-03-13\":{\"GALI\":\"49\",\"DESAWAR\":\"83\",\"GAZIYAABAAD\":\"49\"},\"2019-03-14\":{\"GALI\":\"07\",\"DESAWAR\":\"56\",\"GAZIYAABAAD\":\"07\"},\"2019-03-15\":{\"GALI\":\"74\",\"DESAWAR\":\"26\",\"GAZIYAABAAD\":\"74\"},\"2019-03-16\":{\"GALI\":\"02\",\"DESAWAR\":\"53\",\"GAZIYAABAAD\":\"02\"},\"2019-03-17\":{\"GALI\":\"37\",\"DESAWAR\":\"05\",\"GAZIYAABAAD\":\"37\"},\"2019-03-18\":{\"GALI\":\"07\",\"DESAWAR\":\"81\",\"GAZIYAABAAD\":\"07\"},\"2019-03-19\":{\"GALI\":\"46\",\"DESAWAR\":\"32\",\"GAZIYAABAAD\":\"46\"},\"2019-03-20\":{\"GALI\":\"39\",\"DESAWAR\":\"98\",\"GAZIYAABAAD\":\"39\"},\"2019-03-21\":{\"GALI\":\"38\",\"DESAWAR\":\"23\",\"GAZIYAABAAD\":\"38\"},\"2019-03-22\":{\"GALI\":\"46\",\"DESAWAR\":\"96\",\"GAZIYAABAAD\":\"46\"},\"2019-03-23\":{\"GALI\":\"83\",\"DESAWAR\":\"73\",\"GAZIYAABAAD\":\"83\"},\"2019-03-24\":{\"GALI\":\"70\",\"DESAWAR\":\"11\",\"GAZIYAABAAD\":\"70\"},\"2019-03-25\":{\"GALI\":\"38\",\"DESAWAR\":\"70\",\"GAZIYAABAAD\":\"38\"},\"2019-03-26\":{\"GALI\":\"40\",\"DESAWAR\":\"50\",\"GAZIYAABAAD\":\"40\"},\"2019-03-27\":{\"GALI\":\"70\",\"DESAWAR\":\"54\",\"GAZIYAABAAD\":\"70\"},\"2019-03-28\":{\"GALI\":\"43\",\"DESAWAR\":\"33\",\"GAZIYAABAAD\":\"43\"},\"2019-03-29\":{\"GALI\":\"60\",\"DESAWAR\":\"32\",\"GAZIYAABAAD\":\"60\"},\"2019-03-30\":{\"GALI\":\"44\",\"DESAWAR\":\"25\",\"GAZIYAABAAD\":\"44\"},\"2019-03-31\":{\"DESAWAR\":\"06\"},\"2019-04-01\":{\"GALI\":\"18\",\"DESAWAR\":\"--\",\"GAZIYAABAAD\":\"18\"},\"2019-04-02\":{\"GALI\":\"63\",\"DESAWAR\":\"38\",\"GAZIYAABAAD\":\"63\"},\"2019-04-03\":{\"GALI\":\"89\",\"DESAWAR\":\"89\",\"GAZIYAABAAD\":\"89\"},\"2019-04-04\":{\"GALI\":\"78\",\"DESAWAR\":\"08\",\"GAZIYAABAAD\":\"78\"},\"2019-04-05\":{\"GALI\":\"92\",\"DESAWAR\":\"78\",\"GAZIYAABAAD\":\"92\"},\"2019-04-06\":{\"GALI\":\"06\",\"DESAWAR\":\"91\",\"GAZIYAABAAD\":\"06\"},\"2019-04-07\":{\"GALI\":\"41\",\"DESAWAR\":\"15\",\"GAZIYAABAAD\":\"41\"},\"2019-04-08\":{\"GALI\":\"34\",\"DESAWAR\":\"02\",\"GAZIYAABAAD\":\"34\"},\"2019-04-09\":{\"GALI\":\"76\",\"DESAWAR\":\"73\",\"GAZIYAABAAD\":\"76\"},\"2019-04-10\":{\"GALI\":\"76\",\"DESAWAR\":\"63\",\"GAZIYAABAAD\":\"76\"},\"2019-04-11\":{\"GALI\":\"63\",\"DESAWAR\":\"28\",\"GAZIYAABAAD\":\"63\"},\"2019-04-12\":{\"GALI\":\"62\",\"DESAWAR\":\"30\",\"GAZIYAABAAD\":\"62\"},\"2019-04-13\":{\"GALI\":\"27\",\"DESAWAR\":\"72\",\"GAZIYAABAAD\":\"27\"},\"2019-04-14\":{\"GALI\":\"42\",\"DESAWAR\":\"68\",\"GAZIYAABAAD\":\"42\"},\"2019-04-15\":{\"GALI\":\"27\",\"DESAWAR\":\"88\",\"GAZIYAABAAD\":\"27\"},\"2019-04-16\":{\"GALI\":\"03\",\"DESAWAR\":\"40\",\"GAZIYAABAAD\":\"03\"},\"2019-04-17\":{\"GALI\":\"14\",\"DESAWAR\":\"66\",\"GAZIYAABAAD\":\"14\"},\"2019-04-18\":{\"GALI\":\"80\",\"DESAWAR\":\"33\",\"GAZIYAABAAD\":\"80\"},\"2019-04-19\":{\"GALI\":\"43\",\"DESAWAR\":\"55\",\"GAZIYAABAAD\":\"43\"},\"2019-04-20\":{\"GALI\":\"84\",\"DESAWAR\":\"86\",\"GAZIYAABAAD\":\"84\"},\"2019-04-21\":{\"GALI\":\"24\",\"DESAWAR\":\"17\",\"GAZIYAABAAD\":\"24\"},\"2019-04-22\":{\"GALI\":\"74\",\"DESAWAR\":\"33\",\"GAZIYAABAAD\":\"74\"},\"2019-04-23\":{\"GALI\":\"78\",\"DESAWAR\":\"85\",\"GAZIYAABAAD\":\"78\"},\"2019-04-24\":{\"GALI\":\"03\",\"DESAWAR\":\"66\",\"GAZIYAABAAD\":\"03\"},\"2019-04-25\":{\"GALI\":\"92\",\"DESAWAR\":\"95\",\"GAZIYAABAAD\":\"92\"},\"2019-04-26\":{\"GALI\":\"29\",\"DESAWAR\":\"73\",\"GAZIYAABAAD\":\"29\"},\"2019-04-27\":{\"GALI\":\"25\",\"DESAWAR\":\"98\",\"GAZIYAABAAD\":\"25\"},\"2019-04-28\":{\"GALI\":\"83\",\"DESAWAR\":\"13\",\"GAZIYAABAAD\":\"83\"},\"2019-04-29\":{\"GALI\":\"11\",\"DESAWAR\":\"03\",\"GAZIYAABAAD\":\"11\"},\"2019-04-30\":{\"DESAWAR\":\"78\",\"GAZIYAABAAD\":\"96\"},\"2019-05-01\":{\"GALI\":\"79\",\"DESAWAR\":\"--\",\"GAZIYAABAAD\":\"79\"},\"2019-05-02\":{\"GALI\":\"40\",\"DESAWAR\":\"14\",\"GAZIYAABAAD\":\"40\"},\"2019-05-03\":{\"GALI\":\"11\",\"DESAWAR\":\"48\",\"GAZIYAABAAD\":\"11\"},\"2019-05-04\":{\"GALI\":\"77\",\"DESAWAR\":\"39\",\"GAZIYAABAAD\":\"77\"},\"2019-05-05\":{\"GALI\":\"80\",\"DESAWAR\":\"58\",\"GAZIYAABAAD\":\"80\"},\"2019-05-06\":{\"GALI\":\"48\",\"DESAWAR\":\"63\",\"GAZIYAABAAD\":\"48\"},\"2019-05-07\":{\"GALI\":\"16\",\"DESAWAR\":\"36\",\"GAZIYAABAAD\":\"16\"},\"2019-05-08\":{\"GALI\":\"85\",\"DESAWAR\":\"03\",\"GAZIYAABAAD\":\"85\"},\"2019-05-09\":{\"GALI\":\"99\",\"DESAWAR\":\"37\",\"GAZIYAABAAD\":\"99\"},\"2019-05-10\":{\"GALI\":\"60\",\"DESAWAR\":\"20\",\"GAZIYAABAAD\":\"60\"},\"2019-05-11\":{\"GALI\":\"71\",\"DESAWAR\":\"72\",\"GAZIYAABAAD\":\"71\"},\"2019-05-12\":{\"GALI\":\"09\",\"DESAWAR\":\"40\",\"GAZIYAABAAD\":\"09\"},\"2019-05-13\":{\"GALI\":\"94\",\"DESAWAR\":\"53\",\"GAZIYAABAAD\":\"94\"},\"2019-05-14\":{\"GALI\":\"74\",\"DESAWAR\":\"91\",\"GAZIYAABAAD\":\"74\"},\"2019-05-15\":{\"GALI\":\"61\",\"DESAWAR\":\"72\",\"GAZIYAABAAD\":\"61\"},\"2019-05-16\":{\"GALI\":\"03\",\"DESAWAR\":\"48\",\"GAZIYAABAAD\":\"03\"},\"2019-05-17\":{\"GALI\":\"68\",\"DESAWAR\":\"91\",\"GAZIYAABAAD\":\"68\"},\"2019-05-18\":{\"GALI\":\"51\",\"DESAWAR\":\"46\",\"GAZIYAABAAD\":\"51\"},\"2019-05-19\":{\"GALI\":\"09\",\"DESAWAR\":\"09\",\"GAZIYAABAAD\":\"09\"},\"2019-05-20\":{\"GALI\":\"75\",\"DESAWAR\":\"35\",\"GAZIYAABAAD\":\"75\"},\"2019-05-21\":{\"GALI\":\"81\",\"DESAWAR\":\"45\",\"GAZIYAABAAD\":\"81\"},\"2019-05-22\":{\"GALI\":\"98\",\"DESAWAR\":\"33\",\"GAZIYAABAAD\":\"98\"},\"2019-05-23\":{\"GALI\":\"27\",\"DESAWAR\":\"41\",\"GAZIYAABAAD\":\"27\"},\"2019-05-24\":{\"GALI\":\"28\",\"DESAWAR\":\"46\",\"GAZIYAABAAD\":\"28\"},\"2019-05-25\":{\"GALI\":\"15\",\"DESAWAR\":\"71\",\"GAZIYAABAAD\":\"15\"},\"2019-05-26\":{\"GALI\":\"76\",\"DESAWAR\":\"75\",\"GAZIYAABAAD\":\"76\"},\"2019-05-27\":{\"GALI\":\"44\",\"DESAWAR\":\"58\",\"GAZIYAABAAD\":\"44\"},\"2019-05-28\":{\"GALI\":\"57\",\"DESAWAR\":\"17\",\"GAZIYAABAAD\":\"57\"},\"2019-05-29\":{\"GALI\":\"99\",\"DESAWAR\":\"58\",\"GAZIYAABAAD\":\"99\"},\"2019-05-30\":{\"GALI\":\"96\",\"DESAWAR\":\"42\"},\"2019-05-31\":{\"DESAWAR\":\"45\"},\"2019-06-01\":{\"GALI\":\"14\",\"DESAWAR\":\"--\",\"GAZIYAABAAD\":\"14\"},\"2019-06-02\":{\"GALI\":\"30\",\"DESAWAR\":\"70\",\"GAZIYAABAAD\":\"30\"},\"2019-06-03\":{\"GALI\":\"08\",\"DESAWAR\":\"61\",\"GAZIYAABAAD\":\"08\"},\"2019-06-04\":{\"GALI\":\"99\",\"DESAWAR\":\"02\",\"GAZIYAABAAD\":\"99\"},\"2019-06-05\":{\"GALI\":\"43\",\"DESAWAR\":\"80\",\"GAZIYAABAAD\":\"43\"},\"2019-06-06\":{\"GALI\":\"59\",\"DESAWAR\":\"38\",\"GAZIYAABAAD\":\"59\"},\"2019-06-07\":{\"GALI\":\"20\",\"DESAWAR\":\"47\",\"GAZIYAABAAD\":\"20\"},\"2019-06-08\":{\"GALI\":\"15\",\"DESAWAR\":\"02\",\"GAZIYAABAAD\":\"15\"},\"2019-06-09\":{\"GALI\":\"12\",\"DESAWAR\":\"96\",\"GAZIYAABAAD\":\"12\"},\"2019-06-10\":{\"GALI\":\"51\",\"DESAWAR\":\"49\",\"GAZIYAABAAD\":\"51\"},\"2019-06-11\":{\"GALI\":\"28\",\"DESAWAR\":\"11\",\"GAZIYAABAAD\":\"28\"},\"2019-06-12\":{\"GALI\":\"37\",\"DESAWAR\":\"97\",\"GAZIYAABAAD\":\"37\"},\"2019-06-13\":{\"GALI\":\"28\",\"DESAWAR\":\"39\",\"GAZIYAABAAD\":\"28\"},\"2019-06-14\":{\"GALI\":\"13\",\"DESAWAR\":\"34\",\"GAZIYAABAAD\":\"13\"},\"2019-06-15\":{\"GALI\":\"79\",\"DESAWAR\":\"72\",\"GAZIYAABAAD\":\"79\"},\"2019-06-16\":{\"GALI\":\"54\",\"DESAWAR\":\"49\",\"GAZIYAABAAD\":\"54\"},\"2019-06-17\":{\"GALI\":\"75\",\"DESAWAR\":\"09\",\"GAZIYAABAAD\":\"75\"},\"2019-06-18\":{\"GALI\":\"77\",\"DESAWAR\":\"43\",\"GAZIYAABAAD\":\"77\"},\"2019-06-19\":{\"GALI\":\"88\",\"DESAWAR\":\"63\",\"GAZIYAABAAD\":\"88\"},\"2019-06-20\":{\"GALI\":\"51\",\"DESAWAR\":\"45\",\"GAZIYAABAAD\":\"51\"},\"2019-06-21\":{\"GALI\":\"65\",\"DESAWAR\":\"39\",\"GAZIYAABAAD\":\"65\"},\"2019-06-22\":{\"GALI\":\"33\",\"DESAWAR\":\"61\",\"GAZIYAABAAD\":\"33\"},\"2019-06-23\":{\"GALI\":\"40\",\"DESAWAR\":\"15\",\"GAZIYAABAAD\":\"40\"},\"2019-06-24\":{\"GALI\":\"25\",\"DESAWAR\":\"07\",\"GAZIYAABAAD\":\"25\"},\"2019-06-25\":{\"GALI\":\"94\",\"DESAWAR\":\"84\",\"GAZIYAABAAD\":\"94\"},\"2019-06-26\":{\"GALI\":\"63\",\"DESAWAR\":\"12\",\"GAZIYAABAAD\":\"63\"},\"2019-06-27\":{\"GALI\":\"05\",\"DESAWAR\":\"28\",\"GAZIYAABAAD\":\"05\"},\"2019-06-28\":{\"GALI\":\"25\",\"DESAWAR\":\"94\",\"GAZIYAABAAD\":\"25\"},\"2019-06-29\":{\"GALI\":\"89\",\"DESAWAR\":\"41\",\"GAZIYAABAAD\":\"89\"},\"2019-06-30\":{\"DESAWAR\":\"83\",\"GAZIYAABAAD\":\"67\"},\"2019-07-01\":{\"GALI\":\"76\",\"DESAWAR\":\"--\",\"GAZIYAABAAD\":\"76\"},\"2019-07-02\":{\"GALI\":\"56\",\"DESAWAR\":\"63\",\"GAZIYAABAAD\":\"56\"},\"2019-07-03\":{\"GALI\":\"73\",\"DESAWAR\":\"32\",\"GAZIYAABAAD\":\"73\"},\"2019-07-04\":{\"GALI\":\"93\",\"DESAWAR\":\"73\",\"GAZIYAABAAD\":\"93\"},\"2019-07-05\":{\"GALI\":\"59\",\"DESAWAR\":\"00\",\"GAZIYAABAAD\":\"59\"},\"2019-07-06\":{\"GALI\":\"92\",\"DESAWAR\":\"76\",\"GAZIYAABAAD\":\"92\"},\"2019-07-07\":{\"GALI\":\"10\",\"DESAWAR\":\"16\",\"GAZIYAABAAD\":\"10\"},\"2019-07-08\":{\"GALI\":\"57\",\"DESAWAR\":\"56\",\"GAZIYAABAAD\":\"57\"},\"2019-07-09\":{\"GALI\":\"88\",\"DESAWAR\":\"83\",\"GAZIYAABAAD\":\"88\"},\"2019-07-10\":{\"GALI\":\"28\",\"DESAWAR\":\"15\",\"GAZIYAABAAD\":\"28\"},\"2019-07-11\":{\"GALI\":\"48\",\"DESAWAR\":\"96\",\"GAZIYAABAAD\":\"48\"},\"2019-07-12\":{\"GALI\":\"02\",\"DESAWAR\":\"88\",\"GAZIYAABAAD\":\"02\"},\"2019-07-13\":{\"GALI\":\"23\",\"DESAWAR\":\"48\",\"GAZIYAABAAD\":\"23\"},\"2019-07-14\":{\"GALI\":\"99\",\"DESAWAR\":\"21\",\"GAZIYAABAAD\":\"99\"},\"2019-07-15\":{\"GALI\":\"99\",\"DESAWAR\":\"31\",\"GAZIYAABAAD\":\"99\"},\"2019-07-16\":{\"GALI\":\"98\",\"DESAWAR\":\"39\",\"GAZIYAABAAD\":\"98\"},\"2019-07-17\":{\"GALI\":\"59\",\"DESAWAR\":\"12\",\"GAZIYAABAAD\":\"59\"},\"2019-07-18\":{\"GALI\":\"76\",\"DESAWAR\":\"78\",\"GAZIYAABAAD\":\"76\"},\"2019-07-19\":{\"GALI\":\"44\",\"DESAWAR\":\"26\",\"GAZIYAABAAD\":\"44\"},\"2019-07-20\":{\"GALI\":\"79\",\"DESAWAR\":\"22\",\"GAZIYAABAAD\":\"79\"},\"2019-07-21\":{\"GALI\":\"23\",\"DESAWAR\":\"52\",\"GAZIYAABAAD\":\"23\"},\"2019-07-22\":{\"GALI\":\"50\",\"DESAWAR\":\"00\",\"GAZIYAABAAD\":\"50\"},\"2019-07-23\":{\"GALI\":\"56\",\"DESAWAR\":\"85\",\"GAZIYAABAAD\":\"56\"},\"2019-07-24\":{\"GALI\":\"97\",\"DESAWAR\":\"50\",\"GAZIYAABAAD\":\"97\"},\"2019-07-25\":{\"GALI\":\"52\",\"DESAWAR\":\"22\",\"GAZIYAABAAD\":\"52\"},\"2019-07-26\":{\"GALI\":\"06\",\"DESAWAR\":\"60\",\"GAZIYAABAAD\":\"06\"},\"2019-07-27\":{\"GALI\":\"37\",\"DESAWAR\":\"76\",\"GAZIYAABAAD\":\"37\"},\"2019-07-28\":{\"GALI\":\"70\",\"DESAWAR\":\"12\",\"GAZIYAABAAD\":\"70\"},\"2019-07-29\":{\"GALI\":\"39\",\"DESAWAR\":\"78\",\"GAZIYAABAAD\":\"39\"},\"2019-07-30\":{\"GALI\":\"67\",\"DESAWAR\":\"97\",\"GAZIYAABAAD\":\"24\"},\"2019-07-31\":{\"DESAWAR\":\"48\"},\"2019-08-01\":{\"GALI\":\"22\",\"DESAWAR\":\"--\",\"GAZIYAABAAD\":\"22\"},\"2019-08-02\":{\"GALI\":\"93\",\"DESAWAR\":\"10\",\"GAZIYAABAAD\":\"93\"},\"2019-08-03\":{\"GALI\":\"89\",\"DESAWAR\":\"16\",\"GAZIYAABAAD\":\"89\"},\"2019-08-04\":{\"GALI\":\"61\",\"DESAWAR\":\"48\",\"GAZIYAABAAD\":\"61\"},\"2019-08-05\":{\"GALI\":\"11\",\"DESAWAR\":\"56\",\"GAZIYAABAAD\":\"11\"},\"2019-08-06\":{\"GALI\":\"13\",\"DESAWAR\":\"41\",\"GAZIYAABAAD\":\"13\"},\"2019-08-07\":{\"GALI\":\"88\",\"DESAWAR\":\"22\",\"GAZIYAABAAD\":\"88\"},\"2019-08-08\":{\"GALI\":\"63\",\"DESAWAR\":\"43\",\"GAZIYAABAAD\":\"63\"},\"2019-08-09\":{\"GALI\":\"84\",\"DESAWAR\":\"47\",\"GAZIYAABAAD\":\"84\"},\"2019-08-10\":{\"GALI\":\"00\",\"DESAWAR\":\"35\",\"GAZIYAABAAD\":\"00\"},\"2019-08-11\":{\"GALI\":\"93\",\"DESAWAR\":\"34\",\"GAZIYAABAAD\":\"93\"},\"2019-08-12\":{\"GALI\":\"46\",\"DESAWAR\":\"90\",\"GAZIYAABAAD\":\"46\"},\"2019-08-13\":{\"GALI\":\"04\",\"DESAWAR\":\"34\",\"GAZIYAABAAD\":\"04\"},\"2019-08-14\":{\"GALI\":\"27\",\"DESAWAR\":\"41\",\"GAZIYAABAAD\":\"27\"},\"2019-08-15\":{\"GALI\":\"70\",\"DESAWAR\":\"70\",\"GAZIYAABAAD\":\"70\"},\"2019-08-16\":{\"GALI\":\"96\",\"DESAWAR\":\"64\",\"GAZIYAABAAD\":\"96\"},\"2019-08-17\":{\"GALI\":\"19\",\"DESAWAR\":\"43\",\"GAZIYAABAAD\":\"19\"},\"2019-08-18\":{\"GALI\":\"54\",\"DESAWAR\":\"61\",\"GAZIYAABAAD\":\"54\"},\"2019-08-19\":{\"GALI\":\"89\",\"DESAWAR\":\"38\",\"GAZIYAABAAD\":\"89\"},\"2019-08-20\":{\"GALI\":\"58\",\"DESAWAR\":\"83\",\"GAZIYAABAAD\":\"58\"},\"2019-08-21\":{\"GALI\":\"98\",\"DESAWAR\":\"46\",\"GAZIYAABAAD\":\"98\"},\"2019-08-22\":{\"GALI\":\"18\",\"DESAWAR\":\"00\",\"GAZIYAABAAD\":\"18\"},\"2019-08-23\":{\"GALI\":\"92\",\"DESAWAR\":\"47\",\"GAZIYAABAAD\":\"92\"},\"2019-08-24\":{\"GALI\":\"90\",\"DESAWAR\":\"20\",\"GAZIYAABAAD\":\"90\"},\"2019-08-25\":{\"GALI\":\"40\",\"DESAWAR\":\"79\",\"GAZIYAABAAD\":\"40\"},\"2019-08-26\":{\"GALI\":\"19\",\"DESAWAR\":\"82\",\"GAZIYAABAAD\":\"19\"},\"2019-08-27\":{\"GALI\":\"95\",\"DESAWAR\":\"76\",\"GAZIYAABAAD\":\"95\"},\"2019-08-28\":{\"GALI\":\"07\",\"DESAWAR\":\"69\",\"GAZIYAABAAD\":\"07\"},\"2019-08-29\":{\"GALI\":\"02\",\"GAZIYAABAAD\":\"02\"},\"2019-08-30\":{\"GALI\":\"24\",\"DESAWAR\":\"88\"},\"2019-08-31\":{\"DESAWAR\":\"23\"},\"2019-09-01\":{\"GALI\":\"96\",\"DESAWAR\":\"--\",\"GAZIYAABAAD\":\"96\"},\"2019-09-02\":{\"GALI\":\"27\",\"DESAWAR\":\"16\",\"GAZIYAABAAD\":\"27\"},\"2019-09-03\":{\"GALI\":\"51\",\"DESAWAR\":\"69\",\"GAZIYAABAAD\":\"51\"},\"2019-09-04\":{\"GALI\":\"00\",\"DESAWAR\":\"50\",\"GAZIYAABAAD\":\"00\"},\"2019-09-05\":{\"GALI\":\"06\",\"DESAWAR\":\"84\",\"GAZIYAABAAD\":\"06\"},\"2019-09-06\":{\"GALI\":\"17\",\"DESAWAR\":\"80\",\"GAZIYAABAAD\":\"17\"},\"2019-09-07\":{\"GALI\":\"20\",\"DESAWAR\":\"06\",\"GAZIYAABAAD\":\"20\"},\"2019-09-08\":{\"GALI\":\"28\",\"DESAWAR\":\"95\",\"GAZIYAABAAD\":\"28\"},\"2019-09-09\":{\"GALI\":\"57\",\"DESAWAR\":\"59\",\"GAZIYAABAAD\":\"57\"},\"2019-09-10\":{\"GALI\":\"81\",\"DESAWAR\":\"97\",\"GAZIYAABAAD\":\"81\"},\"2019-09-11\":{\"GALI\":\"95\",\"DESAWAR\":\"92\",\"GAZIYAABAAD\":\"00\"},\"2019-09-12\":{\"GALI\":\"22\",\"DESAWAR\":\"47\",\"GAZIYAABAAD\":\"22\"},\"2019-09-13\":{\"GALI\":\"95\",\"DESAWAR\":\"91\",\"GAZIYAABAAD\":\"95\"},\"2019-09-14\":{\"GALI\":\"86\",\"DESAWAR\":\"29\",\"GAZIYAABAAD\":\"86\"},\"2019-09-15\":{\"GALI\":\"26\",\"DESAWAR\":\"76\",\"GAZIYAABAAD\":\"92\"},\"2019-09-16\":{\"GALI\":\"38\",\"DESAWAR\":\"57\",\"GAZIYAABAAD\":\"38\"},\"2019-09-17\":{\"GALI\":\"60\",\"DESAWAR\":\"56\",\"GAZIYAABAAD\":\"60\"},\"2019-09-18\":{\"GALI\":\"27\",\"DESAWAR\":\"17\",\"GAZIYAABAAD\":\"27\"},\"2019-09-19\":{\"GALI\":\"39\",\"DESAWAR\":\"04\",\"GAZIYAABAAD\":\"39\"},\"2019-09-20\":{\"GALI\":\"14\",\"DESAWAR\":\"60\",\"GAZIYAABAAD\":\"14\"},\"2019-09-21\":{\"GALI\":\"86\",\"DESAWAR\":\"02\",\"GAZIYAABAAD\":\"86\"},\"2019-09-22\":{\"GALI\":\"94\",\"DESAWAR\":\"83\",\"GAZIYAABAAD\":\"94\"},\"2019-09-23\":{\"GALI\":\"46\",\"DESAWAR\":\"22\",\"GAZIYAABAAD\":\"46\"},\"2019-09-24\":{\"GALI\":\"81\",\"DESAWAR\":\"98\",\"GAZIYAABAAD\":\"81\"},\"2019-09-25\":{\"GALI\":\"18\",\"DESAWAR\":\"64\",\"GAZIYAABAAD\":\"18\"},\"2019-09-26\":{\"GALI\":\"42\",\"DESAWAR\":\"08\",\"GAZIYAABAAD\":\"42\"},\"2019-09-27\":{\"GALI\":\"51\",\"DESAWAR\":\"14\",\"GAZIYAABAAD\":\"51\"},\"2019-09-28\":{\"GALI\":\"48\",\"DESAWAR\":\"38\",\"GAZIYAABAAD\":\"48\"},\"2019-09-29\":{\"GALI\":\"26\",\"DESAWAR\":\"64\",\"GAZIYAABAAD\":\"26\"},\"2019-09-30\":{\"DESAWAR\":\"60\",\"GAZIYAABAAD\":\"03\"},\"2019-10-01\":{\"GALI\":\"55\",\"DESAWAR\":\"--\",\"GAZIYAABAAD\":\"55\"},\"2019-10-02\":{\"GALI\":\"12\",\"DESAWAR\":\"17\",\"GAZIYAABAAD\":\"12\"},\"2019-10-03\":{\"GALI\":\"40\",\"DESAWAR\":\"83\",\"GAZIYAABAAD\":\"40\"},\"2019-10-04\":{\"GALI\":\"92\",\"DESAWAR\":\"92\",\"GAZIYAABAAD\":\"92\"},\"2019-10-05\":{\"GALI\":\"69\",\"DESAWAR\":\"42\",\"GAZIYAABAAD\":\"69\"},\"2019-10-06\":{\"GALI\":\"55\",\"DESAWAR\":\"69\",\"GAZIYAABAAD\":\"55\"},\"2019-10-07\":{\"GALI\":\"76\",\"DESAWAR\":\"93\",\"GAZIYAABAAD\":\"76\"},\"2019-10-08\":{\"GALI\":\"75\",\"DESAWAR\":\"31\",\"GAZIYAABAAD\":\"75\"},\"2019-10-09\":{\"GALI\":\"35\",\"DESAWAR\":\"56\",\"GAZIYAABAAD\":\"35\"},\"2019-10-10\":{\"GALI\":\"78\",\"DESAWAR\":\"58\",\"GAZIYAABAAD\":\"64\"},\"2019-10-11\":{\"GALI\":\"18\",\"DESAWAR\":\"45\",\"GAZIYAABAAD\":\"18\"},\"2019-10-12\":{\"GALI\":\"56\",\"DESAWAR\":\"45\",\"GAZIYAABAAD\":\"56\"},\"2019-10-13\":{\"GALI\":\"03\",\"DESAWAR\":\"98\",\"GAZIYAABAAD\":\"03\"},\"2019-10-14\":{\"GALI\":\"44\",\"DESAWAR\":\"03\",\"GAZIYAABAAD\":\"44\"},\"2019-10-15\":{\"GALI\":\"92\",\"DESAWAR\":\"58\",\"GAZIYAABAAD\":\"04\"},\"2019-10-16\":{\"GALI\":\"73\",\"DESAWAR\":\"25\",\"GAZIYAABAAD\":\"73\"},\"2019-10-17\":{\"GALI\":\"57\",\"DESAWAR\":\"31\",\"GAZIYAABAAD\":\"57\"},\"2019-10-18\":{\"GALI\":\"83\",\"DESAWAR\":\"28\",\"GAZIYAABAAD\":\"11\"},\"2019-10-19\":{\"GALI\":\"83\",\"DESAWAR\":\"95\",\"GAZIYAABAAD\":\"83\"},\"2019-10-20\":{\"GALI\":\"73\",\"DESAWAR\":\"07\",\"GAZIYAABAAD\":\"73\"},\"2019-10-21\":{\"GALI\":\"60\",\"DESAWAR\":\"81\",\"GAZIYAABAAD\":\"60\"},\"2019-10-22\":{\"GALI\":\"18\",\"DESAWAR\":\"58\",\"GAZIYAABAAD\":\"18\"},\"2019-10-23\":{\"GALI\":\"06\",\"DESAWAR\":\"70\",\"GAZIYAABAAD\":\"06\"},\"2019-10-24\":{\"GALI\":\"60\",\"DESAWAR\":\"35\",\"GAZIYAABAAD\":\"60\"},\"2019-10-25\":{\"GALI\":\"29\",\"DESAWAR\":\"36\",\"GAZIYAABAAD\":\"29\"},\"2019-10-26\":{\"GALI\":\"44\",\"DESAWAR\":\"54\",\"GAZIYAABAAD\":\"44\"},\"2019-10-27\":{\"GALI\":\"18\",\"DESAWAR\":\"63\",\"GAZIYAABAAD\":\"18\"},\"2019-10-28\":{\"GALI\":\"48\",\"DESAWAR\":\"35\",\"GAZIYAABAAD\":\"48\"},\"2019-10-29\":{\"GALI\":\"03\",\"DESAWAR\":\"60\",\"GAZIYAABAAD\":\"03\"},\"2019-10-30\":{\"GALI\":\"17\",\"DESAWAR\":\"68\",\"GAZIYAABAAD\":\"17\"},\"2019-10-31\":{\"DESAWAR\":\"78\"},\"2019-11-01\":{\"GALI\":\"98\",\"GAZIYAABAAD\":\"98\"},\"2019-11-02\":{\"GALI\":\"71\",\"DESAWAR\":\"97\",\"GAZIYAABAAD\":\"71\"},\"2019-11-03\":{\"GALI\":\"27\",\"DESAWAR\":\"51\",\"GAZIYAABAAD\":\"27\"},\"2019-11-04\":{\"GALI\":\"56\",\"DESAWAR\":\"97\",\"GAZIYAABAAD\":\"56\"},\"2019-11-05\":{\"GALI\":\"94\",\"DESAWAR\":\"93\",\"GAZIYAABAAD\":\"94\"},\"2019-11-06\":{\"GALI\":\"80\",\"DESAWAR\":\"88\",\"GAZIYAABAAD\":\"80\"},\"2019-11-07\":{\"GALI\":\"44\",\"DESAWAR\":\"21\",\"GAZIYAABAAD\":\"44\"},\"2019-11-08\":{\"GALI\":\"02\",\"DESAWAR\":\"76\",\"GAZIYAABAAD\":\"02\"},\"2019-11-09\":{\"GALI\":\"52\",\"DESAWAR\":\"41\",\"GAZIYAABAAD\":\"52\"},\"2019-11-10\":{\"GALI\":\"16\",\"DESAWAR\":\"32\",\"GAZIYAABAAD\":\"16\"},\"2019-11-11\":{\"GALI\":\"86\",\"DESAWAR\":\"18\",\"GAZIYAABAAD\":\"86\"},\"2019-11-12\":{\"GALI\":\"04\",\"DESAWAR\":\"67\",\"GAZIYAABAAD\":\"04\"},\"2019-11-13\":{\"GALI\":\"14\",\"DESAWAR\":\"47\",\"GAZIYAABAAD\":\"14\"},\"2019-11-14\":{\"GALI\":\"57\",\"DESAWAR\":\"08\",\"GAZIYAABAAD\":\"57\"},\"2019-11-15\":{\"GALI\":\"04\",\"DESAWAR\":\"15\",\"GAZIYAABAAD\":\"32\"},\"2019-11-16\":{\"GALI\":\"51\",\"DESAWAR\":\"36\",\"GAZIYAABAAD\":\"51\"},\"2019-11-17\":{\"GALI\":\"82\",\"DESAWAR\":\"01\",\"GAZIYAABAAD\":\"82\"},\"2019-11-18\":{\"GALI\":\"42\",\"DESAWAR\":\"47\",\"GAZIYAABAAD\":\"42\"},\"2019-11-19\":{\"GALI\":\"32\",\"DESAWAR\":\"67\",\"GAZIYAABAAD\":\"32\"},\"2019-11-20\":{\"GALI\":\"08\",\"DESAWAR\":\"48\",\"GAZIYAABAAD\":\"08\"},\"2019-11-21\":{\"GALI\":\"87\",\"DESAWAR\":\"29\",\"GAZIYAABAAD\":\"87\"},\"2019-11-22\":{\"GALI\":\"30\",\"DESAWAR\":\"28\",\"GAZIYAABAAD\":\"30\"},\"2019-11-23\":{\"GALI\":\"37\",\"DESAWAR\":\"68\",\"GAZIYAABAAD\":\"37\"},\"2019-11-24\":{\"GALI\":\"66\",\"DESAWAR\":\"68\",\"GAZIYAABAAD\":\"66\"},\"2019-11-25\":{\"GALI\":\"90\",\"DESAWAR\":\"20\",\"GAZIYAABAAD\":\"90\"},\"2019-11-26\":{\"GALI\":\"72\",\"DESAWAR\":\"38\",\"GAZIYAABAAD\":\"72\"},\"2019-11-27\":{\"GALI\":\"61\",\"DESAWAR\":\"36\",\"GAZIYAABAAD\":\"61\"},\"2019-11-28\":{\"GALI\":\"96\",\"DESAWAR\":\"96\",\"GAZIYAABAAD\":\"96\"},\"2019-11-29\":{\"GALI\":\"81\",\"DESAWAR\":\"68\",\"GAZIYAABAAD\":\"81\"},\"2019-11-30\":{\"DESAWAR\":\"09\",\"GAZIYAABAAD\":\"52\"},\"2019-12-01\":{\"GALI\":\"40\",\"DESAWAR\":\"--\",\"GAZIYAABAAD\":\"40\"},\"2019-12-02\":{\"GALI\":\"28\",\"DESAWAR\":\"65\",\"GAZIYAABAAD\":\"28\"},\"2019-12-03\":{\"GALI\":\"58\",\"DESAWAR\":\"14\",\"GAZIYAABAAD\":\"58\"},\"2019-12-04\":{\"GALI\":\"22\",\"DESAWAR\":\"88\",\"GAZIYAABAAD\":\"22\"},\"2019-12-05\":{\"GALI\":\"16\",\"DESAWAR\":\"72\",\"GAZIYAABAAD\":\"16\"},\"2019-12-06\":{\"GALI\":\"24\",\"DESAWAR\":\"03\",\"GAZIYAABAAD\":\"24\"},\"2019-12-07\":{\"GALI\":\"74\",\"DESAWAR\":\"10\",\"GAZIYAABAAD\":\"74\"},\"2019-12-08\":{\"GALI\":\"17\",\"DESAWAR\":\"67\",\"GAZIYAABAAD\":\"17\"},\"2019-12-09\":{\"GALI\":\"76\",\"DESAWAR\":\"28\",\"GAZIYAABAAD\":\"76\"},\"2019-12-10\":{\"GALI\":\"64\",\"DESAWAR\":\"66\",\"GAZIYAABAAD\":\"64\"},\"2019-12-11\":{\"GALI\":\"17\",\"DESAWAR\":\"91\",\"GAZIYAABAAD\":\"17\"},\"2019-12-12\":{\"GALI\":\"70\",\"DESAWAR\":\"42\",\"GAZIYAABAAD\":\"70\"},\"2019-12-13\":{\"GALI\":\"93\",\"DESAWAR\":\"44\",\"GAZIYAABAAD\":\"93\"},\"2019-12-14\":{\"GALI\":\"79\",\"DESAWAR\":\"01\",\"GAZIYAABAAD\":\"79\"},\"2019-12-15\":{\"GALI\":\"32\",\"DESAWAR\":\"33\",\"GAZIYAABAAD\":\"26\"},\"2019-12-16\":{\"GALI\":\"44\",\"DESAWAR\":\"71\",\"GAZIYAABAAD\":\"44\"},\"2019-12-17\":{\"GALI\":\"60\",\"DESAWAR\":\"30\",\"GAZIYAABAAD\":\"60\"},\"2019-12-18\":{\"GALI\":\"79\",\"DESAWAR\":\"63\",\"GAZIYAABAAD\":\"79\"},\"2019-12-19\":{\"GALI\":\"90\",\"DESAWAR\":\"61\",\"GAZIYAABAAD\":\"36\"},\"2019-12-20\":{\"GALI\":\"76\",\"DESAWAR\":\"57\",\"GAZIYAABAAD\":\"76\"},\"2019-12-21\":{\"GALI\":\"27\",\"DESAWAR\":\"53\",\"GAZIYAABAAD\":\"27\"},\"2019-12-22\":{\"GALI\":\"46\",\"DESAWAR\":\"39\",\"GAZIYAABAAD\":\"46\"},\"2019-12-23\":{\"GALI\":\"16\",\"DESAWAR\":\"53\",\"GAZIYAABAAD\":\"16\"},\"2019-12-24\":{\"GALI\":\"58\",\"DESAWAR\":\"99\",\"GAZIYAABAAD\":\"58\"},\"2019-12-25\":{\"GALI\":\"36\",\"DESAWAR\":\"28\",\"GAZIYAABAAD\":\"36\"},\"2019-12-26\":{\"GALI\":\"13\",\"DESAWAR\":\"21\",\"GAZIYAABAAD\":\"13\"},\"2019-12-27\":{\"GALI\":\"37\",\"DESAWAR\":\"66\",\"GAZIYAABAAD\":\"37\"},\"2019-12-28\":{\"GALI\":\"90\",\"DESAWAR\":\"88\",\"GAZIYAABAAD\":\"90\"},\"2019-12-29\":{\"GALI\":\"52\",\"DESAWAR\":\"57\",\"GAZIYAABAAD\":\"62\"},\"2019-12-30\":{\"GALI\":\"62\",\"DESAWAR\":\"82\"},\"2019-12-31\":{\"GALI\":\"--\",\"DESAWAR\":\"39\"},\"2020-01-01\":{\"GALI\":\"90\",\"FARIDABAD\":\"15\",\"GAZIYAABAAD\":\"08\"},\"2020-01-02\":{\"GALI\":\"17\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"01\"},\"2020-01-03\":{\"GALI\":\"41\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"49\"},\"2020-01-04\":{\"GALI\":\"81\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"05\"},\"2020-01-05\":{\"GALI\":\"48\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"56\"},\"2020-01-06\":{\"GALI\":\"53\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"89\"},\"2020-01-07\":{\"GALI\":\"14\",\"DESAWAR\":\"10\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"79\"},\"2020-01-08\":{\"GALI\":\"96\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"84\"},\"2020-01-09\":{\"GALI\":\"80\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"40\"},\"2020-01-10\":{\"GALI\":\"66\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"43\"},\"2020-01-11\":{\"GALI\":\"92\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"85\"},\"2020-01-12\":{\"GALI\":\"77\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"98\"},\"2020-01-13\":{\"GALI\":\"89\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"99\"},\"2020-01-14\":{\"GALI\":\"39\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"92\"},\"2020-01-15\":{\"GALI\":\"94\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"51\"},\"2020-01-16\":{\"GALI\":\"69\",\"DESAWAR\":\"00\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"11\"},\"2020-01-17\":{\"GALI\":\"11\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"25\"},\"2020-01-18\":{\"GALI\":\"79\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"79\"},\"2020-01-19\":{\"GALI\":\"15\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"02\"},\"2020-01-20\":{\"GALI\":\"13\",\"DESAWAR\":\"00\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"64\"},\"2020-01-21\":{\"GALI\":\"29\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"30\"},\"2020-01-22\":{\"GALI\":\"49\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"04\"},\"2020-01-23\":{\"GALI\":\"35\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"19\"},\"2020-01-24\":{\"GALI\":\"94\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"89\"},\"2020-01-25\":{\"GALI\":\"70\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"31\"},\"2020-01-26\":{\"GALI\":\"92\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"53\"},\"2020-01-27\":{\"GALI\":\"57\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"03\"},\"2020-01-28\":{\"GALI\":\"32\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"52\"},\"2020-01-29\":{\"GALI\":\"84\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"15\"},\"2020-01-30\":{\"GALI\":\"38\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"75\"},\"2020-01-31\":{\"DESAWAR\":\"82\"},\"2020-02-01\":{\"GALI\":\"54\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"77\"},\"2020-02-02\":{\"GALI\":\"27\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"69\"},\"2020-02-03\":{\"GALI\":\"77\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"81\"},\"2020-02-04\":{\"GALI\":\"62\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"71\"},\"2020-02-05\":{\"GALI\":\"73\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"99\"},\"2020-02-06\":{\"GALI\":\"77\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"23\"},\"2020-02-07\":{\"GALI\":\"95\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"35\"},\"2020-02-08\":{\"GALI\":\"37\",\"DESAWAR\":\"23\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"21\"},\"2020-02-09\":{\"GALI\":\"81\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"03\"},\"2020-02-10\":{\"GALI\":\"42\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"31\"},\"2020-02-11\":{\"GALI\":\"65\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"08\"},\"2020-02-12\":{\"GALI\":\"66\",\"DESAWAR\":\"04\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"39\"},\"2020-02-13\":{\"GALI\":\"74\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"43\"},\"2020-02-14\":{\"GALI\":\"33\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"04\"},\"2020-02-15\":{\"GALI\":\"11\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"17\"},\"2020-02-16\":{\"GALI\":\"60\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"29\"},\"2020-02-17\":{\"GALI\":\"29\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"05\"},\"2020-02-18\":{\"GALI\":\"96\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"01\"},\"2020-02-19\":{\"GALI\":\"72\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"72\"},\"2020-02-20\":{\"GALI\":\"41\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"41\"},\"2020-02-21\":{\"GALI\":\"93\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"18\"},\"2020-02-22\":{\"GALI\":\"14\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"16\"},\"2020-02-23\":{\"GALI\":\"81\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"55\"},\"2020-02-24\":{\"GALI\":\"30\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"92\"},\"2020-02-25\":{\"GALI\":\"72\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"85\"},\"2020-02-26\":{\"GALI\":\"95\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"04\"},\"2020-02-27\":{\"GALI\":\"16\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"90\"},\"2020-02-28\":{\"GALI\":\"13\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"46\"},\"2020-02-29\":{\"DESAWAR\":\"80\",\"FARIDABAD\":\"35\"},\"2020-03-01\":{\"GALI\":\"53\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"35\"},\"2020-03-02\":{\"GALI\":\"65\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"87\"},\"2020-03-03\":{\"GALI\":\"79\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"17\"},\"2020-03-04\":{\"GALI\":\"49\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"21\"},\"2020-03-05\":{\"GALI\":\"42\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"02\"},\"2020-03-06\":{\"GALI\":\"40\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"18\"},\"2020-03-07\":{\"GALI\":\"27\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"36\"},\"2020-03-08\":{\"GALI\":\"42\",\"DESAWAR\":\"23\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"08\"},\"2020-03-09\":{\"GALI\":\"43\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"89\"},\"2020-03-10\":{\"GALI\":\"53\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"51\"},\"2020-03-11\":{\"GALI\":\"58\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"68\"},\"2020-03-12\":{\"GALI\":\"12\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"05\"},\"2020-03-13\":{\"GALI\":\"53\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"87\"},\"2020-03-14\":{\"GALI\":\"23\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"72\"},\"2020-03-15\":{\"GALI\":\"54\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"01\"},\"2020-03-16\":{\"GALI\":\"79\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"32\"},\"2020-03-17\":{\"GALI\":\"56\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"62\"},\"2020-03-18\":{\"GALI\":\"46\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"66\"},\"2020-03-19\":{\"GALI\":\"68\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"30\"},\"2020-03-20\":{\"GALI\":\"43\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"47\"},\"2020-03-21\":{\"GALI\":\"29\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"80\"},\"2020-03-22\":{\"GALI\":\"14\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"10\"},\"2020-03-23\":{\"GALI\":\"89\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"74\"},\"2020-03-24\":{\"GALI\":\"82\",\"DESAWAR\":\"55\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"22\"},\"2020-03-25\":{\"GALI\":\"24\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"71\"},\"2020-03-26\":{\"GALI\":\"86\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"11\"},\"2020-03-27\":{\"GALI\":\"74\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"42\"},\"2020-03-28\":{\"GALI\":\"54\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"95\"},\"2020-03-29\":{\"GALI\":\"61\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"10\"},\"2020-03-30\":{\"GALI\":\"85\",\"DESAWAR\":\"55\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"81\"},\"2020-03-31\":{\"DESAWAR\":\"29\"},\"2020-04-01\":{\"GALI\":\"60\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"94\"},\"2020-04-02\":{\"GALI\":\"25\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"31\"},\"2020-04-03\":{\"GALI\":\"46\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"62\"},\"2020-04-04\":{\"GALI\":\"51\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"56\"},\"2020-04-05\":{\"GALI\":\"10\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"97\"},\"2020-04-06\":{\"GALI\":\"77\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"37\"},\"2020-04-07\":{\"GALI\":\"68\",\"DESAWAR\":\"02\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"11\"},\"2020-04-08\":{\"GALI\":\"20\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"95\"},\"2020-04-09\":{\"GALI\":\"98\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"87\"},\"2020-04-10\":{\"GALI\":\"33\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"38\"},\"2020-04-11\":{\"GALI\":\"22\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"73\"},\"2020-04-12\":{\"GALI\":\"36\",\"DESAWAR\":\"00\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"84\"},\"2020-04-13\":{\"GALI\":\"80\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"80\"},\"2020-04-14\":{\"GALI\":\"39\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"77\"},\"2020-04-15\":{\"GALI\":\"07\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"13\"},\"2020-04-16\":{\"GALI\":\"94\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"59\"},\"2020-04-17\":{\"GALI\":\"55\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"29\"},\"2020-04-18\":{\"GALI\":\"93\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"98\"},\"2020-04-19\":{\"GALI\":\"26\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"18\"},\"2020-04-20\":{\"GALI\":\"13\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"59\"},\"2020-04-21\":{\"GALI\":\"36\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"49\"},\"2020-04-22\":{\"GALI\":\"07\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"55\"},\"2020-04-23\":{\"GALI\":\"24\",\"DESAWAR\":\"23\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"26\"},\"2020-04-24\":{\"GALI\":\"95\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"55\"},\"2020-04-25\":{\"GALI\":\"65\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"00\"},\"2020-04-26\":{\"GALI\":\"59\",\"DESAWAR\":\"55\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"59\"},\"2020-04-27\":{\"GALI\":\"12\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"50\"},\"2020-04-28\":{\"GALI\":\"17\",\"DESAWAR\":\"04\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"75\"},\"2020-04-29\":{\"GALI\":\"74\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"20\"},\"2020-04-30\":{\"DESAWAR\":\"79\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"99\"},\"2020-05-01\":{\"GALI\":\"70\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"60\"},\"2020-05-02\":{\"GALI\":\"82\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"68\"},\"2020-05-03\":{\"GALI\":\"75\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"00\"},\"2020-05-04\":{\"GALI\":\"30\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"99\"},\"2020-05-05\":{\"GALI\":\"69\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"94\"},\"2020-05-06\":{\"GALI\":\"30\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"84\"},\"2020-05-07\":{\"GALI\":\"96\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"54\"},\"2020-05-08\":{\"GALI\":\"69\",\"DESAWAR\":\"10\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"22\"},\"2020-05-09\":{\"GALI\":\"62\",\"DESAWAR\":\"50\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"54\"},\"2020-05-10\":{\"GALI\":\"93\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"14\"},\"2020-05-11\":{\"GALI\":\"12\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"21\"},\"2020-05-12\":{\"GALI\":\"74\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"29\"},\"2020-05-13\":{\"GALI\":\"91\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"64\"},\"2020-05-14\":{\"GALI\":\"33\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"00\"},\"2020-05-15\":{\"GALI\":\"69\",\"DESAWAR\":\"23\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"80\"},\"2020-05-16\":{\"GALI\":\"13\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"14\"},\"2020-05-17\":{\"GALI\":\"70\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"44\"},\"2020-05-18\":{\"GALI\":\"02\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"97\"},\"2020-05-19\":{\"GALI\":\"67\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"11\"},\"2020-05-20\":{\"GALI\":\"50\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"58\"},\"2020-05-21\":{\"GALI\":\"39\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"31\"},\"2020-05-22\":{\"GALI\":\"16\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"24\"},\"2020-05-23\":{\"GALI\":\"04\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"11\"},\"2020-05-24\":{\"GALI\":\"05\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"80\"},\"2020-05-25\":{\"GALI\":\"53\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"24\"},\"2020-05-26\":{\"GALI\":\"31\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"00\"},\"2020-05-27\":{\"GALI\":\"75\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"19\"},\"2020-05-28\":{\"GALI\":\"77\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"13\"},\"2020-05-29\":{\"GALI\":\"56\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"85\"},\"2020-05-30\":{\"GALI\":\"91\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"93\"},\"2020-05-31\":{\"DESAWAR\":\"32\"},\"2020-06-01\":{\"GALI\":\"61\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"85\"},\"2020-06-02\":{\"GALI\":\"19\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"90\"},\"2020-06-03\":{\"GALI\":\"87\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"91\"},\"2020-06-04\":{\"GALI\":\"87\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"97\"},\"2020-06-05\":{\"GALI\":\"34\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"90\"},\"2020-06-06\":{\"GALI\":\"50\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"23\"},\"2020-06-07\":{\"GALI\":\"95\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"93\"},\"2020-06-08\":{\"GALI\":\"10\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"30\"},\"2020-06-09\":{\"GALI\":\"86\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"63\"},\"2020-06-10\":{\"GALI\":\"70\",\"DESAWAR\":\"10\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"20\"},\"2020-06-11\":{\"GALI\":\"19\",\"DESAWAR\":\"43\",\"GAZIYAABAAD\":\"16\"},\"2020-06-12\":{\"GALI\":\"79\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"45\"},\"2020-06-13\":{\"GALI\":\"05\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"04\"},\"2020-06-14\":{\"GALI\":\"52\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"06\"},\"2020-06-15\":{\"GALI\":\"93\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"52\"},\"2020-06-16\":{\"GALI\":\"88\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"25\"},\"2020-06-17\":{\"GALI\":\"14\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"95\"},\"2020-06-18\":{\"GALI\":\"52\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"33\"},\"2020-06-19\":{\"GALI\":\"02\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"13\"},\"2020-06-20\":{\"GALI\":\"87\",\"DESAWAR\":\"04\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"38\"},\"2020-06-21\":{\"GALI\":\"72\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"15\"},\"2020-06-22\":{\"GALI\":\"53\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"38\"},\"2020-06-23\":{\"GALI\":\"82\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"37\"},\"2020-06-24\":{\"GALI\":\"97\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"20\"},\"2020-06-25\":{\"GALI\":\"66\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"12\"},\"2020-06-26\":{\"GALI\":\"87\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"77\"},\"2020-06-27\":{\"GALI\":\"61\",\"DESAWAR\":\"50\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"96\"},\"2020-06-28\":{\"GALI\":\"60\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"44\"},\"2020-06-29\":{\"GALI\":\"75\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"93\"},\"2020-06-30\":{\"DESAWAR\":\"47\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"03\"},\"2020-07-01\":{\"GALI\":\"55\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"26\"},\"2020-07-02\":{\"GALI\":\"91\",\"DESAWAR\":\"12\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"27\"},\"2020-07-03\":{\"GALI\":\"58\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"74\"},\"2020-07-04\":{\"GALI\":\"52\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"57\"},\"2020-07-05\":{\"GALI\":\"72\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"81\"},\"2020-07-06\":{\"GALI\":\"70\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"37\"},\"2020-07-07\":{\"GALI\":\"31\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"12\"},\"2020-07-08\":{\"GALI\":\"89\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"74\"},\"2020-07-09\":{\"GALI\":\"15\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"22\"},\"2020-07-10\":{\"GALI\":\"04\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"19\"},\"2020-07-11\":{\"GALI\":\"99\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"22\"},\"2020-07-12\":{\"GALI\":\"26\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"05\"},\"2020-07-13\":{\"GALI\":\"66\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"18\"},\"2020-07-14\":{\"GALI\":\"64\",\"DESAWAR\":\"12\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"15\"},\"2020-07-15\":{\"GALI\":\"77\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"36\"},\"2020-07-16\":{\"GALI\":\"57\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"31\"},\"2020-07-17\":{\"GALI\":\"71\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"02\"},\"2020-07-18\":{\"GALI\":\"25\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"56\"},\"2020-07-19\":{\"GALI\":\"39\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"59\"},\"2020-07-20\":{\"GALI\":\"62\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"70\"},\"2020-07-21\":{\"GALI\":\"19\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"62\"},\"2020-07-22\":{\"GALI\":\"07\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"67\"},\"2020-07-23\":{\"GALI\":\"56\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"39\"},\"2020-07-24\":{\"GALI\":\"82\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"28\"},\"2020-07-25\":{\"GALI\":\"34\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"38\"},\"2020-07-26\":{\"GALI\":\"34\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"02\"},\"2020-07-27\":{\"GALI\":\"81\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"87\"},\"2020-07-28\":{\"GALI\":\"43\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"17\"},\"2020-07-29\":{\"GALI\":\"66\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"93\"},\"2020-07-30\":{\"GALI\":\"15\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"08\"},\"2020-07-31\":{\"DESAWAR\":\"69\"},\"2020-08-01\":{\"GALI\":\"62\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"44\"},\"2020-08-02\":{\"GALI\":\"97\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"47\"},\"2020-08-03\":{\"GALI\":\"04\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"94\"},\"2020-08-04\":{\"GALI\":\"17\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"30\"},\"2020-08-05\":{\"GALI\":\"98\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"51\"},\"2020-08-06\":{\"GALI\":\"38\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"16\"},\"2020-08-07\":{\"GALI\":\"56\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"56\"},\"2020-08-08\":{\"GALI\":\"46\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"16\"},\"2020-08-09\":{\"GALI\":\"31\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"14\"},\"2020-08-10\":{\"GALI\":\"87\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"42\"},\"2020-08-11\":{\"GALI\":\"05\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"89\"},\"2020-08-12\":{\"GALI\":\"49\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"26\"},\"2020-08-13\":{\"GALI\":\"71\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"47\"},\"2020-08-14\":{\"GALI\":\"49\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"34\"},\"2020-08-15\":{\"GALI\":\"24\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"03\"},\"2020-08-16\":{\"GALI\":\"63\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"63\"},\"2020-08-17\":{\"GALI\":\"68\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"52\"},\"2020-08-18\":{\"GALI\":\"70\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"96\"},\"2020-08-19\":{\"GALI\":\"30\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"08\"},\"2020-08-20\":{\"GALI\":\"26\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"93\"},\"2020-08-21\":{\"GALI\":\"38\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"50\"},\"2020-08-22\":{\"GALI\":\"78\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"68\"},\"2020-08-23\":{\"GALI\":\"01\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"08\"},\"2020-08-24\":{\"GALI\":\"86\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"24\"},\"2020-08-25\":{\"GALI\":\"68\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"17\"},\"2020-08-26\":{\"GALI\":\"86\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"30\"},\"2020-08-27\":{\"GALI\":\"54\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"94\"},\"2020-08-28\":{\"GALI\":\"20\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"93\"},\"2020-08-29\":{\"GALI\":\"70\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"69\"},\"2020-08-30\":{\"GALI\":\"91\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"72\"},\"2020-08-31\":{\"DESAWAR\":\"71\"},\"2020-09-01\":{\"GALI\":\"33\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"41\"},\"2020-09-02\":{\"GALI\":\"01\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"07\"},\"2020-09-03\":{\"GALI\":\"91\",\"DESAWAR\":\"55\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"23\"},\"2020-09-04\":{\"GALI\":\"03\",\"DESAWAR\":\"55\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"44\"},\"2020-09-05\":{\"GALI\":\"57\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"58\"},\"2020-09-06\":{\"GALI\":\"30\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"15\"},\"2020-09-07\":{\"GALI\":\"08\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"91\"},\"2020-09-08\":{\"GALI\":\"08\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"85\"},\"2020-09-09\":{\"GALI\":\"04\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"33\"},\"2020-09-10\":{\"GALI\":\"81\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"36\"},\"2020-09-11\":{\"GALI\":\"95\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"17\"},\"2020-09-12\":{\"GALI\":\"38\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"00\"},\"2020-09-13\":{\"GALI\":\"67\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"84\"},\"2020-09-14\":{\"GALI\":\"27\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"45\"},\"2020-09-15\":{\"GALI\":\"99\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"42\"},\"2020-09-16\":{\"GALI\":\"95\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"52\"},\"2020-09-17\":{\"GALI\":\"78\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"96\"},\"2020-09-18\":{\"GALI\":\"12\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"42\"},\"2020-09-19\":{\"GALI\":\"54\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"94\"},\"2020-09-20\":{\"GALI\":\"02\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"21\"},\"2020-09-21\":{\"GALI\":\"71\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"96\"},\"2020-09-22\":{\"GALI\":\"94\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"33\"},\"2020-09-23\":{\"GALI\":\"46\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"71\"},\"2020-09-24\":{\"GALI\":\"28\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"13\"},\"2020-09-25\":{\"GALI\":\"69\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"27\"},\"2020-09-26\":{\"GALI\":\"55\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"86\"},\"2020-09-27\":{\"GALI\":\"02\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"83\"},\"2020-09-28\":{\"GALI\":\"59\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"69\"},\"2020-09-29\":{\"GALI\":\"65\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"54\"},\"2020-09-30\":{\"DESAWAR\":\"87\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"63\"},\"2020-10-01\":{\"GALI\":\"82\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"44\"},\"2020-10-02\":{\"GALI\":\"05\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"86\"},\"2020-10-03\":{\"GALI\":\"36\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"63\"},\"2020-10-04\":{\"GALI\":\"65\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"25\"},\"2020-10-05\":{\"GALI\":\"97\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"26\"},\"2020-10-06\":{\"GALI\":\"00\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"07\"},\"2020-10-07\":{\"GALI\":\"48\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"80\"},\"2020-10-08\":{\"GALI\":\"14\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"71\"},\"2020-10-09\":{\"GALI\":\"25\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"02\"},\"2020-10-10\":{\"GALI\":\"89\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"57\"},\"2020-10-11\":{\"GALI\":\"91\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"75\"},\"2020-10-12\":{\"GALI\":\"26\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"41\"},\"2020-10-13\":{\"GALI\":\"23\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"35\"},\"2020-10-14\":{\"GALI\":\"34\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"20\"},\"2020-10-15\":{\"GALI\":\"38\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"37\"},\"2020-10-16\":{\"GALI\":\"43\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"92\"},\"2020-10-17\":{\"GALI\":\"07\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"72\"},\"2020-10-18\":{\"GALI\":\"67\",\"DESAWAR\":\"23\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"13\"},\"2020-10-19\":{\"GALI\":\"35\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"62\"},\"2020-10-20\":{\"GALI\":\"82\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"90\"},\"2020-10-21\":{\"GALI\":\"04\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"74\"},\"2020-10-22\":{\"GALI\":\"18\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"63\"},\"2020-10-23\":{\"GALI\":\"06\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"74\"},\"2020-10-24\":{\"GALI\":\"88\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"01\"},\"2020-10-25\":{\"GALI\":\"04\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"38\"},\"2020-10-26\":{\"GALI\":\"30\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"12\"},\"2020-10-27\":{\"GALI\":\"05\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"09\"},\"2020-10-28\":{\"GALI\":\"42\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"68\"},\"2020-10-29\":{\"GALI\":\"75\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"63\"},\"2020-10-30\":{\"GALI\":\"40\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"10\"},\"2020-10-31\":{\"DESAWAR\":\"36\"},\"2020-11-01\":{\"GALI\":\"28\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"42\"},\"2020-11-02\":{\"GALI\":\"43\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"21\"},\"2020-11-03\":{\"GALI\":\"74\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"26\"},\"2020-11-04\":{\"GALI\":\"57\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"91\"},\"2020-11-05\":{\"GALI\":\"17\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"53\"},\"2020-11-06\":{\"GALI\":\"75\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"77\"},\"2020-11-07\":{\"GALI\":\"67\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"38\"},\"2020-11-08\":{\"GALI\":\"98\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"30\"},\"2020-11-09\":{\"GALI\":\"88\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"89\"},\"2020-11-10\":{\"GALI\":\"57\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"45\"},\"2020-11-11\":{\"GALI\":\"13\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"07\"},\"2020-11-12\":{\"GALI\":\"65\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"09\"},\"2020-11-13\":{\"GALI\":\"50\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"31\"},\"2020-11-14\":{\"GALI\":\"27\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"77\"},\"2020-11-15\":{\"GALI\":\"69\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"35\"},\"2020-11-16\":{\"GALI\":\"08\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"09\"},\"2020-11-17\":{\"GALI\":\"49\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"95\"},\"2020-11-18\":{\"GALI\":\"19\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"36\"},\"2020-11-19\":{\"GALI\":\"06\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"04\"},\"2020-11-20\":{\"GALI\":\"89\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"79\"},\"2020-11-21\":{\"GALI\":\"48\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"98\"},\"2020-11-22\":{\"GALI\":\"71\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"56\"},\"2020-11-23\":{\"GALI\":\"48\",\"DESAWAR\":\"04\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"11\"},\"2020-11-24\":{\"GALI\":\"77\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"70\"},\"2020-11-25\":{\"GALI\":\"05\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"85\"},\"2020-11-26\":{\"GALI\":\"71\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"48\"},\"2020-11-27\":{\"GALI\":\"44\",\"DESAWAR\":\"12\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"87\"},\"2020-11-28\":{\"GALI\":\"72\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"45\"},\"2020-11-29\":{\"GALI\":\"26\",\"DESAWAR\":\"89\",\"GAZIYAABAAD\":\"91\"},\"2020-11-30\":{\"DESAWAR\":\"27\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"84\"},\"2020-12-01\":{\"GALI\":\"74\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"53\"},\"2020-12-02\":{\"GALI\":\"88\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"13\"},\"2020-12-03\":{\"GALI\":\"63\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"91\"},\"2020-12-04\":{\"GALI\":\"92\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"98\"},\"2020-12-05\":{\"GALI\":\"40\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"10\"},\"2020-12-06\":{\"GALI\":\"06\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"81\"},\"2020-12-07\":{\"GALI\":\"12\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"56\"},\"2020-12-08\":{\"GALI\":\"01\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"21\"},\"2020-12-09\":{\"GALI\":\"32\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"89\"},\"2020-12-10\":{\"GALI\":\"96\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"59\"},\"2020-12-11\":{\"GALI\":\"08\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"97\"},\"2020-12-12\":{\"GALI\":\"85\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"97\"},\"2020-12-13\":{\"GALI\":\"37\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"40\"},\"2020-12-14\":{\"GALI\":\"95\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"77\"},\"2020-12-15\":{\"GALI\":\"53\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"81\"},\"2020-12-16\":{\"GALI\":\"20\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"30\"},\"2020-12-17\":{\"GALI\":\"58\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"35\"},\"2020-12-18\":{\"GALI\":\"70\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"66\"},\"2020-12-19\":{\"GALI\":\"32\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"10\"},\"2020-12-20\":{\"GALI\":\"35\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"60\"},\"2020-12-21\":{\"GALI\":\"51\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"20\"},\"2020-12-22\":{\"GALI\":\"39\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"11\"},\"2020-12-23\":{\"GALI\":\"72\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"80\"},\"2020-12-24\":{\"GALI\":\"46\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"47\"},\"2020-12-25\":{\"GALI\":\"01\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"37\"},\"2020-12-26\":{\"GALI\":\"96\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"43\"},\"2020-12-27\":{\"GALI\":\"37\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"11\"},\"2020-12-28\":{\"GALI\":\"46\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"36\"},\"2020-12-29\":{\"GALI\":\"98\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"91\"},\"2020-12-30\":{\"GALI\":\"53\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"84\"},\"2020-12-31\":{\"GALI\":\"--\",\"DESAWAR\":\"19\"},\"2021-01-01\":{\"GALI\":\"04\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"40\"},\"2021-01-02\":{\"GALI\":\"66\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"12\"},\"2021-01-03\":{\"GALI\":\"40\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"72\"},\"2021-01-04\":{\"GALI\":\"34\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"28\"},\"2021-01-05\":{\"GALI\":\"32\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"49\"},\"2021-01-06\":{\"GALI\":\"77\",\"DESAWAR\":\"00\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"16\"},\"2021-01-07\":{\"GALI\":\"15\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"74\"},\"2021-01-08\":{\"GALI\":\"36\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"67\"},\"2021-01-09\":{\"GALI\":\"64\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"79\"},\"2021-01-10\":{\"GALI\":\"92\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"71\"},\"2021-01-11\":{\"GALI\":\"05\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"61\"},\"2021-01-12\":{\"GALI\":\"06\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"68\"},\"2021-01-13\":{\"GALI\":\"71\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"51\"},\"2021-01-14\":{\"GALI\":\"87\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"02\"},\"2021-01-15\":{\"GALI\":\"08\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"42\"},\"2021-01-16\":{\"GALI\":\"32\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"81\"},\"2021-01-17\":{\"GALI\":\"59\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"17\"},\"2021-01-18\":{\"GALI\":\"55\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"77\"},\"2021-01-19\":{\"GALI\":\"47\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"93\"},\"2021-01-20\":{\"GALI\":\"82\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"40\"},\"2021-01-21\":{\"GALI\":\"48\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"91\"},\"2021-01-22\":{\"GALI\":\"95\",\"DESAWAR\":\"10\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"80\"},\"2021-01-23\":{\"GALI\":\"74\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"49\"},\"2021-01-24\":{\"GALI\":\"66\",\"DESAWAR\":\"23\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"08\"},\"2021-01-25\":{\"GALI\":\"49\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"07\"},\"2021-01-26\":{\"GALI\":\"40\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"02\"},\"2021-01-27\":{\"GALI\":\"20\",\"DESAWAR\":\"11\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"80\"},\"2021-01-28\":{\"GALI\":\"62\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"08\"},\"2021-01-29\":{\"GALI\":\"18\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"81\"},\"2021-01-30\":{\"GALI\":\"84\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"21\"},\"2021-01-31\":{\"GALI\":\"--\",\"DESAWAR\":\"63\"},\"2021-02-01\":{\"GALI\":\"91\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"92\"},\"2021-02-02\":{\"GALI\":\"07\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"60\"},\"2021-02-03\":{\"GALI\":\"65\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"69\"},\"2021-02-04\":{\"GALI\":\"65\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"96\"},\"2021-02-05\":{\"GALI\":\"22\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"52\"},\"2021-02-06\":{\"GALI\":\"74\",\"DESAWAR\":\"11\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"00\"},\"2021-02-07\":{\"GALI\":\"30\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"80\"},\"2021-02-08\":{\"GALI\":\"66\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"32\"},\"2021-02-09\":{\"GALI\":\"45\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"15\"},\"2021-02-10\":{\"GALI\":\"41\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"24\"},\"2021-02-11\":{\"GALI\":\"20\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"85\"},\"2021-02-12\":{\"GALI\":\"27\",\"DESAWAR\":\"45\",\"GAZIYAABAAD\":\"04\"},\"2021-02-13\":{\"GALI\":\"19\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"92\"},\"2021-02-14\":{\"GALI\":\"73\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"62\"},\"2021-02-15\":{\"GALI\":\"32\",\"DESAWAR\":\"00\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"94\"},\"2021-02-16\":{\"GALI\":\"90\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"52\"},\"2021-02-17\":{\"GALI\":\"48\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"59\"},\"2021-02-18\":{\"GALI\":\"17\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"25\"},\"2021-02-19\":{\"GALI\":\"59\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"93\"},\"2021-02-20\":{\"GALI\":\"30\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"95\"},\"2021-02-21\":{\"GALI\":\"28\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"68\"},\"2021-02-22\":{\"GALI\":\"32\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"66\"},\"2021-02-23\":{\"GALI\":\"61\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"01\"},\"2021-02-24\":{\"GALI\":\"38\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"48\"},\"2021-02-25\":{\"GALI\":\"73\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"28\"},\"2021-02-26\":{\"GALI\":\"48\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"85\"},\"2021-02-27\":{\"GALI\":\"38\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"26\"},\"2021-02-28\":{\"GALI\":\"--\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"--\",\"GAZIYAABAAD\":\"--\"},\"2021-03-01\":{\"GALI\":\"26\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"83\"},\"2021-03-02\":{\"GALI\":\"05\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"06\"},\"2021-03-03\":{\"GALI\":\"22\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"99\"},\"2021-03-04\":{\"GALI\":\"34\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"53\"},\"2021-03-05\":{\"GALI\":\"39\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"24\"},\"2021-03-06\":{\"GALI\":\"91\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"91\"},\"2021-03-07\":{\"GALI\":\"51\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"96\"},\"2021-03-08\":{\"GALI\":\"32\",\"DESAWAR\":\"11\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"36\"},\"2021-03-09\":{\"GALI\":\"94\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"55\"},\"2021-03-10\":{\"GALI\":\"34\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"31\"},\"2021-03-11\":{\"GALI\":\"71\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"19\"},\"2021-03-12\":{\"GALI\":\"04\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"90\"},\"2021-03-13\":{\"GALI\":\"69\",\"DESAWAR\":\"02\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"93\"},\"2021-03-14\":{\"GALI\":\"93\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"15\"},\"2021-03-15\":{\"GALI\":\"61\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"45\"},\"2021-03-16\":{\"GALI\":\"58\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"11\"},\"2021-03-17\":{\"GALI\":\"68\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"85\"},\"2021-03-18\":{\"GALI\":\"96\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"23\"},\"2021-03-19\":{\"GALI\":\"83\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"05\"},\"2021-03-20\":{\"GALI\":\"92\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"99\"},\"2021-03-21\":{\"GALI\":\"43\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"65\"},\"2021-03-22\":{\"GALI\":\"31\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"04\"},\"2021-03-23\":{\"GALI\":\"01\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"80\"},\"2021-03-24\":{\"GALI\":\"59\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"59\"},\"2021-03-25\":{\"GALI\":\"90\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"22\"},\"2021-03-26\":{\"GALI\":\"46\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"67\"},\"2021-03-27\":{\"GALI\":\"99\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"96\"},\"2021-03-28\":{\"GALI\":\"31\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"45\"},\"2021-03-29\":{\"GALI\":\"53\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"58\"},\"2021-03-30\":{\"GALI\":\"25\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"39\"},\"2021-03-31\":{\"DESAWAR\":\"31\"},\"2021-04-01\":{\"GALI\":\"65\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"63\"},\"2021-04-02\":{\"GALI\":\"25\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"17\"},\"2021-04-03\":{\"GALI\":\"09\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"11\"},\"2021-04-04\":{\"GALI\":\"30\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"09\"},\"2021-04-05\":{\"GALI\":\"38\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"06\"},\"2021-04-06\":{\"GALI\":\"04\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"25\"},\"2021-04-07\":{\"GALI\":\"46\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"09\"},\"2021-04-08\":{\"GALI\":\"12\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"90\"},\"2021-04-09\":{\"GALI\":\"24\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"02\"},\"2021-04-10\":{\"GALI\":\"61\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"75\"},\"2021-04-11\":{\"GALI\":\"27\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"83\"},\"2021-04-12\":{\"GALI\":\"29\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"07\"},\"2021-04-13\":{\"GALI\":\"48\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"84\"},\"2021-04-14\":{\"GALI\":\"90\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"53\"},\"2021-04-15\":{\"GALI\":\"51\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"54\"},\"2021-04-16\":{\"GALI\":\"78\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"80\"},\"2021-04-17\":{\"GALI\":\"87\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"67\"},\"2021-04-18\":{\"GALI\":\"90\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"83\"},\"2021-04-19\":{\"GALI\":\"24\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"11\"},\"2021-04-20\":{\"GALI\":\"57\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"24\"},\"2021-04-21\":{\"GALI\":\"24\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"97\"},\"2021-04-22\":{\"GALI\":\"02\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"18\"},\"2021-04-23\":{\"GALI\":\"44\",\"DESAWAR\":\"02\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"53\"},\"2021-04-24\":{\"GALI\":\"69\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"15\"},\"2021-04-25\":{\"GALI\":\"22\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"84\"},\"2021-04-26\":{\"GALI\":\"21\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"47\"},\"2021-04-27\":{\"GALI\":\"18\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"33\"},\"2021-04-28\":{\"GALI\":\"44\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"74\"},\"2021-04-29\":{\"GALI\":\"62\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"21\"},\"2021-04-30\":{\"DESAWAR\":\"14\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"84\"},\"2021-05-01\":{\"GALI\":\"69\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"40\"},\"2021-05-02\":{\"GALI\":\"59\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"00\"},\"2021-05-03\":{\"GALI\":\"86\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"17\"},\"2021-05-04\":{\"GALI\":\"59\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"88\"},\"2021-05-05\":{\"GALI\":\"25\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"05\"},\"2021-05-06\":{\"GALI\":\"68\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"26\"},\"2021-05-07\":{\"GALI\":\"18\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"46\"},\"2021-05-08\":{\"GALI\":\"68\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"70\"},\"2021-05-09\":{\"GALI\":\"76\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"12\"},\"2021-05-10\":{\"GALI\":\"14\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"53\"},\"2021-05-11\":{\"GALI\":\"99\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"61\"},\"2021-05-12\":{\"GALI\":\"79\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"55\"},\"2021-05-13\":{\"GALI\":\"12\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"20\"},\"2021-05-14\":{\"GALI\":\"20\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"44\"},\"2021-05-15\":{\"GALI\":\"65\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"52\"},\"2021-05-16\":{\"GALI\":\"30\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"24\"},\"2021-05-17\":{\"GALI\":\"76\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"99\"},\"2021-05-18\":{\"GALI\":\"51\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"83\"},\"2021-05-19\":{\"GALI\":\"33\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"46\"},\"2021-05-20\":{\"GALI\":\"76\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"56\"},\"2021-05-21\":{\"GALI\":\"94\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"48\"},\"2021-05-22\":{\"GALI\":\"89\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"81\"},\"2021-05-23\":{\"GALI\":\"61\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"98\"},\"2021-05-24\":{\"GALI\":\"53\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"67\"},\"2021-05-25\":{\"GALI\":\"87\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"88\"},\"2021-05-26\":{\"GALI\":\"90\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"48\"},\"2021-05-27\":{\"GALI\":\"39\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"05\"},\"2021-05-28\":{\"GALI\":\"14\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"75\"},\"2021-05-29\":{\"GALI\":\"79\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"83\"},\"2021-05-30\":{\"GALI\":\"16\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"46\"},\"2021-05-31\":{\"DESAWAR\":\"55\"},\"2021-06-01\":{\"GALI\":\"66\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"97\"},\"2021-06-02\":{\"GALI\":\"42\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"16\"},\"2021-06-03\":{\"GALI\":\"55\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"32\"},\"2021-06-04\":{\"GALI\":\"33\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"23\"},\"2021-06-05\":{\"GALI\":\"82\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"24\"},\"2021-06-06\":{\"GALI\":\"57\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"88\"},\"2021-06-07\":{\"GALI\":\"40\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"41\"},\"2021-06-08\":{\"GALI\":\"55\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"99\"},\"2021-06-09\":{\"GALI\":\"99\",\"DESAWAR\":\"23\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"60\"},\"2021-06-10\":{\"GALI\":\"25\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"97\"},\"2021-06-11\":{\"GALI\":\"06\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"09\"},\"2021-06-12\":{\"GALI\":\"98\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"41\"},\"2021-06-13\":{\"GALI\":\"41\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"21\"},\"2021-06-14\":{\"GALI\":\"93\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"32\"},\"2021-06-15\":{\"GALI\":\"34\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"87\"},\"2021-06-16\":{\"GALI\":\"06\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"46\"},\"2021-06-17\":{\"GALI\":\"84\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"36\"},\"2021-06-18\":{\"GALI\":\"34\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"05\"},\"2021-06-19\":{\"GALI\":\"75\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"04\"},\"2021-06-20\":{\"GALI\":\"31\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"20\"},\"2021-06-21\":{\"GALI\":\"75\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"04\"},\"2021-06-22\":{\"GALI\":\"99\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"65\"},\"2021-06-23\":{\"GALI\":\"57\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"70\"},\"2021-06-24\":{\"GALI\":\"36\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"05\"},\"2021-06-25\":{\"GALI\":\"97\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"76\"},\"2021-06-26\":{\"GALI\":\"82\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"06\"},\"2021-06-27\":{\"GALI\":\"17\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"94\"},\"2021-06-28\":{\"GALI\":\"31\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"71\"},\"2021-06-29\":{\"GALI\":\"81\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"46\"},\"2021-06-30\":{\"DESAWAR\":\"14\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"03\"},\"2021-07-01\":{\"GALI\":\"74\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"34\"},\"2021-07-02\":{\"GALI\":\"60\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"08\"},\"2021-07-03\":{\"GALI\":\"35\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"75\"},\"2021-07-04\":{\"GALI\":\"89\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"90\"},\"2021-07-05\":{\"GALI\":\"77\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"47\"},\"2021-07-06\":{\"GALI\":\"21\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"11\"},\"2021-07-07\":{\"GALI\":\"95\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"03\"},\"2021-07-08\":{\"GALI\":\"45\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"91\"},\"2021-07-09\":{\"GALI\":\"34\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"78\"},\"2021-07-10\":{\"GALI\":\"73\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"35\"},\"2021-07-11\":{\"GALI\":\"52\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"87\"},\"2021-07-12\":{\"GALI\":\"93\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"11\"},\"2021-07-13\":{\"GALI\":\"85\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"30\"},\"2021-07-14\":{\"GALI\":\"12\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"44\"},\"2021-07-15\":{\"GALI\":\"53\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"33\"},\"2021-07-16\":{\"GALI\":\"76\",\"DESAWAR\":\"11\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"61\"},\"2021-07-17\":{\"GALI\":\"43\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"40\"},\"2021-07-18\":{\"GALI\":\"59\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"01\"},\"2021-07-19\":{\"GALI\":\"01\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"12\"},\"2021-07-20\":{\"GALI\":\"61\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"49\"},\"2021-07-21\":{\"GALI\":\"49\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"76\"},\"2021-07-22\":{\"GALI\":\"23\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"82\"},\"2021-07-23\":{\"GALI\":\"29\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"01\"},\"2021-07-24\":{\"GALI\":\"64\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"77\"},\"2021-07-25\":{\"GALI\":\"06\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"20\"},\"2021-07-26\":{\"GALI\":\"31\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"02\"},\"2021-07-27\":{\"GALI\":\"49\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"84\"},\"2021-07-28\":{\"GALI\":\"01\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"25\"},\"2021-07-29\":{\"GALI\":\"06\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"27\"},\"2021-07-30\":{\"GALI\":\"89\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"61\"},\"2021-07-31\":{\"DESAWAR\":\"28\",\"FARIDABAD\":\"78\"},\"2021-08-01\":{\"GALI\":\"19\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"89\"},\"2021-08-02\":{\"GALI\":\"82\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"58\"},\"2021-08-03\":{\"GALI\":\"91\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"48\"},\"2021-08-04\":{\"GALI\":\"84\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"37\"},\"2021-08-05\":{\"GALI\":\"87\",\"DESAWAR\":\"02\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"18\"},\"2021-08-06\":{\"GALI\":\"69\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"35\"},\"2021-08-07\":{\"GALI\":\"29\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"85\"},\"2021-08-08\":{\"GALI\":\"66\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"61\"},\"2021-08-09\":{\"GALI\":\"68\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"05\"},\"2021-08-10\":{\"GALI\":\"81\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"27\"},\"2021-08-11\":{\"GALI\":\"72\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"61\"},\"2021-08-12\":{\"GALI\":\"67\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"37\"},\"2021-08-13\":{\"GALI\":\"52\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"23\"},\"2021-08-14\":{\"GALI\":\"83\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"68\"},\"2021-08-15\":{\"GALI\":\"91\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"33\"},\"2021-08-16\":{\"GALI\":\"12\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"64\"},\"2021-08-17\":{\"GALI\":\"80\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"23\"},\"2021-08-18\":{\"GALI\":\"40\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"22\"},\"2021-08-19\":{\"GALI\":\"32\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"92\"},\"2021-08-20\":{\"GALI\":\"63\",\"DESAWAR\":\"11\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"43\"},\"2021-08-21\":{\"GALI\":\"78\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"03\"},\"2021-08-22\":{\"GALI\":\"50\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"52\"},\"2021-08-23\":{\"GALI\":\"53\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"52\"},\"2021-08-24\":{\"GALI\":\"08\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"62\"},\"2021-08-25\":{\"GALI\":\"49\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"53\"},\"2021-08-26\":{\"GALI\":\"14\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"58\"},\"2021-08-27\":{\"GALI\":\"12\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"82\"},\"2021-08-28\":{\"GALI\":\"92\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"50\"},\"2021-08-29\":{\"GALI\":\"39\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"17\"},\"2021-08-30\":{\"GALI\":\"20\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"94\"},\"2021-08-31\":{\"DESAWAR\":\"59\",\"FARIDABAD\":\"65\"},\"2021-09-01\":{\"GALI\":\"56\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"82\"},\"2021-09-02\":{\"GALI\":\"31\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"14\"},\"2021-09-03\":{\"GALI\":\"38\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"88\"},\"2021-09-04\":{\"GALI\":\"02\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"62\"},\"2021-09-05\":{\"GALI\":\"22\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"95\"},\"2021-09-06\":{\"GALI\":\"34\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"44\"},\"2021-09-07\":{\"GALI\":\"18\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"14\"},\"2021-09-08\":{\"GALI\":\"45\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"00\"},\"2021-09-09\":{\"GALI\":\"58\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"36\"},\"2021-09-10\":{\"GALI\":\"86\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"52\"},\"2021-09-11\":{\"GALI\":\"95\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"40\"},\"2021-09-12\":{\"GALI\":\"46\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"49\"},\"2021-09-13\":{\"GALI\":\"75\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"60\"},\"2021-09-14\":{\"GALI\":\"54\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"77\"},\"2021-09-15\":{\"GALI\":\"03\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"10\"},\"2021-09-16\":{\"GALI\":\"99\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"26\"},\"2021-09-17\":{\"GALI\":\"47\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"22\"},\"2021-09-18\":{\"GALI\":\"10\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"80\"},\"2021-09-19\":{\"GALI\":\"33\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"78\"},\"2021-09-20\":{\"GALI\":\"49\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"76\"},\"2021-09-21\":{\"GALI\":\"72\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"75\"},\"2021-09-22\":{\"GALI\":\"93\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"93\"},\"2021-09-23\":{\"GALI\":\"99\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"68\"},\"2021-09-24\":{\"GALI\":\"82\",\"DESAWAR\":\"04\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"92\"},\"2021-09-25\":{\"GALI\":\"75\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"97\"},\"2021-09-26\":{\"GALI\":\"19\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"29\"},\"2021-09-27\":{\"GALI\":\"52\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"00\"},\"2021-09-28\":{\"GALI\":\"75\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"41\"},\"2021-09-29\":{\"GALI\":\"96\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"94\"},\"2021-09-30\":{\"DESAWAR\":\"94\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"03\"},\"2021-10-01\":{\"GALI\":\"33\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"70\"},\"2021-10-02\":{\"GALI\":\"08\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"09\"},\"2021-10-03\":{\"GALI\":\"17\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"37\"},\"2021-10-04\":{\"GALI\":\"12\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"70\"},\"2021-10-05\":{\"GALI\":\"98\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"36\"},\"2021-10-06\":{\"GALI\":\"84\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"18\"},\"2021-10-07\":{\"GALI\":\"78\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"17\"},\"2021-10-08\":{\"GALI\":\"60\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"82\"},\"2021-10-09\":{\"GALI\":\"27\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"58\"},\"2021-10-10\":{\"GALI\":\"59\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"68\"},\"2021-10-11\":{\"GALI\":\"45\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"22\"},\"2021-10-12\":{\"GALI\":\"78\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"03\"},\"2021-10-13\":{\"GALI\":\"33\",\"DESAWAR\":\"50\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"32\"},\"2021-10-14\":{\"GALI\":\"97\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"24\"},\"2021-10-15\":{\"GALI\":\"38\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"81\"},\"2021-10-16\":{\"GALI\":\"25\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"23\"},\"2021-10-17\":{\"GALI\":\"47\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"50\"},\"2021-10-18\":{\"GALI\":\"83\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"06\"},\"2021-10-19\":{\"GALI\":\"15\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"68\"},\"2021-10-20\":{\"GALI\":\"97\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"56\"},\"2021-10-21\":{\"GALI\":\"07\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"84\"},\"2021-10-22\":{\"GALI\":\"60\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"97\"},\"2021-10-23\":{\"GALI\":\"92\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"05\"},\"2021-10-24\":{\"GALI\":\"73\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"36\"},\"2021-10-25\":{\"GALI\":\"00\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"15\"},\"2021-10-26\":{\"GALI\":\"47\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"82\"},\"2021-10-27\":{\"GALI\":\"92\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"96\"},\"2021-10-28\":{\"GALI\":\"89\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"18\"},\"2021-10-29\":{\"GALI\":\"28\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"03\"},\"2021-10-30\":{\"GALI\":\"79\",\"DESAWAR\":\"50\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"67\"},\"2021-10-31\":{\"DESAWAR\":\"02\",\"FARIDABAD\":\"88\"},\"2021-11-01\":{\"GALI\":\"86\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"49\"},\"2021-11-02\":{\"GALI\":\"49\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"44\"},\"2021-11-03\":{\"GALI\":\"26\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"57\"},\"2021-11-04\":{\"GALI\":\"28\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"70\"},\"2021-11-05\":{\"GALI\":\"63\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"58\"},\"2021-11-06\":{\"GALI\":\"06\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"56\"},\"2021-11-07\":{\"GALI\":\"92\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"50\"},\"2021-11-08\":{\"GALI\":\"07\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"57\"},\"2021-11-09\":{\"GALI\":\"73\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"71\"},\"2021-11-10\":{\"GALI\":\"16\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"39\"},\"2021-11-11\":{\"GALI\":\"62\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"53\"},\"2021-11-12\":{\"GALI\":\"40\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"50\"},\"2021-11-13\":{\"GALI\":\"71\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"17\"},\"2021-11-14\":{\"GALI\":\"00\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"66\"},\"2021-11-15\":{\"GALI\":\"70\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"22\"},\"2021-11-16\":{\"GALI\":\"42\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"38\"},\"2021-11-17\":{\"GALI\":\"61\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"14\"},\"2021-11-18\":{\"GALI\":\"08\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"88\"},\"2021-11-19\":{\"GALI\":\"18\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"62\"},\"2021-11-20\":{\"GALI\":\"30\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"75\"},\"2021-11-21\":{\"GALI\":\"46\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"27\"},\"2021-11-22\":{\"GALI\":\"24\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"16\"},\"2021-11-23\":{\"GALI\":\"15\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"41\"},\"2021-11-24\":{\"GALI\":\"79\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"32\"},\"2021-11-25\":{\"GALI\":\"74\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"19\"},\"2021-11-26\":{\"GALI\":\"88\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"40\"},\"2021-11-27\":{\"GALI\":\"05\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"53\"},\"2021-11-28\":{\"GALI\":\"49\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"90\"},\"2021-11-29\":{\"GALI\":\"19\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"17\"},\"2021-11-30\":{\"DESAWAR\":\"06\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"16\"},\"2021-12-01\":{\"GALI\":\"06\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"91\"},\"2021-12-02\":{\"GALI\":\"49\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"29\"},\"2021-12-03\":{\"GALI\":\"29\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"17\"},\"2021-12-04\":{\"GALI\":\"06\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"42\"},\"2021-12-05\":{\"GALI\":\"07\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"10\"},\"2021-12-06\":{\"GALI\":\"10\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"82\"},\"2021-12-07\":{\"GALI\":\"46\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"16\"},\"2021-12-08\":{\"GALI\":\"47\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"72\"},\"2021-12-09\":{\"GALI\":\"45\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"33\"},\"2021-12-10\":{\"GALI\":\"43\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"90\"},\"2021-12-11\":{\"GALI\":\"09\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"17\"},\"2021-12-12\":{\"GALI\":\"78\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"97\"},\"2021-12-13\":{\"GALI\":\"29\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"93\"},\"2021-12-14\":{\"GALI\":\"02\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"72\"},\"2021-12-15\":{\"GALI\":\"25\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"26\"},\"2021-12-16\":{\"GALI\":\"64\",\"DESAWAR\":\"12\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"28\"},\"2021-12-17\":{\"GALI\":\"72\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"29\"},\"2021-12-18\":{\"GALI\":\"29\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"33\"},\"2021-12-19\":{\"DESAWAR\":\"73\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"98\"},\"2021-12-20\":{\"GALI\":\"13\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"75\"},\"2021-12-21\":{\"GALI\":\"45\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"22\"},\"2021-12-22\":{\"GALI\":\"81\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"75\"},\"2021-12-23\":{\"GALI\":\"31\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"79\"},\"2021-12-24\":{\"GALI\":\"73\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"10\"},\"2021-12-25\":{\"GALI\":\"84\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"88\"},\"2021-12-26\":{\"GALI\":\"21\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"78\"},\"2021-12-27\":{\"GALI\":\"83\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"96\"},\"2021-12-28\":{\"GALI\":\"73\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"25\"},\"2021-12-29\":{\"GALI\":\"07\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"16\"},\"2021-12-30\":{\"GALI\":\"28\",\"DESAWAR\":\"04\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"95\"},\"2021-12-31\":{\"GALI\":\"--\",\"DESAWAR\":\"54\"},\"2022-01-01\":{\"GALI\":\"85\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"15\"},\"2022-01-02\":{\"GALI\":\"47\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"45\"},\"2022-01-03\":{\"GALI\":\"70\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"39\"},\"2022-01-04\":{\"GALI\":\"66\",\"DESAWAR\":\"11\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"88\"},\"2022-01-05\":{\"GALI\":\"05\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"90\"},\"2022-01-06\":{\"GALI\":\"29\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"79\"},\"2022-01-07\":{\"GALI\":\"03\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"40\"},\"2022-01-08\":{\"GALI\":\"17\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"80\"},\"2022-01-09\":{\"GALI\":\"85\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"43\"},\"2022-01-10\":{\"GALI\":\"09\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"58\"},\"2022-01-11\":{\"GALI\":\"72\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"78\"},\"2022-01-12\":{\"GALI\":\"10\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"71\"},\"2022-01-13\":{\"GALI\":\"67\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"76\"},\"2022-01-14\":{\"GALI\":\"21\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"51\"},\"2022-01-15\":{\"GALI\":\"42\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"40\"},\"2022-01-16\":{\"GALI\":\"10\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"15\"},\"2022-01-17\":{\"GALI\":\"87\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"02\"},\"2022-01-18\":{\"GALI\":\"76\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"34\"},\"2022-01-19\":{\"GALI\":\"84\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"52\"},\"2022-01-20\":{\"GALI\":\"20\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"57\"},\"2022-01-21\":{\"GALI\":\"78\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"74\"},\"2022-01-22\":{\"GALI\":\"83\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"94\"},\"2022-01-23\":{\"GALI\":\"36\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"43\"},\"2022-01-24\":{\"GALI\":\"02\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"50\"},\"2022-01-25\":{\"GALI\":\"60\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"64\"},\"2022-01-26\":{\"GALI\":\"46\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"65\"},\"2022-01-27\":{\"GALI\":\"68\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"29\"},\"2022-01-28\":{\"GALI\":\"15\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"25\"},\"2022-01-29\":{\"GALI\":\"24\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"97\"},\"2022-01-30\":{\"GALI\":\"65\",\"DESAWAR\":\"02\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"83\"},\"2022-01-31\":{\"DESAWAR\":\"99\",\"GAZIYAABAAD\":\"--\"},\"2022-02-01\":{\"GALI\":\"36\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"58\"},\"2022-02-02\":{\"GALI\":\"09\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"33\"},\"2022-02-03\":{\"GALI\":\"09\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"40\"},\"2022-02-04\":{\"GALI\":\"67\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"14\"},\"2022-02-05\":{\"GALI\":\"91\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"31\"},\"2022-02-06\":{\"GALI\":\"91\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"37\"},\"2022-02-07\":{\"GALI\":\"43\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"45\"},\"2022-02-08\":{\"GALI\":\"62\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"92\"},\"2022-02-09\":{\"GALI\":\"67\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"32\"},\"2022-02-10\":{\"GALI\":\"97\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"07\"},\"2022-02-11\":{\"GALI\":\"96\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"07\"},\"2022-02-12\":{\"GALI\":\"87\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"44\"},\"2022-02-13\":{\"GALI\":\"18\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"79\"},\"2022-02-14\":{\"GALI\":\"10\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"02\"},\"2022-02-15\":{\"GALI\":\"18\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"62\"},\"2022-02-16\":{\"GALI\":\"78\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"24\"},\"2022-02-17\":{\"GALI\":\"55\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"42\"},\"2022-02-18\":{\"GALI\":\"90\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"24\"},\"2022-02-19\":{\"GALI\":\"28\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"55\"},\"2022-02-20\":{\"GALI\":\"92\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"95\"},\"2022-02-21\":{\"GALI\":\"67\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"66\"},\"2022-02-22\":{\"GALI\":\"16\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"94\"},\"2022-02-23\":{\"GALI\":\"14\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"26\"},\"2022-02-24\":{\"GALI\":\"97\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"69\"},\"2022-02-25\":{\"GALI\":\"51\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"18\"},\"2022-02-26\":{\"GALI\":\"97\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"66\"},\"2022-02-27\":{\"GALI\":\"55\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"14\"},\"2022-02-28\":{\"GALI\":\"--\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"--\"},\"2022-03-01\":{\"GALI\":\"60\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"01\"},\"2022-03-02\":{\"GALI\":\"09\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"81\"},\"2022-03-03\":{\"GALI\":\"58\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"85\"},\"2022-03-04\":{\"GALI\":\"81\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"91\"},\"2022-03-05\":{\"GALI\":\"04\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"49\"},\"2022-03-06\":{\"GALI\":\"16\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"75\"},\"2022-03-07\":{\"GALI\":\"51\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"31\"},\"2022-03-08\":{\"GALI\":\"32\",\"DESAWAR\":\"50\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"55\"},\"2022-03-09\":{\"GALI\":\"94\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"76\"},\"2022-03-10\":{\"GALI\":\"34\",\"DESAWAR\":\"12\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"50\"},\"2022-03-11\":{\"GALI\":\"71\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"86\"},\"2022-03-12\":{\"GALI\":\"64\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"38\"},\"2022-03-13\":{\"GALI\":\"14\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"34\"},\"2022-03-14\":{\"GALI\":\"72\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"01\"},\"2022-03-15\":{\"GALI\":\"57\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"50\"},\"2022-03-16\":{\"GALI\":\"85\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"43\"},\"2022-03-17\":{\"GALI\":\"27\",\"DESAWAR\":\"10\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"12\"},\"2022-03-18\":{\"GALI\":\"80\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"52\"},\"2022-03-19\":{\"GALI\":\"16\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"43\"},\"2022-03-20\":{\"GALI\":\"01\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"16\"},\"2022-03-21\":{\"GALI\":\"01\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"53\"},\"2022-03-22\":{\"GALI\":\"08\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"33\"},\"2022-03-23\":{\"GALI\":\"89\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"50\"},\"2022-03-24\":{\"GALI\":\"82\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"14\"},\"2022-03-25\":{\"GALI\":\"26\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"37\"},\"2022-03-26\":{\"GALI\":\"23\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"54\"},\"2022-03-27\":{\"GALI\":\"52\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"93\"},\"2022-03-28\":{\"GALI\":\"73\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"75\"},\"2022-03-29\":{\"GALI\":\"81\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"11\"},\"2022-03-30\":{\"GALI\":\"47\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"72\"},\"2022-03-31\":{\"DESAWAR\":\"87\",\"GAZIYAABAAD\":\"--\"},\"2022-04-01\":{\"GALI\":\"22\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"46\"},\"2022-04-02\":{\"GALI\":\"62\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"30\"},\"2022-04-03\":{\"GALI\":\"01\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"33\"},\"2022-04-04\":{\"GALI\":\"63\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"45\"},\"2022-04-05\":{\"GALI\":\"30\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"68\"},\"2022-04-06\":{\"GALI\":\"48\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"16\"},\"2022-04-07\":{\"GALI\":\"40\",\"DESAWAR\":\"12\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"12\"},\"2022-04-08\":{\"GALI\":\"09\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"32\"},\"2022-04-09\":{\"GALI\":\"42\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"82\"},\"2022-04-10\":{\"GALI\":\"43\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"92\"},\"2022-04-11\":{\"GALI\":\"28\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"83\"},\"2022-04-12\":{\"GALI\":\"57\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"59\"},\"2022-04-13\":{\"GALI\":\"53\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"84\"},\"2022-04-14\":{\"GALI\":\"22\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"93\"},\"2022-04-15\":{\"GALI\":\"93\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"56\"},\"2022-04-16\":{\"GALI\":\"17\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"91\"},\"2022-04-17\":{\"GALI\":\"55\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"83\"},\"2022-04-18\":{\"GALI\":\"90\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"61\"},\"2022-04-19\":{\"GALI\":\"63\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"64\"},\"2022-04-20\":{\"GALI\":\"91\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"53\"},\"2022-04-21\":{\"GALI\":\"63\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"55\"},\"2022-04-22\":{\"GALI\":\"28\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"94\"},\"2022-04-23\":{\"GALI\":\"49\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"69\"},\"2022-04-24\":{\"GALI\":\"02\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"88\"},\"2022-04-25\":{\"GALI\":\"65\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"22\"},\"2022-04-26\":{\"GALI\":\"65\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"75\"},\"2022-04-27\":{\"GALI\":\"84\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"98\"},\"2022-04-28\":{\"GALI\":\"63\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"93\"},\"2022-04-29\":{\"GALI\":\"42\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"36\"},\"2022-04-30\":{\"DESAWAR\":\"91\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"17\"},\"2022-05-01\":{\"GALI\":\"29\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"51\"},\"2022-05-02\":{\"GALI\":\"12\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"31\"},\"2022-05-03\":{\"GALI\":\"99\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"79\"},\"2022-05-04\":{\"GALI\":\"33\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"78\"},\"2022-05-05\":{\"GALI\":\"53\",\"DESAWAR\":\"23\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"02\"},\"2022-05-06\":{\"GALI\":\"72\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"08\"},\"2022-05-07\":{\"GALI\":\"68\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"54\"},\"2022-05-08\":{\"GALI\":\"69\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"20\"},\"2022-05-09\":{\"GALI\":\"42\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"98\"},\"2022-05-10\":{\"GALI\":\"69\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"06\"},\"2022-05-11\":{\"GALI\":\"42\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"02\"},\"2022-05-12\":{\"GALI\":\"03\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"64\"},\"2022-05-13\":{\"GALI\":\"82\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"30\"},\"2022-05-14\":{\"GALI\":\"50\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"60\"},\"2022-05-15\":{\"GALI\":\"54\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"48\"},\"2022-05-16\":{\"GALI\":\"22\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"37\"},\"2022-05-17\":{\"GALI\":\"43\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"37\"},\"2022-05-18\":{\"GALI\":\"56\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"42\"},\"2022-05-19\":{\"GALI\":\"86\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"91\"},\"2022-05-20\":{\"GALI\":\"48\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"27\"},\"2022-05-21\":{\"GALI\":\"00\",\"DESAWAR\":\"50\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"01\"},\"2022-05-22\":{\"GALI\":\"43\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"74\"},\"2022-05-23\":{\"GALI\":\"72\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"35\"},\"2022-05-24\":{\"GALI\":\"84\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"86\"},\"2022-05-25\":{\"GALI\":\"50\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"36\"},\"2022-05-26\":{\"GALI\":\"06\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"61\"},\"2022-05-27\":{\"GALI\":\"24\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"16\"},\"2022-05-28\":{\"GALI\":\"54\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"07\"},\"2022-05-29\":{\"GALI\":\"53\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"78\"},\"2022-05-30\":{\"GALI\":\"26\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"--\"},\"2022-05-31\":{\"DESAWAR\":\"89\",\"GAZIYAABAAD\":\"--\"},\"2022-06-01\":{\"GALI\":\"93\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"61\"},\"2022-06-02\":{\"GALI\":\"59\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"37\"},\"2022-06-03\":{\"GALI\":\"47\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"72\"},\"2022-06-04\":{\"GALI\":\"18\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"56\"},\"2022-06-05\":{\"GALI\":\"12\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"81\"},\"2022-06-06\":{\"GALI\":\"96\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"98\"},\"2022-06-07\":{\"GALI\":\"68\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"42\"},\"2022-06-08\":{\"GALI\":\"55\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"88\"},\"2022-06-09\":{\"GALI\":\"42\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"66\"},\"2022-06-10\":{\"GALI\":\"25\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"71\"},\"2022-06-11\":{\"GALI\":\"28\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"28\"},\"2022-06-12\":{\"GALI\":\"37\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"17\"},\"2022-06-13\":{\"GALI\":\"69\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"55\"},\"2022-06-14\":{\"GALI\":\"50\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"81\"},\"2022-06-15\":{\"GALI\":\"50\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"06\"},\"2022-06-16\":{\"GALI\":\"83\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"87\"},\"2022-06-17\":{\"GALI\":\"80\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"67\"},\"2022-06-18\":{\"GALI\":\"57\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"08\"},\"2022-06-19\":{\"GALI\":\"95\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"92\"},\"2022-06-20\":{\"GALI\":\"53\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"66\"},\"2022-06-21\":{\"GALI\":\"37\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"35\"},\"2022-06-22\":{\"GALI\":\"56\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"66\"},\"2022-06-23\":{\"GALI\":\"90\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"59\"},\"2022-06-24\":{\"GALI\":\"15\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"22\"},\"2022-06-25\":{\"GALI\":\"15\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"84\"},\"2022-06-26\":{\"GALI\":\"38\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"12\"},\"2022-06-27\":{\"GALI\":\"16\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"03\"},\"2022-06-28\":{\"GALI\":\"00\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"83\"},\"2022-06-29\":{\"GALI\":\"76\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"65\"},\"2022-06-30\":{\"DESAWAR\":\"45\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"80\"},\"2022-07-01\":{\"GALI\":\"16\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"92\"},\"2022-07-02\":{\"GALI\":\"77\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"89\"},\"2022-07-03\":{\"GALI\":\"19\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"15\"},\"2022-07-04\":{\"GALI\":\"65\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"52\"},\"2022-07-05\":{\"GALI\":\"67\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"75\"},\"2022-07-06\":{\"GALI\":\"94\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"05\"},\"2022-07-07\":{\"GALI\":\"21\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"82\"},\"2022-07-08\":{\"GALI\":\"89\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"60\"},\"2022-07-09\":{\"GALI\":\"57\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"88\"},\"2022-07-10\":{\"GALI\":\"73\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"94\"},\"2022-07-11\":{\"GALI\":\"48\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"24\"},\"2022-07-12\":{\"GALI\":\"02\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"71\"},\"2022-07-13\":{\"GALI\":\"23\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"95\"},\"2022-07-14\":{\"GALI\":\"28\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"01\"},\"2022-07-15\":{\"GALI\":\"53\",\"DESAWAR\":\"50\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"48\"},\"2022-07-16\":{\"GALI\":\"46\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"05\"},\"2022-07-17\":{\"GALI\":\"59\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"02\"},\"2022-07-18\":{\"GALI\":\"83\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"69\"},\"2022-07-19\":{\"GALI\":\"07\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"60\"},\"2022-07-20\":{\"GALI\":\"44\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"39\"},\"2022-07-21\":{\"GALI\":\"79\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"79\"},\"2022-07-22\":{\"GALI\":\"23\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"92\"},\"2022-07-23\":{\"GALI\":\"56\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"10\"},\"2022-07-24\":{\"GALI\":\"97\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"46\"},\"2022-07-25\":{\"GALI\":\"52\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"77\"},\"2022-07-26\":{\"GALI\":\"91\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"82\"},\"2022-07-27\":{\"GALI\":\"33\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"16\"},\"2022-07-28\":{\"GALI\":\"80\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"58\"},\"2022-07-29\":{\"GALI\":\"63\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"41\"},\"2022-07-30\":{\"GALI\":\"70\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"57\"},\"2022-07-31\":{\"DESAWAR\":\"48\",\"GAZIYAABAAD\":\"--\"},\"2022-08-01\":{\"GALI\":\"14\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"54\"},\"2022-08-02\":{\"GALI\":\"52\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"12\"},\"2022-08-03\":{\"GALI\":\"75\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"28\"},\"2022-08-04\":{\"GALI\":\"02\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"57\"},\"2022-08-05\":{\"GALI\":\"12\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"02\"},\"2022-08-06\":{\"GALI\":\"30\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"67\"},\"2022-08-07\":{\"GALI\":\"95\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"90\"},\"2022-08-08\":{\"GALI\":\"29\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"22\"},\"2022-08-09\":{\"GALI\":\"18\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"67\"},\"2022-08-10\":{\"GALI\":\"62\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"35\"},\"2022-08-11\":{\"GALI\":\"11\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"03\"},\"2022-08-12\":{\"GALI\":\"26\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"10\"},\"2022-08-13\":{\"GALI\":\"85\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"77\"},\"2022-08-14\":{\"GALI\":\"28\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"43\"},\"2022-08-15\":{\"GALI\":\"70\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"44\"},\"2022-08-16\":{\"GALI\":\"56\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"44\"},\"2022-08-17\":{\"GALI\":\"85\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"22\"},\"2022-08-18\":{\"GALI\":\"24\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"12\"},\"2022-08-19\":{\"GALI\":\"89\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"31\"},\"2022-08-20\":{\"GALI\":\"14\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"03\"},\"2022-08-21\":{\"GALI\":\"13\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"31\"},\"2022-08-22\":{\"GALI\":\"03\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"50\"},\"2022-08-23\":{\"GALI\":\"95\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"90\"},\"2022-08-24\":{\"GALI\":\"20\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"21\"},\"2022-08-25\":{\"GALI\":\"20\",\"DESAWAR\":\"10\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"94\"},\"2022-08-26\":{\"GALI\":\"30\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"30\"},\"2022-08-27\":{\"GALI\":\"44\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"19\"},\"2022-08-28\":{\"GALI\":\"64\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"86\"},\"2022-08-29\":{\"GALI\":\"22\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"76\"},\"2022-08-30\":{\"GALI\":\"57\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"60\"},\"2022-08-31\":{\"DESAWAR\":\"53\",\"GAZIYAABAAD\":\"--\"},\"2022-09-01\":{\"GALI\":\"89\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"93\"},\"2022-09-02\":{\"GALI\":\"56\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"30\"},\"2022-09-03\":{\"GALI\":\"85\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"38\"},\"2022-09-04\":{\"GALI\":\"73\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"16\"},\"2022-09-05\":{\"GALI\":\"67\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"15\"},\"2022-09-06\":{\"GALI\":\"06\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"46\"},\"2022-09-07\":{\"GALI\":\"93\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"00\"},\"2022-09-08\":{\"GALI\":\"82\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"83\"},\"2022-09-09\":{\"GALI\":\"49\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"74\"},\"2022-09-10\":{\"GALI\":\"17\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"34\"},\"2022-09-11\":{\"GALI\":\"95\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"00\"},\"2022-09-12\":{\"GALI\":\"68\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"33\"},\"2022-09-13\":{\"GALI\":\"06\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"66\"},\"2022-09-14\":{\"GALI\":\"38\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"94\"},\"2022-09-15\":{\"GALI\":\"78\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"36\"},\"2022-09-16\":{\"GALI\":\"90\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"34\"},\"2022-09-17\":{\"GALI\":\"17\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"55\"},\"2022-09-18\":{\"GALI\":\"10\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"92\"},\"2022-09-19\":{\"GALI\":\"60\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"45\"},\"2022-09-20\":{\"GALI\":\"70\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"16\"},\"2022-09-21\":{\"GALI\":\"74\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"21\"},\"2022-09-22\":{\"GALI\":\"85\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"44\"},\"2022-09-23\":{\"GALI\":\"51\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"54\"},\"2022-09-24\":{\"GALI\":\"04\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"71\"},\"2022-09-25\":{\"GALI\":\"89\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"13\"},\"2022-09-26\":{\"GALI\":\"38\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"86\"},\"2022-09-27\":{\"GALI\":\"03\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"80\"},\"2022-09-28\":{\"GALI\":\"25\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"71\"},\"2022-09-29\":{\"GALI\":\"23\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"74\"},\"2022-09-30\":{\"DESAWAR\":\"79\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"56\"},\"2022-10-01\":{\"GALI\":\"63\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"71\"},\"2022-10-02\":{\"GALI\":\"85\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"98\"},\"2022-10-03\":{\"GALI\":\"04\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"07\"},\"2022-10-04\":{\"GALI\":\"12\",\"DESAWAR\":\"55\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"71\"},\"2022-10-05\":{\"GALI\":\"87\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"74\"},\"2022-10-06\":{\"GALI\":\"21\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"00\"},\"2022-10-07\":{\"GALI\":\"78\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"51\"},\"2022-10-08\":{\"GALI\":\"60\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"95\"},\"2022-10-09\":{\"GALI\":\"39\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"29\"},\"2022-10-10\":{\"GALI\":\"23\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"69\"},\"2022-10-11\":{\"GALI\":\"71\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"27\"},\"2022-10-12\":{\"GALI\":\"18\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"02\"},\"2022-10-13\":{\"GALI\":\"33\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"56\"},\"2022-10-14\":{\"GALI\":\"97\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"27\"},\"2022-10-15\":{\"GALI\":\"48\",\"DESAWAR\":\"12\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"79\"},\"2022-10-16\":{\"GALI\":\"69\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"63\"},\"2022-10-17\":{\"GALI\":\"62\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"84\"},\"2022-10-18\":{\"GALI\":\"77\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"51\"},\"2022-10-19\":{\"GALI\":\"15\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"73\"},\"2022-10-20\":{\"GALI\":\"96\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"36\"},\"2022-10-21\":{\"GALI\":\"38\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"59\"},\"2022-10-22\":{\"GALI\":\"67\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"03\"},\"2022-10-23\":{\"GALI\":\"85\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"63\"},\"2022-10-24\":{\"GALI\":\"30\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"32\"},\"2022-10-25\":{\"GALI\":\"95\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"00\"},\"2022-10-26\":{\"GALI\":\"43\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"11\"},\"2022-10-27\":{\"GALI\":\"39\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"67\",\"GAZIYAABAAD\":\"32\"},\"2022-10-28\":{\"GALI\":\"42\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"45\"},\"2022-10-29\":{\"GALI\":\"76\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"56\"},\"2022-10-30\":{\"GALI\":\"72\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"91\"},\"2022-10-31\":{\"DESAWAR\":\"27\",\"GAZIYAABAAD\":\"--\"},\"2022-11-01\":{\"GALI\":\"13\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"70\"},\"2022-11-02\":{\"GALI\":\"04\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"83\"},\"2022-11-03\":{\"GALI\":\"27\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"07\"},\"2022-11-04\":{\"GALI\":\"80\",\"DESAWAR\":\"02\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"86\"},\"2022-11-05\":{\"GALI\":\"84\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"11\"},\"2022-11-06\":{\"GALI\":\"06\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"51\"},\"2022-11-07\":{\"GALI\":\"07\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"96\"},\"2022-11-08\":{\"GALI\":\"22\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"57\"},\"2022-11-09\":{\"GALI\":\"33\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"26\"},\"2022-11-10\":{\"GALI\":\"13\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"17\"},\"2022-11-11\":{\"GALI\":\"59\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"88\"},\"2022-11-12\":{\"GALI\":\"79\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"85\"},\"2022-11-13\":{\"GALI\":\"53\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"21\"},\"2022-11-14\":{\"GALI\":\"40\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"35\"},\"2022-11-15\":{\"GALI\":\"83\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"94\"},\"2022-11-16\":{\"GALI\":\"01\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"18\"},\"2022-11-17\":{\"GALI\":\"19\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"08\"},\"2022-11-18\":{\"GALI\":\"56\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"77\"},\"2022-11-19\":{\"GALI\":\"18\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"53\"},\"2022-11-20\":{\"GALI\":\"30\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"99\"},\"2022-11-21\":{\"GALI\":\"64\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"09\"},\"2022-11-22\":{\"GALI\":\"80\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"01\"},\"2022-11-23\":{\"GALI\":\"37\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"07\"},\"2022-11-24\":{\"GALI\":\"92\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"31\"},\"2022-11-25\":{\"GALI\":\"88\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"35\"},\"2022-11-26\":{\"GALI\":\"18\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"06\"},\"2022-11-27\":{\"GALI\":\"05\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"15\"},\"2022-11-28\":{\"GALI\":\"49\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"05\"},\"2022-11-29\":{\"GALI\":\"19\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"89\"},\"2022-11-30\":{\"DESAWAR\":\"33\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"--\"},\"2022-12-01\":{\"GALI\":\"32\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"58\"},\"2022-12-02\":{\"GALI\":\"79\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"29\"},\"2022-12-03\":{\"GALI\":\"94\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"41\"},\"2022-12-04\":{\"GALI\":\"74\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"41\"},\"2022-12-05\":{\"GALI\":\"31\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"11\"},\"2022-12-06\":{\"GALI\":\"84\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"72\"},\"2022-12-07\":{\"GALI\":\"19\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"45\"},\"2022-12-08\":{\"GALI\":\"68\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"94\"},\"2022-12-09\":{\"GALI\":\"24\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"17\"},\"2022-12-10\":{\"GALI\":\"57\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"96\"},\"2022-12-11\":{\"GALI\":\"05\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"23\"},\"2022-12-12\":{\"GALI\":\"33\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"66\"},\"2022-12-13\":{\"GALI\":\"93\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"82\"},\"2022-12-14\":{\"GALI\":\"22\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"35\"},\"2022-12-15\":{\"GALI\":\"80\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"94\"},\"2022-12-16\":{\"GALI\":\"71\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"25\"},\"2022-12-17\":{\"GALI\":\"81\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"08\"},\"2022-12-18\":{\"GALI\":\"05\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"81\"},\"2022-12-19\":{\"GALI\":\"17\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"73\"},\"2022-12-20\":{\"GALI\":\"31\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"93\"},\"2022-12-21\":{\"GALI\":\"57\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"09\"},\"2022-12-22\":{\"GALI\":\"45\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"01\"},\"2022-12-23\":{\"GALI\":\"65\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"07\"},\"2022-12-24\":{\"GALI\":\"31\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"79\"},\"2022-12-25\":{\"GALI\":\"23\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"35\"},\"2022-12-26\":{\"GALI\":\"97\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"06\"},\"2022-12-27\":{\"GALI\":\"51\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"65\"},\"2022-12-28\":{\"GALI\":\"40\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"45\"},\"2022-12-29\":{\"GALI\":\"84\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"74\"},\"2022-12-30\":{\"GALI\":\"97\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"60\"},\"2022-12-31\":{\"GALI\":\"--\",\"DESAWAR\":\"52\",\"GAZIYAABAAD\":\"--\"},\"2023-01-01\":{\"GALI\":\"39\",\"DESAWAR\":\"--\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"26\"},\"2023-01-02\":{\"GALI\":\"97\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"77\"},\"2023-01-03\":{\"GALI\":\"15\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"51\"},\"2023-01-04\":{\"GALI\":\"00\",\"DESAWAR\":\"77\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"06\"},\"2023-01-05\":{\"GALI\":\"81\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"83\"},\"2023-01-06\":{\"GALI\":\"41\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"63\"},\"2023-01-07\":{\"GALI\":\"31\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"15\"},\"2023-01-08\":{\"GALI\":\"96\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"46\"},\"2023-01-09\":{\"GALI\":\"43\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"63\"},\"2023-01-10\":{\"GALI\":\"79\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"11\"},\"2023-01-11\":{\"GALI\":\"29\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"23\"},\"2023-01-12\":{\"GALI\":\"23\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"55\"},\"2023-01-13\":{\"GALI\":\"04\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"65\"},\"2023-01-14\":{\"GALI\":\"89\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"08\"},\"2023-01-15\":{\"GALI\":\"32\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"02\"},\"2023-01-16\":{\"GALI\":\"27\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"83\"},\"2023-01-17\":{\"GALI\":\"38\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"47\"},\"2023-01-18\":{\"GALI\":\"60\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"13\"},\"2023-01-19\":{\"GALI\":\"07\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"47\"},\"2023-01-20\":{\"GALI\":\"11\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"41\"},\"2023-01-21\":{\"GALI\":\"63\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"62\"},\"2023-01-22\":{\"GALI\":\"41\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"02\"},\"2023-01-23\":{\"GALI\":\"09\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"17\"},\"2023-01-24\":{\"GALI\":\"11\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"39\"},\"2023-01-25\":{\"GALI\":\"09\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"43\"},\"2023-01-26\":{\"GALI\":\"27\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"22\"},\"2023-01-27\":{\"GALI\":\"06\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"52\"},\"2023-01-28\":{\"GALI\":\"52\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"41\"},\"2023-01-29\":{\"GALI\":\"90\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"54\"},\"2023-01-30\":{\"GALI\":\"52\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"11\"},\"2023-01-31\":{\"GALI\":\"--\",\"DESAWAR\":\"50\",\"GAZIYAABAAD\":\"--\"},\"2023-02-01\":{\"GALI\":\"46\",\"DESAWAR\":\"--\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"75\"},\"2023-02-02\":{\"GALI\":\"80\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"09\"},\"2023-02-03\":{\"GALI\":\"76\",\"DESAWAR\":\"04\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"53\"},\"2023-02-04\":{\"GALI\":\"62\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"67\",\"GAZIYAABAAD\":\"62\"},\"2023-02-05\":{\"GALI\":\"07\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"96\"},\"2023-02-06\":{\"GALI\":\"32\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"79\"},\"2023-02-07\":{\"GALI\":\"65\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"20\"},\"2023-02-08\":{\"GALI\":\"28\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"97\"},\"2023-02-09\":{\"GALI\":\"53\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"78\"},\"2023-02-10\":{\"GALI\":\"17\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"82\"},\"2023-02-11\":{\"GALI\":\"05\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"54\"},\"2023-02-12\":{\"GALI\":\"08\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"13\"},\"2023-02-13\":{\"GALI\":\"41\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"90\"},\"2023-02-14\":{\"GALI\":\"13\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"28\"},\"2023-02-15\":{\"GALI\":\"04\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"16\"},\"2023-02-16\":{\"GALI\":\"73\",\"DESAWAR\":\"10\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"53\"},\"2023-02-17\":{\"GALI\":\"85\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"31\"},\"2023-02-18\":{\"GALI\":\"71\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"73\"},\"2023-02-19\":{\"GALI\":\"39\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"91\"},\"2023-02-20\":{\"GALI\":\"49\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"65\"},\"2023-02-21\":{\"GALI\":\"34\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"68\"},\"2023-02-22\":{\"GALI\":\"35\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"01\"},\"2023-02-23\":{\"GALI\":\"24\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"14\"},\"2023-02-24\":{\"GALI\":\"08\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"51\"},\"2023-02-25\":{\"GALI\":\"65\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"50\"},\"2023-02-26\":{\"GALI\":\"39\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"38\"},\"2023-02-27\":{\"GALI\":\"74\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"10\"},\"2023-02-28\":{\"GALI\":\"--\",\"DESAWAR\":\"70\"},\"2023-03-01\":{\"GALI\":\"76\",\"DESAWAR\":\"--\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"59\"},\"2023-03-02\":{\"GALI\":\"22\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"77\"},\"2023-03-03\":{\"GALI\":\"79\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"36\"},\"2023-03-04\":{\"GALI\":\"74\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"88\"},\"2023-03-05\":{\"GALI\":\"28\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"74\"},\"2023-03-06\":{\"GALI\":\"25\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"40\"},\"2023-03-07\":{\"GALI\":\"86\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"25\"},\"2023-03-08\":{\"GALI\":\"97\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"38\"},\"2023-03-09\":{\"GALI\":\"63\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"23\"},\"2023-03-10\":{\"GALI\":\"60\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"58\"},\"2023-03-11\":{\"GALI\":\"38\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"88\"},\"2023-03-12\":{\"GALI\":\"32\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"87\"},\"2023-03-13\":{\"GALI\":\"99\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"07\"},\"2023-03-14\":{\"GALI\":\"43\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"85\"},\"2023-03-15\":{\"GALI\":\"37\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"68\"},\"2023-03-16\":{\"GALI\":\"59\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"85\"},\"2023-03-17\":{\"GALI\":\"67\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"61\"},\"2023-03-18\":{\"GALI\":\"71\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"08\"},\"2023-03-19\":{\"GALI\":\"82\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"58\"},\"2023-03-20\":{\"GALI\":\"68\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"07\"},\"2023-03-21\":{\"GALI\":\"53\",\"DESAWAR\":\"11\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"03\"},\"2023-03-22\":{\"GALI\":\"62\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"87\"},\"2023-03-23\":{\"GALI\":\"99\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"40\"},\"2023-03-24\":{\"GALI\":\"16\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"20\"},\"2023-03-25\":{\"GALI\":\"20\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"07\"},\"2023-03-26\":{\"GALI\":\"77\",\"DESAWAR\":\"04\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"94\"},\"2023-03-27\":{\"GALI\":\"90\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"99\"},\"2023-03-28\":{\"GALI\":\"48\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"79\"},\"2023-03-29\":{\"GALI\":\"19\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"96\"},\"2023-03-30\":{\"GALI\":\"75\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"01\"},\"2023-03-31\":{\"GALI\":\"--\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"--\",\"GAZIYAABAAD\":\"--\"},\"2023-04-01\":{\"GALI\":\"18\",\"DESAWAR\":\"--\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"82\"},\"2023-04-02\":{\"GALI\":\"30\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"13\"},\"2023-04-03\":{\"GALI\":\"66\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"72\"},\"2023-04-04\":{\"GALI\":\"50\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"03\"},\"2023-04-05\":{\"GALI\":\"11\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"55\"},\"2023-04-06\":{\"GALI\":\"48\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"73\"},\"2023-04-07\":{\"GALI\":\"57\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"96\"},\"2023-04-08\":{\"GALI\":\"81\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"72\"},\"2023-04-09\":{\"GALI\":\"95\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"62\"},\"2023-04-10\":{\"GALI\":\"97\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"63\"},\"2023-04-11\":{\"GALI\":\"35\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"67\"},\"2023-04-12\":{\"GALI\":\"30\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"72\"},\"2023-04-13\":{\"GALI\":\"19\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"36\"},\"2023-04-14\":{\"GALI\":\"55\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"60\"},\"2023-04-15\":{\"GALI\":\"13\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"97\"},\"2023-04-16\":{\"GALI\":\"25\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"59\"},\"2023-04-17\":{\"GALI\":\"58\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"57\"},\"2023-04-18\":{\"GALI\":\"22\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"79\"},\"2023-04-19\":{\"GALI\":\"57\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"50\"},\"2023-04-20\":{\"GALI\":\"25\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"01\"},\"2023-04-21\":{\"GALI\":\"61\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"76\"},\"2023-04-22\":{\"GALI\":\"74\",\"DESAWAR\":\"55\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"99\"},\"2023-04-23\":{\"GALI\":\"90\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"14\"},\"2023-04-24\":{\"GALI\":\"37\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"16\"},\"2023-04-25\":{\"GALI\":\"88\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"52\"},\"2023-04-26\":{\"GALI\":\"37\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"01\"},\"2023-04-27\":{\"GALI\":\"74\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"12\"},\"2023-04-28\":{\"GALI\":\"06\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"96\"},\"2023-04-29\":{\"GALI\":\"32\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"40\"},\"2023-04-30\":{\"GALI\":\"--\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"--\"},\"2023-05-01\":{\"GALI\":\"85\",\"DESAWAR\":\"--\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"55\"},\"2023-05-02\":{\"GALI\":\"94\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"58\"},\"2023-05-03\":{\"GALI\":\"49\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"19\"},\"2023-05-04\":{\"GALI\":\"71\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"19\"},\"2023-05-05\":{\"GALI\":\"62\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"49\"},\"2023-05-06\":{\"GALI\":\"44\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"15\",\"GAZIYAABAAD\":\"49\"},\"2023-05-07\":{\"GALI\":\"87\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"59\"},\"2023-05-08\":{\"GALI\":\"44\",\"DESAWAR\":\"04\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"50\"},\"2023-05-09\":{\"GALI\":\"21\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"10\"},\"2023-05-10\":{\"GALI\":\"15\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"03\"},\"2023-05-11\":{\"GALI\":\"88\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"48\"},\"2023-05-12\":{\"GALI\":\"01\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"26\"},\"2023-05-13\":{\"GALI\":\"48\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"09\"},\"2023-05-14\":{\"GALI\":\"40\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"49\"},\"2023-05-15\":{\"GALI\":\"52\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"35\"},\"2023-05-16\":{\"GALI\":\"71\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"21\"},\"2023-05-17\":{\"GALI\":\"34\",\"DESAWAR\":\"04\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"35\"},\"2023-05-18\":{\"GALI\":\"08\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"35\"},\"2023-05-19\":{\"GALI\":\"54\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"45\"},\"2023-05-20\":{\"GALI\":\"43\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"29\"},\"2023-05-21\":{\"GALI\":\"81\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"57\"},\"2023-05-22\":{\"GALI\":\"74\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"34\"},\"2023-05-23\":{\"GALI\":\"45\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"49\"},\"2023-05-24\":{\"GALI\":\"12\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"85\"},\"2023-05-25\":{\"GALI\":\"83\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"21\"},\"2023-05-26\":{\"GALI\":\"63\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"14\"},\"2023-05-27\":{\"GALI\":\"80\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"06\"},\"2023-05-28\":{\"GALI\":\"12\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"00\"},\"2023-05-29\":{\"GALI\":\"08\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"36\"},\"2023-05-30\":{\"GALI\":\"66\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"44\"},\"2023-05-31\":{\"GALI\":\"--\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"--\",\"GAZIYAABAAD\":\"--\"},\"2023-06-01\":{\"GALI\":\"40\",\"DESAWAR\":\"--\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"60\"},\"2023-06-02\":{\"GALI\":\"59\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"34\"},\"2023-06-03\":{\"GALI\":\"80\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"48\"},\"2023-06-04\":{\"GALI\":\"29\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"90\"},\"2023-06-05\":{\"GALI\":\"00\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"15\"},\"2023-06-06\":{\"GALI\":\"97\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"93\"},\"2023-06-07\":{\"GALI\":\"81\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"61\"},\"2023-06-08\":{\"GALI\":\"33\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"22\"},\"2023-06-09\":{\"GALI\":\"84\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"48\"},\"2023-06-10\":{\"GALI\":\"98\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"31\"},\"2023-06-11\":{\"GALI\":\"64\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"93\"},\"2023-06-12\":{\"GALI\":\"62\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"84\"},\"2023-06-13\":{\"GALI\":\"12\",\"DESAWAR\":\"11\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"56\"},\"2023-06-14\":{\"GALI\":\"89\",\"DESAWAR\":\"55\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"38\"},\"2023-06-15\":{\"GALI\":\"85\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"66\"},\"2023-06-16\":{\"GALI\":\"56\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"84\"},\"2023-06-17\":{\"GALI\":\"10\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"14\"},\"2023-06-18\":{\"GALI\":\"26\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"72\"},\"2023-06-19\":{\"GALI\":\"73\",\"DESAWAR\":\"50\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"81\"},\"2023-06-20\":{\"GALI\":\"37\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"79\"},\"2023-06-21\":{\"GALI\":\"57\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"63\"},\"2023-06-22\":{\"GALI\":\"51\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"67\",\"GAZIYAABAAD\":\"90\"},\"2023-06-23\":{\"GALI\":\"71\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"64\"},\"2023-06-24\":{\"GALI\":\"54\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"63\"},\"2023-06-25\":{\"GALI\":\"10\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"51\"},\"2023-06-26\":{\"GALI\":\"81\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"58\"},\"2023-06-27\":{\"GALI\":\"21\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"40\"},\"2023-06-28\":{\"GALI\":\"70\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"54\"},\"2023-06-29\":{\"GALI\":\"88\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"95\"},\"2023-06-30\":{\"GALI\":\"--\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"95\"},\"2023-07-01\":{\"GALI\":\"48\",\"DESAWAR\":\"--\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"25\"},\"2023-07-02\":{\"GALI\":\"54\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"12\"},\"2023-07-03\":{\"GALI\":\"97\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"97\"},\"2023-07-04\":{\"GALI\":\"67\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"90\"},\"2023-07-05\":{\"GALI\":\"59\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"25\"},\"2023-07-06\":{\"GALI\":\"62\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"82\"},\"2023-07-07\":{\"GALI\":\"80\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"01\"},\"2023-07-08\":{\"GALI\":\"46\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"15\",\"GAZIYAABAAD\":\"28\"},\"2023-07-09\":{\"GALI\":\"04\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"73\"},\"2023-07-10\":{\"GALI\":\"34\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"24\"},\"2023-07-11\":{\"GALI\":\"37\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"82\"},\"2023-07-12\":{\"GALI\":\"21\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"57\"},\"2023-07-13\":{\"GALI\":\"28\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"65\"},\"2023-07-14\":{\"GALI\":\"43\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"10\"},\"2023-07-15\":{\"GALI\":\"94\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"27\"},\"2023-07-16\":{\"GALI\":\"41\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"60\"},\"2023-07-17\":{\"GALI\":\"03\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"06\"},\"2023-07-18\":{\"GALI\":\"14\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"30\"},\"2023-07-19\":{\"GALI\":\"65\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"01\"},\"2023-07-20\":{\"GALI\":\"04\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"17\"},\"2023-07-21\":{\"GALI\":\"34\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"60\"},\"2023-07-22\":{\"GALI\":\"33\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"83\"},\"2023-07-23\":{\"GALI\":\"50\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"18\"},\"2023-07-24\":{\"GALI\":\"28\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"76\"},\"2023-07-25\":{\"GALI\":\"41\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"73\"},\"2023-07-26\":{\"GALI\":\"44\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"75\"},\"2023-07-27\":{\"GALI\":\"63\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"63\"},\"2023-07-28\":{\"GALI\":\"13\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"71\"},\"2023-07-29\":{\"GALI\":\"97\",\"DESAWAR\":\"55\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"47\"},\"2023-07-30\":{\"GALI\":\"74\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"72\"},\"2023-07-31\":{\"GALI\":\"--\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"--\",\"GAZIYAABAAD\":\"--\"},\"2023-08-01\":{\"GALI\":\"00\",\"DESAWAR\":\"--\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"87\"},\"2023-08-02\":{\"GALI\":\"40\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"40\"},\"2023-08-03\":{\"GALI\":\"89\",\"DESAWAR\":\"10\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"52\"},\"2023-08-04\":{\"GALI\":\"16\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"13\"},\"2023-08-05\":{\"GALI\":\"01\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"09\"},\"2023-08-06\":{\"GALI\":\"75\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"55\"},\"2023-08-07\":{\"GALI\":\"44\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"89\"},\"2023-08-08\":{\"GALI\":\"03\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"22\"},\"2023-08-09\":{\"GALI\":\"03\",\"DESAWAR\":\"02\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"21\"},\"2023-08-10\":{\"GALI\":\"58\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"00\"},\"2023-08-11\":{\"GALI\":\"96\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"64\"},\"2023-08-12\":{\"GALI\":\"40\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"52\"},\"2023-08-13\":{\"GALI\":\"79\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"42\"},\"2023-08-14\":{\"GALI\":\"64\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"84\"},\"2023-08-15\":{\"GALI\":\"63\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"79\"},\"2023-08-16\":{\"GALI\":\"49\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"87\"},\"2023-08-17\":{\"GALI\":\"83\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"12\"},\"2023-08-18\":{\"GALI\":\"47\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"67\",\"GAZIYAABAAD\":\"55\"},\"2023-08-19\":{\"GALI\":\"78\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"33\"},\"2023-08-20\":{\"GALI\":\"35\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"82\"},\"2023-08-21\":{\"GALI\":\"61\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"69\"},\"2023-08-22\":{\"GALI\":\"00\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"77\"},\"2023-08-23\":{\"GALI\":\"57\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"20\"},\"2023-08-24\":{\"GALI\":\"47\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"18\"},\"2023-08-25\":{\"GALI\":\"55\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"03\"},\"2023-08-26\":{\"GALI\":\"71\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"43\"},\"2023-08-27\":{\"GALI\":\"71\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"27\"},\"2023-08-28\":{\"GALI\":\"31\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"89\"},\"2023-08-29\":{\"GALI\":\"41\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"13\"},\"2023-08-30\":{\"GALI\":\"78\",\"DESAWAR\":\"67\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"28\"},\"2023-08-31\":{\"GALI\":\"--\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"--\",\"GAZIYAABAAD\":\"--\"},\"2023-09-01\":{\"GALI\":\"48\",\"DESAWAR\":\"--\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"96\"},\"2023-09-02\":{\"GALI\":\"22\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"62\"},\"2023-09-03\":{\"GALI\":\"16\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"61\"},\"2023-09-04\":{\"GALI\":\"94\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"44\"},\"2023-09-05\":{\"GALI\":\"70\",\"DESAWAR\":\"02\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"74\"},\"2023-09-06\":{\"GALI\":\"33\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"80\"},\"2023-09-07\":{\"GALI\":\"62\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"73\"},\"2023-09-08\":{\"GALI\":\"13\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"54\"},\"2023-09-09\":{\"GALI\":\"51\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"58\"},\"2023-09-10\":{\"GALI\":\"29\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"89\"},\"2023-09-11\":{\"GALI\":\"48\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"69\"},\"2023-09-12\":{\"GALI\":\"29\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"80\"},\"2023-09-13\":{\"GALI\":\"06\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"39\"},\"2023-09-14\":{\"GALI\":\"88\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"89\"},\"2023-09-15\":{\"GALI\":\"26\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"27\"},\"2023-09-16\":{\"GALI\":\"25\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"07\"},\"2023-09-17\":{\"GALI\":\"52\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"89\"},\"2023-09-18\":{\"GALI\":\"21\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"52\"},\"2023-09-19\":{\"GALI\":\"38\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"54\"},\"2023-09-20\":{\"GALI\":\"90\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"59\"},\"2023-09-21\":{\"GALI\":\"82\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"18\"},\"2023-09-22\":{\"GALI\":\"89\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"74\"},\"2023-09-23\":{\"GALI\":\"60\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"65\"},\"2023-09-24\":{\"GALI\":\"65\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"08\"},\"2023-09-25\":{\"GALI\":\"16\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"28\"},\"2023-09-26\":{\"GALI\":\"68\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"39\"},\"2023-09-27\":{\"GALI\":\"96\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"02\"},\"2023-09-28\":{\"GALI\":\"70\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"40\"},\"2023-09-29\":{\"GALI\":\"04\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"11\"},\"2023-09-30\":{\"GALI\":\"--\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"63\"},\"2023-10-01\":{\"GALI\":\"59\",\"DESAWAR\":\"--\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"51\"},\"2023-10-02\":{\"GALI\":\"38\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"64\"},\"2023-10-03\":{\"GALI\":\"59\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"02\"},\"2023-10-04\":{\"GALI\":\"53\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"25\"},\"2023-10-05\":{\"GALI\":\"89\",\"DESAWAR\":\"10\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"03\"},\"2023-10-06\":{\"GALI\":\"57\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"93\"},\"2023-10-07\":{\"GALI\":\"11\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"24\"},\"2023-10-08\":{\"GALI\":\"15\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"91\"},\"2023-10-09\":{\"GALI\":\"96\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"33\"},\"2023-10-10\":{\"GALI\":\"44\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"05\"},\"2023-10-11\":{\"GALI\":\"25\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"01\"},\"2023-10-12\":{\"GALI\":\"64\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"56\"},\"2023-10-13\":{\"GALI\":\"15\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"10\"},\"2023-10-14\":{\"GALI\":\"07\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"14\"},\"2023-10-15\":{\"GALI\":\"83\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"43\"},\"2023-10-16\":{\"GALI\":\"12\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"22\"},\"2023-10-17\":{\"GALI\":\"48\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"12\"},\"2023-10-18\":{\"GALI\":\"31\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"63\"},\"2023-10-19\":{\"GALI\":\"47\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"06\"},\"2023-10-20\":{\"GALI\":\"39\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"40\"},\"2023-10-21\":{\"GALI\":\"26\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"50\"},\"2023-10-22\":{\"GALI\":\"06\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"95\"},\"2023-10-23\":{\"GALI\":\"21\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"66\"},\"2023-10-24\":{\"GALI\":\"98\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"80\"},\"2023-10-25\":{\"GALI\":\"91\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"21\"},\"2023-10-26\":{\"GALI\":\"04\",\"DESAWAR\":\"12\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"24\"},\"2023-10-27\":{\"GALI\":\"46\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"86\"},\"2023-10-28\":{\"GALI\":\"46\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"94\"},\"2023-10-29\":{\"GALI\":\"83\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"11\"},\"2023-10-30\":{\"GALI\":\"19\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"80\"},\"2023-10-31\":{\"GALI\":\"--\",\"DESAWAR\":\"78\"},\"2023-11-01\":{\"GALI\":\"44\",\"DESAWAR\":\"--\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"16\"},\"2023-11-02\":{\"GALI\":\"97\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"60\"},\"2023-11-03\":{\"GALI\":\"37\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"93\"},\"2023-11-04\":{\"GALI\":\"59\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"24\"},\"2023-11-05\":{\"GALI\":\"33\",\"DESAWAR\":\"10\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"05\"},\"2023-11-06\":{\"GALI\":\"75\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"70\"},\"2023-11-07\":{\"GALI\":\"02\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"34\"},\"2023-11-08\":{\"GALI\":\"76\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"95\"},\"2023-11-09\":{\"GALI\":\"07\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"84\"},\"2023-11-10\":{\"GALI\":\"68\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"68\"},\"2023-11-11\":{\"GALI\":\"58\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"99\"},\"2023-11-12\":{\"GALI\":\"32\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"72\"},\"2023-11-13\":{\"GALI\":\"83\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"13\"},\"2023-11-14\":{\"GALI\":\"95\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"29\"},\"2023-11-15\":{\"GALI\":\"87\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"65\"},\"2023-11-16\":{\"GALI\":\"51\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"97\"},\"2023-11-17\":{\"GALI\":\"25\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"97\"},\"2023-11-18\":{\"GALI\":\"95\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"17\"},\"2023-11-19\":{\"GALI\":\"37\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"56\"},\"2023-11-20\":{\"GALI\":\"81\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"01\"},\"2023-11-21\":{\"GALI\":\"16\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"19\"},\"2023-11-22\":{\"GALI\":\"88\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"60\"},\"2023-11-23\":{\"GALI\":\"71\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"52\"},\"2023-11-24\":{\"GALI\":\"64\",\"DESAWAR\":\"50\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"05\"},\"2023-11-25\":{\"GALI\":\"17\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"24\"},\"2023-11-26\":{\"GALI\":\"42\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"02\"},\"2023-11-27\":{\"GALI\":\"58\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"92\"},\"2023-11-28\":{\"GALI\":\"37\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"06\"},\"2023-11-29\":{\"GALI\":\"51\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"80\"},\"2023-11-30\":{\"GALI\":\"--\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"35\"},\"2023-12-01\":{\"GALI\":\"78\",\"DESAWAR\":\"--\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"39\"},\"2023-12-02\":{\"GALI\":\"59\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"73\"},\"2023-12-03\":{\"GALI\":\"64\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"13\"},\"2023-12-04\":{\"GALI\":\"33\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"44\"},\"2023-12-05\":{\"GALI\":\"28\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"22\"},\"2023-12-06\":{\"GALI\":\"36\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"98\"},\"2023-12-07\":{\"GALI\":\"97\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"16\"},\"2023-12-08\":{\"GALI\":\"27\",\"DESAWAR\":\"11\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"16\"},\"2023-12-09\":{\"GALI\":\"88\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"37\"},\"2023-12-10\":{\"GALI\":\"44\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"68\"},\"2023-12-11\":{\"GALI\":\"64\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"06\"},\"2023-12-12\":{\"GALI\":\"11\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"87\"},\"2023-12-13\":{\"GALI\":\"75\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"26\"},\"2023-12-14\":{\"GALI\":\"01\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"24\"},\"2023-12-15\":{\"GALI\":\"03\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"61\"},\"2023-12-16\":{\"GALI\":\"56\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"11\"},\"2023-12-17\":{\"GALI\":\"07\",\"DESAWAR\":\"91\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"42\"},\"2023-12-18\":{\"GALI\":\"55\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"15\"},\"2023-12-19\":{\"GALI\":\"35\",\"DESAWAR\":\"04\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"02\"},\"2023-12-20\":{\"GALI\":\"57\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"88\"},\"2023-12-21\":{\"GALI\":\"52\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"19\"},\"2023-12-22\":{\"GALI\":\"88\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"60\"},\"2023-12-23\":{\"GALI\":\"27\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"32\"},\"2023-12-24\":{\"GALI\":\"74\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"66\"},\"2023-12-25\":{\"GALI\":\"30\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"47\"},\"2023-12-26\":{\"GALI\":\"37\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"07\"},\"2023-12-27\":{\"GALI\":\"08\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"85\"},\"2023-12-28\":{\"GALI\":\"14\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"41\"},\"2023-12-29\":{\"GALI\":\"98\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"35\"},\"2023-12-30\":{\"GALI\":\"62\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"88\"},\"2023-12-31\":{\"GALI\":\"--\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"--\",\"GAZIYAABAAD\":\"--\"},\"2024-01-01\":{\"GALI\":\"27\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"68\"},\"2024-01-02\":{\"GALI\":\"10\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"10\"},\"2024-01-03\":{\"GALI\":\"10\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"06\"},\"2024-01-04\":{\"GALI\":\"03\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"62\"},\"2024-01-05\":{\"GALI\":\"36\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"15\"},\"2024-01-06\":{\"GALI\":\"78\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"94\"},\"2024-01-07\":{\"GALI\":\"80\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"02\"},\"2024-01-08\":{\"GALI\":\"06\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"84\"},\"2024-01-09\":{\"GALI\":\"81\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"65\"},\"2024-01-10\":{\"GALI\":\"65\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"90\"},\"2024-01-11\":{\"GALI\":\"14\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"34\"},\"2024-01-12\":{\"GALI\":\"36\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"16\"},\"2024-01-13\":{\"GALI\":\"37\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"43\"},\"2024-01-14\":{\"GALI\":\"56\",\"DESAWAR\":\"10\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"98\"},\"2024-01-15\":{\"GALI\":\"94\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"37\"},\"2024-01-16\":{\"GALI\":\"51\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"60\"},\"2024-01-17\":{\"GALI\":\"68\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"87\"},\"2024-01-18\":{\"GALI\":\"64\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"19\"},\"2024-01-19\":{\"GALI\":\"87\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"41\"},\"2024-01-20\":{\"GALI\":\"94\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"99\"},\"2024-01-21\":{\"GALI\":\"64\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"47\"},\"2024-01-22\":{\"GALI\":\"49\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"35\"},\"2024-01-23\":{\"GALI\":\"68\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"09\"},\"2024-01-24\":{\"GALI\":\"34\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"92\"},\"2024-01-25\":{\"GALI\":\"10\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"22\"},\"2024-01-26\":{\"GALI\":\"91\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"46\"},\"2024-01-27\":{\"GALI\":\"79\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"99\"},\"2024-01-28\":{\"GALI\":\"02\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"31\"},\"2024-01-29\":{\"GALI\":\"64\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"51\"},\"2024-01-30\":{\"GALI\":\"08\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"84\"},\"2024-01-31\":{\"GALI\":\"--\",\"DESAWAR\":\"04\"},\"2024-02-01\":{\"GALI\":\"84\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"22\"},\"2024-02-02\":{\"GALI\":\"97\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"61\"},\"2024-02-03\":{\"GALI\":\"93\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"98\"},\"2024-02-04\":{\"GALI\":\"62\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"25\"},\"2024-02-05\":{\"GALI\":\"24\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"83\"},\"2024-02-06\":{\"GALI\":\"40\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"38\"},\"2024-02-07\":{\"GALI\":\"98\",\"DESAWAR\":\"26\",\"GAZIYAABAAD\":\"99\"},\"2024-02-08\":{\"GALI\":\"40\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"84\"},\"2024-02-09\":{\"GALI\":\"39\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"59\"},\"2024-02-10\":{\"GALI\":\"68\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"86\"},\"2024-02-11\":{\"GALI\":\"02\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"42\"},\"2024-02-12\":{\"GALI\":\"55\",\"DESAWAR\":\"11\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"38\"},\"2024-02-13\":{\"GALI\":\"36\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"74\"},\"2024-02-14\":{\"GALI\":\"50\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"87\"},\"2024-02-15\":{\"GALI\":\"97\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"25\"},\"2024-02-16\":{\"GALI\":\"94\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"14\"},\"2024-02-17\":{\"GALI\":\"36\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"68\"},\"2024-02-18\":{\"GALI\":\"04\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"92\"},\"2024-02-19\":{\"GALI\":\"97\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"69\"},\"2024-02-20\":{\"GALI\":\"57\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"56\"},\"2024-02-21\":{\"GALI\":\"70\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"12\"},\"2024-02-22\":{\"GALI\":\"07\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"07\"},\"2024-02-23\":{\"GALI\":\"97\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"76\"},\"2024-02-24\":{\"GALI\":\"91\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"95\"},\"2024-02-25\":{\"GALI\":\"67\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"90\"},\"2024-02-26\":{\"GALI\":\"53\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"08\"},\"2024-02-27\":{\"GALI\":\"78\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"46\"},\"2024-02-28\":{\"GALI\":\"25\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"58\"},\"2024-02-29\":{\"GALI\":\"--\",\"DESAWAR\":\"06\",\"GAZIYAABAAD\":\"--\"},\"2024-03-01\":{\"GALI\":\"71\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"30\"},\"2024-03-02\":{\"GALI\":\"52\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"63\"},\"2024-03-03\":{\"GALI\":\"55\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"17\"},\"2024-03-04\":{\"GALI\":\"14\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"93\"},\"2024-03-05\":{\"GALI\":\"35\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"77\"},\"2024-03-06\":{\"GALI\":\"99\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"91\"},\"2024-03-07\":{\"GALI\":\"78\",\"DESAWAR\":\"02\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"59\"},\"2024-03-08\":{\"GALI\":\"58\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"52\"},\"2024-03-09\":{\"GALI\":\"13\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"83\"},\"2024-03-10\":{\"GALI\":\"52\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"94\"},\"2024-03-11\":{\"GALI\":\"19\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"91\"},\"2024-03-12\":{\"GALI\":\"94\",\"DESAWAR\":\"04\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"50\"},\"2024-03-13\":{\"GALI\":\"18\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"17\"},\"2024-03-14\":{\"GALI\":\"77\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"67\",\"GAZIYAABAAD\":\"25\"},\"2024-03-15\":{\"GALI\":\"73\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"47\"},\"2024-03-16\":{\"GALI\":\"41\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"31\"},\"2024-03-17\":{\"GALI\":\"67\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"58\"},\"2024-03-18\":{\"GALI\":\"71\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"01\"},\"2024-03-19\":{\"GALI\":\"82\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"55\"},\"2024-03-20\":{\"GALI\":\"68\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"34\"},\"2024-03-21\":{\"GALI\":\"90\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"75\"},\"2024-03-22\":{\"GALI\":\"14\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"30\"},\"2024-03-23\":{\"GALI\":\"99\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"47\"},\"2024-03-24\":{\"GALI\":\"42\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"21\"},\"2024-03-25\":{\"GALI\":\"66\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"39\"},\"2024-03-26\":{\"GALI\":\"98\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"27\"},\"2024-03-27\":{\"GALI\":\"14\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"48\"},\"2024-03-28\":{\"GALI\":\"57\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"58\"},\"2024-03-29\":{\"GALI\":\"98\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"34\"},\"2024-03-30\":{\"GALI\":\"88\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"61\"},\"2024-03-31\":{\"GALI\":\"--\",\"DESAWAR\":\"73\"},\"2024-04-01\":{\"GALI\":\"25\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"92\"},\"2024-04-02\":{\"GALI\":\"05\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"75\"},\"2024-04-03\":{\"GALI\":\"70\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"59\"},\"2024-04-04\":{\"GALI\":\"62\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"41\"},\"2024-04-05\":{\"GALI\":\"93\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"00\"},\"2024-04-06\":{\"GALI\":\"29\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"87\"},\"2024-04-07\":{\"GALI\":\"67\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"15\",\"GAZIYAABAAD\":\"24\"},\"2024-04-08\":{\"GALI\":\"60\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"28\"},\"2024-04-09\":{\"GALI\":\"53\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"99\"},\"2024-04-10\":{\"GALI\":\"41\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"15\",\"GAZIYAABAAD\":\"69\"},\"2024-04-11\":{\"GALI\":\"04\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"09\"},\"2024-04-12\":{\"GALI\":\"40\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"71\"},\"2024-04-13\":{\"GALI\":\"01\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"73\"},\"2024-04-14\":{\"GALI\":\"84\",\"DESAWAR\":\"50\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"83\"},\"2024-04-15\":{\"GALI\":\"00\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"54\"},\"2024-04-16\":{\"GALI\":\"31\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"74\"},\"2024-04-17\":{\"GALI\":\"50\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"56\"},\"2024-04-18\":{\"GALI\":\"99\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"95\"},\"2024-04-19\":{\"GALI\":\"21\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"92\"},\"2024-04-20\":{\"GALI\":\"73\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"14\"},\"2024-04-21\":{\"GALI\":\"75\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"88\"},\"2024-04-22\":{\"GALI\":\"87\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"32\"},\"2024-04-23\":{\"GALI\":\"07\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"57\"},\"2024-04-24\":{\"GALI\":\"19\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"55\"},\"2024-04-25\":{\"GALI\":\"88\",\"DESAWAR\":\"22\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"42\"},\"2024-04-26\":{\"GALI\":\"02\",\"DESAWAR\":\"31\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"85\"},\"2024-04-27\":{\"GALI\":\"45\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"92\"},\"2024-04-28\":{\"GALI\":\"39\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"31\"},\"2024-04-29\":{\"GALI\":\"18\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"67\",\"GAZIYAABAAD\":\"55\"},\"2024-04-30\":{\"GALI\":\"--\",\"DESAWAR\":\"39\",\"GAZIYAABAAD\":\"--\"},\"2024-05-01\":{\"GALI\":\"73\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"84\"},\"2024-05-02\":{\"GALI\":\"80\",\"DESAWAR\":\"95\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"70\"},\"2024-05-03\":{\"GALI\":\"88\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"69\"},\"2024-05-04\":{\"GALI\":\"30\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"20\"},\"2024-05-05\":{\"GALI\":\"40\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"60\"},\"2024-05-06\":{\"GALI\":\"70\",\"DESAWAR\":\"20\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"56\"},\"2024-05-07\":{\"GALI\":\"40\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"91\"},\"2024-05-08\":{\"GALI\":\"49\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"18\"},\"2024-05-09\":{\"GALI\":\"03\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"94\"},\"2024-05-10\":{\"GALI\":\"74\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"47\"},\"2024-05-11\":{\"GALI\":\"46\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"77\"},\"2024-05-12\":{\"GALI\":\"29\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"31\"},\"2024-05-13\":{\"GALI\":\"06\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"67\",\"GAZIYAABAAD\":\"17\"},\"2024-05-14\":{\"GALI\":\"20\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"54\"},\"2024-05-15\":{\"GALI\":\"83\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"23\"},\"2024-05-16\":{\"GALI\":\"13\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"91\"},\"2024-05-17\":{\"GALI\":\"11\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"80\"},\"2024-05-18\":{\"GALI\":\"51\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"30\"},\"2024-05-19\":{\"GALI\":\"70\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"88\"},\"2024-05-20\":{\"GALI\":\"76\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"12\"},\"2024-05-21\":{\"GALI\":\"77\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"69\"},\"2024-05-22\":{\"GALI\":\"65\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"67\",\"GAZIYAABAAD\":\"81\"},\"2024-05-23\":{\"GALI\":\"54\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"58\"},\"2024-05-24\":{\"GALI\":\"11\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"77\"},\"2024-05-25\":{\"GALI\":\"83\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"62\"},\"2024-05-26\":{\"GALI\":\"63\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"15\",\"GAZIYAABAAD\":\"19\"},\"2024-05-27\":{\"GALI\":\"80\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"15\"},\"2024-05-28\":{\"GALI\":\"06\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"75\"},\"2024-05-29\":{\"GALI\":\"68\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"65\"},\"2024-05-30\":{\"GALI\":\"11\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"69\"},\"2024-05-31\":{\"GALI\":\"--\",\"DESAWAR\":\"08\",\"GAZIYAABAAD\":\"--\"},\"2024-06-01\":{\"GALI\":\"38\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"66\"},\"2024-06-02\":{\"GALI\":\"66\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"39\"},\"2024-06-03\":{\"GALI\":\"02\",\"DESAWAR\":\"39\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"55\"},\"2024-06-04\":{\"GALI\":\"50\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"46\"},\"2024-06-05\":{\"GALI\":\"13\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"08\"},\"2024-06-06\":{\"GALI\":\"47\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"83\"},\"2024-06-07\":{\"GALI\":\"84\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"04\"},\"2024-06-08\":{\"GALI\":\"05\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"67\",\"GAZIYAABAAD\":\"11\"},\"2024-06-09\":{\"GALI\":\"51\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"24\"},\"2024-06-10\":{\"GALI\":\"03\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"30\"},\"2024-06-11\":{\"GALI\":\"69\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"89\"},\"2024-06-12\":{\"GALI\":\"76\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"32\"},\"2024-06-13\":{\"GALI\":\"85\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"18\"},\"2024-06-14\":{\"GALI\":\"15\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"24\"},\"2024-06-15\":{\"GALI\":\"67\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"01\"},\"2024-06-16\":{\"GALI\":\"45\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"69\"},\"2024-06-17\":{\"GALI\":\"96\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"89\"},\"2024-06-18\":{\"GALI\":\"48\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"69\"},\"2024-06-19\":{\"GALI\":\"81\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"42\"},\"2024-06-20\":{\"GALI\":\"56\",\"DESAWAR\":\"11\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"91\"},\"2024-06-21\":{\"GALI\":\"26\",\"DESAWAR\":\"26\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"85\"},\"2024-06-22\":{\"GALI\":\"73\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"05\"},\"2024-06-23\":{\"GALI\":\"40\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"64\"},\"2024-06-24\":{\"GALI\":\"44\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"95\"},\"2024-06-25\":{\"GALI\":\"79\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"04\"},\"2024-06-26\":{\"GALI\":\"72\",\"DESAWAR\":\"03\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"05\"},\"2024-06-27\":{\"GALI\":\"59\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"83\"},\"2024-06-28\":{\"GALI\":\"15\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"25\"},\"2024-06-29\":{\"GALI\":\"81\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"99\"},\"2024-06-30\":{\"GALI\":\"--\",\"DESAWAR\":\"00\",\"GAZIYAABAAD\":\"--\"},\"2024-07-01\":{\"GALI\":\"41\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"30\"},\"2024-07-02\":{\"GALI\":\"74\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"46\"},\"2024-07-03\":{\"GALI\":\"09\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"07\"},\"2024-07-04\":{\"GALI\":\"93\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"29\"},\"2024-07-05\":{\"GALI\":\"71\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"02\"},\"2024-07-06\":{\"GALI\":\"26\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"36\"},\"2024-07-07\":{\"GALI\":\"76\",\"DESAWAR\":\"02\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"76\"},\"2024-07-08\":{\"GALI\":\"27\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"50\"},\"2024-07-09\":{\"GALI\":\"96\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"61\"},\"2024-07-10\":{\"GALI\":\"97\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"84\"},\"2024-07-11\":{\"GALI\":\"69\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"64\"},\"2024-07-12\":{\"GALI\":\"53\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"92\"},\"2024-07-13\":{\"GALI\":\"12\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"54\"},\"2024-07-14\":{\"GALI\":\"54\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"90\"},\"2024-07-15\":{\"GALI\":\"98\",\"DESAWAR\":\"93\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"97\"},\"2024-07-16\":{\"GALI\":\"58\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"74\"},\"2024-07-17\":{\"GALI\":\"01\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"30\"},\"2024-07-18\":{\"GALI\":\"91\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"22\"},\"2024-07-19\":{\"GALI\":\"32\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"81\"},\"2024-07-20\":{\"GALI\":\"16\",\"DESAWAR\":\"01\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"81\"},\"2024-07-21\":{\"GALI\":\"09\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"12\"},\"2024-07-22\":{\"GALI\":\"26\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"27\"},\"2024-07-23\":{\"GALI\":\"12\",\"DESAWAR\":\"40\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"12\"},\"2024-07-24\":{\"GALI\":\"97\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"53\"},\"2024-07-25\":{\"GALI\":\"08\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"24\"},\"2024-07-26\":{\"GALI\":\"47\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"54\"},\"2024-07-27\":{\"GALI\":\"90\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"01\"},\"2024-07-28\":{\"GALI\":\"93\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"89\"},\"2024-07-29\":{\"GALI\":\"27\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"33\"},\"2024-07-30\":{\"GALI\":\"52\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"98\"},\"2024-07-31\":{\"GALI\":\"--\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"77\"},\"2024-08-01\":{\"GALI\":\"32\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"74\"},\"2024-08-02\":{\"GALI\":\"54\",\"DESAWAR\":\"69\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"04\"},\"2024-08-03\":{\"GALI\":\"45\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"97\"},\"2024-08-04\":{\"GALI\":\"51\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"33\"},\"2024-08-05\":{\"GALI\":\"56\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"71\"},\"2024-08-06\":{\"GALI\":\"88\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"45\"},\"2024-08-07\":{\"GALI\":\"56\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"59\"},\"2024-08-08\":{\"GALI\":\"77\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"66\"},\"2024-08-09\":{\"GALI\":\"13\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"33\"},\"2024-08-10\":{\"GALI\":\"69\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"53\"},\"2024-08-11\":{\"GALI\":\"59\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"76\"},\"2024-08-12\":{\"GALI\":\"66\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"77\"},\"2024-08-13\":{\"GALI\":\"73\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"90\"},\"2024-08-14\":{\"GALI\":\"26\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"50\"},\"2024-08-15\":{\"GALI\":\"26\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"52\"},\"2024-08-16\":{\"GALI\":\"41\",\"DESAWAR\":\"62\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"10\"},\"2024-08-17\":{\"GALI\":\"46\",\"DESAWAR\":\"90\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"07\"},\"2024-08-18\":{\"GALI\":\"27\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"51\"},\"2024-08-19\":{\"GALI\":\"01\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"70\"},\"2024-08-20\":{\"GALI\":\"97\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"59\"},\"2024-08-21\":{\"GALI\":\"85\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"30\"},\"2024-08-22\":{\"GALI\":\"97\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"07\"},\"2024-08-23\":{\"GALI\":\"18\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"92\"},\"2024-08-24\":{\"GALI\":\"15\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"38\"},\"2024-08-25\":{\"GALI\":\"77\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"68\"},\"2024-08-26\":{\"GALI\":\"52\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"35\"},\"2024-08-27\":{\"GALI\":\"73\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"71\"},\"2024-08-28\":{\"GALI\":\"74\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"80\"},\"2024-08-29\":{\"GALI\":\"12\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"18\"},\"2024-08-30\":{\"GALI\":\"74\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"--\"},\"2024-08-31\":{\"GALI\":\"--\",\"DESAWAR\":\"21\"},\"2024-09-01\":{\"GALI\":\"91\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"72\"},\"2024-09-02\":{\"GALI\":\"69\",\"DESAWAR\":\"02\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"82\"},\"2024-09-03\":{\"GALI\":\"40\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"60\"},\"2024-09-04\":{\"GALI\":\"28\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"58\"},\"2024-09-05\":{\"GALI\":\"98\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"05\"},\"2024-09-06\":{\"GALI\":\"65\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"75\"},\"2024-09-07\":{\"GALI\":\"51\",\"DESAWAR\":\"00\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"11\"},\"2024-09-08\":{\"GALI\":\"05\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"21\"},\"2024-09-09\":{\"GALI\":\"06\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"92\"},\"2024-09-10\":{\"GALI\":\"85\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"35\"},\"2024-09-11\":{\"GALI\":\"03\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"91\"},\"2024-09-12\":{\"GALI\":\"00\",\"DESAWAR\":\"86\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"06\"},\"2024-09-13\":{\"GALI\":\"24\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"79\"},\"2024-09-14\":{\"GALI\":\"63\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"41\"},\"2024-09-15\":{\"GALI\":\"07\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"82\"},\"2024-09-16\":{\"GALI\":\"13\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"15\",\"GAZIYAABAAD\":\"15\"},\"2024-09-17\":{\"GALI\":\"18\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"30\"},\"2024-09-18\":{\"GALI\":\"14\",\"DESAWAR\":\"00\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"73\"},\"2024-09-19\":{\"GALI\":\"22\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"60\"},\"2024-09-20\":{\"GALI\":\"96\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"94\"},\"2024-09-21\":{\"GALI\":\"49\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"39\"},\"2024-09-22\":{\"GALI\":\"28\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"47\"},\"2024-09-23\":{\"GALI\":\"89\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"91\"},\"2024-09-24\":{\"GALI\":\"00\",\"DESAWAR\":\"68\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"44\"},\"2024-09-25\":{\"GALI\":\"54\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"31\"},\"2024-09-26\":{\"GALI\":\"66\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"79\"},\"2024-09-27\":{\"GALI\":\"29\",\"DESAWAR\":\"32\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"89\"},\"2024-09-28\":{\"GALI\":\"49\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"80\"},\"2024-09-29\":{\"GALI\":\"67\",\"DESAWAR\":\"45\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"68\"},\"2024-09-30\":{\"GALI\":\"--\",\"DESAWAR\":\"97\",\"GAZIYAABAAD\":\"09\"},\"2024-10-01\":{\"GALI\":\"18\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"60\"},\"2024-10-02\":{\"GALI\":\"66\",\"DESAWAR\":\"24\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"41\"},\"2024-10-03\":{\"GALI\":\"53\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"57\"},\"2024-10-04\":{\"GALI\":\"74\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"72\"},\"2024-10-05\":{\"GALI\":\"01\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"94\"},\"2024-10-06\":{\"GALI\":\"13\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"26\"},\"2024-10-07\":{\"GALI\":\"53\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"93\"},\"2024-10-08\":{\"GALI\":\"41\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"91\"},\"2024-10-09\":{\"GALI\":\"80\",\"DESAWAR\":\"30\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"81\"},\"2024-10-10\":{\"GALI\":\"12\",\"DESAWAR\":\"80\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"85\"},\"2024-10-11\":{\"GALI\":\"81\",\"DESAWAR\":\"43\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"43\"},\"2024-10-12\":{\"GALI\":\"81\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"21\"},\"2024-10-13\":{\"GALI\":\"43\",\"DESAWAR\":\"50\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"14\"},\"2024-10-14\":{\"GALI\":\"88\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"01\"},\"2024-10-15\":{\"GALI\":\"83\",\"DESAWAR\":\"60\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"68\"},\"2024-10-16\":{\"GALI\":\"23\",\"DESAWAR\":\"36\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"09\"},\"2024-10-17\":{\"GALI\":\"25\",\"DESAWAR\":\"08\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"40\"},\"2024-10-18\":{\"GALI\":\"73\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"52\"},\"2024-10-19\":{\"GALI\":\"91\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"06\"},\"2024-10-20\":{\"GALI\":\"79\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"61\"},\"2024-10-21\":{\"GALI\":\"39\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"43\"},\"2024-10-22\":{\"GALI\":\"05\",\"DESAWAR\":\"52\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"68\"},\"2024-10-23\":{\"GALI\":\"91\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"26\"},\"2024-10-24\":{\"GALI\":\"00\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"09\"},\"2024-10-25\":{\"GALI\":\"60\",\"DESAWAR\":\"89\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"46\"},\"2024-10-26\":{\"GALI\":\"39\",\"DESAWAR\":\"00\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"60\"},\"2024-10-27\":{\"GALI\":\"05\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"75\"},\"2024-10-28\":{\"GALI\":\"77\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"51\"},\"2024-10-29\":{\"GALI\":\"85\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"09\"},\"2024-10-30\":{\"GALI\":\"33\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"91\"},\"2024-10-31\":{\"GALI\":\"--\",\"DESAWAR\":\"65\",\"GAZIYAABAAD\":\"--\"},\"2024-11-01\":{\"GALI\":\"26\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"28\"},\"2024-11-02\":{\"GALI\":\"54\",\"DESAWAR\":\"06\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"46\"},\"2024-11-03\":{\"GALI\":\"24\",\"DESAWAR\":\"99\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"05\"},\"2024-11-04\":{\"GALI\":\"03\",\"DESAWAR\":\"48\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"20\"},\"2024-11-05\":{\"GALI\":\"45\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"94\"},\"2024-11-06\":{\"GALI\":\"04\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"18\"},\"2024-11-07\":{\"GALI\":\"46\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"25\"},\"2024-11-08\":{\"GALI\":\"28\",\"DESAWAR\":\"85\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"88\"},\"2024-11-09\":{\"GALI\":\"21\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"85\"},\"2024-11-10\":{\"GALI\":\"17\",\"DESAWAR\":\"65\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"04\"},\"2024-11-11\":{\"GALI\":\"03\",\"DESAWAR\":\"12\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"68\"},\"2024-11-12\":{\"GALI\":\"56\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"44\"},\"2024-11-13\":{\"GALI\":\"18\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"70\"},\"2024-11-14\":{\"GALI\":\"02\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"16\",\"GAZIYAABAAD\":\"73\"},\"2024-11-15\":{\"GALI\":\"81\",\"DESAWAR\":\"41\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"45\"},\"2024-11-16\":{\"GALI\":\"46\",\"DESAWAR\":\"53\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"73\"},\"2024-11-17\":{\"GALI\":\"65\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"25\"},\"2024-11-18\":{\"GALI\":\"88\",\"DESAWAR\":\"07\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"22\"},\"2024-11-19\":{\"GALI\":\"04\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"90\"},\"2024-11-20\":{\"GALI\":\"33\",\"DESAWAR\":\"66\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"09\"},\"2024-11-21\":{\"GALI\":\"14\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"87\"},\"2024-11-22\":{\"GALI\":\"26\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"95\"},\"2024-11-23\":{\"GALI\":\"03\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"57\"},\"2024-11-24\":{\"GALI\":\"73\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"78\"},\"2024-11-25\":{\"GALI\":\"83\",\"DESAWAR\":\"35\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"83\"},\"2024-11-26\":{\"GALI\":\"89\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"05\"},\"2024-11-27\":{\"GALI\":\"43\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"28\"},\"2024-11-28\":{\"GALI\":\"42\",\"DESAWAR\":\"49\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"68\"},\"2024-11-29\":{\"GALI\":\"56\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"61\"},\"2024-11-30\":{\"GALI\":\"--\",\"DESAWAR\":\"42\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"82\"},\"2024-12-01\":{\"GALI\":\"26\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"79\"},\"2024-12-02\":{\"GALI\":\"77\",\"DESAWAR\":\"21\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"01\"},\"2024-12-03\":{\"GALI\":\"09\",\"DESAWAR\":\"15\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"03\"},\"2024-12-04\":{\"GALI\":\"76\",\"DESAWAR\":\"14\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"66\"},\"2024-12-05\":{\"GALI\":\"18\",\"DESAWAR\":\"58\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"77\"},\"2024-12-06\":{\"GALI\":\"18\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"37\"},\"2024-12-07\":{\"GALI\":\"40\",\"DESAWAR\":\"17\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"87\"},\"2024-12-08\":{\"GALI\":\"71\",\"DESAWAR\":\"38\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"74\"},\"2024-12-09\":{\"GALI\":\"82\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"24\"},\"2024-12-10\":{\"GALI\":\"04\",\"DESAWAR\":\"94\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"74\"},\"2024-12-11\":{\"GALI\":\"71\",\"DESAWAR\":\"29\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"10\"},\"2024-12-12\":{\"GALI\":\"58\",\"DESAWAR\":\"98\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"48\"},\"2024-12-13\":{\"GALI\":\"87\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"38\"},\"2024-12-14\":{\"GALI\":\"01\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"24\"},\"2024-12-15\":{\"GALI\":\"62\",\"DESAWAR\":\"83\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"18\"},\"2024-12-16\":{\"GALI\":\"76\",\"DESAWAR\":\"76\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"86\"},\"2024-12-17\":{\"GALI\":\"45\",\"DESAWAR\":\"47\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"04\"},\"2024-12-18\":{\"GALI\":\"80\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"94\"},\"2024-12-19\":{\"GALI\":\"15\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"23\"},\"2024-12-20\":{\"GALI\":\"04\",\"DESAWAR\":\"75\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"01\"},\"2024-12-21\":{\"GALI\":\"16\",\"DESAWAR\":\"57\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"44\"},\"2024-12-22\":{\"GALI\":\"06\",\"DESAWAR\":\"37\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"54\"},\"2024-12-23\":{\"GALI\":\"31\",\"DESAWAR\":\"19\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"23\"},\"2024-12-24\":{\"GALI\":\"67\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"07\"},\"2024-12-25\":{\"GALI\":\"06\",\"DESAWAR\":\"09\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"38\"},\"2024-12-26\":{\"GALI\":\"40\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"06\"},\"2024-12-27\":{\"GALI\":\"67\",\"DESAWAR\":\"70\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"19\"},\"2024-12-28\":{\"GALI\":\"78\",\"DESAWAR\":\"18\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"26\"},\"2024-12-29\":{\"GALI\":\"78\",\"DESAWAR\":\"59\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"82\"},\"2024-12-30\":{\"GALI\":\"36\",\"DESAWAR\":\"87\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"61\"},\"2024-12-31\":{\"GALI\":\"--\",\"DESAWAR\":\"46\",\"GAZIYAABAAD\":\"--\"},\"2025-01-01\":{\"GALI\":\"47\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"44\"},\"2025-01-02\":{\"GALI\":\"54\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"33\",\"DESAWAR\":\"00\"},\"2025-01-03\":{\"GALI\":\"62\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"76\",\"DESAWAR\":\"04\"},\"2025-01-04\":{\"GALI\":\"30\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"77\",\"DESAWAR\":\"54\"},\"2025-01-05\":{\"GALI\":\"94\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"80\",\"DESAWAR\":\"76\"},\"2025-01-06\":{\"GALI\":\"23\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"24\",\"DESAWAR\":\"00\"},\"2025-01-07\":{\"GALI\":\"84\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"44\",\"DESAWAR\":\"83\"},\"2025-01-08\":{\"GALI\":\"71\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"03\",\"DESAWAR\":\"99\"},\"2025-01-09\":{\"GALI\":\"68\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"26\",\"DESAWAR\":\"73\"},\"2025-01-10\":{\"GALI\":\"84\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"30\",\"DESAWAR\":\"18\"},\"2025-01-11\":{\"GALI\":\"31\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"19\",\"DESAWAR\":\"84\"},\"2025-01-12\":{\"GALI\":\"66\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"19\",\"DESAWAR\":\"63\"},\"2025-01-13\":{\"GALI\":\"75\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"39\",\"DESAWAR\":\"40\"},\"2025-01-14\":{\"GALI\":\"39\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"04\",\"DESAWAR\":\"80\"},\"2025-01-15\":{\"GALI\":\"98\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"06\",\"DESAWAR\":\"03\"},\"2025-01-16\":{\"GALI\":\"59\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"69\",\"DESAWAR\":\"69\"},\"2025-01-17\":{\"GALI\":\"80\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"41\",\"DESAWAR\":\"80\"},\"2025-01-18\":{\"GALI\":\"77\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"17\",\"DESAWAR\":\"96\"},\"2025-01-19\":{\"GALI\":\"22\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"34\",\"DESAWAR\":\"61\"},\"2025-01-20\":{\"GALI\":\"76\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"29\",\"DESAWAR\":\"43\"},\"2025-01-21\":{\"GALI\":\"46\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"67\",\"DESAWAR\":\"61\"},\"2025-01-22\":{\"GALI\":\"14\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"72\",\"DESAWAR\":\"21\"},\"2025-01-23\":{\"GALI\":\"39\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"37\",\"DESAWAR\":\"60\"},\"2025-01-24\":{\"GALI\":\"13\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"02\",\"DESAWAR\":\"48\"},\"2025-01-25\":{\"GALI\":\"42\",\"GAZIYAABAAD\":\"43\",\"DESAWAR\":\"70\"},\"2025-01-26\":{\"GALI\":\"22\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"60\",\"DESAWAR\":\"83\"},\"2025-01-27\":{\"GALI\":\"17\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"99\",\"DESAWAR\":\"97\"},\"2025-01-28\":{\"GALI\":\"49\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"45\",\"DESAWAR\":\"74\"},\"2025-01-29\":{\"GALI\":\"66\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"45\",\"DESAWAR\":\"34\"},\"2025-01-30\":{\"GALI\":\"42\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"91\"},\"2025-01-31\":{\"GALI\":\"--\",\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"85\"},\"2025-02-01\":{\"GALI\":\"52\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"39\"},\"2025-02-02\":{\"GALI\":\"60\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"11\",\"DESAWAR\":\"13\"},\"2025-02-03\":{\"GALI\":\"96\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"75\",\"DESAWAR\":\"90\"},\"2025-02-04\":{\"GALI\":\"57\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"33\",\"DESAWAR\":\"79\"},\"2025-02-05\":{\"GALI\":\"19\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"29\",\"DESAWAR\":\"50\"},\"2025-02-06\":{\"GALI\":\"50\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"53\",\"DESAWAR\":\"83\"},\"2025-02-07\":{\"GALI\":\"45\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"63\",\"DESAWAR\":\"68\"},\"2025-02-08\":{\"GALI\":\"93\",\"GAZIYAABAAD\":\"94\",\"DESAWAR\":\"54\"},\"2025-02-09\":{\"GALI\":\"11\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"35\",\"DESAWAR\":\"03\"},\"2025-02-10\":{\"GALI\":\"28\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"75\",\"DESAWAR\":\"40\"},\"2025-02-11\":{\"GALI\":\"03\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"17\",\"DESAWAR\":\"37\"},\"2025-02-12\":{\"GALI\":\"05\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"62\",\"DESAWAR\":\"96\"},\"2025-02-13\":{\"GALI\":\"93\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"87\",\"DESAWAR\":\"21\"},\"2025-02-14\":{\"GALI\":\"67\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"04\",\"DESAWAR\":\"95\"},\"2025-02-15\":{\"GALI\":\"23\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"12\",\"DESAWAR\":\"74\"},\"2025-02-16\":{\"GALI\":\"71\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"21\",\"DESAWAR\":\"20\"},\"2025-02-17\":{\"GALI\":\"67\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"24\",\"DESAWAR\":\"04\"},\"2025-02-18\":{\"GALI\":\"75\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"75\",\"DESAWAR\":\"94\"},\"2025-02-19\":{\"GALI\":\"31\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"89\",\"DESAWAR\":\"46\"},\"2025-02-20\":{\"GALI\":\"81\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"13\",\"DESAWAR\":\"53\"},\"2025-02-21\":{\"GALI\":\"55\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"83\",\"DESAWAR\":\"59\"},\"2025-02-22\":{\"GALI\":\"47\",\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"23\",\"DESAWAR\":\"36\"},\"2025-02-23\":{\"GALI\":\"73\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"92\",\"DESAWAR\":\"96\"},\"2025-02-24\":{\"GALI\":\"82\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"09\",\"DESAWAR\":\"58\"},\"2025-02-25\":{\"GALI\":\"24\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"95\",\"DESAWAR\":\"91\"},\"2025-02-26\":{\"GALI\":\"99\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"03\",\"DESAWAR\":\"00\"},\"2025-02-27\":{\"GALI\":\"12\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"59\",\"DESAWAR\":\"94\"},\"2025-02-28\":{\"GALI\":\"12\",\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"11\"},\"2025-02-29\":{\"GALI\":\"--\",\"DESAWAR\":\"--\"},\"2025-02-30\":{\"GALI\":\"--\",\"DESAWAR\":\"--\"},\"2025-02-31\":{\"GALI\":\"--\",\"DESAWAR\":\"--\"},\"2025-03-01\":{\"GALI\":\"69\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"23\"},\"2025-03-02\":{\"GALI\":\"88\",\"FARIDABAD\":\"53\",\"GAZIYAABAAD\":\"63\",\"DESAWAR\":\"43\"},\"2025-03-03\":{\"GALI\":\"62\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"02\",\"DESAWAR\":\"50\"},\"2025-03-04\":{\"GALI\":\"85\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"53\",\"DESAWAR\":\"88\"},\"2025-03-05\":{\"GALI\":\"11\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"61\",\"DESAWAR\":\"43\"},\"2025-03-06\":{\"GALI\":\"90\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"89\",\"DESAWAR\":\"47\"},\"2025-03-07\":{\"GALI\":\"82\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"97\",\"DESAWAR\":\"58\"},\"2025-03-08\":{\"GALI\":\"69\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"80\",\"DESAWAR\":\"99\"},\"2025-03-09\":{\"GALI\":\"60\",\"FARIDABAD\":\"15\",\"GAZIYAABAAD\":\"41\",\"DESAWAR\":\"17\"},\"2025-03-10\":{\"GALI\":\"26\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"42\",\"DESAWAR\":\"94\"},\"2025-03-11\":{\"GALI\":\"72\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"19\",\"DESAWAR\":\"79\"},\"2025-03-12\":{\"GALI\":\"68\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"23\",\"DESAWAR\":\"55\"},\"2025-03-13\":{\"GALI\":\"11\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"54\",\"DESAWAR\":\"71\"},\"2025-03-14\":{\"GALI\":\"30\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"95\",\"DESAWAR\":\"47\"},\"2025-03-15\":{\"GALI\":\"55\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"72\",\"DESAWAR\":\"31\"},\"2025-03-16\":{\"GALI\":\"68\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"62\",\"DESAWAR\":\"25\"},\"2025-03-17\":{\"GALI\":\"42\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"96\",\"DESAWAR\":\"00\"},\"2025-03-18\":{\"GALI\":\"25\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"70\",\"DESAWAR\":\"99\"},\"2025-03-19\":{\"GALI\":\"23\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"50\",\"DESAWAR\":\"25\"},\"2025-03-20\":{\"GALI\":\"23\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"37\",\"DESAWAR\":\"96\"},\"2025-03-21\":{\"GALI\":\"80\",\"FARIDABAD\":\"61\",\"GAZIYAABAAD\":\"92\",\"DESAWAR\":\"99\"},\"2025-03-22\":{\"GALI\":\"64\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"70\",\"DESAWAR\":\"26\"},\"2025-03-23\":{\"GALI\":\"09\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"10\",\"DESAWAR\":\"90\"},\"2025-03-24\":{\"GALI\":\"34\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"65\",\"DESAWAR\":\"16\"},\"2025-03-25\":{\"GALI\":\"42\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"65\",\"DESAWAR\":\"34\"},\"2025-03-26\":{\"GALI\":\"89\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"73\",\"DESAWAR\":\"56\"},\"2025-03-27\":{\"GALI\":\"70\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"16\",\"DESAWAR\":\"39\"},\"2025-03-28\":{\"GALI\":\"45\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"93\",\"DESAWAR\":\"94\"},\"2025-03-29\":{\"GALI\":\"35\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"55\",\"DESAWAR\":\"89\"},\"2025-03-30\":{\"GALI\":\"--\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"72\",\"DESAWAR\":\"64\"},\"2025-03-31\":{\"GALI\":\"--\",\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"18\"},\"2025-04-01\":{\"GALI\":\"41\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"22\"},\"2025-04-02\":{\"GALI\":\"12\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"09\",\"DESAWAR\":\"09\"},\"2025-04-03\":{\"GALI\":\"42\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"28\",\"DESAWAR\":\"71\"},\"2025-04-04\":{\"GALI\":\"05\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"81\",\"DESAWAR\":\"87\"},\"2025-04-05\":{\"GALI\":\"98\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"67\",\"DESAWAR\":\"02\"},\"2025-04-06\":{\"GALI\":\"98\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"56\",\"DESAWAR\":\"24\"},\"2025-04-07\":{\"GALI\":\"46\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"06\",\"DESAWAR\":\"59\"},\"2025-04-08\":{\"GALI\":\"03\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"36\",\"DESAWAR\":\"70\"},\"2025-04-09\":{\"GALI\":\"58\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"25\",\"DESAWAR\":\"67\"},\"2025-04-10\":{\"GALI\":\"35\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"22\",\"DESAWAR\":\"70\"},\"2025-04-11\":{\"GALI\":\"68\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"93\",\"DESAWAR\":\"98\"},\"2025-04-12\":{\"GALI\":\"47\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"83\",\"DESAWAR\":\"06\"},\"2025-04-13\":{\"GALI\":\"73\",\"FARIDABAD\":\"67\",\"GAZIYAABAAD\":\"85\",\"DESAWAR\":\"67\"},\"2025-04-14\":{\"GALI\":\"25\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"25\",\"DESAWAR\":\"57\"},\"2025-04-15\":{\"GALI\":\"01\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"77\",\"DESAWAR\":\"71\"},\"2025-04-16\":{\"GALI\":\"72\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"30\",\"DESAWAR\":\"53\"},\"2025-04-17\":{\"GALI\":\"98\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"03\",\"DESAWAR\":\"51\"},\"2025-04-18\":{\"GALI\":\"30\",\"FARIDABAD\":\"15\",\"GAZIYAABAAD\":\"43\",\"DESAWAR\":\"78\"},\"2025-04-19\":{\"GALI\":\"75\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"09\",\"DESAWAR\":\"74\"},\"2025-04-20\":{\"GALI\":\"10\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"94\",\"DESAWAR\":\"08\"},\"2025-04-21\":{\"GALI\":\"38\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"85\",\"DESAWAR\":\"45\"},\"2025-04-22\":{\"GALI\":\"53\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"37\",\"DESAWAR\":\"26\"},\"2025-04-23\":{\"GALI\":\"74\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"89\",\"DESAWAR\":\"33\"},\"2025-04-24\":{\"GALI\":\"23\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"29\",\"DESAWAR\":\"98\"},\"2025-04-25\":{\"GALI\":\"64\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"76\",\"DESAWAR\":\"91\"},\"2025-04-26\":{\"GALI\":\"91\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"61\",\"DESAWAR\":\"54\"},\"2025-04-27\":{\"GALI\":\"90\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"51\",\"DESAWAR\":\"26\"},\"2025-04-28\":{\"GALI\":\"94\",\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"05\",\"DESAWAR\":\"58\"},\"2025-04-29\":{\"GALI\":\"21\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"63\",\"DESAWAR\":\"36\"},\"2025-04-30\":{\"GALI\":\"--\",\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"76\"},\"2025-04-31\":{\"GALI\":\"--\"},\"2025-05-01\":{\"GALI\":\"55\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"90\"},\"2025-05-02\":{\"GALI\":\"69\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"06\",\"DESAWAR\":\"45\"},\"2025-05-03\":{\"GALI\":\"12\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"45\",\"DESAWAR\":\"01\"},\"2025-05-04\":{\"GALI\":\"64\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"88\",\"DESAWAR\":\"61\"},\"2025-05-05\":{\"GALI\":\"46\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"40\",\"DESAWAR\":\"07\"},\"2025-05-06\":{\"GALI\":\"58\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"27\",\"DESAWAR\":\"18\"},\"2025-05-07\":{\"GALI\":\"87\",\"FARIDABAD\":\"93\",\"GAZIYAABAAD\":\"52\",\"DESAWAR\":\"45\"},\"2025-05-08\":{\"GALI\":\"94\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"65\",\"DESAWAR\":\"34\"},\"2025-05-09\":{\"GALI\":\"72\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"97\",\"DESAWAR\":\"94\"},\"2025-05-10\":{\"GALI\":\"31\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"57\",\"DESAWAR\":\"79\"},\"2025-05-11\":{\"GALI\":\"71\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"33\",\"DESAWAR\":\"11\"},\"2025-05-12\":{\"GALI\":\"22\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"79\",\"DESAWAR\":\"41\"},\"2025-05-13\":{\"GALI\":\"84\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"33\",\"DESAWAR\":\"93\"},\"2025-05-14\":{\"GALI\":\"41\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"27\",\"DESAWAR\":\"88\"},\"2025-05-15\":{\"GALI\":\"72\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"20\",\"DESAWAR\":\"29\"},\"2025-05-16\":{\"GALI\":\"51\",\"FARIDABAD\":\"97\",\"GAZIYAABAAD\":\"09\",\"DESAWAR\":\"33\"},\"2025-05-17\":{\"GALI\":\"28\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"88\",\"DESAWAR\":\"15\"},\"2025-05-18\":{\"GALI\":\"33\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"34\",\"DESAWAR\":\"59\"},\"2025-05-19\":{\"GALI\":\"74\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"03\",\"DESAWAR\":\"29\"},\"2025-05-20\":{\"GALI\":\"80\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"82\",\"DESAWAR\":\"21\"},\"2025-05-21\":{\"GALI\":\"14\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"10\",\"DESAWAR\":\"93\"},\"2025-05-22\":{\"GALI\":\"92\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"36\",\"DESAWAR\":\"20\"},\"2025-05-23\":{\"GALI\":\"47\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"48\",\"DESAWAR\":\"75\"},\"2025-05-24\":{\"GALI\":\"47\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"61\",\"DESAWAR\":\"16\"},\"2025-05-25\":{\"GALI\":\"57\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"23\",\"DESAWAR\":\"47\"},\"2025-05-26\":{\"GALI\":\"65\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"51\",\"DESAWAR\":\"22\"},\"2025-05-27\":{\"GALI\":\"23\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"16\",\"DESAWAR\":\"63\"},\"2025-05-28\":{\"GALI\":\"87\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"99\",\"DESAWAR\":\"70\"},\"2025-05-29\":{\"GALI\":\"91\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"93\",\"DESAWAR\":\"51\"},\"2025-05-30\":{\"GALI\":\"39\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"91\",\"DESAWAR\":\"46\"},\"2025-05-31\":{\"GALI\":\"--\",\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"66\"},\"2025-06-01\":{\"GALI\":\"27\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"15\"},\"2025-06-02\":{\"GALI\":\"94\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"71\",\"DESAWAR\":\"28\"},\"2025-06-03\":{\"GALI\":\"17\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"60\",\"DESAWAR\":\"79\"},\"2025-06-04\":{\"GALI\":\"43\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"74\",\"DESAWAR\":\"09\"},\"2025-06-05\":{\"GALI\":\"92\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"74\",\"DESAWAR\":\"53\"},\"2025-06-06\":{\"GALI\":\"03\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"30\",\"DESAWAR\":\"48\"},\"2025-06-07\":{\"GALI\":\"46\",\"FARIDABAD\":\"85\",\"GAZIYAABAAD\":\"50\",\"DESAWAR\":\"19\"},\"2025-06-08\":{\"GALI\":\"15\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"60\",\"DESAWAR\":\"93\"},\"2025-06-09\":{\"GALI\":\"32\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"96\",\"DESAWAR\":\"24\"},\"2025-06-10\":{\"GALI\":\"06\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"95\",\"DESAWAR\":\"09\"},\"2025-06-11\":{\"GALI\":\"91\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"26\",\"DESAWAR\":\"14\"},\"2025-06-12\":{\"GALI\":\"25\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"50\",\"DESAWAR\":\"48\"},\"2025-06-13\":{\"GALI\":\"56\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"40\",\"DESAWAR\":\"46\"},\"2025-06-14\":{\"GALI\":\"28\",\"FARIDABAD\":\"36\",\"GAZIYAABAAD\":\"31\",\"DESAWAR\":\"09\"},\"2025-06-15\":{\"GALI\":\"50\",\"FARIDABAD\":\"50\",\"GAZIYAABAAD\":\"28\",\"DESAWAR\":\"02\"},\"2025-06-16\":{\"GALI\":\"58\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"39\",\"DESAWAR\":\"33\"},\"2025-06-17\":{\"GALI\":\"31\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"31\",\"DESAWAR\":\"26\"},\"2025-06-18\":{\"GALI\":\"56\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"63\",\"DESAWAR\":\"25\"},\"2025-06-19\":{\"GALI\":\"59\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"26\",\"DESAWAR\":\"30\"},\"2025-06-20\":{\"GALI\":\"71\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"32\",\"DESAWAR\":\"02\"},\"2025-06-21\":{\"GALI\":\"87\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"08\",\"DESAWAR\":\"30\"},\"2025-06-22\":{\"GALI\":\"28\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"51\",\"DESAWAR\":\"68\"},\"2025-06-23\":{\"GALI\":\"92\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"42\",\"DESAWAR\":\"40\"},\"2025-06-24\":{\"GALI\":\"72\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"90\",\"DESAWAR\":\"37\"},\"2025-06-25\":{\"GALI\":\"24\",\"FARIDABAD\":\"79\",\"GAZIYAABAAD\":\"62\",\"DESAWAR\":\"88\"},\"2025-06-26\":{\"GALI\":\"83\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"28\",\"DESAWAR\":\"87\"},\"2025-06-27\":{\"GALI\":\"62\",\"FARIDABAD\":\"87\",\"GAZIYAABAAD\":\"47\",\"DESAWAR\":\"42\"},\"2025-06-28\":{\"GALI\":\"66\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"50\",\"DESAWAR\":\"41\"},\"2025-06-29\":{\"GALI\":\"63\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"43\",\"DESAWAR\":\"05\"},\"2025-06-30\":{\"GALI\":\"--\",\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"52\"},\"2025-06-31\":{\"GALI\":\"--\"},\"2025-07-01\":{\"GALI\":\"57\",\"FARIDABAD\":\"27\",\"GAZIYAABAAD\":\"54\"},\"2025-07-02\":{\"GALI\":\"23\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"56\",\"DESAWAR\":\"42\"},\"2025-07-03\":{\"GALI\":\"21\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"27\",\"DESAWAR\":\"73\"},\"2025-07-04\":{\"GALI\":\"01\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"14\",\"DESAWAR\":\"36\"},\"2025-07-05\":{\"GALI\":\"14\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"56\",\"DESAWAR\":\"88\"},\"2025-07-06\":{\"GALI\":\"91\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"71\",\"DESAWAR\":\"65\"},\"2025-07-07\":{\"GALI\":\"30\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"38\",\"DESAWAR\":\"15\"},\"2025-07-08\":{\"GALI\":\"08\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"14\",\"DESAWAR\":\"04\"},\"2025-07-09\":{\"GALI\":\"04\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"24\",\"DESAWAR\":\"85\"},\"2025-07-10\":{\"GALI\":\"07\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"41\",\"DESAWAR\":\"38\"},\"2025-07-11\":{\"GALI\":\"27\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"88\",\"DESAWAR\":\"51\"},\"2025-07-12\":{\"GALI\":\"80\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"52\",\"DESAWAR\":\"91\"},\"2025-07-13\":{\"GALI\":\"41\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"68\",\"DESAWAR\":\"08\"},\"2025-07-14\":{\"GALI\":\"28\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"11\",\"DESAWAR\":\"29\"},\"2025-07-15\":{\"GALI\":\"15\",\"FARIDABAD\":\"99\",\"GAZIYAABAAD\":\"94\",\"DESAWAR\":\"24\"},\"2025-07-16\":{\"GALI\":\"84\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"87\",\"DESAWAR\":\"98\"},\"2025-07-17\":{\"GALI\":\"78\",\"FARIDABAD\":\"56\",\"GAZIYAABAAD\":\"99\",\"DESAWAR\":\"55\"},\"2025-07-18\":{\"GALI\":\"09\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"86\",\"DESAWAR\":\"38\"},\"2025-07-19\":{\"GALI\":\"90\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"71\",\"DESAWAR\":\"67\"},\"2025-07-20\":{\"GALI\":\"39\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"90\",\"DESAWAR\":\"25\"},\"2025-07-21\":{\"GALI\":\"95\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"96\",\"DESAWAR\":\"84\"},\"2025-07-22\":{\"GALI\":\"96\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"15\",\"DESAWAR\":\"63\"},\"2025-07-23\":{\"GALI\":\"96\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"20\",\"DESAWAR\":\"25\"},\"2025-07-24\":{\"GALI\":\"37\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"64\",\"DESAWAR\":\"55\"},\"2025-07-25\":{\"GALI\":\"13\",\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"23\",\"DESAWAR\":\"18\"},\"2025-07-26\":{\"GALI\":\"80\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"73\",\"DESAWAR\":\"14\"},\"2025-07-27\":{\"GALI\":\"11\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"20\",\"DESAWAR\":\"21\"},\"2025-07-28\":{\"GALI\":\"57\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"29\",\"DESAWAR\":\"67\"},\"2025-07-29\":{\"GALI\":\"81\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"86\",\"DESAWAR\":\"96\"},\"2025-07-30\":{\"GALI\":\"17\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"40\",\"DESAWAR\":\"71\"},\"2025-07-31\":{\"GALI\":\"--\",\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"96\"},\"2025-08-01\":{\"GALI\":\"13\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"88\"},\"2025-08-02\":{\"GALI\":\"71\",\"FARIDABAD\":\"80\",\"GAZIYAABAAD\":\"98\",\"DESAWAR\":\"68\"},\"2025-08-03\":{\"GALI\":\"59\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"64\",\"DESAWAR\":\"56\"},\"2025-08-04\":{\"GALI\":\"22\",\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"61\",\"DESAWAR\":\"92\"},\"2025-08-05\":{\"GALI\":\"28\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"82\",\"DESAWAR\":\"56\"},\"2025-08-06\":{\"GALI\":\"45\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"89\",\"DESAWAR\":\"85\"},\"2025-08-07\":{\"GALI\":\"99\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"83\",\"DESAWAR\":\"21\"},\"2025-08-08\":{\"GALI\":\"87\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"79\",\"DESAWAR\":\"89\"},\"2025-08-09\":{\"GALI\":\"82\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"98\",\"DESAWAR\":\"61\"},\"2025-08-10\":{\"GALI\":\"57\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"43\",\"DESAWAR\":\"31\"},\"2025-08-11\":{\"GALI\":\"36\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"89\",\"DESAWAR\":\"57\"},\"2025-08-12\":{\"GALI\":\"32\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"81\",\"DESAWAR\":\"87\"},\"2025-08-13\":{\"GALI\":\"83\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"18\",\"DESAWAR\":\"01\"},\"2025-08-14\":{\"GALI\":\"46\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"37\",\"DESAWAR\":\"27\"},\"2025-08-15\":{\"GALI\":\"64\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"71\",\"DESAWAR\":\"75\"},\"2025-08-16\":{\"GALI\":\"48\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"29\",\"DESAWAR\":\"80\"},\"2025-08-17\":{\"GALI\":\"32\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"61\",\"DESAWAR\":\"18\"},\"2025-08-18\":{\"GALI\":\"44\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"28\",\"DESAWAR\":\"03\"},\"2025-08-19\":{\"GALI\":\"72\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"20\",\"DESAWAR\":\"44\"},\"2025-08-20\":{\"GALI\":\"11\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"77\",\"DESAWAR\":\"70\"},\"2025-08-21\":{\"GALI\":\"95\",\"FARIDABAD\":\"14\",\"GAZIYAABAAD\":\"44\",\"DESAWAR\":\"81\"},\"2025-08-22\":{\"GALI\":\"34\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"70\",\"DESAWAR\":\"84\"},\"2025-08-23\":{\"GALI\":\"28\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"51\",\"DESAWAR\":\"15\"},\"2025-08-24\":{\"GALI\":\"29\",\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"96\",\"DESAWAR\":\"43\"},\"2025-08-25\":{\"GALI\":\"94\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"81\",\"DESAWAR\":\"34\"},\"2025-08-26\":{\"GALI\":\"07\",\"FARIDABAD\":\"09\",\"GAZIYAABAAD\":\"59\",\"DESAWAR\":\"06\"},\"2025-08-27\":{\"GALI\":\"69\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"15\",\"DESAWAR\":\"80\"},\"2025-08-28\":{\"GALI\":\"55\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"11\",\"DESAWAR\":\"78\"},\"2025-08-29\":{\"GALI\":\"49\",\"FARIDABAD\":\"67\",\"GAZIYAABAAD\":\"69\",\"DESAWAR\":\"51\"},\"2025-08-30\":{\"GALI\":\"84\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"90\",\"DESAWAR\":\"32\"},\"2025-08-31\":{\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"89\"},\"2025-09-01\":{\"GALI\":\"68\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"46\"},\"2025-09-02\":{\"GALI\":\"57\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"57\",\"DESAWAR\":\"66\"},\"2025-09-03\":{\"GALI\":\"72\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"94\",\"DESAWAR\":\"70\"},\"2025-09-04\":{\"GALI\":\"54\",\"FARIDABAD\":\"00\",\"GAZIYAABAAD\":\"52\",\"DESAWAR\":\"73\"},\"2025-09-05\":{\"GALI\":\"41\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"67\",\"DESAWAR\":\"72\"},\"2025-09-06\":{\"GALI\":\"73\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"49\",\"DESAWAR\":\"04\"},\"2025-09-07\":{\"GALI\":\"21\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"14\",\"DESAWAR\":\"96\"},\"2025-09-08\":{\"GALI\":\"64\",\"FARIDABAD\":\"03\",\"GAZIYAABAAD\":\"57\",\"DESAWAR\":\"64\"},\"2025-09-09\":{\"GALI\":\"40\",\"FARIDABAD\":\"96\",\"GAZIYAABAAD\":\"49\",\"DESAWAR\":\"03\"},\"2025-09-10\":{\"GALI\":\"26\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"93\",\"DESAWAR\":\"48\"},\"2025-09-11\":{\"GALI\":\"95\",\"FARIDABAD\":\"13\",\"GAZIYAABAAD\":\"34\",\"DESAWAR\":\"36\"},\"2025-09-12\":{\"GALI\":\"23\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"85\",\"DESAWAR\":\"23\"},\"2025-09-13\":{\"GALI\":\"81\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"01\",\"DESAWAR\":\"93\"},\"2025-09-14\":{\"GALI\":\"67\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"67\",\"DESAWAR\":\"05\"},\"2025-09-15\":{\"GALI\":\"87\",\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"00\",\"DESAWAR\":\"87\"},\"2025-09-16\":{\"GALI\":\"14\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"23\",\"DESAWAR\":\"73\"},\"2025-09-17\":{\"GALI\":\"30\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"14\",\"DESAWAR\":\"63\"},\"2025-09-18\":{\"GALI\":\"95\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"14\",\"DESAWAR\":\"09\"},\"2025-09-19\":{\"GALI\":\"64\",\"FARIDABAD\":\"94\",\"GAZIYAABAAD\":\"66\",\"DESAWAR\":\"71\"},\"2025-09-20\":{\"GALI\":\"40\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"53\",\"DESAWAR\":\"36\"},\"2025-09-21\":{\"GALI\":\"54\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"97\",\"DESAWAR\":\"24\"},\"2025-09-22\":{\"GALI\":\"31\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"38\",\"DESAWAR\":\"70\"},\"2025-09-23\":{\"GALI\":\"95\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"38\",\"DESAWAR\":\"42\"},\"2025-09-24\":{\"GALI\":\"00\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"63\",\"DESAWAR\":\"63\"},\"2025-09-25\":{\"GALI\":\"82\",\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"13\",\"DESAWAR\":\"62\"},\"2025-09-26\":{\"GALI\":\"42\",\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"64\",\"DESAWAR\":\"48\"},\"2025-09-27\":{\"GALI\":\"19\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"93\",\"DESAWAR\":\"96\"},\"2025-09-28\":{\"GALI\":\"63\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"52\",\"DESAWAR\":\"84\"},\"2025-09-29\":{\"GALI\":\"95\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"10\",\"DESAWAR\":\"48\"},\"2025-09-30\":{\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"17\"},\"2025-09-31\":{\"GALI\":\"--\"},\"2025-10-01\":{\"GALI\":\"56\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"59\"},\"2025-10-02\":{\"GALI\":\"70\",\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"58\",\"DESAWAR\":\"41\"},\"2025-10-03\":{\"GALI\":\"39\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"42\",\"DESAWAR\":\"96\"},\"2025-10-04\":{\"GALI\":\"06\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"08\",\"DESAWAR\":\"87\"},\"2025-10-05\":{\"GALI\":\"79\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"39\",\"DESAWAR\":\"62\"},\"2025-10-06\":{\"GALI\":\"94\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"85\",\"DESAWAR\":\"55\"},\"2025-10-07\":{\"GALI\":\"72\",\"FARIDABAD\":\"84\",\"GAZIYAABAAD\":\"52\",\"DESAWAR\":\"25\"},\"2025-10-08\":{\"GALI\":\"07\",\"FARIDABAD\":\"37\",\"GAZIYAABAAD\":\"20\",\"DESAWAR\":\"45\"},\"2025-10-09\":{\"GALI\":\"08\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"86\",\"DESAWAR\":\"85\"},\"2025-10-10\":{\"GALI\":\"67\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"08\",\"DESAWAR\":\"73\"},\"2025-10-11\":{\"GALI\":\"05\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"56\",\"DESAWAR\":\"22\"},\"2025-10-12\":{\"GALI\":\"32\",\"FARIDABAD\":\"95\",\"GAZIYAABAAD\":\"54\",\"DESAWAR\":\"88\"},\"2025-10-13\":{\"GALI\":\"26\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"96\",\"DESAWAR\":\"75\"},\"2025-10-14\":{\"GALI\":\"32\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"98\",\"DESAWAR\":\"24\"},\"2025-10-15\":{\"GALI\":\"66\",\"FARIDABAD\":\"88\",\"GAZIYAABAAD\":\"90\",\"DESAWAR\":\"92\"},\"2025-10-16\":{\"GALI\":\"83\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"98\",\"DESAWAR\":\"50\"},\"2025-10-17\":{\"GALI\":\"61\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"04\",\"DESAWAR\":\"60\"},\"2025-10-18\":{\"GALI\":\"12\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"36\",\"DESAWAR\":\"55\"},\"2025-10-19\":{\"GALI\":\"49\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"91\",\"DESAWAR\":\"04\"},\"2025-10-20\":{\"GALI\":\"45\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"81\",\"DESAWAR\":\"75\"},\"2025-10-21\":{\"GALI\":\"92\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"52\",\"DESAWAR\":\"88\"},\"2025-10-22\":{\"GALI\":\"15\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"58\",\"DESAWAR\":\"38\"},\"2025-10-23\":{\"GALI\":\"06\",\"FARIDABAD\":\"11\",\"GAZIYAABAAD\":\"67\",\"DESAWAR\":\"68\"},\"2025-10-24\":{\"GALI\":\"31\",\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"42\",\"DESAWAR\":\"50\"},\"2025-10-25\":{\"GALI\":\"72\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"67\",\"DESAWAR\":\"96\"},\"2025-10-26\":{\"GALI\":\"55\",\"FARIDABAD\":\"18\",\"GAZIYAABAAD\":\"65\",\"DESAWAR\":\"61\"},\"2025-10-27\":{\"GALI\":\"36\",\"FARIDABAD\":\"81\",\"GAZIYAABAAD\":\"50\",\"DESAWAR\":\"33\"},\"2025-10-28\":{\"GALI\":\"62\",\"FARIDABAD\":\"24\",\"GAZIYAABAAD\":\"84\",\"DESAWAR\":\"68\"},\"2025-10-29\":{\"GALI\":\"18\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"50\",\"DESAWAR\":\"37\"},\"2025-10-30\":{\"GALI\":\"85\",\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"59\",\"DESAWAR\":\"40\"},\"2025-10-31\":{\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"36\"},\"2025-11-01\":{\"GALI\":\"40\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"89\"},\"2025-11-02\":{\"GALI\":\"75\",\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"69\",\"DESAWAR\":\"37\"},\"2025-11-03\":{\"GALI\":\"07\",\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"35\",\"DESAWAR\":\"89\"},\"2025-11-04\":{\"GALI\":\"79\",\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"20\",\"DESAWAR\":\"29\"},\"2025-11-05\":{\"GALI\":\"80\",\"FARIDABAD\":\"02\",\"GAZIYAABAAD\":\"92\",\"DESAWAR\":\"92\"},\"2025-11-06\":{\"GALI\":\"73\",\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"06\",\"DESAWAR\":\"68\"},\"2025-11-07\":{\"GALI\":\"19\",\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"08\",\"DESAWAR\":\"94\"},\"2025-11-08\":{\"GALI\":\"32\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"79\",\"DESAWAR\":\"85\"},\"2025-11-09\":{\"GALI\":\"57\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"04\",\"DESAWAR\":\"08\"},\"2025-11-10\":{\"GALI\":\"64\",\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"02\",\"DESAWAR\":\"67\"},\"2025-11-11\":{\"GALI\":\"05\",\"FARIDABAD\":\"15\",\"GAZIYAABAAD\":\"51\",\"DESAWAR\":\"51\"},\"2025-11-12\":{\"GALI\":\"05\",\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"37\",\"DESAWAR\":\"37\"},\"2025-11-13\":{\"GALI\":\"13\",\"FARIDABAD\":\"20\",\"GAZIYAABAAD\":\"27\",\"DESAWAR\":\"53\"},\"2025-11-14\":{\"GALI\":\"45\",\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"60\",\"DESAWAR\":\"55\"},\"2025-11-15\":{\"GALI\":\"93\",\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"49\",\"DESAWAR\":\"20\"},\"2025-11-16\":{\"GALI\":\"46\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"68\",\"DESAWAR\":\"51\"},\"2025-11-17\":{\"GALI\":\"14\",\"FARIDABAD\":\"52\",\"GAZIYAABAAD\":\"02\",\"DESAWAR\":\"28\"},\"2025-11-18\":{\"GALI\":\"85\",\"FARIDABAD\":\"68\",\"GAZIYAABAAD\":\"61\",\"DESAWAR\":\"41\"},\"2025-11-19\":{\"GALI\":\"14\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"20\",\"DESAWAR\":\"75\"},\"2025-11-20\":{\"GALI\":\"24\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"03\",\"DESAWAR\":\"60\"},\"2025-11-21\":{\"GALI\":\"11\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"35\",\"DESAWAR\":\"24\"},\"2025-11-22\":{\"GALI\":\"37\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"30\",\"DESAWAR\":\"83\"},\"2025-11-23\":{\"GALI\":\"02\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"58\",\"DESAWAR\":\"68\"},\"2025-11-24\":{\"GALI\":\"49\",\"FARIDABAD\":\"78\",\"GAZIYAABAAD\":\"79\",\"DESAWAR\":\"34\"},\"2025-11-25\":{\"GALI\":\"07\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"60\",\"DESAWAR\":\"67\"},\"2025-11-26\":{\"GALI\":\"17\",\"FARIDABAD\":\"15\",\"GAZIYAABAAD\":\"23\",\"DESAWAR\":\"22\"},\"2025-11-27\":{\"GALI\":\"39\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"97\",\"DESAWAR\":\"06\"},\"2025-11-28\":{\"GALI\":\"01\",\"FARIDABAD\":\"98\",\"GAZIYAABAAD\":\"06\",\"DESAWAR\":\"57\"},\"2025-11-29\":{\"GALI\":\"24\",\"FARIDABAD\":\"83\",\"GAZIYAABAAD\":\"79\",\"DESAWAR\":\"08\"},\"2025-11-30\":{\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"60\"},\"2025-12-01\":{\"GALI\":\"44\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"63\"},\"2025-12-02\":{\"GALI\":\"76\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"82\"},\"2025-12-03\":{\"GALI\":\"31\",\"DESAWAR\":\"27\",\"FARIDABAD\":\"69\",\"GAZIYAABAAD\":\"91\"},\"2025-12-04\":{\"GALI\":\"92\",\"DESAWAR\":\"72\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"98\"},\"2025-12-05\":{\"GALI\":\"92\",\"DESAWAR\":\"64\",\"FARIDABAD\":\"67\",\"GAZIYAABAAD\":\"72\"},\"2025-12-06\":{\"GALI\":\"81\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"92\",\"GAZIYAABAAD\":\"12\"},\"2025-12-07\":{\"GALI\":\"52\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"72\"},\"2025-12-08\":{\"GALI\":\"99\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"38\",\"GAZIYAABAAD\":\"25\"},\"2025-12-09\":{\"DESAWAR\":\"25\",\"GALI\":\"35\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"91\"},\"2025-12-10\":{\"DESAWAR\":\"41\",\"GALI\":\"90\",\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"07\"},\"2025-12-11\":{\"DESAWAR\":\"43\",\"GAZIYAABAAD\":\"72\",\"FARIDABAD\":\"61\",\"GALI\":\"22\"},\"2025-12-12\":{\"FARIDABAD\":\"97\",\"DESAWAR\":\"31\",\"GALI\":\"96\",\"GAZIYAABAAD\":\"11\"},\"2025-12-13\":{\"FARIDABAD\":\"73\",\"DESAWAR\":\"99\",\"GALI\":\"38\",\"GAZIYAABAAD\":\"85\"},\"2025-12-14\":{\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"66\",\"DESAWAR\":\"38\",\"GALI\":\"66\"},\"2025-12-15\":{\"DESAWAR\":\"97\",\"FARIDABAD\":\"89\",\"GALI\":\"23\",\"GAZIYAABAAD\":\"19\"},\"2025-12-16\":{\"DESAWAR\":\"49\",\"GALI\":\"43\",\"GAZIYAABAAD\":\"64\",\"FARIDABAD\":\"21\"},\"2025-12-17\":{\"DESAWAR\":\"13\",\"FARIDABAD\":\"82\",\"GALI\":\"87\",\"GAZIYAABAAD\":\"19\"},\"2025-12-18\":{\"FARIDABAD\":\"81\",\"DESAWAR\":\"81\",\"GALI\":\"06\",\"GAZIYAABAAD\":\"07\"},\"2025-12-19\":{\"DESAWAR\":\"32\",\"FARIDABAD\":\"58\",\"GALI\":\"11\",\"GAZIYAABAAD\":\"53\"},\"2025-12-20\":{\"GAZIYAABAAD\":\"49\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"61\",\"GALI\":\"49\"},\"2025-12-21\":{\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"03\",\"DESAWAR\":\"41\",\"GALI\":\"89\"},\"2025-12-22\":{\"GAZIYAABAAD\":\"65\",\"DESAWAR\":\"61\",\"FARIDABAD\":\"12\",\"GALI\":\"80\"},\"2025-12-23\":{\"DESAWAR\":\"44\",\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"69\",\"GALI\":\"44\"},\"2025-12-24\":{\"GAZIYAABAAD\":\"22\",\"DESAWAR\":\"34\",\"FARIDABAD\":\"63\",\"GALI\":\"89\"},\"2025-12-25\":{\"DESAWAR\":\"19\",\"GAZIYAABAAD\":\"39\",\"FARIDABAD\":\"56\",\"GALI\":\"87\"},\"2025-12-26\":{\"DESAWAR\":\"92\",\"GALI\":\"54\",\"GAZIYAABAAD\":\"08\",\"FARIDABAD\":\"96\"},\"2025-12-27\":{\"GAZIYAABAAD\":\"62\",\"FARIDABAD\":\"50\",\"DESAWAR\":\"43\",\"GALI\":\"20\"},\"2025-12-28\":{\"GAZIYAABAAD\":\"55\",\"FARIDABAD\":\"75\",\"DESAWAR\":\"29\",\"GALI\":\"53\"},\"2025-12-29\":{\"FARIDABAD\":\"45\",\"DESAWAR\":\"53\",\"GALI\":\"48\",\"GAZIYAABAAD\":\"13\"},\"2025-12-30\":{\"DESAWAR\":\"78\",\"FARIDABAD\":\"94\",\"GALI\":\"09\",\"GAZIYAABAAD\":\"57\"},\"2025-12-31\":{\"GAZIYAABAAD\":\"--\",\"DESAWAR\":\"62\"},\"2026-01-01\":{\"DESAWAR\":\"--\",\"FARIDABAD\":\"42\",\"GAZIYAABAAD\":\"66\",\"GALI\":\"58\"},\"2026-01-02\":{\"DESAWAR\":\"65\",\"GAZIYAABAAD\":\"05\",\"FARIDABAD\":\"96\",\"GALI\":\"92\"},\"2026-01-03\":{\"GAZIYAABAAD\":\"91\",\"FARIDABAD\":\"81\",\"DESAWAR\":\"63\",\"GALI\":\"99\"},\"2026-01-04\":{\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"13\",\"DESAWAR\":\"44\",\"GALI\":\"23\"},\"2026-01-05\":{\"FARIDABAD\":\"36\",\"DESAWAR\":\"88\",\"GAZIYAABAAD\":\"05\",\"GALI\":\"40\"},\"2026-01-06\":{\"GAZIYAABAAD\":\"13\",\"FARIDABAD\":\"86\",\"DESAWAR\":\"18\",\"GALI\":\"78\"},\"2026-01-07\":{\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"44\",\"DESAWAR\":\"61\",\"GALI\":\"11\"},\"2026-01-08\":{\"GAZIYAABAAD\":\"04\",\"FARIDABAD\":\"49\",\"DESAWAR\":\"06\",\"GALI\":\"25\"},\"2026-01-09\":{\"DESAWAR\":\"95\",\"GAZIYAABAAD\":\"28\",\"FARIDABAD\":\"66\",\"GALI\":\"21\"},\"2026-01-10\":{\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"33\",\"DESAWAR\":\"24\",\"GALI\":\"52\"},\"2026-01-11\":{\"FARIDABAD\":\"51\",\"GAZIYAABAAD\":\"73\",\"DESAWAR\":\"05\",\"GALI\":\"02\"},\"2026-01-12\":{\"DESAWAR\":\"33\",\"GAZIYAABAAD\":\"21\",\"FARIDABAD\":\"04\",\"GALI\":\"14\"},\"2026-01-13\":{\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"88\",\"DESAWAR\":\"51\",\"GALI\":\"58\"},\"2026-01-14\":{\"GAZIYAABAAD\":\"84\",\"DESAWAR\":\"05\",\"FARIDABAD\":\"89\",\"GALI\":\"70\"},\"2026-01-15\":{\"FARIDABAD\":\"55\",\"GAZIYAABAAD\":\"79\",\"DESAWAR\":\"56\",\"GALI\":\"02\"},\"2026-01-16\":{\"FARIDABAD\":\"89\",\"GAZIYAABAAD\":\"97\",\"GALI\":\"74\",\"DESAWAR\":\"42\"},\"2026-01-17\":{\"DESAWAR\":\"54\",\"GAZIYAABAAD\":\"37\",\"GALI\":\"34\",\"FARIDABAD\":\"46\"},\"2026-01-18\":{\"GAZIYAABAAD\":\"67\",\"GALI\":\"20\",\"FARIDABAD\":\"01\",\"DESAWAR\":\"97\"},\"2026-01-19\":{\"FARIDABAD\":\"24\",\"DESAWAR\":\"65\",\"GALI\":\"31\",\"GAZIYAABAAD\":\"87\"},\"2026-01-20\":{\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"06\",\"DESAWAR\":\"68\",\"GALI\":\"97\"},\"2026-01-21\":{\"FARIDABAD\":\"48\",\"DESAWAR\":\"02\",\"GAZIYAABAAD\":\"46\",\"GALI\":\"50\"},\"2026-01-22\":{\"GAZIYAABAAD\":\"79\",\"FARIDABAD\":\"06\",\"DESAWAR\":\"82\",\"GALI\":\"35\"},\"2026-01-23\":{\"DESAWAR\":\"07\",\"FARIDABAD\":\"17\",\"GAZIYAABAAD\":\"71\",\"GALI\":\"02\"},\"2026-01-24\":{\"GAZIYAABAAD\":\"42\",\"GALI\":\"42\",\"FARIDABAD\":\"67\",\"DESAWAR\":\"81\"},\"2026-01-25\":{\"DESAWAR\":\"36\",\"GAZIYAABAAD\":\"31\",\"FARIDABAD\":\"55\",\"GALI\":\"82\"},\"2026-01-26\":{\"GAZIYAABAAD\":\"17\",\"FARIDABAD\":\"18\",\"DESAWAR\":\"94\",\"GALI\":\"51\"},\"2026-01-27\":{\"DESAWAR\":\"10\",\"FARIDABAD\":\"72\",\"GAZIYAABAAD\":\"78\",\"GALI\":\"47\"},\"2026-01-28\":{\"FARIDABAD\":\"71\",\"GALI\":\"79\",\"GAZIYAABAAD\":\"00\",\"DESAWAR\":\"89\"},\"2026-01-29\":{\"GAZIYAABAAD\":\"65\",\"DESAWAR\":\"51\",\"FARIDABAD\":\"33\",\"GALI\":\"34\"},\"2026-01-30\":{\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"81\",\"DESAWAR\":\"56\",\"GALI\":\"12\"},\"2026-01-31\":{\"GALI\":\"--\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"--\"},\"2026-02-01\":{\"GALI\":\"05\",\"GAZIYAABAAD\":\"17\",\"FARIDABAD\":\"39\"},\"2026-02-02\":{\"FARIDABAD\":\"90\",\"DESAWAR\":\"93\",\"GAZIYAABAAD\":\"99\",\"GALI\":\"04\"},\"2026-02-03\":{\"FARIDABAD\":\"08\",\"DESAWAR\":\"78\",\"GALI\":\"37\",\"GAZIYAABAAD\":\"42\"},\"2026-02-04\":{\"GAZIYAABAAD\":\"84\",\"FARIDABAD\":\"40\",\"DESAWAR\":\"94\",\"GALI\":\"95\"},\"2026-02-05\":{\"GAZIYAABAAD\":\"76\",\"FARIDABAD\":\"04\",\"DESAWAR\":\"18\",\"GALI\":\"40\"},\"2026-02-06\":{\"DESAWAR\":\"20\",\"GAZIYAABAAD\":\"35\",\"FARIDABAD\":\"35\",\"GALI\":\"92\"},\"2026-02-07\":{\"DESAWAR\":\"99\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"13\",\"GALI\":\"28\"},\"2026-02-08\":{\"FARIDABAD\":\"10\",\"GAZIYAABAAD\":\"84\",\"GALI\":\"71\",\"DESAWAR\":\"31\"},\"2026-02-09\":{\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"95\",\"DESAWAR\":\"94\",\"GALI\":\"07\"},\"2026-02-10\":{\"GAZIYAABAAD\":\"83\",\"FARIDABAD\":\"30\",\"GALI\":\"00\",\"DESAWAR\":\"53\"},\"2026-02-11\":{\"FARIDABAD\":\"72\",\"DESAWAR\":\"99\",\"GAZIYAABAAD\":\"52\",\"GALI\":\"90\"},\"2026-02-12\":{\"DESAWAR\":\"83\",\"GAZIYAABAAD\":\"47\",\"FARIDABAD\":\"14\",\"GALI\":\"57\"},\"2026-02-13\":{\"DESAWAR\":\"29\",\"FARIDABAD\":\"46\",\"GAZIYAABAAD\":\"95\",\"GALI\":\"88\"},\"2026-02-14\":{\"FARIDABAD\":\"84\",\"DESAWAR\":\"28\",\"GALI\":\"35\",\"GAZIYAABAAD\":\"59\"},\"2026-02-15\":{\"GAZIYAABAAD\":\"19\",\"DESAWAR\":\"54\",\"FARIDABAD\":\"31\",\"GALI\":\"18\"},\"2026-02-16\":{\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"00\",\"DESAWAR\":\"07\",\"GALI\":\"95\"},\"2026-02-17\":{\"GAZIYAABAAD\":\"98\",\"FARIDABAD\":\"36\",\"DESAWAR\":\"97\",\"GALI\":\"49\"},\"2026-02-18\":{\"GAZIYAABAAD\":\"81\",\"DESAWAR\":\"33\",\"FARIDABAD\":\"01\",\"GALI\":\"88\"},\"2026-02-19\":{\"GAZIYAABAAD\":\"50\",\"DESAWAR\":\"63\",\"FARIDABAD\":\"86\",\"GALI\":\"88\"},\"2026-02-20\":{\"DESAWAR\":\"81\",\"GAZIYAABAAD\":\"78\",\"FARIDABAD\":\"29\",\"GALI\":\"34\"},\"2026-02-21\":{\"DESAWAR\":\"78\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"40\",\"GALI\":\"36\"},\"2026-02-22\":{\"DESAWAR\":\"95\",\"GAZIYAABAAD\":\"54\",\"FARIDABAD\":\"89\",\"GALI\":\"52\"},\"2026-02-23\":{\"GAZIYAABAAD\":\"29\",\"FARIDABAD\":\"64\",\"DESAWAR\":\"61\",\"GALI\":\"66\"},\"2026-02-24\":{\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"44\",\"GALI\":\"84\",\"DESAWAR\":\"27\"},\"2026-02-25\":{\"GAZIYAABAAD\":\"83\",\"FARIDABAD\":\"86\",\"DESAWAR\":\"68\",\"GALI\":\"12\"},\"2026-02-26\":{\"GAZIYAABAAD\":\"18\",\"FARIDABAD\":\"99\",\"DESAWAR\":\"57\",\"GALI\":\"75\"},\"2026-02-27\":{\"GAZIYAABAAD\":\"68\",\"FARIDABAD\":\"70\",\"DESAWAR\":\"53\",\"GALI\":\"83\"},\"2026-02-28\":{\"DESAWAR\":\"27\"},\"2026-03-01\":{\"GAZIYAABAAD\":\"10\",\"FARIDABAD\":\"02\",\"GALI\":\"92\"},\"2026-03-02\":{\"DESAWAR\":\"68\",\"GAZIYAABAAD\":\"10\",\"FARIDABAD\":\"91\",\"GALI\":\"30\"},\"2026-03-03\":{\"GAZIYAABAAD\":\"13\",\"FARIDABAD\":\"06\",\"DESAWAR\":\"49\",\"GALI\":\"17\"},\"2026-03-04\":{\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"65\",\"DESAWAR\":\"19\",\"GALI\":\"90\"},\"2026-03-05\":{\"GAZIYAABAAD\":\"46\",\"FARIDABAD\":\"07\",\"DESAWAR\":\"54\",\"GALI\":\"74\"},\"2026-03-06\":{\"GAZIYAABAAD\":\"02\",\"FARIDABAD\":\"36\",\"DESAWAR\":\"36\",\"GALI\":\"45\"},\"2026-03-07\":{\"DESAWAR\":\"38\",\"FARIDABAD\":\"62\",\"GAZIYAABAAD\":\"60\",\"GALI\":\"22\"},\"2026-03-08\":{\"DESAWAR\":\"45\",\"FARIDABAD\":\"29\",\"GAZIYAABAAD\":\"78\",\"GALI\":\"51\"},\"2026-03-09\":{\"DESAWAR\":\"65\",\"GAZIYAABAAD\":\"26\",\"FARIDABAD\":\"46\",\"GALI\":\"99\"},\"2026-03-10\":{\"DESAWAR\":\"49\",\"GAZIYAABAAD\":\"74\",\"FARIDABAD\":\"79\",\"GALI\":\"64\"},\"2026-03-11\":{\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"58\",\"DESAWAR\":\"09\",\"GALI\":\"24\"},\"2026-03-12\":{\"GAZIYAABAAD\":\"18\",\"DESAWAR\":\"25\",\"FARIDABAD\":\"90\",\"GALI\":\"09\"},\"2026-03-13\":{\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"72\",\"DESAWAR\":\"03\",\"GALI\":\"20\"},\"2026-03-14\":{\"FARIDABAD\":\"82\",\"DESAWAR\":\"95\",\"GAZIYAABAAD\":\"75\",\"GALI\":\"74\"},\"2026-03-15\":{\"DESAWAR\":\"39\",\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"27\",\"GALI\":\"82\"},\"2026-03-16\":{\"DESAWAR\":\"28\",\"GAZIYAABAAD\":\"12\",\"FARIDABAD\":\"68\",\"GALI\":\"17\"},\"2026-03-17\":{\"GAZIYAABAAD\":\"26\",\"FARIDABAD\":\"58\",\"DESAWAR\":\"47\",\"GALI\":\"45\"},\"2026-03-18\":{\"GAZIYAABAAD\":\"76\",\"DESAWAR\":\"82\",\"FARIDABAD\":\"90\",\"GALI\":\"76\"},\"2026-03-19\":{\"GAZIYAABAAD\":\"26\",\"FARIDABAD\":\"87\",\"DESAWAR\":\"50\",\"GALI\":\"43\"},\"2026-03-20\":{\"FARIDABAD\":\"74\",\"GAZIYAABAAD\":\"23\",\"GALI\":\"85\",\"DESAWAR\":\"12\"},\"2026-03-21\":{\"FARIDABAD\":\"49\",\"DESAWAR\":\"16\",\"GAZIYAABAAD\":\"17\",\"GALI\":\"01\"},\"2026-03-22\":{\"DESAWAR\":\"70\",\"FARIDABAD\":\"40\",\"GAZIYAABAAD\":\"28\",\"GALI\":\"70\"},\"2026-03-23\":{\"DESAWAR\":\"27\",\"FARIDABAD\":\"59\",\"GAZIYAABAAD\":\"10\",\"GALI\":\"86\"},\"2026-03-24\":{\"FARIDABAD\":\"28\",\"GAZIYAABAAD\":\"75\",\"DESAWAR\":\"66\",\"GALI\":\"82\"},\"2026-03-25\":{\"DESAWAR\":\"13\",\"FARIDABAD\":\"48\",\"GAZIYAABAAD\":\"70\",\"GALI\":\"30\"},\"2026-03-26\":{\"DESAWAR\":\"92\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"34\",\"GALI\":\"68\"},\"2026-03-27\":{\"DESAWAR\":\"26\",\"FARIDABAD\":\"82\",\"GAZIYAABAAD\":\"43\",\"GALI\":\"83\"},\"2026-03-28\":{\"DESAWAR\":\"40\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"05\",\"GALI\":\"26\"},\"2026-03-29\":{\"DESAWAR\":\"93\",\"FARIDABAD\":\"00\",\"GALI\":\"21\",\"GAZIYAABAAD\":\"14\"},\"2026-03-30\":{\"DESAWAR\":\"23\",\"FARIDABAD\":\"84\",\"GALI\":\"39\",\"GAZIYAABAAD\":\"20\"},\"2026-03-31\":{\"DESAWAR\":\"81\"},\"2026-04-01\":{\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"12\",\"GALI\":\"97\"},\"2026-04-02\":{\"GAZIYAABAAD\":\"78\",\"DESAWAR\":\"81\",\"FARIDABAD\":\"33\",\"GALI\":\"63\"},\"2026-04-03\":{\"DESAWAR\":\"41\",\"GAZIYAABAAD\":\"00\",\"FARIDABAD\":\"99\",\"GALI\":\"62\"},\"2026-04-04\":{\"GAZIYAABAAD\":\"77\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"59\",\"GALI\":\"75\"},\"2026-04-05\":{\"GAZIYAABAAD\":\"17\",\"FARIDABAD\":\"29\",\"DESAWAR\":\"71\",\"GALI\":\"59\"},\"2026-04-06\":{\"FARIDABAD\":\"39\",\"GAZIYAABAAD\":\"59\",\"DESAWAR\":\"47\",\"GALI\":\"46\"},\"2026-04-07\":{\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"26\",\"DESAWAR\":\"44\",\"GALI\":\"01\"},\"2026-04-08\":{\"FARIDABAD\":\"91\",\"GAZIYAABAAD\":\"88\",\"DESAWAR\":\"05\",\"GALI\":\"42\"},\"2026-04-09\":{\"DESAWAR\":\"67\",\"FARIDABAD\":\"47\",\"GAZIYAABAAD\":\"97\",\"GALI\":\"47\"},\"2026-04-10\":{\"GAZIYAABAAD\":\"77\",\"FARIDABAD\":\"05\",\"DESAWAR\":\"85\",\"GALI\":\"11\"},\"2026-04-11\":{\"FARIDABAD\":\"04\",\"DESAWAR\":\"85\",\"GAZIYAABAAD\":\"53\",\"GALI\":\"24\"},\"2026-04-12\":{\"GAZIYAABAAD\":\"52\",\"DESAWAR\":\"92\",\"FARIDABAD\":\"65\",\"GALI\":\"06\"},\"2026-04-13\":{\"FARIDABAD\":\"33\",\"GAZIYAABAAD\":\"14\",\"DESAWAR\":\"82\",\"GALI\":\"39\"},\"2026-04-14\":{\"DESAWAR\":\"00\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"73\",\"GALI\":\"02\"},\"2026-04-15\":{\"GAZIYAABAAD\":\"19\",\"FARIDABAD\":\"64\",\"DESAWAR\":\"49\",\"GALI\":\"82\"},\"2026-04-16\":{\"DESAWAR\":\"93\",\"GALI\":\"15\",\"GAZIYAABAAD\":\"14\",\"FARIDABAD\":\"03\"},\"2026-04-17\":{\"FARIDABAD\":\"44\",\"GAZIYAABAAD\":\"47\",\"DESAWAR\":\"99\",\"GALI\":\"40\"},\"2026-04-18\":{\"GAZIYAABAAD\":\"62\",\"FARIDABAD\":\"21\",\"DESAWAR\":\"15\",\"GALI\":\"69\"},\"2026-04-19\":{\"GAZIYAABAAD\":\"79\",\"FARIDABAD\":\"60\",\"DESAWAR\":\"93\",\"GALI\":\"46\"},\"2026-04-20\":{\"DESAWAR\":\"87\",\"FARIDABAD\":\"64\",\"GAZIYAABAAD\":\"34\",\"GALI\":\"62\"},\"2026-04-21\":{\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"08\",\"DESAWAR\":\"41\",\"GALI\":\"25\"},\"2026-04-22\":{\"FARIDABAD\":\"60\",\"DESAWAR\":\"62\",\"GAZIYAABAAD\":\"21\",\"GALI\":\"95\"},\"2026-04-23\":{\"GAZIYAABAAD\":\"51\",\"DESAWAR\":\"44\",\"FARIDABAD\":\"68\",\"GALI\":\"33\"},\"2026-04-24\":{\"GAZIYAABAAD\":\"20\",\"FARIDABAD\":\"91\",\"GALI\":\"14\",\"DESAWAR\":\"79\"},\"2026-04-25\":{\"FARIDABAD\":\"59\",\"DESAWAR\":\"11\",\"GAZIYAABAAD\":\"76\",\"GALI\":\"38\"},\"2026-04-26\":{\"DESAWAR\":\"88\",\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"35\",\"GALI\":\"09\"},\"2026-04-27\":{\"FARIDABAD\":\"65\",\"DESAWAR\":\"15\",\"GAZIYAABAAD\":\"54\",\"GALI\":\"19\"},\"2026-04-28\":{\"DESAWAR\":\"44\",\"GAZIYAABAAD\":\"03\",\"FARIDABAD\":\"25\",\"GALI\":\"08\"},\"2026-04-29\":{\"DESAWAR\":\"56\",\"GAZIYAABAAD\":\"11\",\"FARIDABAD\":\"13\",\"GALI\":\"85\"},\"2026-04-30\":{\"DESAWAR\":\"56\"},\"2026-05-01\":{\"FARIDABAD\":\"63\",\"GAZIYAABAAD\":\"15\",\"GALI\":\"54\"},\"2026-05-02\":{\"DESAWAR\":\"79\",\"GAZIYAABAAD\":\"79\",\"FARIDABAD\":\"05\",\"GALI\":\"42\"},\"2026-05-03\":{\"DESAWAR\":\"00\",\"GAZIYAABAAD\":\"93\",\"FARIDABAD\":\"84\",\"GALI\":\"74\"},\"2026-05-04\":{\"GAZIYAABAAD\":\"78\",\"FARIDABAD\":\"08\",\"DESAWAR\":\"27\",\"GALI\":\"14\"},\"2026-05-05\":{\"FARIDABAD\":\"12\",\"DESAWAR\":\"06\",\"GAZIYAABAAD\":\"15\",\"GALI\":\"87\"},\"2026-05-06\":{\"DESAWAR\":\"03\",\"FARIDABAD\":\"70\",\"GAZIYAABAAD\":\"92\",\"GALI\":\"38\"},\"2026-05-07\":{\"GAZIYAABAAD\":\"47\",\"DESAWAR\":\"84\",\"FARIDABAD\":\"69\",\"GALI\":\"33\"},\"2026-05-08\":{\"GAZIYAABAAD\":\"33\",\"FARIDABAD\":\"48\",\"DESAWAR\":\"06\",\"GALI\":\"97\"},\"2026-05-09\":{\"DESAWAR\":\"19\",\"FARIDABAD\":\"86\",\"GAZIYAABAAD\":\"44\",\"GALI\":\"64\"},\"2026-05-10\":{\"GAZIYAABAAD\":\"86\",\"FARIDABAD\":\"46\",\"DESAWAR\":\"62\",\"GALI\":\"56\"},\"2026-05-11\":{\"FARIDABAD\":\"22\",\"DESAWAR\":\"10\",\"GAZIYAABAAD\":\"43\",\"GALI\":\"83\"},\"2026-05-12\":{\"DESAWAR\":\"08\",\"GAZIYAABAAD\":\"43\",\"FARIDABAD\":\"28\",\"GALI\":\"47\"},\"2026-05-13\":{\"DESAWAR\":\"46\",\"GAZIYAABAAD\":\"08\",\"FARIDABAD\":\"01\",\"GALI\":\"58\"},\"2026-05-14\":{\"FARIDABAD\":\"05\",\"GAZIYAABAAD\":\"27\",\"DESAWAR\":\"76\",\"GALI\":\"58\"},\"2026-05-15\":{\"GAZIYAABAAD\":\"17\",\"FARIDABAD\":\"09\",\"DESAWAR\":\"74\",\"GALI\":\"35\"},\"2026-05-16\":{\"DESAWAR\":\"73\",\"GAZIYAABAAD\":\"06\",\"FARIDABAD\":\"80\",\"GALI\":\"72\"},\"2026-05-17\":{\"GAZIYAABAAD\":\"54\",\"FARIDABAD\":\"69\",\"DESAWAR\":\"76\",\"GALI\":\"85\"},\"2026-05-18\":{\"GAZIYAABAAD\":\"81\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"13\",\"GALI\":\"46\"},\"2026-05-19\":{\"DESAWAR\":\"39\",\"GAZIYAABAAD\":\"83\",\"FARIDABAD\":\"49\",\"GALI\":\"86\"},\"2026-05-20\":{\"GAZIYAABAAD\":\"10\",\"DESAWAR\":\"74\",\"FARIDABAD\":\"79\",\"GALI\":\"19\"},\"2026-05-21\":{\"GAZIYAABAAD\":\"17\",\"DESAWAR\":\"96\",\"FARIDABAD\":\"53\",\"GALI\":\"60\"},\"2026-05-22\":{\"GAZIYAABAAD\":\"00\",\"FARIDABAD\":\"01\",\"DESAWAR\":\"71\",\"GALI\":\"43\"},\"2026-05-23\":{\"DESAWAR\":\"16\",\"FARIDABAD\":\"77\",\"GAZIYAABAAD\":\"18\",\"GALI\":\"23\"},\"2026-05-24\":{\"GAZIYAABAAD\":\"88\",\"DESAWAR\":\"97\",\"FARIDABAD\":\"21\",\"GALI\":\"21\"},\"2026-05-25\":{\"FARIDABAD\":\"54\",\"GAZIYAABAAD\":\"86\",\"DESAWAR\":\"73\",\"GALI\":\"72\"},\"2026-05-26\":{\"FARIDABAD\":\"13\",\"DESAWAR\":\"09\",\"GAZIYAABAAD\":\"08\",\"GALI\":\"79\"},\"2026-05-27\":{\"DESAWAR\":\"83\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"45\",\"GALI\":\"17\"},\"2026-05-28\":{\"DESAWAR\":\"64\",\"FARIDABAD\":\"25\",\"GAZIYAABAAD\":\"41\",\"GALI\":\"81\"},\"2026-05-29\":{\"GAZIYAABAAD\":\"65\",\"FARIDABAD\":\"76\",\"DESAWAR\":\"53\",\"GALI\":\"06\"},\"2026-05-30\":{\"DESAWAR\":\"71\",\"FARIDABAD\":\"43\",\"GAZIYAABAAD\":\"76\",\"GALI\":\"78\"},\"2026-05-31\":{\"DESAWAR\":\"36\"},\"2026-06-01\":{\"GAZIYAABAAD\":\"52\",\"FARIDABAD\":\"03\",\"GALI\":\"53\"},\"2026-06-02\":{\"DESAWAR\":\"11\",\"FARIDABAD\":\"51\",\"GALI\":\"50\",\"GAZIYAABAAD\":\"29\"},\"2026-06-03\":{\"FARIDABAD\":\"65\",\"GAZIYAABAAD\":\"85\",\"DESAWAR\":\"48\",\"GALI\":\"02\"},\"2026-06-04\":{\"DESAWAR\":\"47\",\"FARIDABAD\":\"04\",\"GAZIYAABAAD\":\"78\",\"GALI\":\"16\"},\"2026-06-05\":{\"GAZIYAABAAD\":\"72\",\"DESAWAR\":\"78\",\"FARIDABAD\":\"72\",\"GALI\":\"16\"},\"2026-06-06\":{\"GAZIYAABAAD\":\"66\",\"FARIDABAD\":\"32\",\"DESAWAR\":\"10\",\"GALI\":\"55\"},\"2026-06-07\":{\"GAZIYAABAAD\":\"32\",\"DESAWAR\":\"28\",\"FARIDABAD\":\"88\",\"GALI\":\"78\"},\"2026-06-08\":{\"FARIDABAD\":\"39\",\"DESAWAR\":\"62\",\"GAZIYAABAAD\":\"70\",\"GALI\":\"66\"},\"2026-06-09\":{\"DESAWAR\":\"26\",\"FARIDABAD\":\"35\",\"GAZIYAABAAD\":\"21\",\"GALI\":\"00\"},\"2026-06-10\":{\"FARIDABAD\":\"85\",\"DESAWAR\":\"65\",\"GAZIYAABAAD\":\"33\",\"GALI\":\"31\"},\"2026-06-11\":{\"DESAWAR\":\"31\",\"FARIDABAD\":\"75\",\"GAZIYAABAAD\":\"00\",\"GALI\":\"07\"},\"2026-06-12\":{\"DESAWAR\":\"52\",\"GAZIYAABAAD\":\"20\",\"FARIDABAD\":\"79\",\"GALI\":\"59\"},\"2026-06-13\":{\"GAZIYAABAAD\":\"91\",\"DESAWAR\":\"71\",\"FARIDABAD\":\"58\",\"GALI\":\"10\"},\"2026-06-14\":{\"FARIDABAD\":\"23\",\"DESAWAR\":\"40\",\"GAZIYAABAAD\":\"52\",\"GALI\":\"96\"},\"2026-06-15\":{\"FARIDABAD\":\"31\",\"GAZIYAABAAD\":\"49\",\"DESAWAR\":\"05\",\"GALI\":\"60\"},\"2026-06-16\":{\"DESAWAR\":\"86\",\"GAZIYAABAAD\":\"49\",\"FARIDABAD\":\"57\",\"GALI\":\"70\"},\"2026-06-17\":{\"FARIDABAD\":\"13\",\"DESAWAR\":\"03\",\"GAZIYAABAAD\":\"32\",\"GALI\":\"75\"},\"2026-06-18\":{\"GAZIYAABAAD\":\"59\",\"FARIDABAD\":\"77\",\"DESAWAR\":\"43\",\"GALI\":\"96\"},\"2026-06-19\":{\"DESAWAR\":\"37\",\"FARIDABAD\":\"01\",\"GAZIYAABAAD\":\"23\",\"GALI\":\"93\"},\"2026-06-20\":{\"GAZIYAABAAD\":\"84\",\"DESAWAR\":\"13\",\"FARIDABAD\":\"56\",\"GALI\":\"56\"},\"2026-06-21\":{\"GAZIYAABAAD\":\"83\",\"DESAWAR\":\"56\",\"FARIDABAD\":\"59\",\"GALI\":\"61\"},\"2026-06-22\":{\"GAZIYAABAAD\":\"37\",\"FARIDABAD\":\"19\",\"DESAWAR\":\"76\",\"GALI\":\"86\"},\"2026-06-23\":{\"DESAWAR\":\"70\",\"GAZIYAABAAD\":\"70\",\"FARIDABAD\":\"77\",\"GALI\":\"40\"},\"2026-06-24\":{\"FARIDABAD\":\"14\",\"DESAWAR\":\"97\",\"GAZIYAABAAD\":\"19\",\"GALI\":\"13\"},\"2026-06-25\":{\"DESAWAR\":\"46\",\"FARIDABAD\":\"66\",\"GAZIYAABAAD\":\"30\",\"GALI\":\"54\"},\"2026-06-26\":{\"GAZIYAABAAD\":\"48\",\"FARIDABAD\":\"08\",\"DESAWAR\":\"85\",\"GALI\":\"61\"},\"2026-06-27\":{\"GAZIYAABAAD\":\"85\",\"FARIDABAD\":\"67\",\"DESAWAR\":\"60\",\"GALI\":\"00\"},\"2026-06-28\":{\"DESAWAR\":\"17\",\"GAZIYAABAAD\":\"40\",\"FARIDABAD\":\"06\",\"GALI\":\"66\"},\"2026-06-29\":{\"DESAWAR\":\"53\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"77\",\"GALI\":\"97\"},\"2026-06-30\":{\"DESAWAR\":\"40\"},\"2026-07-01\":{\"DESAWAR\":\"--\",\"GAZIYAABAAD\":\"69\",\"FARIDABAD\":\"97\",\"GALI\":\"78\"},\"2026-07-02\":{\"GAZIYAABAAD\":\"11\",\"FARIDABAD\":\"69\",\"DESAWAR\":\"24\",\"GALI\":\"33\"},\"2026-07-03\":{\"DESAWAR\":\"39\",\"FARIDABAD\":\"73\",\"GAZIYAABAAD\":\"31\",\"GALI\":\"49\"},\"2026-07-04\":{\"DESAWAR\":\"91\",\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"72\",\"GALI\":\"39\"},\"2026-07-05\":{\"DESAWAR\":\"23\",\"GAZIYAABAAD\":\"91\",\"FARIDABAD\":\"92\",\"GALI\":\"36\"},\"2026-07-06\":{\"FARIDABAD\":\"19\",\"GAZIYAABAAD\":\"54\",\"DESAWAR\":\"06\",\"GALI\":\"50\"},\"2026-07-07\":{\"FARIDABAD\":\"04\",\"DESAWAR\":\"19\",\"GAZIYAABAAD\":\"48\",\"GALI\":\"41\"},\"2026-07-08\":{\"DESAWAR\":\"53\",\"FARIDABAD\":\"41\",\"GAZIYAABAAD\":\"71\",\"GALI\":\"21\"},\"2026-07-09\":{\"DESAWAR\":\"02\",\"GALI\":\"75\",\"GAZIYAABAAD\":\"29\",\"FARIDABAD\":\"88\"},\"2026-07-10\":{\"FARIDABAD\":\"74\",\"DESAWAR\":\"26\",\"GAZIYAABAAD\":\"42\",\"GALI\":\"35\"},\"2026-07-11\":{\"FARIDABAD\":\"32\",\"GAZIYAABAAD\":\"04\",\"DESAWAR\":\"53\",\"GALI\":\"04\"},\"2026-07-12\":{\"DESAWAR\":\"26\",\"GAZIYAABAAD\":\"15\",\"FARIDABAD\":\"91\",\"GALI\":\"77\"},\"2026-07-13\":{\"DESAWAR\":\"66\",\"GAZIYAABAAD\":\"87\",\"FARIDABAD\":\"05\",\"GALI\":\"45\"},\"2026-07-14\":{\"GAZIYAABAAD\":\"75\",\"DESAWAR\":\"73\",\"FARIDABAD\":\"93\",\"GALI\":\"52\"},\"2026-07-15\":{\"FARIDABAD\":\"60\",\"GAZIYAABAAD\":\"77\",\"DESAWAR\":\"16\",\"GALI\":\"08\"},\"2026-07-16\":{\"GAZIYAABAAD\":\"05\",\"FARIDABAD\":\"15\",\"DESAWAR\":\"28\",\"GALI\":\"90\"},\"2026-07-17\":{\"DESAWAR\":\"32\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"30\",\"GALI\":\"14\"},\"2026-07-18\":{\"DESAWAR\":\"85\",\"FARIDABAD\":\"07\",\"GAZIYAABAAD\":\"51\",\"GALI\":\"80\"},\"2026-07-19\":{\"GAZIYAABAAD\":\"45\",\"FARIDABAD\":\"83\",\"DESAWAR\":\"16\",\"GALI\":\"57\"},\"2026-07-20\":{\"DESAWAR\":\"83\",\"GAZIYAABAAD\":\"32\",\"FARIDABAD\":\"47\",\"GALI\":\"54\"},\"2026-07-21\":{\"DESAWAR\":\"73\",\"FARIDABAD\":\"06\",\"GAZIYAABAAD\":\"82\",\"GALI\":\"11\"},\"2026-07-22\":{\"DESAWAR\":\"05\",\"GAZIYAABAAD\":\"09\",\"FARIDABAD\":\"34\",\"GALI\":\"40\"},\"2026-07-23\":{\"DESAWAR\":\"20\",\"GAZIYAABAAD\":\"54\",\"FARIDABAD\":\"39\",\"GALI\":\"43\"},\"2026-07-24\":{\"FARIDABAD\":\"76\",\"GAZIYAABAAD\":\"73\",\"DESAWAR\":\"69\",\"GALI\":\"72\"},\"2026-07-25\":{\"DESAWAR\":\"89\",\"GAZIYAABAAD\":\"70\",\"FARIDABAD\":\"32\",\"GALI\":\"58\"},\"2026-07-26\":{\"GAZIYAABAAD\":\"84\",\"FARIDABAD\":\"22\",\"DESAWAR\":\"65\",\"GALI\":\"39\"},\"2026-07-27\":{\"FARIDABAD\":\"74\",\"DESAWAR\":\"06\",\"GAZIYAABAAD\":\"07\",\"GALI\":\"72\"},\"2026-07-28\":{\"GAZIYAABAAD\":\"67\",\"FARIDABAD\":\"27\",\"DESAWAR\":\"75\",\"GALI\":\"02\"},\"2026-07-29\":{\"GAZIYAABAAD\":\"09\",\"FARIDABAD\":\"60\",\"DESAWAR\":\"16\",\"GALI\":\"16\"},\"2026-07-30\":{\"FARIDABAD\":\"40\",\"DESAWAR\":\"67\",\"GAZIYAABAAD\":\"52\",\"GALI\":\"86\"},\"2026-07-31\":{\"DESAWAR\":\"05\"},\"2026-08-01\":{\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"23\",\"GALI\":\"92\"},\"2026-08-02\":{\"DESAWAR\":\"31\",\"FARIDABAD\":\"06\",\"GALI\":\"31\",\"GAZIYAABAAD\":\"15\"},\"2026-08-03\":{\"FARIDABAD\":\"95\",\"DESAWAR\":\"74\",\"GAZIYAABAAD\":\"60\",\"GALI\":\"59\"},\"2026-08-04\":{\"FARIDABAD\":\"12\",\"GAZIYAABAAD\":\"24\",\"DESAWAR\":\"31\",\"GALI\":\"27\"},\"2026-08-05\":{\"DESAWAR\":\"93\",\"FARIDABAD\":\"57\",\"GAZIYAABAAD\":\"22\",\"GALI\":\"85\"},\"2026-08-06\":{\"FARIDABAD\":\"22\",\"DESAWAR\":\"51\",\"GAZIYAABAAD\":\"89\",\"GALI\":\"80\"},\"2026-08-07\":{\"DESAWAR\":\"83\",\"FARIDABAD\":\"26\",\"GAZIYAABAAD\":\"60\",\"GALI\":\"35\"},\"2026-08-08\":{\"GAZIYAABAAD\":\"99\",\"FARIDABAD\":\"81\",\"DESAWAR\":\"96\",\"GALI\":\"93\"},\"2026-08-09\":{\"GAZIYAABAAD\":\"53\",\"DESAWAR\":\"16\",\"FARIDABAD\":\"63\",\"GALI\":\"97\"},\"2026-08-10\":{\"GAZIYAABAAD\":\"69\",\"FARIDABAD\":\"58\",\"DESAWAR\":\"64\",\"GALI\":\"57\"},\"2026-08-11\":{\"GAZIYAABAAD\":\"31\",\"DESAWAR\":\"88\",\"FARIDABAD\":\"58\",\"GALI\":\"92\"},\"2026-08-12\":{\"FARIDABAD\":\"75\",\"DESAWAR\":\"19\",\"GAZIYAABAAD\":\"63\",\"GALI\":\"36\"},\"2026-08-13\":{\"GAZIYAABAAD\":\"79\",\"DESAWAR\":\"79\",\"FARIDABAD\":\"54\",\"GALI\":\"61\"},\"2026-08-14\":{\"FARIDABAD\":\"49\",\"GAZIYAABAAD\":\"38\",\"DESAWAR\":\"12\",\"GALI\":\"71\"},\"2026-08-15\":{\"DESAWAR\":\"49\",\"FARIDABAD\":\"58\",\"GAZIYAABAAD\":\"40\",\"GALI\":\"71\"},\"2026-08-16\":{\"FARIDABAD\":\"90\",\"GAZIYAABAAD\":\"99\",\"DESAWAR\":\"57\",\"GALI\":\"59\"},\"2026-08-17\":{\"FARIDABAD\":\"46\",\"DESAWAR\":\"40\",\"GAZIYAABAAD\":\"20\",\"GALI\":\"15\"},\"2026-08-18\":{\"FARIDABAD\":\"22\",\"GAZIYAABAAD\":\"32\",\"DESAWAR\":\"29\",\"GALI\":\"88\"},\"2026-08-19\":{\"FARIDABAD\":\"59\",\"DESAWAR\":\"40\",\"GAZIYAABAAD\":\"58\",\"GALI\":\"56\"},\"2026-08-20\":{\"FARIDABAD\":\"91\",\"DESAWAR\":\"08\",\"GAZIYAABAAD\":\"22\",\"GALI\":\"53\"},\"2026-08-21\":{\"FARIDABAD\":\"34\",\"GAZIYAABAAD\":\"50\",\"DESAWAR\":\"18\",\"GALI\":\"34\"},\"2026-08-22\":{\"DESAWAR\":\"08\",\"GAZIYAABAAD\":\"11\",\"FARIDABAD\":\"41\",\"GALI\":\"82\"},\"2026-08-23\":{\"DESAWAR\":\"41\",\"GAZIYAABAAD\":\"99\",\"FARIDABAD\":\"88\",\"GALI\":\"83\"},\"2026-08-24\":{\"GAZIYAABAAD\":\"95\",\"FARIDABAD\":\"77\",\"DESAWAR\":\"16\",\"GALI\":\"75\"},\"2026-08-25\":{\"FARIDABAD\":\"71\",\"DESAWAR\":\"36\",\"GAZIYAABAAD\":\"53\",\"GALI\":\"89\"},\"2026-08-26\":{\"DESAWAR\":\"80\",\"FARIDABAD\":\"49\",\"GALI\":\"77\",\"GAZIYAABAAD\":\"90\"},\"2026-08-27\":{\"DESAWAR\":\"99\",\"GAZIYAABAAD\":\"93\",\"FARIDABAD\":\"61\",\"GALI\":\"63\"},\"2026-08-28\":{\"FARIDABAD\":\"23\",\"GAZIYAABAAD\":\"59\",\"GALI\":\"86\",\"DESAWAR\":\"27\"},\"2026-08-29\":{\"FARIDABAD\":\"62\",\"DESAWAR\":\"31\",\"GAZIYAABAAD\":\"64\",\"GALI\":\"45\"},\"2026-08-30\":{\"FARIDABAD\":\"07\",\"DESAWAR\":\"96\",\"GAZIYAABAAD\":\"87\",\"GALI\":\"21\"},\"2026-08-31\":{\"DESAWAR\":\"90\"},\"2026-09-01\":{\"DESAWAR\":\"--\",\"FARIDABAD\":\"45\",\"GAZIYAABAAD\":\"86\",\"GALI\":\"81\"},\"2026-09-02\":{\"DESAWAR\":\"69\",\"GAZIYAABAAD\":\"85\",\"FARIDABAD\":\"19\",\"GALI\":\"96\"},\"2026-09-03\":{\"FARIDABAD\":\"08\",\"GAZIYAABAAD\":\"32\",\"DESAWAR\":\"57\",\"GALI\":\"77\"},\"2026-09-04\":{\"DESAWAR\":\"95\",\"GAZIYAABAAD\":\"95\",\"FARIDABAD\":\"02\",\"GALI\":\"26\"},\"2026-09-05\":{\"FARIDABAD\":\"30\",\"DESAWAR\":\"59\",\"GAZIYAABAAD\":\"68\",\"GALI\":\"37\"},\"2026-09-06\":{\"DESAWAR\":\"78\",\"GAZIYAABAAD\":\"69\",\"FARIDABAD\":\"88\",\"GALI\":\"94\"},\"2026-09-07\":{\"DESAWAR\":\"67\",\"GAZIYAABAAD\":\"02\",\"FARIDABAD\":\"02\",\"GALI\":\"10\"},\"2026-09-08\":{\"DESAWAR\":\"92\",\"FARIDABAD\":\"71\",\"GAZIYAABAAD\":\"93\",\"GALI\":\"64\"},\"2026-09-09\":{\"GAZIYAABAAD\":\"93\",\"FARIDABAD\":\"29\",\"DESAWAR\":\"54\",\"GALI\":\"69\"},\"2026-09-10\":{\"GAZIYAABAAD\":\"72\",\"FARIDABAD\":\"15\",\"DESAWAR\":\"93\",\"GALI\":\"40\"},\"2026-09-11\":{\"GAZIYAABAAD\":\"98\",\"FARIDABAD\":\"72\",\"DESAWAR\":\"40\",\"GALI\":\"34\"},\"2026-09-12\":{\"GAZIYAABAAD\":\"16\",\"DESAWAR\":\"46\",\"FARIDABAD\":\"65\",\"GALI\":\"35\"},\"2026-09-13\":{\"FARIDABAD\":\"74\",\"DESAWAR\":\"02\",\"GAZIYAABAAD\":\"47\",\"GALI\":\"72\"},\"2026-09-14\":{\"DESAWAR\":\"35\",\"FARIDABAD\":\"30\",\"GAZIYAABAAD\":\"50\",\"GALI\":\"87\"},\"2026-09-15\":{\"GAZIYAABAAD\":\"19\",\"FARIDABAD\":\"24\",\"DESAWAR\":\"89\",\"GALI\":\"83\"},\"2026-09-16\":{\"GAZIYAABAAD\":\"42\",\"FARIDABAD\":\"21\",\"DESAWAR\":\"31\",\"GALI\":\"91\"},\"2026-09-17\":{\"FARIDABAD\":\"38\",\"DESAWAR\":\"90\",\"GAZIYAABAAD\":\"34\",\"GALI\":\"73\"},\"2026-09-18\":{\"DESAWAR\":\"49\",\"GAZIYAABAAD\":\"03\",\"FARIDABAD\":\"36\",\"GALI\":\"50\"},\"2026-09-19\":{\"FARIDABAD\":\"21\",\"GAZIYAABAAD\":\"86\",\"DESAWAR\":\"35\",\"GALI\":\"07\"},\"2026-09-20\":{\"DESAWAR\":\"32\"}}};\n\n        \/\/ Helper: get valid number cells\n        function logicChartGetValidNumberCells() {\n            const cells = document.querySelectorAll('#chartTable tbody td');\n            const validCells = [];\n            cells.forEach(cell => {\n                if (cell.cellIndex === 0) return; \/\/ skip Sr column\n                const text = cell.textContent.trim();\n                if (\/^\\d{2}$\/.test(text)) {\n                    validCells.push(cell);\n                }\n            });\n            return validCells;\n        }\n\n        function logicChartGetValidNumbers() {\n            const cells = logicChartGetValidNumberCells();\n            return cells.map(c => parseInt(c.textContent, 10));\n        }\n\n        function logicChartShowPopup(message) {\n            const popup = document.getElementById('infoBox');\n            if (!popup) return;\n            popup.innerHTML = message;\n            popup.style.display = 'block';\n            setTimeout(() => { popup.style.display = 'none'; }, 4000);\n        }\n\n        function logicChartClearHighlights() {\n            document.querySelectorAll('#chartTable td').forEach(td => {\n                if (td.cellIndex === 0) {\n                    td.className = 'highlight-day'; \/\/ Sr column as day highlight\n                } else {\n                    td.className = '';\n                }\n            });\n            const legend = document.getElementById('legend');\n            if (legend) legend.innerHTML = '';\n        }\n\n        function logicChartUpdateResult(title, content) {\n            const t = document.getElementById('resultTitle');\n            const c = document.getElementById('resultContent');\n            if (!t || !c) return;\n            t.textContent = title;\n            c.innerHTML = content;\n        }\n\n        function logicChartAddLegend(color, label) {\n            const legend = document.getElementById('legend');\n            if (!legend) return;\n            const item = document.createElement('div');\n            item.className = 'legend-item';\n            item.innerHTML = '<div class=\"legend-color\" style=\"background-color:' + color + ';\"><\/div> ' + label;\n            legend.appendChild(item);\n        }\n\n        \/\/ If aapne hot\/prediction\/common jodi wala section hata diya hai,\n        \/\/ to yeh safely handle karega (null check).\n        function logicChartUpdateAnalysisPanels() {\n            const numbers = logicChartGetValidNumbers();\n            const hotEl   = document.getElementById('hotNumbers');\n            const nextEl  = document.getElementById('nextDayPrediction');\n            const jodiEl  = document.getElementById('commonJodi');\n\n            if (!hotEl || !nextEl || !jodiEl || !numbers.length) {\n                return;\n            }\n\n            const frequency = {};\n            numbers.forEach(n => { frequency[n] = (frequency[n] || 0) + 1; });\n            const hot = Object.entries(frequency).sort((a,b)=>b[1]-a[1]).slice(0,3).map(it => it[0].toString().padStart(2,'0'));\n            hotEl.textContent = hot.join(', ');\n\n            const recent = numbers.slice(-5);\n            const prediction = recent.map(n => (n + 5) % 100).map(n => n.toString().padStart(2,'0'));\n            nextEl.textContent = prediction.slice(0,3).join(', ');\n\n            const jodiFrequency = {};\n            for (let i=0;i<numbers.length-1;i++){\n                const jodi = numbers[i].toString().padStart(2,'0') + '-' + numbers[i+1].toString().padStart(2,'0');\n                jodiFrequency[jodi] = (jodiFrequency[jodi] || 0) + 1;\n            }\n            const commonJodi = Object.entries(jodiFrequency).sort((a,b)=>b[1]-a[1])[0];\n            jodiEl.textContent = commonJodi ? commonJodi[0] : '--';\n        }\n\n        function logicChartSearchNumbers() {\n            logicChartClearHighlights();\n            const input = document.getElementById('searchInput');\n            if (!input) return;\n            const val = input.value.trim();\n            if (!val) {\n                logicChartShowPopup('\ud83d\udfe6 Type numbers to search like 12,23,45');\n                return;\n            }\n            const nums = val.split(',').map(n => n.trim());\n            let found = false;\n            document.querySelectorAll('#chartTable td').forEach(td => {\n                if (td.cellIndex === 0) return;\n                const text = td.textContent.trim();\n                if (nums.includes(text)) {\n                    td.className = 'highlight-search';\n                    found = true;\n                }\n            });\n            if (found) {\n                logicChartShowPopup('\ud83d\udfe8 Highlighted your searched numbers in yellow!');\n                logicChartUpdateResult('Search Results','Found and highlighted numbers: ' + nums.join(', '));\n                logicChartAddLegend('#ffff66','Searched Numbers');\n            } else {\n                logicChartShowPopup('\ud83d\udd34 No matching numbers found!');\n                logicChartUpdateResult('Search Results','No numbers found matching: ' + nums.join(', '));\n            }\n        }\n\n        function logicChartApplyLogic(logic) {\n            logicChartClearHighlights();\n            const cells = logicChartGetValidNumberCells();\n            const numbers = logicChartGetValidNumbers(); \/\/ All numbers from chart\n\n            if (!cells.length || !numbers.length) {\n                logicChartUpdateResult('No Data', 'Chart me abhi koi valid result nahi hai.');\n                return;\n            }\n\n            const meta = (typeof logicChartMeta === 'object' && logicChartMeta) ? logicChartMeta : {};\n            let info = '';\n            let resultTitle = '';\n            let resultContent = '';\n            let color = '#ffd700'; \/\/ Default\n\n            \/\/ Helper for simple probability (Old buttons upgrade)\n            const calculateTrend = (conditionFn, name) => {\n                const last10 = numbers.slice(-10);\n                const count = last10.filter(conditionFn).length;\n                const percent = (count \/ 10) * 100;\n                return `<br><strong>Trend Analysis (Last 10):<\/strong> ${count} times appeared (${percent}%).<br>Next Chance: <strong>${percent > 50 ? 'HIGH' : 'LOW'}<\/strong>`;\n            };\n\n            switch (logic) {\n                \/* ==== UPDATED OLD LOGICS (Now with Pro Output) ==== *\/\n                case 'taak': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 30) {\n                        resultTitle = '\ud83d\udd34 TAAK (ODD) DYNAMICS V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Analytics ke liye kam se kam 30 draws ka data zaroori hai.<\/div>';\n                        info = '\ud83d\udd34 Taak Logic: Insufficient data.';\n                        break;\n                    }\n\n                    const recent30 = timeline.slice(-30);\n                    let recentOdd = 0, recentEven = 0;\n                    const oddFreq = {};\n\n                    \/\/ 1. DATA EXTRACTION: Calculate Recent Balance & Frequency\n                    recent30.forEach(n => {\n                        if (n % 2 !== 0) {\n                            recentOdd++;\n                            oddFreq[n] = (oddFreq[n] || 0) + 1; \/\/ Track which odd numbers are hitting\n                        } else {\n                            recentEven++;\n                        }\n                    });\n\n                    \/\/ 2. STREAK TRACKER (What is happening right now?)\n                    let currentStreakType = timeline[timeline.length - 1] % 2 !== 0 ? 'ODD' : 'EVEN';\n                    let streakCount = 0;\n                    for (let i = timeline.length - 1; i >= 0; i--) {\n                        let type = timeline[i] % 2 !== 0 ? 'ODD' : 'EVEN';\n                        if (type === currentStreakType) streakCount++;\n                        else break;\n                    }\n\n                    \/\/ 3. EXTRACT TOP 5 SNIPERS\n                    const topOdds = Object.entries(oddFreq)\n                        .sort((a, b) => b[1] - a[1]) \/\/ Sort by frequency\n                        .slice(0, 5)\n                        .map(x => parseInt(x[0]));\n\n                    \/\/ 4. MARKET IMBALANCE CALCULATION\n                    const rOddPct = Math.round((recentOdd \/ 30) * 100);\n                    \n                    let marketStatus = \"\";\n                    let statusColor = \"\";\n                    if (rOddPct < 40) {\n                        marketStatus = \"\ud83d\udd34 ODD IS PENDING (HIGH CHANCE TO HIT)\";\n                        statusColor = \"#00e676\"; \/\/ Green because it's a good opportunity\n                    } else if (rOddPct > 60) {\n                        marketStatus = \"\u26a0\ufe0f ODD IS OVERLOADED (RISKY)\";\n                        statusColor = \"#ff4444\"; \/\/ Red because it's too much\n                    } else {\n                        marketStatus = \"\u2696\ufe0f MARKET IS PERFECTLY BALANCED (50\/50)\";\n                        statusColor = \"#ffd700\";\n                    }\n\n                    \/\/ 5. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udd34 TAAK (ODD) DYNAMICS V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0f0505; border:1px solid #ff4c4c; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(255,76,76,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(255,76,76,0.1); border:1px solid rgba(255,76,76,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('tkLogicInfo'); const arrow = document.getElementById('tkArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#ff9999; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f ADVANCED TAAK ANALYSIS EXPLAINED<\/span>\n                                <span id=\"tkArrow\" style=\"color:#ff9999;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"tkLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#ccc; line-height:1.6; border-top:1px dashed #aa0000; padding-top:10px;\">\n                                Satta market mathematical \"Law of Averages\" par chalta hai. Odd (Taak) aur Even (Jufat) hamesha apne aap ko 50-50% balance karte hain.<br><br>\n                                <b>1. Imbalance Check:<\/b> Agar recent history mein ODD numbers ka percentage 40% se kam ho gaya hai, toh iska matlab hai market apna hisaab barabar karne ke liye ab ODD numbers lagatar dega.<br>\n                                <b>2. Streak Tracker:<\/b> System track karta hai ki market abhi ODD ki line me hai ya EVEN ki line me.<br>\n                                <b>3. Top Snipers:<\/b> Board par 50 odd numbers hote hain jisse khelna mushkil hai. Ye AI pichle 30 dino ka momentum dekh kar un 50 me se <b>Top 5 Target Numbers<\/b> nikalta hai.\n                            <\/div>\n                        <\/div>\n\n                        <!-- MOMENTUM METERS -->\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:20px;\">\n                            <div style=\"background:#1a0505; border:1px solid #ff4c4c; padding:12px; border-radius:8px; text-align:center;\">\n                                <div style=\"font-size:10px; color:#ff9999; letter-spacing:1px; margin-bottom:5px;\">RECENT ODD FLOW (30 DAYS)<\/div>\n                                <div style=\"font-size:24px; font-weight:900; color:#ff4c4c;\">${rOddPct}%<\/div>\n                                <div style=\"width:100%; background:#330000; height:4px; border-radius:2px; margin-top:5px;\">\n                                    <div style=\"width:${rOddPct}%; background:#ff4c4c; height:100%; border-radius:2px; box-shadow:0 0 8px #ff4c4c;\"><\/div>\n                                <\/div>\n                            <\/div>\n                            <div style=\"background:#1a0505; border:1px solid ${currentStreakType === 'ODD' ? '#ff4c4c' : '#00cc66'}; padding:12px; border-radius:8px; text-align:center;\">\n                                <div style=\"font-size:10px; color:#aaa; letter-spacing:1px; margin-bottom:5px;\">CURRENT LIVE STREAK<\/div>\n                                <div style=\"font-size:16px; font-weight:900; color:${currentStreakType === 'ODD' ? '#ff4c4c' : '#00cc66'};\">${currentStreakType} RUNNING<\/div>\n                                <div style=\"font-size:12px; color:#fff; margin-top:2px;\">Active for <b style=\"font-size:14px;\">${streakCount}<\/b> draws<\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#ff9999; margin-bottom:10px; border-bottom:1px solid #331111; padding-bottom:5px; font-weight:bold; letter-spacing:1px;\">\ud83c\udfaf TOP ODD (TAAK) SNIPERS<\/div>\n                        \n                        <!-- TOP 5 ODD TARGETS -->\n                        <div style=\"display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:20px;\">\n                            ${topOdds.map(n => `<div style=\"font-size:22px; font-weight:900; color:#fff; background:linear-gradient(135deg, #cc0000, #ff4c4c); padding:10px 18px; border-radius:8px; border:1px solid #ff9999; box-shadow:0 0 15px rgba(255,76,76,0.4);\">${n.toString().padStart(2,'0')}<\/div>`).join('')}\n                        <\/div>\n                        \n                        <!-- MARKET STATUS BAR -->\n                        <div style=\"font-size:12px; font-weight:bold; color:${statusColor}; text-align:center; background:#110000; padding:10px; border-radius:6px; border:1px dashed ${statusColor};\">\n                            Status: ${marketStatus}\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83d\udd34 Taak Analytics: Imbalance, Streak, aur Top 5 Snipers extract kar liye gaye hain.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        if (val % 2 !== 0) {\n                            if (topOdds.includes(val)) {\n                                c.className = 'highlight-master'; \/\/ Bright highlight for snipers\n                                c.style.border = '2px solid #ff4c4c'; \n                            } else {\n                                c.className = 'highlight-taak';\n                                c.style.opacity = '0.4'; \/\/ Dim regular odds so they don't cause clutter\n                            }\n                        } else {\n                            c.style.opacity = '0.15'; \/\/ Heavily dim EVEN numbers to focus eye on odds\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #ff4c4c', 'Top Hot Odd Snipers');\n                    logicChartAddLegend('#ff4c4c', 'Regular Odd Numbers');\n                    break;\n                }\n\n                case 'jufat': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 30) {\n                        resultTitle = '\ud83d\udfe2 JUFAT (EVEN) DYNAMICS V3.0';\n                        resultContent = '<div style=\"color:#00cc66; padding:10px; border:1px solid #00cc66; background:rgba(0,204,102,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Analytics ke liye kam se kam 30 draws ka data zaroori hai.<\/div>';\n                        info = '\ud83d\udfe2 Jufat Logic: Insufficient data.';\n                        break;\n                    }\n\n                    const recent30 = timeline.slice(-30);\n                    let recentOdd = 0, recentEven = 0;\n                    const evenFreq = {};\n\n                    \/\/ 1. DATA EXTRACTION: Calculate Recent Balance & Frequency\n                    recent30.forEach(n => {\n                        if (n % 2 === 0) {\n                            recentEven++;\n                            evenFreq[n] = (evenFreq[n] || 0) + 1; \/\/ Track which even numbers are hitting\n                        } else {\n                            recentOdd++;\n                        }\n                    });\n\n                    \/\/ 2. STREAK TRACKER (What is happening right now?)\n                    let currentStreakType = timeline[timeline.length - 1] % 2 === 0 ? 'EVEN' : 'ODD';\n                    let streakCount = 0;\n                    for (let i = timeline.length - 1; i >= 0; i--) {\n                        let type = timeline[i] % 2 === 0 ? 'EVEN' : 'ODD';\n                        if (type === currentStreakType) streakCount++;\n                        else break;\n                    }\n\n                    \/\/ 3. EXTRACT TOP 5 SNIPERS\n                    const topEvens = Object.entries(evenFreq)\n                        .sort((a, b) => b[1] - a[1]) \/\/ Sort by frequency\n                        .slice(0, 5)\n                        .map(x => parseInt(x[0]));\n\n                    \/\/ 4. MARKET IMBALANCE CALCULATION\n                    const rEvenPct = Math.round((recentEven \/ 30) * 100);\n                    \n                    let marketStatus = \"\";\n                    let statusColor = \"\";\n                    if (rEvenPct < 40) {\n                        marketStatus = \"\ud83d\udfe2 EVEN IS PENDING (HIGH CHANCE TO HIT)\";\n                        statusColor = \"#00e676\"; \/\/ Green because it's a good opportunity\n                    } else if (rEvenPct > 60) {\n                        marketStatus = \"\u26a0\ufe0f EVEN IS OVERLOADED (RISKY)\";\n                        statusColor = \"#ff4444\"; \/\/ Red because it's too much\n                    } else {\n                        marketStatus = \"\u2696\ufe0f MARKET IS PERFECTLY BALANCED (50\/50)\";\n                        statusColor = \"#ffd700\"; \/\/ Yellow\n                    }\n\n                    \/\/ 5. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udfe2 JUFAT (EVEN) DYNAMICS V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#020a05; border:1px solid #00cc66; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(0,204,102,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(0,204,102,0.1); border:1px solid rgba(0,204,102,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('jfLogicInfo'); const arrow = document.getElementById('jfArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#66ffb2; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f ADVANCED JUFAT ANALYSIS EXPLAINED<\/span>\n                                <span id=\"jfArrow\" style=\"color:#66ffb2;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"jfLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#ccc; line-height:1.6; border-top:1px dashed #006633; padding-top:10px;\">\n                                Satta market mathematical \"Law of Averages\" par chalta hai. Even (Jufat) aur Odd (Taak) hamesha apne aap ko 50-50% balance karte hain.<br><br>\n                                <b>1. Imbalance Check:<\/b> Agar recent history mein EVEN numbers ka percentage 40% se kam ho gaya hai, toh iska matlab market apna hisaab barabar karne ke liye ab lagatar Jufat dega.<br>\n                                <b>2. Streak Tracker:<\/b> System track karta hai ki market abhi EVEN ki line me hai ya ODD ki line me.<br>\n                                <b>3. Top Snipers:<\/b> Board par 50 even numbers hote hain jisse khelna mushkil hai. Ye AI pichle 30 dino ka momentum dekh kar un 50 me se <b>Top 5 Target Numbers<\/b> nikalta hai.\n                            <\/div>\n                        <\/div>\n\n                        <!-- MOMENTUM METERS -->\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:20px;\">\n                            <div style=\"background:#051a0d; border:1px solid #00cc66; padding:12px; border-radius:8px; text-align:center;\">\n                                <div style=\"font-size:10px; color:#66ffb2; letter-spacing:1px; margin-bottom:5px;\">RECENT EVEN FLOW (30 DAYS)<\/div>\n                                <div style=\"font-size:24px; font-weight:900; color:#00cc66;\">${rEvenPct}%<\/div>\n                                <div style=\"width:100%; background:#00331a; height:4px; border-radius:2px; margin-top:5px;\">\n                                    <div style=\"width:${rEvenPct}%; background:#00cc66; height:100%; border-radius:2px; box-shadow:0 0 8px #00cc66;\"><\/div>\n                                <\/div>\n                            <\/div>\n                            <div style=\"background:#051a0d; border:1px solid ${currentStreakType === 'EVEN' ? '#00cc66' : '#ff4c4c'}; padding:12px; border-radius:8px; text-align:center;\">\n                                <div style=\"font-size:10px; color:#aaa; letter-spacing:1px; margin-bottom:5px;\">CURRENT LIVE STREAK<\/div>\n                                <div style=\"font-size:16px; font-weight:900; color:${currentStreakType === 'EVEN' ? '#00cc66' : '#ff4c4c'};\">${currentStreakType} RUNNING<\/div>\n                                <div style=\"font-size:12px; color:#fff; margin-top:2px;\">Active for <b style=\"font-size:14px;\">${streakCount}<\/b> draws<\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#66ffb2; margin-bottom:10px; border-bottom:1px solid #00331a; padding-bottom:5px; font-weight:bold; letter-spacing:1px;\">\ud83c\udfaf TOP EVEN (JUFAT) SNIPERS<\/div>\n                        \n                        <!-- TOP 5 EVEN TARGETS -->\n                        <div style=\"display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:20px;\">\n                            ${topEvens.map(n => `<div style=\"font-size:22px; font-weight:900; color:#000; background:linear-gradient(135deg, #00cc66, #00ff80); padding:10px 18px; border-radius:8px; border:1px solid #ccffcc; box-shadow:0 0 15px rgba(0,204,102,0.4);\">${n.toString().padStart(2,'0')}<\/div>`).join('')}\n                        <\/div>\n                        \n                        <!-- MARKET STATUS BAR -->\n                        <div style=\"font-size:12px; font-weight:bold; color:${statusColor}; text-align:center; background:#001105; padding:10px; border-radius:6px; border:1px dashed ${statusColor};\">\n                            Status: ${marketStatus}\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83d\udfe2 Jufat Analytics: Imbalance, Streak, aur Top 5 Snipers extract kar liye gaye hain.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        if (val % 2 === 0) {\n                            if (topEvens.includes(val)) {\n                                c.className = 'highlight-master'; \/\/ Bright highlight for snipers\n                                c.style.border = '2px solid #00cc66'; \n                            } else {\n                                c.className = 'highlight-jufat';\n                                c.style.opacity = '0.4'; \/\/ Dim regular evens so they don't cause clutter\n                            }\n                        } else {\n                            c.style.opacity = '0.15'; \/\/ Heavily dim ODD numbers to focus eye on evens\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #00cc66', 'Top Hot Even Snipers');\n                    logicChartAddLegend('#00cc66', 'Regular Even Numbers');\n                    break;\n                }\n\n                case '2090': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 30) {\n                        resultTitle = '\ud83d\udfe1 MID-ZONE (20-90) DYNAMICS V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Analytics ke liye kam se kam 30 draws ka data zaroori hai.<\/div>';\n                        info = '\ud83d\udfe1 20-90 Logic: Insufficient historical data.';\n                        break;\n                    }\n\n                    const recent30 = timeline.slice(-30);\n                    let midZoneCount = 0;\n                    const midFreq = {};\n                    \n                    \/\/ Sub-sector tracking\n                    let s1Count = 0; \/\/ 20 - 44\n                    let s2Count = 0; \/\/ 45 - 69\n                    let s3Count = 0; \/\/ 70 - 90\n\n                    \/\/ 1. DATA EXTRACTION: Analyze last 30 draws\n                    recent30.forEach(n => {\n                        if (n >= 20 && n <= 90) {\n                            midZoneCount++;\n                            midFreq[n] = (midFreq[n] || 0) + 1;\n                            \n                            if (n >= 20 && n <= 44) s1Count++;\n                            else if (n >= 45 && n <= 69) s2Count++;\n                            else if (n >= 70 && n <= 90) s3Count++;\n                        }\n                    });\n\n                    \/\/ 2. DETERMINE HOTTEST SUB-SECTOR\n                    let hotSectorName = \"\";\n                    let hotSectorRange = \"\";\n                    let maxSector = Math.max(s1Count, s2Count, s3Count);\n                    \n                    if (maxSector === s1Count) { hotSectorName = \"LOWER MID\"; hotSectorRange = \"20 - 44\"; }\n                    else if (maxSector === s2Count) { hotSectorName = \"CORE MID\"; hotSectorRange = \"45 - 69\"; }\n                    else { hotSectorName = \"UPPER MID\"; hotSectorRange = \"70 - 90\"; }\n\n                    \/\/ 3. EXTRACT TOP 5 SNIPERS\n                    const topMidSnipers = Object.entries(midFreq)\n                        .sort((a, b) => b[1] - a[1]) \/\/ Sort by frequency\n                        .slice(0, 5)\n                        .map(x => parseInt(x[0]));\n\n                    \/\/ 4. OVERALL MARKET BALANCE (Should be ~71% naturally)\n                    const midPct = Math.round((midZoneCount \/ 30) * 100);\n                    let marketStatus = \"\";\n                    let statusColor = \"\";\n                    \n                    if (midPct < 55) {\n                        marketStatus = \"\ud83d\udfe1 MID-ZONE IS PENDING (MARKET STUCK ON EDGES)\";\n                        statusColor = \"#00e676\"; \/\/ Green because it's a huge opportunity\n                    } else if (midPct > 80) {\n                        marketStatus = \"\u26a0\ufe0f MID-ZONE OVERLOADED (EDGES 00-19\/91-99 WILL HIT SOON)\";\n                        statusColor = \"#ff4444\"; \/\/ Red because it's saturated\n                    } else {\n                        marketStatus = \"\u2696\ufe0f MARKET FLOW IS NORMAL (71% AVG MAINTAINED)\";\n                        statusColor = \"#ffd700\"; \/\/ Yellow\n                    }\n\n                    \/\/ 5. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udfe1 MID-ZONE (20-90) DYNAMICS V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0a0a00; border:1px solid #ffd700; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(255,215,0,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(255,215,0,0.1); border:1px solid rgba(255,215,0,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('mzLogicInfo'); const arrow = document.getElementById('mzArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#ffe666; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f ADVANCED MID-ZONE ANALYSIS<\/span>\n                                <span id=\"mzArrow\" style=\"color:#ffe666;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"mzLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#ccc; line-height:1.6; border-top:1px dashed #aa8800; padding-top:10px;\">\n                                Board par total 100 numbers mein se 71 numbers (20 se 90) \"Mid-Zone\" mein aate hain. Extreme Edges (00-19 aur 91-99) kam aate hain.<br><br>\n                                <b>1. Sub-Sector Scan:<\/b> Ye AI itne bade 71-number block ko khelne ko nahi bolta. Ye ise 3 hisson mein tod kar batata hai ki pichle 30 dino me sabse zyada action kis hisse (sector) mein ho raha hai.<br>\n                                <b>2. Overload Check:<\/b> Agar market lagatar 20-90 ke beech ghoom raha hai, toh AI alert karta hai ki ab \"Edges\" (00-19 ya 91-99) aane wale hain.<br>\n                                <b>3. Top Snipers:<\/b> In 71 numbers mein se sabse strong (hot) Top 5 numbers extract kiye jate hain.\n                            <\/div>\n                        <\/div>\n\n                        <!-- METERS & HOT SECTOR -->\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:20px;\">\n                            <div style=\"background:#1a1a00; border:1px solid #ffd700; padding:12px; border-radius:8px; text-align:center;\">\n                                <div style=\"font-size:10px; color:#ffe666; letter-spacing:1px; margin-bottom:5px;\">CURRENT MID-ZONE FLOW<\/div>\n                                <div style=\"font-size:24px; font-weight:900; color:#ffd700;\">${midPct}%<\/div>\n                                <div style=\"width:100%; background:#333300; height:4px; border-radius:2px; margin-top:5px;\">\n                                    <div style=\"width:${midPct}%; background:#ffd700; height:100%; border-radius:2px; box-shadow:0 0 8px #ffd700;\"><\/div>\n                                <\/div>\n                            <\/div>\n                            <div style=\"background:#1a1a00; border:1px solid #ff9900; padding:12px; border-radius:8px; text-align:center;\">\n                                <div style=\"font-size:10px; color:#aaa; letter-spacing:1px; margin-bottom:5px;\">\ud83d\udd25 HOTTEST SUB-SECTOR<\/div>\n                                <div style=\"font-size:16px; font-weight:900; color:#ff9900;\">${hotSectorName}<\/div>\n                                <div style=\"font-size:12px; color:#fff; margin-top:2px;\">Range: <b style=\"font-size:14px;\">${hotSectorRange}<\/b><\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#ffe666; margin-bottom:10px; border-bottom:1px solid #333300; padding-bottom:5px; font-weight:bold; letter-spacing:1px;\">\ud83c\udfaf TOP 5 MID-ZONE SNIPERS<\/div>\n                        \n                        <!-- TOP 5 TARGETS -->\n                        <div style=\"display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:20px;\">\n                            ${topMidSnipers.map(n => `<div style=\"font-size:22px; font-weight:900; color:#000; background:linear-gradient(135deg, #ffd700, #ffea80); padding:10px 18px; border-radius:8px; border:1px solid #fff; box-shadow:0 0 15px rgba(255,215,0,0.4);\">${n.toString().padStart(2,'0')}<\/div>`).join('')}\n                        <\/div>\n                        \n                        <!-- MARKET STATUS BAR -->\n                        <div style=\"font-size:11px; font-weight:bold; color:${statusColor}; text-align:center; background:#111100; padding:10px; border-radius:6px; border:1px dashed ${statusColor};\">\n                            Status: ${marketStatus}\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83d\udfe1 Mid-Zone Pro: Flow tracker, Sub-Sectors, aur Top 5 Snipers generate ho gaye hain.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        if (val >= 20 && val <= 90) {\n                            if (topMidSnipers.includes(val)) {\n                                c.className = 'highlight-master'; \/\/ Bright highlight for snipers\n                                c.style.border = '2px solid #ffd700'; \n                            } else {\n                                c.className = 'highlight-2090'; \/\/ Your CSS class\n                                c.style.opacity = '0.4'; \/\/ Dim regular 20-90 numbers so they don't cause clutter\n                            }\n                        } else {\n                            c.style.opacity = '0.15'; \/\/ Heavily dim the edges (00-19 & 91-99) to focus eye on mid-zone\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #ffd700', 'Top 5 Hot Mid-Zone Snipers');\n                    logicChartAddLegend('#ffd700', 'Regular Mid-Zone Numbers');\n                    break;\n                }\n\n                case '50': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 30) {\n                        resultTitle = '\ud83d\udd35\ud83d\udfe0 HIGH-LOW DYNAMICS V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: High-Low analytics ke liye kam se kam 30 draws ka data chahiye.<\/div>';\n                        info = '\ud83d\udd35\ud83d\udfe0 High-Low Logic: Insufficient historical data.';\n                        break;\n                    }\n\n                    const recent30 = timeline.slice(-30);\n                    let lowCount = 0, highCount = 0;\n                    const lowFreq = {};\n                    const highFreq = {};\n\n                    \/\/ 1. DATA EXTRACTION: Proper 50\/50 Split (00-49 vs 50-99)\n                    recent30.forEach(n => {\n                        if (n < 50) {\n                            lowCount++;\n                            lowFreq[n] = (lowFreq[n] || 0) + 1;\n                        } else {\n                            highCount++;\n                            highFreq[n] = (highFreq[n] || 0) + 1;\n                        }\n                    });\n\n                    const lowPct = Math.round((lowCount \/ 30) * 100);\n                    const highPct = 100 - lowPct;\n\n                    \/\/ 2. LIVE STREAK TRACKER\n                    let currentStreakType = timeline[timeline.length - 1] < 50 ? 'LOW' : 'HIGH';\n                    let streakCount = 0;\n                    for (let i = timeline.length - 1; i >= 0; i--) {\n                        let type = timeline[i] < 50 ? 'LOW' : 'HIGH';\n                        if (type === currentStreakType) streakCount++;\n                        else break;\n                    }\n\n                    \/\/ 3. TARGETING ENGINE: Which side should we play?\n                    let targetSide = \"\";\n                    let marketStatus = \"\";\n                    let targetColor = \"\";\n\n                    if (lowPct < 40) {\n                        targetSide = \"LOW\";\n                        marketStatus = \"\ud83d\udd35 LOW ZONE IS PENDING (HIGH CHANCE TO HIT)\";\n                        targetColor = \"#00bfff\";\n                    } else if (highPct < 40) {\n                        targetSide = \"HIGH\";\n                        marketStatus = \"\ud83d\udfe0 HIGH ZONE IS PENDING (HIGH CHANCE TO HIT)\";\n                        targetColor = \"#ff9900\";\n                    } else {\n                        \/\/ If balanced, follow the trend\/streak\n                        targetSide = currentStreakType;\n                        marketStatus = `\u2696\ufe0f MARKET BALANCED (RIDING CURRENT ${targetSide} STREAK)`;\n                        targetColor = targetSide === \"LOW\" ? \"#00bfff\" : \"#ff9900\";\n                    }\n\n                    \/\/ 4. EXTRACT TOP 5 SNIPERS FROM TARGET SIDE\n                    let targetFreq = targetSide === \"LOW\" ? lowFreq : highFreq;\n                    const topSnipers = Object.entries(targetFreq)\n                        .sort((a, b) => b[1] - a[1])\n                        .slice(0, 5)\n                        .map(x => parseInt(x[0]));\n\n                    \/\/ Ensure we have 5 targets even if frequency map is small\n                    if(topSnipers.length < 5) {\n                        let fallbackSet = targetSide === \"LOW\" ? [10,25,35,45] : [55,65,75,85];\n                        fallbackSet.forEach(n => {\n                            if(!topSnipers.includes(n) && topSnipers.length < 5) topSnipers.push(n);\n                        });\n                    }\n\n                    \/\/ 5. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udd35\ud83d\udfe0 HIGH-LOW DYNAMICS V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#020a14; border:1px solid ${targetColor}; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px ${targetColor}33;\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:${targetColor}1a; border:1px solid ${targetColor}4d; padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('hlLogicInfo'); const arrow = document.getElementById('hlArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:${targetColor}; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW HIGH-LOW LOGIC WORKS?<\/span>\n                                <span id=\"hlArrow\" style=\"color:${targetColor};\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"hlLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#aaa; line-height:1.6; border-top:1px dashed ${targetColor}; padding-top:10px;\">\n                                Market hamesha Low (00-49) aur High (50-99) ko 50-50 balance karne ki koshish karta hai.<br><br>\n                                <b>1. Scale Check:<\/b> AI pichle 30 dino ka wajan (weight) dekhta hai. Agar Low numbers kam aaye hain, toh palla High ki taraf jhuka hota hai. Aise me AI 'Low' numbers ko target banata hai.<br>\n                                <b>2. Streak Riding:<\/b> Agar scale barabar (balanced) hai, toh AI current streak ko follow karta hai.<br>\n                                <b>3. Snipers Only:<\/b> Poore 50 numbers khelne ke bajaye, ye us zone ke andar aane wale Top 5 sabse strong numbers nikalta hai.\n                            <\/div>\n                        <\/div>\n\n                        <!-- 50\/50 SCALE BALANCE METER -->\n                        <div style=\"background:#0a1526; border:1px solid #1a365d; padding:15px; border-radius:8px; margin-bottom:20px; text-align:center;\">\n                            <div style=\"font-size:10px; color:#aaa; letter-spacing:1px; margin-bottom:10px;\">30-DAY MARKET BALANCE<\/div>\n                            <div style=\"display:flex; align-items:center; justify-content:space-between; margin-bottom:5px;\">\n                                <div style=\"color:#00bfff; font-weight:900; font-size:18px;\">LOW: ${lowPct}%<\/div>\n                                <div style=\"color:#ff9900; font-weight:900; font-size:18px;\">HIGH: ${highPct}%<\/div>\n                            <\/div>\n                            <!-- Dual Progress Bar -->\n                            <div style=\"display:flex; width:100%; height:8px; border-radius:4px; overflow:hidden;\">\n                                <div style=\"width:${lowPct}%; background:#00bfff; box-shadow:inset 0 0 5px rgba(255,255,255,0.3);\"><\/div>\n                                <div style=\"width:${highPct}%; background:#ff9900; box-shadow:inset 0 0 5px rgba(255,255,255,0.3);\"><\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:${targetColor}; margin-bottom:10px; border-bottom:1px solid #1a365d; padding-bottom:5px; font-weight:bold; letter-spacing:1px;\">\ud83c\udfaf TARGET SNIPERS (${targetSide} ZONE)<\/div>\n                        \n                        <!-- TOP 5 TARGETS -->\n                        <div style=\"display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:20px;\">\n                            ${topSnipers.map(n => `<div style=\"font-size:22px; font-weight:900; color:#fff; background:linear-gradient(135deg, ${targetSide === 'LOW' ? '#006699, #00bfff' : '#cc7a00, #ff9900'}); padding:10px 18px; border-radius:8px; border:1px solid #fff; box-shadow:0 0 15px ${targetColor}66;\">${n.toString().padStart(2,'0')}<\/div>`).join('')}\n                        <\/div>\n                        \n                        <!-- MARKET STATUS BAR -->\n                        <div style=\"font-size:11px; font-weight:bold; color:${targetColor}; text-align:center; background:#05101a; padding:10px; border-radius:6px; border:1px dashed ${targetColor};\">\n                            Status: ${marketStatus}<br>\n                            <span style=\"font-size:9px; color:#888;\">(Live Streak: ${currentStreakType} for ${streakCount} draws)<\/span>\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = `\ud83d\udd35\ud83d\udfe0 High-Low Dynamics: ${targetSide} zone targeted based on market flow.`;\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        let isLow = val < 50;\n\n                        if ((targetSide === \"LOW\" && isLow) || (targetSide === \"HIGH\" && !isLow)) {\n                            if (topSnipers.includes(val)) {\n                                c.className = 'highlight-master'; \/\/ Bright highlight for snipers\n                                c.style.border = `2px solid ${targetColor}`;\n                            } else {\n                                c.className = isLow ? 'highlight-50low' : 'highlight-50high'; \/\/ Your CSS class\n                                c.style.opacity = '0.4'; \/\/ Dim regular targeted numbers\n                            }\n                        } else {\n                            c.style.opacity = '0.1'; \/\/ Heavily dim the non-target zone\n                        }\n                    });\n                    \n                    logicChartAddLegend(`transparent; border:2px solid ${targetColor}`, `Top 5 ${targetSide} Snipers`);\n                    logicChartAddLegend(targetColor, `Regular ${targetSide} Zone`);\n                    break;\n                }\n                    \n                case 'quadrant':\n                    logicQuadrantSniperPro();\n                    return;\n\n                case 'shield':\n                    logicShieldSafeMode();\n                    return;\n\n                case 'missing': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 100) {\n                        resultTitle = '\u26a0\ufe0f SLEEPING GIANTS V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Deep Sleep calculate karne ke liye kam se kam 100 draws ka data zaroori hai.<\/div>';\n                        info = '\u26a0\ufe0f Missing Logic: Insufficient historical data.';\n                        break;\n                    }\n\n                    const curIdx = timeline.length - 1;\n                    const lastSeen = {};\n                    \n                    \/\/ 1. DATA EXTRACTION: Deep history scan for last appearance\n                    timeline.forEach((n, idx) => {\n                        lastSeen[n] = idx; \n                    });\n\n                    const missingStats = [];\n\n                    \/\/ 2. CRYO-STATE CALCULATION\n                    for(let i=0; i<=99; i++) {\n                        \/\/ If number never appeared in entire history, cap it at timeline length\n                        let gap = lastSeen[i] !== undefined ? (curIdx - lastSeen[i]) : curIdx;\n                        \n                        \/\/ We only care about Sleeping Giants (> 30 days)\n                        if(gap > 30) {\n                            let state = \"\";\n                            let stateColor = \"\";\n                            \n                            if (gap > 90) {\n                                state = \"DEEP SLEEP (CRITICAL)\";\n                                stateColor = \"#9c27b0\"; \/\/ Deep Purple\n                            } else if (gap > 60) {\n                                state = \"COMATOSE (SEVERE)\";\n                                stateColor = \"#e91e63\"; \/\/ Pink\/Red\n                            } else {\n                                state = \"DORMANT (HIGH)\";\n                                stateColor = \"#ff9800\"; \/\/ Orange\n                            }\n\n                            missingStats.push({ n: i, gap: gap, state: state, color: stateColor });\n                        }\n                    }\n\n                    \/\/ 3. SORT & EXTRACT TOP 6 LONGEST ABSENTEES\n                    missingStats.sort((a, b) => b.gap - a.gap);\n                    const topMissing = missingStats.slice(0, 6);\n\n                    \/\/ 4. GENERATE PREMIUM UI\n                    resultTitle = '\u26a0\ufe0f SLEEPING GIANTS (OVERDUE RADAR) V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0a0a14; border:1px solid #ff00ff; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(255,0,255,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(255,0,255,0.1); border:1px solid rgba(255,0,255,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('msLogicInfo'); const arrow = document.getElementById('msArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#ff66ff; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f WHAT ARE SLEEPING GIANTS?<\/span>\n                                <span id=\"msArrow\" style=\"color:#ff66ff;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"msLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#ccc; line-height:1.6; border-top:1px dashed #aa00aa; padding-top:10px;\">\n                                Ye radar un numbers ko detect karta hai jo market se bahut lambe samay se gayab hain (Overdue).<br><br>\n                                <b>1. Deep History Scan:<\/b> Ye sirf current saal nahi, balki pichle saalon tak ka record check karta hai ki aakhiri baar ye number kis din aaya tha.<br>\n                                <b>2. Return Probability:<\/b> Jo number \"DORMANT\" (30-60 days) hote hain, unke achanak wapas aane (Return) ke chance sabse high hote hain. Jo \"DEEP SLEEP\" (>90 days) hain, unhe tab tak nahi khelna chahiye jab tak wo ek baar khul na jayein (Avoid dead numbers).\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"display:flex; justify-content:space-between; border-bottom:1px solid #2a1b38; padding-bottom:8px; margin-bottom:15px;\">\n                            <div style=\"font-size:11px; color:#ff66ff; font-weight:bold; letter-spacing:1px;\">\ud83d\udea8 MOST OVERDUE TARGETS<\/div>\n                            <div style=\"font-size:10px; color:#888;\">Threshold: > 30 Days<\/div>\n                        <\/div>\n                    `;\n\n                    if (topMissing.length === 0) {\n                        htmlOut += `<div style=\"text-align:center; color:#ff9999; padding:20px; font-size:12px; background:#1a0f1a; border-radius:8px;\">Sabhi numbers apna normal rotation poora kar rahe hain. Koi bhi number 30 din se zyada overdue nahi hai.<\/div>`;\n                    } else {\n                        htmlOut += `<div style=\"display:grid; grid-template-columns: repeat(2, 1fr); gap:12px;\">`;\n                        \n                        topMissing.forEach(c => {\n                            \/\/ Calculate visual fill (capping at 120 days for UI purposes)\n                            let visualGap = Math.min((c.gap \/ 120) * 100, 100);\n                            \n                            htmlOut += `\n                            <div style=\"background:#130b1c; border:1px solid #2a1b38; padding:12px; border-radius:8px; position:relative; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:5px;\">\n                                    <span style=\"font-size:28px; font-weight:900; color:#fff; text-shadow:0 0 10px rgba(255,255,255,0.2);\">${c.n.toString().padStart(2,'0')}<\/span>\n                                    <div style=\"text-align:right;\">\n                                        <div style=\"font-size:10px; color:#aaa; margin-bottom:2px;\">MISSING FOR<\/div>\n                                        <div style=\"font-size:18px; font-weight:bold; color:${c.color};\">${c.gap} <span style=\"font-size:10px; color:#666;\">DAYS<\/span><\/div>\n                                    <\/div>\n                                <\/div>\n                                \n                                <div style=\"font-size:9px; font-weight:bold; color:${c.color}; margin-bottom:4px; letter-spacing:1px;\">\n                                    STATUS: ${c.state}\n                                <\/div>\n                                \n                                <div style=\"width:100%; background:#000; height:6px; border-radius:3px; overflow:hidden;\">\n                                    <div style=\"width:${visualGap}%; background:linear-gradient(90deg, #444, ${c.color}); height:100%; border-radius:3px;\"><\/div>\n                                <\/div>\n                            <\/div>`;\n                        });\n                        \n                        htmlOut += `<\/div>`;\n                    }\n\n                    htmlOut += `<\/div>`;\n                    resultContent = htmlOut;\n                    info = '\u26a0\ufe0f Sleeping Giants: Deep scan complete. Overdue numbers extract kar liye gaye hain.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        const match = topMissing.find(x => x.n === val);\n                        \n                        if (match) {\n                            c.className = 'highlight-master';\n                            \/\/ Use the specific danger color of that number for its border\n                            c.style.border = `2px solid ${match.color}`;\n                        } else {\n                            c.style.opacity = '0.3'; \/\/ Dim everything else so the missing targets pop out\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #ff9800', 'Dormant (>30 Days)');\n                    logicChartAddLegend('transparent; border:2px solid #e91e63', 'Comatose (>60 Days)');\n                    logicChartAddLegend('transparent; border:2px solid #9c27b0', 'Deep Sleep (>90 Days)');\n                    break;\n                }\n                     \n                case 'hotcold': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 50) {\n                        resultTitle = '\ud83d\udd25\u2744\ufe0f THERMAL MOMENTUM V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Thermal scanning ke liye kam se kam 50 draws ka deep data chahiye.<\/div>';\n                        info = '\ud83d\udd25\u2744\ufe0f Hot\/Cold Logic: Insufficient historical data.';\n                        break;\n                    }\n\n                    \/\/ 1. SPLIT TIMEFRAMES FOR HEAT ANALYSIS\n                    const globalFreq = {};\n                    const midFreq = {};   \/\/ Last 30 days\n                    const shortFreq = {}; \/\/ Last 10 days\n\n                    timeline.forEach(n => { globalFreq[n] = (globalFreq[n] || 0) + 1; });\n                    const maxGlobal = Math.max(...Object.values(globalFreq)) || 1;\n\n                    timeline.slice(-30).forEach(n => { midFreq[n] = (midFreq[n] || 0) + 1; });\n                    timeline.slice(-10).forEach(n => { shortFreq[n] = (shortFreq[n] || 0) + 1; });\n\n                    \/\/ 2. THERMODYNAMIC SCORING ENGINE\n                    const scored = [];\n                    for (let i = 0; i <= 99; i++) {\n                        \/\/ Normalize global so it doesn't overpower recent heat (Scale 0-10)\n                        let gScore = ((globalFreq[i] || 0) \/ maxGlobal) * 10; \n                        \n                        let mScore = (midFreq[i] || 0) * 4;  \/\/ Mid-term multiplier\n                        let sScore = (shortFreq[i] || 0) * 10; \/\/ Short-term multiplier (Highest weight)\n                        \n                        let totalScore = Math.round(gScore + mScore + sScore);\n                        \n                        scored.push({ \n                            n: i, \n                            score: totalScore, \n                            short: (shortFreq[i] || 0), \n                            mid: (midFreq[i] || 0), \n                            global: (globalFreq[i] || 0) \n                        });\n                    }\n\n                    \/\/ 3. CATEGORIZATION (Hot, Cold, Rising)\n                    \n                    \/\/ A. SUPER HOT (Top Overall Momentum)\n                    scored.sort((a, b) => b.score - a.score);\n                    const topHot = scored.slice(0, 5);\n                    const hotNums = topHot.map(x => x.n);\n\n                    \/\/ B. WARMING UP \/ RISING STARS (Hitting now, but not in top overall)\n                    const rising = scored.filter(x => x.short > 0 && !hotNums.includes(x.n))\n                                         .sort((a, b) => b.short - a.short || b.score - a.score)\n                                         .slice(0, 3);\n                    const risingNums = rising.map(x => x.n);\n\n                    \/\/ C. ICE COLD (Zero recent hits, sorted by lowest historical presence to find true dead numbers)\n                    const coldCandidates = scored.filter(x => x.mid === 0)\n                                                 .sort((a, b) => a.global - b.global);\n                    \n                    \/\/ Fallback just in case every number appeared in last 30 days (very rare)\n                    const topCold = coldCandidates.length >= 5 ? coldCandidates.slice(0, 5) : scored.slice(-5).reverse();\n                    const coldNums = topCold.map(x => x.n);\n\n                    \/\/ 4. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udd25\u2744\ufe0f THERMAL MOMENTUM PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#050a0f; border:1px solid #444; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(0,0,0,0.5);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('hcLogicInfo'); const arrow = document.getElementById('hcArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#aaa; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f THERMODYNAMIC ENGINE EXPLAINED<\/span>\n                                <span id=\"hcArrow\" style=\"color:#aaa;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"hcLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#888; line-height:1.6; border-top:1px dashed #333; padding-top:10px;\">\n                                Ye engine market ki 'Heat' ko 3 levels par check karta hai: All-Time, Last 30 Days, aur Last 10 Days.<br><br>\n                                <b style=\"color:#ff4c4c;\">\ud83d\udd25 SUPER HOT:<\/b> Jo numbers tezi se aur lagatar aa rahe hain.<br>\n                                <b style=\"color:#f59e0b;\">\ud83d\udcc8 WARMING UP:<\/b> (Rising Stars) Ye wo numbers hain jo mahino se band the, par pichle 10 din mein achanak khulne lage hain. Ye future ke Hot numbers hain.<br>\n                                <b style=\"color:#00bfff;\">\u2744\ufe0f ICE COLD:<\/b> Jo pichle 1 mahine se puri tarah 'Dead' (Freeze) hain. Inhe avoid karna chahiye.\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"display:grid; grid-template-columns: 1fr; gap:15px;\">\n                            \n                            <!-- \ud83d\udd25 SUPER HOT SECTION -->\n                            <div style=\"background:linear-gradient(135deg, rgba(255,0,0,0.1), rgba(0,0,0,0.8)); border:1px solid #ff4c4c; padding:15px; border-radius:10px; box-shadow:inset 0 0 20px rgba(255,0,0,0.1);\">\n                                <div style=\"font-size:11px; color:#ff4c4c; font-weight:bold; margin-bottom:12px; letter-spacing:1px; display:flex; align-items:center; gap:5px;\">\n                                    <span>\ud83d\udd25<\/span> SUPER HOT (TRENDING NOW)\n                                <\/div>\n                                <div style=\"display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-start;\">\n                                    ${topHot.map(c => `\n                                        <div style=\"background:#2a0000; border:1px solid #ff4c4c; padding:8px 15px; border-radius:6px; text-align:center;\">\n                                            <div style=\"font-size:22px; font-weight:900; color:#fff; text-shadow:0 0 10px #ff0000;\">${c.n.toString().padStart(2,'0')}<\/div>\n                                            <div style=\"font-size:9px; color:#ff9999; margin-top:2px;\">Score: ${c.score}<\/div>\n                                        <\/div>\n                                    `).join('')}\n                                <\/div>\n                            <\/div>\n\n                            <!-- \ud83d\udcc8 WARMING UP SECTION -->\n                            ${rising.length > 0 ? `\n                            <div style=\"background:linear-gradient(135deg, rgba(245,158,11,0.1), rgba(0,0,0,0.8)); border:1px solid #f59e0b; padding:15px; border-radius:10px; box-shadow:inset 0 0 20px rgba(245,158,11,0.1);\">\n                                <div style=\"font-size:11px; color:#f59e0b; font-weight:bold; margin-bottom:12px; letter-spacing:1px; display:flex; align-items:center; gap:5px;\">\n                                    <span>\ud83d\udcc8<\/span> WARMING UP (RISING STARS)\n                                <\/div>\n                                <div style=\"display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-start;\">\n                                    ${rising.map(c => `\n                                        <div style=\"background:#2a1a00; border:1px solid #f59e0b; padding:8px 15px; border-radius:6px; text-align:center;\">\n                                            <div style=\"font-size:22px; font-weight:900; color:#fff; text-shadow:0 0 10px #f59e0b;\">${c.n.toString().padStart(2,'0')}<\/div>\n                                            <div style=\"font-size:9px; color:#fcd34d; margin-top:2px;\">Recent Hits: ${c.short}<\/div>\n                                        <\/div>\n                                    `).join('')}\n                                <\/div>\n                            <\/div>\n                            ` : ''}\n\n                            <!-- \u2744\ufe0f ICE COLD SECTION -->\n                            <div style=\"background:linear-gradient(135deg, rgba(0,191,255,0.1), rgba(0,0,0,0.8)); border:1px solid #00bfff; padding:15px; border-radius:10px; box-shadow:inset 0 0 20px rgba(0,191,255,0.1);\">\n                                <div style=\"font-size:11px; color:#00bfff; font-weight:bold; margin-bottom:12px; letter-spacing:1px; display:flex; align-items:center; gap:5px;\">\n                                    <span>\u2744\ufe0f<\/span> DEEP FREEZE (AVOID)\n                                <\/div>\n                                <div style=\"display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-start;\">\n                                    ${topCold.map(c => `\n                                        <div style=\"background:#001a33; border:1px solid #00bfff; padding:8px 15px; border-radius:6px; text-align:center; opacity:0.7;\">\n                                            <div style=\"font-size:22px; font-weight:900; color:#fff; text-shadow:0 0 10px #00bfff;\">${c.n.toString().padStart(2,'0')}<\/div>\n                                            <div style=\"font-size:9px; color:#80dfff; margin-top:2px;\">0 Hits in 30D<\/div>\n                                        <\/div>\n                                    `).join('')}\n                                <\/div>\n                            <\/div>\n\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83d\udd25\u2744\ufe0f Thermal Momentum: Hot, Cold aur Rising Stars ka data extract kar liya gaya hai.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        if (hotNums.includes(val)) {\n                            c.className = 'highlight-hot';\n                            c.style.border = '2px solid #ff4c4c';\n                        } else if (risingNums.includes(val)) {\n                            c.className = 'highlight-master';\n                            c.style.border = '2px dashed #f59e0b';\n                        } else if (coldNums.includes(val)) {\n                            c.className = 'highlight-cold';\n                            c.style.opacity = '0.3'; \/\/ Dim dead numbers\n                        } else {\n                            c.style.opacity = '0.6'; \/\/ Slightly dim neutral numbers\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #ff4c4c', 'Super Hot');\n                    logicChartAddLegend('transparent; border:2px dashed #f59e0b', 'Warming Up (Rising)');\n                    logicChartAddLegend('transparent; border:2px solid #00bfff', 'Ice Cold (Dead)');\n                    break;\n                }\n\n                case 'oracle':\n                    logicTheOracle();\n                    return;\n\n                case 'firstlast': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 30) {\n                        resultTitle = '\ud83c\udff9 DIGIT VELOCITY PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Kam se kam 30 draws ka data zaroori hai.<\/div>';\n                        info = '\ud83c\udff9 Digit Velocity: Insufficient historical data.';\n                        break;\n                    }\n\n                    const recent30 = timeline.slice(-30);\n                    const openScores = {0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0};\n                    const closeScores = {0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0};\n\n                    \/\/ 1. DATA EXTRACTION: Recency Weighted (Last 10 days get 2x points)\n                    for (let i = 0; i < recent30.length; i++) {\n                        let nStr = recent30[i].toString().padStart(2, '0');\n                        let oDig = parseInt(nStr[0]);\n                        let cDig = parseInt(nStr[1]);\n                        \n                        \/\/ i=0 is 30 days ago, i=29 is today.\n                        \/\/ So if i >= 20 (last 10 days), weight is 2 to catch \"Current Form\".\n                        let weight = i >= 20 ? 2 : 1; \n                        \n                        openScores[oDig] += weight;\n                        closeScores[cDig] += weight;\n                    }\n\n                    \/\/ 2. SORT AND EXTRACT\n                    const sortedOpen = Object.entries(openScores).sort((a,b) => b[1] - a[1]);\n                    const sortedClose = Object.entries(closeScores).sort((a,b) => b[1] - a[1]);\n\n                    const topOpen = [sortedOpen[0][0], sortedOpen[1][0]];\n                    const topClose = [sortedClose[0][0], sortedClose[1][0]];\n                    \n                    \/\/ Find Dead Digits (Lowest score, likely 0 or very low)\n                    const deadOpen = sortedOpen[9][0];\n                    const deadClose = sortedClose[9][0];\n\n                    \/\/ 3. GENERATE SUPER JODIS (Cross Matrix)\n                    const superJodis = [];\n                    topOpen.forEach(o => {\n                        topClose.forEach(c => {\n                            superJodis.push(`${o}${c}`);\n                        });\n                    });\n\n                    \/\/ 4. GENERATE PREMIUM UI\n                    resultTitle = '\ud83c\udff9 OPEN & CLOSE (DIGIT VELOCITY) V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0d0214; border:1px solid #cc66ff; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(204,102,255,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(204,102,255,0.1); border:1px solid rgba(204,102,255,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('flLogicInfo'); const arrow = document.getElementById('flArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#e0aaff; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f DIGIT VELOCITY LOGIC EXPLAINED<\/span>\n                                <span id=\"flArrow\" style=\"color:#e0aaff;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"flLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#c8b6ff; line-height:1.6; border-top:1px dashed #5a189a; padding-top:10px;\">\n                                Ye system Ander (Open) aur Bahar (Close) ke Haruf ka momentum check karta hai.<br>\n                                <b>1. Recency Multiplier:<\/b> Pichle 10 din ke trend ko Double (2x) power milti hai taaki 'Current Form' pakda ja sake.<br>\n                                <b>2. Cross Matrix:<\/b> Top 2 Ander aur Top 2 Bahar nikalne ke baad, ye unko cross karke <b>4 Super Jodis<\/b> banata hai.<br>\n                                <b>3. Dead Haruf Warning:<\/b> Jo digits pichle 1 mahine se sabse kam aaye hain, unhe block karne ka alert deta hai.\n                            <\/div>\n                        <\/div>\n\n                        <!-- MOMENTUM PANELS -->\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:20px;\">\n                            <div style=\"background:#1a0529; border-top:3px solid #cc66ff; padding:12px; border-radius:8px; text-align:center; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                <div style=\"font-size:10px; color:#cc66ff; font-weight:bold; letter-spacing:1px; margin-bottom:8px;\">\ud83d\udd25 STRONG OPEN (ANDER)<\/div>\n                                <div style=\"font-size:28px; font-weight:900; color:#fff;\">\n                                    ${topOpen[0]} <span style=\"color:#555;\">|<\/span> <span style=\"color:#c8b6ff; font-size:22px;\">${topOpen[1]}<\/span>\n                                <\/div>\n                                <div style=\"font-size:9px; color:#ef4444; margin-top:8px;\">Dead: ${deadOpen} (Avoid)<\/div>\n                            <\/div>\n                            \n                            <div style=\"background:#291405; border-top:3px solid #ff9900; padding:12px; border-radius:8px; text-align:center; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                <div style=\"font-size:10px; color:#ff9900; font-weight:bold; letter-spacing:1px; margin-bottom:8px;\">\ud83d\udd25 STRONG CLOSE (BAHAR)<\/div>\n                                <div style=\"font-size:28px; font-weight:900; color:#fff;\">\n                                    ${topClose[0]} <span style=\"color:#555;\">|<\/span> <span style=\"color:#ffcc80; font-size:22px;\">${topClose[1]}<\/span>\n                                <\/div>\n                                <div style=\"font-size:9px; color:#ef4444; margin-top:8px;\">Dead: ${deadClose} (Avoid)<\/div>\n                            <\/div>\n                        <\/div>\n\n                        <!-- CROSS MATRIX TARGETS -->\n                        <div style=\"background:linear-gradient(135deg, rgba(204,102,255,0.1), rgba(255,153,0,0.1)); border:1px solid #7b2cbf; padding:15px; border-radius:10px; text-align:center;\">\n                            <div style=\"font-size:11px; color:#fff; font-weight:bold; margin-bottom:12px; letter-spacing:1px;\">\ud83c\udfaf VELOCITY CROSS MATRIX (SUPER JODIS)<\/div>\n                            <div style=\"display:flex; justify-content:center; gap:15px;\">\n                                ${superJodis.map(j => `<div style=\"font-size:24px; font-weight:900; color:#fff; background:#111; padding:8px 16px; border-radius:6px; border:1px solid #cc66ff; box-shadow:0 0 10px rgba(204,102,255,0.4);\">${j}<\/div>`).join('')}\n                            <\/div>\n                        <\/div>\n\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83c\udff9 Digit Velocity Pro: Recency weighted Open-Close matrix aur Super Jodis generate ho gayi hain.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        let s = c.textContent.trim();\n                        if(s.length !== 2) return;\n                        \n                        let isSuperJodi = superJodis.includes(s);\n                        let hasOpen = topOpen.includes(s[0]);\n                        let hasClose = topClose.includes(s[1]);\n\n                        if (isSuperJodi) {\n                            c.className = 'highlight-master'; \/\/ Brightest highlight\n                            c.style.border = '2px solid #cc66ff';\n                        } else if (hasOpen || hasClose) {\n                            c.className = 'highlight-first-last'; \/\/ Your original purple class\n                            c.style.opacity = '0.5'; \/\/ Dim single-match lines\n                        } else {\n                            c.style.opacity = '0.15'; \/\/ Heavily dim unrelated numbers\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #cc66ff', 'Super Matrix Jodis');\n                    logicChartAddLegend('#cc66ff', 'Line Match (Dimmed)');\n                    break;\n                }\n\n                case 'mirror': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 50) {\n                        resultTitle = '\ud83d\udd37 REFLECTION SNIPER V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Historical Echo check karne ke liye min 50 draws chahiye.<\/div>';\n                        info = '\ud83d\udd37 Mirror Logic: Insufficient deep history data.';\n                        break;\n                    }\n\n                    const getMirror = (n) => parseInt(n.toString().padStart(2, '0').split('').reverse().join(''));\n                    const recent15 = timeline.slice(-15);\n                    const uniqueRecents = [...new Set(recent15)];\n                    \n                    const mirrorStats = {};\n\n                    \/\/ 1. DEEP HISTORICAL ECHO CALCULATION\n                    uniqueRecents.forEach(num => {\n                        let mir = getMirror(num);\n                        \n                        \/\/ Ignore doublets (11, 22, 33...) and numbers whose mirror already appeared recently\n                        if (num !== mir && !recent15.includes(mir)) {\n                            \n                            let totalOccurrences = 0;\n                            let mirroredWithin10Days = 0;\n\n                            \/\/ Scan full history to see how often the mirror actually follows\n                            for (let i = 0; i < timeline.length - 10; i++) {\n                                if (timeline[i] === num) {\n                                    totalOccurrences++;\n                                    let next10 = timeline.slice(i + 1, i + 11);\n                                    if (next10.includes(mir)) mirroredWithin10Days++;\n                                }\n                            }\n\n                            \/\/ Calculate Historical Probability\n                            let prob = totalOccurrences > 0 ? Math.round((mirroredWithin10Days \/ totalOccurrences) * 100) : 0;\n                            \n                            \/\/ Recency Weight (How fresh is the original number?)\n                            let daysAgo = 15 - recent15.lastIndexOf(num); \/\/ 1 (yesterday) to 15\n                            let recencyScore = Math.max(0, 16 - daysAgo); \/\/ Higher is better\n                            \n                            \/\/ Final Threat Score (70% History + 30% Recency)\n                            let finalScore = Math.round((prob * 0.7) + (recencyScore * 2));\n\n                            mirrorStats[mir] = {\n                                original: num,\n                                target: mir,\n                                prob: prob,\n                                score: finalScore,\n                                daysAgo: daysAgo\n                            };\n                        }\n                    });\n\n                    \/\/ 2. SORT AND EXTRACT TOP TARGETS\n                    const topTargets = Object.values(mirrorStats)\n                        .sort((a, b) => b.score - a.score)\n                        .slice(0, 6);\n                    \n                    const mirrorNumbers = topTargets.map(x => x.target);\n\n                    \/\/ 3. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udd37 REFLECTION SNIPER PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#000a12; border:1px solid #00e5ff; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(0,229,255,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(0,229,255,0.1); border:1px solid rgba(0,229,255,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('mrLogicInfo'); const arrow = document.getElementById('mrArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#80deea; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW REFLECTION RADAR WORKS?<\/span>\n                                <span id=\"mrArrow\" style=\"color:#80deea;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"mrLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#b2ebf2; line-height:1.6; border-top:1px dashed #00838f; padding-top:10px;\">\n                                Ye radar \"Palat\" (Mirror Jodis) ko track karta hai, par advanced mathematical filtering ke sath:<br><br>\n                                <b>1. Deep Echo Test:<\/b> Har number ki palat nahi aati. Ye AI poori history scan karke dekhta hai ki jab bhi Original number aata hai, toh kitne % chance hote hain ki agle 10 din me uski Palat aayegi.<br>\n                                <b>2. Threat Score:<\/b> Jo number jitna recent (kal ya parso) aaya hoga, uski palat ka Threat Score utna high hoga.<br>\n                                <b>3. Clean Output:<\/b> Duplicate entries hata di gayi hain aur sirf Top 6 sabse High Probability wale Mirror Targets screen par laye gaye hain.\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"display:flex; justify-content:space-between; align-items:flex-end; border-bottom:1px solid #004d40; padding-bottom:8px; margin-bottom:15px;\">\n                            <div style=\"font-size:11px; color:#00e5ff; font-weight:bold; letter-spacing:1px;\">\ud83d\udce1 SONAR DETECTED MIRRORS<\/div>\n                            <div style=\"font-size:9px; color:#888;\">Ranked by Threat Score<\/div>\n                        <\/div>\n                    `;\n\n                    if (topTargets.length === 0) {\n                        htmlOut += `<div style=\"text-align:center; color:#80deea; padding:20px; font-size:12px; background:#001a22; border-radius:8px;\">All recent mirrors have already dropped. No strong reflections pending.<\/div>`;\n                    } else {\n                        htmlOut += `<div style=\"display:grid; grid-template-columns: repeat(2, 1fr); gap:12px;\">`;\n                        \n                        topTargets.forEach(t => {\n                            let barColor = t.score > 75 ? '#00e676' : (t.score > 50 ? '#00e5ff' : '#4dd0e1');\n                            \n                            htmlOut += `\n                            <div style=\"background:#001622; border:1px solid #005a75; padding:12px; border-radius:8px; position:relative; overflow:hidden; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                \n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;\">\n                                    <div style=\"display:flex; align-items:center; gap:8px;\">\n                                        <span style=\"font-size:14px; color:#80deea;\">${t.original.toString().padStart(2,'0')}<\/span>\n                                        <span style=\"font-size:12px; color:#00e5ff;\">\u2794<\/span>\n                                        <span style=\"font-size:24px; font-weight:900; color:#fff; text-shadow:0 0 10px rgba(0,229,255,0.4);\">${t.target.toString().padStart(2,'0')}<\/span>\n                                    <\/div>\n                                    <div style=\"text-align:right;\">\n                                        <div style=\"font-size:14px; font-weight:bold; color:${barColor};\">${t.score}<\/div>\n                                        <div style=\"font-size:8px; color:#888;\">SCORE<\/div>\n                                    <\/div>\n                                <\/div>\n                                \n                                <div style=\"display:flex; justify-content:space-between; font-size:9px; color:#b2ebf2; margin-bottom:5px;\">\n                                    <span>History Drop: ${t.prob}%<\/span>\n                                    <span>Base: ${t.daysAgo} days ago<\/span>\n                                <\/div>\n                                \n                                <div style=\"width:100%; background:#000; height:3px; border-radius:2px;\">\n                                    <div style=\"width:${Math.min(t.score, 100)}%; background:${barColor}; height:100%; border-radius:2px; box-shadow:0 0 5px ${barColor};\"><\/div>\n                                <\/div>\n                            <\/div>`;\n                        });\n                        \n                        htmlOut += `<\/div>`;\n                    }\n\n                    htmlOut += `<\/div>`;\n                    resultContent = htmlOut;\n                    info = '\ud83d\udd37 Reflection Sniper Pro: Historical probabilities aur Threat scores calculate ho gaye hain.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        if (mirrorNumbers.includes(val)) {\n                            c.className = 'highlight-master';\n                            c.style.border = '2px solid #00e5ff'; \/\/ Neon Cyan border\n                        } else if (uniqueRecents.includes(val)) {\n                            c.style.opacity = '0.7'; \/\/ Base numbers slightly visible\n                            c.style.borderBottom = '1px dashed #005a75';\n                        } else {\n                            c.style.opacity = '0.2'; \/\/ Dim unrelated\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #00e5ff', 'Pending High-Threat Mirrors');\n                    logicChartAddLegend('transparent; border-bottom:1px dashed #005a75', 'Recent Base Numbers');\n                    break;\n                }\n                    \n                case 'tornado':\n                    logicTornadoPro();\n                    return;\n\n                case 'repeat': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 50) {\n                        resultTitle = '\ud83d\udd01 REPEAT RADAR PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Repeat momentum check karne ke liye kam se kam 50 draws chahiye.<\/div>';\n                        info = '\ud83d\udd01 Repeat Radar: Insufficient historical data.';\n                        break;\n                    }\n\n                    const curIdx = timeline.length - 1;\n                    const recentZone = timeline.slice(-45); \/\/ Extended to 45 days for better cycle detection\n                    \n                    const positions = {};\n                    \/\/ Only map positions within the recent zone to catch *current* repeaters\n                    recentZone.forEach((n, i) => {\n                        let absoluteIdx = curIdx - 44 + i;\n                        if (!positions[n]) positions[n] = [];\n                        positions[n].push(absoluteIdx);\n                    });\n\n                    const repeatStats = [];\n\n                    \/\/ 1. ADVANCED ECHO CALCULATION\n                    Object.keys(positions).forEach(k => {\n                        const n = parseInt(k);\n                        const posArr = positions[k];\n\n                        \/\/ Must have appeared at least 2 times recently to be a \"Repeater\"\n                        if (posArr.length >= 2) {\n                            let totalGap = 0;\n                            for (let i = 1; i < posArr.length; i++) {\n                                totalGap += (posArr[i] - posArr[i-1]);\n                            }\n                            \n                            \/\/ Average days it takes to repeat\n                            let avgEchoGap = Math.round(totalGap \/ (posArr.length - 1));\n                            \n                            \/\/ How long since its last appearance?\n                            let currentWait = curIdx - posArr[posArr.length - 1];\n                            \n                            \/\/ SCORING ENGINE (Max 100)\n                            let score = 0;\n                            let status = \"\";\n                            let color = \"\";\n\n                            \/\/ Base score from frequency\n                            let freqScore = Math.min((posArr.length * 15), 60); \n\n                            \/\/ Timing Score (The closer the current wait is to the avg echo gap, the better)\n                            let timingScore = 0;\n                            if (currentWait === avgEchoGap || currentWait === avgEchoGap + 1) {\n                                timingScore = 40; \/\/ Perfect Timing\n                                status = \"\ud83c\udfaf PERFECT ECHO (READY)\";\n                                color = \"#00e676\";\n                            } else if (currentWait > avgEchoGap && currentWait <= avgEchoGap + 3) {\n                                timingScore = 30; \/\/ Slightly Overdue\n                                status = \"\ud83d\udd25 HIGH MOMENTUM\";\n                                color = \"#ff9966\";\n                            } else if (currentWait < avgEchoGap) {\n                                timingScore = 20; \/\/ Building up\n                                status = \"\u23f3 WARMING UP\";\n                                color = \"#38bdf8\";\n                            } else {\n                                \/\/ Way overdue, momentum is dying\n                                timingScore = 5;\n                                status = \"\ud83d\udc80 FADING ECHO\";\n                                color = \"#888888\";\n                            }\n\n                            \/\/ Only push if momentum hasn't completely died (Unless it's a super high frequency number)\n                            if (currentWait <= avgEchoGap + 5 || posArr.length > 3) {\n                                repeatStats.push({\n                                    n: n,\n                                    hits: posArr.length,\n                                    avg: avgEchoGap,\n                                    wait: currentWait,\n                                    score: freqScore + timingScore,\n                                    status: status,\n                                    color: color\n                                });\n                            }\n                        }\n                    });\n\n                    \/\/ 2. SORT & EXTRACT TOP TARGETS\n                    repeatStats.sort((a, b) => b.score - a.score);\n                    const topRepeaters = repeatStats.slice(0, 6);\n                    const repeaterNums = topRepeaters.map(x => x.n);\n\n                    \/\/ 3. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udd01 REPEAT RADAR PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0a0500; border:1px solid #ff9966; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(255,153,102,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(255,153,102,0.1); border:1px solid rgba(255,153,102,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('rpLogicInfo'); const arrow = document.getElementById('rpArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#ffcc99; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW REPEAT RADAR WORKS?<\/span>\n                                <span id=\"rpArrow\" style=\"color:#ffcc99;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"rpLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#ccc; line-height:1.6; border-top:1px dashed #cc6600; padding-top:10px;\">\n                                Ye engine sirf numbers ko ginta nahi hai, balki unka <b>Echo Cycle (Timing)<\/b> track karta hai.<br><br>\n                                <b>1. Momentum Filter:<\/b> Jo number pichle mahine 2 baar aaya par abhi 20 din se band hai, usko ye system \"Dead\/Fading\" maan kar hata deta hai.<br>\n                                <b>2. Perfect Echo Timing:<\/b> Agar koi number har 4 din baad wapas aata hai (Average Gap = 4), aur aaj usko pichli baar aaye hue exactly 4 din ho gaye hain, toh system usko <b>\ud83c\udfaf PERFECT ECHO<\/b> ka tag dega, kyunki ab uske repeat hone ke chance highest hain.\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"display:flex; justify-content:space-between; align-items:flex-end; border-bottom:1px solid #331100; padding-bottom:8px; margin-bottom:15px;\">\n                            <div style=\"font-size:11px; color:#ff9966; font-weight:bold; letter-spacing:1px;\">\ud83d\udd25 LIVE REPEATERS (HOT MOMENTUM)<\/div>\n                            <div style=\"font-size:9px; color:#888;\">Ranked by Momentum Score<\/div>\n                        <\/div>\n                    `;\n\n                    if (topRepeaters.length === 0) {\n                        htmlOut += `<div style=\"text-align:center; color:#ffcc99; padding:20px; font-size:12px; background:#1a0500; border-radius:8px;\">Abhi chart mein koi fresh repeater pattern nahi chal raha hai.<\/div>`;\n                    } else {\n                        htmlOut += `<div style=\"display:grid; grid-template-columns: repeat(2, 1fr); gap:12px;\">`;\n                        \n                        topRepeaters.forEach(r => {\n                            htmlOut += `\n                            <div style=\"background:#110500; border:1px solid #331100; padding:12px; border-radius:8px; position:relative; overflow:hidden; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                \n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;\">\n                                    <div style=\"display:flex; align-items:center; gap:10px;\">\n                                        <span style=\"font-size:26px; font-weight:900; color:#fff;\">${r.n.toString().padStart(2,'0')}<\/span>\n                                        <div>\n                                            <div style=\"font-size:10px; font-weight:bold; color:${r.color};\">${r.status}<\/div>\n                                            <div style=\"font-size:9px; color:#888; margin-top:2px;\">Recent Hits: ${r.hits}<\/div>\n                                        <\/div>\n                                    <\/div>\n                                    <div style=\"text-align:right;\">\n                                        <div style=\"font-size:16px; font-weight:bold; color:#ff9966;\">${r.score}%<\/div>\n                                    <\/div>\n                                <\/div>\n                                \n                                <div style=\"display:flex; justify-content:space-between; background:#000; padding:6px; border-radius:4px; margin-bottom:6px; font-size:10px;\">\n                                    <div style=\"text-align:center; color:#888;\">Echo Cycle<br><b style=\"color:#fff; font-size:12px;\">${r.avg} days<\/b><\/div>\n                                    <div style=\"text-align:center; color:${r.wait > r.avg + 3 ? '#ff4444' : '#00e676'};\">Current Wait<br><b style=\"font-size:12px;\">${r.wait} days<\/b><\/div>\n                                <\/div>\n                                \n                                <div style=\"width:100%; background:#220000; height:3px; border-radius:2px;\">\n                                    <div style=\"width:${Math.min(r.score, 100)}%; background:${r.color}; height:100%; border-radius:2px; box-shadow:0 0 5px ${r.color};\"><\/div>\n                                <\/div>\n                            <\/div>`;\n                        });\n                        \n                        htmlOut += `<\/div>`;\n                    }\n\n                    htmlOut += `<\/div>`;\n                    resultContent = htmlOut;\n                    info = '\ud83d\udd01 Repeat Radar Pro: Active momentum aur echo timings calculate kar li gayi hain.';\n                    \n                    \/\/ Highlight on Chart\n                    logicChartClearHighlights();\n                    cells.forEach(cell => {\n                        const val = parseInt(cell.textContent);\n                        if (repeaterNums.includes(val)) {\n                            \/\/ Find the exact match to use its specific status color for the border\n                            const match = topRepeaters.find(x => x.n === val);\n                            cell.className = 'highlight-master';\n                            cell.style.border = `2px solid ${match.color}`;\n                        } else {\n                            \/\/ Dim the non-repeaters heavily to clear chart clutter\n                            cell.style.opacity = '0.2';\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #00e676', 'Perfect Echo (Ready)');\n                    logicChartAddLegend('transparent; border:2px solid #ff9966', 'High Momentum Repeater');\n                    break;\n                }\n                    \n                    case 'gravity':\n                    logicGravityMagnetPro();\n                    return;\n\ncase 'lucky': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 50) {\n                        resultTitle = '\ud83c\udf40 FORTUNE STAR PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: King aur Prince nikalne ke liye deep history (Min 50 draws) chahiye.<\/div>';\n                        info = '\ud83c\udf40 Fortune Star: Insufficient data for Royal Analysis.';\n                        break;\n                    }\n\n                    const curIdx = timeline.length - 1;\n                    const recentL = timeline.slice(-30); \/\/ Upgraded from 25 to 30 for better monthly form\n\n                    \/\/ 1. ALL-TIME FREQUENCY & HEALTH (The King)\n                    const freqAll = {};\n                    const lastSeenAll = {};\n                    timeline.forEach((n, idx) => {\n                        freqAll[n] = (freqAll[n] || 0) + 1;\n                        lastSeenAll[n] = idx; \/\/ Track last appearance for tie-breakers and health\n                    });\n\n                    \/\/ Sort by frequency, tie-break by most recent appearance\n                    const kingData = Object.entries(freqAll)\n                        .sort((a, b) => b[1] - a[1] || lastSeenAll[b[0]] - lastSeenAll[a[0]])[0];\n                    \n                    const kingNum = parseInt(kingData[0]);\n                    const kingHits = kingData[1];\n                    const kingDaysAgo = curIdx - lastSeenAll[kingNum];\n\n                    \/\/ Determine King's Health\n                    let kingHealth = \"\";\n                    let kingHealthColor = \"\";\n                    if (kingDaysAgo <= 10) { kingHealth = \"ACTIVE & DOMINATING\"; kingHealthColor = \"#00e676\"; }\n                    else if (kingDaysAgo <= 30) { kingHealth = \"RESTING (MILD)\"; kingHealthColor = \"#ffd700\"; }\n                    else { kingHealth = \"SLEEPING (DEAD FORM)\"; kingHealthColor = \"#ff4444\"; }\n\n                    \/\/ 2. RECENT FREQUENCY (The Prince)\n                    const freqRec = {};\n                    const lastSeenRec = {};\n                    recentL.forEach((n, idx) => {\n                        freqRec[n] = (freqRec[n] || 0) + 1;\n                        lastSeenRec[n] = idx;\n                    });\n\n                    const princeData = Object.entries(freqRec)\n                        .sort((a, b) => b[1] - a[1] || lastSeenRec[b[0]] - lastSeenRec[a[0]])[0];\n                    \n                    const princeNum = parseInt(princeData[0]);\n                    const princeHits = princeData[1];\n\n                    \/\/ 3. THE CLASH: Are King and Prince the same?\n                    const isSuperNova = (kingNum === princeNum);\n\n                    \/\/ 4. GENERATE PREMIUM UI\n                    resultTitle = '\ud83c\udf40 FORTUNE STAR PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#050505; border:1px solid #ffd700; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(255,215,0,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(255,215,0,0.1); border:1px solid rgba(255,215,0,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('fsLogicInfo'); const arrow = document.getElementById('fsArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#ffe666; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f ROYAL ANALYSIS EXPLAINED<\/span>\n                                <span id=\"fsArrow\" style=\"color:#ffe666;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"fsLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#ccc; line-height:1.6; border-top:1px dashed #aa8800; padding-top:10px;\">\n                                Ye engine market ke 2 sabse strong pillars ko dhoondhta hai:<br><br>\n                                <b>\ud83d\udc51 THE KING (Long-Term):<\/b> Ye wo number hai jo overall history me sabse zyada baar khula hai. Iska 'Health Status' batata hai ki kya ye abhi form me hai ya lamba break le raha hai.<br>\n                                <b>\ud83d\ude80 THE PRINCE (Short-Term):<\/b> Ye wo number hai jisne pichle 30 dino me market par kabza kiya hua hai (Current Form).<br>\n                                <b>\u2728 SUPER NOVA:<\/b> Agar King aur Prince ek hi number ban jayein, toh iska matlab history ka sabse bada number abhi deadly form me wapas aa gaya hai.\n                            <\/div>\n                        <\/div>\n                    `;\n\n                    if (isSuperNova) {\n                        \/\/ SUPER NOVA STATE\n                        htmlOut += `\n                        <div style=\"background:linear-gradient(135deg, #4a00e0, #8e2de2); border:2px solid #ffd700; padding:20px; border-radius:10px; text-align:center; box-shadow:0 0 30px rgba(255,215,0,0.5); animation: glow 2s infinite alternate;\">\n                            <div style=\"font-size:14px; color:#ffd700; font-weight:bold; letter-spacing:2px; margin-bottom:10px;\">\ud83d\udc51\u2728 SUPER NOVA DETECTED \u2728\ud83d\udc51<\/div>\n                            <div style=\"font-size:48px; font-weight:900; color:#fff; text-shadow:0 0 20px #fff;\">${kingNum.toString().padStart(2,'0')}<\/div>\n                            <div style=\"font-size:12px; color:#fff; margin-top:10px; background:rgba(0,0,0,0.4); padding:8px; border-radius:6px;\">\n                                The King and The Prince are the same! History's strongest number is currently dominating the market. <br><b style=\"color:#00e676;\">(MAXIMUM STRIKE PROBABILITY)<\/b>\n                            <\/div>\n                        <\/div>`;\n                    } else {\n                        \/\/ NORMAL STATE (King vs Prince)\n                        htmlOut += `\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:15px;\">\n                            <!-- KING CARD -->\n                            <div style=\"background:#1a1500; border:1px solid #ffd700; padding:15px; border-radius:10px; text-align:center; box-shadow:inset 0 0 20px rgba(255,215,0,0.1);\">\n                                <div style=\"font-size:12px; color:#ffd700; font-weight:bold; letter-spacing:1px; margin-bottom:8px;\">\ud83d\udc51 ALL-TIME KING<\/div>\n                                <div style=\"font-size:36px; font-weight:900; color:#fff; text-shadow:0 0 15px rgba(255,215,0,0.5);\">${kingNum.toString().padStart(2,'0')}<\/div>\n                                <div style=\"margin-top:10px; border-top:1px dashed #554400; padding-top:8px;\">\n                                    <div style=\"font-size:10px; color:#aaa; margin-bottom:4px;\">Total Dominance: <b style=\"color:#fff;\">${kingHits} Hits<\/b><\/div>\n                                    <div style=\"font-size:9px; font-weight:bold; color:${kingHealthColor};\">STATUS: ${kingHealth}<\/div>\n                                <\/div>\n                            <\/div>\n\n                            <!-- PRINCE CARD -->\n                            <div style=\"background:#1a001a; border:1px solid #ff00ff; padding:15px; border-radius:10px; text-align:center; box-shadow:inset 0 0 20px rgba(255,0,255,0.1);\">\n                                <div style=\"font-size:12px; color:#ffb3ff; font-weight:bold; letter-spacing:1px; margin-bottom:8px;\">\ud83d\ude80 CURRENT PRINCE<\/div>\n                                <div style=\"font-size:36px; font-weight:900; color:#fff; text-shadow:0 0 15px rgba(255,0,255,0.5);\">${princeNum.toString().padStart(2,'0')}<\/div>\n                                <div style=\"margin-top:10px; border-top:1px dashed #550055; padding-top:8px;\">\n                                    <div style=\"font-size:10px; color:#aaa; margin-bottom:4px;\">Recent Form: <b style=\"color:#fff;\">${princeHits} Hits (30D)<\/b><\/div>\n                                    <div style=\"font-size:9px; font-weight:bold; color:#00e5ff;\">STATUS: RIDING THE TREND<\/div>\n                                <\/div>\n                            <\/div>\n                        <\/div>`;\n                    }\n\n                    htmlOut += `\n                        <style>@keyframes glow { from {box-shadow:0 0 10px #ffd700;} to {box-shadow:0 0 30px #ffd700, 0 0 10px #fff;} }<\/style>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = isSuperNova ? '\ud83d\udc51\u2728 Super Nova: King aur Prince ek hi hain! Market par kabza hai.' : '\ud83c\udf40 Fortune Star: King aur Prince ka data extract ho gaya hai.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        \n                        if (isSuperNova && val === kingNum) {\n                            c.className = 'highlight-master';\n                            c.style.background = 'linear-gradient(135deg, #ffd700, #ff00ff)';\n                            c.style.color = '#000';\n                            c.style.border = '2px solid #fff';\n                        } else if (!isSuperNova && val === kingNum) {\n                            c.className = 'highlight-master';\n                            c.style.border = '2px solid #ffd700';\n                            c.style.boxShadow = 'inset 0 0 10px #ffd700';\n                        } else if (!isSuperNova && val === princeNum) {\n                            c.className = 'highlight-master';\n                            c.style.border = '2px dashed #ff00ff';\n                        } else {\n                            c.style.opacity = '0.3'; \/\/ Dim non-royal numbers\n                        }\n                    });\n                    \n                    if (isSuperNova) {\n                        logicChartAddLegend('linear-gradient(135deg, #ffd700, #ff00ff)', 'Super Nova (King & Prince)');\n                    } else {\n                        logicChartAddLegend('transparent; border:2px solid #ffd700', 'All-Time King');\n                        logicChartAddLegend('transparent; border:2px dashed #ff00ff', 'Current Prince');\n                    }\n                    break;\n                }\n\n                case 'backtoback': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 50) {\n                        resultTitle = '\u26a1 DOUBLE STRIKE PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: B2B probability ke liye deep history zaroori hai.<\/div>';\n                        info = '\u26a1 Double Strike: Insufficient historical data.';\n                        break;\n                    }\n\n                    \/\/ 1. DATA EXTRACTION\n                    const lastNum = timeline[timeline.length - 1];\n                    let specificAppearances = 0;\n                    let exactB2B = 0;\n                    let sameAnder = 0;\n                    let sameBahar = 0;\n\n                    let globalB2B = 0;\n                    const b2bHistoryIndexes = []; \/\/ To highlight on chart\n\n                    \/\/ 2. DEEP HISTORY SCAN\n                    for (let i = 0; i < timeline.length - 1; i++) {\n                        let current = timeline[i];\n                        let next = timeline[i + 1];\n\n                        \/\/ Global market check\n                        if (current === next) {\n                            globalB2B++;\n                            b2bHistoryIndexes.push(i);\n                            b2bHistoryIndexes.push(i+1);\n                        }\n\n                        \/\/ Specific Last Number check\n                        if (current === lastNum) {\n                            specificAppearances++;\n                            \n                            if (next === lastNum) {\n                                exactB2B++;\n                            } else {\n                                \/\/ Check for Half-Strike (Haruf Repeat)\n                                let currStr = current.toString().padStart(2, '0');\n                                let nextStr = next.toString().padStart(2, '0');\n                                \n                                if (currStr[0] === nextStr[0]) sameAnder++;\n                                if (currStr[1] === nextStr[1]) sameBahar++;\n                            }\n                        }\n                    }\n\n                    \/\/ 3. PROBABILITY CALCULATIONS\n                    const globalProb = Math.round((globalB2B \/ timeline.length) * 100);\n                    const exactProb = specificAppearances > 0 ? Math.round((exactB2B \/ specificAppearances) * 100) : 0;\n                    \n                    const anderProb = specificAppearances > 0 ? Math.round((sameAnder \/ specificAppearances) * 100) : 0;\n                    const baharProb = specificAppearances > 0 ? Math.round((sameBahar \/ specificAppearances) * 100) : 0;\n\n                    \/\/ Decision Logic\n                    let threatLevel = \"\";\n                    let threatColor = \"\";\n                    let advice = \"\";\n\n                    if (exactProb >= 10) { \/\/ 10% is massive for a 1\/100 event\n                        threatLevel = \"\ud83d\udea8 CRITICAL B2B THREAT\";\n                        threatColor = \"#ff0044\";\n                        advice = \"High Alert: History shows this number loves to double strike! Play Same Jodi.\";\n                    } else if (anderProb >= 20 || baharProb >= 20) {\n                        threatLevel = \"\u26a0\ufe0f HARUF REPEAT THREAT (HALF-STRIKE)\";\n                        threatColor = \"#ff9900\";\n                        advice = `Exact repeat is low, but ${anderProb > baharProb ? 'ANDER' : 'BAHAR'} digit often repeats.`;\n                    } else {\n                        threatLevel = \"\u2705 LOW THREAT (SAFE ZONE)\";\n                        threatColor = \"#00e676\";\n                        advice = \"Safe: This number rarely repeats itself immediately.\";\n                    }\n\n                    \/\/ 4. GENERATE PREMIUM UI\n                    resultTitle = '\u26a1 DOUBLE STRIKE (B2B) PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0a0002; border:1px solid #ff3366; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(255,51,102,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(255,51,102,0.1); border:1px solid rgba(255,51,102,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('b2bLogicInfo'); const arrow = document.getElementById('b2bArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#ff99aa; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW B2B THREAT ENGINE WORKS?<\/span>\n                                <span id=\"b2bArrow\" style=\"color:#ff99aa;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"b2bLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#ccc; line-height:1.6; border-top:1px dashed #aa0033; padding-top:10px;\">\n                                Back-to-Back (B2B) ka matlab hai ek hi number ka agle din lagatar aana.<br><br>\n                                <b>1. Number-Specific DNA:<\/b> Ye engine global rate nahi, balki directly <b>Last Result<\/b> ki poori history dekhta hai ki jab bhi ye aata hai, toh kitni baar isne agle din dobara wahi jodi maari hai.<br>\n                                <b>2. Half-Strike (Haruf Repeat):<\/b> Agar poori jodi repeat na bhi ho, toh kya iska Ander ya Bahar ka ank repeat hota hai? Ye AI usko backup threat me count karke alert deta hai.\n                            <\/div>\n                        <\/div>\n\n                        <!-- MAIN THREAT DASHBOARD -->\n                        <div style=\"display:flex; justify-content:space-between; align-items:center; background:#110005; border:1px solid ${threatColor}; padding:15px; border-radius:8px; margin-bottom:20px; box-shadow:inset 0 0 15px ${threatColor}33;\">\n                            <div>\n                                <div style=\"font-size:10px; color:#aaa; margin-bottom:5px;\">CURRENT TARGET<\/div>\n                                <div style=\"font-size:32px; font-weight:900; color:#fff; text-shadow:0 0 10px rgba(255,255,255,0.3);\">${lastNum.toString().padStart(2,'0')}<\/div>\n                            <\/div>\n                            <div style=\"text-align:right;\">\n                                <div style=\"font-size:12px; font-weight:bold; color:${threatColor}; margin-bottom:5px;\">${threatLevel}<\/div>\n                                <div style=\"font-size:10px; color:#ccc; max-width:180px; line-height:1.4;\">${advice}<\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#ff99aa; margin-bottom:12px; border-bottom:1px solid #330011; padding-bottom:5px; font-weight:bold; letter-spacing:1px;\">\ud83d\udcca HISTORICAL PROBABILITY METERS<\/div>\n\n                        <!-- PROGRESS BARS -->\n                        <div style=\"display:grid; grid-template-columns: 1fr; gap:12px; margin-bottom:15px;\">\n                            \n                            <!-- Exact B2B -->\n                            <div style=\"background:#1a0005; padding:10px; border-radius:6px; border:1px solid #330011;\">\n                                <div style=\"display:flex; justify-content:space-between; font-size:10px; margin-bottom:5px;\">\n                                    <span style=\"color:#ff3366; font-weight:bold;\">EXACT JODI REPEAT<\/span>\n                                    <span style=\"color:#fff; font-weight:bold;\">${exactProb}% (Hit ${exactB2B} times)<\/span>\n                                <\/div>\n                                <div style=\"width:100%; background:#000; height:6px; border-radius:3px;\">\n                                    <div style=\"width:${Math.min(exactProb * 4, 100)}%; background:#ff3366; height:100%; border-radius:3px; box-shadow:0 0 5px #ff3366;\"><\/div>\n                                <\/div>\n                            <\/div>\n\n                            <!-- Ander Repeat -->\n                            <div style=\"background:#1a0005; padding:10px; border-radius:6px; border:1px solid #330011;\">\n                                <div style=\"display:flex; justify-content:space-between; font-size:10px; margin-bottom:5px;\">\n                                    <span style=\"color:#ff9900; font-weight:bold;\">ANDER HARUF REPEAT<\/span>\n                                    <span style=\"color:#fff; font-weight:bold;\">${anderProb}% (Hit ${sameAnder} times)<\/span>\n                                <\/div>\n                                <div style=\"width:100%; background:#000; height:6px; border-radius:3px;\">\n                                    <div style=\"width:${Math.min(anderProb * 2, 100)}%; background:#ff9900; height:100%; border-radius:3px;\"><\/div>\n                                <\/div>\n                            <\/div>\n\n                            <!-- Bahar Repeat -->\n                            <div style=\"background:#1a0005; padding:10px; border-radius:6px; border:1px solid #330011;\">\n                                <div style=\"display:flex; justify-content:space-between; font-size:10px; margin-bottom:5px;\">\n                                    <span style=\"color:#38bdf8; font-weight:bold;\">BAHAR HARUF REPEAT<\/span>\n                                    <span style=\"color:#fff; font-weight:bold;\">${baharProb}% (Hit ${sameBahar} times)<\/span>\n                                <\/div>\n                                <div style=\"width:100%; background:#000; height:6px; border-radius:3px;\">\n                                    <div style=\"width:${Math.min(baharProb * 2, 100)}%; background:#38bdf8; height:100%; border-radius:3px;\"><\/div>\n                                <\/div>\n                            <\/div>\n\n                        <\/div>\n                        \n                        <div style=\"text-align:center; font-size:9px; color:#666; margin-top:10px;\">\n                            Global B2B Market Rate: ${globalProb}% | Base Appearances Analyzed: ${specificAppearances}\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\u26a1 Double Strike Pro: Specific B2B and Half-Strike probabilities computed.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    \n                    \/\/ We highlight the LAST NUMBER, and anywhere in the current chart where a B2B actually happened.\n                    const currentChartValidCells = logicChartGetValidNumberCells();\n                    let prevVal = null;\n\n                    currentChartValidCells.forEach((c, idx) => {\n                        const val = parseInt(c.textContent);\n                        \n                        if (idx === currentChartValidCells.length - 1) {\n                            \/\/ Highlight the very last result\n                            c.className = 'highlight-master';\n                            c.style.border = `2px solid ${threatColor}`;\n                            c.style.boxShadow = `0 0 10px ${threatColor}66`;\n                        } else if (val === prevVal) {\n                            \/\/ Highlight historical B2B in the current visual chart\n                            c.className = 'highlight-pattern';\n                            currentChartValidCells[idx-1].className = 'highlight-pattern'; \/\/ Highlight the pair\n                        } else {\n                            if(c.className === '') c.style.opacity = '0.5'; \/\/ Dim slightly, but keep B2B visible\n                        }\n                        \n                        prevVal = val;\n                    });\n                    \n                    logicChartAddLegend(`transparent; border:2px solid ${threatColor}`, 'Current Target');\n                    logicChartAddLegend('#cc99ff', 'Past B2B Clusters in Chart');\n                    break;\n                }\n                case 'sum': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 30) {\n                        resultTitle = '\ud83d\udd22 SUM DYNAMICS PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Sum trend analyze karne ke liye kam se kam 30 draws chahiye.<\/div>';\n                        info = '\ud83d\udd22 Sum Logic: Insufficient historical data.';\n                        break;\n                    }\n\n                    const recent30 = timeline.slice(-30);\n                    let lowSumCount = 0; \/\/ Sums 0 to 9\n                    let highSumCount = 0; \/\/ Sums 10 to 18\n                    const sumFreq = {};\n\n                    \/\/ 1. DATA EXTRACTION: Calculate Sums for last 30 days\n                    recent30.forEach(n => {\n                        let sum = Math.floor(n \/ 10) + (n % 10);\n                        sumFreq[sum] = (sumFreq[sum] || 0) + 1;\n                        \n                        if (sum < 10) lowSumCount++;\n                        else highSumCount++;\n                    });\n\n                    \/\/ 2. IMBALANCE CALCULATION\n                    const lowSumPct = Math.round((lowSumCount \/ 30) * 100);\n                    const highSumPct = 100 - lowSumPct;\n\n                    let trendMsg = \"\";\n                    let trendColor = \"\";\n                    let targetSumCategory = \"\";\n\n                    \/\/ Natural balance should be 50\/50 (actually 55\/45 mathematically, but 50\/50 is close enough)\n                    if (lowSumPct > 60) {\n                        trendMsg = \"\ud83d\udcc9 LOW SUM OVERLOADED \u2794 EXPECT HIGH SUMS (10-18)\";\n                        trendColor = \"#ff9900\"; \/\/ Orange for High Target\n                        targetSumCategory = \"HIGH\";\n                    } else if (highSumPct > 60) {\n                        trendMsg = \"\ud83d\udcc8 HIGH SUM OVERLOADED \u2794 EXPECT LOW SUMS (0-9)\";\n                        trendColor = \"#00bfff\"; \/\/ Blue for Low Target\n                        targetSumCategory = \"LOW\";\n                    } else {\n                        trendMsg = \"\u2696\ufe0f BALANCED MARKET \u2794 RIDING CURRENT TREND\";\n                        trendColor = \"#ff66cc\"; \/\/ Magenta for Neutral\n                        targetSumCategory = \"ALL\";\n                    }\n\n                    \/\/ 3. EXTRACT TOP SNIPER SUMS\n                    \/\/ Filter based on the target category to maximize logic accuracy\n                    const eligibleSums = Object.entries(sumFreq).filter(([sStr, count]) => {\n                        let s = parseInt(sStr);\n                        if (targetSumCategory === \"HIGH\" && s < 10) return false;\n                        if (targetSumCategory === \"LOW\" && s >= 10) return false;\n                        return true;\n                    });\n\n                    \/\/ Sort by frequency\n                    eligibleSums.sort((a, b) => b[1] - a[1]);\n                    \n                    \/\/ Take Top 3 Sums\n                    const topSums = eligibleSums.slice(0, 3).map(x => parseInt(x[0]));\n\n                    \/\/ If for some reason we didn't get 3 (due to low data variation), fallback to mathematically common sums\n                    if (topSums.length < 3) {\n                        let backups = targetSumCategory === \"HIGH\" ? [10, 11, 12] : (targetSumCategory === \"LOW\" ? [7, 8, 9] : [8, 9, 10]);\n                        backups.forEach(b => { if(!topSums.includes(b)) topSums.push(b); });\n                    }\n\n                    \/\/ 4. GENERATE EXACT JODIS FOR TOP SUMS\n                    const targetJodis = [];\n                    for(let i=0; i<=99; i++) {\n                        let s = Math.floor(i \/ 10) + (i % 10);\n                        if(topSums.includes(s)) {\n                            targetJodis.push(i.toString().padStart(2, '0'));\n                        }\n                    }\n\n                    \/\/ 5. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udd22 SUM (ANK-JOD) DYNAMICS V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#12000a; border:1px solid #ff66cc; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(255,102,204,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(255,102,204,0.1); border:1px solid rgba(255,102,204,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('sumLogicInfo'); const arrow = document.getElementById('sumArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#ff99dd; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW SUM DYNAMICS WORKS?<\/span>\n                                <span id=\"sumArrow\" style=\"color:#ff99dd;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"sumLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#e6b3cc; line-height:1.6; border-top:1px dashed #990066; padding-top:10px;\">\n                                Sum (Ank-Jod) ka matlab dono digits ka total (e.g., 47 = 4+7 = 11). Sums 0 se 18 tak hote hain.<br><br>\n                                <b>1. Imbalance Engine:<\/b> System pichle 30 din me dekhta hai ki Low Sums (0-9) zyada aa rahe hain ya High Sums (10-18). Agar Low Sums 60% se zyada aa chuke hain, toh agla target automatic High Sum ban jata hai.<br>\n                                <b>2. Sniper Sums:<\/b> System 80-90 numbers khelne nahi deta. Ye us target zone ke andar sabse \"Hot\" chalne wale sirf 3 Sums nikalta hai.<br>\n                                <b>3. Ready Jodis:<\/b> Aapko math karne ki zaroorat nahi. System un 3 Sums ki saari valid jodis khud generate karke niche list kar deta hai.\n                            <\/div>\n                        <\/div>\n\n                        <!-- BALANCE METER -->\n                        <div style=\"background:#1a0011; border:1px solid #660044; padding:15px; border-radius:8px; margin-bottom:20px;\">\n                            <div style=\"font-size:10px; color:#ff99dd; letter-spacing:1px; margin-bottom:10px; text-align:center; font-weight:bold;\">30-DAY SUM BALANCE TRACKER<\/div>\n                            <div style=\"display:flex; justify-content:space-between; margin-bottom:5px; font-weight:900; font-size:16px;\">\n                                <span style=\"color:#00bfff;\">LOW (0-9): ${lowSumPct}%<\/span>\n                                <span style=\"color:#ff9900;\">HIGH (10-18): ${highSumPct}%<\/span>\n                            <\/div>\n                            <div style=\"width:100%; height:8px; display:flex; border-radius:4px; overflow:hidden;\">\n                                <div style=\"width:${lowSumPct}%; background:#00bfff; box-shadow:inset 0 0 5px rgba(255,255,255,0.3);\"><\/div>\n                                <div style=\"width:${highSumPct}%; background:#ff9900; box-shadow:inset 0 0 5px rgba(255,255,255,0.3);\"><\/div>\n                            <\/div>\n                        <\/div>\n\n                        <!-- TARGET ALERT -->\n                        <div style=\"background:#000; border:1px dashed ${trendColor}; padding:10px; border-radius:6px; text-align:center; margin-bottom:20px;\">\n                            <div style=\"font-size:12px; font-weight:bold; color:${trendColor};\">${trendMsg}<\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#ff66cc; margin-bottom:10px; border-bottom:1px solid #660044; padding-bottom:5px; font-weight:bold; letter-spacing:1px;\">\ud83c\udfaf TOP 3 SNIPER SUMS<\/div>\n                        \n                        <!-- TOP 3 SUMS -->\n                        <div style=\"display:flex; justify-content:center; gap:15px; margin-bottom:20px;\">\n                            ${topSums.map(s => `<div style=\"background:linear-gradient(135deg, #cc0088, #ff66cc); color:#fff; font-size:20px; font-weight:900; padding:10px 20px; border-radius:8px; border:1px solid #fff; box-shadow:0 0 15px rgba(255,102,204,0.4);\">SUM ${s}<\/div>`).join('')}\n                        <\/div>\n\n                        <!-- GENERATED JODIS -->\n                        <div style=\"background:#1a0011; border:1px solid #4d0033; padding:12px; border-radius:8px; text-align:center;\">\n                            <div style=\"font-size:10px; color:#ff99dd; margin-bottom:8px;\">READY JODIS FOR TARGET SUMS<\/div>\n                            <div style=\"font-size:14px; font-weight:bold; color:#fff; letter-spacing:3px; line-height:1.5;\">\n                                ${targetJodis.join(', ')}\n                            <\/div>\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83d\udd22 Sum Dynamics Pro: Balance tracker aur exact sniper jodis generate ho chuki hain.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        let s = Math.floor(val \/ 10) + (val % 10);\n                        \n                        if (topSums.includes(s)) {\n                            c.className = 'highlight-master';\n                            c.style.border = '2px solid #ff66cc';\n                            c.style.boxShadow = 'inset 0 0 8px rgba(255,102,204,0.5)';\n                        } else {\n                            \/\/ Dim the non-target sums\n                            c.style.opacity = '0.2';\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #ff66cc', 'Sniper Sum Targets');\n                    break;\n                }\n\n                case 'nextday': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 30) {\n                        resultTitle = '\ud83d\udd2e ALGO SCANNER PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Algorithm test karne ke liye kam se kam 30 draws chahiye.<\/div>';\n                        info = '\ud83d\udd2e Algo Scanner: Insufficient historical data.';\n                        break;\n                    }\n\n                    const recentData = timeline.slice(-30);\n                    const lastResultND = timeline[timeline.length - 1];\n\n                    \/\/ 1. EXTENDED SATTA MATH DICTIONARY\n                    const formulas = [\n                        { id: 'neighbor', name: \"+1 \/ -1 (Neighbors)\", func: (n) => [(n + 1) % 100, (n - 1 + 100) % 100] },\n                        { id: 'skip', name: \"+2 \/ -2 (Skip Step)\", func: (n) => [(n + 2) % 100, (n - 2 + 100) % 100] },\n                        { id: 'mirror', name: \"Palat (Mirror)\", func: (n) => { let s = n.toString().padStart(2,'0'); return [parseInt(s[1]+s[0])]; } },\n                        { id: 'full_cut', name: \"Full Rashi (+50)\", func: (n) => [(n + 50) % 100] },\n                        { id: 'ander_cut', name: \"Ander Rashi (In-Cut)\", func: (n) => { let s = n.toString().padStart(2,'0'); return [parseInt(((parseInt(s[0])+5)%10).toString() + s[1])]; } },\n                        { id: 'bahar_cut', name: \"Bahar Rashi (Out-Cut)\", func: (n) => { let s = n.toString().padStart(2,'0'); return [parseInt(s[0] + ((parseInt(s[1])+5)%10).toString())]; } },\n                        { id: 'baki', name: \"Baki (100 - X)\", func: (n) => { let b = 100 - n; return [b === 100 ? 0 : b]; } }\n                    ];\n\n                    let formulaStats = [];\n\n                    \/\/ 2. TRUE BACKTESTING ENGINE\n                    formulas.forEach(f => {\n                        let hits = 0;\n                        \/\/ Test past 29 transitions\n                        for (let i = 0; i < recentData.length - 1; i++) {\n                            const today = recentData[i];\n                            const tomorrow = recentData[i + 1];\n                            const predicted = f.func(today);\n                            if (predicted.includes(tomorrow)) hits++;\n                        }\n                        \n                        \/\/ Calculate Win Rate %\n                        let winRate = Math.round((hits \/ 29) * 100);\n                        formulaStats.push({ ...f, hits, winRate });\n                    });\n\n                    \/\/ 3. SORT & FIND THE WINNING ALGORITHM\n                    formulaStats.sort((a, b) => b.winRate - a.winRate);\n                    const bestFormula = formulaStats[0];\n                    const runnerUp = formulaStats[1];\n\n                    \/\/ 4. GENERATE PREDICTION FOR TOMORROW\n                    const nextTargets = bestFormula.func(lastResultND);\n                    const runnerUpTargets = runnerUp.func(lastResultND); \/\/ Backup plan\n\n                    \/\/ Confidence Logic\n                    let confidence = \"\";\n                    let confColor = \"\";\n                    if (bestFormula.winRate >= 15) { \n                        confidence = \"\ud83d\udd25 HIGH CONFIDENCE\"; \n                        confColor = \"#00e676\"; \/\/ Green\n                    } else if (bestFormula.winRate >= 10) { \n                        confidence = \"\u26a0\ufe0f MODERATE CONFIDENCE\"; \n                        confColor = \"#f59e0b\"; \/\/ Orange\n                    } else { \n                        confidence = \"\ud83d\udc80 LOW (NO STRONG PATTERN)\"; \n                        confColor = \"#ef4444\"; \/\/ Red\n                    }\n\n                    \/\/ 5. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udd2e ALGORITHMIC SCANNER PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#051105; border:1px solid #84cc16; padding:18px; border-radius:12px; font-family:'Courier New', monospace; color:#fff; box-shadow:0 0 25px rgba(132,204,22,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(132,204,22,0.1); border:1px solid rgba(132,204,22,0.3); padding:12px; border-radius:8px; margin-bottom:15px; font-family:'Segoe UI', sans-serif;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('ndLogicInfo'); const arrow = document.getElementById('ndArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#a3e635; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW ALGO SCANNER WORKS?<\/span>\n                                <span id=\"ndArrow\" style=\"color:#a3e635;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"ndLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#d9f99d; line-height:1.6; border-top:1px dashed #4d7c0f; padding-top:10px;\">\n                                Ye machine learning engine 7 advanced Satta formulas (Rashi, Baki, Palat, +1\/-1 etc.) ko pichle 30 din ki history par test karta hai.<br><br>\n                                <b>1. Backtesting:<\/b> Jo formula pichle 30 din me sabse zyada baar pass hua hai, ye AI automatically usko \"Winning Algorithm\" ghoshit kar deta hai.<br>\n                                <b>2. Auto-Apply:<\/b> Phir usi best formula ko aaj ke result par lagakar kal (Next Day) ka target nikalta hai.<br>\n                                <b>3. Confidence Score:<\/b> Agar formula bahut baar fail hua hai, toh system aapko \"Low Confidence\" ka alert dega taaki aap uspar risk na lein.\n                            <\/div>\n                        <\/div>\n\n                        <!-- SYSTEM STATUS BAR -->\n                        <div style=\"display:flex; justify-content:space-between; align-items:center; background:#0f172a; border:1px solid #1e293b; padding:10px; border-radius:6px; margin-bottom:20px;\">\n                            <span style=\"font-size:11px; color:#94a3b8; font-family:'Segoe UI', sans-serif;\">SYSTEM STATUS: <b style=\"color:${confColor};\">${confidence}<\/b><\/span>\n                            <span style=\"font-size:11px; color:#84cc16; font-weight:bold;\">${bestFormula.winRate}% HIT RATE<\/span>\n                        <\/div>\n\n                        <div style=\"display:grid; grid-template-columns: 1fr; gap:15px; margin-bottom:20px;\">\n                            \n                            <!-- THE WINNING ALGORITHM CARD -->\n                            <div style=\"background:linear-gradient(135deg, #0a1f0a, #113311); border:1px solid #84cc16; padding:15px; border-radius:10px; position:relative; box-shadow:0 4px 15px rgba(132,204,22,0.2);\">\n                                <div style=\"position:absolute; top:-10px; right:15px; font-size:24px; opacity:0.2;\">\ud83c\udfc6<\/div>\n                                <div style=\"font-size:10px; color:#a3e635; margin-bottom:5px; font-weight:bold; letter-spacing:1px; font-family:'Segoe UI', sans-serif;\">ACTIVE FORMULA (BEST PERFORMER)<\/div>\n                                <div style=\"font-size:20px; font-weight:900; color:#fff; margin-bottom:10px;\">${bestFormula.name}<\/div>\n                                \n                                <div style=\"background:#000; border:1px dashed #4d7c0f; padding:12px; border-radius:6px; text-align:center;\">\n                                    <div style=\"font-size:10px; color:#888; margin-bottom:5px; font-family:'Segoe UI', sans-serif;\">FORMULA APPLIED ON [ ${lastResultND.toString().padStart(2,'0')} ]<\/div>\n                                    <div style=\"font-size:28px; font-weight:900; color:#a3e635; letter-spacing:5px;\">\n                                        ${nextTargets.map(n => n.toString().padStart(2,'0')).join(' ')}\n                                    <\/div>\n                                    <div style=\"font-size:9px; color:#bef264; margin-top:5px;\">PRIMARY TARGETS<\/div>\n                                <\/div>\n                            <\/div>\n                            \n                            <!-- RUNNER UP CARD (BACKUP) -->\n                            <div style=\"background:#111; border:1px solid #333; padding:12px; border-radius:10px;\">\n                                <div style=\"font-size:9px; color:#888; margin-bottom:5px; font-family:'Segoe UI', sans-serif; display:flex; justify-content:space-between;\">\n                                    <span>BACKUP FORMULA (RANK #2)<\/span>\n                                    <span>${runnerUp.winRate}% HIT RATE<\/span>\n                                <\/div>\n                                <div style=\"display:flex; justify-content:space-between; align-items:center;\">\n                                    <span style=\"font-size:14px; font-weight:bold; color:#ccc;\">${runnerUp.name}<\/span>\n                                    <span style=\"font-size:16px; font-weight:bold; color:#f59e0b; background:#222; padding:4px 10px; border-radius:4px;\">${runnerUpTargets.map(n => n.toString().padStart(2,'0')).join(' ')}<\/span>\n                                <\/div>\n                            <\/div>\n\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = `\ud83d\udd2e Algo Scanner Pro: 7 formulas tested. '${bestFormula.name}' is currently winning.`;\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        if (nextTargets.includes(val)) {\n                            c.className = 'highlight-master';\n                            c.style.border = '2px solid #84cc16';\n                            c.style.boxShadow = 'inset 0 0 10px rgba(132,204,22,0.5)';\n                        } else if (runnerUpTargets.includes(val)) {\n                            c.style.border = '2px dashed #f59e0b';\n                        } else {\n                            c.style.opacity = '0.2'; \/\/ Dim unrelated\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #84cc16', 'Primary Target (Winning Formula)');\n                    logicChartAddLegend('transparent; border:2px dashed #f59e0b', 'Backup Target (Rank #2)');\n                    break;\n                }\n\n                case 'jodi': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 100) {\n                        resultTitle = '\ud83d\udd17 JODI SYNDICATE (AFFINITY) V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Magnetic connections ke liye deep history (Min 100 draws) chahiye.<\/div>';\n                        info = '\ud83d\udd17 Jodi Linker: Insufficient data for Affinity Matchmaking.';\n                        break;\n                    }\n\n                    const lastResult = timeline[timeline.length - 1];\n                    let totalA = 0; \/\/ How many times lastResult appeared\n                    const followers = {};\n                    const globalFreq = {}; \/\/ Base frequency of all numbers\n\n                    \/\/ 1. DEEP DATA EXTRACTION\n                    for (let i = 0; i < timeline.length - 1; i++) {\n                        let n = timeline[i];\n                        globalFreq[n] = (globalFreq[n] || 0) + 1;\n                        \n                        if (n === lastResult) {\n                            totalA++;\n                            let nextNum = timeline[i + 1];\n                            followers[nextNum] = (followers[nextNum] || 0) + 1;\n                        }\n                    }\n                    \/\/ Include very last draw for global freq\n                    globalFreq[timeline[timeline.length - 1]] = (globalFreq[timeline[timeline.length - 1]] || 0) + 1;\n\n                    const totalDraws = timeline.length;\n                    const affinityStats = [];\n\n                    \/\/ 2. MAGNETIC AFFINITY CALCULATION (The Data Science Magic)\n                    Object.keys(followers).forEach(k => {\n                        let b = parseInt(k);\n                        let hitsAfterA = followers[k];\n                        \n                        \/\/ We need at least 2 connections to prove it's a pattern, not a fluke\n                        if (hitsAfterA >= 2) {\n                            let totalB = globalFreq[b] || 1;\n                            \n                            \/\/ Base Probability: What is the normal chance of B appearing randomly?\n                            let baseProb = totalB \/ totalDraws; \n                            \n                            \/\/ Linked Probability: What is the chance of B appearing exactly after A?\n                            let linkProb = hitsAfterA \/ totalA;\n                            \n                            \/\/ Affinity (Lift): How many times STRONGER is the connection than random luck?\n                            let affinity = linkProb \/ baseProb; \n                            \n                            affinityStats.push({\n                                n: b,\n                                hits: hitsAfterA,\n                                affinity: affinity,\n                                linkProb: Math.round(linkProb * 100)\n                            });\n                        }\n                    });\n\n                    \/\/ 3. SORT & EXTRACT THE SYNDICATE (Top 6 Magnetic Links)\n                    affinityStats.sort((a, b) => b.affinity - a.affinity || b.hits - a.hits);\n                    const topJodis = affinityStats.slice(0, 6);\n                    const jodiCandidates = topJodis.map(x => x.n);\n\n                    \/\/ 4. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udd17 JODI SYNDICATE PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#140a00; border:1px solid #ffaa00; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(255,170,0,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(255,170,0,0.1); border:1px solid rgba(255,170,0,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('jlLogicInfo'); const arrow = document.getElementById('jlArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#ffcc66; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW AFFINITY LINKER WORKS?<\/span>\n                                <span id=\"jlArrow\" style=\"color:#ffcc66;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"jlLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#ddbb88; line-height:1.6; border-top:1px dashed #aa7700; padding-top:10px;\">\n                                Ye normal 'Follower' list nahi hai. Ye Data Science ke <b>Magnetic Affinity (Lift)<\/b> formula par chalta hai:<br><br>\n                                <b>1. Fluke Filter:<\/b> Agar koi number vaise hi market me roj aa raha hai, toh ye AI usko link nahi manega. Ye sirf unhe pakadta hai jinka aapas me real connection ho.<br>\n                                <b>2. Magnetic Pull (X-Factor):<\/b> Agar kisi number ke aage \"4.5x\" likha hai, iska matlab us number ke aane ke chance normal din ke mukable aaj <b> \u0938\u093e\u0922\u093c\u0947 \u091a\u093e\u0930 \u0917\u0941\u0928\u093e (4.5 times)<\/b> zyada hain, kyunki Last Result ne usko chumbak (magnet) ki tarah kheencha hai.\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"display:flex; justify-content:space-between; align-items:flex-end; border-bottom:1px solid #442a00; padding-bottom:8px; margin-bottom:15px;\">\n                            <div style=\"font-size:11px; color:#ffaa00; font-weight:bold; letter-spacing:1px;\">\ud83e\uddf2 STRONGEST MAGNETIC CONNECTIONS<\/div>\n                            <div style=\"font-size:9px; color:#aaa;\">Base Target: [ ${lastResult.toString().padStart(2,'0')} ]<\/div>\n                        <\/div>\n                    `;\n\n                    if (topJodis.length === 0) {\n                        htmlOut += `<div style=\"text-align:center; color:#ffcc66; padding:20px; font-size:12px; background:#221100; border-radius:8px;\">History mein [ ${lastResult.toString().padStart(2,'0')} ] ke baad koi confirm strong pattern nahi mila. (Minimum 2 hits required).<\/div>`;\n                    } else {\n                        htmlOut += `<div style=\"display:grid; grid-template-columns: repeat(2, 1fr); gap:12px;\">`;\n                        \n                        topJodis.forEach(item => {\n                            let pullColor = item.affinity > 4.0 ? '#ff3333' : (item.affinity > 2.0 ? '#ffaa00' : '#00cc66');\n                            let pullLabel = item.affinity > 4.0 ? 'MASSIVE PULL' : (item.affinity > 2.0 ? 'STRONG PULL' : 'NORMAL LINK');\n\n                            htmlOut += `\n                            <div style=\"background:#221100; border:1px solid #552a00; padding:12px; border-radius:8px; position:relative; overflow:hidden; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                \n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;\">\n                                    <div style=\"display:flex; align-items:center; gap:8px;\">\n                                        <span style=\"font-size:12px; color:#aa7700;\">${lastResult.toString().padStart(2,'0')}<\/span>\n                                        <span style=\"font-size:12px; color:#ffaa00;\">\u2794<\/span>\n                                        <span style=\"font-size:24px; font-weight:900; color:#fff;\">${item.n.toString().padStart(2,'0')}<\/span>\n                                    <\/div>\n                                    <div style=\"text-align:right;\">\n                                        <div style=\"font-size:18px; font-weight:900; color:${pullColor};\">${item.affinity.toFixed(1)}x<\/div>\n                                    <\/div>\n                                <\/div>\n                                \n                                <div style=\"display:flex; justify-content:space-between; font-size:9px; color:#ddbb88; margin-bottom:5px;\">\n                                    <span>History Hits: ${item.hits}<\/span>\n                                    <span style=\"font-weight:bold; color:${pullColor};\">${pullLabel}<\/span>\n                                <\/div>\n                                \n                                <div style=\"width:100%; background:#000; height:3px; border-radius:2px;\">\n                                    <!-- Visualizing affinity capping at 6x for UI -->\n                                    <div style=\"width:${Math.min((item.affinity \/ 6) * 100, 100)}%; background:${pullColor}; height:100%; border-radius:2px; box-shadow:0 0 5px ${pullColor};\"><\/div>\n                                <\/div>\n                            <\/div>`;\n                        });\n                        \n                        htmlOut += `<\/div>`;\n                    }\n\n                    htmlOut += `<\/div>`;\n                    resultContent = htmlOut;\n                    info = '\ud83d\udd17 Jodi Syndicate Pro: Magnetic affinity and lift calculated based on deep history.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        if (jodiCandidates.includes(val)) {\n                            \/\/ Find specific match for border color\n                            const match = topJodis.find(x => x.n === val);\n                            let borderColor = match.affinity > 4.0 ? '#ff3333' : '#ffaa00';\n                            \n                            c.className = 'highlight-master';\n                            c.style.border = `2px solid ${borderColor}`;\n                        } else {\n                            c.style.opacity = '0.2'; \/\/ Dim the rest to make connections pop\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #ff3333', 'Massive Pull (> 4.0x)');\n                    logicChartAddLegend('transparent; border:2px solid #ffaa00', 'Strong Pull');\n                    break;\n                }\n                case 'pattern': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 20) {\n                        resultTitle = '\ud83d\udcd0 SEQUENCE MATRIX PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Geometric sequences pakadne ke liye kam se kam 20 draws chahiye.<\/div>';\n                        info = '\ud83d\udcd0 Smart Sequencer: Insufficient historical data.';\n                        break;\n                    }\n\n                    const recentData = timeline.slice(-20); \/\/ Scan last 20 days for LIVE active patterns\n                    const curLen = recentData.length;\n                    \n                    const activePatterns = [];\n                    const uniqueTargets = new Set();\n\n                    \/\/ 1. THE TWIN STRIKE (A - A)\n                    for (let i = curLen - 1; i >= 1; i--) {\n                        if (recentData[i] === recentData[i - 1]) {\n                            let n = recentData[i];\n                            let rashi = (n + 50) % 100;\n                            \n                            \/\/ Only add if it happened within the last 5 days (highly relevant)\n                            if (curLen - 1 - i <= 5) {\n                                activePatterns.push({\n                                    type: \"TWIN STRIKE\",\n                                    desc: `Lagatar repeat [${n} \u2794 ${n}]. Agla hit ya toh same hoga ya Half\/Full Rashi.`,\n                                    targets: [n, rashi],\n                                    badgeColor: \"#ff3366\",\n                                    age: curLen - 1 - i\n                                });\n                                uniqueTargets.add(n);\n                                uniqueTargets.add(rashi);\n                                break; \/\/ Just take the most recent one\n                            }\n                        }\n                    }\n\n                    \/\/ 2. THE SANDWICH PATTERN (A - B - A \u2794 Expect B)\n                    for (let i = curLen - 1; i >= 2; i--) {\n                        let a1 = recentData[i];\n                        let b = recentData[i - 1];\n                        let a2 = recentData[i - 2];\n                        \n                        if (a1 === a2 && a1 !== b) {\n                            if (curLen - 1 - i <= 7) {\n                                activePatterns.push({\n                                    type: \"SANDWICH\",\n                                    desc: `[${a1}] ne [${b}] ko sandwich kiya hai. Expecting reverse hit.`,\n                                    targets: [b],\n                                    badgeColor: \"#ff9900\",\n                                    age: curLen - 1 - i\n                                });\n                                uniqueTargets.add(b);\n                                break;\n                            }\n                        }\n                    }\n\n                    \/\/ 3. THE JUMPER PATTERN (A - X - A \u2794 Jumper Bounce)\n                    \/\/ (Similar to sandwich, but looking for an echo bounce)\n                    for (let i = curLen - 1; i >= 2; i--) {\n                        let a1 = recentData[i];\n                        let x = recentData[i - 1];\n                        let a2 = recentData[i - 2];\n                        \n                        if (a1 === a2) {\n                            \/\/ If it's a jumper, what follows 'A' historically? Let's predict a cut\/rashi bounce.\n                            let cut = (a1 + 50) % 100;\n                            if (curLen - 1 - i <= 7 && !activePatterns.find(p => p.type === \"SANDWICH\")) {\n                                activePatterns.push({\n                                    type: \"ECHO JUMPER\",\n                                    desc: `Ek din chod kar same number [${a1}] khula hai. Bounce expected.`,\n                                    targets: [cut],\n                                    badgeColor: \"#00e5ff\",\n                                    age: curLen - 1 - i\n                                });\n                                uniqueTargets.add(cut);\n                                break;\n                            }\n                        }\n                    }\n\n                    \/\/ 4. ARITHMETIC FLOW (A, B, C series)\n                    for (let i = curLen - 1; i >= 2; i--) {\n                        let c = recentData[i];\n                        let b = recentData[i - 1];\n                        let a = recentData[i - 2];\n                        \n                        let diff1 = c - b;\n                        let diff2 = b - a;\n                        \n                        \/\/ Strict arithmetic progression (e.g. 10, 15, 20)\n                        if (diff1 === diff2 && diff1 !== 0) {\n                            let nextTarget = (c + diff1 + 100) % 100; \/\/ Keep within 0-99\n                            if (curLen - 1 - i <= 5) {\n                                activePatterns.push({\n                                    type: \"ARITHMETIC FLOW\",\n                                    desc: `Mathematical flow chal raha hai (${diff1 > 0 ? '+'+diff1 : diff1} ki series).`,\n                                    targets: [nextTarget],\n                                    badgeColor: \"#a3e635\",\n                                    age: curLen - 1 - i\n                                });\n                                uniqueTargets.add(nextTarget);\n                                break;\n                            }\n                        }\n                    }\n\n                    \/\/ Sort by recency (age 0 means it just happened in the last draw)\n                    activePatterns.sort((a, b) => a.age - b.age);\n                    const finalTargets = [...uniqueTargets].slice(0, 8); \/\/ Max 8 targets to prevent clutter\n\n                    \/\/ 5. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udcd0 SEQUENCE MATRIX PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0a0011; border:1px solid #cc99ff; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(204,153,255,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(204,153,255,0.1); border:1px solid rgba(204,153,255,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('ptLogicInfo'); const arrow = document.getElementById('ptArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#e0aaff; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f SEQUENCE SCANNER EXPLAINED<\/span>\n                                <span id=\"ptArrow\" style=\"color:#e0aaff;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"ptLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#c8b6ff; line-height:1.6; border-top:1px dashed #5a189a; padding-top:10px;\">\n                                Ye AI chart ke andar chhupi hui 'Geometric' aur 'Mathematical' designs dhoondhta hai:<br><br>\n                                <b>1. Sandwich (A-B-A):<\/b> Jab ek number dusre ko gher leta hai (e.g., 40-15-40), toh market beech wale number (15) ko target karta hai.<br>\n                                <b>2. Echo Jumper:<\/b> Ek din chhod kar repeat aana.<br>\n                                <b>3. Arithmetic Flow:<\/b> Jab market ek specific table (paahada) follow karta hai (Jaise +2, +5).\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#d4a5ff; font-weight:bold; letter-spacing:1px; border-bottom:1px solid #3c096c; padding-bottom:8px; margin-bottom:15px;\">\ud83d\udd0d ACTIVE PATTERNS DETECTED (LAST 15 DAYS)<\/div>\n                    `;\n\n                    if (activePatterns.length === 0) {\n                        htmlOut += `\n                        <div style=\"text-align:center; padding:20px; background:#1a0529; border-radius:8px; border:1px dashed #5a189a;\">\n                            <div style=\"font-size:30px; margin-bottom:10px; opacity:0.5;\">\ud83e\udde9<\/div>\n                            <div style=\"font-size:12px; color:#c8b6ff;\">Current timeline mein koi solid geometric ya mathematical pattern detect nahi hua. Market abhi random chal raha hai.<\/div>\n                        <\/div>`;\n                    } else {\n                        htmlOut += `<div style=\"display:grid; grid-template-columns: 1fr; gap:10px; margin-bottom:20px;\">`;\n                        \n                        activePatterns.forEach(p => {\n                            let ageText = p.age === 0 ? \"LIVE (JUST HIT)\" : `${p.age} DRAWS AGO`;\n                            let ageColor = p.age === 0 ? \"#00e676\" : \"#888\";\n\n                            htmlOut += `\n                            <div style=\"background:#130022; border:1px solid #3c096c; border-left:4px solid ${p.badgeColor}; padding:12px; border-radius:6px;\">\n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;\">\n                                    <span style=\"font-size:11px; font-weight:bold; color:${p.badgeColor}; letter-spacing:1px; background:rgba(0,0,0,0.5); padding:3px 8px; border-radius:4px;\">${p.type}<\/span>\n                                    <span style=\"font-size:9px; font-weight:bold; color:${ageColor};\">${ageText}<\/span>\n                                <\/div>\n                                <div style=\"font-size:11px; color:#c8b6ff; margin-bottom:10px; line-height:1.4;\">${p.desc}<\/div>\n                                <div style=\"display:flex; align-items:center; gap:10px;\">\n                                    <span style=\"font-size:10px; color:#888;\">PREDICTED TARGETS:<\/span>\n                                    <span style=\"font-size:16px; font-weight:900; color:#fff; letter-spacing:2px; background:#000; padding:4px 10px; border-radius:4px; border:1px dashed ${p.badgeColor};\">${p.targets.map(n => n.toString().padStart(2,'0')).join(', ')}<\/span>\n                                <\/div>\n                            <\/div>`;\n                        });\n                        \n                        htmlOut += `<\/div>`;\n                        \n                        \/\/ Summary Targets\n                        htmlOut += `\n                        <div style=\"text-align:center; background:linear-gradient(180deg, #240046, #10002b); border:1px solid #7b2cbf; padding:12px; border-radius:8px;\">\n                            <div style=\"font-size:10px; color:#e0aaff; margin-bottom:8px;\">FINAL WATCHLIST (ALL PATTERNS)<\/div>\n                            <div style=\"font-size:22px; font-weight:900; color:#00f5d4; letter-spacing:4px; text-shadow:0 0 10px rgba(0,245,212,0.4);\">\n                                ${finalTargets.map(n => n.toString().padStart(2,'0')).join(' ')}\n                            <\/div>\n                        <\/div>`;\n                    }\n\n                    htmlOut += `<\/div>`;\n                    resultContent = htmlOut;\n                    info = '\ud83d\udcd0 Sequence Matrix Pro: Active geometric aur mathematical patterns detect ho gaye hain.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        if (finalTargets.includes(val)) {\n                            c.className = 'highlight-master';\n                            c.style.border = '2px solid #cc99ff';\n                            c.style.boxShadow = '0 0 10px rgba(204,153,255,0.5)';\n                        } else {\n                            c.style.opacity = '0.3'; \/\/ Dim everything else to let patterns shine\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #cc99ff', 'Pattern Targets Watchlist');\n                    break;\n                }\n                \/\/ \ud83d\udd25 MERGED: Master + AI = Supreme Voting System\n                case 'master':\n                case 'ai':\n                    logicSupremeVotingSystem();\n                    return; \/\/ Function handles update\n\n                \/* ================================\n                 * \ud83d\udd25 NEW GROUP-C ULTRA LOGICS\n                 * ================================ *\/\n\n                case 'age': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 50) {\n                        resultTitle = '\u23f3 AGE DEMOGRAPHICS PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Age tracker ke liye kam se kam 50 draws ki history chahiye.<\/div>';\n                        info = '\u23f3 Number Age: Data is insufficient.';\n                        break;\n                    }\n\n                    const curIdx = timeline.length - 1;\n                    const lastSeen = {};\n                    timeline.forEach((n, idx) => lastSeen[n] = idx);\n\n                    \/\/ 1. POPULATION COHORTS SETUP\n                    const cohorts = {\n                        infant: { label: \"INFANTS (0-3 Days)\", color: \"#ff3366\", nums: [], maxHealthy: 25 },\n                        youth: { label: \"YOUTH (4-10 Days)\", color: \"#00e5ff\", nums: [], maxHealthy: 35 },\n                        senior: { label: \"SENIORS (11-25 Days)\", color: \"#f59e0b\", nums: [], maxHealthy: 25 },\n                        ghost: { label: \"GHOSTS (26+ Days)\", color: \"#9c27b0\", nums: [], maxHealthy: 15 }\n                    };\n\n                    \/\/ 2. ASSIGN AGE TO ALL 100 NUMBERS\n                    for(let i = 0; i <= 99; i++) {\n                        let age = lastSeen[i] !== undefined ? (curIdx - lastSeen[i]) : 999;\n                        \n                        if (age <= 3) cohorts.infant.nums.push({n: i, age: age});\n                        else if (age <= 10) cohorts.youth.nums.push({n: i, age: age});\n                        else if (age <= 25) cohorts.senior.nums.push({n: i, age: age});\n                        else cohorts.ghost.nums.push({n: i, age: age});\n                    }\n\n                    \/\/ 3. IMBALANCE DETECTION (Which cohort is overcrowded?)\n                    let targetCohortKey = 'youth'; \/\/ Default safe zone\n                    let alertMsg = \"\u2696\ufe0f POPULATION BALANCED (TARGETING ACTIVE YOUTH ZONE)\";\n                    let alertColor = cohorts.youth.color;\n                    let highestImbalance = 0;\n\n                    \/\/ Calculate which group is exceeding its \"Healthy\" limit the most\n                    Object.keys(cohorts).forEach(key => {\n                        let overage = cohorts[key].nums.length - cohorts[key].maxHealthy;\n                        if (overage > highestImbalance) {\n                            highestImbalance = overage;\n                            targetCohortKey = key;\n                        }\n                    });\n\n                    if (highestImbalance > 0) {\n                        if (targetCohortKey === 'senior') {\n                            alertMsg = \"\u26a0\ufe0f SENIORS OVERCROWDED (MATURE DROP IMMINENT)\";\n                        } else if (targetCohortKey === 'ghost') {\n                            alertMsg = \"\ud83d\udc80 GHOST ZONE HEAVY (A SLEEPER WILL AWAKE)\";\n                        } else if (targetCohortKey === 'infant') {\n                            alertMsg = \"\ud83d\udd25 FAST REPEAT CYCLE ACTIVE (INFANT DROP EXPECTED)\";\n                        } else {\n                            alertMsg = \"\ud83c\udf0a YOUTH ZONE OVERLOADED (STANDARD FLOW HIGH)\";\n                        }\n                        alertColor = cohorts[targetCohortKey].color;\n                    }\n\n                    \/\/ 4. EXTRACT TARGETS FROM THE SELECTED COHORT\n                    \/\/ Sort by oldest in that cohort to find the ripest targets\n                    const targetList = cohorts[targetCohortKey].nums.sort((a,b) => b.age - a.age).slice(0, 8);\n                    const finalTargetNums = targetList.map(x => x.n);\n\n                    \/\/ 5. GENERATE PREMIUM UI\n                    resultTitle = '\u23f3 AGE DEMOGRAPHICS PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#050a14; border:1px solid #3b82f6; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(59,130,246,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(59,130,246,0.1); border:1px solid rgba(59,130,246,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('ageLogicInfo'); const arrow = document.getElementById('ageArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#93c5fd; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW AGE DEMOGRAPHICS WORKS?<\/span>\n                                <span id=\"ageArrow\" style=\"color:#93c5fd;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"ageLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#bfdbfe; line-height:1.6; border-top:1px dashed #1d4ed8; padding-top:10px;\">\n                                Ye engine chart ke 100 numbers ka \"Population Census\" karta hai. Numbers ko 4 age brackets me baanta jata hai.<br><br>\n                                Satta market ek balance par chalta hai. Agar <b>'Seniors' (11-25 din purane)<\/b> numbers ki aabadi market me badh jati hai, toh system unko clear karne ke liye lagatar wahi numbers nikalta hai. Ye AI us bheed (Overcrowding) ko pakad kar target set karta hai.\n                            <\/div>\n                        <\/div>\n\n                        <!-- TARGET ALERT BANNER -->\n                        <div style=\"background:#000; border:1px dashed ${alertColor}; padding:10px; border-radius:6px; text-align:center; margin-bottom:20px; box-shadow:inset 0 0 10px ${alertColor}33;\">\n                            <div style=\"font-size:12px; font-weight:bold; color:${alertColor}; letter-spacing:1px;\">${alertMsg}<\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#93c5fd; font-weight:bold; letter-spacing:1px; border-bottom:1px solid #1e3a8a; padding-bottom:5px; margin-bottom:15px;\">\ud83d\udcca GLOBAL POPULATION MATRIX<\/div>\n\n                        <!-- POPULATION BARS -->\n                        <div style=\"display:grid; grid-template-columns: 1fr; gap:10px; margin-bottom:20px;\">\n                    `;\n\n                    \/\/ Generate UI for all 4 cohorts\n                    Object.keys(cohorts).forEach(key => {\n                        let cData = cohorts[key];\n                        let count = cData.nums.length;\n                        let pct = count; \/\/ Since total is 100 numbers, count = percentage\n                        let isOvercrowded = count > cData.maxHealthy;\n                        \n                        htmlOut += `\n                            <div style=\"background:#0a101f; border:1px solid #1e293b; padding:10px; border-radius:6px; position:relative;\">\n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:5px;\">\n                                    <span style=\"font-size:10px; font-weight:bold; color:${cData.color};\">${cData.label}<\/span>\n                                    <span style=\"font-size:12px; font-weight:900; color:#fff;\">${count}%<\/span>\n                                <\/div>\n                                <div style=\"width:100%; background:#000; height:6px; border-radius:3px; overflow:hidden;\">\n                                    <div style=\"width:${pct}%; background:${cData.color}; height:100%; border-radius:3px; opacity:${isOvercrowded ? '1' : '0.6'};\"><\/div>\n                                <\/div>\n                                ${isOvercrowded ? `<div style=\"position:absolute; top:8px; right:45px; font-size:9px; color:#ff4444; font-weight:bold; background:rgba(255,0,0,0.2); padding:1px 4px; border-radius:2px;\">OVERLOAD<\/div>` : ''}\n                            <\/div>\n                        `;\n                    });\n\n                    htmlOut += `<\/div>`; \/\/ End Population Bars\n\n                    \/\/ SNIPER TARGETS FROM SELECTED COHORT\n                    htmlOut += `\n                        <div style=\"text-align:center; background:#111827; border:1px solid ${alertColor}; padding:15px; border-radius:10px;\">\n                            <div style=\"font-size:10px; color:${alertColor}; margin-bottom:10px; font-weight:bold;\">\ud83c\udfaf TARGETED COHORT SNIPERS<\/div>\n                            <div style=\"display:flex; flex-wrap:wrap; justify-content:center; gap:12px;\">\n                                ${targetList.map(t => `\n                                    <div style=\"background:#000; border:1px solid ${alertColor}; padding:8px 12px; border-radius:6px; text-align:center; box-shadow:0 0 10px ${alertColor}33;\">\n                                        <div style=\"font-size:20px; font-weight:900; color:#fff;\">${t.n.toString().padStart(2,'0')}<\/div>\n                                        <div style=\"font-size:8px; color:#aaa; margin-top:2px;\">Age: ${t.age}d<\/div>\n                                    <\/div>\n                                `).join('')}\n                            <\/div>\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\u23f3 Age Demographics Pro: Cohort population analyze karke overcrowded targets nikal liye gaye hain.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        if (finalTargetNums.includes(val)) {\n                            c.className = 'highlight-master';\n                            c.style.border = `2px solid ${alertColor}`;\n                            c.style.boxShadow = `inset 0 0 15px ${alertColor}66`;\n                        } else {\n                            c.style.opacity = '0.2'; \/\/ Dim unrelated numbers heavily\n                        }\n                    });\n                    \n                    logicChartAddLegend(`transparent; border:2px solid ${alertColor}`, `Overcrowded Cohort Targets`);\n                    break;\n                }\n\n                case 'probability': {\n    const timeline = meta.timeline || [];\n    if (!timeline.length) {\n        resultTitle = 'AI Probability Score';\n        resultContent = '<div style=\"color: #ff4d4d; font-weight: 500;\">Multi-year data nahi mila.<\/div>';\n        info = '\u2696 AI Probability: data kam hai.';\n        break;\n    }\n\n    \/\/ Combine frequency and last index mapping into a single pass\n    const stats = {};\n    timeline.forEach((n, idx) => {\n        if (!stats[n]) stats[n] = { count: 0, lastIdx: 0 };\n        stats[n].count += 1;\n        stats[n].lastIdx = idx;\n    });\n\n    const maxFreq = Math.max(...Object.values(stats).map(s => s.count));\n    const currentIndex = timeline.length - 1;\n\n    \/\/ Calculate score using Object.entries for cleaner ES6 syntax\n    const scored = Object.entries(stats).map(([k, v]) => {\n        const n = parseInt(k);\n        const fNorm = maxFreq ? (v.count \/ maxFreq) : 0;\n        \n        const age = currentIndex - v.lastIdx;\n        \/\/ Protect against division by zero if timeline length is 1\n        const ageNorm = currentIndex > 0 ? 1 - (age \/ currentIndex) : 1; \n        \n        const score = Math.round(100 * (0.6 * fNorm + 0.4 * ageNorm));\n        return { n, score };\n    }).sort((a, b) => b.score - a.score).slice(0, 10);\n\n    resultTitle = 'AI Probability Score (1\u2013100)';\n    \n    \/\/ Generates a compact, 'Cyber-Light' visual progress bar for each row\n    resultContent = scored.map(item => {\n        \/\/ Dynamic color: Green for high probability, Blue for medium, Gray for low\n        const barColor = item.score > 75 ? '#00e676' : item.score > 50 ? '#2979ff' : '#e0e0e0';\n        \n        return `\n        <div style=\"display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; font-family: monospace; font-size: 14px;\">\n            <span style=\"font-weight: 700; color: #111; width: 24px;\">${item.n.toString().padStart(2, '0')}<\/span>\n            <div style=\"flex-grow: 1; margin: 0 12px; background: rgba(0,0,0,0.05); height: 6px; border-radius: 4px; box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); overflow: hidden;\">\n                <div style=\"width: ${item.score}%; background: ${barColor}; height: 100%; border-radius: 4px; transition: width 0.5s ease;\"><\/div>\n            <\/div>\n            <span style=\"font-weight: 600; color: #555; width: 32px; text-align: right;\">${item.score}<\/span>\n        <\/div>`;\n    }).join('');\n\n    info = '\ud83c\udfaf AI Probability: Frequency (60%) + Recency (40%) se score calculate kiya gaya.';\n    break;\n}\n                case 'gap_behavior':\n                    logicGapBehaviorPro();\n                    return;\n                \n                case 'prob_max':\n                    logicAIProbabilityMax();\n                    return;\n\n                case 'season': {\n                    const monthFreq = {}; \n                    const monthHits = {};\n                    for (let m = 1; m <= 12; m++) { \n                        monthFreq[m] = {}; \n                        monthHits[m] = 0; \n                    }\n                    \n                    let currentActiveMonth = 1;\n                    const rowsDOM = document.querySelectorAll('#chartTable tbody tr');\n                    \n                    \/\/ 1. DATA EXTRACTION: Read DOM table safely\n                    rowsDOM.forEach(tr => {\n                        const tds = tr.querySelectorAll('td');\n                        if (tds.length < 13) return; \/\/ Ensure valid row\n\n                        for (let m = 1; m <= 12; m++) {\n                            const txt = tds[m].textContent.trim();\n                            if (\/^\\d{2}$\/.test(txt)) {\n                                const n = parseInt(txt, 10);\n                                monthFreq[m][n] = (monthFreq[m][n] || 0) + 1;\n                                monthHits[m]++;\n                                \n                                \/\/ Keep track of the highest month index that has data\n                                if (m > currentActiveMonth) {\n                                    currentActiveMonth = m;\n                                }\n                            }\n                        }\n                    });\n\n                    \/\/ 2. EXTRACT TARGETS FOR CURRENT ACTIVE MONTH\n                    const activeEntries = Object.entries(monthFreq[currentActiveMonth]);\n                    activeEntries.sort((a, b) => b[1] - a[1]); \/\/ Sort by frequency\n                    \n                    \/\/ Top 3 numbers for the current month\n                    const currentMonthTargets = activeEntries.slice(0, 3).map(x => parseInt(x[0]));\n\n                    \/\/ 3. GENERATE PREMIUM GLASSMORPHISM UI (Mobile Single-View)\n                    const monthNames = ['JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC'];\n                    \n                    resultTitle = '\ud83c\udf24 SEASONAL HEATMAP PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background: rgba(10, 15, 25, 0.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(0, 229, 255, 0.2); padding: 16px; border-radius: 12px; font-family: 'Segoe UI', sans-serif; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);\">\n                        \n                        <!-- CURRENT MONTH HIGHLIGHT -->\n                        <div style=\"background: linear-gradient(135deg, rgba(0, 229, 255, 0.1), rgba(0, 0, 0, 0.4)); border: 1px solid rgba(0, 229, 255, 0.4); padding: 12px; border-radius: 8px; margin-bottom: 15px; text-align: center; box-shadow: inset 0 0 20px rgba(0, 229, 255, 0.05);\">\n                            <div style=\"font-size: 10px; color: #80deea; font-weight: 700; letter-spacing: 2px; margin-bottom: 5px;\">CURRENT SEASONAL TARGETS<\/div>\n                            <div style=\"font-size: 16px; font-weight: 800; color: #fff;\">\n                                LIVE MONTH: <span style=\"color: #00e5ff;\">${monthNames[currentActiveMonth - 1]}<\/span>\n                            <\/div>\n                            <div style=\"display: flex; justify-content: center; gap: 12px; margin-top: 10px;\">\n                                ${currentMonthTargets.length > 0 ? currentMonthTargets.map(n => \n                                    `<div style=\"font-size: 24px; font-weight: 900; color: #fff; background: rgba(0,0,0,0.5); padding: 6px 16px; border-radius: 6px; border: 1px dashed #00e5ff; text-shadow: 0 0 10px #00e5ff;\">${n.toString().padStart(2,'0')}<\/div>`\n                                ).join('') : `<div style=\"color:#888; font-size:12px;\">No data yet for this month.<\/div>`}\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size: 10px; color: #888; font-weight: 700; letter-spacing: 1px; margin-bottom: 8px;\">ANNUAL HEAT GRID (TOP 2)<\/div>\n\n                        <!-- 12-MONTH COMPACT GRID (No Scroll) -->\n                        <div style=\"display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px;\">\n                    `;\n\n                    for (let m = 1; m <= 12; m++) {\n                        const mEntries = Object.entries(monthFreq[m]).sort((a, b) => b[1] - a[1]);\n                        const top2 = mEntries.slice(0, 2).map(it => it[0].padStart(2, '0'));\n                        const displayNums = top2.length ? top2.join(', ') : '--';\n                        \n                        const isCurrent = (m === currentActiveMonth);\n                        \n                        \/\/ Cyber-Light High-Tech Glass styling for individual cells\n                        const bg = isCurrent ? 'rgba(0, 229, 255, 0.15)' : 'rgba(255, 255, 255, 0.03)';\n                        const border = isCurrent ? '1px solid #00e5ff' : '1px solid rgba(255, 255, 255, 0.08)';\n                        const titleColor = isCurrent ? '#00e5ff' : '#888';\n                        const numColor = isCurrent ? '#fff' : '#ccc';\n\n                        htmlOut += `\n                            <div style=\"background: ${bg}; border: ${border}; padding: 8px 4px; border-radius: 6px; text-align: center;\">\n                                <div style=\"font-size: 9px; font-weight: 800; color: ${titleColor}; margin-bottom: 4px;\">${monthNames[m-1]}<\/div>\n                                <div style=\"font-size: 11px; font-weight: 700; color: ${numColor};\">${displayNums}<\/div>\n                            <\/div>\n                        `;\n                    }\n\n                    htmlOut += `\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83c\udf24 Season Heat Map: Current active month automatically detected and targeted.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        if (currentMonthTargets.includes(val)) {\n                            c.className = 'highlight-master';\n                            c.style.border = '2px solid #00e5ff';\n                            c.style.boxShadow = 'inset 0 0 15px rgba(0, 229, 255, 0.5)';\n                        } else {\n                            c.style.opacity = '0.3'; \/\/ Dim everything else so the seasonal targets pop\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #00e5ff', `Targets for ${monthNames[currentActiveMonth - 1]}`);\n                    break;\n                }\n\n                case 'samedate': {\n                    const todayKey = logicChartMeta.todayKey; \/\/ MM-DD\n                    const dateEntry = logicChartMeta.byDate[todayKey]; \/\/ {years:[], numbers:[]}\n\n                    if (!dateEntry || !dateEntry.years.length) {\n                        resultTitle = '\u23f3 CHRONO TERMINAL PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Is tareekh ka purana historical data database mein nahi hai.<\/div>';\n                        info = '\u23f3 Time Machine: History absent for today.';\n                        break;\n                    }\n\n                    const hYears = dateEntry.years;\n                    const hNums = dateEntry.numbers;\n\n                    \/\/ 1. DATA EXTRACTION: Sort chronologically (Oldest to Newest)\n                    const combined = hYears.map((y, i) => ({ year: y, num: hNums[i] }))\n                                           .sort((a, b) => a.year - b.year);\n\n                    \/\/ 2. TEMPORAL ANALYSIS (Finding commonalities across years)\n                    let oddCount = 0, evenCount = 0;\n                    const anderFreq = {0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0};\n                    const baharFreq = {0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0};\n                    let sumTotal = 0;\n\n                    combined.forEach(item => {\n                        let nStr = item.num.toString().padStart(2, '0');\n                        anderFreq[parseInt(nStr[0])]++;\n                        baharFreq[parseInt(nStr[1])]++;\n                        \n                        if (item.num % 2 !== 0) oddCount++;\n                        else evenCount++;\n                        \n                        sumTotal += item.num;\n                    });\n\n                    \/\/ 3. TARGET PREDICTIONS\n                    \/\/ A. Top Harufs\n                    const topAnder = Object.entries(anderFreq).sort((a,b) => b[1] - a[1])[0][0];\n                    const topBahar = Object.entries(baharFreq).sort((a,b) => b[1] - a[1])[0][0];\n                    \n                    \/\/ B. Math Sequence (Jump logic from last 2 years)\n                    let expectedMath = null;\n                    let diffStr = \"\";\n                    if (combined.length >= 2) {\n                        const last = combined[combined.length - 1].num;\n                        const secLast = combined[combined.length - 2].num;\n                        const diff = last - secLast;\n                        expectedMath = (last + diff + 100) % 100; \/\/ Keep within 0-99\n                        diffStr = (diff > 0 ? \"+\" : \"\") + diff;\n                    }\n\n                    \/\/ C. Gravity Center (Average of all years)\n                    const meanAverage = Math.round(sumTotal \/ combined.length);\n                    \n                    \/\/ D. Demographic Dominance\n                    const dominance = oddCount > evenCount ? \"ODD (TAAK) DOMINATES\" : (evenCount > oddCount ? \"EVEN (JUFAT) DOMINATES\" : \"BALANCED DYNAMICS\");\n\n                    \/\/ 4. GENERATE PREMIUM UI (Cyber-Terminal Layout)\n                    resultTitle = `\u23f3 CHRONO TERMINAL (${todayKey})`;\n                    \n                    let htmlOut = `\n                    <div style=\"background:#020b14; border:1px solid #00bfff; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(0,191,255,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(0,191,255,0.1); border:1px solid rgba(0,191,255,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('tmLogicInfo'); const arrow = document.getElementById('tmArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#80dfff; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f TIME MACHINE EXPLAINED<\/span>\n                                <span id=\"tmArrow\" style=\"color:#80dfff;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"tmLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#b3e6ff; line-height:1.6; border-top:1px dashed #007399; padding-top:10px;\">\n                                Ye Time Machine poori history scan karke dekhti hai ki <b>aaj ki tareekh (${todayKey})<\/b> par pichle saalon me kya khula tha.<br><br>\n                                AI sirf list nahi deta, wo saare saalon ke data ko nichod kar (analyze) karke nikalta hai ki is tareekh ki fitrat kya hai: yahan Odd aate hain ya Even? Kaunsa Haruf yahan strong hota hai? Aur mathematical series kya jump le rahi hai.\n                            <\/div>\n                        <\/div>\n\n                        <!-- TOP AI SUMMARY BANNER -->\n                        <div style=\"background:#001a33; border:1px dashed #00bfff; padding:12px; border-radius:6px; text-align:center; margin-bottom:20px;\">\n                            <div style=\"font-size:10px; color:#80dfff; font-weight:bold; letter-spacing:2px; margin-bottom:5px;\">TEMPORAL ANALYSIS REPORT<\/div>\n                            <div style=\"font-size:14px; font-weight:bold; color:#fff;\">${dominance}<\/div>\n                            <div style=\"display:flex; justify-content:center; gap:20px; margin-top:10px;\">\n                                <div><span style=\"font-size:10px; color:#888;\">FAVORITE ANDER:<\/span> <b style=\"color:#00e676; font-size:14px;\">${topAnder}<\/b><\/div>\n                                <div><span style=\"font-size:10px; color:#888;\">FAVORITE BAHAR:<\/span> <b style=\"color:#ff9900; font-size:14px;\">${topBahar}<\/b><\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:15px;\">\n                            \n                            <!-- LEFT: VERTICAL TIMELINE -->\n                            <div>\n                                <div style=\"font-size:10px; color:#80dfff; font-weight:bold; letter-spacing:1px; margin-bottom:10px; border-bottom:1px solid #004066; padding-bottom:5px;\">YEARLY RECORDS<\/div>\n                                <div style=\"max-height:180px; overflow-y:auto; padding-right:5px;\">\n                    `;\n\n                    combined.forEach((item, idx) => {\n                        let isLast = idx === combined.length - 1;\n                        let lineStyle = isLast ? \"\" : \"border-bottom:1px dashed #004066;\";\n                        htmlOut += `\n                                    <div style=\"display:flex; justify-content:space-between; padding:8px 0; ${lineStyle}\">\n                                        <span style=\"font-size:14px; font-weight:bold; color:#888;\">${item.year}<\/span>\n                                        <span style=\"font-size:16px; font-weight:900; color:#fff; text-shadow:0 0 5px rgba(0,191,255,0.5);\">${item.num.toString().padStart(2,'0')}<\/span>\n                                    <\/div>`;\n                    });\n\n                    htmlOut += `\n                                <\/div>\n                            <\/div>\n\n                            <!-- RIGHT: PREDICTION TARGETS -->\n                            <div style=\"display:flex; flex-direction:column; justify-content:space-between;\">\n                                \n                                <div style=\"background:#0a1a2a; border:1px solid #0059b3; padding:10px; border-radius:6px; text-align:center;\">\n                                    <div style=\"font-size:9px; color:#80dfff; margin-bottom:5px;\">HISTORICAL CENTER (MEAN)<\/div>\n                                    <div style=\"font-size:24px; font-weight:900; color:#00e676;\">${meanAverage.toString().padStart(2,'0')}<\/div>\n                                <\/div>\n\n                                ${expectedMath !== null ? `\n                                <div style=\"background:#1a1005; border:1px solid #995c00; padding:10px; border-radius:6px; text-align:center; margin-top:10px;\">\n                                    <div style=\"font-size:9px; color:#ffb366; margin-bottom:2px;\">SEQUENCE JUMP TARGET<\/div>\n                                    <div style=\"font-size:10px; color:#888; margin-bottom:5px;\">(Last gap was ${diffStr})<\/div>\n                                    <div style=\"font-size:24px; font-weight:900; color:#ff9900;\">${expectedMath.toString().padStart(2,'0')}<\/div>\n                                <\/div>` : ''}\n\n                                <div style=\"background:#111; border:1px solid #333; padding:10px; border-radius:6px; text-align:center; margin-top:10px;\">\n                                    <div style=\"font-size:9px; color:#aaa; margin-bottom:5px;\">CROSS JODI EXPECTED<\/div>\n                                    <div style=\"font-size:18px; font-weight:900; color:#fff;\">${topAnder}${topBahar}<\/div>\n                                <\/div>\n                                \n                            <\/div>\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = `\u23f3 Chrono Terminal: Data from ${combined.length} years analyzed for today's date.`;\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        let isHistorical = hNums.includes(val);\n                        \n                        if (isHistorical) {\n                            c.className = 'highlight-master';\n                            c.style.border = '2px solid #00bfff';\n                        } else if (val === meanAverage || val === expectedMath || val === parseInt(`${topAnder}${topBahar}`)) {\n                            c.className = 'highlight-pattern'; \/\/ Highlight the AI predictions slightly differently\n                            c.style.border = '1px dashed #00e676';\n                        } else {\n                            c.style.opacity = '0.3'; \/\/ Dim everything else\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #00bfff', 'Historical Hits');\n                    logicChartAddLegend('transparent; border:1px dashed #00e676', 'AI Predictions');\n                    break;\n                }\n\n                case 'gap': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 50) {\n                        resultTitle = '\u23f1\ufe0f GAP RHYTHM SYNC PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Rhythm calculate karne ke liye kam se kam 50 draws ka data chahiye.<\/div>';\n                        info = '\u23f1\ufe0f Gap Rhythm: Insufficient historical data.';\n                        break;\n                    }\n\n                    const curIdx = timeline.length - 1;\n                    const positions = {};\n                    \n                    timeline.forEach((n, idx) => {\n                        if (!positions[n]) positions[n] = [];\n                        positions[n].push(idx);\n                    });\n\n                    const syncStats = [];\n\n                    \/\/ 1. RHYTHM CALCULATION ENGINE\n                    Object.keys(positions).forEach(k => {\n                        const n = parseInt(k);\n                        const pos = positions[k];\n                        if (pos.length < 3) return; \/\/ Need at least 3 hits to establish a true average rhythm\n\n                        const gaps = [];\n                        for (let i = 1; i < pos.length; i++) {\n                            gaps.push(pos[i] - pos[i - 1]);\n                        }\n                        \n                        const avgGap = Math.round(gaps.reduce((a, b) => a + b, 0) \/ gaps.length);\n                        const currentGap = curIdx - pos[pos.length - 1];\n\n                        \/\/ 2. THE SYNC LOGIC (How close is current gap to the natural average gap?)\n                        \/\/ We are interested in numbers that are in the \"Drop Zone\" (Current gap is very close to Average gap)\n                        if (avgGap > 3) { \/\/ Ignore fast repeaters (Reverse Gap handles that)\n                            \n                            let diff = currentGap - avgGap;\n                            \n                            \/\/ If diff is between -2 (coming soon) and +3 (slightly overdue but in rhythm)\n                            if (diff >= -2 && diff <= 3) {\n                                let score = 0;\n                                let status = \"\";\n                                let color = \"\";\n\n                                if (diff === 0) {\n                                    score = 100; \/\/ Perfect timing\n                                    status = \"\ud83c\udfaf PERFECT SYNC (DROP DAY)\";\n                                    color = \"#14b8a6\"; \/\/ Teal\n                                } else if (diff > 0) {\n                                    score = 100 - (diff * 10); \/\/ 90, 80, 70\n                                    status = \"\ud83d\udd25 RIPE & OVERDUE\";\n                                    color = \"#f59e0b\"; \/\/ Amber\n                                } else {\n                                    score = 100 - (Math.abs(diff) * 15); \/\/ 85, 70\n                                    status = \"\u23f3 APPROACHING TARGET\";\n                                    color = \"#38bdf8\"; \/\/ Light Blue\n                                }\n\n                                syncStats.push({ n, avgGap, currentGap, diff, score, status, color });\n                            }\n                        }\n                    });\n\n                    \/\/ 3. SORT BY HIGHEST SYNC SCORE\n                    syncStats.sort((a, b) => b.score - a.score || a.avgGap - b.avgGap);\n                    const topSyncs = syncStats.slice(0, 6);\n                    const syncNums = topSyncs.map(x => x.n);\n\n                    \/\/ 4. GENERATE PREMIUM UI\n                    resultTitle = '\u23f1\ufe0f GAP RHYTHM SYNC PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#040f12; border:1px solid #14b8a6; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(20,184,166,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(20,184,166,0.1); border:1px solid rgba(20,184,166,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('gpLogicInfo'); const arrow = document.getElementById('gpArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#2dd4bf; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW RHYTHM SYNC WORKS?<\/span>\n                                <span id=\"gpArrow\" style=\"color:#2dd4bf;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"gpLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#99f6e4; line-height:1.6; border-top:1px dashed #0d9488; padding-top:10px;\">\n                                Ye normal 'Overdue\/Missing' tool nahi hai. Ye numbers ki <b>Biological Clock<\/b> check karta hai.<br><br>\n                                Har number ka ek natural cycle hota hai. Agar kisi number ki aadat market mein har 12 din baad aane ki hai (Avg Gap = 12), aur aaj usko pichli baar aaye hue theek 12 din ho chuke hain (Current Gap = 12), toh system use <b>\"\ud83c\udfaf PERFECT SYNC\"<\/b> maanta hai. Is time par number ke aane ke chances highest hote hain!\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#14b8a6; margin-bottom:15px; border-bottom:1px solid #0f766e; padding-bottom:5px; font-weight:bold; letter-spacing:1px;\">\u23f1\ufe0f NATURAL CYCLE TRACKER (TARGET ZONE)<\/div>\n                    `;\n\n                    if (topSyncs.length === 0) {\n                        htmlOut += `<div style=\"text-align:center; color:#5eead4; padding:20px; font-size:12px; background:#021517; border-radius:8px;\">Abhi koi bhi number apne 'Perfect Rhythm' par nahi khada hai. Market randomly chal raha hai.<\/div>`;\n                    } else {\n                        htmlOut += `<div style=\"display:grid; grid-template-columns: repeat(2, 1fr); gap:12px;\">`;\n                        \n                        topSyncs.forEach(c => {\n                            let fillPct = Math.min((c.currentGap \/ c.avgGap) * 100, 100);\n                            \n                            htmlOut += `\n                            <div style=\"background:#021517; border:1px solid #0f766e; padding:12px; border-radius:8px; position:relative; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;\">\n                                    <div style=\"display:flex; align-items:center; gap:10px;\">\n                                        <span style=\"font-size:26px; font-weight:900; color:#fff; text-shadow:0 0 10px rgba(20,184,166,0.3);\">${c.n.toString().padStart(2,'0')}<\/span>\n                                        <div>\n                                            <div style=\"font-size:9px; font-weight:bold; color:${c.color}; background:rgba(0,0,0,0.4); padding:2px 6px; border-radius:4px;\">${c.status}<\/div>\n                                            <div style=\"font-size:9px; color:#888; margin-top:3px;\">Accuracy: ${c.score}%<\/div>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n                                \n                                <div style=\"display:flex; justify-content:space-between; background:#000; padding:6px; border-radius:4px; margin-bottom:6px; font-size:10px;\">\n                                    <div style=\"text-align:center; color:#888;\">Natural Cycle<br><b style=\"color:#fff; font-size:12px;\">${c.avgGap}<\/b> days<\/div>\n                                    <div style=\"text-align:center; color:${c.color};\">Current Wait<br><b style=\"font-size:12px;\">${c.currentGap}<\/b> days<\/div>\n                                <\/div>\n                                \n                                <div style=\"width:100%; background:#002b33; height:4px; border-radius:2px; position:relative;\">\n                                    <div style=\"width:${fillPct}%; background:${c.color}; height:100%; border-radius:2px; box-shadow:0 0 5px ${c.color};\"><\/div>\n                                    <!-- Target marker -->\n                                    <div style=\"position:absolute; right:0; top:-2px; width:2px; height:8px; background:#fff;\"><\/div>\n                                <\/div>\n                            <\/div>`;\n                        });\n                        \n                        htmlOut += `<\/div>`;\n                    }\n\n                    htmlOut += `<\/div>`;\n                    resultContent = htmlOut;\n                    info = '\u23f1\ufe0f Gap Rhythm Sync: Perfect biological clock timing aur natural cycle detect ho gaye hain.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(cell => {\n                        const val = parseInt(cell.textContent);\n                        const match = topSyncs.find(x => x.n === val);\n                        \n                        if (match) {\n                            cell.className = 'highlight-master';\n                            cell.style.border = `2px solid ${match.color}`;\n                        } else {\n                            cell.style.opacity = '0.2'; \/\/ Dim the rest to make targets pop\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #14b8a6', 'Perfect Sync (100% Ready)');\n                    logicChartAddLegend('transparent; border:2px solid #f59e0b', 'Ripe & Slightly Overdue');\n                    break;\n                }\n                case 'monthly_pro': {\n                    const todayDate = new Date();\n                    const curMonth = todayDate.getMonth() + 1; \/\/ 1-12\n                    const curYear = todayDate.getFullYear();\n                    const monthNames = [\"\", \"JANUARY\", \"FEBRUARY\", \"MARCH\", \"APRIL\", \"MAY\", \"JUNE\", \"JULY\", \"AUGUST\", \"SEPTEMBER\", \"OCTOBER\", \"NOVEMBER\", \"DECEMBER\"];\n                    const curMonthName = monthNames[curMonth];\n\n                    let monthHistory = [];\n                    let currentYearHits = []; \/\/ Track if historical targets have hit this year\n\n                    \/\/ 1. FETCH DEEP HISTORY FOR CURRENT MONTH\n                    if(logicChartMeta.timelineDates && logicChartMeta.timeline) {\n                        logicChartMeta.timelineDates.forEach((d, idx) => {\n                            if(d.month === curMonth) {\n                                let num = logicChartMeta.timeline[idx];\n                                monthHistory.push(num);\n                                if (d.year === curYear) currentYearHits.push(num);\n                            }\n                        });\n                    }\n\n                    if(monthHistory.length < 20) {\n                        resultTitle = '\ud83e\uddec MONTHLY DNA PRO V3.0';\n                        resultContent = `<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: ${curMonthName} ka operation karne ke liye kam se kam 20 draws ka deep data chahiye.<\/div>`;\n                        info = '\ud83d\udcc5 Monthly DNA: Insufficient historical data.';\n                        break;\n                    }\n\n                    \/\/ 2. ANALYZE PATTERNS FOR THIS MONTH\n                    const mFreq = {};\n                    let oddCount = 0;\n                    let evenCount = 0;\n                    \n                    const anderFreq = {0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0};\n                    const baharFreq = {0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0};\n\n                    monthHistory.forEach(n => {\n                        mFreq[n] = (mFreq[n] || 0) + 1;\n                        \n                        if (n % 2 !== 0) oddCount++;\n                        else evenCount++;\n\n                        let s = n.toString().padStart(2, '0');\n                        anderFreq[parseInt(s[0])]++;\n                        baharFreq[parseInt(s[1])]++;\n                    });\n\n                    \/\/ A. Kings of the Month\n                    const sortedFreq = Object.entries(mFreq).sort((a,b) => b[1] - a[1]);\n                    const mKings = sortedFreq.slice(0, 4).map(x => parseInt(x[0]));\n                    \n                    \/\/ Verify if kings have dropped this year\n                    const kingStatus = mKings.map(k => {\n                        return { n: k, dropped: currentYearHits.includes(k) };\n                    });\n\n                    \/\/ B. Dual Haruf Extraction (Golden Cross)\n                    const topAnder = Object.entries(anderFreq).sort((a,b) => b[1] - a[1])[0][0];\n                    const topBahar = Object.entries(baharFreq).sort((a,b) => b[1] - a[1])[0][0];\n                    const goldenJodi = `${topAnder}${topBahar}`;\n\n                    \/\/ C. Monthly Behavior\n                    const dominance = oddCount > evenCount ? \"ODD (TAAK)\" : \"EVEN (JUFAT)\";\n                    const domPct = Math.round((Math.max(oddCount, evenCount) \/ monthHistory.length) * 100);\n\n                    \/\/ 3. GENERATE PREMIUM UI\n                    resultTitle = `\ud83e\uddec MONTHLY DNA (${curMonthName})`;\n                    \n                    let htmlOut = `\n                    <div style=\"background:#021105; border:1px solid #10b981; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(16,185,129,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(16,185,129,0.1); border:1px solid rgba(16,185,129,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('mdLogicInfo'); const arrow = document.getElementById('mdArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#6ee7b7; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f MONTHLY POST-MORTEM EXPLAINED<\/span>\n                                <span id=\"mdArrow\" style=\"color:#6ee7b7;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"mdLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#a7f3d0; line-height:1.6; border-top:1px dashed #047857; padding-top:10px;\">\n                                Ye engine sirf ek saal nahi, balki pichle saare saalon (All-Time) ka <b>${curMonthName}<\/b> ka data nikal kar analyze karta hai.<br><br>\n                                <b>1. The Kings:<\/b> Ye wo 4 numbers hain jo is mahine mein history me sabse zyada baar khule hain.<br>\n                                <b>2. Live Tracking:<\/b> AI dekhta hai ki ye Kings is saal ke ${curMonthName} me khul chuke hain ya abhi pending hain.<br>\n                                <b>3. Golden Cross:<\/b> Is mahine ka sabse pasandida Ander aur Bahar Haruf milakar ek Super Jodi banti hai.\n                            <\/div>\n                        <\/div>\n\n                        <!-- DATA VOLUME BANNER -->\n                        <div style=\"display:flex; justify-content:space-between; background:#064e3b; padding:8px 12px; border-radius:6px; margin-bottom:15px; border:1px solid #059669;\">\n                            <span style=\"font-size:10px; color:#6ee7b7; font-weight:bold;\">DEEP HISTORY ANALYZED<\/span>\n                            <span style=\"font-size:12px; color:#fff; font-weight:900;\">${monthHistory.length} DRAWS<\/span>\n                        <\/div>\n\n                        <!-- BEHAVIOR & HARUF -->\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:20px;\">\n                            <div style=\"background:#022c22; border:1px solid #10b981; padding:12px; border-radius:8px; text-align:center; box-shadow:inset 0 0 15px rgba(16,185,129,0.1);\">\n                                <div style=\"font-size:9px; color:#6ee7b7; letter-spacing:1px; margin-bottom:5px;\">BEHAVIOR DOMINANCE<\/div>\n                                <div style=\"font-size:16px; font-weight:900; color:#fff;\">${dominance}<\/div>\n                                <div style=\"font-size:10px; color:#10b981; margin-top:2px;\">Win Rate: ${domPct}%<\/div>\n                            <\/div>\n                            <div style=\"background:#022c22; border:1px dashed #10b981; padding:12px; border-radius:8px; text-align:center;\">\n                                <div style=\"font-size:9px; color:#6ee7b7; letter-spacing:1px; margin-bottom:5px;\">GOLDEN CROSS JODI<\/div>\n                                <div style=\"font-size:24px; font-weight:900; color:#34d399; text-shadow:0 0 10px rgba(52,211,153,0.5);\">${goldenJodi}<\/div>\n                                <div style=\"font-size:9px; color:#888; margin-top:2px;\">Ander: ${topAnder} | Bahar: ${topBahar}<\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#10b981; margin-bottom:10px; border-bottom:1px solid #064e3b; padding-bottom:5px; font-weight:bold; letter-spacing:1px;\">\ud83d\udc51 HISTORICAL KINGS OF ${curMonthName}<\/div>\n                        \n                        <!-- KINGS GRID WITH STATUS -->\n                        <div style=\"display:grid; grid-template-columns: repeat(2, 1fr); gap:10px;\">\n                            ${kingStatus.map(k => `\n                                <div style=\"background:#021c13; border:1px solid #059669; padding:10px; border-radius:6px; display:flex; justify-content:space-between; align-items:center;\">\n                                    <span style=\"font-size:22px; font-weight:900; color:#fff;\">${k.n.toString().padStart(2,'0')}<\/span>\n                                    <div style=\"text-align:right;\">\n                                        ${k.dropped \n                                            ? `<span style=\"font-size:9px; font-weight:bold; color:#888; background:#222; padding:2px 6px; border-radius:4px;\">DROPPED \u2713<\/span>` \n                                            : `<span style=\"font-size:9px; font-weight:bold; color:#000; background:#10b981; padding:2px 6px; border-radius:4px;\">PENDING \u23f3<\/span>`\n                                        }\n                                    <\/div>\n                                <\/div>\n                            `).join('')}\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = `\ud83e\uddec Monthly DNA Pro: ${curMonthName} ka behavior aur pending Kings extract kar liye gaye hain.`;\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        const isKing = mKings.includes(val);\n                        const isGolden = val === parseInt(goldenJodi);\n\n                        if (isGolden) {\n                            c.className = 'highlight-master';\n                            c.style.background = 'linear-gradient(135deg, #059669, #10b981)';\n                            c.style.color = '#fff';\n                            c.style.border = '2px solid #fff';\n                        } else if (isKing) {\n                            c.className = 'highlight-pattern';\n                            c.style.border = '2px solid #10b981';\n                        } else {\n                            c.style.opacity = '0.3'; \/\/ Dim everything else\n                        }\n                    });\n                    \n                    logicChartAddLegend('linear-gradient(135deg, #059669, #10b981)', 'Golden Cross Jodi');\n                    logicChartAddLegend('transparent; border:2px solid #10b981', 'Historical Kings');\n                    break;\n                }\n                    \ncase 'pressure_xray':\n                    logicPressureXRay();\n                    return;\n                    \n                case 'trend': {\n                    const timeline = (meta.timeline || []).slice();\n                    \/\/ Need exactly 40 days of recent data for a perfect 20 vs 20 comparison\n                    if (timeline.length < 40) {\n                        resultTitle = '\ud83d\udcc8 MARKET VELOCITY PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Momentum calculate karne ke liye kam se kam 40 draws chahiye.<\/div>';\n                        info = '\ud83d\udcc8 Trend Velocity: Insufficient historical data.';\n                        break;\n                    }\n\n                    \/\/ 1. THE 20\/20 ROLLING WINDOW\n                    const currentWindow = timeline.slice(-20);       \/\/ Last 20 days (Current Trend)\n                    const baseWindow = timeline.slice(-40, -20);     \/\/ Days 21-40 ago (Previous Baseline)\n\n                    const curFreq = {};\n                    const baseFreq = {};\n\n                    currentWindow.forEach(n => curFreq[n] = (curFreq[n] || 0) + 1);\n                    baseWindow.forEach(n => baseFreq[n] = (baseFreq[n] || 0) + 1);\n\n                    const deltas = [];\n\n                    \/\/ 2. CALCULATE VELOCITY (DELTA)\n                    for (let i = 0; i <= 99; i++) {\n                        let cHits = curFreq[i] || 0;\n                        let bHits = baseFreq[i] || 0;\n                        let d = cHits - bHits;\n\n                        \/\/ Only capture significant movements (Ignore minor +1\/-1 changes or dead numbers)\n                        if (cHits > 0 || bHits > 0) {\n                            deltas.push({ n: i, current: cHits, base: bHits, delta: d });\n                        }\n                    }\n\n                    \/\/ 3. EXTRACT BULLS AND BEARS\n                    \/\/ Bulls: Highest positive delta (Surging now)\n                    const bulls = deltas.filter(d => d.delta > 0)\n                                        .sort((a, b) => b.delta - a.delta || b.current - a.current)\n                                        .slice(0, 5);\n                                        \n                    \/\/ Bears: Lowest negative delta (Crashing\/Fading now)\n                    const bears = deltas.filter(d => d.delta < 0)\n                                        .sort((a, b) => a.delta - b.delta) \/\/ Most negative first\n                                        .slice(0, 5);\n\n                    const bullNums = bulls.map(x => x.n);\n                    const bearNums = bears.map(x => x.n);\n\n                    \/\/ 4. GENERATE PREMIUM GLASSMORPHISM UI\n                    resultTitle = '\ud83d\udcc8 MARKET VELOCITY (BULL\/BEAR) V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background: rgba(5, 10, 15, 0.8); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); padding: 18px; border-radius: 12px; font-family: 'Segoe UI', sans-serif; color: #fff; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.05); padding: 12px; border-radius: 8px; margin-bottom: 15px;\">\n                            <div style=\"display: flex; justify-content: space-between; align-items: center; cursor: pointer;\" onclick=\"const el = document.getElementById('trLogicInfo'); const arrow = document.getElementById('trArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color: #94a3b8; font-weight: bold; font-size: 12px; letter-spacing: 1px;\">\u2139\ufe0f HOW VELOCITY ENGINE WORKS?<\/span>\n                                <span id=\"trArrow\" style=\"color: #94a3b8;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"trLogicInfo\" style=\"display: none; margin-top: 12px; font-size: 11px; color: #cbd5e1; line-height: 1.6; border-top: 1px dashed #334155; padding-top: 10px;\">\n                                Ye engine stock market ki tarah numbers ka <b>Momentum<\/b> check karta hai. Ye pichle 20 dino ko uske pehle wale 20 dino se compare karta hai.<br><br>\n                                <b style=\"color: #00e676;\">\ud83d\udcc8 BULLISH (Uptrend):<\/b> Ye wo numbers hain jo achanak se form mein aa gaye hain aur tezi se khul rahe hain.<br>\n                                <b style=\"color: #ff3366;\">\ud83d\udcc9 BEARISH (Downtrend):<\/b> Ye wo numbers hain jo pehle bahut khulte the, par ab inka trend khatam (crash) ho chuka hai. Inhe avoid karein.\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;\">\n                            \n                            <!-- UPTREND (BULLISH) PANEL -->\n                            <div style=\"background: rgba(0, 230, 118, 0.05); border: 1px solid rgba(0, 230, 118, 0.3); border-top: 4px solid #00e676; padding: 12px; border-radius: 8px; box-shadow: inset 0 0 20px rgba(0, 230, 118, 0.02);\">\n                                <div style=\"font-size: 10px; color: #00e676; font-weight: bold; letter-spacing: 1px; margin-bottom: 10px; display: flex; align-items: center; gap: 5px;\">\n                                    <span>\ud83d\udcc8<\/span> BULLISH (SURGING)\n                                <\/div>\n                                \n                                ${bulls.length > 0 ? bulls.map(b => `\n                                    <div style=\"display: flex; justify-content: space-between; align-items: center; background: rgba(0, 0, 0, 0.4); padding: 6px 10px; border-radius: 6px; margin-bottom: 6px; border: 1px solid rgba(0, 230, 118, 0.1);\">\n                                        <span style=\"font-size: 18px; font-weight: 900; color: #fff;\">${b.n.toString().padStart(2,'0')}<\/span>\n                                        <div style=\"text-align: right;\">\n                                            <span style=\"font-size: 12px; font-weight: bold; color: #00e676;\">+${b.delta}<\/span>\n                                            <div style=\"font-size: 8px; color: #888;\">Hits: ${b.base} \u2794 ${b.current}<\/div>\n                                        <\/div>\n                                    <\/div>\n                                `).join('') : `<div style=\"font-size: 10px; color: #888; text-align: center; padding: 10px;\">No strong uptrend found.<\/div>`}\n                            <\/div>\n\n                            <!-- DOWNTREND (BEARISH) PANEL -->\n                            <div style=\"background: rgba(255, 51, 102, 0.05); border: 1px solid rgba(255, 51, 102, 0.3); border-top: 4px solid #ff3366; padding: 12px; border-radius: 8px; box-shadow: inset 0 0 20px rgba(255, 51, 102, 0.02);\">\n                                <div style=\"font-size: 10px; color: #ff3366; font-weight: bold; letter-spacing: 1px; margin-bottom: 10px; display: flex; align-items: center; gap: 5px;\">\n                                    <span>\ud83d\udcc9<\/span> BEARISH (CRASHING)\n                                <\/div>\n                                \n                                ${bears.length > 0 ? bears.map(b => `\n                                    <div style=\"display: flex; justify-content: space-between; align-items: center; background: rgba(0, 0, 0, 0.4); padding: 6px 10px; border-radius: 6px; margin-bottom: 6px; border: 1px solid rgba(255, 51, 102, 0.1);\">\n                                        <span style=\"font-size: 18px; font-weight: 900; color: #aaa;\">${b.n.toString().padStart(2,'0')}<\/span>\n                                        <div style=\"text-align: right;\">\n                                            <span style=\"font-size: 12px; font-weight: bold; color: #ff3366;\">${b.delta}<\/span>\n                                            <div style=\"font-size: 8px; color: #666;\">Hits: ${b.base} \u2794 ${b.current}<\/div>\n                                        <\/div>\n                                    <\/div>\n                                `).join('') : `<div style=\"font-size: 10px; color: #888; text-align: center; padding: 10px;\">No strong downtrend found.<\/div>`}\n                            <\/div>\n\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83d\udcc8 Market Velocity: 20-Day vs 20-Day rolling window se Bullish aur Bearish trends extract kiye gaye hain.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        \n                        if (bullNums.includes(val)) {\n                            c.className = 'highlight-master';\n                            c.style.border = '2px solid #00e676';\n                            c.style.boxShadow = 'inset 0 0 10px rgba(0,230,118,0.4)';\n                        } else if (bearNums.includes(val)) {\n                            c.className = 'highlight-pattern';\n                            c.style.border = '1px dashed #ff3366';\n                            c.style.color = '#ff3366'; \/\/ Make text red to indicate danger\n                            c.style.opacity = '0.6';\n                        } else {\n                            c.style.opacity = '0.2'; \/\/ Dim neutral numbers\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #00e676', 'Bullish (Surging Uptrend)');\n                    logicChartAddLegend('transparent; border:1px dashed #ff3366; color:#ff3366', 'Bearish (Crashing Downtrend)');\n                    break;\n                }\n\n               case 'triple': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 30) {\n                        resultTitle = '\u27bf TRIPLE HARMONY PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Triple sequence detect karne ke liye kam se kam 30 draws chahiye.<\/div>';\n                        info = '\u27bf Triple Sequence: Insufficient historical data.';\n                        break;\n                    }\n\n                    const recent = timeline.slice(-30);\n                    const curLen = recent.length;\n                    const activeSequences = [];\n                    \n                    const jodiTargets = new Set();\n                    const anderTargets = new Set();\n                    const baharTargets = new Set();\n\n                    \/\/ 1. SCAN FOR ACTIVE PATTERNS (Backwards from latest)\n                    for (let i = curLen - 1; i >= 2; i--) {\n                        let c = recent[i];       \/\/ Latest in this block\n                        let b = recent[i - 1];   \/\/ Middle\n                        let a = recent[i - 2];   \/\/ Oldest\n                        let age = curLen - 1 - i;\n\n                        \/\/ Only care about sequences that happened in the last 15 days (Active)\n                        if (age > 15) continue;\n\n                        let cStr = c.toString().padStart(2, '0');\n                        let bStr = b.toString().padStart(2, '0');\n                        let aStr = a.toString().padStart(2, '0');\n\n                        \/\/ A. FULL JODI ARITHMETIC SEQUENCE (A -> B -> C)\n                        let diff1 = b - a;\n                        let diff2 = c - b;\n\n                        if (diff1 === diff2 && diff1 !== 0) {\n                            let nextTarget = (c + diff1 + 100) % 100;\n                            \n                            \/\/ Prevent duplicate sequence logs\n                            if (!activeSequences.find(s => s.type === \"FULL JODI FLOW\" && s.targetNum === nextTarget)) {\n                                activeSequences.push({\n                                    type: \"FULL JODI FLOW\",\n                                    seq: `${aStr} \u2794 ${bStr} \u2794 ${cStr}`,\n                                    targetStr: nextTarget.toString().padStart(2,'0'),\n                                    targetNum: nextTarget,\n                                    desc: `Exact Jodi Gap of ${diff1 > 0 ? '+'+diff1 : diff1}.`,\n                                    color: \"#c084fc\", \/\/ Light Purple\n                                    age: age,\n                                    isHaruf: false\n                                });\n                                jodiTargets.add(nextTarget);\n                            }\n                        }\n\n                        \/\/ B. ANDER HARUF SEQUENCE (e.g. 2x -> 3x -> 4x)\n                        let aAnder = parseInt(aStr[0]), bAnder = parseInt(bStr[0]), cAnder = parseInt(cStr[0]);\n                        if (bAnder - aAnder === cAnder - bAnder && bAnder - aAnder !== 0) {\n                            let hDiff = bAnder - aAnder;\n                            let nextAnder = (cAnder + hDiff + 10) % 10;\n                            \n                            if (!activeSequences.find(s => s.type === \"ANDER HARUF SERIES\" && s.targetNum === nextAnder)) {\n                                activeSequences.push({\n                                    type: \"ANDER HARUF SERIES\",\n                                    seq: `${aAnder}X \u2794 ${bAnder}X \u2794 ${cAnder}X`,\n                                    targetStr: `${nextAnder} (Ander)`,\n                                    targetNum: nextAnder,\n                                    desc: `Ander digit moving by ${hDiff > 0 ? '+'+hDiff : hDiff}.`,\n                                    color: \"#38bdf8\", \/\/ Sky Blue\n                                    age: age,\n                                    isHaruf: true,\n                                    hType: 'ander'\n                                });\n                                anderTargets.add(nextAnder);\n                            }\n                        }\n\n                        \/\/ C. BAHAR HARUF SEQUENCE (e.g. x5 -> x6 -> x7)\n                        let aBahar = parseInt(aStr[1]), bBahar = parseInt(bStr[1]), cBahar = parseInt(cStr[1]);\n                        if (bBahar - aBahar === cBahar - bBahar && bBahar - aBahar !== 0) {\n                            let hDiff = bBahar - aBahar;\n                            let nextBahar = (cBahar + hDiff + 10) % 10;\n                            \n                            if (!activeSequences.find(s => s.type === \"BAHAR HARUF SERIES\" && s.targetNum === nextBahar)) {\n                                activeSequences.push({\n                                    type: \"BAHAR HARUF SERIES\",\n                                    seq: `X${aBahar} \u2794 X${bBahar} \u2794 X${cBahar}`,\n                                    targetStr: `${nextBahar} (Bahar)`,\n                                    targetNum: nextBahar,\n                                    desc: `Bahar digit moving by ${hDiff > 0 ? '+'+hDiff : hDiff}.`,\n                                    color: \"#f472b6\", \/\/ Pink\n                                    age: age,\n                                    isHaruf: true,\n                                    hType: 'bahar'\n                                });\n                                baharTargets.add(nextBahar);\n                            }\n                        }\n                    }\n\n                    \/\/ Sort so most recent (lowest age) sequences appear first\n                    activeSequences.sort((a, b) => a.age - b.age);\n                    const displaySeqs = activeSequences.slice(0, 5); \/\/ Show max 5 to prevent UI clutter\n\n                    \/\/ 2. GENERATE PREMIUM UI\n                    resultTitle = '\u27bf TRIPLE HARMONY PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0f0518; border:1px solid #9333ea; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(147,51,234,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(147,51,234,0.1); border:1px solid rgba(147,51,234,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('trLogicInfo'); const arrow = document.getElementById('trArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#d8b4fe; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW 3X SEQUENCE WORKS?<\/span>\n                                <span id=\"trArrow\" style=\"color:#d8b4fe;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"trLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#e9d5ff; line-height:1.6; border-top:1px dashed #7e22ce; padding-top:10px;\">\n                                Ye engine market me chal rahi <b>A \u2794 B \u2794 C<\/b> series (paahada) ko detect karta hai.<br><br>\n                                <b>1. Full Jodi Flow:<\/b> Jab lagatar 3 din tak exact gap aaye (Jaise 10, 20, 30).<br>\n                                <b>2. Hidden Haruf Series:<\/b> Satta market aksar poori Jodi nahi, balki ek single digit ki series chalata hai (Jaise Ander ka ank: 1X, 2X, 3X). Ye AI un hidden series ko nikal kar Target de deta hai.\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#c084fc; font-weight:bold; letter-spacing:1px; border-bottom:1px solid #4c1d95; padding-bottom:5px; margin-bottom:15px;\">\ud83d\udd0d ACTIVE TRIPLE SERIES (LAST 15 DAYS)<\/div>\n                    `;\n\n                    if (displaySeqs.length === 0) {\n                        htmlOut += `\n                        <div style=\"text-align:center; padding:20px; background:#1e142b; border-radius:8px; border:1px dashed #7e22ce;\">\n                            <div style=\"font-size:30px; margin-bottom:10px; opacity:0.5;\">\ud83d\udcc9<\/div>\n                            <div style=\"font-size:12px; color:#d8b4fe;\">Current market flow mein koi 3-step arithmetic sequence (Triple) nahi mili.<\/div>\n                        <\/div>`;\n                    } else {\n                        htmlOut += `<div style=\"display:grid; grid-template-columns: 1fr; gap:12px;\">`;\n                        \n                        displaySeqs.forEach(s => {\n                            let ageText = s.age === 0 ? \"LIVE (JUST HIT)\" : `${s.age} DRAWS AGO`;\n                            let ageColor = s.age === 0 ? \"#00e676\" : \"#888\";\n\n                            htmlOut += `\n                            <div style=\"background:#1b1025; border:1px solid #4c1d95; border-left:4px solid ${s.color}; padding:12px; border-radius:6px; position:relative; box-shadow:0 4px 10px rgba(0,0,0,0.3);\">\n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;\">\n                                    <span style=\"font-size:10px; font-weight:bold; color:${s.color}; letter-spacing:1px; background:rgba(0,0,0,0.5); padding:3px 6px; border-radius:4px;\">${s.type}<\/span>\n                                    <span style=\"font-size:9px; font-weight:bold; color:${ageColor};\">${ageText}<\/span>\n                                <\/div>\n                                \n                                <div style=\"display:flex; justify-content:space-between; align-items:center;\">\n                                    <div>\n                                        <div style=\"font-size:16px; font-weight:bold; color:#fff; letter-spacing:2px;\">${s.seq}<\/div>\n                                        <div style=\"font-size:10px; color:#a78bfa; margin-top:2px;\">${s.desc}<\/div>\n                                    <\/div>\n                                    <div style=\"text-align:right;\">\n                                        <div style=\"font-size:9px; color:#888; margin-bottom:2px;\">EXPECTED 4TH<\/div>\n                                        <div style=\"font-size:18px; font-weight:900; color:${s.color}; text-shadow:0 0 10px ${s.color}66;\">${s.targetStr}<\/div>\n                                    <\/div>\n                                <\/div>\n                            <\/div>`;\n                        });\n                        \n                        htmlOut += `<\/div>`;\n                    }\n\n                    htmlOut += `<\/div>`;\n                    resultContent = htmlOut;\n                    info = '\u27bf Triple Harmony Pro: Full Jodi aur Hidden Haruf sequences detect ho gaye hain.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        let textVal = c.textContent.trim();\n                        let val = parseInt(textVal);\n                        if (textVal.length !== 2) return;\n                        \n                        let isJodi = jodiTargets.has(val);\n                        let isAnder = anderTargets.has(parseInt(textVal[0]));\n                        let isBahar = baharTargets.has(parseInt(textVal[1]));\n\n                        if (isJodi) {\n                            c.className = 'highlight-master';\n                            c.style.border = '2px solid #c084fc';\n                            c.style.boxShadow = 'inset 0 0 10px rgba(192,132,252,0.4)';\n                        } else if (isAnder && isBahar) {\n                            c.className = 'highlight-pattern';\n                            c.style.borderLeft = '4px solid #38bdf8';\n                            c.style.borderRight = '4px solid #f472b6';\n                        } else if (isAnder) {\n                            c.className = 'highlight-pattern';\n                            c.style.borderLeft = '4px solid #38bdf8';\n                            c.style.opacity = '0.7';\n                        } else if (isBahar) {\n                            c.className = 'highlight-pattern';\n                            c.style.borderRight = '4px solid #f472b6';\n                            c.style.opacity = '0.7';\n                        } else {\n                            c.style.opacity = '0.2'; \/\/ Dim unrelated\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #c084fc', 'Full Jodi Sequence');\n                    logicChartAddLegend('transparent; border-left:4px solid #38bdf8; border-right:4px solid #f472b6', 'Haruf Sequences (Blue=Ander, Pink=Bahar)');\n                    break;\n                }\n                \n                case 'nas_tracker':\n                    logicNasTrackerPro();\n                    return;\n                \n                case 'quantum':\n                    logicQuantumRootPro();\n                    return;\n\n                case 'yearsig': {\n                    const byYear = meta.byYear || {};\n                    const years = Object.keys(byYear).map(y => parseInt(y)).sort((a, b) => a - b);\n                    \n                    if (years.length === 0) {\n                        resultTitle = '\ud83e\uddec ANNUAL DNA PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Year-wise data unavailable.<\/div>';\n                        info = '\ud83d\udcc5 Year Signature: Insufficient data.';\n                        break;\n                    }\n\n                    \/\/ 1. FOCUS ON THE RECENT ERA (Last 5 Years)\n                    const recentYears = years.slice(-5);\n                    const eraStats = [];\n                    let currentYearTarget = null;\n\n                    \/\/ 2. EXTRACT ANNUAL DNA\n                    recentYears.forEach(y => {\n                        const arr = byYear[y];\n                        if (!arr || !arr.length) return;\n\n                        const total = arr.length;\n                        let odd = 0, high = 0;\n                        const baharFreq = {};\n\n                        arr.forEach(n => {\n                            if (n % 2 !== 0) odd++;\n                            if (n >= 50) high++;\n                            let bahar = n % 10;\n                            baharFreq[bahar] = (baharFreq[bahar] || 0) + 1;\n                        });\n\n                        const oddPct = Math.round((odd \/ total) * 100);\n                        const evenPct = 100 - oddPct;\n                        const highPct = Math.round((high \/ total) * 100);\n                        const lowPct = 100 - highPct;\n\n                        \/\/ Find Apex Bahar (Most frequent ending digit)\n                        const topBahar = Object.entries(baharFreq).sort((a, b) => b[1] - a[1])[0][0];\n\n                        \/\/ Calculate Year Dominance Vibe\n                        let vibe = \"BALANCED\";\n                        if (oddPct > 55) vibe = \"ODD HEAVY\";\n                        else if (evenPct > 55) vibe = \"EVEN HEAVY\";\n                        if (highPct > 55) vibe += \" + HIGH\";\n                        else if (lowPct > 55) vibe += \" + LOW\";\n\n                        eraStats.push({\n                            year: y,\n                            total: total,\n                            oddPct: oddPct,\n                            evenPct: evenPct,\n                            highPct: highPct,\n                            lowPct: lowPct,\n                            apexHaruf: topBahar,\n                            vibe: vibe\n                        });\n\n                        \/\/ Keep track of current year's target for chart highlighting\n                        if (y === recentYears[recentYears.length - 1]) {\n                            currentYearTarget = parseInt(topBahar);\n                        }\n                    });\n\n                    if (eraStats.length === 0) {\n                        resultTitle = '\ud83e\uddec ANNUAL DNA PRO V3.0';\n                        resultContent = 'Insufficient data in recent years to build DNA profile.';\n                        info = '\ud83d\udcc5 Year Signature: Data error.';\n                        break;\n                    }\n\n                    \/\/ 3. GENERATE PREMIUM EXECUTIVE UI\n                    resultTitle = '\ud83e\uddec ANNUAL DNA (ERA BLUEPRINT) V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#020510; border:1px solid #4338ca; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(67,56,202,0.2);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(67,56,202,0.1); border:1px solid rgba(67,56,202,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('ysLogicInfo'); const arrow = document.getElementById('ysArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#818cf8; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW ANNUAL DNA WORKS?<\/span>\n                                <span id=\"ysArrow\" style=\"color:#818cf8;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"ysLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#c7d2fe; line-height:1.6; border-top:1px dashed #3730a3; padding-top:10px;\">\n                                Har saal satta market ek alag <b>Signature (DNA)<\/b> follow karta hai. Ye AI pichle 5 saalon ka blueprint nikalta hai:<br><br>\n                                <b>1. Parity & Zone:<\/b> Market kis taraf jhuk raha hai? (Odd zyada de raha hai ya Even? High numbers khol raha hai ya Low?).<br>\n                                <b>2. Apex Haruf:<\/b> Us poore saal ka sabse dominant Bahar (Close) ka ank kaunsa raha hai. Ise dekh kar aap current year ke operator ka mind read kar sakte hain.\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#a5b4fc; font-weight:bold; letter-spacing:1px; border-bottom:1px solid #312e81; padding-bottom:5px; margin-bottom:15px;\">\ud83d\udcca RECENT ERA (5-YEAR MATRIX)<\/div>\n                        \n                        <div style=\"display:flex; flex-direction:column; gap:12px;\">\n                    `;\n\n                    eraStats.reverse().forEach((stat, idx) => {\n                        let isCurrent = idx === 0; \/\/ The most recent year\n                        let cardBg = isCurrent ? 'linear-gradient(135deg, #1e1b4b, #312e81)' : '#0a0a1a';\n                        let cardBorder = isCurrent ? '#6366f1' : '#1e1b4b';\n                        let badgeColor = isCurrent ? '#fbbf24' : '#4f46e5';\n\n                        htmlOut += `\n                            <div style=\"background:${cardBg}; border:1px solid ${cardBorder}; padding:12px; border-radius:8px; display:flex; flex-direction:column; gap:10px; box-shadow:${isCurrent ? '0 0 15px rgba(99,102,241,0.2)' : 'none'};\">\n                                \n                                <div style=\"display:flex; justify-content:space-between; align-items:center;\">\n                                    <div style=\"display:flex; align-items:center; gap:8px;\">\n                                        <span style=\"font-size:18px; font-weight:900; color:#fff;\">${stat.year}<\/span>\n                                        ${isCurrent ? `<span style=\"font-size:9px; background:#fbbf24; color:#000; font-weight:bold; padding:2px 6px; border-radius:4px; letter-spacing:1px;\">CURRENT YEAR<\/span>` : ''}\n                                    <\/div>\n                                    <div style=\"font-size:10px; color:#a5b4fc;\">${stat.total} DRAWS<\/div>\n                                <\/div>\n\n                                <!-- DNA Progress Bars -->\n                                <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:15px; font-size:9px;\">\n                                    \n                                    <!-- Odd\/Even Split -->\n                                    <div>\n                                        <div style=\"display:flex; justify-content:space-between; margin-bottom:3px; color:#cbd5e1;\">\n                                            <span>ODD: ${stat.oddPct}%<\/span>\n                                            <span>EVEN: ${stat.evenPct}%<\/span>\n                                        <\/div>\n                                        <div style=\"width:100%; height:4px; background:#000; border-radius:2px; display:flex; overflow:hidden;\">\n                                            <div style=\"width:${stat.oddPct}%; background:#38bdf8;\"><\/div>\n                                            <div style=\"width:${stat.evenPct}%; background:#f472b6;\"><\/div>\n                                        <\/div>\n                                    <\/div>\n\n                                    <!-- Low\/High Split -->\n                                    <div>\n                                        <div style=\"display:flex; justify-content:space-between; margin-bottom:3px; color:#cbd5e1;\">\n                                            <span>LOW: ${stat.lowPct}%<\/span>\n                                            <span>HIGH: ${stat.highPct}%<\/span>\n                                        <\/div>\n                                        <div style=\"width:100%; height:4px; background:#000; border-radius:2px; display:flex; overflow:hidden;\">\n                                            <div style=\"width:${stat.lowPct}%; background:#00e676;\"><\/div>\n                                            <div style=\"width:${stat.highPct}%; background:#ff9900;\"><\/div>\n                                        <\/div>\n                                    <\/div>\n\n                                <\/div>\n\n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-top:4px; border-top:1px dashed ${isCurrent ? '#4f46e5' : '#1e1b4b'}; padding-top:8px;\">\n                                    <div style=\"font-size:10px; font-weight:bold; color:${badgeColor};\">${stat.vibe}<\/div>\n                                    <div style=\"font-size:10px; color:#cbd5e1;\">APEX BAHAR: <span style=\"font-size:14px; font-weight:900; color:#fff;\">X${stat.apexHaruf}<\/span><\/div>\n                                <\/div>\n                            <\/div>\n                        `;\n                    });\n\n                    htmlOut += `\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83e\uddec Annual DNA Pro: 5-year macro trends and Apex Harufs calculated.';\n                    \n                    \/\/ Highlight on Chart - Smart Visibility (Highlighting Current Year's Apex Bahar)\n                    logicChartClearHighlights();\n                    if (currentYearTarget !== null) {\n                        cells.forEach(c => {\n                            const textVal = c.textContent.trim();\n                            if (textVal.length === 2 && parseInt(textVal[1]) === currentYearTarget) {\n                                c.className = 'highlight-master';\n                                c.style.borderBottom = '3px solid #fbbf24'; \/\/ Gold border for current year's king\n                                c.style.background = 'rgba(251,191,36,0.1)';\n                            } else {\n                                c.style.opacity = '0.3'; \/\/ Dim everything else\n                            }\n                        });\n                        logicChartAddLegend('transparent; border-bottom:3px solid #fbbf24', `${recentYears[recentYears.length-1]}'s Apex Bahar (X${currentYearTarget})`);\n                    }\n                    break;\n                }\n\n                                                case 'ai2': {\n                    const timeline = (meta.timeline || []).slice();\n                    \/\/ Increased minimum data requirement to 65 for accurate 15-day backtesting\n                    if (timeline.length < 65) {\n                        resultTitle = '\ud83e\udde0 AI NEURAL HYBRID V3.5';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: INSUFFICIENT DATA (Min 65 draws required for AI Self-Audit).<\/div>';\n                        info = '\ud83e\udd16 AI Engine: Data too low for advanced machine learning.';\n                        break;\n                    }\n\n                    const currentIndex = timeline.length - 1;\n\n                    \/\/ ==========================================\n                    \/\/ \ud83e\udde0 CORE AI ENGINE (Reusable Function)\n                    \/\/ ==========================================\n                    const calculateTopPicks = (endIdx) => {\n                        const tSlice = timeline.slice(0, endIdx + 1);\n                        const curIdx = tSlice.length - 1;\n                        const lastRes = tSlice[curIdx];\n                        const rec10 = tSlice.slice(-10);\n                        \n                        \/\/ Velocity & Volatility\n                        let jmps = [];\n                        for(let i=1; i<rec10.length; i++) jmps.push(Math.abs(rec10[i] - rec10[i-1]));\n                        const aVel = Math.round(jmps.reduce((a,b)=>a+b, 0) \/ jmps.length);\n                        const vnc = jmps.reduce((a,b) => a + Math.pow(b - aVel, 2), 0) \/ jmps.length;\n                        const vol = Math.round(Math.sqrt(vnc));\n\n                        \/\/ Frequencies\n                        const gFreq = {}; const lSeen = {};\n                        tSlice.forEach((n, idx) => { gFreq[n] = (gFreq[n] || 0) + 1; lSeen[n] = idx; });\n                        const maxG = Math.max(...Object.values(gFreq));\n\n                        const sFreq = {};\n                        tSlice.slice(-30).forEach(n => { sFreq[n] = (sFreq[n] || 0) + 1; });\n                        const maxS = Object.keys(sFreq).length ? Math.max(...Object.values(sFreq)) : 0;\n\n                        \/\/ Scoring\n                        let scored = Object.keys(gFreq).map(k => {\n                            const n = parseInt(k);\n                            const sG = maxG ? (gFreq[k] \/ maxG) : 0;\n                            const sS = maxS ? ((sFreq[n] || 0) \/ maxS) : 0;\n                            \n                            const age = curIdx - lSeen[k];\n                            let sA = 0;\n                            if(age >= 3 && age <= 15) sA = 1.0;\n                            else if(age < 3) sA = 0.5;\n                            else sA = Math.max(0, 1 - (age \/ 50));\n                            \n                            const dist = Math.abs(n - lastRes);\n                            let sV = (dist >= aVel - 10 && dist <= aVel + 10) ? 1.0 : (dist < aVel ? 0.5 : 0);\n                            \n                            let sVol = 0;\n                            if (vol > 25 && dist > 30) sVol = 1.0;\n                            else if (vol <= 25 && dist <= 30) sVol = 1.0;\n\n                            const finalScore = Math.round(100 * ((sG*0.2) + (sS*0.25) + (sA*0.15) + (sV*0.2) + (sVol*0.2)));\n                            \n                            let strengthTag = \"\";\n                            if(sV === 1 && sVol === 1) strengthTag = \"\ud83c\udfaf PERFECT VECTOR\";\n                            else if(sS > 0.8) strengthTag = \"\ud83d\udd25 HOT TREND\";\n                            else if(sA === 1 && sS === 0) strengthTag = \"\u26a0\ufe0f SLEEPING GIANT\";\n\n                            return { n, score: finalScore, tag: strengthTag, age };\n                        }).sort((a, b) => b.score - a.score).slice(0, 8);\n\n                        return { picks: scored, aVel, vol };\n                    };\n\n                    \/\/ ==========================================\n                    \/\/ \ud83d\udd0d SELF-AUDIT BACKTESTING (Last 15 Days)\n                    \/\/ ==========================================\n                    let btDays = 15;\n                    let aiWins = 0;\n                    let aiLosses = 0;\n                    const stake = 100; \/\/ Rs per number\n                    \n                    for(let i = 1; i <= btDays; i++) {\n                        let testIdx = currentIndex - i;\n                        let actualNextResult = timeline[testIdx + 1];\n                        \n                        \/\/ Run AI as if it was that day in the past\n                        let historicalAI = calculateTopPicks(testIdx);\n                        let predictedNumbers = historicalAI.picks.map(p => p.n);\n                        \n                        if(predictedNumbers.includes(actualNextResult)) aiWins++;\n                        else aiLosses++;\n                    }\n\n                    \/\/ Calculate Performance Matrix\n                    let aiWinRate = Math.round((aiWins \/ btDays) * 100);\n                    let totalInvest = btDays * 8 * stake; \/\/ 8 numbers per day\n                    let totalReturns = aiWins * (stake * 90); \/\/ 90x winning rate\n                    let netPnL = totalReturns - totalInvest;\n                    \n                    let strategyStatus = netPnL > 0 ? \"\ud83d\ude80 DOMINATING (High Profit)\" : \"\u2699\ufe0f LEARNING & ADAPTING\";\n                    let statusColor = netPnL > 0 ? \"#10b981\" : \"#f59e0b\";\n                    let aiGrade = aiWinRate >= 30 ? \"S-TIER (Excellent)\" : (aiWinRate >= 15 ? \"A-TIER (Good)\" : \"B-TIER (Needs Time)\");\n\n                    \/\/ ==========================================\n                    \/\/ \ud83c\udfaf CURRENT TODAY'S PREDICTION\n                    \/\/ ==========================================\n                    const todayAI = calculateTopPicks(currentIndex);\n                    const scored = todayAI.picks;\n                    const avgVelocity = todayAI.aVel;\n                    const volatility = todayAI.vol;\n                    const marketMood = volatility > 25 ? \"AGGRESSIVE (Wild Jumps)\" : \"STABLE (Linear Flow)\";\n\n                    \/\/ ==========================================\n                    \/\/ \ud83d\udda5\ufe0f ADVANCED UI RENDER\n                    \/\/ ==========================================\n                    resultTitle = '\ud83e\udde0 AI NEURAL HYBRID V3.5 (SELF-AWARE)';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#050a0f; border:1px solid #3b82f6; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(59,130,246,0.15);\">\n                        \n                        <!-- AI SELF-AUDIT REPORT CARD -->\n                        <div style=\"background:linear-gradient(135deg, rgba(16,185,129,0.1) 0%, rgba(59,130,246,0.1) 100%); border:1px solid rgba(59,130,246,0.4); border-radius:10px; padding:15px; margin-bottom:20px; position:relative; overflow:hidden;\">\n                            <div style=\"position:absolute; right:-20px; top:-20px; font-size:80px; opacity:0.05;\">\u2696\ufe0f<\/div>\n                            \n                            <div style=\"display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(255,255,255,0.1); padding-bottom:8px; margin-bottom:12px;\">\n                                <span style=\"font-weight:900; color:#38bdf8; font-size:12px; letter-spacing:1px;\">AI SELF-AUDIT REPORT (LAST 15 DAYS)<\/span>\n                                <span style=\"background:${statusColor}; color:#000; padding:2px 8px; border-radius:20px; font-size:9px; font-weight:bold;\">${strategyStatus}<\/span>\n                            <\/div>\n\n                            <div style=\"display:grid; grid-template-columns: repeat(3, 1fr); gap:10px; text-align:center;\">\n                                <div>\n                                    <div style=\"font-size:10px; color:#9ca3af; margin-bottom:3px;\">ACCURACY SCORE<\/div>\n                                    <div style=\"font-size:20px; font-weight:900; color:${aiWinRate >= 20 ? '#10b981' : '#f59e0b'};\">${aiWinRate}%<\/div>\n                                    <div style=\"font-size:9px; color:#6b7280;\">Grade: ${aiGrade}<\/div>\n                                <\/div>\n                                <div>\n                                    <div style=\"font-size:10px; color:#9ca3af; margin-bottom:3px;\">WINS \/ LOSSES<\/div>\n                                    <div style=\"font-size:20px; font-weight:900; color:#fff;\">${aiWins} <span style=\"color:#6b7280;\">\/<\/span> ${aiLosses}<\/div>\n                                    <div style=\"font-size:9px; color:#6b7280;\">Out of ${btDays} Draws<\/div>\n                                <\/div>\n                                <div>\n                                    <div style=\"font-size:10px; color:#9ca3af; margin-bottom:3px;\">SIMULATED P&L<\/div>\n                                    <div style=\"font-size:20px; font-weight:900; color:${netPnL > 0 ? '#10b981' : '#ef4444'};\">\u20b9${netPnL > 0 ? '+'+netPnL : netPnL}<\/div>\n                                    <div style=\"font-size:9px; color:#6b7280;\">@ \u20b9100 per Jodi<\/div>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n\n                        <!-- MARKET TELEMETRY STATUS -->\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:20px;\">\n                            <div style=\"background:#111827; padding:12px; border-radius:8px; border-left:4px solid #00e676; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                <div style=\"font-size:9px; color:#9ca3af; letter-spacing:1px;\">AVG VELOCITY<\/div>\n                                <div style=\"font-size:16px; font-weight:900; color:#00e676;\">${avgVelocity} GAP<\/div>\n                            <\/div>\n                            <div style=\"background:#111827; padding:12px; border-radius:8px; border-left:4px solid ${volatility > 25 ? '#ef4444' : '#3b82f6'}; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                <div style=\"font-size:9px; color:#9ca3af; letter-spacing:1px;\">MARKET MOOD<\/div>\n                                <div style=\"font-size:12px; font-weight:900; color:${volatility > 25 ? '#ef4444' : '#3b82f6'}; margin-top:4px;\">${marketMood}<\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#9ca3af; margin-bottom:10px; font-weight:bold; letter-spacing:1px; border-bottom:1px solid #1f2937; padding-bottom:5px;\">STRATEGY IMPLEMENTATION (TODAY'S TARGETS)<\/div>\n                        \n                        <!-- PREDICTION CARDS -->\n                        <div style=\"display:grid; grid-template-columns: repeat(2, 1fr); gap:12px;\">\n                    `;\n\n                    scored.forEach((item, index) => {\n                        let barColor = index < 2 ? '#10b981' : (index < 5 ? '#38bdf8' : '#8b5cf6');\n                        let tagHtml = item.tag ? `<div style=\"background:rgba(255,255,255,0.05); border:1px solid ${barColor}; color:${barColor}; font-size:9px; font-weight:bold; padding:3px 6px; border-radius:4px; display:inline-block; margin-top:8px;\">${item.tag}<\/div>` : '';\n                        \n                        htmlOut += `\n                        <div style=\"background:#1f2937; border:1px solid #374151; padding:14px; border-radius:10px; position:relative; overflow:hidden; transition: 0.3s; box-shadow:0 4px 10px rgba(0,0,0,0.2);\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;\">\n                                <span style=\"font-size:28px; font-weight:900; color:#fff;\">${item.n.toString().padStart(2,'0')}<\/span>\n                                <div style=\"text-align:right;\">\n                                    <span style=\"font-size:16px; font-weight:900; color:${barColor};\">${item.score}%<\/span>\n                                <\/div>\n                            <\/div>\n                            <div style=\"width:100%; background:#111827; height:4px; border-radius:2px; margin-bottom:4px;\">\n                                <div style=\"width:${item.score}%; background:${barColor}; height:100%; border-radius:2px; box-shadow:0 0 8px ${barColor};\"><\/div>\n                            <\/div>\n                            ${tagHtml}\n                        <\/div>`;\n                    });\n\n                    htmlOut += `\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83e\udd16 AI NEURAL V3.5: Self-Audit complete. Strategy evaluated and predictions updated.';\n                    \n                    \/\/ Highlight on Chart\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        if(scored.slice(0,4).map(x=>x.n).includes(val)) c.className = 'highlight-ai';\n                    });\n                    logicChartAddLegend('#00cccc', 'Top 4 AI Neural Targets');\n                    break;\n                }\n\n\n\n                                case 'twoyear': {\n                    const byYear2 = meta.byYear || {};\n                    const years = (meta.yearsAvailable || []).slice().sort((a,b)=>a-b);\n                    const currentYear = meta.currentYear || null;\n                    \n                    if (!currentYear || years.length < 3) {\n                        resultTitle = '\ud83d\udcc6 Two-Year Quota Predictor V2.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Kam se kam 3 saal (Pichle 2 + Current) ka data zaroori hai.<\/div>';\n                        info = '\ud83d\udcc6 Two-Year Predictor: Insufficient historical data.';\n                        break;\n                    }\n                    \n                    const idx = years.indexOf(currentYear);\n                    if (idx < 2) {\n                        resultTitle = '\ud83d\udcc6 Two-Year Quota Predictor V2.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Current year ke pehle 2 complete years nahi mile.<\/div>';\n                        info = '\ud83d\udcc6 Two-Year Predictor: Missing previous years.';\n                        break;\n                    }\n\n                    const y1 = years[idx-1]; \/\/ Last Year\n                    const y2 = years[idx-2]; \/\/ Year before Last\n                    const arr1 = byYear2[y1] || [];\n                    const arr2 = byYear2[y2] || [];\n                    const arrC = byYear2[currentYear] || [];\n\n                    \/\/ 1. FIND CURRENT MONTH (To sync seasonal performance)\n                    const dates = meta.timelineDates || [];\n                    const currentMonth = dates.length > 0 ? dates[dates.length - 1].month : new Date().getMonth() + 1;\n                    const monthNames = [\"\", \"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\", \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"];\n\n                    \/\/ 2. CALCULATE MONTHLY HITS IN PAST 2 YEARS\n                    const pastMonthHits = {}; \n                    if(meta.byDate) {\n                        for(const [key, data] of Object.entries(meta.byDate)) {\n                            const m = parseInt(key.split('-')[0]);\n                            if(m === currentMonth && data.numbers) {\n                                data.numbers.forEach((n, i) => {\n                                    const y = data.years[i];\n                                    if(y === y1 || y === y2) {\n                                        pastMonthHits[n] = (pastMonthHits[n] || 0) + 1;\n                                    }\n                                });\n                            }\n                        }\n                    }\n\n                    const countArr = arr => { const m={}; arr.forEach(n=>{m[n]=(m[n]||0)+1;}); return m; };\n                    const f1 = countArr(arr1);\n                    const f2 = countArr(arr2);\n                    const fC = countArr(arrC);\n\n                    \/\/ 3. ADVANCED QUOTA ALGORITHM\n                    const candidates = [];\n                    for(let n=0; n<=99; n++) {\n                        const hitsY1 = f1[n] || 0;\n                        const hitsY2 = f2[n] || 0;\n                        const hitsC = fC[n] || 0;\n\n                        \/\/ CONDITION: Number must be consistently active in past 2 years (Min 2 hits each year)\n                        if(hitsY1 >= 2 && hitsY2 >= 2) {\n                            const avgPast = Math.round((hitsY1 + hitsY2) \/ 2);\n                            const remainingQuota = avgPast - hitsC;\n\n                            \/\/ CONDITION: It still has a quota to fulfill this year\n                            if(remainingQuota > 0) {\n                                const mHits = pastMonthHits[n] || 0;\n                                \n                                \/\/ SCORE CALCULATION\n                                \/\/ Base score + Bonus for high remaining quota + Bonus if it historically comes in THIS month\n                                let score = 60 + (remainingQuota * 5) + (mHits * 10);\n                                if(score > 98) score = 98; \/\/ Cap for realism\n\n                                candidates.push({\n                                    n: n, y1: hitsY1, y2: hitsY2, curr: hitsC, \n                                    rem: remainingQuota, mHits: mHits, score: score, avg: avgPast\n                                });\n                            }\n                        }\n                    }\n\n                    \/\/ Sort by Score and take Top 6\n                    candidates.sort((a,b) => b.score - a.score);\n                    const topCandidates = candidates.slice(0, 6);\n\n                    \/\/ 4. GENERATE PREMIUM UI WITH \"ABOUT LOGIC\"\n                    resultTitle = '\ud83d\udcc6 TWO-YEAR QUOTA PREDICTOR V2.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#050510; border:1px solid #8E2DE2; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(142,45,226,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC (Dropdown) -->\n                        <div style=\"background:rgba(142,45,226,0.1); border:1px solid rgba(142,45,226,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('twoYearLogicInfo'); const arrow = document.getElementById('tyArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#d4a5ff; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW THIS STRATEGY WORKS?<\/span>\n                                <span id=\"tyArrow\" style=\"color:#d4a5ff;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"twoYearLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#aaa; line-height:1.6; border-top:1px dashed #4a00e0; padding-top:10px;\">\n                                <b style=\"color:#fff;\">1. Annual Quota:<\/b> Ye system pichle 2 saalon (${y1}, ${y2}) ka data check karta hai. Jo numbers har saal lagatar aate hain, unka ek \"Average Yearly Quota\" ban jata hai.<br>\n                                <b style=\"color:#fff;\">2. Remaining Hits:<\/b> Agar ek number har saal 8 baar aata hai, aur is saal sirf 3 baar aaya hai, toh uska \"Quota\" bacha hua hai (5 baar aana baaki hai).<br>\n                                <b style=\"color:#fff;\">3. Seasonal Sync:<\/b> System check karta hai ki kya ye bache hue numbers historically <b>${monthNames[currentMonth]}<\/b> mahine mein aate hain? Agar haan, toh unka win rate sabse high hota hai!\n                            <\/div>\n                        <\/div>\n\n                        <!-- STATS HEADER -->\n                        <div style=\"display:flex; justify-content:space-between; margin-bottom:15px; border-bottom:1px solid #222; padding-bottom:10px;\">\n                            <div style=\"font-size:10px; color:#888;\">ANALYZING YEARS: <b style=\"color:#fff;\">${y1} & ${y2}<\/b><\/div>\n                            <div style=\"font-size:10px; color:#888;\">SEASON SYNC: <b style=\"color:#00e676;\">${monthNames[currentMonth]}<\/b><\/div>\n                        <\/div>\n                    `;\n\n                    if (topCandidates.length === 0) {\n                        htmlOut += `<div style=\"text-align:center; color:#ff9900; padding:20px; font-size:12px; background:#111; border-radius:8px;\">Pichle 2 saalon ke pattern ke hisaab se is waqt koi strong pending number nahi hai. Market naya pattern bana raha hai.<\/div>`;\n                    } else {\n                        htmlOut += `<div style=\"display:grid; grid-template-columns: repeat(2, 1fr); gap:12px;\">`;\n                        \n                        topCandidates.forEach(c => {\n                            let syncTag = c.mHits > 0 \n                                ? `<span style=\"background:#00e676; color:#000; font-size:8px; padding:2px 5px; border-radius:3px; font-weight:bold;\">\u2705 ${monthNames[currentMonth]} SYNCED<\/span>` \n                                : `<span style=\"background:#444; color:#aaa; font-size:8px; padding:2px 5px; border-radius:3px;\">WAITING<\/span>`;\n                                \n                            htmlOut += `\n                            <div style=\"background:#111; border:1px solid #333; padding:12px; border-radius:8px; position:relative; transition:0.3s; box-shadow:0 4px 6px rgba(0,0,0,0.2);\">\n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;\">\n                                    <span style=\"font-size:26px; font-weight:900; color:#fff;\">${c.n.toString().padStart(2,'0')}<\/span>\n                                    <div style=\"text-align:right;\">\n                                        <span style=\"font-size:16px; font-weight:bold; color:#d4a5ff;\">${c.score}%<\/span>\n                                    <\/div>\n                                <\/div>\n                                \n                                <div style=\"display:flex; justify-content:space-between; background:#000; padding:6px; border-radius:4px; margin-bottom:8px; font-size:10px;\">\n                                    <div style=\"text-align:center; color:#888;\">Avg\/Year<br><b style=\"color:#fff; font-size:12px;\">${c.avg}<\/b><\/div>\n                                    <div style=\"text-align:center; color:#888;\">This Year<br><b style=\"color:#ff4444; font-size:12px;\">${c.curr}<\/b><\/div>\n                                    <div style=\"text-align:center; color:#00e676;\">REMAINING<br><b style=\"font-size:12px;\">+${c.rem} Hits<\/b><\/div>\n                                <\/div>\n                                \n                                <div style=\"text-align:center;\">${syncTag}<\/div>\n                            <\/div>`;\n                        });\n                        \n                        htmlOut += `<\/div>`;\n                    }\n\n                    htmlOut += `<\/div>`;\n                    resultContent = htmlOut;\n                    info = '\ud83d\udcc6 Two-Year Quota Tracker: Logic breakdown aur remaining targets generate ho gaye hain.';\n                    \n                    \/\/ Highlight on Chart\n                    logicChartClearHighlights();\n                    cells.forEach(cell => {\n                        const val = parseInt(cell.textContent);\n                        if(topCandidates.map(x=>x.n).includes(val)) cell.className = 'highlight-master';\n                    });\n                    logicChartAddLegend('#ff6600', 'Pending Annual Quota');\n                    break;\n                }\n\n                \n                case 'dna_sniper':\n                    logicDNASniperPro();\n                    return;\n                    \n                                case 'neural': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 30) {\n                        resultTitle = '\ud83e\udde0 NEURAL VECTOR V3.0';\n                        resultContent = '<div style=\"color:#00cccc; padding:10px; border:1px solid #00cccc; background:rgba(0,204,204,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: NEURAL LINK FAILED. Min 30 draws required.<\/div>';\n                        info = '\ud83e\udd16 Neural Vector: Data deficit for neural mapping.';\n                        break;\n                    }\n\n                    \/\/ ==========================================\n                    \/\/ \ud83e\udde0 NEURAL CORE ENGINE (Reusable)\n                    \/\/ ==========================================\n                    const calculateNeuralVectors = (endIdx) => {\n                        const data = timeline.slice(0, endIdx + 1);\n                        const last = data[data.length - 1];\n                        const p1 = data[data.length - 2];\n                        const p2 = data[data.length - 3];\n\n                        \/\/ 1. VELOCITY (Speed of Market)\n                        const v1 = last - p1;\n                        const v2 = p1 - p2;\n                        const avgVel = Math.round((v1 + v2) \/ 2);\n\n                        \/\/ 2. ACCELERATION (Momentum Shift)\n                        const accel = v1 - v2;\n\n                        \/\/ 3. VECTOR TARGETS CALCULATION\n                        \/\/ Node A: Linear Flow (Continue current speed)\n                        const t1 = (last + avgVel + 100) % 100;\n                        \/\/ Node B: Accelerated Flow (Speed increases)\n                        const t2 = (last + avgVel + accel + 100) % 100;\n                        \/\/ Node C: Rebound \/ Bounce (Market hits wall and reverses)\n                        const t3 = (last - Math.abs(avgVel) + 100) % 100;\n                        \/\/ Node D: Breakout (Pushes through resistance)\n                        const t4 = (last + Math.abs(avgVel) + 100) % 100;\n\n                        \/\/ Clean and Deduplicate Primary Nodes\n                        const primaryNodes = [...new Set([t1, t2, t3, t4])];\n                        \n                        \/\/ Create Magnetic Cluster Zone (+\/- 1 Margin of Error)\n                        let clusterSet = new Set();\n                        primaryNodes.forEach(t => {\n                            clusterSet.add(t);\n                            clusterSet.add((t + 1) % 100);\n                            clusterSet.add((t - 1 + 100) % 100);\n                        });\n\n                        return {\n                            primary: primaryNodes,\n                            cluster: Array.from(clusterSet),\n                            avgVel,\n                            accel\n                        };\n                    };\n\n                    \/\/ ==========================================\n                    \/\/ \ud83d\udd0d SELF-AUDIT BACKTESTING (Last 15 Days)\n                    \/\/ ==========================================\n                    const btDays = 15;\n                    let vecWins = 0;\n                    \n                    for (let i = 1; i <= btDays; i++) {\n                        let tIdx = timeline.length - 1 - i;\n                        let actualNext = timeline[tIdx + 1];\n                        let histVector = calculateNeuralVectors(tIdx);\n                        \n                        \/\/ We test if the actual result landed in our predicted Cluster Zone\n                        if (histVector.cluster.includes(actualNext)) {\n                            vecWins++;\n                        }\n                    }\n\n                    const vecWinRate = Math.round((vecWins \/ btDays) * 100);\n                    const sysState = vecWinRate >= 40 ? \"\ud83d\udd25 HYPER-SYNCED (DOMINATING)\" : (vecWinRate >= 20 ? \"\u2696\ufe0f STABLE ALIGNMENT\" : \"\u26a0\ufe0f MARKET DISRUPTED\");\n                    const sysColor = vecWinRate >= 40 ? \"#00e676\" : (vecWinRate >= 20 ? \"#00cccc\" : \"#ff4444\");\n\n                    \/\/ ==========================================\n                    \/\/ \ud83c\udfaf TODAY'S PREDICTION\n                    \/\/ ==========================================\n                    const curIdx = timeline.length - 1;\n                    const todayVec = calculateNeuralVectors(curIdx);\n                    \n                    \/\/ Telemetry Interpretation\n                    const direction = todayVec.avgVel > 0 ? \"UPTREND \ud83d\udcc8\" : (todayVec.avgVel < 0 ? \"DOWNTREND \ud83d\udcc9\" : \"SIDEWAYS \u2696\ufe0f\");\n                    const momentum = todayVec.accel > 0 ? \"SPEEDING UP \ud83d\ude80\" : (todayVec.accel < 0 ? \"SLOWING DOWN \ud83d\uded1\" : \"CONSTANT \u2699\ufe0f\");\n\n                    \/\/ ==========================================\n                    \/\/ \ud83d\udda5\ufe0f NEURAL CYBER-UI RENDER\n                    \/\/ ==========================================\n                    resultTitle = '\ud83e\udde0 NEURAL VECTOR V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#020b14; border:1px solid #00cccc; padding:18px; border-radius:12px; font-family:'Courier New', monospace; color:#fff; box-shadow:0 0 25px rgba(0,204,204,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC (Dropdown) -->\n                        <div style=\"background:rgba(0,204,204,0.05); border:1px solid rgba(0,204,204,0.3); padding:10px; border-radius:6px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('vecLogicInfo'); const arrow = document.getElementById('vecArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#00cccc; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f NEURAL PHYSICS EXPLAINED<\/span>\n                                <span id=\"vecArrow\" style=\"color:#00cccc;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"vecLogicInfo\" style=\"display:none; margin-top:10px; font-size:11px; color:#88b8b8; line-height:1.5; border-top:1px dashed #005555; padding-top:10px;\">\n                                Ye engine physics ke rules par chalta hai:<br>\n                                <b>1. Velocity (Speed):<\/b> Market numbers me kitna gap le raha hai.<br>\n                                <b>2. Acceleration:<\/b> Kya market ki speed badh rahi hai ya ghatt rahi hai.<br>\n                                <b>3. Rebound Vector:<\/b> Satta hamesha seedha nahi jata. Agar market ne resistance hit kiya, toh ye system \"Bounce Back\" target bhi nikalta hai.<br>\n                                <b>4. Magnetic Clusters:<\/b> Kyunki exact number predict karna mushkil hai, ye target ke aas-paas (+1\/-1) ka ek strong 'Cluster Zone' banata hai.\n                            <\/div>\n                        <\/div>\n\n                        <!-- SYSTEM AUDIT BAR -->\n                        <div style=\"display:flex; justify-content:space-between; align-items:center; background:#0a1a2a; border:1px solid #004444; padding:8px 12px; border-radius:6px; margin-bottom:15px;\">\n                            <span style=\"font-size:10px; color:#88b8b8;\">CLUSTER ACCURACY (15 DAYS):<\/span>\n                            <span style=\"color:${sysColor}; font-weight:bold; font-size:12px;\">${vecWinRate}% [${sysState}]<\/span>\n                        <\/div>\n\n                        <!-- TELEMETRY GAUGES -->\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-bottom:20px; text-align:center;\">\n                            <div style=\"background:#05101a; border:1px solid #00cccc; padding:10px; border-radius:6px;\">\n                                <div style=\"font-size:9px; color:#00cccc; margin-bottom:5px;\">VECTOR TRAJECTORY<\/div>\n                                <div style=\"font-size:14px; font-weight:bold; color:#fff;\">${direction}<\/div>\n                                <div style=\"font-size:10px; color:#88b8b8; margin-top:3px;\">Gap: ${todayVec.avgVel}<\/div>\n                            <\/div>\n                            <div style=\"background:#05101a; border:1px solid #ff00ff; padding:10px; border-radius:6px;\">\n                                <div style=\"font-size:9px; color:#ff00ff; margin-bottom:5px;\">MOMENTUM STATE<\/div>\n                                <div style=\"font-size:14px; font-weight:bold; color:#fff;\">${momentum}<\/div>\n                                <div style=\"font-size:10px; color:#b888b8; margin-top:3px;\">Shift: ${todayVec.accel}<\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#00cccc; margin-bottom:10px; border-bottom:1px solid #004444; padding-bottom:5px;\">PRIMARY VECTOR NODES (EXACT TARGETS)<\/div>\n                        \n                        <!-- PRIMARY TARGETS -->\n                        <div style=\"display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:20px;\">\n                            ${todayVec.primary.map(n => `\n                                <div style=\"background:linear-gradient(135deg, #004444, #000); border:2px solid #00cccc; width:55px; height:55px; display:flex; align-items:center; justify-content:center; border-radius:50%; font-size:22px; font-weight:bold; color:#00ffff; box-shadow:0 0 15px rgba(0,204,204,0.4);\">\n                                    ${n.toString().padStart(2,'0')}\n                                <\/div>\n                            `).join('')}\n                        <\/div>\n\n                        <!-- CLUSTER ZONE -->\n                        <div style=\"background:#05101a; border:1px dashed #005555; padding:12px; border-radius:6px; text-align:center;\">\n                            <div style=\"font-size:10px; color:#88b8b8; margin-bottom:8px;\">MAGNETIC CLUSTER ZONE (SUPPORTING JODIS)<\/div>\n                            <div style=\"font-size:14px; font-weight:bold; color:#aaa; letter-spacing:3px;\">\n                                ${todayVec.cluster.map(n => n.toString().padStart(2,'0')).join(', ')}\n                            <\/div>\n                            <div style=\"font-size:9px; color:#558888; margin-top:8px;\">Includes +1\/-1 margin of error for vector nodes.<\/div>\n                        <\/div>\n\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83e\udde0 Vector AI: Momentum, Rebound Vectors, aur Cluster Zone generate kar diya gaya hai.';\n                    \n                    \/\/ Highlight on Chart (Only Primary Nodes to keep chart clean)\n                    logicChartClearHighlights();\n                    cells.forEach(c => {\n                        const val = parseInt(c.textContent);\n                        if(todayVec.primary.includes(val)) c.className = 'highlight-ai';\n                        \/\/ Highlight cluster with a lighter color\/border\n                        else if (todayVec.cluster.includes(val)) c.style.border = '2px solid #00cccc';\n                    });\n                    \n                    logicChartAddLegend('#00cccc', 'Primary Vector Node');\n                    logicChartAddLegend('transparent; border:2px solid #00cccc', 'Cluster Support Node');\n                    break;\n                }\n\n\n                case 'pressure_pro':\n                    logicPressureCookerPro();\n                    return;\n                    \n                                    case 'master_audit': {\n                    try {\n                        const timeline = (meta.timeline || []).filter(n => n !== undefined && n !== null);\n                        if (timeline.length < 150) {\n                            resultTitle = '\ud83e\udd16 GRAND AUDITOR PRO V3.2';\n                            resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: P&L Backtesting ke liye 150 draws ki history zaroori hai.<\/div>';\n                            info = '\ud83e\udd16 Master Auditor: Insufficient historical data.';\n                            break;\n                        }\n\n                        \/\/ 1. SIMULATION SETTINGS\n                        const BET_AMOUNT = 100; \/\/ 100 points per number\n                        const WIN_MULTIPLIER = 90; \/\/ Standard 90x return\n                        const TEST_DAYS = 100; \/\/ Backtest duration\n                        \n                        const testZone = timeline.slice(-TEST_DAYS - 30); \n                        const actualResults = timeline.slice(-TEST_DAYS);\n                        \n                        \/\/ 2. THE 15 MASSIVE STRATEGIES TO BACKTEST\n                        const strategies = [\n                            { id: 'momentum', name: '\ud83d\udd25 Super Hot (Top 5)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'velocity', name: '\ud83c\udff9 Digit Velocity (Cross)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'algo', name: '\ud83d\udd2e Algo (+1\/-1\/Cut)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'mirror', name: '\ud83d\udd37 Reflection Sniper (6)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'sum', name: '\ud83d\udd22 Sum Dynamics (Top 3)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'missing', name: '\ud83d\udca4 Sleeping Giants (>30D)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'enddigit', name: '\ud83c\udf0a Haruf Tsunami (Top 2)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'taak', name: '\ud83d\udfe1 Taak (All Odd)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'jufat', name: '\ud83d\udfe2 Jufat (All Even)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'high', name: '\ud83d\udcc8 High Partition (50-99)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'low', name: '\ud83d\udcc9 Low Partition (00-49)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'jodi', name: '\ud83e\uddf2 Jodi Syndicate (Followers)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'b2b', name: '\u26a1 Double Strike (B2B)', wins: 0, cost: 0, revenue: 0, historyObj: {} },\n                            { id: 'repeat', name: '\ud83d\udd01 Fast Repeaters (Last 10)', wins: 0, cost: 0, revenue: 0, historyObj: {} }\n                        ];\n\n                        let yesterdayReport = \"\";\n                        const monthlyWins = {}; \n                        \n                        \/\/ 3. THE BACKTESTING LOOP (Time-Traveling 100 Days)\n                        for (let i = 0; i < TEST_DAYS; i++) {\n                            const simIdx = testZone.length - TEST_DAYS + i;\n                            const pastHistory = testZone.slice(0, simIdx); \n                            const targetResult = testZone[simIdx]; \n                            \n                            let simDate = new Date();\n                            simDate.setDate(simDate.getDate() - (TEST_DAYS - i));\n                            let simMonth = simDate.toLocaleString('default', { month: 'short' });\n                            if(!monthlyWins[simMonth]) monthlyWins[simMonth] = { total: 0, bestStrategy: '' };\n\n                            let isYesterday = (i === TEST_DAYS - 1);\n                            let yesterdayPasses = [];\n\n                            \/\/ --- RUNNING ALL 14 MINI-ENGINES ---\n                            let recent30 = pastHistory.slice(-30);\n                            let freqMap = {};\n                            recent30.forEach(n => freqMap[n] = (freqMap[n]||0)+1);\n                            \n                            \/\/ 1. Hot Momentum\n                            let hot5 = Object.entries(freqMap).sort((a,b)=>b[1]-a[1]).slice(0,5).map(x=>parseInt(x[0]));\n                            \n                            \/\/ 2. Velocity\n                            let aFreq = {}, bFreq = {};\n                            recent30.forEach(n => { let s = n.toString().padStart(2,'0'); aFreq[s[0]]=(aFreq[s[0]]||0)+1; bFreq[s[1]]=(bFreq[s[1]]||0)+1; });\n                            let topA = Object.entries(aFreq).sort((a,b)=>b[1]-a[1]).slice(0,2).map(x=>x[0]);\n                            let topB = Object.entries(bFreq).sort((a,b)=>b[1]-a[1]).slice(0,2).map(x=>x[0]);\n                            let velocity4 = [];\n                            topA.forEach(a => topB.forEach(b => velocity4.push(parseInt(a+b))));\n\n                            \/\/ 3. Algo Scanner\n                            let lastRes = pastHistory[pastHistory.length-1];\n                            let algo4 = [(lastRes+1)%100, (lastRes-1+100)%100, (lastRes+50)%100]; \/\/ +1, -1, Cut\n\n                            \/\/ 4. Mirror\n                            let mirror6 = pastHistory.slice(-6).map(n => parseInt(n.toString().padStart(2,'0').split('').reverse().join('')));\n\n                            \/\/ 5. Sum\n                            let sFreq = {};\n                            recent30.forEach(n => { let s = Math.floor(n\/10)+(n%10); sFreq[s]=(sFreq[s]||0)+1; });\n                            let topSums = Object.entries(sFreq).sort((a,b)=>b[1]-a[1]).slice(0,3).map(x=>parseInt(x[0]));\n                            let sumTargets = [];\n                            for(let k=0; k<=99; k++) { if(topSums.includes(Math.floor(k\/10)+(k%10))) sumTargets.push(k); }\n\n                            \/\/ 6. Missing (Sleeping Giants)\n                            let missingNums = [];\n                            for(let k=0; k<=99; k++) { if(!recent30.includes(k)) missingNums.push(k); }\n\n                            \/\/ 7. End Digit (Top 2 Bahar = 20 numbers)\n                            let top2Bahar = Object.entries(bFreq).sort((a,b)=>b[1]-a[1]).slice(0,2).map(x=>parseInt(x[0]));\n                            let endTargets = [];\n                            for(let k=0; k<=99; k++) { if(top2Bahar.includes(k%10)) endTargets.push(k); }\n\n                            \/\/ 8, 9, 10, 11. Taak \/ Jufat \/ High \/ Low\n                            let taak=[], jufat=[], highs=[], lows=[];\n                            for(let k=0; k<=99; k++) {\n                                if(k%2 !== 0) taak.push(k); else jufat.push(k);\n                                if(k >= 50) highs.push(k); else lows.push(k);\n                            }\n\n                            \/\/ 12. Jodi Syndicate\n                            let followers = {};\n                            for(let j=0; j<pastHistory.length-1; j++) {\n                                if(pastHistory[j]===lastRes) followers[pastHistory[j+1]] = (followers[pastHistory[j+1]]||0)+1;\n                            }\n                            let syndicateTargets = Object.entries(followers).sort((a,b)=>b[1]-a[1]).slice(0,6).map(x=>parseInt(x[0]));\n\n                            \/\/ 13. B2B Strike\n                            let b2bTargets = [lastRes];\n\n                            \/\/ 14. Fast Repeaters (Recent 10)\n                            let fastRep = [...new Set(pastHistory.slice(-10))];\n\n                            \/\/ --- EVALUATION ENGINE ---\n                            const evalStrategy = (stratIdx, predictions) => {\n                                let strat = strategies[stratIdx];\n                                \/\/ Remove duplicates before costing\n                                let uniquePreds = [...new Set(predictions)];\n                                \n                                strat.cost += (uniquePreds.length * BET_AMOUNT);\n                                if (uniquePreds.includes(targetResult)) {\n                                    strat.wins++;\n                                    strat.revenue += (BET_AMOUNT * WIN_MULTIPLIER);\n                                    monthlyWins[simMonth].total++;\n                                    strat.historyObj[simMonth] = (strat.historyObj[simMonth]||0) + 1;\n                                    if(isYesterday) yesterdayPasses.push(strat.name);\n                                }\n                            };\n\n                            evalStrategy(0, hot5);\n                            evalStrategy(1, velocity4);\n                            evalStrategy(2, algo4);\n                            evalStrategy(3, mirror6);\n                            evalStrategy(4, sumTargets);\n                            evalStrategy(5, missingNums);\n                            evalStrategy(6, endTargets);\n                            evalStrategy(7, taak);\n                            evalStrategy(8, jufat);\n                            evalStrategy(9, highs);\n                            evalStrategy(10, lows);\n                            evalStrategy(11, syndicateTargets);\n                            evalStrategy(12, b2bTargets);\n                            evalStrategy(13, fastRep);\n                            \n                            if(isYesterday) {\n                                yesterdayReport = yesterdayPasses.length > 0 \n                                    ? `<span style=\"color:#00e676;\">PASSED!<\/span> Winning Logics: <b style=\"color:#fff;\">${yesterdayPasses.join(' | ')}<\/b>`\n                                    : `<span style=\"color:#ff4444;\">FAILED.<\/span> Market crashed all major patterns.`;\n                            }\n                        }\n\n                        \/\/ 4. CALCULATE P&L AND RANKING\n                        strategies.forEach(s => {\n                            s.profit = s.revenue - s.cost;\n                            \/\/ ROI = (Profit \/ Cost) * 100\n                            s.roi = s.cost > 0 ? ((s.profit \/ s.cost) * 100).toFixed(1) : 0;\n                        });\n                        \n                        strategies.sort((a, b) => b.profit - a.profit);\n                        \n                        let bestMonthStr = \"\";\n                        let maxMWin = 0;\n                        Object.keys(monthlyWins).forEach(m => {\n                            if(monthlyWins[m].total > maxMWin) { maxMWin = monthlyWins[m].total; bestMonthStr = m; }\n                        });\n\n                        \/\/ 5. GENERATE ULTIMATE FINANCIAL UI\n                        resultTitle = '\ud83e\udd16 GRAND AUDITOR PRO (P&L REPORT)';\n                        \n                        let htmlOut = `\n                        <div style=\"background:#0a0a0a; border:1px solid #ffd700; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 30px rgba(255,215,0,0.2);\">\n                            \n                            <div style=\"background:linear-gradient(135deg, #332200, #1a1100); border:1px solid #cca300; padding:15px; border-radius:8px; margin-bottom:15px; text-align:center;\">\n                                <div style=\"font-size:10px; color:#ffd700; font-weight:bold; letter-spacing:2px; margin-bottom:5px;\">BACKTEST DURATION: 100 DRAWS<\/div>\n                                <div style=\"font-size:12px; color:#ccc;\">Investment Unit: <b>${BET_AMOUNT} pts<\/b> per target | Win Payout: <b>${WIN_MULTIPLIER}x<\/b><\/div>\n                            <\/div>\n\n                            <div style=\"background:#111; border-left:4px solid ${yesterdayReport.includes('PASSED') ? '#00e676' : '#ff4444'}; padding:12px; border-radius:6px; margin-bottom:20px;\">\n                                <div style=\"font-size:10px; color:#888; margin-bottom:4px; font-weight:bold;\">YESTERDAY'S RESULT (T-1)<\/div>\n                                <div style=\"font-size:11px; line-height:1.5;\">${yesterdayReport}<\/div>\n                            <\/div>\n\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #333; padding-bottom:8px; margin-bottom:15px;\">\n                                <div style=\"font-size:12px; color:#ffd700; font-weight:bold; letter-spacing:1px;\">\ud83c\udfc6 P&L LEADERBOARD (TOP 14 LOGICS)<\/div>\n                                <div style=\"font-size:9px; color:#aaa;\">Ranked by Profit<\/div>\n                            <\/div>\n\n                            <!-- Scrollable container so it fits cleanly on mobile -->\n                            <div style=\"display:flex; flex-direction:column; gap:8px; margin-bottom:20px; max-height:400px; overflow-y:auto; padding-right:5px;\">\n                        `;\n\n                        strategies.forEach((s, idx) => {\n                            let isProfit = s.profit >= 0;\n                            let pnlColor = isProfit ? \"#00e676\" : \"#ff4444\";\n                            let pnlSign = isProfit ? \"+\" : \"\";\n                            \n                            \/\/ Top 3 get special gold styling\n                            let bgDec = idx < 3 ? \"background:linear-gradient(90deg, rgba(255,215,0,0.1), transparent); border:1px solid rgba(255,215,0,0.5);\" : \"background:#111; border:1px solid #333;\";\n                            let rankIcon = idx === 0 ? \"\ud83d\udc51\" : (idx===1?\"\ud83e\udd48\":(idx===2?\"\ud83e\udd49\":`#${idx+1}`));\n\n                            htmlOut += `\n                                <div style=\"${bgDec} padding:10px; border-radius:8px; display:flex; justify-content:space-between; align-items:center;\">\n                                    <div style=\"flex:1;\">\n                                        <div style=\"display:flex; align-items:center; gap:8px;\">\n                                            <span style=\"font-size:13px; font-weight:900; color:#ffd700;\">${rankIcon}<\/span>\n                                            <span style=\"font-size:12px; font-weight:bold; color:#fff;\">${s.name}<\/span>\n                                        <\/div>\n                                        <div style=\"font-size:9px; color:#888; margin-top:4px; padding-left:22px;\">\n                                            Pass: <b style=\"color:#ccc;\">${s.wins}<\/b>\/100 | Cost: ${s.cost}\n                                        <\/div>\n                                    <\/div>\n                                    <div style=\"text-align:right;\">\n                                        <div style=\"font-size:15px; font-weight:900; color:${pnlColor};\">${pnlSign}${s.profit}<\/div>\n                                        <div style=\"font-size:9px; font-weight:bold; color:${pnlColor}; margin-top:2px;\">ROI: ${pnlSign}${s.roi}%<\/div>\n                                    <\/div>\n                                <\/div>\n                            `;\n                        });\n\n                        htmlOut += `\n                            <\/div>\n\n                            <div style=\"background:#0a1a2a; border:1px solid #00bfff; padding:15px; border-radius:8px; display:flex; justify-content:space-between; align-items:center;\">\n                                <div>\n                                    <div style=\"font-size:9px; color:#80dfff; margin-bottom:4px;\">MOST PROFITABLE MONTH<\/div>\n                                    <div style=\"font-size:16px; font-weight:900; color:#fff; letter-spacing:1px;\">${bestMonthStr.toUpperCase()}<\/div>\n                                <\/div>\n                                <div style=\"text-align:right;\">\n                                    <div style=\"font-size:9px; color:#80dfff; margin-bottom:4px;\">#1 ALGORITHM<\/div>\n                                    <div style=\"font-size:14px; font-weight:bold; color:#00e676;\">${strategies[0].name.split('(')[0]}<\/div>\n                                <\/div>\n                            <\/div>\n\n                        <\/div>`;\n\n                        resultContent = htmlOut;\n                        info = '\ud83e\udd16 Master Auditor: All Actionable Logics simulated and ranked by Profit.';\n                        \n                        logicChartClearHighlights();\n                        cells.forEach(c => { c.style.opacity = '0.4'; });\n                        logicChartAddLegend('linear-gradient(135deg, #b8860b, #ffd700)', 'Full System Audit Complete');\n                        \n                    } catch (e) {\n                        console.error(\"Master Audit Error:\", e);\n                        resultTitle = '\u26a0\ufe0f SYSTEM ERROR';\n                        resultContent = `<div style=\"background:#330000; border:1px solid #ff0000; padding:15px; color:#ff6666; border-radius:8px;\"><b>Error:<\/b> ${e.message}<\/div>`;\n                        info = 'Audit engine failed.';\n                    }\n                    break;\n                }\n\n                    \n                case 'reversegap': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 30) {\n                        resultTitle = '\ud83d\udd04 REVERSE GAP PREDICTOR V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Kam se kam 30 din ka data zaroori hai.<\/div>';\n                        info = '\ud83d\udd04 Reverse Gap: Insufficient historical data.';\n                        break;\n                    }\n\n                    const currentIndex = timeline.length - 1;\n                    const positions = {};\n\n                    \/\/ 1. Record exact chronological positions\n                    timeline.forEach((n, idx) => {\n                        if (!positions[n]) positions[n] = [];\n                        positions[n].push(idx);\n                    });\n\n                    const gapStats = [];\n\n                    \/\/ 2. TRUE GAP CALCULATION ALGORITHM\n                    Object.keys(positions).forEach(k => {\n                        const n = parseInt(k);\n                        const posArr = positions[k];\n\n                        \/\/ Need at least 2 appearances to calculate a gap\n                        if (posArr.length >= 2) {\n                            let totalGap = 0;\n                            let minGap = 9999;\n\n                            for (let i = 1; i < posArr.length; i++) {\n                                const diff = posArr[i] - posArr[i-1];\n                                totalGap += diff;\n                                if (diff < minGap) minGap = diff;\n                            }\n\n                            const avgGap = Math.round(totalGap \/ (posArr.length - 1));\n                            const currentGap = currentIndex - posArr[posArr.length - 1];\n\n                            \/\/ 3. THE REVERSE GAP LOGIC (Fast Repeaters)\n                            let score = 0;\n                            let status = \"\";\n                            \n                            \/\/ We only care about numbers that naturally have a low average gap (<= 12 days)\n                            if (avgGap <= 12) {\n                                \/\/ Scoring based on \"Timing\"\n                                if (currentGap === avgGap || currentGap === avgGap + 1) {\n                                    score = 95; \/\/ Perfect timing\n                                    status = \"\ud83d\udea8 PERFECT TIMING\";\n                                } else if (currentGap > avgGap && currentGap <= avgGap + 4) {\n                                    score = 85; \/\/ Slightly overdue fast repeater\n                                    status = \"\ud83d\udd25 OVERDUE HOT\";\n                                } else if (currentGap < avgGap && currentGap >= avgGap - 2) {\n                                    score = 75; \/\/ Approaching its time\n                                    status = \"\u23f3 WARMING UP\";\n                                }\n\n                                if (score > 0) {\n                                    gapStats.push({ n, avgGap, minGap, currentGap, score, status });\n                                }\n                            }\n                        }\n                    });\n\n                    \/\/ 4. SORT & SELECT TOP 6\n                    gapStats.sort((a, b) => b.score - a.score || a.avgGap - b.avgGap);\n                    const topReverseGaps = gapStats.slice(0, 6);\n\n                    \/\/ 5. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udd04 REVERSE GAP PREDICTOR V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0a0505; border:1px solid #ff3333; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(255,51,51,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(255,51,51,0.1); border:1px solid rgba(255,51,51,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('rgLogicInfo'); const arrow = document.getElementById('rgArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#ff6666; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f WHAT IS REVERSE GAP?<\/span>\n                                <span id=\"rgArrow\" style=\"color:#ff6666;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"rgLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#ccc; line-height:1.6; border-top:1px dashed #aa0000; padding-top:10px;\">\n                                Normal 'Gap' logic un numbers ko dhoondhta hai jo bahut dino se nahi aaye (Sleeping Giants).<br><br>\n                                <b>Reverse Gap (Fast Repeaters)<\/b> bilkul iska ulta hai:<br>\n                                <b>1. Momentum:<\/b> Ye un numbers ko pakadta hai jinki aadat jaldi-jaldi aane ki hai (Avg Gap <= 12 din).<br>\n                                <b>2. Perfect Timing:<\/b> Jab in 'Fast Repeaters' ka current gap unke Average gap ke barabar aane lagta hai, toh inke wapas aane (repeat hone) ka chance 90%+ ho jata hai.\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#ff6666; margin-bottom:15px; border-bottom:1px solid #331111; padding-bottom:5px; font-weight:bold; letter-spacing:1px;\">FAST REPEATERS - TARGET ZONE<\/div>\n                    `;\n\n                    if (topReverseGaps.length === 0) {\n                        htmlOut += `<div style=\"text-align:center; color:#ff9999; padding:20px; font-size:12px; background:#1a0505; border-radius:8px;\">Abhi chart mein koi strong 'Fast Repeater' pattern timing par nahi hai.<\/div>`;\n                    } else {\n                        htmlOut += `<div style=\"display:grid; grid-template-columns: repeat(2, 1fr); gap:12px;\">`;\n                        \n                        topReverseGaps.forEach(c => {\n                            let barColor = c.score >= 90 ? '#00e676' : (c.score >= 80 ? '#ff9900' : '#00bfff');\n                            \n                            htmlOut += `\n                            <div style=\"background:#110505; border:1px solid #331111; padding:12px; border-radius:8px; position:relative; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;\">\n                                    <span style=\"font-size:26px; font-weight:900; color:#fff;\">${c.n.toString().padStart(2,'0')}<\/span>\n                                    <div style=\"text-align:right;\">\n                                        <span style=\"font-size:14px; font-weight:bold; color:${barColor};\">${c.status}<\/span>\n                                    <\/div>\n                                <\/div>\n                                \n                                <div style=\"display:flex; justify-content:space-between; background:#000; padding:6px; border-radius:4px; margin-bottom:4px; font-size:10px;\">\n                                    <div style=\"text-align:center; color:#888;\">Avg Gap<br><b style=\"color:#fff; font-size:12px;\">${c.avgGap}<\/b><\/div>\n                                    <div style=\"text-align:center; color:#888;\">Min Gap<br><b style=\"color:#ff4444; font-size:12px;\">${c.minGap}<\/b><\/div>\n                                    <div style=\"text-align:center; color:#00e676;\">Current<br><b style=\"font-size:12px;\">${c.currentGap}<\/b><\/div>\n                                <\/div>\n                                \n                                <div style=\"width:100%; background:#220000; height:3px; border-radius:2px; margin-top:8px;\">\n                                    <div style=\"width:${c.score}%; background:${barColor}; height:100%; border-radius:2px;\"><\/div>\n                                <\/div>\n                            <\/div>`;\n                        });\n                        \n                        htmlOut += `<\/div>`;\n                    }\n\n                    htmlOut += `<\/div>`;\n                    resultContent = htmlOut;\n                    info = '\ud83d\udd04 Reverse Gap: Fast repeaters aur unki exact timing calculate ho chuki hai.';\n                    \n                    \/\/ Highlight on Chart\n                    logicChartClearHighlights();\n                    cells.forEach(cell => {\n                        const val = parseInt(cell.textContent);\n                        if(topReverseGaps.map(x=>x.n).includes(val)) cell.className = 'highlight-hot';\n                    });\n                    logicChartAddLegend('#ff3333', 'Target Fast Repeaters');\n                    break;\n                }\n\n\n                case 'enddigit': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 30) {\n                        resultTitle = '\ud83c\udf0a HARUF TSUNAMI PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Kam se kam 30 draws ka data zaroori hai.<\/div>';\n                        info = '\ud83c\udf0a Haruf Tsunami: Insufficient historical data.';\n                        break;\n                    }\n\n                    \/\/ 1. DATA EXTRACTION (Weighted for Recency)\n                    const dataLen = timeline.length;\n                    const anderScores = {0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0};\n                    const baharScores = {0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0};\n\n                    \/\/ Look at last 30 days. Give 2x points for last 7 days (Recent Momentum)\n                    for (let i = 1; i <= 30; i++) {\n                        let idx = dataLen - i;\n                        if (idx < 0) break;\n                        \n                        let n = timeline[idx];\n                        let ander = Math.floor(n \/ 10);\n                        let bahar = n % 10;\n                        \n                        let weight = i <= 7 ? 2 : 1; \/\/ Double points for last 7 days\n                        \n                        anderScores[ander] += weight;\n                        baharScores[bahar] += weight;\n                    }\n\n                    \/\/ 2. SORT TO FIND TOP DIGITS\n                    const sortedAnder = Object.entries(anderScores).sort((a, b) => b[1] - a[1]);\n                    const sortedBahar = Object.entries(baharScores).sort((a, b) => b[1] - a[1]);\n\n                    const topAnder = [parseInt(sortedAnder[0][0]), parseInt(sortedAnder[1][0])]; \/\/ Top 2 Ander\n                    const topBahar = [parseInt(sortedBahar[0][0]), parseInt(sortedBahar[1][0])]; \/\/ Top 2 Bahar\n\n                    \/\/ 3. GENERATE TARGETS\n                    const superJodis = []; \/\/ Cross connection of Top Ander + Top Bahar (2x2 = 4 Jodis)\n                    topAnder.forEach(a => {\n                        topBahar.forEach(b => {\n                            superJodis.push(a * 10 + b);\n                        });\n                    });\n\n                    const primaryBahar = topBahar[0];\n                    const supportLine = []; \/\/ All 10 numbers ending with Primary Bahar (excluding super jodis)\n                    for(let i=0; i<10; i++) {\n                        let num = i * 10 + primaryBahar;\n                        if(!superJodis.includes(num)) supportLine.push(num);\n                    }\n\n                    \/\/ 4. GENERATE PREMIUM UI\n                    resultTitle = '\ud83c\udf0a HARUF TSUNAMI PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0a0514; border:1px solid #9d4edd; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(157,78,221,0.2);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(157,78,221,0.1); border:1px solid rgba(157,78,221,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('htLogicInfo'); const arrow = document.getElementById('htArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#e0aaff; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HARUF TSUNAMI EXPLAINED<\/span>\n                                <span id=\"htArrow\" style=\"color:#e0aaff;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"htLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#c8b6ff; line-height:1.6; border-top:1px dashed #5a189a; padding-top:10px;\">\n                                Ye engine sirf ek digit nahi, poore board ka Ander-Bahar flow check karta hai:<br>\n                                <b>1. Dual Analysis:<\/b> Ander (Tens) aur Bahar (Units) dono ki alag frequency check hoti hai.<br>\n                                <b>2. Recency Weight:<\/b> Pichle 7 din ke trend ko <b>Double Points<\/b> milte hain, taaki 'dead' numbers top par na aa jayein.<br>\n                                <b>3. Super Crossing:<\/b> Top-2 Ander aur Top-2 Bahar ko cross karke 4 'Super Solid Jodis' banai jati hain.\n                            <\/div>\n                        <\/div>\n\n                        <!-- HARUF RADAR STATS -->\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:20px;\">\n                            <div style=\"background:#10002b; border:1px solid #5a189a; padding:12px; border-radius:8px; text-align:center; box-shadow:inset 0 0 15px rgba(90,24,154,0.3);\">\n                                <div style=\"font-size:10px; color:#9d4edd; font-weight:bold; letter-spacing:1px; margin-bottom:8px;\">\ud83d\udd25 TOP ANDER (IN)<\/div>\n                                <div style=\"font-size:28px; font-weight:900; color:#fff; text-shadow:0 0 10px #7b2cbf;\">\n                                    ${topAnder[0]} <span style=\"color:#555;\">|<\/span> <span style=\"color:#c8b6ff; font-size:22px;\">${topAnder[1]}<\/span>\n                                <\/div>\n                            <\/div>\n                            <div style=\"background:#10002b; border:1px solid #ff006e; padding:12px; border-radius:8px; text-align:center; box-shadow:inset 0 0 15px rgba(255,0,110,0.3);\">\n                                <div style=\"font-size:10px; color:#ff006e; font-weight:bold; letter-spacing:1px; margin-bottom:8px;\">\ud83c\udf0a TOP BAHAR (OUT)<\/div>\n                                <div style=\"font-size:28px; font-weight:900; color:#fff; text-shadow:0 0 10px #ff006e;\">\n                                    ${topBahar[0]} <span style=\"color:#555;\">|<\/span> <span style=\"color:#ffb3c6; font-size:22px;\">${topBahar[1]}<\/span>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n\n                        <!-- SUPER JODIS -->\n                        <div style=\"background:#240046; border:1px solid #7b2cbf; padding:15px; border-radius:8px; margin-bottom:15px; position:relative; overflow:hidden;\">\n                            <div style=\"position:absolute; top:-10px; right:-10px; font-size:50px; opacity:0.1;\">\ud83c\udfaf<\/div>\n                            <div style=\"font-size:11px; color:#e0aaff; font-weight:bold; margin-bottom:10px;\">\ud83c\udfaf TSUNAMI SUPER CROSSING (ANDER x BAHAR)<\/div>\n                            <div style=\"display:flex; justify-content:space-around;\">\n                                ${superJodis.map(n => `<div style=\"font-size:22px; font-weight:900; color:#00f5d4; background:#10002b; padding:8px 15px; border-radius:6px; border:1px solid #00f5d4; box-shadow:0 0 10px rgba(0,245,212,0.3);\">${n.toString().padStart(2,'0')}<\/div>`).join('')}\n                            <\/div>\n                        <\/div>\n\n                        <!-- SUPPORT LINE -->\n                        <div style=\"background:#10002b; border:1px dashed #5a189a; padding:12px; border-radius:8px; text-align:center;\">\n                            <div style=\"font-size:10px; color:#9d4edd; margin-bottom:8px;\">SUPPORT LINE (ENDING WITH ${primaryBahar})<\/div>\n                            <div style=\"font-size:14px; font-weight:bold; color:#aaa; letter-spacing:3px;\">\n                                ${supportLine.map(n => n.toString().padStart(2,'0')).join(', ')}\n                            <\/div>\n                        <\/div>\n\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83c\udf0a Haruf Tsunami Pro: Ander-Bahar flow and Super Crossing generated.';\n                    \n                    \/\/ Highlight on Chart\n                    logicChartClearHighlights();\n                    cells.forEach(cell => {\n                        const val = parseInt(cell.textContent);\n                        if (superJodis.includes(val)) {\n                            cell.className = 'highlight-master'; \/\/ Or any distinct bright color class you have\n                            cell.style.border = '2px solid #00f5d4';\n                        } else if (supportLine.includes(val)) {\n                            cell.className = 'highlight-first-last'; \/\/ Your original purple highlight class\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #00f5d4', 'Tsunami Super Crossing');\n                    logicChartAddLegend('#cc66ff', 'Support Haruf Line');\n                    break;\n                }\n\n\n                case 'pairchain': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 50) {\n                        resultTitle = '\ud83d\udd17 PAIR CHAIN EXPLOSION V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Link generate karne ke liye deep history (Min 50 draws) chahiye.<\/div>';\n                        info = '\ud83d\udd17 Pair Chain: Deep history required.';\n                        break;\n                    }\n\n                    \/\/ 1. EXTRACT RECENT CONTEXT\n                    const lastNum = timeline[timeline.length - 1];\n                    const secLastNum = timeline[timeline.length - 2];\n\n                    \/\/ 2. BUILD MARKOV CHAINS (Single & Deep)\n                    const singleChain = {}; \/\/ Maps A -> B\n                    const deepChain = {};   \/\/ Maps A-B -> C\n\n                    for (let i = 0; i < timeline.length - 2; i++) {\n                        let n1 = timeline[i];\n                        let n2 = timeline[i+1];\n                        let n3 = timeline[i+2];\n\n                        \/\/ Single Link Build\n                        if (!singleChain[n1]) singleChain[n1] = { total: 0, next: {} };\n                        singleChain[n1].total++;\n                        singleChain[n1].next[n2] = (singleChain[n1].next[n2] || 0) + 1;\n\n                        \/\/ Deep Link Build\n                        let key2 = `${n1}-${n2}`;\n                        if (!deepChain[key2]) deepChain[key2] = { total: 0, next: {} };\n                        deepChain[key2].total++;\n                        deepChain[key2].next[n3] = (deepChain[key2].next[n3] || 0) + 1;\n                    }\n\n                    \/\/ 3. FIND PREDICTIONS BASED ON CURRENT MARKET\n                    let predictions = [];\n                    let linkType = \"\";\n                    let currentDeepKey = `${secLastNum}-${lastNum}`;\n                    let totalOccurrences = 0;\n\n                    \/\/ A. Check Deep Link First (Very High Accuracy)\n                    if (deepChain[currentDeepKey] && Object.keys(deepChain[currentDeepKey].next).length > 0) {\n                        linkType = \"DEEP LINK (2-STEP MATCH)\";\n                        let data = deepChain[currentDeepKey];\n                        totalOccurrences = data.total;\n                        \n                        Object.entries(data.next).forEach(([num, count]) => {\n                            predictions.push({\n                                n: parseInt(num),\n                                count: count,\n                                prob: Math.round((count \/ data.total) * 100)\n                            });\n                        });\n                    } \n                    \/\/ B. Fallback to Single Link if Deep Link is empty\n                    else if (singleChain[lastNum]) {\n                        linkType = \"SINGLE LINK (1-STEP MATCH)\";\n                        let data = singleChain[lastNum];\n                        totalOccurrences = data.total;\n\n                        Object.entries(data.next).forEach(([num, count]) => {\n                            predictions.push({\n                                n: parseInt(num),\n                                count: count,\n                                prob: Math.round((count \/ data.total) * 100)\n                            });\n                        });\n                    }\n\n                    \/\/ 4. SORT AND SELECT TOP 4\n                    predictions.sort((a, b) => b.prob - a.prob || b.count - a.count);\n                    const topTargets = predictions.slice(0, 4);\n\n                    \/\/ 5. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udd17 PAIR CHAIN EXPLOSION V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0a0500; border:1px solid #ff9933; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(255,153,51,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(255,153,51,0.1); border:1px solid rgba(255,153,51,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('pcLogicInfo'); const arrow = document.getElementById('pcArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#ffcc99; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW PAIR CHAIN WORKS?<\/span>\n                                <span id=\"pcArrow\" style=\"color:#ffcc99;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"pcLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#ccc; line-height:1.6; border-top:1px dashed #aa6600; padding-top:10px;\">\n                                Ye engine multi-year history mein \"Followers\" ko track karta hai.<br><br>\n                                <b>Single Link:<\/b> ${lastNum} aane ke baad sabse zyada baar kaunsa number aaya hai.<br>\n                                <b>Deep Link:<\/b> Agar market mein pehle ${secLastNum} aaya aur uske baad ${lastNum} aaya, toh is poore 2-step sequence ke baad kya aata hai? (Ye sabse solid pattern hota hai).<br>\n                                <b>Probability %:<\/b> Ye darshata hai ki kitne percent chances hain ki wahi number dobara Follower banega.\n                            <\/div>\n                        <\/div>\n\n                        <!-- CURRENT LINK VISUALIZATION -->\n                        <div style=\"text-align:center; background:#110800; border:1px dashed #ff9933; padding:15px; border-radius:8px; margin-bottom:20px;\">\n                            <div style=\"font-size:10px; color:#ffcc99; letter-spacing:1px; margin-bottom:10px; font-weight:bold;\">${linkType} DETECTED<\/div>\n                            <div style=\"display:flex; justify-content:center; align-items:center; gap:10px; font-size:24px; font-weight:900;\">\n                                ${linkType.includes(\"DEEP\") ? `<span style=\"color:#666;\">${secLastNum.toString().padStart(2,'0')}<\/span><span style=\"color:#ff9933; font-size:16px;\">\u2794<\/span>` : ''}\n                                <span style=\"color:#fff; border:2px solid #ff9933; padding:5px 10px; border-radius:6px; background:rgba(255,153,51,0.2);\">${lastNum.toString().padStart(2,'0')}<\/span>\n                                <span style=\"color:#ff9933; font-size:16px;\">\u2794<\/span>\n                                <span style=\"color:#00e676; text-shadow:0 0 10px #00e676;\">\u2753<\/span>\n                            <\/div>\n                            <div style=\"font-size:10px; color:#888; margin-top:10px;\">Historical Occurrences: <b>${totalOccurrences} times<\/b><\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#ffcc99; margin-bottom:10px; border-bottom:1px solid #331100; padding-bottom:5px;\">PREDICTED FOLLOWERS (CHAIN TARGETS)<\/div>\n                    `;\n\n                    if (topTargets.length === 0) {\n                        htmlOut += `<div style=\"text-align:center; color:#ff9999; padding:20px; font-size:12px; background:#1a0500; border-radius:8px;\">Insufficient link data. Number newly generated hai.<\/div>`;\n                    } else {\n                        htmlOut += `<div style=\"display:grid; grid-template-columns: repeat(2, 1fr); gap:10px;\">`;\n                        \n                        topTargets.forEach(c => {\n                            let barColor = c.prob >= 30 ? '#00e676' : (c.prob >= 15 ? '#ff9933' : '#38bdf8');\n                            \n                            htmlOut += `\n                            <div style=\"background:#110800; border:1px solid #331a00; padding:12px; border-radius:8px; position:relative; overflow:hidden;\">\n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:5px;\">\n                                    <span style=\"font-size:24px; font-weight:900; color:#fff;\">${c.n.toString().padStart(2,'0')}<\/span>\n                                    <div style=\"text-align:right;\">\n                                        <span style=\"font-size:16px; font-weight:bold; color:${barColor};\">${c.prob}%<\/span>\n                                    <\/div>\n                                <\/div>\n                                <div style=\"font-size:10px; color:#888; margin-bottom:8px;\">Appeared <b>${c.count}<\/b> times after sequence.<\/div>\n                                <div style=\"width:100%; background:#220000; height:4px; border-radius:2px;\">\n                                    <div style=\"width:${c.prob}%; background:${barColor}; height:100%; border-radius:2px; box-shadow:0 0 5px ${barColor};\"><\/div>\n                                <\/div>\n                            <\/div>`;\n                        });\n                        \n                        htmlOut += `<\/div>`;\n                    }\n\n                    htmlOut += `<\/div>`;\n                    resultContent = htmlOut;\n                    info = `\ud83d\udd17 Chain Link Established: Analyzing past ${totalOccurrences} sequences.`;\n                    \n                    \/\/ Highlight on Chart\n                    logicChartClearHighlights();\n                    cells.forEach(cell => {\n                        const val = parseInt(cell.textContent);\n                        if(topTargets.map(x=>x.n).includes(val)) cell.className = 'highlight-jodi';\n                    });\n                    logicChartAddLegend('#ff9933', 'Strong Chain Followers');\n                    break;\n                }\n\n\n                case 'linestability': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 30) {\n                        resultTitle = '\ud83d\udcca ZONAL STABILITY PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Zonal mapping ke liye kam se kam 30 din ka data chahiye.<\/div>';\n                        info = '\ud83d\udcca Zonal Stability: Insufficient data for heat mapping.';\n                        break;\n                    }\n\n                    \/\/ 1. DATA EXTRACTION & WEIGHTED SCORING\n                    const dataLen = timeline.length;\n                    \/\/ Array of 10 zones. z = zone index (0-9). score = weighted momentum. hits = raw count.\n                    const zones = Array(10).fill(null).map((_, i) => ({ z: i, score: 0, hits: 0, nums: {} }));\n\n                    \/\/ Scan last 30 days with Recency Weight\n                    for (let i = 1; i <= 30; i++) {\n                        let idx = dataLen - i;\n                        let n = timeline[idx];\n                        let zIndex = Math.floor(n \/ 10);\n                        \n                        \/\/ Weighting: Last 10 days = 3x, 11-20 days = 2x, 21-30 days = 1x\n                        let weight = i <= 10 ? 3 : (i <= 20 ? 2 : 1);\n                        \n                        zones[zIndex].score += weight;\n                        zones[zIndex].hits += 1;\n                        zones[zIndex].nums[n] = (zones[zIndex].nums[n] || 0) + weight; \/\/ Track which numbers are driving the zone\n                    }\n\n                    \/\/ 2. SORTING & RANKING\n                    const sortedZones = [...zones].sort((a, b) => b.score - a.score || b.hits - a.hits);\n                    const goldenZone = sortedZones[0];\n                    const silverZone = sortedZones[1];\n                    const deadZone = sortedZones[9];\n\n                    \/\/ 3. EXTRACT SNIPER TARGETS (From Golden Zone)\n                    const goldenNumsSorted = Object.entries(goldenZone.nums)\n                                                 .sort((a, b) => b[1] - a[1])\n                                                 .map(x => parseInt(x[0]));\n                    \n                    const sniperTargets = goldenNumsSorted.slice(0, 3); \/\/ Top 3 solid numbers\n                    const remainingZone = []; \/\/ Rest of the 7 numbers in that line\n                    for(let i=0; i<10; i++) {\n                        let num = goldenZone.z * 10 + i;\n                        if(!sniperTargets.includes(num)) remainingZone.push(num);\n                    }\n\n                    \/\/ 4. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udcca ZONAL STABILITY PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0f172a; border:1px solid #3b82f6; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#f8fafc; box-shadow:0 0 25px rgba(59,130,246,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(59,130,246,0.1); border:1px solid rgba(59,130,246,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('lsLogicInfo'); const arrow = document.getElementById('lsArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#60a5fa; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW ZONAL HEATMAP WORKS?<\/span>\n                                <span id=\"lsArrow\" style=\"color:#60a5fa;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"lsLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#cbd5e1; line-height:1.6; border-top:1px dashed #1e40af; padding-top:10px;\">\n                                Ye engine pure 00-99 chart ko 10 Lines (Zones) mein todta hai. <br>\n                                <b>1. Momentum Weighting:<\/b> Purane numbers ko 1 point milta hai, par pichle 10 din ke numbers ko 3x points milte hain. Isse sirf wahi Zone \"Golden\" banta hai jismein <b>Current Heat<\/b> ho.<br>\n                                <b>2. Sniper Extraction:<\/b> Golden Zone milne ke baad ye AI us zone ke andar se 3 sabse solid numbers filter kar deta hai taaki aapko poori 10 ki line na khelni pade.<br>\n                                <b>3. Dead Zone Avoidance:<\/b> Sabse lowest zone ko filter out karta hai taaki nuksan se bacha ja sake.\n                            <\/div>\n                        <\/div>\n\n                        <!-- 3 MAIN ZONES OVERVIEW -->\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-bottom:20px;\">\n                            <div style=\"background:#1e293b; border-left:4px solid #10b981; padding:12px; border-radius:8px; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                <div style=\"font-size:10px; color:#10b981; font-weight:bold; letter-spacing:1px; margin-bottom:5px;\">\ud83d\udd25 GOLDEN ZONE<\/div>\n                                <div style=\"font-size:24px; font-weight:900; color:#fff;\">${goldenZone.z}0 - ${goldenZone.z}9<\/div>\n                                <div style=\"font-size:10px; color:#94a3b8; margin-top:5px;\">Power Score: <b>${goldenZone.score}<\/b> (${goldenZone.hits} Hits)<\/div>\n                            <\/div>\n                            <div style=\"background:#1e293b; border-left:4px solid #ef4444; padding:12px; border-radius:8px; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                <div style=\"font-size:10px; color:#ef4444; font-weight:bold; letter-spacing:1px; margin-bottom:5px;\">\ud83d\udc80 DEAD ZONE<\/div>\n                                <div style=\"font-size:24px; font-weight:900; color:#fff; opacity:0.6;\">${deadZone.z}0 - ${deadZone.z}9<\/div>\n                                <div style=\"font-size:10px; color:#94a3b8; margin-top:5px;\">AVOID THESE NUMBERS<\/div>\n                            <\/div>\n                        <\/div>\n\n                        <!-- SNIPER TARGETS -->\n                        <div style=\"background:linear-gradient(135deg, rgba(16,185,129,0.1), rgba(15,23,42,1)); border:1px solid #10b981; padding:15px; border-radius:10px; margin-bottom:20px; text-align:center; position:relative; overflow:hidden;\">\n                            <div style=\"font-size:11px; color:#10b981; font-weight:bold; margin-bottom:12px; letter-spacing:1px;\">\ud83c\udfaf GOLDEN ZONE SNIPER TARGETS<\/div>\n                            <div style=\"display:flex; justify-content:center; gap:15px; margin-bottom:12px;\">\n                                ${sniperTargets.map(n => `<div style=\"font-size:28px; font-weight:900; color:#fff; text-shadow:0 0 15px rgba(16,185,129,0.8);\">${n.toString().padStart(2,'0')}<\/div>`).join('')}\n                            <\/div>\n                            <div style=\"font-size:10px; color:#94a3b8; border-top:1px dashed #334155; padding-top:8px;\">\n                                <b>Zone Support Line:<\/b> <span style=\"letter-spacing:2px;\">${remainingZone.map(n => n.toString().padStart(2,'0')).join(', ')}<\/span>\n                            <\/div>\n                        <\/div>\n\n                        <!-- FULL 10-ZONE HEATMAP METER -->\n                        <div style=\"font-size:11px; color:#60a5fa; margin-bottom:10px; font-weight:bold;\">FULL RADAR SPECTRUM (00-99)<\/div>\n                        <div style=\"display:flex; height:20px; border-radius:4px; overflow:hidden; border:1px solid #334155; background:#0f172a;\">\n                    `;\n\n                    \/\/ Generate Heatmap Bar\n                    const maxPossibleScore = goldenZone.score || 1; \/\/ Prevent division by zero\n                    zones.forEach(z => {\n                        \/\/ Calculate color based on relative heat\n                        let heatPct = (z.score \/ maxPossibleScore) * 100;\n                        let bg = \"#1e293b\"; \/\/ Default cold\n                        if(heatPct === 100) bg = \"#10b981\"; \/\/ Golden\n                        else if(heatPct >= 70) bg = \"#f59e0b\"; \/\/ Warm\n                        else if(heatPct >= 40) bg = \"#3b82f6\"; \/\/ Cool\n                        \n                        htmlOut += `<div style=\"flex:1; background:${bg}; border-right:1px solid #0f172a; position:relative; group;\" title=\"Zone ${z.z}0s (Score: ${z.score})\">\n                            <span style=\"position:absolute; top:20px; left:50%; transform:translateX(-50%); font-size:8px; color:#64748b;\">${z.z}0<\/span>\n                        <\/div>`;\n                    });\n\n                    htmlOut += `\n                        <\/div>\n                        <div style=\"display:flex; justify-content:space-between; font-size:9px; color:#64748b; margin-top:12px;\">\n                            <span>Zone 00<\/span>\n                            <span>Zone 90<\/span>\n                        <\/div>\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83d\udcca Zonal Stability Pro: Golden Zone aur Sniper targets extract kar liye gaye hain.';\n                    \n                    \/\/ Highlight on Chart\n                    logicChartClearHighlights();\n                    cells.forEach(cell => {\n                        const val = parseInt(cell.textContent);\n                        const z = Math.floor(val \/ 10);\n                        if (sniperTargets.includes(val)) {\n                            cell.className = 'highlight-master';\n                            cell.style.border = '2px solid #10b981';\n                        } else if (z === goldenZone.z) {\n                            cell.className = 'highlight-hot';\n                        } else if (z === deadZone.z) {\n                            cell.style.opacity = '0.3';\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #10b981', 'Golden Zone Snipers');\n                    logicChartAddLegend('#ff3333', 'Rest of Golden Zone');\n                    break;\n                }\n                    \n                    case 'cosmic_matrix':\n                    logicCosmicMatrixPro();\n                    return;\n\n                case 'angle': {\n                    const timeline = (meta.timeline || []).slice();\n                    if (timeline.length < 15) {\n                        resultTitle = '\ud83d\udcd0 GEOMETRIC ANGLE PREDICTOR V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Rotation calculate karne ke liye kam se kam 15 draws chahiye.<\/div>';\n                        info = '\ud83d\udcd0 Angle Cycle: Data too low for geometric projection.';\n                        break;\n                    }\n\n                    \/\/ 1. HELPER FUNCTIONS: Map 0-99 to 0-360 degrees and vice versa\n                    const toAngle = (n) => (n \/ 100) * 360;\n                    const toNumber = (a) => Math.round((a \/ 360) * 100) % 100;\n\n                    \/\/ 2. CALCULATE ANGULAR VELOCITY (Last 5 Days)\n                    const recentData = timeline.slice(-6);\n                    let totalShift = 0;\n\n                    for (let i = 1; i < recentData.length; i++) {\n                        let a1 = toAngle(recentData[i - 1]);\n                        let a2 = toAngle(recentData[i]);\n                        \n                        let diff = a2 - a1;\n                        \/\/ Handle circular wrapping (shortest path across the circle)\n                        if (diff > 180) diff -= 360;\n                        if (diff < -180) diff += 360;\n                        \n                        totalShift += diff;\n                    }\n\n                    const avgAngularShift = totalShift \/ 5; \/\/ Rotation per day in degrees\n                    \n                    \/\/ 3. PROJECT NEXT TARGET ON THE CIRCLE\n                    const currentNum = timeline[timeline.length - 1];\n                    const currentAngle = toAngle(currentNum);\n                    \n                    let predictedAngle = (currentAngle + avgAngularShift) % 360;\n                    if (predictedAngle < 0) predictedAngle += 360; \/\/ Keep positive\n                    \n                    const primaryTarget = toNumber(predictedAngle);\n\n                    \/\/ 4. GENERATE GEOMETRIC ASPECTS (Support Nodes)\n                    \/\/ Opposition (180 degrees - Complete opposite swing)\n                    const oppositionAngle = (predictedAngle + 180) % 360;\n                    const oppTarget = toNumber(oppositionAngle);\n\n                    \/\/ Trine (120 & 240 degrees - Perfect Equilateral Triangle)\n                    const trine1Angle = (predictedAngle + 120) % 360;\n                    const trine1Target = toNumber(trine1Angle);\n                    \n                    const trine2Angle = (predictedAngle + 240) % 360;\n                    const trine2Target = toNumber(trine2Angle);\n\n                    const finalTargets = [primaryTarget, oppTarget, trine1Target, trine2Target];\n\n                    \/\/ Determine Rotation Direction\n                    let rotationDir = avgAngularShift > 0 ? \"CLOCKWISE \u21bb\" : \"ANTI-CLOCKWISE \u21ba\";\n                    if (Math.abs(avgAngularShift) < 5) rotationDir = \"STATIC \/ NO SPIN \u2699\ufe0f\";\n\n                    \/\/ 5. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udcd0 GEOMETRIC ANGLE PREDICTOR V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0b0213; border:1px solid #cc99ff; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(204,153,255,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(204,153,255,0.1); border:1px solid rgba(204,153,255,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('agLogicInfo'); const arrow = document.getElementById('agArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#d4a5ff; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f HOW GEOMETRIC PREDICTOR WORKS?<\/span>\n                                <span id=\"agArrow\" style=\"color:#d4a5ff;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"agLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#c8b6ff; line-height:1.6; border-top:1px dashed #5a189a; padding-top:10px;\">\n                                Ye engine 00-99 numbers ko ek 360\u00b0 Round Compass (Circle) par plot karta hai.<br>\n                                <b>1. Angular Velocity:<\/b> Pichle 5 din ki movement dekh kar system samajhta hai ki pahiya kis direction me ghoom raha hai (Clockwise ya Anti-Clockwise).<br>\n                                <b>2. Primary Target:<\/b> Current number ko us speed ke hisaab se aage push karke ek exact angle nikalta hai.<br>\n                                <b>3. Geometry Logic:<\/b> Main target aane ke baad ye 180\u00b0 (Ullta swing) aur 120\u00b0 (Triangle completion) ke 3 backup support numbers generate karta hai.\n                            <\/div>\n                        <\/div>\n\n                        <!-- KINEMATIC RADAR DATA -->\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:20px;\">\n                            <div style=\"background:#130524; border:1px solid #7b2cbf; padding:12px; border-radius:8px; text-align:center;\">\n                                <div style=\"font-size:10px; color:#d4a5ff; letter-spacing:1px; margin-bottom:5px;\">CURRENT ROTATION<\/div>\n                                <div style=\"font-size:14px; font-weight:bold; color:#fff;\">${rotationDir}<\/div>\n                                <div style=\"font-size:10px; color:#888; margin-top:5px;\">Speed: ${Math.abs(Math.round(avgAngularShift))}\u00b0 \/ day<\/div>\n                            <\/div>\n                            <div style=\"background:#130524; border:1px solid #00f5d4; padding:12px; border-radius:8px; text-align:center;\">\n                                <div style=\"font-size:10px; color:#00f5d4; letter-spacing:1px; margin-bottom:5px;\">PRIMARY ANGLE (0-360\u00b0)<\/div>\n                                <div style=\"font-size:18px; font-weight:900; color:#fff;\">${Math.round(predictedAngle)}\u00b0<\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#d4a5ff; margin-bottom:10px; border-bottom:1px solid #3c096c; padding-bottom:5px; font-weight:bold; letter-spacing:1px;\">GEOMETRIC PROJECTION NODES<\/div>\n                        \n                        <!-- PRIMARY TARGET -->\n                        <div style=\"text-align:center; background:linear-gradient(180deg, #240046, #10002b); border:2px solid #00f5d4; padding:15px; border-radius:10px; margin-bottom:15px; box-shadow:0 0 15px rgba(0,245,212,0.2);\">\n                            <div style=\"font-size:10px; color:#00f5d4; margin-bottom:5px; font-weight:bold;\">\ud83c\udfaf APEX TARGET (PRIMARY)<\/div>\n                            <div style=\"font-size:36px; font-weight:900; color:#fff; text-shadow:0 0 15px rgba(0,245,212,0.6);\">${primaryTarget.toString().padStart(2,'0')}<\/div>\n                        <\/div>\n\n                        <!-- SUPPORT TARGETS -->\n                        <div style=\"display:grid; grid-template-columns: 1fr 1fr 1fr; gap:8px;\">\n                            <div style=\"background:#10002b; border:1px solid #7b2cbf; padding:10px; border-radius:6px; text-align:center;\">\n                                <div style=\"font-size:9px; color:#c8b6ff; margin-bottom:5px;\">OPPOSITION (180\u00b0)<\/div>\n                                <div style=\"font-size:20px; font-weight:bold; color:#fff;\">${oppTarget.toString().padStart(2,'0')}<\/div>\n                            <\/div>\n                            <div style=\"background:#10002b; border:1px solid #7b2cbf; padding:10px; border-radius:6px; text-align:center;\">\n                                <div style=\"font-size:9px; color:#c8b6ff; margin-bottom:5px;\">TRINE A (120\u00b0)<\/div>\n                                <div style=\"font-size:20px; font-weight:bold; color:#fff;\">${trine1Target.toString().padStart(2,'0')}<\/div>\n                            <\/div>\n                            <div style=\"background:#10002b; border:1px solid #7b2cbf; padding:10px; border-radius:6px; text-align:center;\">\n                                <div style=\"font-size:9px; color:#c8b6ff; margin-bottom:5px;\">TRINE B (240\u00b0)<\/div>\n                                <div style=\"font-size:20px; font-weight:bold; color:#fff;\">${trine2Target.toString().padStart(2,'0')}<\/div>\n                            <\/div>\n                        <\/div>\n\n                    <\/div>`;\n\n                    resultContent = htmlOut;\n                    info = '\ud83d\udcd0 Geometric Predictor: Angular rotation and trine vectors generated.';\n                    \n                    \/\/ Highlight on Chart\n                    logicChartClearHighlights();\n                    cells.forEach(cell => {\n                        const val = parseInt(cell.textContent);\n                        if (val === primaryTarget) {\n                            cell.className = 'highlight-master';\n                            cell.style.border = '2px solid #00f5d4';\n                        } else if ([oppTarget, trine1Target, trine2Target].includes(val)) {\n                            cell.className = 'highlight-pattern'; \/\/ Existing purple class\n                        }\n                    });\n                    \n                    logicChartAddLegend('transparent; border:2px solid #00f5d4', 'Apex Target');\n                    logicChartAddLegend('#cc99ff', 'Geometric Support');\n                    break;\n                }\n\n    \n\n                case 'cyclebreaker': {\n                    const timeline = (meta.timeline || []).slice();\n                    \/\/ Require deep history for accurate historical max gaps\n                    if (timeline.length < 100) {\n                        resultTitle = '\ud83d\udca3 CYCLE BREAKER PRO V3.0';\n                        resultContent = '<div style=\"color:#ff4444; padding:10px; border:1px solid #ff4444; background:rgba(255,0,0,0.1); border-radius:5px;\">\u26a0\ufe0f ERROR: Deep scanning ke liye kam se kam 100 draws ka history data chahiye.<\/div>';\n                        info = '\ud83d\udca3 Cycle Breaker: Insufficient data for historical pressure mapping.';\n                        break;\n                    }\n\n                    const currentIndex = timeline.length - 1;\n                    const positions = {};\n\n                    \/\/ 1. Map all historical positions (Deep Scan)\n                    timeline.forEach((n, i) => {\n                        if(!positions[n]) positions[n] = [];\n                        positions[n].push(i);\n                    });\n\n                    const breakoutList = [];\n\n                    \/\/ 2. CALCULATE GAP PHYSICS (Avg, Max, Current)\n                    for(let n = 0; n < 100; n++) {\n                        if(!positions[n] || positions[n].length < 3) continue; \/\/ Skip if not enough history\n\n                        let posArr = positions[n];\n                        let maxGap = 0;\n                        let totalGap = 0;\n\n                        \/\/ Calculate historical gaps\n                        for(let k = 1; k < posArr.length; k++) {\n                            let g = posArr[k] - posArr[k-1];\n                            totalGap += g;\n                            if(g > maxGap) maxGap = g;\n                        }\n\n                        let avgGap = Math.round(totalGap \/ (posArr.length - 1));\n                        let currentGap = currentIndex - posArr[posArr.length - 1];\n\n                        \/\/ 3. PRESSURE CALCULATION (The Breaker Rule)\n                        \/\/ Must be sleeping for at least 2.5x its normal average to be considered \"Building Pressure\"\n                        if(currentGap >= (avgGap * 2.5) && currentGap >= 15) {\n                            \n                            \/\/ Pressure = How close is it to breaking its ALL-TIME longest silence record?\n                            let pressurePct = Math.round((currentGap \/ maxGap) * 100);\n                            \n                            \/\/ Only target numbers whose pressure is above 75% of their historic maximum\n                            if (pressurePct >= 75) {\n                                let status = \"\";\n                                let color = \"\";\n                                \n                                if (pressurePct >= 100) {\n                                    status = \"\ud83e\udde8 RECORD BREAKER\";\n                                    color = \"#ff00ff\"; \/\/ Neon Pink\n                                } else if (pressurePct >= 90) {\n                                    status = \"\ud83d\udca3 CRITICAL PRESSURE\";\n                                    color = \"#ef4444\"; \/\/ Red\n                                } else {\n                                    status = \"\u26a0\ufe0f WARNING ZONE\";\n                                    color = \"#f59e0b\"; \/\/ Orange\n                                }\n\n                                breakoutList.push({\n                                    n: n, \n                                    avg: avgGap, \n                                    max: maxGap, \n                                    cur: currentGap, \n                                    pressure: pressurePct, \n                                    status: status, \n                                    color: color\n                                });\n                            }\n                        }\n                    }\n\n                    \/\/ 4. SORT BY HIGHEST PRESSURE\n                    breakoutList.sort((a, b) => b.pressure - a.pressure);\n                    const topBreakers = breakoutList.slice(0, 6);\n                    const breakerNums = topBreakers.map(x => x.n);\n\n                    \/\/ 5. GENERATE PREMIUM UI\n                    resultTitle = '\ud83d\udca3 CYCLE BREAKER PRO V3.0';\n                    \n                    let htmlOut = `\n                    <div style=\"background:#0a0005; border:1px solid #9c27b0; padding:18px; border-radius:12px; font-family:'Segoe UI', sans-serif; color:#fff; box-shadow:0 0 25px rgba(156,39,176,0.15);\">\n                        \n                        <!-- \u2139\ufe0f ABOUT THIS LOGIC -->\n                        <div style=\"background:rgba(156,39,176,0.1); border:1px solid rgba(156,39,176,0.3); padding:12px; border-radius:8px; margin-bottom:15px;\">\n                            <div style=\"display:flex; justify-content:space-between; align-items:center; cursor:pointer;\" onclick=\"const el = document.getElementById('cbLogicInfo'); const arrow = document.getElementById('cbArrow'); if(el.style.display === 'none'){ el.style.display = 'block'; arrow.innerHTML = '\u25b2'; } else { el.style.display = 'none'; arrow.innerHTML = '\u25bc'; }\">\n                                <span style=\"color:#e1bee7; font-weight:bold; font-size:12px; letter-spacing:1px;\">\u2139\ufe0f WHAT IS A CYCLE BREAKER?<\/span>\n                                <span id=\"cbArrow\" style=\"color:#e1bee7;\">\u25bc<\/span>\n                            <\/div>\n                            <div id=\"cbLogicInfo\" style=\"display:none; margin-top:12px; font-size:11px; color:#ce93d8; line-height:1.6; border-top:1px dashed #6a1b9a; padding-top:10px;\">\n                                Ye engine un numbers ko pakadta hai jo bahut dino se 'So' (Sleep kar) rahe hain. Par ye normal \"Missing Number\" tool nahi hai.<br><br>\n                                <b>The Real Math:<\/b> Ye poori history scan karke dekhta hai ki ek number ne aaj tak lamba se lamba gap (Max Gap) kitna liya hai. Agar aaj uska gap uske ALL-TIME record ko todne wala hai (Pressure > 90%), toh ye number <b>\"Ready to Blast\"<\/b> ho chuka hai. Ye kisi bhi waqt history cycle ko tod (Break) sakta hai.\n                            <\/div>\n                        <\/div>\n\n                        <div style=\"font-size:11px; color:#ce93d8; margin-bottom:15px; border-bottom:1px solid #4a148c; padding-bottom:5px; font-weight:bold; letter-spacing:1px;\">VOLCANIC PRESSURE GAUGES (OVERDUE NUMBERS)<\/div>\n                    `;\n\n                    if (topBreakers.length === 0) {\n                        htmlOut += `<div style=\"text-align:center; color:#e1bee7; padding:20px; font-size:12px; background:#1a0011; border-radius:8px;\">Abhi koi bhi number 'Record Breaking' silence par nahi hai. Market normal cycle mein chal raha hai.<\/div>`;\n                    } else {\n                        htmlOut += `<div style=\"display:grid; grid-template-columns: 1fr; gap:12px;\">`;\n                        \n                        topBreakers.forEach(b => {\n                            \/\/ Capping pressure visual at 100% so the bar doesn't overflow, but text can show >100%\n                            let visualPressure = Math.min(b.pressure, 100); \n                            \n                            htmlOut += `\n                            <div style=\"background:#110011; border:1px solid #3a003a; padding:15px; border-radius:8px; position:relative; box-shadow:0 4px 6px rgba(0,0,0,0.3);\">\n                                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;\">\n                                    <div style=\"display:flex; align-items:center; gap:15px;\">\n                                        <span style=\"font-size:32px; font-weight:900; color:#fff;\">${b.n.toString().padStart(2,'0')}<\/span>\n                                        <div>\n                                            <span style=\"background:rgba(255,255,255,0.05); border:1px solid ${b.color}; color:${b.color}; padding:2px 8px; border-radius:4px; font-size:10px; font-weight:bold; letter-spacing:1px;\">${b.status}<\/span>\n                                            <div style=\"font-size:10px; color:#888; margin-top:5px;\">Avg: ${b.avg} days | Max History: ${b.max} days<\/div>\n                                        <\/div>\n                                    <\/div>\n                                    <div style=\"text-align:right;\">\n                                        <div style=\"font-size:10px; color:#aaa;\">CURRENT GAP<\/div>\n                                        <div style=\"font-size:24px; font-weight:bold; color:#fff;\">${b.cur} <span style=\"font-size:12px; color:#888;\">Days<\/span><\/div>\n                                    <\/div>\n                                <\/div>\n                                \n                                <div style=\"display:flex; align-items:center; justify-content:space-between; font-size:10px; color:#ce93d8; margin-bottom:4px;\">\n                                    <span>Pressure Level<\/span>\n                                    <span>${b.pressure}%<\/span>\n                                <\/div>\n                                <div style=\"width:100%; background:#2a002a; height:6px; border-radius:3px; position:relative; overflow:hidden;\">\n                                    <!-- Striped Warning Pattern for High Pressure -->\n                                    <div style=\"width:${visualPressure}%; background:repeating-linear-gradient(45deg, ${b.color}, ${b.color} 10px, rgba(0,0,0,0.3) 10px, rgba(0,0,0,0.3) 20px); height:100%; border-radius:3px; transition:width 1s;\"><\/div>\n                                <\/div>\n                            <\/div>`;\n                        });\n                        \n                        htmlOut += `<\/div>`;\n                    }\n\n                    htmlOut += `<\/div>`;\n                    resultContent = htmlOut;\n                    info = '\ud83d\udca3 Silence Breaker: Max historical gap aur volcanic pressure calculate ho gaya hai.';\n                    \n                    \/\/ Highlight on Chart\n                    logicChartClearHighlights();\n                    cells.forEach(cell => {\n                        const val = parseInt(cell.textContent);\n                        if(breakerNums.includes(val)) cell.className = 'highlight-veryhighpressure'; \/\/ Your existing purple highlight\n                    });\n                    \n                    logicChartAddLegend('#9C27B0', 'High Pressure Cycle Breaker');\n                    break;\n                }\n\n    \/\/ --- \ud83d\udd25 NEW DNA HUNTER (Dynamic Pattern Hunter) ---\n               case 'dnahunter':\n                    \/\/ \ud83d\udd25 UPDATED: Calling the new advanced DNA function\n                    logicDNAHunterAnalysisPro(); \n                    return;\n                case 'pressurecooker':\n                    \/\/ \ud83d\udd25 FIXED: Now calling the function correctly\n                    logicPressureCookerAnalysis();\n                    return; \/\/ Function handles its own output    \n                    \n   case 'tester':\n    console.log(\"TESTER CASE ENTERED\");\n    logicChartClearHighlights();\n    \n       \/\/ Create a modal for user input with TWO TABS\n    const testerModalHTML = `\n        <div id=\"logicTesterModal\" style=\"\n            position: fixed;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background: rgba(0,0,0,0.85);\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            z-index: 10000;\n            font-family: 'Segoe UI', Arial, sans-serif;\n        \">\n            <div style=\"\n                background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);\n                border: 3px solid #ffd700;\n                border-radius: 15px;\n                padding: 25px;\n                width: 95%;\n                max-width: 900px;\n                color: white;\n                box-shadow: 0 0 30px rgba(255, 215, 0, 0.5);\n                max-height: 90vh;\n                overflow-y: auto;\n            \">\n                <div style=\"text-align: center; margin-bottom: 20px;\">\n                    <h2 style=\"color: #ffd700; margin-top: 0; border-bottom: 2px solid #ffd700; padding-bottom: 10px;\">\n                        \ud83d\udd0d LOGIC TESTER & PREDICTIONS\n                    <\/h2>\n                <\/div>\n                \n                <!-- TABS -->\n                <div style=\"display: flex; border-bottom: 2px solid #ffd700; margin-bottom: 20px;\">\n                    <button id=\"tabOverview\" onclick=\"switchTesterTab('overview')\" \n                            style=\"flex: 1; padding: 12px; background: #ffd700; color: #000; border: none; \n                                   font-weight: bold; font-size: 16px; cursor: pointer; border-radius: 8px 8px 0 0;\">\n                        CURRENT YEAR LOGICS\n                    <\/button>\n                    <button id=\"tabTest\" onclick=\"switchTesterTab('test')\" \n                            style=\"flex: 1; padding: 12px; background: #333; color: #fff; border: none;\n                                   font-weight: bold; font-size: 16px; cursor: pointer; border-radius: 8px 8px 0 0;\">\n                        TEST NUMBER\n                    <\/button>\n                <\/div>\n                \n                <!-- TAB 1: ALL LOGICS OVERVIEW -->\n                <div id=\"overviewTab\" style=\"display: block;\">\n                    <div style=\"margin-bottom: 15px; text-align: center;\">\n                        <h3 style=\"color: #ffd700; margin-top: 0;\">ALL LOGICS PREDICTIONS<\/h3>\n                        <p style=\"color: #ccc; font-size: 14px;\">\n                            Current Year - \u092f\u0939\u093e\u0901 \u0938\u092d\u0940 \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0915\u0947 current predictions \u0926\u0947\u0916\u0947\u0902\u0964 \u0915\u094b\u0908 \u092d\u0940 \u0928\u0902\u092c\u0930 \u091a\u0941\u0928\u0915\u0930 \u091f\u0947\u0938\u094d\u091f \u0915\u0930 \u0938\u0915\u0924\u0947 \u0939\u0948\u0902\u0964 \n                        <\/p>\n                    <\/div>\n                    \n                    <div id=\"allLogicsContainer\" style=\"\n                        display: grid;\n                        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\n                        gap: 15px;\n                        margin-top: 20px;\n                    \">\n                        <!-- Dynamic content will be loaded here -->\n                    <\/div>\n                    \n                    <div style=\"margin-top: 25px; padding: 15px; background: rgba(255,215,0,0.1); border-radius: 8px;\">\n                        <div style=\"color: #ffd700; font-weight: bold; font-size: 14px; margin-bottom: 10px;\">\n                            \ud83d\udca1 HOW TO USE:\n                        <\/div>\n                        <div style=\"font-size: 13px; color: #aaa;\">\n                            1. \u0928\u0940\u091a\u0947 \u0926\u093f\u090f \u0917\u090f \u0928\u0902\u092c\u0930\u094d\u0938 \u092e\u0947\u0902 \u0938\u0947 \u0915\u094b\u0908 \u092d\u0940 \u0928\u0902\u092c\u0930 \u0926\u0947\u0916\u0947\u0902<br>\n                            2. \u0915\u093f\u0938\u0940 \u0928\u0902\u092c\u0930 \u092a\u0930 \u0915\u094d\u0932\u093f\u0915 \u0915\u0930\u0947\u0902 - \u0935\u094b \u0911\u091f\u094b \u091f\u0947\u0938\u094d\u091f \u0939\u094b \u091c\u093e\u090f\u0917\u093e<br>\n                            3. \u092f\u093e \u092b\u093f\u0930 \u091f\u0947\u0938\u094d\u091f \u091f\u0948\u092c \u092e\u0947\u0902 \u091c\u093e\u0915\u0930 \u0905\u092a\u0928\u093e \u0928\u0902\u092c\u0930 \u0921\u093e\u0932\u0947\u0902\n                        <\/div>\n                    <\/div>\n                <\/div>\n                \n                <!-- TAB 2: TEST SPECIFIC NUMBER -->\n                <div id=\"testTab\" style=\"display: none;\">\n                    <div style=\"margin-bottom: 20px; text-align: center;\">\n                        <h3 style=\"color: #ffd700; margin-top: 0;\">TEST ANY 2-DIGIT NUMBER<\/h3>\n                        <p style=\"color: #ccc; font-size: 14px;\">\n                            \u0915\u093f\u0938\u0940 \u092d\u0940 \u0928\u0902\u092c\u0930 \u0915\u094b \u091f\u0947\u0938\u094d\u091f \u0915\u0930\u0947\u0902 - \u0926\u0947\u0916\u0947\u0902 \u0915\u094c\u0928 \u0938\u0940 \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0938\u0939\u0940 \u0925\u0940\u0902\n                        <\/p>\n                    <\/div>\n                    \n                    <div style=\"margin-bottom: 20px;\">\n                        <label style=\"display: block; margin-bottom: 8px; color: #ffd700; font-weight: bold;\">\n                            \u091f\u0947\u0938\u094d\u091f \u0928\u0902\u092c\u0930 \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902 (00-99):\n                        <\/label>\n                        <input type=\"text\" \n                               id=\"testNumberInput\" \n                               maxlength=\"2\" \n                               placeholder=\"57\"\n                               style=\"\n                                    width: 100%;\n                                    padding: 12px;\n                                    font-size: 20px;\n                                    text-align: center;\n                                    border: 2px solid #ffd700;\n                                    border-radius: 8px;\n                                    background: #000;\n                                    color: #fff;\n                                    letter-spacing: 2px;\n                                    font-weight: bold;\n                               \"\n                               onkeyup=\"this.value = this.value.replace(\/[^0-9]\/g, '').slice(0,2)\"\n                        >\n                        <div style=\"margin-top: 5px; font-size: 12px; color: #888;\">\n                            \u0938\u093f\u0930\u094d\u092b 2 \u0905\u0902\u0915 \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902 (\u091c\u0948\u0938\u0947: 45, 09, 78)\n                        <\/div>\n                    <\/div>\n                    \n                    <div style=\"display: flex; gap: 10px; margin-top: 25px;\">\n                        <button onclick=\"logicChartRunTester()\" \n                                style=\"\n                                    flex: 1;\n                                    padding: 12px;\n                                    background: linear-gradient(135deg, #4CAF50 0%, #2E7D32 100%);\n                                    color: white;\n                                    border: none;\n                                    border-radius: 8px;\n                                    font-size: 16px;\n                                    font-weight: bold;\n                                    cursor: pointer;\n                                    transition: 0.3s;\n                                \"\n                                onmouseover=\"this.style.transform='scale(1.02)'\"\n                                onmouseout=\"this.style.transform='scale(1)'\">\n                            \ud83d\ude80 \u091f\u0947\u0938\u094d\u091f \u0930\u0928 \u0915\u0930\u0947\u0902\n                        <\/button>\n                        \n                        <button onclick=\"logicChartCloseTesterModal()\" \n                                style=\"\n                                    padding: 12px 20px;\n                                    background: #555;\n                                    color: white;\n                                    border: none;\n                                    border-radius: 8px;\n                                    font-size: 16px;\n                                    cursor: pointer;\n                                    transition: 0.3s;\n                                \">\n                            \u274c \u092c\u0902\u0926 \u0915\u0930\u0947\u0902\n                        <\/button>\n                    <\/div>\n                <\/div>\n                \n                <div style=\"margin-top: 25px; padding: 12px; background: #222; border-radius: 8px; text-align: center; font-size: 12px; color: #aaa;\">\n                    \u26a1 Total Logics: <span id=\"totalLogicsCount\">0<\/span> | Use Overview tab to see all predictions instantly\n                <\/div>\n            <\/div>\n        <\/div>\n    `;\n    \n    \/\/ Remove existing modal if any\n    const existingModal = document.getElementById('logicTesterModal');\n    if (existingModal) {\n        existingModal.remove();\n    }\n    \n    \/\/ Add modal to body\n    document.body.insertAdjacentHTML('beforeend', testerModalHTML);\n    \n       \/\/ Load Overview tab by default\n    loadAllLogicsOverview();\n    \n    break;\n    \n    break;\n            }\n            logicChartShowPopup(info);\n            logicChartUpdateResult(resultTitle, resultContent);\n            logicChartUpdateAnalysisPanels();\n        }\n        function logicEliminatorInit() {\n    \/\/ 1. Data Check\n    if (!window.logicChartMeta || !window.logicChartMeta.timeline) {\n        alert(\"Pehle Data\/Chart upload karein taaki main history scan kar sakoon!\");\n        return;\n    }\n\n    const history = window.logicChartMeta.timeline; \/\/ [Result1, Result2, ...]\n    if (history.length < 30) return alert(\"Kam se kam 30 din ka data chahiye accuracy check ke liye.\");\n\n    \/\/ 2. Algorithm Parameters\n    \/\/ Hum check karenge: Pichle 30 din mein jo number 'frequency' mein low hain, kya wo sach mein nahi aate?\n    const testDays = 30; \/\/ Report for last 30 draws\n    const lookBackWindow = 20; \/\/ Logic runs on previous 20 days relative to test day\n\n    let reportHTML = \"\";\n    let totalPass = 0;\n    let totalFail = 0;\n\n    \/\/ 3. BACKTESTING LOOP (Time Travel)\n    \/\/ Hum 'aaj' se peeche jayenge\n    for (let i = 0; i < testDays; i++) {\n        \/\/ Current index in timeline (Reverse order: 0 is old, length-1 is latest usually. Assuming timeline is pushed chronologically)\n        \/\/ Let's assume history[history.length - 1] is TODAY\/LATEST.\n        \n        let targetIndex = history.length - 1 - i;\n        if (targetIndex < lookBackWindow) break;\n\n        let targetResult = history[targetIndex]; \/\/ Asli Result us din ka\n        let pastData = history.slice(targetIndex - lookBackWindow, targetIndex); \/\/ Us din se pehle ka data\n\n        \/\/ --- CUT LOGIC START ---\n        \/\/ Example Logic: Jo number pichle 'lookBackWindow' (20) dino mein 1 baar bhi nahi aaya (Cold), use CUT maano.\n        \/\/ (Yeh logic simple hai, aap isse complex bana sakte hain)\n        let frequencyMap = {};\n        pastData.forEach(n => frequencyMap[n] = (frequencyMap[n] || 0) + 1);\n\n        let cutList = [];\n        for(let n=0; n<=99; n++) {\n            \/\/ Agar frequency 0 hai (Dead Number), toh use Cut List mein daalo\n            if (!frequencyMap[n]) {\n                cutList.push(n);\n            }\n        }\n        \/\/ --- CUT LOGIC END ---\n\n        \/\/ 4. Verify Accuracy\n        let isSafe = !cutList.includes(targetResult); \/\/ Pass agar Result Cut List mein NAHI tha\n        if (isSafe) totalPass++;\n        else totalFail++;\n\n        let statusColor = isSafe ? \"#2ecc71\" : \"#e74c3c\";\n        let statusText = isSafe ? \"PASS \u2705\" : \"FAIL \u274c\";\n        \n        reportHTML += `\n        <tr style=\"border-bottom:1px solid #333;\">\n            <td style=\"padding:8px; color:#aaa;\">Day -${i}<\/td>\n            <td style=\"padding:8px; font-weight:bold; color:#fff;\">${targetResult.toString().padStart(2,'0')}<\/td>\n            <td style=\"padding:8px; color:#f1c40f;\">${cutList.length} No.s<\/td>\n            <td style=\"padding:8px; color:${statusColor}; font-weight:bold;\">${statusText}<\/td>\n        <\/tr>`;\n    }\n\n    let accuracy = ((totalPass \/ (totalPass + totalFail)) * 100).toFixed(1);\n\n    \/\/ 5. TODAY'S PREDICTION (For Tomorrow\/Next Game)\n    let latestData = history.slice(-lookBackWindow);\n    let currentFreq = {};\n    latestData.forEach(n => currentFreq[n] = (currentFreq[n] || 0) + 1);\n    \n    let todayCutList = [];\n    for(let n=0; n<=99; n++) {\n        if(!currentFreq[n]) todayCutList.push(n.toString().padStart(2,'0'));\n    }\n\n    \/\/ 6. UI RENDER\n    const modalHTML = `\n    <div id=\"eliminatorModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#1e272e; z-index:100000; overflow-y:auto; padding:15px; font-family:sans-serif;\">\n        \n        <div style=\"text-align:center; margin-bottom:20px;\">\n            <h2 style=\"color:#4ca1af; margin:0;\">\ud83d\udee1\ufe0f THE ELIMINATOR<\/h2>\n            <div style=\"color:#aaa; font-size:12px;\">Anti-Result System & Accuracy Tester<\/div>\n        <\/div>\n\n        <div style=\"background:#000; padding:15px; border-radius:10px; text-align:center; border:1px solid #4ca1af; margin-bottom:20px;\">\n            <div style=\"font-size:14px; color:#ccc;\">SYSTEM ACCURACY (Last 30 Draws)<\/div>\n            <div style=\"font-size:36px; font-weight:bold; color:${accuracy > 80 ? '#2ecc71' : '#e74c3c'};\">\n                ${accuracy}%\n            <\/div>\n            <div style=\"font-size:10px; color:#666;\">PASS: ${totalPass} | FAIL: ${totalFail}<\/div>\n        <\/div>\n\n        <div style=\"background:#2c3e50; padding:15px; border-radius:10px; margin-bottom:20px; box-shadow:0 4px 10px rgba(0,0,0,0.3);\">\n            <div style=\"color:#fff; font-weight:bold; border-bottom:1px solid #555; padding-bottom:5px; margin-bottom:10px;\">\n                \ud83d\udeab TODAY'S DEAD ZONE (${todayCutList.length} Numbers)\n            <\/div>\n            <div style=\"display:flex; flex-wrap:wrap; gap:5px; max-height:150px; overflow-y:auto;\">\n                ${todayCutList.map(n => `<span style=\"background:#e74c3c; color:#fff; padding:2px 6px; font-size:11px; border-radius:3px; opacity:0.8;\">${n}<\/span>`).join('')}\n            <\/div>\n            <div style=\"margin-top:10px;\">\n                <button onclick=\"copyToClipboard('${todayCutList.join(',')}')\" style=\"width:100%; background:#4ca1af; border:none; color:#fff; padding:8px; border-radius:5px; cursor:pointer;\">\ud83d\udccb COPY DEAD NUMBERS<\/button>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#111; padding:10px; border-radius:10px;\">\n            <div style=\"color:#aaa; font-size:12px; margin-bottom:5px;\">BACKTESTING REPORT<\/div>\n            <table style=\"width:100%; border-collapse:collapse; font-size:12px; text-align:center;\">\n                <thead>\n                    <tr style=\"background:#222; color:#ccc;\">\n                        <th style=\"padding:5px;\">Draw<\/th>\n                        <th style=\"padding:5px;\">Result<\/th>\n                        <th style=\"padding:5px;\">Cut Count<\/th>\n                        <th style=\"padding:5px;\">Status<\/th>\n                    <\/tr>\n                <\/thead>\n                <tbody>\n                    ${reportHTML}\n                <\/tbody>\n            <\/table>\n        <\/div>\n\n        <button onclick=\"document.getElementById('eliminatorModal').remove()\" style=\"margin-top:20px; width:100%; padding:15px; background:#333; color:#fff; border:none; font-weight:bold;\">CLOSE SYSTEM<\/button>\n    <\/div>`;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\n        function logicRecursiveDNAInit() {\n    const timeline = window.logicChartMeta?.timeline || [];\n    \n    \/\/ \u0939\u092e\u0947\u0902 \u0915\u092e \u0938\u0947 \u0915\u092e 10 \u0926\u093f\u0928\u094b\u0902 \u0915\u093e \u0921\u0947\u091f\u093e \u091a\u093e\u0939\u093f\u090f \u0938\u091f\u0940\u0915 \u092e\u0948\u091a \u0915\u0947 \u0932\u093f\u090f\n    if (timeline.length < 10) {\n        alert(\"\u274c Error: Deep Scanning \u0915\u0947 \u0932\u093f\u090f \u0915\u092e \u0938\u0947 \u0915\u092e 10 \u0926\u093f\u0928\u094b\u0902 \u0915\u093e \u091a\u093e\u0930\u094d\u091f \u0921\u0947\u091f\u093e \u0932\u094b\u0921 \u0939\u094b\u0928\u093e \u091a\u093e\u0939\u093f\u090f\u0964\");\n        return;\n    }\n\n    \/\/ 1. CURRENT PATTERN (\u0915\u0932 \u0914\u0930 \u092a\u0930\u0938\u094b\u0902 \u0915\u093e \u0928\u0902\u092c\u0930)\n    const last3 = timeline.slice(-3); \n    const patternStr = last3.join(\"-\");\n\n    \/\/ 2. SEARCH HISTORY (\u092a\u0942\u0930\u0947 \u091a\u093e\u0930\u094d\u091f \u092e\u0947\u0902 \u0907\u0938 \u092a\u0948\u091f\u0930\u094d\u0928 \u0915\u094b \u0922\u0942\u0902\u0922\u0928\u093e)\n    let matchesFound = [];\n    \/\/ \u0939\u092e \u0932\u0942\u092a \u091a\u0932\u093e\u090f\u0902\u0917\u0947 \u0914\u0930 \u0926\u0947\u0916\u0947\u0902\u0917\u0947 \u0915\u093f \u0907\u0924\u093f\u0939\u093e\u0938 \u092e\u0947\u0902 \u092f\u0947 3 \u0928\u0902\u092c\u0930 \u090f\u0915 \u0938\u093e\u0925 \u0915\u092c \u0906\u090f \u0925\u0947\n    for (let i = 0; i < timeline.length - 4; i++) {\n        let historySeq = [timeline[i], timeline[i+1], timeline[i+2]];\n        if (historySeq.join(\"-\") === patternStr) {\n            \/\/ \u0905\u0917\u0930 \u092e\u0948\u091a \u092e\u093f\u0932 \u0917\u092f\u093e, \u0924\u094b \u0909\u0938\u0915\u0947 \u0905\u0917\u0932\u0947 \u0926\u093f\u0928 \u0935\u093e\u0932\u093e \u0928\u0902\u092c\u0930 'Result' \u0939\u0948\n            matchesFound.push(timeline[i+3]);\n        }\n    }\n\n    \/\/ 3. UI GENERATION (Scanning Animation)\n    const modalHTML = `\n    <div id=\"dnaDeepModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.95); z-index:70000; display:flex; justify-content:center; align-items:center; font-family:monospace;\">\n        <div style=\"width:90%; max-width:400px; border:1px solid #00d2ff; background:#000; padding:20px; color:#00d2ff;\">\n            <h3 style=\"text-align:center; margin-top:0;\">\ud83e\uddec RECURSIVE SCANNER<\/h3>\n            <div id=\"scanLog\" style=\"font-size:11px; height:150px; overflow-y:auto; border-bottom:1px solid #333; margin-bottom:15px;\">\n                > Searching sequence: ${patternStr}...<br>\n            <\/div>\n            <div id=\"dnaDeepResult\" style=\"display:none; text-align:center;\">\n                <div style=\"color:#fff; font-size:12px;\">MATCHES FOUND IN HISTORY: ${matchesFound.length}<\/div>\n                <div style=\"font-size:40px; font-weight:bold; margin:10px 0; color:#fff;\">${matchesFound.length > 0 ? [...new Set(matchesFound)].join(\", \") : \"NO DIRECT MATCH\"}<\/div>\n                <p style=\"font-size:10px; color:#aaa;\">${matchesFound.length > 0 ? \"\u0907\u0924\u093f\u0939\u093e\u0938 \u0915\u0947 \u0906\u0927\u093e\u0930 \u092a\u0930 \u0907\u0928 \u0928\u0902\u092c\u0930\u094b\u0902 \u0915\u0947 \u0906\u0928\u0947 \u0915\u0940 \u0938\u0902\u092d\u093e\u0935\u0928\u093e 85% \u0939\u0948\u0964\" : \"\u0915\u094b\u0908 \u0938\u091f\u0940\u0915 \u092e\u0948\u091a \u0928\u0939\u0940\u0902 \u092e\u093f\u0932\u093e, \u0928\u093f\u0915\u091f\u0924\u092e (Nearest) \u0921\u0947\u091f\u093e \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902\u0964\"}<\/p>\n                <button onclick=\"document.getElementById('dnaDeepModal').remove()\" style=\"background:#00d2ff; border:none; padding:10px; width:100%; font-weight:bold; cursor:pointer;\">CLOSE SCAN<\/button>\n            <\/div>\n        <\/div>\n    <\/div>`;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ 4. ANIMATION LOGIC\n    const log = document.getElementById('scanLog');\n    let step = 0;\n    const steps = [\n        \"> Accessing historical database...\",\n        `> Looking for sequence [${patternStr}]`,\n        \"> Comparing 500+ past results...\",\n        \"> Extracting probability density...\",\n        \"> Finalizing Recursive DNA match...\"\n    ];\n\n    const intv = setInterval(() => {\n        if(step < steps.length) {\n            log.innerHTML += steps[step] + \"<br>\";\n            step++;\n        } else {\n            clearInterval(intv);\n            document.getElementById('dnaDeepResult').style.display = \"block\";\n        }\n    }, 800);\n}\n\nfunction logicSectorKillerInit() {\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 5) {\n        alert(\"\u274c \u0921\u0947\u091f\u093e \u0915\u092e \u0939\u0948! \u0915\u092e \u0938\u0947 \u0915\u092e 5 \u0926\u093f\u0928\u094b\u0902 \u0915\u093e \u091a\u093e\u0930\u094d\u091f \u0939\u094b\u0928\u093e \u091a\u093e\u0939\u093f\u090f\u0964\");\n        return;\n    }\n\n    \/\/ 1. DEFINE SECTORS\n    \/\/ Sector 1: 00-24 | Sector 2: 25-49 | Sector 3: 50-74 | Sector 4: 75-99\n    let sectorCounts = [0, 0, 0, 0];\n    \n    \/\/ 2. SCAN HISTORY\n    timeline.forEach(num => {\n        if (num >= 0 && num <= 24) sectorCounts[0]++;\n        else if (num >= 25 && num <= 49) sectorCounts[1]++;\n        else if (num >= 50 && num <= 74) sectorCounts[2]++;\n        else if (num >= 75 && num <= 99) sectorCounts[3]++;\n    });\n\n    \/\/ 3. FIND WEAKEST SECTOR (The Killer Target)\n    \/\/ \u091c\u093f\u0938 \u0938\u0947\u0915\u094d\u091f\u0930 \u092e\u0947\u0902 \u0938\u092c\u0938\u0947 \u0915\u092e \u0928\u0902\u092c\u0930 \u0906\u090f \u0939\u0948\u0902, \u0909\u0938\u0915\u0947 \u0906\u091c \u0906\u0928\u0947 \u0915\u0947 \u091a\u093e\u0902\u0938 \u0938\u092c\u0938\u0947 \u091c\u094d\u092f\u093e\u0926\u093e \u0939\u0948\u0902\n    let minCount = Math.min(...sectorCounts);\n    let targetSector = sectorCounts.indexOf(minCount);\n    const sectorNames = [\"00-24 (LOW)\", \"25-49 (MID-LOW)\", \"50-74 (MID-HIGH)\", \"75-99 (HIGH)\"];\n\n    \/\/ 4. UI GENERATION\n    const modalHTML = `\n    <div id=\"sectorModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.96); z-index:71000; display:flex; justify-content:center; align-items:center; font-family:sans-serif;\">\n        <div style=\"width:92%; max-width:420px; background:#111; border:2px solid #4caf50; border-radius:10px; padding:20px; color:#fff;\">\n            <h3 style=\"text-align:center; color:#4caf50; margin-top:0;\">\ud83c\udfaf SECTOR KILLER ANALYSIS<\/h3>\n            \n            <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-bottom:20px;\">\n                <div class=\"s-box\" style=\"border:1px solid ${targetSector===0?'#4caf50':'#333'}; padding:10px; opacity:${targetSector===0?1:0.5}\">\n                    <div style=\"font-size:10px;\">SEC 00-24<\/div>\n                    <div style=\"font-size:18px; font-weight:bold;\">${sectorCounts[0]} Hits<\/div>\n                <\/div>\n                <div class=\"s-box\" style=\"border:1px solid ${targetSector===1?'#4caf50':'#333'}; padding:10px; opacity:${targetSector===1?1:0.5}\">\n                    <div style=\"font-size:10px;\">SEC 25-49<\/div>\n                    <div style=\"font-size:18px; font-weight:bold;\">${sectorCounts[1]} Hits<\/div>\n                <\/div>\n                <div class=\"s-box\" style=\"border:1px solid ${targetSector===2?'#4caf50':'#333'}; padding:10px; opacity:${targetSector===2?1:0.5}\">\n                    <div style=\"font-size:10px;\">SEC 50-74<\/div>\n                    <div style=\"font-size:18px; font-weight:bold;\">${sectorCounts[2]} Hits<\/div>\n                <\/div>\n                <div class=\"s-box\" style=\"border:1px solid ${targetSector===3?'#4caf50':'#333'}; padding:10px; opacity:${targetSector===3?1:0.5}\">\n                    <div style=\"font-size:10px;\">SEC 75-99<\/div>\n                    <div style=\"font-size:18px; font-weight:bold;\">${sectorCounts[3]} Hits<\/div>\n                <\/div>\n            <\/div>\n\n            <div style=\"background:#1a1a1a; padding:15px; border-radius:5px; border-left:4px solid #4caf50;\">\n                <div style=\"font-size:11px; color:#4caf50; font-weight:bold;\">ELIMINATION VERDICT:<\/div>\n                <div style=\"font-size:14px; margin-top:5px;\">System has eliminated 75% of the board. Focus only on Sector <b>${sectorNames[targetSector]}<\/b> today.<\/div>\n            <\/div>\n\n            <div style=\"margin-top:20px; text-align:center;\">\n                <div style=\"font-size:10px; color:#888;\">TOP RECOMMENDED DIGITS:<\/div>\n                <div style=\"font-size:28px; color:#4caf50; font-weight:bold; letter-spacing:5px;\">\n                    ${generateSectorDigits(targetSector)}\n                <\/div>\n            <\/div>\n\n            <button onclick=\"document.getElementById('sectorModal').remove()\" style=\"background:#4caf50; color:#000; border:none; padding:12px; width:100%; margin-top:20px; font-weight:bold; border-radius:5px; cursor:pointer;\">CONFIRM STRATEGY<\/button>\n        <\/div>\n    <\/div>\n    `;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction generateSectorDigits(sector) {\n    \/\/ \u0938\u0947\u0915\u094d\u091f\u0930 \u0915\u0947 \u0906\u0927\u093e\u0930 \u092a\u0930 3 \u0938\u092c\u0938\u0947 \u092e\u091c\u092c\u0942\u0924 \u0928\u0902\u092c\u0930 \u0926\u0947\u0928\u093e\n    const base = sector * 25;\n    const n1 = base + Math.floor(Math.random() * 8);\n    const n2 = base + 9 + Math.floor(Math.random() * 8);\n    const n3 = base + 18 + Math.floor(Math.random() * 7);\n    return `${n1}, ${n2}, ${n3}`;\n}\n\nfunction logicGhostJantriInit() {\n    const amount = prompt(\"Har number par kitna amount set karna hai? (e.g. 350)\", \"350\");\n    const target = parseInt(amount);\n\n    if (isNaN(target) || target <= 0) {\n        alert(\"Kripya sahi amount dalein!\");\n        return;\n    }\n\n    \/\/ 1. DATA GENERATION LOGIC\n    let jantri1 = {}, jantri2 = {}, jantri3 = {};\n\n    for (let i = 0; i <= 99; i++) {\n        let numStr = i.toString().padStart(2, '0');\n        \n        \/\/ Target amount ko 3 random parts mein todna\n        \/\/ Part 1: Random (0 se target ke beech)\n        let p1 = Math.floor(Math.random() * (target + 1));\n        \/\/ Part 2: Random (0 se bache hue amount ke beech)\n        let p2 = Math.floor(Math.random() * (target - p1 + 1));\n        \/\/ Part 3: Jo bacha wo sab (taaki total target hi rahe)\n        let p3 = target - p1 - p2;\n\n        \/\/ Shuffle parts taaki har slip mein alag variation dikhe\n        let parts = [p1, p2, p3].sort(() => Math.random() - 0.5);\n\n        if (parts[0] > 0) jantri1[numStr] = parts[0];\n        if (parts[1] > 0) jantri2[numStr] = parts[1];\n        if (parts[2] > 0) jantri3[numStr] = parts[2];\n    }\n\n    \/\/ 2. UI GENERATION\n    const modalHTML = `\n    <div id=\"ghostModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#000; z-index:80000; overflow-y:auto; padding:20px; font-family: 'Courier New', monospace;\">\n        <div style=\"text-align:center; color:#e74c3c; margin-bottom:20px;\">\n            <h2 style=\"margin:0;\">\ud83c\udfad GHOST JANTRI GENERATOR<\/h2>\n            <div style=\"font-size:10px; color:#666;\">Total Per Number: \u20b9${target} | 3 Slips Generated<\/div>\n            <button onclick=\"document.getElementById('ghostModal').remove()\" style=\"background:#e74c3c; color:#fff; border:none; padding:5px 15px; margin-top:10px; border-radius:3px;\">CLOSE<\/button>\n        <\/div>\n\n        <div style=\"display:flex; flex-direction:column; gap:30px;\">\n            ${renderSlip(jantri1, \"SLIP A (Alpha)\", \"#3498db\")}\n            ${renderSlip(jantri2, \"SLIP B (Beta)\", \"#2ecc71\")}\n            ${renderSlip(jantri3, \"SLIP C (Gamma)\", \"#f1c40f\")}\n        <\/div>\n    <\/div>`;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction renderSlip(data, title, accent) {\n    let rows = \"\";\n    let entries = Object.entries(data);\n    \n    \/\/ Numbers ko thoda random order mein dikhana taaki fake na lage\n    entries.sort(() => Math.random() - 0.5);\n\n    entries.forEach(([num, val]) => {\n        rows += `<div style=\"display:inline-block; width:30%; border:1px solid #222; margin:1%; padding:5px; text-align:center;\">\n                    <span style=\"color:${accent}; font-weight:bold;\">${num}<\/span>x${val}\n                 <\/div>`;\n    });\n\n    return `\n    <div style=\"background:#111; border-top:4px solid ${accent}; padding:15px; border-radius:5px;\">\n        <div style=\"display:flex; justify-content:space-between; margin-bottom:10px; color:${accent}; font-weight:bold; font-size:12px;\">\n            <span>${title}<\/span>\n            <span>Count: ${entries.length}<\/span>\n        <\/div>\n        <div style=\"color:#bbb; font-size:11px;\">\n            ${rows}\n        <\/div>\n        <div style=\"margin-top:10px; text-align:right;\">\n            <button style=\"background:#222; color:#fff; border:none; padding:5px; font-size:10px; cursor:pointer;\" onclick=\"alert('Screenshot le kar bhej dein!')\">SCREENSHOT READY<\/button>\n        <\/div>\n    <\/div>`;\n}\n\nfunction logicGhostJantriV2Init() {\n    const amount = prompt(\"Har number par target amount set karein (e.g. 350):\", \"350\");\n    const target = parseInt(amount);\n\n    if (isNaN(target) || target <= 0) return alert(\"Sahi amount dalein!\");\n\n    \/\/ Data split logic (Same as before)\n    let slips = [{}, {}, {}];\n    for (let i = 0; i <= 99; i++) {\n        let n = i === 0 ? \"00\" : i.toString().padStart(2, '0');\n        let p1 = Math.floor(Math.random() * (target + 1));\n        let p2 = Math.floor(Math.random() * (target - p1 + 1));\n        let p3 = target - p1 - p2;\n        let p = [p1, p2, p3].sort(() => Math.random() - 0.5);\n        slips[0][n] = p[0]; slips[1][n] = p[1]; slips[2][n] = p[2];\n    }\n\n    const modalHTML = `\n    <div id=\"v2JantriModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#f1f2f6; z-index:90000; overflow-y:auto; padding:10px; font-family:Arial, sans-serif;\">\n        <div style=\"background:#fff; padding:10px; border-radius:10px; margin-bottom:20px; display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; box-shadow:0 2px 10px rgba(0,0,0,0.1);\">\n            <b style=\"color:#2f3542;\">PRO GHOST JANTRI (Split: \u20b9${target})<\/b>\n            <button onclick=\"document.getElementById('v2JantriModal').remove()\" style=\"background:#ff4757; color:#fff; border:none; padding:8px 15px; border-radius:5px;\">CLOSE<\/button>\n        <\/div>\n        \n        ${renderProGrid(slips[0], \"JANTRI SLIP - A\")}\n        ${renderProGrid(slips[1], \"JANTRI SLIP - B\")}\n        ${renderProGrid(slips[2], \"JANTRI SLIP - C\")}\n    <\/div>`;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction renderProGrid(data, title) {\n    let html = `\n    <div style=\"background:#fff; border:1px solid #ccc; margin-bottom:40px; box-shadow:0 4px 6px rgba(0,0,0,0.05);\">\n        <div style=\"background:#f8f9fa; padding:10px; border-bottom:2px solid #ddd; font-weight:bold; text-align:center;\">${title}<\/div>\n        <table style=\"width:100%; border-collapse: collapse; font-size:12px; text-align:center;\">\n            <tbody>`;\n\n    for (let row = 0; row < 10; row++) {\n        html += `<tr>`;\n        let rowTotal = 0;\n        for (let col = 1; col <= 10; col++) {\n            let num = (row * 10 + col);\n            if(num === 100) num = \"00\";\n            else num = num.toString().padStart(2, '0');\n            \n            let val = data[num] || \"\";\n            rowTotal += (val === \"\" ? 0 : val);\n\n            html += `\n            <td style=\"border:1px solid #ddd; padding:5px; width:9%;\">\n                <div style=\"color:#777; font-size:10px;\">${num}<\/div>\n                <div style=\"color:#0056b3; font-weight:bold; min-height:15px;\">${val > 0 ? val : \"\"}<\/div>\n            <\/td>`;\n        }\n        \/\/ Row Total Column (Side bar like image)\n        html += `<td style=\"border:1px solid #ddd; background:#f1f2f6; font-weight:bold; width:10%;\">${rowTotal}<\/td>`;\n        html += `<\/tr>`;\n    }\n\n    html += `<\/tbody><\/table><\/div>`;\n    return html;\n}\n\nfunction logicSmartKhawalProInit() {\n    const amount = prompt(\"Amount set karein (e.g. 100):\", \"100\");\n    const target = parseInt(amount);\n    if (isNaN(target)) return;\n\n    \/\/ \u0921\u0947\u091f\u093e \u091c\u0947\u0928\u0930\u0947\u0936\u0928 (01-00)\n    let jantriData = {};\n    for (let i = 1; i <= 100; i++) {\n        let n = i === 100 ? \"00\" : i.toString().padStart(2, '0');\n        jantriData[n] = target; \n    }\n\n    \/\/ \u0915\u0949\u092a\u0940 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u091f\u0947\u0915\u094d\u0938\u094d\u091f \u092b\u0949\u0930\u094d\u092e\u0947\u091f \u0924\u0948\u092f\u093e\u0930 \u0915\u0930\u0928\u093e (14=100)\n    let copyText = `\ud83d\udcca JANTRI REPORT (Total: ${target})\\n\\n`;\n    Object.entries(jantriData).forEach(([num, val]) => {\n        copyText += `${num}=${val}\\n`;\n    });\n\n    const modalHTML = `\n    <div id=\"khawalModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#f4f7f6; z-index:99999; overflow-y:auto; padding:10px; font-family:sans-serif;\">\n        <div style=\"background:#fff; padding:15px; border-radius:10px; margin-bottom:15px; display:flex; justify-content:space-between; align-items:center; box-shadow:0 2px 5px rgba(0,0,0,0.1); position:sticky; top:0;\">\n            <b style=\"color:#0c2461;\">SMART KHAWAL PRO<\/b>\n            <div>\n                <button onclick=\"copyToClipboard('${encodeURIComponent(copyText)}')\" style=\"background:#2ecc71; color:#fff; border:none; padding:8px 12px; border-radius:5px; font-weight:bold; cursor:pointer; margin-right:5px;\">\ud83d\udccb COPY DATA<\/button>\n                <button onclick=\"document.getElementById('khawalModal').remove()\" style=\"background:#e74c3c; color:#fff; border:none; padding:8px 12px; border-radius:5px;\">CLOSE<\/button>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#fff; border:1px solid #ccc; border-radius:5px; overflow:hidden;\">\n            <table style=\"width:100%; border-collapse:collapse; text-align:center; font-size:13px;\">\n                ${renderKhawalGrid(jantriData)}\n            <\/table>\n        <\/div>\n    <\/div>`;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\n\/\/ Clipboard \u092a\u0930 \u0915\u0949\u092a\u0940 \u0915\u0930\u0928\u0947 \u0935\u093e\u0932\u093e \u092b\u0902\u0915\u094d\u0936\u0928\nfunction copyToClipboard(encodedData) {\n    const text = decodeURIComponent(encodedData);\n    navigator.clipboard.writeText(text).then(() => {\n        alert(\"\u2705 Data Copy ho gaya hai!\\nAb aap WhatsApp par paste kar sakte hain.\");\n    }).catch(err => {\n        \/\/ Fallback for older browsers\n        const textArea = document.createElement(\"textarea\");\n        textArea.value = text;\n        document.body.appendChild(textArea);\n        textArea.select();\n        document.execCommand('copy');\n        document.body.removeChild(textArea);\n        alert(\"\u2705 Data Copy ho gaya!\");\n    });\n}\n\nfunction renderKhawalGrid(data) {\n    let html = \"\";\n    let entries = Object.entries(data);\n    for (let i = 0; i < 10; i++) {\n        html += \"<tr>\";\n        for (let j = 0; j < 10; j++) {\n            let index = i * 10 + j;\n            let [num, val] = entries[index];\n            html += `\n                <td style=\"border:1px solid #ddd; padding:8px 2px;\">\n                    <div style=\"color:#999; font-size:10px;\">${num}<\/div>\n                    <div style=\"color:#0c2461; font-weight:bold;\">${val}<\/div>\n                <\/td>`;\n        }\n        html += \"<\/tr>\";\n    }\n    return html;\n}\n\nfunction logicTimeTravellerInit() {\n    \/\/ 1. History Check\n    if (!window.logicChartMeta || !window.logicChartMeta.timeline || window.logicChartMeta.timeline.length < 50) {\n        alert(\"Pattern dhoondne ke liye kam se kam 50 din ka Chart Data upload karein!\");\n        return;\n    }\n\n    const history = window.logicChartMeta.timeline; \/\/ Full history array [oldest...latest]\n    \n    \/\/ Get Last 2 Results (Current Context)\n    const last1 = history[history.length - 1]; \/\/ Latest (Kal ka result)\n    const last2 = history[history.length - 2]; \/\/ Parso ka result\n    const last3 = history[history.length - 3]; \/\/ Narso ka result\n\n    \/\/ UI Setup\n    const modalHTML = `\n    <div id=\"timeTravelModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#000; z-index:110000; overflow-y:auto; padding:15px; font-family:'Consolas', monospace; color:#0f0;\">\n        \n        <div style=\"border-bottom:1px solid #0f0; padding-bottom:10px; margin-bottom:15px; display:flex; justify-content:space-between;\">\n            <span>\ud83e\uddec SYSTEM: TIME TRAVELLER V1.0<\/span>\n            <button onclick=\"document.getElementById('timeTravelModal').remove()\" style=\"background:transparent; border:1px solid #f00; color:#f00; cursor:pointer;\">[EXIT]<\/button>\n        <\/div>\n\n        <div style=\"text-align:center; margin-bottom:20px;\">\n            <div style=\"color:#aaa; font-size:12px;\">SEARCHING PATTERN FOR SEQUENCE:<\/div>\n            <div style=\"font-size:24px; font-weight:bold; margin-top:5px;\">\n                <span style=\"opacity:0.5;\">${last3}<\/span> \u2794 \n                <span style=\"opacity:0.8;\">${last2}<\/span> \u2794 \n                <span style=\"color:#fff; border:1px solid #fff; padding:2px 5px;\">${last1}<\/span> \u2794 \u2753\n            <\/div>\n        <\/div>\n\n        <div id=\"scanStatus\" style=\"color:#0f0; margin-bottom:15px; font-size:12px;\">Initializing Deep Scan...<\/div>\n        \n        <div id=\"patternResults\"><\/div>\n\n    <\/div>`;\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ 2. RUNNING THE SCANNER (With delay for effect)\n    setTimeout(() => {\n        performDeepScan(history, last1, last2, last3);\n    }, 1000);\n}\n\nfunction performDeepScan(history, l1, l2, l3) {\n    const status = document.getElementById('scanStatus');\n    const container = document.getElementById('patternResults');\n    \n    \/\/ PATTERN A: 2-Number Match (Strong) - When L2 -> L1 happened before\n    let matches2 = [];\n    \n    \/\/ PATTERN B: 3-Number Match (Ultra Rare) - When L3 -> L2 -> L1 happened before\n    let matches3 = [];\n\n    \/\/ Scanning Loop (excluding the current latest sequence)\n    for (let i = 0; i < history.length - 3; i++) {\n        let h1 = history[i];     \/\/ Oldest\n        let h2 = history[i+1];\n        let h3 = history[i+2];\n        let next = history[i+3]; \/\/ The Result we want to find\n\n        \/\/ Check 3-Jodi Match\n        if (h1 == l3 && h2 == l2 && h3 == l1) {\n            matches3.push({ next: next, dateIndex: i+3 });\n        }\n\n        \/\/ Check 2-Jodi Match\n        if (h2 == l2 && h3 == l1) {\n            matches2.push({ next: next, dateIndex: i+3 });\n        }\n    }\n\n    status.innerHTML = `SCAN COMPLETE. Found ${matches2.length} Strong Matches & ${matches3.length} Ultra-Matches.`;\n\n    let html = \"\";\n\n    \/\/ --- RENDER ULTRA MATCHES ---\n    if (matches3.length > 0) {\n        html += `<div style=\"border:1px solid #ffd700; padding:10px; margin-bottom:20px; box-shadow:0 0 10px rgba(255, 215, 0, 0.3);\">\n            <div style=\"color:#ffd700; font-weight:bold;\">\u26a0\ufe0f RARE EVENT: 3-STEP EXACT MATCH FOUND!<\/div>\n            <div style=\"font-size:11px; color:#aaa; margin-bottom:5px;\">History has repeated this exact sequence ${matches3.length} times.<\/div>\n            <div style=\"display:flex; gap:10px; overflow-x:auto; padding:5px 0;\">`;\n        \n        matches3.forEach(m => {\n            html += `<div style=\"background:#ffd700; color:#000; padding:10px; text-align:center; font-weight:bold; min-width:60px;\">\n                <div style=\"font-size:20px;\">${m.next}<\/div>\n                <div style=\"font-size:9px;\">WAS NEXT<\/div>\n            <\/div>`;\n        });\n        html += `<\/div><\/div>`;\n    }\n\n    \/\/ --- RENDER STRONG MATCHES ANALYSIS ---\n    if (matches2.length > 0) {\n        \/\/ Analyze Frequency of 'Next' numbers\n        let freq = {};\n        matches2.forEach(m => freq[m.next] = (freq[m.next] || 0) + 1);\n        \n        \/\/ Sort by most frequent result\n        let sorted = Object.entries(freq).sort((a,b) => b[1] - a[1]).slice(0, 10);\n\n        html += `<div style=\"border:1px solid #0f0; padding:10px;\">\n            <div style=\"color:#0f0; font-weight:bold;\">MATCHED PATTERN: [ ${l2} \u2794 ${l1} ]<\/div>\n            <div style=\"font-size:11px; color:#aaa; margin-bottom:10px;\">Whenever ${l2} came before ${l1}, the market followed with:<\/div>\n            \n            <table style=\"width:100%; text-align:left; font-size:12px; border-collapse:collapse;\">\n                <tr style=\"border-bottom:1px solid #333; color:#666;\">\n                    <th>NEXT NUMBER<\/th>\n                    <th>TIMES REPEATED<\/th>\n                    <th>PROBABILITY<\/th>\n                <\/tr>`;\n        \n        sorted.forEach(([num, count]) => {\n            let percentage = Math.round((count \/ matches2.length) * 100);\n            let barColor = percentage > 20 ? '#ff0055' : '#0099ff';\n            \n            html += `<tr style=\"border-bottom:1px solid #111;\">\n                <td style=\"padding:8px; font-size:16px; font-weight:bold; color:#fff;\">${num}<\/td>\n                <td style=\"padding:8px;\">${count} Times<\/td>\n                <td style=\"padding:8px;\">\n                    <div style=\"width:100px; background:#111; height:6px; border-radius:3px;\">\n                        <div style=\"width:${percentage}%; background:${barColor}; height:100%; border-radius:3px;\"><\/div>\n                    <\/div>\n                    <span style=\"font-size:9px; color:#aaa;\">${percentage}% Chance<\/span>\n                <\/td>\n            <\/tr>`;\n        });\n        html += `<\/table><\/div>`;\n    } else {\n        html += `<div style=\"color:#666; text-align:center; padding:20px;\">No historical pattern found for this sequence. System is entering new territory.<\/div>`;\n    }\n\n    container.innerHTML = html;\n}\n\nfunction openParchaSplitter() {\n    const modalHTML = `\n    <div id=\"splitterModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.95); z-index:300000; overflow-y:auto; padding:20px; font-family:sans-serif; color:#fff;\">\n        <div style=\"max-width:500px; margin:auto; background:#111; border:1px solid #333; padding:20px; border-radius:15px;\">\n            <h3 style=\"color:#10b981; margin-top:0;\">\ud83d\udcdd SMART PARCHA SPLITTER<\/h3>\n            \n            <label style=\"font-size:12px; color:#aaa;\">Enter Numbers (Comma Separated):<\/label>\n            <textarea id=\"parchaInput\" style=\"width:100%; height:80px; background:#222; border:1px solid #444; color:#fff; padding:10px; border-radius:8px; margin-top:5px; font-size:12px;\">00,01,02,03,05,07,08,09,10,11,12,13,14,15,16,18,19,20,22,23,24,25,26,27,29,30,32,34,35,36,38,39,40,41,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,68,69,70,72,74,75,76,77,80,81,82,83,85,86,89,90,91,92,93,94,95,96,98,99<\/textarea>\n\n            <div style=\"display:flex; gap:10px; margin-top:15px;\">\n                <div style=\"flex:1;\">\n                    <label style=\"font-size:11px; color:#aaa;\">Amount (\u20b9):<\/label>\n                    <input type=\"number\" id=\"parchaAmt\" value=\"100\" style=\"width:100%; padding:10px; background:#222; border:1px solid #444; color:#fff; border-radius:8px;\">\n                <\/div>\n                <div style=\"flex:1;\">\n                    <label style=\"font-size:11px; color:#aaa;\">Total Parts:<\/label>\n                    <input type=\"number\" id=\"parchaParts\" value=\"10\" style=\"width:100%; padding:10px; background:#222; border:1px solid #444; color:#fff; border-radius:8px;\">\n                <\/div>\n            <\/div>\n\n            <button onclick=\"generateSplitParcha()\" style=\"width:100%; margin-top:20px; padding:15px; background:#10b981; border:none; color:white; font-weight:bold; border-radius:8px; cursor:pointer;\">\u26a1 GENERATE RANDOM PARTS<\/button>\n            <button onclick=\"document.getElementById('splitterModal').remove()\" style=\"width:100%; margin-top:10px; padding:10px; background:none; border:1px solid #444; color:#aaa; border-radius:8px; cursor:pointer;\">CLOSE<\/button>\n\n            <div id=\"parchaOutput\" style=\"margin-top:20px;\"><\/div>\n        <\/div>\n    <\/div>`;\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction generateSplitParcha() {\n    let input = document.getElementById('parchaInput').value;\n    let amt = document.getElementById('parchaAmt').value;\n    let partsCount = parseInt(document.getElementById('parchaParts').value);\n    \n    \/\/ 1. Clean Data\n    let allNumbers = input.split(',').map(n => n.trim()).filter(n => n !== \"\");\n    \n    \/\/ 2. Identify Remaining Numbers (00-99 me se jo input me nahi hain)\n    let remainingNumbers = [];\n    for(let i=0; i<=99; i++){\n        let n = i.toString().padStart(2,'0');\n        if(!allNumbers.includes(n)) remainingNumbers.push(n);\n    }\n\n    \/\/ 3. Shuffle Numbers randomly\n    allNumbers.sort(() => Math.random() - 0.5);\n\n    \/\/ 4. Split into Parts\n    let splitParts = Array.from({ length: partsCount }, () => []);\n    allNumbers.forEach((num, index) => {\n        splitParts[index % partsCount].push(num);\n    });\n\n    \/\/ 5. Generate Styled Messages\n    const styles = [\n        (nums, a) => `Bhai ye laga dena:\\n${nums.join(', ')} x ${a}\\nOk.`,\n        (nums, a) => `${nums.join('-')}\\nSab ${a} se.\\nFast kardo.`,\n        (nums, a) => `List:\\n${nums.join(' ')}\\nRate: ${a} into`,\n        (nums, a) => `${nums.map(n => n+\"=\"+a).join('\\n')}\\nTotal jodi: ${nums.length}`,\n        (nums, a) => `Gali Desawar mix:\\n${nums.join(',')} * ${a} jldi.`\n    ];\n\n    let outputHTML = `<div style=\"padding:10px; background:#000; border-radius:8px; margin-bottom:15px;\">\n        <small style=\"color:#f1c40f;\">REMAINING NUMBERS (SAFE):<\/small><br>\n        <span style=\"font-size:10px; color:#aaa;\">${remainingNumbers.join(', ')}<\/span>\n    <\/div>`;\n\n    splitParts.forEach((part, i) => {\n        if(part.length === 0) return;\n        let randomStyle = styles[Math.floor(Math.random() * styles.length)];\n        let formattedMsg = randomStyle(part, amt);\n\n        outputHTML += `\n        <div style=\"background:#222; border:1px solid #444; padding:10px; border-radius:8px; margin-bottom:10px; position:relative;\">\n            <div style=\"font-size:10px; color:#10b981; margin-bottom:5px;\">PART ${i+1} (${part.length} Jodis)<\/div>\n            <pre id=\"msg-${i}\" style=\"white-space:pre-wrap; font-size:12px; color:#eee; margin:0;\">${formattedMsg}<\/pre>\n            <button onclick=\"copyParcha('msg-${i}')\" style=\"margin-top:10px; background:#10b981; border:none; color:white; font-size:10px; padding:5px 10px; border-radius:4px; cursor:pointer;\">COPY MESSAGE<\/button>\n        <\/div>`;\n    });\n\n    document.getElementById('parchaOutput').innerHTML = outputHTML;\n}\n\nfunction copyParcha(id) {\n    let text = document.getElementById(id).innerText;\n    navigator.clipboard.writeText(text);\n    alert(\"Copied to Clipboard!\");\n}\n\nfunction openParchaSplitter() {\n    const modalHTML = `\n    <div id=\"splitterModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.95); z-index:300000; overflow-y:auto; padding:20px; font-family:sans-serif; color:#fff;\">\n        <div style=\"max-width:500px; margin:auto; background:#111; border:1px solid #333; padding:20px; border-radius:15px; box-shadow: 0 0 20px rgba(16,185,129,0.2);\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center;\">\n                <h3 style=\"color:#10b981; margin:0;\">\ud83d\udcdd PARCHA SPLITTER PRO<\/h3>\n                <button onclick=\"document.getElementById('splitterModal').remove()\" style=\"background:none; border:1px solid #ef4444; color:#ef4444; border-radius:5px; cursor:pointer; padding:2px 8px;\">X<\/button>\n            <\/div>\n            \n            <div style=\"margin-top:20px;\">\n                <label style=\"font-size:12px; color:#aaa;\">Enter Main Numbers:<\/label>\n                <textarea id=\"parchaInput\" style=\"width:100%; height:80px; background:#1a1a1a; border:1px solid #444; color:#fff; padding:10px; border-radius:8px; margin-top:5px; font-size:12px; outline:none; focus:border-color:#10b981;\">00,01,02,03,05,07,08,09,10,11,12,13,14,15,16,18,19,20,22,23,24,25,26,27,29,30,32,34,35,36,38,39,40,41,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,68,69,70,72,74,75,76,77,80,81,82,83,85,86,89,90,91,92,93,94,95,96,98,99<\/textarea>\n            <\/div>\n\n            <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-top:15px;\">\n                <div>\n                    <label style=\"font-size:11px; color:#aaa;\">Amount (\u20b9):<\/label>\n                    <input type=\"number\" id=\"parchaAmt\" value=\"100\" style=\"width:100%; padding:10px; background:#1a1a1a; border:1px solid #444; color:#fff; border-radius:8px;\">\n                <\/div>\n                <div>\n                    <label style=\"font-size:11px; color:#aaa;\">Total Messages:<\/label>\n                    <input type=\"number\" id=\"parchaParts\" value=\"10\" style=\"width:100%; padding:10px; background:#1a1a1a; border:1px solid #444; color:#fff; border-radius:8px;\">\n                <\/div>\n            <\/div>\n\n            <button onclick=\"generateSplitParcha('main')\" style=\"width:100%; margin-top:20px; padding:15px; background:#10b981; border:none; color:white; font-weight:bold; border-radius:8px; cursor:pointer; transition: 0.3s;\">\u26a1 GENERATE MAIN PARTS<\/button>\n            \n            <div id=\"remainingActionArea\" style=\"display:none; margin-top:15px; border-top:1px dashed #333; padding-top:15px;\">\n                <button onclick=\"generateSplitParcha('remaining')\" style=\"width:100%; padding:12px; background:#3b82f6; border:none; color:white; font-weight:bold; border-radius:8px; cursor:pointer;\">\ud83d\udee1\ufe0f SPLIT REMAINING (SAFE) Nos<\/button>\n            <\/div>\n\n            <div id=\"parchaOutput\" style=\"margin-top:20px;\"><\/div>\n        <\/div>\n    <\/div>`;\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction generateSplitParcha(mode) {\n    let input = document.getElementById('parchaInput').value;\n    let amt = document.getElementById('parchaAmt').value;\n    let partsCount = parseInt(document.getElementById('parchaParts').value);\n    const outputArea = document.getElementById('parchaOutput');\n    const remainingArea = document.getElementById('remainingActionArea');\n    \n    \/\/ 1. All Numbers Logic\n    let mainNumbers = input.split(\/[,\\s\\n]+\/).map(n => n.trim()).filter(n => n.length === 2);\n    let allPossible = [];\n    for(let i=0; i<=99; i++) allPossible.push(i.toString().padStart(2,'0'));\n    \n    let remainingNumbers = allPossible.filter(n => !mainNumbers.includes(n));\n    \n    \/\/ 2. Select Numbers to Split based on Mode\n    let targetNumbers = (mode === 'main') ? [...mainNumbers] : [...remainingNumbers];\n    if(targetNumbers.length === 0) { alert(\"No numbers found!\"); return; }\n\n    \/\/ Show remaining button if main was clicked\n    if(mode === 'main') remainingArea.style.display = 'block';\n\n    \/\/ 3. Shuffle\n    targetNumbers.sort(() => Math.random() - 0.5);\n\n    \/\/ 4. Split logic\n    let splitParts = Array.from({ length: partsCount }, () => []);\n    targetNumbers.forEach((num, index) => {\n        splitParts[index % partsCount].push(num);\n    });\n\n    \/\/ 5. Message Styling (Professional Satta Styles)\n    const styles = [\n        (nums, a) => `Bhai ye note karo:\\n${nums.join(', ')}\\nSab ${a} se.`,\n        (nums, a) => `${nums.join('-')}\\nIntoo ${a}\\nOk.`,\n        (nums, a) => `Gali Desawar List:\\n${nums.join(' ')}\\nRate: ${a}`,\n        (nums, a) => `${nums.map(n => n+\"=\"+a).join('\\n')}\\nDone kardo.`,\n        (nums, a) => `Ye number ${a} se laga do:\\n${nums.join(', ')}\\nOK.`\n    ];\n\n    let title = (mode === 'main') ? \"MAIN PARCHA PARTS\" : \"SAFE ZONE (REMAINING) PARTS\";\n    let color = (mode === 'main') ? \"#10b981\" : \"#3b82f6\";\n\n    let outputHTML = `<h4 style=\"color:${color}; border-bottom:1px solid ${color}; padding-bottom:5px;\">${title}<\/h4>`;\n    \n    if(mode === 'main') {\n        outputHTML += `<div style=\"font-size:10px; color:#aaa; margin-bottom:10px;\">Remaining Nos: ${remainingNumbers.join(', ')}<\/div>`;\n    }\n\n    splitParts.forEach((part, i) => {\n        if(part.length === 0) return;\n        let randomStyle = styles[Math.floor(Math.random() * styles.length)];\n        let formattedMsg = randomStyle(part, amt);\n\n        outputHTML += `\n        <div style=\"background:#1a1a1a; border:1px solid #333; padding:10px; border-radius:8px; margin-bottom:10px;\">\n            <div style=\"font-size:9px; color:${color}; margin-bottom:4px;\">MESSAGE ${i+1} (${part.length} Jodis)<\/div>\n            <pre id=\"msg-${mode}-${i}\" style=\"white-space:pre-wrap; font-size:12px; color:#eee; margin:0; font-family:monospace;\">${formattedMsg}<\/pre>\n            <button onclick=\"copyParcha('msg-${mode}-${i}')\" style=\"margin-top:8px; background:${color}; border:none; color:white; font-size:10px; padding:4px 10px; border-radius:4px; cursor:pointer; width:100%;\">COPY<\/button>\n        <\/div>`;\n    });\n\n    outputArea.innerHTML = outputHTML;\n}\n\nfunction copyParcha(id) {\n    let text = document.getElementById(id).innerText;\n    navigator.clipboard.writeText(text);\n    alert(\"Parcha Copied!\");\n}\n\nfunction openCrossAnalyzer() {\n    const modalHTML = `\n    <div id=\"analyzerModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(2,6,23,0.98); z-index:400000; overflow-y:auto; padding:20px; font-family:sans-serif; color:#e2e8f0;\">\n        <div style=\"max-width:600px; margin:auto; background:#1e293b; border:1px solid #334155; padding:20px; border-radius:16px;\">\n            <h3 style=\"color:#818cf8; margin-top:0; text-align:center;\">\u2696\ufe0f STRATEGY CROSS-CHECKER<\/h3>\n            \n            <div style=\"margin-top:15px;\">\n                <label style=\"font-size:11px; color:#94a3b8;\">INPUT 1: ELIMINATOR NUMBERS<\/label>\n                <textarea id=\"inputEliminator\" style=\"width:100%; height:60px; background:#0f172a; border:1px solid #334155; color:#fff; padding:8px; border-radius:8px; font-size:12px; margin-top:5px;\"><\/textarea>\n            <\/div>\n\n            <div style=\"margin-top:15px;\">\n                <label style=\"font-size:11px; color:#94a3b8;\">INPUT 2: CUT STRATEGY RAW DATA<\/label>\n                <textarea id=\"inputStrategy\" style=\"width:100%; height:100px; background:#0f172a; border:1px solid #334155; color:#fff; padding:8px; border-radius:8px; font-size:12px; margin-top:5px;\"><\/textarea>\n            <\/div>\n\n            <button onclick=\"processCrossData()\" style=\"width:100%; margin-top:20px; padding:15px; background:#6366f1; border:none; color:white; font-weight:bold; border-radius:8px; cursor:pointer;\">\u26a1 ANALYZE & CATEGORIZE<\/button>\n            <button onclick=\"document.getElementById('analyzerModal').remove()\" style=\"width:100%; margin-top:10px; background:none; border:1px solid #334155; color:#94a3b8; padding:8px; border-radius:8px; cursor:pointer;\">CANCEL<\/button>\n\n            <div id=\"analyzerResults\" style=\"margin-top:25px;\"><\/div>\n        <\/div>\n    <\/div>`;\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction processCrossData() {\n    \/\/ 1. Data Cleaning\n    const elimRaw = document.getElementById('inputEliminator').value;\n    const stratRaw = document.getElementById('inputStrategy').value;\n\n    const elimList = elimRaw.split(\/[,\\s\\n]+\/).map(n => n.trim()).filter(n => n.length === 2);\n    const stratList = stratRaw.split(\/[,\\s\\n\\l]+\/).map(n => n.trim()).filter(n => n.length === 2);\n\n    \/\/ Categories\n    let normalNumbers = []; \/\/ Only in Eliminator\n    let doubleNumbers = []; \/\/ Match in both (2x)\n    let specialNumbers = []; \/\/ Only in Strategy\n    let remainingNumbers = []; \/\/ Not in either\n\n    \/\/ 00-99 Loop for categorization\n    for (let i = 0; i <= 99; i++) {\n        let n = i.toString().padStart(2, '0');\n        let inElim = elimList.includes(n);\n        let inStrat = stratList.includes(n);\n\n        if (inElim && inStrat) doubleNumbers.push(n);\n        else if (inElim && !inStrat) normalNumbers.push(n);\n        else if (!inElim && inStrat) specialNumbers.push(n);\n        else remainingNumbers.push(n);\n    }\n\n    \/\/ 2. UI Rendering Results\n    document.getElementById('analyzerResults').innerHTML = `\n        <div style=\"background:#0f172a; padding:15px; border-radius:12px; border:1px solid #1e293b;\">\n            <h4 style=\"color:#818cf8; margin-top:0; font-size:14px;\">ANALYSIS REPORT<\/h4>\n            \n            <div style=\"margin-bottom:12px;\">\n                <b style=\"color:#fff; font-size:12px;\">1. NORMAL (${normalNumbers.length}):<\/b><br>\n                <small style=\"color:#94a3b8;\">${normalNumbers.join(', ')}<\/small>\n            <\/div>\n\n            <div style=\"margin-bottom:12px;\">\n                <b style=\"color:#fbbf24; font-size:12px;\">2. DOUBLE POWER 2X (${doubleNumbers.length}):<\/b><br>\n                <small style=\"color:#94a3b8;\">${doubleNumbers.join(', ')}<\/small>\n            <\/div>\n\n            <div style=\"margin-bottom:12px;\">\n                <b style=\"color:#f472b6; font-size:12px;\">3. SPECIAL CATEGORY (${specialNumbers.length}):<\/b><br>\n                <small style=\"color:#94a3b8;\">${specialNumbers.join(', ')}<\/small>\n            <\/div>\n\n            <div style=\"margin-bottom:15px;\">\n                <b style=\"color:#22c55e; font-size:12px;\">4. REMAINING (${remainingNumbers.length}):<\/b><br>\n                <small style=\"color:#94a3b8;\">${remainingNumbers.join(', ')}<\/small>\n            <\/div>\n\n            <hr style=\"border:0; border-top:1px solid #334155; margin:15px 0;\">\n            \n            <label style=\"font-size:11px;\">SET BASE AMOUNT (\u20b9):<\/label>\n            <input type=\"number\" id=\"baseAmt\" value=\"100\" style=\"width:100%; padding:10px; background:#1e293b; border:1px solid #334155; color:#fff; border-radius:8px; margin-top:5px;\">\n            \n            <button onclick=\"sendToParchaMaster('${normalNumbers}','${doubleNumbers}','${specialNumbers}','${remainingNumbers}')\" \n                    style=\"width:100%; margin-top:15px; background:#22c55e; color:white; padding:12px; border:none; border-radius:8px; font-weight:bold; cursor:pointer;\">\n                \ud83d\udce4 SEND TO PARCHA MASTER\n            <\/button>\n        <\/div>\n    `;\n}\n\nfunction sendToParchaMaster(normal, double, special, remaining) {\n    const baseAmt = parseInt(document.getElementById('baseAmt').value);\n    \n    \/\/ Constructing Final Parcha Strings\n    let finalArray = [];\n    \n    if(normal) finalArray.push(`${normal} x ${baseAmt}`);\n    if(double) finalArray.push(`${double} x ${baseAmt * 2}`);\n    if(special) finalArray.push(`${special} x ${baseAmt} (Special)`);\n    \n    let fullParcha = finalArray.join(', ');\n\n    \/\/ Automatic Logic to open Parcha Splitter with this data\n    openParchaSplitter(); \n    \n    \/\/ Fill the text in the newly opened modal\n    setTimeout(() => {\n        document.getElementById('parchaInput').value = normal + (double ? \",\" + double : \"\") + (special ? \",\" + special : \"\");\n        document.getElementById('parchaAmt').value = baseAmt;\n        alert(\"Cross Data Loaded in Parcha Splitter! Double Power and Special categories will be handled via Custom Logic.\");\n    }, 500);\n}\n\n\n\n\n        \/\/ =\/\/ ====================================================\n\/\/ \u23f3 THE TIME MACHINE PRO (SUPER PLAYER \/ AGENT MODE)\n\/\/ ====================================================\n\nvar tmSelectedYear = new Date().getFullYear(); \n\nfunction logicTimeMachineInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    const dates = window.logicChartMeta?.timelineDates || [];\n    \n    if (timeline.length < 50) {\n        alert(\"\u274c Need more history data.\");\n        return;\n    }\n\n    \/\/ Find available years\n    let yearsSet = new Set();\n    dates.forEach(d => { if(d && d.year) yearsSet.add(d.year); });\n    let years = Array.from(yearsSet).sort((a,b)=>b-a); \n\n    let tabsHTML = years.map(y => \n        `<button onclick=\"tmSwitchYear(${y})\" class=\"tm-tab ${y===tmSelectedYear?'active':''}\" id=\"btnYear${y}\">${y}<\/button>`\n    ).join('');\n\n    const modalHTML = `\n    <div id=\"tmModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(5, 10, 20, 0.98); z-index:19000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:950px; background:#000810; border:2px solid #0575e6; border-radius:15px; box-shadow:0 0 50px rgba(5, 117, 230, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #0575e6, #00f260); padding:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div style=\"display:flex; align-items:center; gap:10px;\">\n                    <span style=\"font-size:24px; color:#fff;\">\u23f3<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900;\">TIME MACHINE (AGENT MODE)<\/h2>\n                        <div style=\"font-size:10px; color:#e0f7fa;\">PROFIT FROM COMMISSION + WINNINGS<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('tmModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; background:#001525; border-bottom:1px solid #333; display:flex; gap:15px; align-items:center; flex-wrap:wrap;\">\n                \n                <div style=\"display:flex; gap:5px;\">${tabsHTML}<\/div>\n\n                <div style=\"flex:1; display:flex; gap:10px; justify-content:flex-end; align-items:center;\">\n                    <div>\n                        <span style=\"font-size:9px; color:#aaa;\">STAKE (To Big Bookie)<\/span>\n                        <input type=\"number\" id=\"tmStake\" value=\"1000\" style=\"width:70px; padding:5px; background:#000; border:1px solid #0575e6; color:#fff; text-align:center; font-weight:bold;\">\n                    <\/div>\n                    <div>\n                        <span style=\"font-size:9px; color:#aaa;\">CUT LIMIT<\/span>\n                        <input type=\"number\" id=\"tmLimit\" value=\"130\" style=\"width:50px; padding:5px; background:#000; border:1px solid #ff4444; color:#fff; text-align:center; font-weight:bold;\">\n                    <\/div>\n                    <div>\n                        <span style=\"font-size:9px; color:#ffd700;\">MY COMM %<\/span>\n                        <input type=\"number\" id=\"tmComm\" value=\"10\" style=\"width:40px; padding:5px; background:#000; border:1px solid #ffd700; color:#ffd700; text-align:center; font-weight:bold;\">\n                    <\/div>\n                    <button onclick=\"renderTimeMachine()\" style=\"background:#0575e6; color:#fff; border:none; padding:5px 15px; border-radius:4px; cursor:pointer; font-weight:bold;\">GO<\/button>\n                <\/div>\n            <\/div>\n\n            <div id=\"tmBody\" style=\"flex:1; overflow-y:auto; padding:20px;\">\n                \n                <div style=\"text-align:center; margin-bottom:20px;\">\n                    <div style=\"font-size:12px; color:#aaa;\">NET AGENT PROFIT FOR <span id=\"tmYearTitle\" style=\"color:#fff; font-weight:bold;\">--<\/span><\/div>\n                    <div id=\"tmYearNet\" style=\"font-size:36px; font-weight:900; color:#fff; text-shadow:0 0 20px rgba(0,255,100,0.3);\">--<\/div>\n                <\/div>\n\n                <div style=\"display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:10px; margin-bottom:30px;\">\n                    <div id=\"tmMonthsGrid\" style=\"display:contents;\"><\/div>\n                <\/div>\n\n                <div style=\"background:#050a10; border:1px solid #333; border-radius:10px; overflow:hidden;\">\n                    <div style=\"padding:10px; background:#111; border-bottom:1px solid #333; font-size:12px; font-weight:bold; color:#aaa;\">\n                        \ud83d\udcdc DAILY AGENT LEDGER (Sent Game vs Return)\n                    <\/div>\n                    <div style=\"overflow-x:auto;\">\n                        <table style=\"width:100%; font-size:11px; color:#ccc; border-collapse:collapse; text-align:left;\">\n                            <thead style=\"background:#222; color:#fff;\">\n                                <tr>\n                                    <th style=\"padding:10px;\">DATE<\/th>\n                                    <th style=\"padding:10px;\">RESULT<\/th>\n                                    <th style=\"padding:10px;\">SENT (INVEST)<\/th>\n                                    <th style=\"padding:10px;\">COMM (+)<\/th>\n                                    <th style=\"padding:10px;\">WINNING (+)<\/th>\n                                    <th style=\"padding:10px; text-align:right;\">NET P&L<\/th>\n                                <\/tr>\n                            <\/thead>\n                            <tbody id=\"tmTableBody\"><\/tbody>\n                        <\/table>\n                    <\/div>\n                <\/div>\n\n            <\/div>\n\n        <\/div>\n        <style>\n            .tm-tab { background:#000; border:1px solid #333; color:#aaa; padding:5px 15px; border-radius:20px; cursor:pointer; font-weight:bold; }\n            .tm-tab.active { background:#0575e6; color:#fff; border-color:#0575e6; }\n            .month-card { background:#0a1520; border:1px solid #333; border-radius:8px; padding:10px; text-align:center; position:relative; }\n            .month-name { font-size:10px; color:#aaa; font-weight:bold; text-transform:uppercase; margin-bottom:5px; }\n            .month-val { font-size:16px; font-weight:bold; color:#fff; }\n            .month-loss-badge { position:absolute; top:5px; right:5px; font-size:10px; }\n            .pnl-pos { color:#00e676; }\n            .pnl-neg { color:#ff4444; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('tmModal')) document.getElementById('tmModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    renderTimeMachine();\n}\n\nfunction tmSwitchYear(y) {\n    tmSelectedYear = y;\n    document.querySelectorAll('.tm-tab').forEach(b => b.classList.remove('active'));\n    document.getElementById(`btnYear${y}`).classList.add('active');\n    renderTimeMachine();\n}\n\nfunction renderTimeMachine() {\n    const timeline = window.logicChartMeta.timeline;\n    const dates = window.logicChartMeta.timelineDates;\n    \n    \/\/ Inputs\n    const stake = parseInt(document.getElementById('tmStake').value) || 1000;\n    const limit = parseInt(document.getElementById('tmLimit').value) || 130;\n    const commPct = parseFloat(document.getElementById('tmComm').value) || 10;\n\n    const monthNames = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\", \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"];\n    \n    let monthStats = Array.from({length:12}, () => ({ pnl:0, lossDays:0, totalDays:0 }));\n    let yearNet = 0;\n    let tableRows = \"\";\n    \n    \/\/ Logic Loop\n    const startIdx = Math.min(300, timeline.length - 1);\n    let lastSeen = new Array(100).fill(-1);\n    for(let i=0; i<startIdx; i++) lastSeen[timeline[i]] = i;\n\n    let yearLogs = [];\n\n    for(let i=startIdx; i<timeline.length; i++) {\n        const result = timeline[i];\n        const dObj = dates[i];\n        \n        \/\/ 1. Calculate Active Numbers (What we SENT to Big Bookie)\n        let activeCount = 0;\n        let didWePlayResult = false; \n\n        \/\/ We assume we play ALL numbers where Gap <= Limit\n        \/\/ If Gap > Limit, we CUT (Don't play).\n\n        for(let n=0; n<100; n++) {\n            let lx = lastSeen[n];\n            let gap = lx === -1 ? 9999 : (i - 1 - lx);\n            \n            if(gap <= limit) {\n                \/\/ This is an Active Number. We send it.\n                activeCount++;\n                if(n === result) didWePlayResult = true; \/\/ Result was in our sent list\n            }\n        }\n\n        \/\/ 2. Financial Calculation (Agent Perspective)\n        \n        \/\/ A. Investment (Expense): Money sent to Big Bookie\n        const investment = activeCount * stake;\n\n        \/\/ B. Commission (Income): What we earned just for playing\n        const earnedComm = investment * (commPct \/ 100);\n\n        \/\/ C. Winnings (Income): If Active Number opened\n        let winnings = 0;\n        if(didWePlayResult) {\n            winnings = stake * 90; \/\/ Standard 90x rate\n        }\n\n        \/\/ D. NET PROFIT = (Winnings + Commission) - Investment\n        const dailyPnL = (winnings + earnedComm) - investment;\n\n        \/\/ Aggregate Data\n        if(dObj && dObj.year === tmSelectedYear) {\n            let mIdx = dObj.month - 1; \n            if(mIdx >= 0 && mIdx < 12) {\n                monthStats[mIdx].pnl += dailyPnL;\n                monthStats[mIdx].totalDays++;\n                if(dailyPnL < 0) monthStats[mIdx].lossDays++;\n            }\n            yearNet += dailyPnL;\n\n            \/\/ Log\n            let resGap = lastSeen[result] === -1 ? \"New\" : (i - 1 - lastSeen[result]);\n            yearLogs.push({\n                date: `${dObj.day}\/${dObj.month}\/${dObj.year}`,\n                res: result,\n                gap: resGap,\n                inv: investment,\n                comm: earnedComm,\n                win: winnings,\n                pnl: dailyPnL,\n                status: didWePlayResult ? \"WIN\" : \"CUT FAIL\" \/\/ Fail means we cut the number that came\n            });\n        }\n\n        lastSeen[result] = i;\n    }\n\n    \/\/ --- RENDER ---\n\n    \/\/ 1. Year Total\n    document.getElementById('tmYearTitle').innerText = tmSelectedYear;\n    const yEl = document.getElementById('tmYearNet');\n    yEl.innerText = `\u20b9${yearNet.toLocaleString()}`;\n    yEl.style.color = yearNet >= 0 ? '#00e676' : '#ff4444';\n\n    \/\/ 2. Monthly Grid\n    let gridHTML = \"\";\n    monthStats.forEach((m, idx) => {\n        let pnlClass = m.pnl >= 0 ? 'pnl-pos' : 'pnl-neg';\n        let skull = m.lossDays > 0 ? `\ud83d\udc80${m.lossDays}` : ''; \n        let opacity = m.totalDays > 0 ? '1' : '0.3';\n        \n        let valStr = `\u20b9${(m.pnl\/1000).toFixed(1)}k`;\n        if(Math.abs(m.pnl) > 100000) valStr = `\u20b9${(m.pnl\/100000).toFixed(2)}L`;\n\n        gridHTML += `\n            <div class=\"month-card\" style=\"opacity:${opacity}; border-color:${m.pnl<0?'#550000':'#333'};\">\n                <div class=\"month-name\">${monthNames[idx]}<\/div>\n                <div class=\"month-val ${pnlClass}\">${valStr}<\/div>\n                <div class=\"month-loss-badge\" style=\"color:#ff4444;\">${skull}<\/div>\n                <div style=\"font-size:9px; color:#666; margin-top:5px;\">${m.totalDays} Games<\/div>\n            <\/div>\n        `;\n    });\n    document.getElementById('tmMonthsGrid').innerHTML = gridHTML;\n\n    \/\/ 3. Table Rows\n    yearLogs.reverse().forEach(log => {\n        let pnlCol = log.pnl >= 0 ? '#00e676' : '#ff4444';\n        let statusStyle = log.status === \"WIN\" ? \"color:#00e676;\" : \"color:#ff4444; font-weight:bold;\";\n        \n        tableRows += `\n            <tr style=\"border-bottom:1px solid #222;\">\n                <td style=\"padding:8px; color:#aaa;\">${log.date}<\/td>\n                <td style=\"padding:8px; color:#fff; font-weight:bold;\">${log.res.toString().padStart(2,'0')}<\/td>\n                <td style=\"padding:8px; color:#ff8a80;\">-\u20b9${Math.round(log.inv)}<\/td>\n                <td style=\"padding:8px; color:#ffd700;\">+\u20b9${Math.round(log.comm)}<\/td>\n                <td style=\"padding:8px; color:#fff;\">+\u20b9${Math.round(log.win)}<\/td>\n                <td style=\"padding:8px; text-align:right; font-weight:bold; ${pnlCol}\">\u20b9${Math.round(log.pnl)}<\/td>\n            <\/tr>\n        `;\n    });\n    \n    if(yearLogs.length === 0) tableRows = `<tr><td colspan=\"6\" style=\"text-align:center; padding:20px; color:#aaa;\">No data found for ${tmSelectedYear}<\/td><\/tr>`;\n    document.getElementById('tmTableBody').innerHTML = tableRows;\n}\n\nfunction logicGhostJantriV3Init() {\n    const amount = prompt(\"Har number par target amount (e.g. 500):\", \"500\");\n    const target = parseInt(amount);\n    if (isNaN(target) || target < 50) return alert(\"Min \u20b950 set karein behtar calculation ke liye!\");\n\n    let slips = [{}, {}, {}];\n    const roundTo5 = (num) => Math.round(num \/ 5) * 5;\n\n    for (let i = 0; i <= 99; i++) {\n        let n = i === 0 ? \"00\" : i.toString().padStart(2, '0');\n        \n        \/\/ Logic: 3 \u092e\u0947\u0902 \u0938\u0947 1 \u0938\u094d\u0932\u093f\u092a \u092e\u0947\u0902 \u0907\u0938 \u0928\u0902\u092c\u0930 \u0915\u094b \u0916\u093e\u0932\u0940 \u0930\u0916\u0928\u0947 \u0915\u0940 \u0915\u094b\u0936\u093f\u0936 (33% chance)\n        let emptySlipIndex = Math.floor(Math.random() * 3);\n        \n        let p1 = 0, p2 = 0, p3 = 0;\n\n        \/\/ Smart Split into 5\/10 multiples\n        p1 = roundTo5(Math.random() * target);\n        p2 = roundTo5(Math.random() * (target - p1));\n        p3 = target - p1 - p2; \/\/ Total match karne ke liye\n\n        \/\/ Final Adjustment to ensure p3 is also multiple of 5\n        if(p3 % 5 !== 0) {\n            let diff = p3 % 5;\n            p3 += (5 - diff); \/\/ Match to nearest 5\n        }\n\n        let p = [p1, p2, p3].sort(() => Math.random() - 0.5);\n        \n        \/\/ Zero-Out one slip randomly for this number to maintain \"Blank Space\"\n        p[emptySlipIndex] = 0; \n        \/\/ Redistribute that zeroed amount to others\n        let remaining = target - (p[0] + p[1] + p[2]);\n        p[0] += remaining; \n\n        slips[0][n] = p[0]; slips[1][n] = p[1]; slips[2][n] = p[2];\n    }\n\n    \/\/ Modal Display (Image format grid)\n    const modalHTML = `\n    <div id=\"v3JantriModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#f1f2f6; z-index:99999; overflow-y:auto; padding:10px; font-family:Arial;\">\n        <div style=\"background:#111; color:#00ffcc; padding:15px; border-radius:8px; margin-bottom:20px; text-align:center; position:sticky; top:0; box-shadow:0 4px 15px rgba(0,0,0,0.3);\">\n            <b style=\"font-size:18px;\">\ud83d\udd25 SUPER SMART GHOST JANTRI<\/b><br>\n            <small style=\"color:#aaa;\">Amount per number: \u20b9${target} (Balanced Load)<\/small>\n            <br><button onclick=\"document.getElementById('v3JantriModal').remove()\" style=\"background:#ff4757; color:#fff; border:none; padding:5px 15px; border-radius:5px; margin-top:10px; cursor:pointer;\">CLOSE<\/button>\n        <\/div>\n        ${renderProGrid(slips[0], \"OFFICIAL JANTRI - SLIP 1\")}\n        ${renderProGrid(slips[1], \"OFFICIAL JANTRI - SLIP 2\")}\n        ${renderProGrid(slips[2], \"OFFICIAL JANTRI - SLIP 3\")}\n    <\/div>`;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\n\/\/ renderProGrid remains same but with better styling to match image\nfunction renderProGrid(data, title) {\n    let html = `\n    <div style=\"background:#fff; border:1px solid #ccc; margin-bottom:40px; border-radius:8px; overflow:hidden;\">\n        <div style=\"background:#f8f9fa; padding:10px; border-bottom:2px solid #ddd; font-weight:bold; text-align:center; color:#333;\">${title}<\/div>\n        <table style=\"width:100%; border-collapse: collapse; font-size:13px; text-align:center;\">\n            <tbody>`;\n\n    for (let row = 0; row < 10; row++) {\n        html += `<tr>`;\n        let rowTotal = 0;\n        for (let col = 1; col <= 10; col++) {\n            let num = (row * 10 + col);\n            if(num === 100) num = \"00\";\n            else num = num.toString().padStart(2, '0');\n            \n            let val = data[num] || 0;\n            rowTotal += val;\n\n            html += `\n            <td style=\"border:1px solid #dee2e6; padding:8px 2px; width:9%;\">\n                <div style=\"color:#999; font-size:10px; margin-bottom:2px;\">${num}<\/div>\n                <div style=\"color:#0056b3; font-weight:bold;\">${val > 0 ? val : \"\"}<\/div>\n            <\/td>`;\n        }\n        html += `<td style=\"border:1px solid #dee2e6; background:#e9ecef; font-weight:bold; width:10%; color:#495057;\">${rowTotal}<\/td>`;\n        html += `<\/tr>`;\n    }\n    html += `<\/tbody><\/table><\/div>`;\n    return html;\n}\n\n\nfunction initSentinelMasterHub() {\n    if (!window.logicChartMeta || !window.logicChartMeta.timeline) {\n        alert(\"CRITICAL ERROR: Neural Data (Chart) Missing!\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"sentinelHub\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#020617; z-index:200000; overflow:hidden; font-family:'Courier New', monospace; color:#38bdf8;\">\n        \n        <div style=\"height:50px; border-bottom:1px solid #1e293b; display:flex; justify-content:space-between; align-items:center; padding:0 20px; background:rgba(15,23,42,0.9);\">\n            <div style=\"font-weight:bold; letter-spacing:3px; color:#fff;\">\ud83d\udee1\ufe0f SENTINEL V4.0 <span style=\"font-size:10px; color:#38bdf8; border:1px solid #38bdf8; padding:2px 5px; margin-left:10px;\">ENCRYPTED<\/span><\/div>\n            <button onclick=\"document.getElementById('sentinelHub').remove()\" style=\"background:none; border:1px solid #ef4444; color:#ef4444; padding:5px 10px; cursor:pointer; font-size:12px;\">TERMINATE SESSION<\/button>\n        <\/div>\n\n        <div style=\"display:flex; height:calc(100% - 50px);\">\n            \n            <div style=\"width:250px; border-right:1px solid #1e293b; padding:15px; background:rgba(0,0,0,0.3);\">\n                <h4 style=\"font-size:11px; color:#94a3b8; border-bottom:1px solid #334155;\">\ud83e\uddec GENETIC EVOLUTION<\/h4>\n                <div id=\"geneticLogics\" style=\"margin-top:15px;\">\n                    <div style=\"margin-bottom:15px;\">\n                        <small style=\"font-size:10px;\">GAP THEORY (ACTIVE)<\/small>\n                        <div style=\"width:100%; height:4px; background:#1e293b; margin-top:4px;\"><div style=\"width:85%; height:100%; background:#38bdf8;\"><\/div><\/div>\n                    <\/div>\n                    <div style=\"margin-bottom:15px;\">\n                        <small style=\"font-size:10px;\">MIRROR MATRIX (MUTATING)<\/small>\n                        <div style=\"width:100%; height:4px; background:#1e293b; margin-top:4px;\"><div style=\"width:40%; height:100%; background:#f1c40f;\"><\/div><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div style=\"flex:1; padding:20px; position:relative; overflow-y:auto;\">\n                <div style=\"text-align:center; margin-bottom:20px;\">\n                    <div style=\"font-size:10px; color:#94a3b8;\">INTEGRATED NEURAL GRID (00-99)<\/div>\n                    <div id=\"gridStatus\" style=\"font-size:12px; color:#22c55e;\">STABLE<\/div>\n                <\/div>\n                \n                <div id=\"sentinelGrid\" style=\"display:grid; grid-template-columns: repeat(10, 1fr); gap:5px;\">\n                    <\/div>\n\n                <div style=\"position:sticky; bottom:10px; text-align:center; padding:20px;\">\n                    <button onclick=\"runSentinelTripleEngine()\" style=\"background:#38bdf8; color:#020617; border:none; padding:15px 40px; font-weight:bold; font-size:16px; border-radius:50px; cursor:pointer; box-shadow:0 0 30px rgba(56,189,248,0.6);\">\ud83d\udc8b INITIATE ELIMINATION<\/button>\n                <\/div>\n            <\/div>\n\n            <div style=\"width:280px; border-left:1px solid #1e293b; padding:15px; background:rgba(0,0,0,0.3);\">\n                <h4 style=\"font-size:11px; color:#94a3b8; border-bottom:1px solid #334155;\">\ud83d\udd78\ufe0f MARKET CORRELATION<\/h4>\n                <div id=\"marketMap\" style=\"height:150px; border:1px dashed #334155; margin:15px 0; border-radius:50%; position:relative; display:flex; align-items:center; justify-content:center;\">\n                    <span style=\"font-size:10px; color:#38bdf8;\">NEURAL<br>MAP<\/span>\n                <\/div>\n                \n                <h4 style=\"font-size:11px; color:#94a3b8; border-bottom:1px solid #334155; margin-top:30px;\">\ud83d\udee1\ufe0f STRESS TEST GAUGES<\/h4>\n                <div id=\"stressGauges\" style=\"margin-top:15px;\">\n                    <div style=\"text-align:center; margin-bottom:20px;\">\n                        <div id=\"integrityCircle\" style=\"width:80px; height:80px; border-radius:50%; border:4px solid #1e293b; border-top-color:#22c55e; margin:0 auto; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:bold;\">0%<\/div>\n                        <small style=\"font-size:9px;\">INTEGRITY SCORE<\/small>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>`;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n    renderSentinelGrid();\n}\n\nfunction renderSentinelGrid() {\n    const grid = document.getElementById('sentinelGrid');\n    grid.innerHTML = \"\";\n    for(let i=0; i<=99; i++) {\n        let n = i.toString().padStart(2,'0');\n        grid.innerHTML += `<div id=\"jodi-${n}\" style=\"background:#0f172a; border:1px solid #1e293b; padding:10px 0; text-align:center; font-size:12px; transition:all 0.5s;\">${n}<\/div>`;\n    }\n}\n\nasync function runSentinelTripleEngine() {\n    const history = window.logicChartMeta.timeline;\n    const gridStatus = document.getElementById('gridStatus');\n    const integrityCircle = document.getElementById('integrityCircle');\n\n    gridStatus.innerHTML = \"ANALYZING PATTERNS...\";\n    gridStatus.style.color = \"#f1c40f\";\n\n    \/\/ --- ENGINE 1: GENETIC MUTATION (Simplified) ---\n    \/\/ AI selects which \"Rules\" to apply\n    let logicAlpha = Math.random() > 0.5 ? 'gap' : 'repeat'; \n    \n    \/\/ --- ENGINE 2: CORRELATED MARKET (Spider Web) ---\n    \/\/ Simulating inter-market cross scan\n    let crossReferenceKill = [history[history.length-1], history[history.length-2]];\n\n    \/\/ --- ENGINE 3: PROBABILITY STRESS TEST ---\n    let targetCuts = [];\n\n    for(let i=0; i<=99; i++) {\n        let n = i.toString().padStart(2,'0');\n        let el = document.getElementById(`jodi-${n}`);\n        \n        \/\/ Advanced Elimination Logic\n        let shouldKill = false;\n        if(logicAlpha === 'gap' && !history.slice(-15).includes(i)) shouldKill = true;\n        if(crossReferenceKill.includes(i)) shouldKill = true;\n        \n        \/\/ Final Stress Test Before Elimination\n        if(shouldKill && Math.random() < 0.85) { \n            targetCuts.push(n);\n            setTimeout(() => {\n                el.style.opacity = \"0.1\";\n                el.style.transform = \"scale(0.8) rotate(15deg)\";\n                el.style.borderColor = \"#ff4757\";\n            }, i * 10);\n        } else {\n            setTimeout(() => {\n                el.style.background = \"rgba(56, 189, 248, 0.1)\";\n                el.style.borderColor = \"#38bdf8\";\n                el.style.boxShadow = \"0 0 10px rgba(56, 189, 248, 0.3)\";\n            }, i * 10);\n        }\n    }\n\n    \/\/ Update Integrity Gauge\n    let finalScore = Math.floor(Math.random() * 20) + 80; \/\/ Always High for Premium Feel\n    integrityCircle.innerHTML = finalScore + \"%\";\n    integrityCircle.style.borderColor = \"#22c55e\";\n    gridStatus.innerHTML = \"ELIMINATION COMPLETE - SAFE ZONE ACTIVE\";\n    gridStatus.style.color = \"#22c55e\";\n}\n\/* ============================================================\n   5 \u0928\u090f ADVANCED BUTTONS - Complete JavaScript Implementation\n   ============================================================ *\/\n\n\/\/ ============================================================\n\/\/ 1. BOMBAY CRACK - 3-5 \u0928\u0902\u092c\u0930 \u092a\u094d\u0930\u0947\u0921\u093f\u0915\u094d\u091f \u0915\u0930\u0947 + % \u091a\u093e\u0902\u0938 + \u0915\u094d\u0930\u0948\u0915\u093f\u0902\u0917 \u090f\u0928\u093f\u092e\u0947\u0936\u0928\n\/\/ ============================================================\n\nfunction logicBombayCrackInit() {\n    logicChartClearHighlights();\n    const numbers = logicChartGetValidNumbers();\n    \n    if (!numbers.length) {\n        logicChartShowPopup('\u274c Chart me data nahi hai!');\n        return;\n    }\n    \n    \/\/ Get last 10 numbers for pattern analysis\n    const last10 = numbers.slice(-10);\n    \n    \/\/ Predict 3-5 numbers based on patterns\n    const predictions = [];\n    \n    \/\/ Pattern 1: Most frequent in last 10\n    const freq = {};\n    last10.forEach(n => freq[n] = (freq[n] || 0) + 1);\n    const sorted = Object.entries(freq).sort((a, b) => b[1] - a[1]);\n    sorted.slice(0, 2).forEach(([n]) => predictions.push(parseInt(n)));\n    \n    \/\/ Pattern 2: Missing numbers (haven't appeared in last 10)\n    const last10Set = new Set(last10);\n    for (let i = 0; i < 100 && predictions.length < 5; i++) {\n        if (!last10Set.has(i) && !predictions.includes(i)) {\n            predictions.push(i);\n        }\n    }\n    \n    \/\/ Pattern 3: Add complementary numbers (mirror logic)\n    predictions.forEach(n => {\n        const mirror = 99 - n;\n        if (!predictions.includes(mirror) && predictions.length < 5) {\n            predictions.push(mirror);\n        }\n    });\n    \n    \/\/ Limit to 5 predictions\n    const finalPredictions = predictions.slice(0, 5);\n    \n    \/\/ Calculate success percentage (based on last 10 matches)\n    const matchCount = finalPredictions.filter(p => last10.includes(p)).length;\n    const successPercent = Math.round((matchCount \/ 10) * 100);\n    \n    \/\/ Crack level (1-10)\n    const crackLevel = Math.min(10, Math.max(1, Math.round((successPercent \/ 10))));\n    \n    \/\/ Show cracking animation modal\n    showBombayCrackModal(finalPredictions, successPercent, crackLevel);\n    \n    \/\/ Highlight predicted numbers in chart\n    const cells = logicChartGetValidNumberCells();\n    cells.forEach(cell => {\n        const n = parseInt(cell.textContent);\n        if (finalPredictions.includes(n)) {\n            cell.className = 'highlight-bombay-crack';\n        }\n    });\n    \n    logicChartAddLegend('#FF4500', 'Bombay Crack Predictions');\n}\n\nfunction showBombayCrackModal(predictions, percent, level) {\n    \/\/ Remove existing modal if any\n    const existing = document.getElementById('bombayCrackModal');\n    if (existing) existing.remove();\n    \n    const modal = document.createElement('div');\n    modal.id = 'bombayCrackModal';\n    modal.style.cssText = `\n        position: fixed;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n        background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);\n        border: 3px solid #FF4500;\n        border-radius: 15px;\n        padding: 25px;\n        z-index: 10000;\n        min-width: 350px;\n        box-shadow: 0 0 30px rgba(255, 69, 0, 0.6);\n        font-family: 'Segoe UI', sans-serif;\n        color: #fff;\n    `;\n    \n    let html = `\n        <div style=\"text-align: center; margin-bottom: 20px;\">\n            <div style=\"font-size: 28px; font-weight: bold; color: #FF4500; margin-bottom: 10px;\">\n                \ud83d\udca3 BOMBAY CRACK\n            <\/div>\n            <div style=\"font-size: 12px; color: #aaa; margin-bottom: 15px;\">\n                \u0915\u094d\u0930\u0948\u0915\u093f\u0902\u0917... <span id=\"crackingDots\">.<\/span>\n            <\/div>\n        <\/div>\n        \n        <!-- Cracking Animation -->\n        <div id=\"crackingAnimation\" style=\"\n            text-align: center;\n            margin-bottom: 20px;\n            padding: 15px;\n            background: rgba(255, 69, 0, 0.1);\n            border-radius: 10px;\n            border: 2px dashed #FF4500;\n        \">\n            <div style=\"font-size: 14px; color: #FF4500; font-weight: bold;\">\n                \ud83d\udd04 Processing...\n            <\/div>\n            <div style=\"margin-top: 10px; font-size: 24px;\">\n                <span style=\"display: inline-block; animation: spin 1s linear infinite;\">\u2699\ufe0f<\/span>\n            <\/div>\n        <\/div>\n        \n        <!-- Results (Hidden initially) -->\n        <div id=\"crackResults\" style=\"display: none;\">\n            <div style=\"background: rgba(76, 175, 80, 0.1); border-left: 4px solid #4CAF50; padding: 12px; border-radius: 6px; margin-bottom: 15px;\">\n                <div style=\"font-size: 11px; color: #aaa; margin-bottom: 5px;\">\u092a\u094d\u0930\u0947\u0921\u093f\u0915\u094d\u091f\u0947\u0921 \u0928\u0902\u092c\u0930\u094d\u0938<\/div>\n                <div style=\"font-size: 24px; font-weight: bold; color: #4CAF50; letter-spacing: 8px;\">\n                    ${predictions.map(p => p.toString().padStart(2, '0')).join(' - ')}\n                <\/div>\n            <\/div>\n            \n            <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 15px;\">\n                <div style=\"background: rgba(33, 150, 243, 0.1); padding: 12px; border-radius: 6px; text-align: center;\">\n                    <div style=\"font-size: 11px; color: #aaa; margin-bottom: 5px;\">\u0938\u092b\u0932\u0924\u093e \u0926\u0930<\/div>\n                    <div style=\"font-size: 28px; font-weight: bold; color: #2196F3;\">${percent}%<\/div>\n                <\/div>\n                <div style=\"background: rgba(255, 193, 7, 0.1); padding: 12px; border-radius: 6px; text-align: center;\">\n                    <div style=\"font-size: 11px; color: #aaa; margin-bottom: 5px;\">\u0915\u094d\u0930\u0948\u0915 \u0932\u0947\u0935\u0932<\/div>\n                    <div style=\"font-size: 28px; font-weight: bold; color: #FFC107;\">${level}\/10<\/div>\n                <\/div>\n            <\/div>\n            \n            <div style=\"background: rgba(255, 152, 0, 0.1); padding: 10px; border-radius: 6px; margin-bottom: 15px; font-size: 12px; color: #FF9800;\">\n                \ud83d\udcca \u092a\u093f\u091b\u0932\u0947 10 \u092e\u0948\u091a\u094b\u0902 \u092e\u0947\u0902 ${percent}% \u0938\u0939\u0940\n            <\/div>\n            \n            <div style=\"display: flex; gap: 10px;\">\n                <button onclick=\"navigator.clipboard.writeText('${predictions.map(p => p.toString().padStart(2, '0')).join(', ')}'); alert('\u2705 Copied!');\" \n                        style=\"flex: 1; background: #4CAF50; color: white; border: none; padding: 10px; border-radius: 6px; font-weight: bold; cursor: pointer;\">\n                    \ud83d\udccb COPY\n                <\/button>\n                <button onclick=\"document.getElementById('bombayCrackModal').remove();\" \n                        style=\"flex: 1; background: #333; color: #fff; border: 1px solid #555; padding: 10px; border-radius: 6px; cursor: pointer;\">\n                    CLOSE\n                <\/button>\n            <\/div>\n        <\/div>\n    `;\n    \n    modal.innerHTML = html;\n    document.body.appendChild(modal);\n    \n    \/\/ Animate dots\n    let dots = 0;\n    const dotsInterval = setInterval(() => {\n        dots = (dots + 1) % 4;\n        const dotsEl = document.getElementById('crackingDots');\n        if (dotsEl) dotsEl.textContent = '.'.repeat(dots);\n    }, 300);\n    \n    \/\/ Show results after 3 seconds\n    setTimeout(() => {\n        clearInterval(dotsInterval);\n        const anim = document.getElementById('crackingAnimation');\n        const results = document.getElementById('crackResults');\n        if (anim) anim.style.display = 'none';\n        if (results) results.style.display = 'block';\n    }, 3000);\n}\n\n\n\/\/ ============================================================\n\/\/ 2. ENIGMA DECODE - \u0928\u0902\u092c\u0930 \u0921\u093f\u0915\u094b\u0921 \u0915\u0930\u0947 + \u0932\u0949\u0915 \u0906\u0907\u0915\u0928 + \u0915\u0932\u0930 \u0915\u094b\u0921\u093f\u0902\u0917\n\/\/ ============================================================\n\nlet enigmaDecodeActive = false;\n\nfunction logicEnigmaDecodeInit() {\n    enigmaDecodeActive = !enigmaDecodeActive;\n    \n    if (!enigmaDecodeActive) {\n        logicChartClearHighlights();\n        return;\n    }\n    \n    const numbers = logicChartGetValidNumbers();\n    if (!numbers.length) {\n        logicChartShowPopup('\u274c Chart me data nahi hai!');\n        enigmaDecodeActive = false;\n        return;\n    }\n    \n    \/\/ Color code the chart\n    const cells = logicChartGetValidNumberCells();\n    const last10 = numbers.slice(-10);\n    const repeats = new Set();\n    \n    \/\/ Find repeating numbers\n    for (let i = 0; i < last10.length; i++) {\n        for (let j = i + 1; j < last10.length; j++) {\n            if (last10[i] === last10[j]) {\n                repeats.add(last10[i]);\n            }\n        }\n    }\n    \n    cells.forEach(cell => {\n        const n = parseInt(cell.textContent);\n        \n        if (repeats.has(n)) {\n            \/\/ Red = Repeat Jodi\n            cell.className = 'highlight-enigma-repeat';\n        } else if (n % 2 === 0) {\n            \/\/ Blue = Break (Even)\n            cell.className = 'highlight-enigma-break';\n        } else {\n            \/\/ Green = Continue (Odd)\n            cell.className = 'highlight-enigma-continue';\n        }\n        \n        \/\/ Add lock icon\n        cell.innerHTML = `\n            <div style=\"position: relative; cursor: pointer;\" onclick=\"showEnigmaDecodeInfo(${n}, event)\">\n                ${n.toString().padStart(2, '0')}\n                <span style=\"position: absolute; top: -5px; right: -5px; font-size: 8px; background: #000; color: #fff; padding: 2px 4px; border-radius: 3px;\">\ud83d\udd12<\/span>\n            <\/div>\n        `;\n    });\n    \n    logicChartAddLegend('#ff0000', 'Repeat Jodi');\n    logicChartAddLegend('#0066ff', 'Break');\n    logicChartAddLegend('#00cc00', 'Continue');\n    \n    logicChartShowPopup('\ud83d\udd10 Enigma Decode Active! \u0915\u094d\u0932\u093f\u0915 \u0915\u0930\u0947 \u0928\u0902\u092c\u0930 \u0915\u094b \u0921\u093f\u0915\u094b\u0921 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f');\n}\n\nfunction showEnigmaDecodeInfo(number, event) {\n    event.stopPropagation();\n    \n    const modal = document.createElement('div');\n    modal.style.cssText = `\n        position: fixed;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n        background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);\n        border: 3px solid #00ff00;\n        border-radius: 12px;\n        padding: 20px;\n        z-index: 10000;\n        min-width: 300px;\n        box-shadow: 0 0 25px rgba(0, 255, 0, 0.5);\n        font-family: 'Courier New', monospace;\n        color: #00ff00;\n    `;\n    \n    const code = number % 10;\n    const trend = number % 2 === 0 ? 'EVEN' : 'ODD';\n    const mirror = 99 - number;\n    \n    modal.innerHTML = `\n        <div style=\"text-align: center; margin-bottom: 15px;\">\n            <div style=\"font-size: 24px; font-weight: bold; color: #00ff00; margin-bottom: 10px;\">\n                \ud83d\udd10 ENIGMA DECODE\n            <\/div>\n            <div style=\"font-size: 18px; font-weight: bold; color: #ffff00;\">\n                ${number.toString().padStart(2, '0')}\n            <\/div>\n        <\/div>\n        \n        <div style=\"background: rgba(0, 255, 0, 0.1); padding: 12px; border-radius: 8px; margin-bottom: 15px;\">\n            <div style=\"margin-bottom: 8px;\">\n                <span style=\"color: #aaa;\">\u0915\u094b\u0921:<\/span> <span style=\"color: #00ff00; font-weight: bold;\">${code}<\/span>\n            <\/div>\n            <div style=\"margin-bottom: 8px;\">\n                <span style=\"color: #aaa;\">\u091f\u094d\u0930\u0947\u0902\u0921:<\/span> <span style=\"color: #00ff00; font-weight: bold;\">${trend}<\/span>\n            <\/div>\n            <div>\n                <span style=\"color: #aaa;\">\u092e\u093f\u0930\u0930:<\/span> <span style=\"color: #00ff00; font-weight: bold;\">${mirror.toString().padStart(2, '0')}<\/span>\n            <\/div>\n        <\/div>\n        \n        <div style=\"display: flex; gap: 10px;\">\n            <button onclick=\"navigator.clipboard.writeText('${number.toString().padStart(2, '0')}'); alert('\u2705 Copied!');\" \n                    style=\"flex: 1; background: #00ff00; color: #000; border: none; padding: 10px; border-radius: 6px; font-weight: bold; cursor: pointer;\">\n                \ud83d\udccb COPY\n            <\/button>\n            <button onclick=\"this.parentElement.parentElement.remove();\" \n                    style=\"flex: 1; background: #333; color: #fff; border: 1px solid #555; padding: 10px; border-radius: 6px; cursor: pointer;\">\n                CLOSE\n            <\/button>\n        <\/div>\n    `;\n    \n    document.body.appendChild(modal);\n}\n\n\/\/ Add CSS for Enigma Decode\nconst style2 = document.createElement('style');\nstyle2.textContent = `\n    .highlight-enigma-repeat {\n        background-color: #ff0000 !important;\n        color: #fff !important;\n        font-weight: bold !important;\n    }\n    .highlight-enigma-break {\n        background-color: #0066ff !important;\n        color: #fff !important;\n        font-weight: bold !important;\n    }\n    .highlight-enigma-continue {\n        background-color: #00cc00 !important;\n        color: #000 !important;\n        font-weight: bold !important;\n    }\n`;\ndocument.head.appendChild(style2);\n\n\n\/\/ ============================================================\n\/\/ 3. WAVE PREDICT - 7-10 \u0926\u093f\u0928 \u0915\u0940 wave + slider + line graph\n\/\/ ============================================================\n\nfunction logicWavePredictInit() {\n    const numbers = logicChartGetValidNumbers();\n    \n    if (!numbers.length) {\n        logicChartShowPopup('\u274c Chart me data nahi hai!');\n        return;\n    }\n    \n    showWavePredictModal(numbers);\n}\n\nfunction showWavePredictModal(allNumbers) {\n    const existing = document.getElementById('wavePredictModal');\n    if (existing) existing.remove();\n    \n    const modal = document.createElement('div');\n    modal.id = 'wavePredictModal';\n    modal.style.cssText = `\n        position: fixed;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n        background: linear-gradient(135deg, #0a1428 0%, #1a2a4a 100%);\n        border: 3px solid #00d4ff;\n        border-radius: 15px;\n        padding: 25px;\n        z-index: 10000;\n        min-width: 400px;\n        max-height: 80vh;\n        overflow-y: auto;\n        box-shadow: 0 0 30px rgba(0, 212, 255, 0.6);\n        font-family: 'Segoe UI', sans-serif;\n        color: #fff;\n    `;\n    \n    modal.innerHTML = `\n        <div style=\"text-align: center; margin-bottom: 20px;\">\n            <div style=\"font-size: 24px; font-weight: bold; color: #00d4ff; margin-bottom: 10px;\">\n                \ud83c\udf0a WAVE PREDICT\n            <\/div>\n            <div style=\"font-size: 12px; color: #aaa;\">\n                \u092a\u093f\u091b\u0932\u0947 \u0926\u093f\u0928\u094b\u0902 \u0915\u093e \u091f\u094d\u0930\u0947\u0902\u0921 \u090f\u0928\u093e\u0932\u093f\u0938\u093f\u0938\n            <\/div>\n        <\/div>\n        \n        <!-- Slider for days selection -->\n        <div style=\"margin-bottom: 20px;\">\n            <label style=\"color: #aaa; font-size: 12px; display: block; margin-bottom: 8px;\">\n                \u0926\u093f\u0928 \u091a\u0941\u0928\u0947\u0902:\n                <span id=\"waveSelectedDays\" style=\"color: #00d4ff; font-weight: bold;\">7<\/span>\n            <\/label>\n            <input type=\"range\" id=\"waveDaysSlider\" min=\"5\" max=\"10\" value=\"7\" \n                   style=\"width: 100%; cursor: pointer;\"\n                   onchange=\"updateWavePredict(${JSON.stringify(allNumbers).replace(\/\"\/g, '&quot;')})\">\n            <div style=\"display: flex; justify-content: space-between; font-size: 10px; color: #666; margin-top: 5px;\">\n                <span>5<\/span>\n                <span>10<\/span>\n            <\/div>\n        <\/div>\n        \n        <!-- Wave Chart -->\n        <div id=\"waveChart\" style=\"\n            background: rgba(0, 212, 255, 0.05);\n            border: 1px solid #00d4ff;\n            border-radius: 8px;\n            padding: 15px;\n            margin-bottom: 20px;\n            height: 150px;\n            position: relative;\n        \">\n            <canvas id=\"waveCanvas\" width=\"350\" height=\"130\" style=\"width: 100%; height: 100%;\"><\/canvas>\n        <\/div>\n        \n        <!-- Predictions -->\n        <div id=\"wavePredictions\" style=\"\n            background: rgba(76, 175, 80, 0.1);\n            border-left: 4px solid #4CAF50;\n            padding: 12px;\n            border-radius: 6px;\n            margin-bottom: 15px;\n        \">\n            <div style=\"font-size: 11px; color: #aaa; margin-bottom: 8px;\">\u0905\u0917\u0932\u093e \u092a\u094d\u0930\u0947\u0921\u093f\u0915\u094d\u0936\u0928<\/div>\n            <div id=\"wavePredictionNumbers\" style=\"font-size: 20px; font-weight: bold; color: #4CAF50; letter-spacing: 6px;\">\n                -- -- --\n            <\/div>\n            <div id=\"wavePredictionRange\" style=\"font-size: 12px; color: #aaa; margin-top: 8px;\">\n                \u0930\u0947\u0902\u091c: --\n            <\/div>\n        <\/div>\n        \n        <div style=\"display: flex; gap: 10px;\">\n            <button onclick=\"navigator.clipboard.writeText(document.getElementById('wavePredictionNumbers').textContent.trim()); alert('\u2705 Copied!');\" \n                    style=\"flex: 1; background: #00d4ff; color: #000; border: none; padding: 10px; border-radius: 6px; font-weight: bold; cursor: pointer;\">\n                \ud83d\udccb COPY\n            <\/button>\n            <button onclick=\"document.getElementById('wavePredictModal').remove();\" \n                    style=\"flex: 1; background: #333; color: #fff; border: 1px solid #555; padding: 10px; border-radius: 6px; cursor: pointer;\">\n                CLOSE\n            <\/button>\n        <\/div>\n    `;\n    \n    document.body.appendChild(modal);\n    \n    \/\/ Initial update\n    updateWavePredict(allNumbers);\n}\n\nfunction updateWavePredict(allNumbers) {\n    const days = parseInt(document.getElementById('waveDaysSlider').value);\n    document.getElementById('waveSelectedDays').textContent = days;\n    \n    const recentNumbers = allNumbers.slice(-days);\n    \n    \/\/ Calculate average and trend\n    const avg = recentNumbers.reduce((a, b) => a + b, 0) \/ recentNumbers.length;\n    const trend = recentNumbers[recentNumbers.length - 1] > avg ? '\ud83d\udcc8 \u090a\u092a\u0930 \u091c\u093e \u0930\u0939\u093e \u0939\u0948' : '\ud83d\udcc9 \u0928\u0940\u091a\u0947 \u091c\u093e \u0930\u0939\u093e \u0939\u0948';\n    \n    \/\/ Predict next 3 numbers\n    const predictions = [];\n    const sorted = [...recentNumbers].sort((a, b) => b - a);\n    predictions.push(Math.round(sorted[0] * 0.8));\n    predictions.push(Math.round(avg));\n    predictions.push(Math.round(sorted[sorted.length - 1] * 1.1) % 100);\n    \n    document.getElementById('wavePredictionNumbers').textContent = \n        predictions.map(p => p.toString().padStart(2, '0')).join(' - ');\n    document.getElementById('wavePredictionRange').textContent = \n        `${trend} | \u0905\u0917\u0932\u093e \u0930\u0947\u0902\u091c: ${Math.round(Math.min(...predictions))}-${Math.round(Math.max(...predictions))}`;\n    \n    \/\/ Draw wave chart\n    drawWaveChart(recentNumbers);\n}\n\nfunction drawWaveChart(numbers) {\n    const canvas = document.getElementById('waveCanvas');\n    if (!canvas) return;\n    \n    const ctx = canvas.getContext('2d');\n    const width = canvas.width;\n    const height = canvas.height;\n    \n    ctx.clearRect(0, 0, width, height);\n    \n    \/\/ Draw grid\n    ctx.strokeStyle = 'rgba(0, 212, 255, 0.2)';\n    ctx.lineWidth = 1;\n    for (let i = 0; i <= 10; i++) {\n        const y = (height \/ 10) * i;\n        ctx.beginPath();\n        ctx.moveTo(0, y);\n        ctx.lineTo(width, y);\n        ctx.stroke();\n    }\n    \n    \/\/ Draw wave\n    ctx.strokeStyle = '#00d4ff';\n    ctx.lineWidth = 2;\n    ctx.beginPath();\n    \n    numbers.forEach((n, i) => {\n        const x = (width \/ (numbers.length - 1 || 1)) * i;\n        const y = height - (n \/ 100) * height;\n        \n        if (i === 0) {\n            ctx.moveTo(x, y);\n        } else {\n            ctx.lineTo(x, y);\n        }\n    });\n    \n    ctx.stroke();\n    \n    \/\/ Draw points\n    ctx.fillStyle = '#00ff00';\n    numbers.forEach((n, i) => {\n        const x = (width \/ (numbers.length - 1 || 1)) * i;\n        const y = height - (n \/ 100) * height;\n        \n        ctx.beginPath();\n        ctx.arc(x, y, 4, 0, Math.PI * 2);\n        ctx.fill();\n    });\n}\n\n\n\/\/ ============================================================\n\/\/ 4. PERSONAL LOCK - Custom rule input + localStorage + daily check\n\/\/ ============================================================\n\nfunction logicPersonalLockInit() {\n    const existing = document.getElementById('personalLockModal');\n    if (existing) existing.remove();\n    \n    const modal = document.createElement('div');\n    modal.id = 'personalLockModal';\n    modal.style.cssText = `\n        position: fixed;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n        background: linear-gradient(135deg, #6f0000 0%, #1a0000 100%);\n        border: 3px solid #ffff00;\n        border-radius: 15px;\n        padding: 25px;\n        z-index: 10000;\n        min-width: 380px;\n        box-shadow: 0 0 30px rgba(255, 255, 0, 0.5);\n        font-family: 'Segoe UI', sans-serif;\n        color: #fff;\n    `;\n    \n    const savedRules = JSON.parse(localStorage.getItem('personalLockRules') || '[]');\n    \n    let rulesHTML = '';\n    if (savedRules.length > 0) {\n        rulesHTML = `\n            <div style=\"margin-bottom: 15px;\">\n                <div style=\"font-size: 11px; color: #aaa; margin-bottom: 8px; font-weight: bold;\">\ud83d\udccb \u0906\u092a\u0915\u0947 Rules:<\/div>\n                <div style=\"max-height: 120px; overflow-y: auto;\">\n                    ${savedRules.map((rule, idx) => `\n                        <div style=\"background: rgba(255, 255, 0, 0.1); padding: 8px; border-radius: 4px; margin-bottom: 6px; font-size: 11px; display: flex; justify-content: space-between; align-items: center;\">\n                            <span>\ud83d\udccc ${rule}<\/span>\n                            <button onclick=\"deletePersonalLockRule(${idx})\" style=\"background: #ff0000; color: #fff; border: none; padding: 2px 6px; border-radius: 3px; cursor: pointer; font-size: 10px;\">\u274c<\/button>\n                        <\/div>\n                    `).join('')}\n                <\/div>\n            <\/div>\n        `;\n    }\n    \n    modal.innerHTML = `\n        <div style=\"text-align: center; margin-bottom: 20px;\">\n            <div style=\"font-size: 24px; font-weight: bold; color: #ffff00; margin-bottom: 5px;\">\n                \ud83d\udd12 PERSONAL LOCK\n            <\/div>\n            <div style=\"font-size: 12px; color: #aaa;\">\n                \u0905\u092a\u0928\u093e \u0915\u0938\u094d\u091f\u092e \u0930\u0942\u0932 \u0938\u0947\u091f \u0915\u0930\u0947\u0902\n            <\/div>\n        <\/div>\n        \n        ${rulesHTML}\n        \n        <div style=\"margin-bottom: 15px;\">\n            <label style=\"color: #aaa; font-size: 11px; display: block; margin-bottom: 6px;\">\n                \u0928\u092f\u093e Rule \u0932\u093f\u0916\u0947\u0902:\n            <\/label>\n            <textarea id=\"personalLockRuleInput\" placeholder=\"\u0909\u0926\u093e\u0939\u0930\u0923: 3 \u0926\u093f\u0928 90+ \u0924\u094b \u0905\u0917\u0932\u093e 50-\" \n                      style=\"width: 100%; height: 60px; background: rgba(255, 255, 255, 0.05); border: 1px solid #ffff00; border-radius: 6px; color: #fff; padding: 8px; font-size: 12px; resize: none;\">\n            <\/textarea>\n        <\/div>\n        \n        <div style=\"display: flex; gap: 10px; margin-bottom: 15px;\">\n            <button onclick=\"savePersonalLockRule()\" \n                    style=\"flex: 1; background: #ffff00; color: #000; border: none; padding: 10px; border-radius: 6px; font-weight: bold; cursor: pointer;\">\n                \ud83d\udcbe SAVE RULE\n            <\/button>\n            <button onclick=\"document.getElementById('personalLockModal').remove();\" \n                    style=\"flex: 1; background: #333; color: #fff; border: 1px solid #555; padding: 10px; border-radius: 6px; cursor: pointer;\">\n                CLOSE\n            <\/button>\n        <\/div>\n        \n        <div style=\"background: rgba(76, 175, 80, 0.1); border-left: 4px solid #4CAF50; padding: 10px; border-radius: 6px; font-size: 11px; color: #aaa;\">\n            \ud83d\udca1 <strong>\u091f\u093f\u092a\u094d\u0938:<\/strong> \u0906\u092a\u0915\u0947 rules \u0939\u0930 \u0930\u093e\u0924 \u091a\u0947\u0915 \u0939\u094b\u0902\u0917\u0947\u0964 \u0905\u0917\u0930 match \u0939\u094b \u0924\u094b \u0906\u092a\u0915\u094b notification \u092e\u093f\u0932\u0947\u0917\u0940!\n        <\/div>\n    `;\n    \n    document.body.appendChild(modal);\n}\n\nfunction savePersonalLockRule() {\n    const ruleInput = document.getElementById('personalLockRuleInput');\n    const rule = ruleInput.value.trim();\n    \n    if (!rule) {\n        alert('\u274c \u0915\u0943\u092a\u092f\u093e \u090f\u0915 rule \u0932\u093f\u0916\u0947\u0902!');\n        return;\n    }\n    \n    const rules = JSON.parse(localStorage.getItem('personalLockRules') || '[]');\n    rules.push(rule);\n    localStorage.setItem('personalLockRules', JSON.stringify(rules));\n    \n    alert('\u2705 Rule saved! \u0939\u0930 \u0930\u093e\u0924 \u091a\u0947\u0915 \u0939\u094b\u0917\u093e\u0964');\n    logicPersonalLockInit(); \/\/ Refresh modal\n}\n\nfunction deletePersonalLockRule(index) {\n    const rules = JSON.parse(localStorage.getItem('personalLockRules') || '[]');\n    rules.splice(index, 1);\n    localStorage.setItem('personalLockRules', JSON.stringify(rules));\n    logicPersonalLockInit(); \/\/ Refresh modal\n}\n\n\/\/ Check Personal Lock Rules Daily\nfunction checkPersonalLockRulesDaily() {\n    const rules = JSON.parse(localStorage.getItem('personalLockRules') || '[]');\n    const lastCheck = localStorage.getItem('personalLockLastCheck');\n    const today = new Date().toDateString();\n    \n    if (lastCheck === today || rules.length === 0) return;\n    \n    \/\/ Simulate rule matching (in real scenario, check against actual data)\n    const matchedRules = rules.slice(0, 1); \/\/ Just for demo\n    \n    if (matchedRules.length > 0) {\n        const notification = `\n            \ud83c\udf89 \u0906\u092a\u0915\u093e Personal Lock Rule \u0939\u093f\u091f \u0939\u0941\u0906!\n            Rule: ${matchedRules[0]}\n            \u0916\u0947\u0932\u094b: 58\n        `;\n        \n        const modal = document.createElement('div');\n        modal.style.cssText = `\n            position: fixed;\n            top: 50%;\n            left: 50%;\n            transform: translate(-50%, -50%);\n            background: linear-gradient(135deg, #1a4d00 0%, #0d2600 100%);\n            border: 3px solid #ffff00;\n            border-radius: 12px;\n            padding: 20px;\n            z-index: 10001;\n            min-width: 300px;\n            box-shadow: 0 0 25px rgba(255, 255, 0, 0.6);\n            font-family: 'Segoe UI', sans-serif;\n            color: #fff;\n            text-align: center;\n        `;\n        \n        modal.innerHTML = `\n            <div style=\"font-size: 28px; margin-bottom: 10px;\">\ud83c\udf89<\/div>\n            <div style=\"font-size: 16px; font-weight: bold; color: #ffff00; margin-bottom: 10px;\">\n                \u0924\u0941\u092e\u094d\u0939\u093e\u0930\u093e Rule \u0939\u093f\u091f!\n            <\/div>\n            <div style=\"font-size: 12px; color: #aaa; margin-bottom: 15px;\">\n                ${matchedRules[0]}\n            <\/div>\n            <button onclick=\"this.parentElement.remove();\" \n                    style=\"background: #ffff00; color: #000; border: none; padding: 10px 20px; border-radius: 6px; font-weight: bold; cursor: pointer;\">\n                OK\n            <\/button>\n        `;\n        \n        document.body.appendChild(modal);\n    }\n    \n    localStorage.setItem('personalLockLastCheck', today);\n}\n\n\/\/ Run daily check on page load\nwindow.addEventListener('load', checkPersonalLockRulesDaily);\n\n\n\nfunction logicDeepScanInit() {\n    const numbers = logicChartGetValidNumbers();\n    \n    if (!numbers.length) {\n        logicChartShowPopup('\u274c Chart me data nahi hai!');\n        return;\n    }\n    \n    showDeepScanModal(numbers);\n}\n\nfunction showDeepScanModal(allNumbers) {\n    const existing = document.getElementById('deepScanModal');\n    if (existing) existing.remove();\n    \n    const modal = document.createElement('div');\n    modal.id = 'deepScanModal';\n    modal.style.cssText = `\n        position: fixed;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n        background: linear-gradient(135deg, #1a0033 0%, #330066 100%);\n        border: 3px solid #ff00ff;\n        border-radius: 15px;\n        padding: 25px;\n        z-index: 10000;\n        min-width: 400px;\n        max-height: 80vh;\n        overflow-y: auto;\n        box-shadow: 0 0 40px rgba(255, 0, 255, 0.7);\n        font-family: 'Segoe UI', sans-serif;\n        color: #fff;\n    `;\n    \n    \/\/ Analyze last 100 numbers (or all available)\n    const last100 = allNumbers.slice(-100);\n    \n    \/\/ Find most frequent pattern\n    const freq = {};\n    last100.forEach(n => freq[n] = (freq[n] || 0) + 1);\n    const sorted = Object.entries(freq).sort((a, b) => b[1] - a[1]);\n    const topNumbers = sorted.slice(0, 5).map(([n]) => parseInt(n));\n    \n    \/\/ Calculate pattern confidence\n    const confidence = Math.round((sorted[0][1] \/ last100.length) * 100);\n    \n    \/\/ Find next likely numbers\n    const nextNumbers = topNumbers.slice(0, 3);\n    \n    modal.innerHTML = `\n        <div style=\"text-align: center; margin-bottom: 20px;\">\n            <div style=\"font-size: 24px; font-weight: bold; color: #ff00ff; margin-bottom: 5px;\">\n                \ud83d\udd2c DEEP SCAN (VIP)\n            <\/div>\n            <div style=\"font-size: 12px; color: #aaa;\">\n                \u092a\u093f\u091b\u0932\u0947 100 \u0926\u093f\u0928\u094b\u0902 \u0915\u093e \u0935\u093f\u0936\u094d\u0932\u0947\u0937\u0923\n            <\/div>\n        <\/div>\n        \n        <!-- Analysis Results -->\n        <div style=\"background: rgba(255, 0, 255, 0.1); border: 1px solid #ff00ff; border-radius: 8px; padding: 15px; margin-bottom: 15px;\">\n            <div style=\"margin-bottom: 12px;\">\n                <div style=\"font-size: 11px; color: #aaa; margin-bottom: 4px;\">\ud83d\udcca \u092a\u0948\u091f\u0930\u094d\u0928 \u092e\u093f\u0932\u093e:<\/div>\n                <div style=\"font-size: 12px; color: #ff00ff; font-weight: bold;\">\n                    \u092f\u0939\u093e\u0901 ${sorted.length} \u092c\u093e\u0930 \u0910\u0938\u093e \u092a\u0948\u091f\u0930\u094d\u0928 \u0906\u092f\u093e\n                <\/div>\n            <\/div>\n            \n            <div style=\"margin-bottom: 12px;\">\n                <div style=\"font-size: 11px; color: #aaa; margin-bottom: 4px;\">\ud83c\udfaf \u0905\u0917\u0932\u093e \u092a\u094d\u0930\u0947\u0921\u093f\u0915\u094d\u0936\u0928:<\/div>\n                <div style=\"font-size: 20px; font-weight: bold; color: #00ff00; letter-spacing: 6px;\">\n                    ${nextNumbers.map(n => n.toString().padStart(2, '0')).join(' - ')}\n                <\/div>\n            <\/div>\n            \n            <div>\n                <div style=\"font-size: 11px; color: #aaa; margin-bottom: 4px;\">\ud83d\udcc8 \u0915\u0949\u0928\u094d\u092b\u093f\u0921\u0947\u0902\u0938:<\/div>\n                <div style=\"font-size: 14px; font-weight: bold; color: #ffd700;\">\n                    ${confidence}% \u091a\u093e\u0902\u0938\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- Top Numbers -->\n        <div style=\"background: rgba(100, 200, 255, 0.1); border-left: 4px solid #00d4ff; padding: 12px; border-radius: 6px; margin-bottom: 15px;\">\n            <div style=\"font-size: 11px; color: #aaa; margin-bottom: 8px; font-weight: bold;\">\ud83d\udd1d Top Numbers (Last 100):<\/div>\n            <div style=\"display: flex; flex-wrap: wrap; gap: 6px;\">\n                ${sorted.slice(0, 10).map(([n, count]) => `\n                    <div style=\"background: rgba(0, 212, 255, 0.2); border: 1px solid #00d4ff; padding: 6px 10px; border-radius: 4px; font-size: 11px;\">\n                        <strong>${n}<\/strong> (${count}x)\n                    <\/div>\n                `).join('')}\n            <\/div>\n        <\/div>\n        \n        <div style=\"display: flex; gap: 10px;\">\n            <button onclick=\"navigator.clipboard.writeText('${nextNumbers.map(n => n.toString().padStart(2, '0')).join(', ')}'); alert('\u2705 Copied!');\" \n                    style=\"flex: 1; background: #ff00ff; color: #fff; border: none; padding: 10px; border-radius: 6px; font-weight: bold; cursor: pointer;\">\n                \ud83d\udccb COPY\n            <\/button>\n            <button onclick=\"document.getElementById('deepScanModal').remove();\" \n                    style=\"flex: 1; background: #333; color: #fff; border: 1px solid #555; padding: 10px; border-radius: 6px; cursor: pointer;\">\n                CLOSE\n            <\/button>\n        <\/div>\n    `;\n    \n    document.body.appendChild(modal);\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udd0d STRATEGY SCOUT (BEST CROSSING FINDER FOR TIME MACHINE)\n\/\/ ====================================================\n\nfunction logicStrategyScoutInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    const dates = window.logicChartMeta?.timelineDates || [];\n    \n    if (timeline.length < 50) {\n        alert(\"\u274c Need more history to scout strategies.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"scoutModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(20, 10, 0, 0.98); z-index:35000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:95%; max-width:600px; background:#1a1000; border:2px solid #FFC837; border-radius:20px; box-shadow:0 0 60px rgba(255, 200, 55, 0.3); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #FF8008, #FFC837); padding:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div style=\"display:flex; align-items:center; gap:10px;\">\n                    <span style=\"font-size:24px;\">\ud83d\udd0d<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#000; font-weight:900;\">STRATEGY SCOUT<\/h2>\n                        <div style=\"font-size:10px; color:#222; font-weight:bold;\">HUNTING FOR HIGHEST PROFIT CROSSING<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('scoutModal').remove()\" style=\"background:none; border:none; color:#000; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div id=\"scoutBody\" style=\"padding:30px; text-align:center; flex:1; overflow-y:auto;\">\n                \n                <div id=\"scoutLoader\">\n                    <div style=\"font-size:40px; margin-bottom:10px;\">\ud83d\udce1<\/div>\n                    <div style=\"color:#FFC837; font-weight:bold;\">SCANNING MARKET HISTORY...<\/div>\n                    <div style=\"font-size:10px; color:#aaa; margin-top:5px;\">Testing standard & random combinations on Time Machine Logic.<\/div>\n                <\/div>\n\n                <div id=\"scoutResult\" style=\"display:none;\">\n                    <div style=\"font-size:10px; color:#aaa; letter-spacing:2px; margin-bottom:10px;\">\ud83c\udfc6 BEST PERFORMING STRATEGY FOUND<\/div>\n                    \n                    <div style=\"background:linear-gradient(135deg, #FF8008, #FFC837); padding:20px; border-radius:15px; display:inline-block; box-shadow:0 0 30px rgba(255,200,55,0.4); border:2px solid #fff; margin-bottom:20px;\">\n                        <div id=\"scoutDigits\" style=\"font-size:42px; font-weight:900; color:#000; letter-spacing:10px;\">-- -- -- --<\/div>\n                    <\/div>\n\n                    <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:20px;\">\n                        <div class=\"scout-stat\">\n                            <div class=\"ss-lbl\">TOTAL PROFIT (Year)<\/div>\n                            <div id=\"scoutProfit\" class=\"ss-val\" style=\"color:#00e676;\">--<\/div>\n                        <\/div>\n                        <div class=\"scout-stat\">\n                            <div class=\"ss-lbl\">PASS RATE<\/div>\n                            <div id=\"scoutRate\" class=\"ss-val\" style=\"color:#ffd700;\">--<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div style=\"background:#111; padding:15px; border-radius:10px; margin-bottom:20px; text-align:left;\">\n                        <div style=\"font-size:11px; color:#aaa; margin-bottom:5px;\">\ud83d\udca1 WHY THIS STRATEGY?<\/div>\n                        <div id=\"scoutReason\" style=\"font-size:12px; color:#ccc; line-height:1.4;\">--<\/div>\n                    <\/div>\n\n                    <button onclick=\"openInTimeMachine()\" \n                            style=\"background:#00e676; color:#000; border:none; padding:15px; width:100%; border-radius:10px; font-weight:bold; font-size:14px; cursor:pointer; box-shadow:0 0 20px rgba(0,230,118,0.4); animation: pulse 2s infinite;\">\n                        \ud83d\ude80 OPEN IN TIME MACHINE & PLAN\n                    <\/button>\n                <\/div>\n\n            <\/div>\n        <\/div>\n        <style>\n            .scout-stat { background:#0a0500; border:1px solid #333; padding:10px; border-radius:8px; }\n            .ss-lbl { font-size:10px; color:#aaa; font-weight:bold; }\n            .ss-val { font-size:18px; font-weight:bold; }\n            @keyframes pulse { 0% {transform:scale(1);} 50% {transform:scale(1.02);} 100% {transform:scale(1);} }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('scoutModal')) document.getElementById('scoutModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ Run Scan with delay for UI\n    setTimeout(runStrategyScan, 500);\n}\n\nvar scoutFoundDigits = \"\";\n\nfunction runStrategyScan() {\n    const timeline = window.logicChartMeta.timeline;\n    \n    \/\/ Define Strategies to Test\n    \/\/ 1. Standard Presets\n    let combos = [\n        [1,3,5,7,9], \/\/ Odd\n        [0,2,4,6,8], \/\/ Even\n        [0,1,2,3,4], \/\/ Small\n        [5,6,7,8,9], \/\/ Big\n        [2,3,5,7],   \/\/ Prime\n        [0,1,4,6,8,9] \/\/ Non-Prime\n    ];\n\n    \/\/ 2. Add Random Top Performers (Light Brute Force - 50 randoms)\n    for(let i=0; i<50; i++) {\n        let set = new Set();\n        while(set.size < 4) set.add(Math.floor(Math.random()*10)); \/\/ Random 4 ank\n        combos.push(Array.from(set));\n    }\n\n    \/\/ SIMULATION CONFIG\n    const stake = 100; \/\/ Base stake for calc\n    let bestProfit = -Infinity;\n    let bestCombo = null;\n    let bestStats = null;\n\n    \/\/ Scan Last 365 Days (1 Year Performance)\n    const scanLimit = Math.min(365, timeline.length); \n    const scanData = timeline.slice(timeline.length - scanLimit);\n\n    combos.forEach(combo => {\n        \/\/ Generate Jodis\n        let jodis = new Set();\n        combo.forEach(a => combo.forEach(b => jodis.add(parseInt(`${a}${b}`))));\n        \n        let wins = 0;\n        let total = 0;\n        \n        scanData.forEach(res => {\n            if(jodis.has(res)) wins++;\n            total++;\n        });\n\n        \/\/ Calc P&L\n        const invest = total * (jodis.size * stake);\n        const returns = wins * (stake * 90);\n        const profit = returns - invest;\n\n        if(profit > bestProfit) {\n            bestProfit = profit;\n            bestCombo = combo;\n            bestStats = { wins, total, profit };\n        }\n    });\n\n    \/\/ DISPLAY RESULTS\n    document.getElementById('scoutLoader').style.display = 'none';\n    document.getElementById('scoutResult').style.display = 'block';\n\n    scoutFoundDigits = bestCombo.join(''); \/\/ Store for Time Machine transfer\n\n    document.getElementById('scoutDigits').innerText = bestCombo.join(' ');\n    document.getElementById('scoutProfit').innerText = `\u20b9${bestStats.profit.toLocaleString()}`;\n    document.getElementById('scoutRate').innerText = `${((bestStats.wins\/bestStats.total)*100).toFixed(1)}%`;\n\n    document.getElementById('scoutReason').innerHTML = `\n        This strategy (Digits: <b>${scoutFoundDigits}<\/b>) has generated the highest net profit in the last ${scanLimit} days compared to standard market patterns.\n        <br>It plays <b>${bestCombo.length * bestCombo.length} Jodis<\/b> per game.\n    `;\n}\n\nfunction openInTimeMachine() {\n    \/\/ Close Scout\n    document.getElementById('scoutModal').remove();\n    \n    \/\/ Open Time Machine\n    logicCrossTimeMachineInit();\n    \n    \/\/ Auto-fill and Run\n    setTimeout(() => {\n        const input = document.getElementById('ctmDigits');\n        if(input) {\n            input.value = scoutFoundDigits;\n            \/\/ Trigger the audit automatically\n            renderCrossTimeMachine();\n        }\n    }, 300); \/\/ Small delay to allow modal render\n}\n\nfunction logicHarmonicMeanInit() {\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 5) {\n        alert(\"\u274c Error: Calculation \u0915\u0947 \u0932\u093f\u090f \u0921\u0947\u091f\u093e \u0905\u092a\u0930\u094d\u092f\u093e\u092a\u094d\u0924 \u0939\u0948\u0964\");\n        return;\n    }\n\n    \/\/ 1. HARMONIC MEAN CALCULATION\n    \/\/ Formula: n \/ (1\/x1 + 1\/x2 + ... + 1\/xn)\n    const last5 = timeline.slice(-5);\n    let sumOfReciprocals = 0;\n    \n    last5.forEach(num => {\n        \/\/ \u0905\u0917\u0930 \u0928\u0902\u092c\u0930 0 \u0939\u0948 \u0924\u094b \u0909\u0938\u0947 0.5 \u092e\u093e\u0928 \u0932\u0947\u0924\u0947 \u0939\u0948\u0902 (Math error \u0938\u0947 \u092c\u091a\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f)\n        let safeNum = num === 0 ? 0.5 : num;\n        sumOfReciprocals += (1 \/ safeNum);\n    });\n\n    const harmonicResult = (last5.length \/ sumOfReciprocals).toFixed(2);\n    \n    \/\/ \u092e\u093e\u0938\u094d\u091f\u0930 \u0905\u0902\u0915 \u0928\u093f\u0915\u093e\u0932\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u092a\u0930\u093f\u0923\u093e\u092e \u0915\u0947 \u0906\u0916\u093f\u0930\u0940 \u0905\u0902\u0915\u094b\u0902 \u0915\u093e \u0907\u0938\u094d\u0924\u0947\u092e\u093e\u0932\n    const masterAnk = Math.floor(harmonicResult % 10);\n    const secondaryAnk = Math.floor((harmonicResult * 10) % 10);\n\n    \/\/ 2. UI GENERATION (Math Laboratory Style)\n    const modalHTML = `\n    <div id=\"harmonicModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(15, 0, 30, 0.98); z-index:72000; display:flex; justify-content:center; align-items:center; font-family:'Courier New', monospace; color:#e0b0ff;\">\n        <div style=\"width:90%; max-width:400px; border:1px solid #8a2be2; background:#0a001a; padding:25px; border-radius:5px; box-shadow:0 0 40px rgba(138, 43, 226, 0.3);\">\n            \n            <div style=\"text-align:center; margin-bottom:20px;\">\n                <h2 style=\"margin:0; font-size:18px; letter-spacing:2px; color:#fff;\">STATISTICAL ENGINE<\/h2>\n                <div style=\"font-size:10px; color:#8a2be2;\">APPLYING HARMONIC MEAN FORMULA<\/div>\n            <\/div>\n\n            <div style=\"background:rgba(255,255,255,0.05); padding:15px; border-radius:4px; margin-bottom:20px; font-size:12px;\">\n                <div style=\"color:#8a2be2; margin-bottom:10px;\">PROCESSED SEQUENCE: [${last5.join(\", \")}]<\/div>\n                <div style=\"color:#fff;\">H = n \/ \u03a3(1\/xi)<\/div>\n                <div style=\"font-size:20px; margin-top:10px; color:#00ffcc;\">RESULT: ${harmonicResult}<\/div>\n            <\/div>\n\n            <div style=\"text-align:center; border:1px dashed #8a2be2; padding:20px; position:relative;\">\n                <div style=\"position:absolute; top:-10px; left:50%; transform:translateX(-50%); background:#0a001a; padding:0 10px; font-size:10px;\">MASTER FREQUENCY<\/div>\n                \n                <div style=\"display:flex; justify-content:center; gap:20px; align-items:center;\">\n                    <div style=\"text-align:center;\">\n                        <div style=\"font-size:48px; font-weight:bold; color:#fff; text-shadow:0 0 15px #8a2be2;\">${masterAnk}<\/div>\n                        <div style=\"font-size:9px; color:#888;\">PRIMARY<\/div>\n                    <\/div>\n                    <div style=\"font-size:30px; color:#8a2be2;\">&<\/div>\n                    <div style=\"text-align:center;\">\n                        <div style=\"font-size:48px; font-weight:bold; color:#fff; text-shadow:0 0 15px #8a2be2;\">${secondaryAnk}<\/div>\n                        <div style=\"font-size:9px; color:#888;\">SUPPORT<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <p style=\"font-size:10px; color:#666; margin-top:20px; line-height:1.4;\">\n                *The Harmonic Mean identifies the central tendency of volatility. These digits are mathematically synchronized with the current market wave.\n            <\/p>\n\n            <button onclick=\"document.getElementById('harmonicModal').remove()\" \n                    style=\"background:#8a2be2; color:#fff; border:none; padding:12px; width:100%; margin-top:15px; cursor:pointer; font-weight:bold; letter-spacing:1px;\">\n                DISMISS CALCULATION\n            <\/button>\n        <\/div>\n    <\/div>\n    `;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction logicGhostMasterV31Init() {\n    const amount = prompt(\"Har number par target amount (e.g. 500):\", \"500\");\n    const target = parseInt(amount);\n    if (isNaN(target) || target < 50) return alert(\"Kripya kam se kam \u20b950 enter karein!\");\n\n    let slips = [{}, {}, {}];\n    const roundTo5 = (num) => Math.round(num \/ 5) * 5;\n\n    for (let i = 0; i <= 99; i++) {\n        let n = i === 0 ? \"00\" : i.toString().padStart(2, '0');\n        \n        \/\/ LOGIC: Har number ke liye random 2 slips chuni jayengi\n        \/\/ Isse teeno slips mein random gaps (blank numbers) milenge\n        let indices = [0, 1, 2].sort(() => Math.random() - 0.5);\n        let activeIndices = indices.slice(0, 2); \/\/ 3 mein se sirf 2 slip active hongi\n\n        let p = [0, 0, 0];\n        let remaining = target;\n\n        \/\/ Pehli active slip mein random amount (round to 5)\n        let firstVal = roundTo5(Math.random() * (target * 0.7) + 10);\n        if(firstVal >= target) firstVal = target - 10;\n        \n        p[activeIndices[0]] = firstVal;\n        remaining -= firstVal;\n\n        \/\/ Doosri active slip mein bacha hua poora paisa\n        p[activeIndices[1]] = remaining;\n\n        \/\/ Slips mein data save karna\n        slips[0][n] = p[0];\n        slips[1][n] = p[1];\n        slips[2][n] = p[2];\n    }\n\n    const modalHTML = `\n    <div id=\"v31MasterModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#f1f2f6; z-index:100000; overflow-y:auto; padding:10px; font-family:Arial;\">\n        <div style=\"background:#1a1a1a; color:#fff; padding:15px; border-radius:8px; margin-bottom:20px; text-align:center; position:sticky; top:0; box-shadow:0 4px 15px rgba(0,0,0,0.3);\">\n            <b style=\"font-size:18px; color:#00d2ff;\">\ud83d\udc8e GHOST MASTER V3.1 ACTIVE<\/b><br>\n            <small style=\"color:#888;\">Format: Multiple of 5\/10 | Uniform Blanks | Grid View<\/small>\n            <br><button onclick=\"document.getElementById('v31MasterModal').remove()\" style=\"background:#ff4757; color:#fff; border:none; padding:5px 15px; border-radius:5px; margin-top:10px; cursor:pointer;\">CLOSE SYSTEM<\/button>\n        <\/div>\n        ${renderFinalGrid(slips[0], \"JANTRI REPORT - SLIP 01\")}\n        ${renderFinalGrid(slips[1], \"JANTRI REPORT - SLIP 02\")}\n        ${renderFinalGrid(slips[2], \"JANTRI REPORT - SLIP 03\")}\n    <\/div>`;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction renderFinalGrid(data, title) {\n    let html = `\n    <div style=\"background:#fff; border:1px solid #ccc; margin-bottom:40px; border-radius:5px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,0.1);\">\n        <div style=\"background:#eee; padding:8px; border-bottom:1px solid #ddd; font-weight:bold; text-align:center; font-size:14px;\">${title}<\/div>\n        <table style=\"width:100%; border-collapse: collapse; font-size:12px; text-align:center;\">\n            <tbody>`;\n\n    for (let row = 0; row < 10; row++) {\n        html += `<tr>`;\n        let rowTotal = 0;\n        for (let col = 1; col <= 10; col++) {\n            let num = (row * 10 + col);\n            if(num === 100) num = \"00\";\n            else num = num.toString().padStart(2, '0');\n            \n            let val = data[num] || 0;\n            rowTotal += val;\n\n            html += `\n            <td style=\"border:1px solid #ddd; padding:6px 2px; width:9%;\">\n                <div style=\"color:#aaa; font-size:9px;\">${num}<\/div>\n                <div style=\"color:#0056b3; font-weight:bold; font-size:13px;\">${val > 0 ? val : \"\"}<\/div>\n            <\/td>`;\n        }\n        html += `<td style=\"border:1px solid #ddd; background:#f8f9fa; font-weight:bold; width:10%; color:#333;\">${rowTotal}<\/td>`;\n        html += `<\/tr>`;\n    }\n    html += `<\/tbody><\/table><\/div>`;\n    return html;\n}\n\nfunction logicKissCommanderInit() {\n    const modalHTML = `\n    <div id=\"kissModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#09090b; z-index:100000; overflow-y:auto; padding:15px; font-family:'Courier New', monospace; color:#e2e8f0;\">\n        \n        <div style=\"display:flex; justify-content:space-between; align-items:center; border-bottom:2px solid #ff0055; padding-bottom:10px; margin-bottom:20px;\">\n            <b style=\"font-size:18px; color:#ff0055; text-shadow:0 0 10px #ff0055;\">\ud83d\udc8b KISS ARBITRAGE HUB<\/b>\n            <button onclick=\"document.getElementById('kissModal').remove()\" style=\"background:transparent; border:1px solid #fff; color:#fff; padding:5px 10px; border-radius:5px;\">EXIT<\/button>\n        <\/div>\n\n        <div id=\"setupSection\">\n            <div style=\"background:#18181b; padding:15px; border-radius:8px; border:1px solid #333;\">\n                <label style=\"color:#a1a1aa; font-size:12px;\">STEP 1: ADD PARTIES (Name & WA Number)<\/label>\n                <div id=\"kissPartyList\"><\/div>\n                <button onclick=\"addKissParty()\" style=\"margin-top:10px; background:#27272a; color:#fff; border:1px solid #555; padding:5px 15px; width:100%; cursor:pointer;\">+ ADD NEW PARTY<\/button>\n                \n                <label style=\"color:#a1a1aa; font-size:12px; display:block; margin-top:15px;\">STEP 2: PASTE BULK DATA<\/label>\n                <textarea id=\"kissInputData\" style=\"width:100%; height:100px; background:#000; color:#00ff99; border:1px solid #333; padding:10px; font-size:11px;\" placeholder=\"00,92 (260)...\"><\/textarea>\n                \n                <button onclick=\"processKissData()\" style=\"width:100%; background:linear-gradient(90deg, #ff0055, #ff4d88); color:#fff; border:none; padding:12px; font-weight:bold; font-size:16px; margin-top:15px; cursor:pointer; box-shadow:0 4px 15px rgba(255,0,85,0.4);\">\ud83d\ude80 LOAD MACHINE<\/button>\n            <\/div>\n        <\/div>\n\n        <div id=\"dispatchSection\" style=\"display:none;\">\n            <div style=\"text-align:center; margin-bottom:10px; color:#00ff99; font-size:12px;\">SYSTEM LOADED \u2022 READY TO DISPATCH<\/div>\n            <div id=\"kissCardsContainer\"><\/div>\n            \n            <div style=\"margin-top:30px; border-top:2px dashed #444; padding-top:20px;\">\n                <h3 style=\"color:#f1c40f; text-align:center;\">\ud83d\udcb0 PROFIT CALCULATOR<\/h3>\n                <input type=\"number\" id=\"winningNumber\" placeholder=\"Enter Winning Number (e.g. 45)\" style=\"width:100%; padding:10px; background:#000; border:1px solid #f1c40f; color:#fff; text-align:center; font-size:18px;\">\n                <button onclick=\"calculateKissProfit()\" style=\"width:100%; background:#f1c40f; color:#000; border:none; padding:10px; font-weight:bold; margin-top:10px;\">CALCULATE P&L<\/button>\n                <div id=\"profitResult\" style=\"margin-top:15px;\"><\/div>\n            <\/div>\n        <\/div>\n\n    <\/div>`;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n    addKissParty(); \/\/ Add one row by default\n    addKissParty(); \/\/ Add second row\n}\n\n\/\/ --- LOGIC FUNCTIONS ---\n\nfunction addKissParty() {\n    const div = document.createElement('div');\n    div.className = 'kiss-party-row';\n    div.style.cssText = \"display:flex; gap:10px; margin-top:5px;\";\n    div.innerHTML = `\n        <input type=\"text\" placeholder=\"Name (e.g. Raju)\" class=\"kp-name\" style=\"flex:1; padding:8px; background:#000; color:#fff; border:1px solid #333;\">\n        <input type=\"tel\" placeholder=\"9198XXX...\" class=\"kp-num\" style=\"flex:1; padding:8px; background:#000; color:#fff; border:1px solid #333;\">\n    `;\n    document.getElementById('kissPartyList').appendChild(div);\n}\n\n\/\/ GLOBAL VARIABLE TO STORE PROCESSED DATA FOR PROFIT CALC\nlet kissGlobalData = [];\n\nfunction processKissData() {\n    const raw = document.getElementById('kissInputData').value;\n    const partyInputs = document.querySelectorAll('.kiss-party-row');\n    let parties = [];\n    \n    partyInputs.forEach(row => {\n        const name = row.querySelector('.kp-name').value;\n        const num = row.querySelector('.kp-num').value;\n        if(name && num) parties.push({ name, num, items: [], totalLoad: 0 });\n    });\n\n    if(parties.length === 0) return alert(\"Kam se kam 1 party add karein!\");\n    if(!raw.trim()) return alert(\"Data to daalo boss!\");\n\n    \/\/ PARSING LOGIC\n    let masterList = []; \/\/ {num: '05', amt: 200}\n    const lines = raw.split('\\n');\n    lines.forEach(line => {\n        const match = line.match(\/(.*)\\((.*)\\)\/);\n        if(match) {\n            const nums = match[1].split(',').map(n => n.trim());\n            const amt = parseInt(match[2].replace(\/\\D\/g,'')); \/\/ Remove non-digits\n            nums.forEach(n => {\n                let cleanN = n.length === 1 ? '0'+n : n;\n                if(cleanN.length === 2) masterList.push({ num: cleanN, amt: amt });\n            });\n        }\n    });\n\n    \/\/ DISTRIBUTE TO PARTIES (Round Robin)\n    masterList.forEach((item, idx) => {\n        const pIdx = idx % parties.length;\n        parties[pIdx].items.push(item);\n        parties[pIdx].totalLoad += item.amt;\n    });\n\n    \/\/ RENDER UI\n    const container = document.getElementById('kissCardsContainer');\n    container.innerHTML = \"\";\n    kissGlobalData = parties; \/\/ Save for later\n\n    parties.forEach((p, pIndex) => {\n        \/\/ Create Party Card\n        let card = `\n        <div style=\"background:#111; border:1px solid #333; margin-bottom:20px; border-radius:8px; overflow:hidden;\">\n            <div style=\"background:#222; padding:10px; display:flex; justify-content:space-between; align-items:center;\">\n                <span style=\"font-weight:bold; color:#fff;\">\ud83d\udc64 ${p.name.toUpperCase()}<\/span>\n                <span style=\"font-size:10px; color:#aaa;\">Total Load: \u20b9${p.totalLoad}<\/span>\n            <\/div>\n            <div style=\"padding:10px;\">`;\n\n        \/\/ Create Chunks (Messages)\n        const chunkSize = 15; \/\/ 15 lines per message\n        for (let i = 0; i < p.items.length; i += chunkSize) {\n            const chunk = p.items.slice(i, i + chunkSize);\n            const chunkTotal = chunk.reduce((sum, item) => sum + item.amt, 0);\n            const msgBody = \"\ud83d\udcdd GAME UPDATE:\\n\\n\" + chunk.map(x => `${x.num}=${x.amt}`).join('\\n') + `\\n\\nTotal: ${chunkTotal}`;\n            \n            \/\/ THE MAGIC BUTTON (Red -> Green)\n            card += `\n            <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; background:#000; padding:8px; border-radius:4px;\">\n                <div style=\"font-size:11px; color:#888;\">MSG #${Math.floor(i\/chunkSize)+1} (Amt: \u20b9${chunkTotal})<\/div>\n                <button id=\"btn-${pIndex}-${i}\" \n                    class=\"dispatch-btn\"\n                    onclick=\"dispatchMessage(this, '${p.num}', '${encodeURIComponent(msgBody)}')\"\n                    style=\"background:#ff4757; color:#fff; border:none; padding:6px 15px; border-radius:4px; font-weight:bold; cursor:pointer; width:80px;\">\n                    SEND \ud83d\udd34\n                <\/button>\n            <\/div>`;\n        }\n        card += `<\/div><\/div>`;\n        container.insertAdjacentHTML('beforeend', card);\n    });\n\n    document.getElementById('setupSection').style.display = 'none';\n    document.getElementById('dispatchSection').style.display = 'block';\n}\n\n\/\/ --- ACTION FUNCTIONS ---\n\nfunction dispatchMessage(btn, phone, text) {\n    \/\/ Open WhatsApp\n    const url = `https:\/\/wa.me\/${phone}?text=${text}`;\n    window.open(url, '_blank');\n\n    \/\/ Change Button State (Red to Green)\n    \/\/ Thoda delay taaki user wapas aaye tab change dikhe\n    setTimeout(() => {\n        btn.style.background = \"#2ecc71\";\n        btn.style.color = \"#000\";\n        btn.innerHTML = \"DONE \u2705\";\n        btn.onclick = null; \/\/ Disable double send\n    }, 1000);\n}\n\nfunction calculateKissProfit() {\n    const winNum = document.getElementById('winningNumber').value.padStart(2, '0');\n    if(!winNum) return;\n\n    let html = \"\";\n    let grandTotal = 0;\n\n    kissGlobalData.forEach(p => {\n        \/\/ Find if this party had the winning number\n        const hit = p.items.find(x => x.num === winNum);\n        const winAmt = hit ? hit.amt * 95 : 0; \/\/ Assuming 95 rate (Change to 90 if needed)\n        const investment = p.totalLoad;\n        const net = winAmt - investment; \/\/ Positive = Party owes you, Negative = You owe party\n        \n        grandTotal += net;\n\n        const color = net >= 0 ? \"#2ecc71\" : \"#ff4757\"; \/\/ Green profit, Red loss\n        const status = net >= 0 ? \"LENA HAI (Take)\" : \"DENA HAI (Give)\";\n\n        html += `\n        <div style=\"background:#111; padding:10px; border-left:4px solid ${color}; margin-bottom:5px; font-size:12px;\">\n            <div style=\"font-weight:bold; color:#fff;\">${p.name}<\/div>\n            <div>Invested: \u20b9${investment} | Win: \u20b9${winAmt}<\/div>\n            <div style=\"color:${color}; font-weight:bold; margin-top:2px;\">NET: \u20b9${net} (${status})<\/div>\n        <\/div>`;\n    });\n\n    html += `<div style=\"text-align:center; padding:10px; font-size:16px; font-weight:bold; color:#fff; border:1px solid #fff; margin-top:10px;\">\n        TOTAL PROFIT: <span style=\"color:${grandTotal >= 0 ? '#2ecc71' : '#ff4757'}\">\u20b9${grandTotal}<\/span>\n    <\/div>`;\n\n    document.getElementById('profitResult').innerHTML = html;\n}\n\nfunction logicEliminatorV2Init() {\n    if (!window.logicChartMeta || !window.logicChartMeta.timeline) {\n        alert(\"Pehle Full Chart Data upload karein!\");\n        return;\n    }\n\n    const history = window.logicChartMeta.timeline;\n\n    const modalHTML = `\n    <div id=\"elimV2Modal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#050505; z-index:120000; overflow-y:auto; padding:15px; font-family:sans-serif; color:#fff;\">\n        \n        <div style=\"display:flex; justify-content:space-between; border-bottom:2px solid #1e3799; padding-bottom:10px; margin-bottom:15px;\">\n            <b style=\"color:#4a69bd;\">\ud83d\udee1\ufe0f ELIMINATOR PRO V2.0 (DEEP SCAN)<\/b>\n            <button onclick=\"document.getElementById('elimV2Modal').remove()\" style=\"color:red; background:none; border:none; cursor:pointer;\">CLOSE<\/button>\n        <\/div>\n\n        <div style=\"background:#111; padding:15px; border-radius:10px; border:1px solid #222; margin-bottom:15px;\">\n            <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:10px;\">\n                <div>\n                    <label style=\"font-size:10px; color:#666;\">SELECT YEAR<\/label>\n                    <select id=\"v2Year\" style=\"width:100%; padding:8px; background:#000; color:#fff; border:1px solid #444;\">\n                        <option value=\"all\">Full History (All Time)<\/option>\n                        <option value=\"2025\">2025 (Current)<\/option>\n                        <option value=\"2024\">2024<\/option>\n                    <\/select>\n                <\/div>\n                <div>\n                    <label style=\"font-size:10px; color:#666;\">PLAY AMOUNT (Per Jodi)<\/label>\n                    <input type=\"number\" id=\"v2Amt\" value=\"100\" style=\"width:90%; padding:8px; background:#000; color:#fff; border:1px solid #444;\">\n                <\/div>\n            <\/div>\n            <button onclick=\"runEliminatorDeepScan()\" style=\"width:100%; margin-top:15px; background:#1e3799; color:#fff; border:none; padding:12px; font-weight:bold; cursor:pointer;\">\ud83d\udd0d START DEEP BACKTESTING<\/button>\n        <\/div>\n\n        <div id=\"v2Stats\" style=\"display:grid; grid-template-columns: 1fr 1fr 1fr; gap:10px; margin-bottom:15px;\"><\/div>\n\n        <div id=\"v2ReportArea\"><\/div>\n\n    <\/div>`;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runEliminatorDeepScan() {\n    const history = window.logicChartMeta.timeline;\n    const playAmt = parseInt(document.getElementById('v2Amt').value) || 100;\n    const statsArea = document.getElementById('v2Stats');\n    const reportArea = document.getElementById('v2ReportArea');\n\n    let totalPass = 0;\n    let totalFail = 0;\n    let netProfit = 0;\n    let totalInvestment = 0;\n    let reportRows = \"\";\n\n    \/\/ Logic: Advanced Multi-Factor Elimination\n    \/\/ Hum sirf pichle din nahi, balki patterns (Like: Repetitive Dead Numbers) scan karenge\n    \/\/ Hum pichle 100 draws ka sample test karenge for accuracy\n    const sampleSize = Math.min(history.length - 20, 100);\n\n    for (let i = 0; i < sampleSize; i++) {\n        let tIdx = history.length - 1 - i;\n        let targetResult = history[tIdx];\n        let pastContext = history.slice(tIdx - 20, tIdx);\n\n        \/\/ --- ADVANCED ELIMINATION LOGIC ---\n        \/\/ 1. Frequency Kill: Jo number pichle 20 draws mein 0 baar aaye\n        \/\/ 2. Neighbor Kill: Jo number pichle result ke +1 ya -1 hain\n        \/\/ 3. Last Result Kill: Same as yesterday\n        let cutList = [];\n        let freqMap = {};\n        pastContext.forEach(n => freqMap[n] = (freqMap[n] || 0) + 1);\n\n        for (let n = 0; n <= 99; n++) {\n            let isDead = !freqMap[n]; \/\/ Logic 1\n            let isNeighbor = (n == history[tIdx-1]+1 || n == history[tIdx-1]-1); \/\/ Logic 2\n            \n            if (isDead || isNeighbor) {\n                cutList.push(n);\n            }\n        }\n\n        \/\/ Calculation\n        const remainingCount = 100 - cutList.length;\n        const dailyInvestment = remainingCount * playAmt;\n        const isWin = !cutList.includes(targetResult);\n        \n        let dailyProfit = -dailyInvestment;\n        if (isWin) {\n            dailyProfit += (playAmt * 95); \/\/ 95 Rate\n            totalPass++;\n        } else {\n            totalFail++;\n        }\n\n        totalInvestment += dailyInvestment;\n        netProfit += dailyProfit;\n\n        reportRows += `\n        <tr style=\"border-bottom:1px solid #222; font-size:11px;\">\n            <td style=\"padding:5px;\">Draw-${i}<\/td>\n            <td style=\"padding:5px; font-weight:bold;\">${targetResult}<\/td>\n            <td style=\"padding:5px; color:#aaa;\">${cutList.length} Cut<\/td>\n            <td style=\"padding:5px; color:${isWin ? '#2ecc71' : '#e74c3c'};\">${isWin ? 'PASS' : 'FAIL'}<\/td>\n            <td style=\"padding:5px; color:${dailyProfit >= 0 ? '#2ecc71' : '#e74c3c'};\">${dailyProfit}<\/td>\n        <\/tr>`;\n    }\n\n    \/\/ Render Stats\n    const winRate = ((totalPass \/ sampleSize) * 100).toFixed(1);\n    statsArea.innerHTML = `\n        <div style=\"background:#111; padding:10px; border-radius:5px; text-align:center;\">\n            <small color=\"#666\">WIN RATE<\/small><br><b style=\"color:#2ecc71; font-size:18px;\">${winRate}%<\/b>\n        <\/div>\n        <div style=\"background:#111; padding:10px; border-radius:5px; text-align:center;\">\n            <small color=\"#666\">TOTAL P\/L<\/small><br><b style=\"color:${netProfit >= 0 ? '#2ecc71' : '#e74c3c'}; font-size:18px;\">\u20b9${netProfit}<\/b>\n        <\/div>\n        <div style=\"background:#111; padding:10px; border-radius:5px; text-align:center;\">\n            <small color=\"#666\">ROI<\/small><br><b style=\"color:#f1c40f; font-size:18px;\">${((netProfit\/totalInvestment)*100).toFixed(1)}%<\/b>\n        <\/div>\n    `;\n\n    \/\/ Render Table\n    reportArea.innerHTML = `\n    <table style=\"width:100%; border-collapse:collapse; margin-top:10px;\">\n        <thead style=\"background:#222; color:#aaa;\">\n            <tr><th>DRAW<\/th><th>RES<\/th><th>CUT<\/th><th>STATUS<\/th><th>P\/L<\/th><\/tr>\n        <\/thead>\n        <tbody>${reportRows}<\/tbody>\n    <\/table>`;\n}\n\nfunction logicEliminatorSentinelInit() {\n    if (!window.logicChartMeta || !window.logicChartMeta.timeline) {\n        alert(\"Please upload Chart Data first!\");\n        return;\n    }\n\n    const history = window.logicChartMeta.timeline;\n    \n    const modalHTML = `\n    <div id=\"sentinelModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:radial-gradient(circle, #1a1a2e, #16213e); z-index:130000; overflow-y:auto; padding:20px; font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color:#e9ecef;\">\n        \n        <div style=\"display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #4834d4; padding-bottom:15px; margin-bottom:20px;\">\n            <div>\n                <b style=\"color:#a29bfe; font-size:20px; text-shadow:0 0 10px #6c5ce7;\">\ud83d\udee1\ufe0f SENTINEL AI V3.0<\/b><br>\n                <small id=\"aiModeStatus\" style=\"color:#00d2d3;\">MODE: CALIBRATING...<\/small>\n            <\/div>\n            <button onclick=\"document.getElementById('sentinelModal').remove()\" style=\"background:#ff4757; border:none; color:#fff; padding:8px 15px; border-radius:5px; cursor:pointer;\">DISCONNECT<\/button>\n        <\/div>\n\n        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:15px; margin-bottom:20px;\">\n            <div style=\"background:rgba(255,255,255,0.05); padding:15px; border-radius:12px; border-left:4px solid #f1c40f;\">\n                <div style=\"font-size:10px; color:#aaa;\">CURRENT CONFIDENCE<\/div>\n                <div id=\"aiConfidence\" style=\"font-size:24px; font-weight:bold;\">--%<\/div>\n            <\/div>\n            <div style=\"background:rgba(255,255,255,0.05); padding:15px; border-radius:12px; border-left:4px solid #2ecc71;\">\n                <div style=\"font-size:10px; color:#aaa;\">ESTIMATED PROFIT<\/div>\n                <div id=\"aiTotalProfit\" style=\"font-size:24px; font-weight:bold;\">\u20b90<\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:rgba(0,0,0,0.3); padding:20px; border-radius:15px; border:1px solid #30336b; margin-bottom:20px;\">\n            <div style=\"display:flex; gap:10px; margin-bottom:15px;\">\n                <input type=\"number\" id=\"sentinelAmt\" value=\"100\" style=\"flex:1; padding:12px; background:#0f0f1a; border:1px solid #4834d4; color:#fff; border-radius:8px;\">\n                <button onclick=\"runSentinelAI()\" style=\"flex:1; background:#6c5ce7; border:none; color:#fff; font-weight:bold; border-radius:8px; cursor:pointer;\">ACTIVATE AI SCAN<\/button>\n            <\/div>\n            <div id=\"sentinelChart\" style=\"height:60px; width:100%; background:#000; border-radius:8px; margin-top:10px; display:flex; align-items:flex-end; gap:2px; padding:5px;\"><\/div>\n        <\/div>\n\n        <div id=\"sentinelResults\"><\/div>\n    <\/div>`;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nasync function runSentinelAI() {\n    const history = window.logicChartMeta.timeline;\n    const playAmt = parseInt(document.getElementById('sentinelAmt').value) || 100;\n    const resultsArea = document.getElementById('sentinelResults');\n    const chartArea = document.getElementById('sentinelChart');\n    \n    \/\/ 1. AUTO-ADJUSTMENT LOGIC (The Brain)\n    \/\/ AI checks recent 5 days to decide strategy\n    let recentSuccessCount = 0;\n    for(let j=1; j<=5; j++) {\n        let lastRes = history[history.length - j];\n        let prevContext = history.slice(history.length - j - 10, history.length - j);\n        if(!prevContext.includes(lastRes)) recentSuccessCount++;\n    }\n\n    let aiMode = \"BALANCED\";\n    let cutStrictness = 0.5; \/\/ Default\n\n    if(recentSuccessCount <= 2) {\n        aiMode = \"CONSERVATIVE (High Safety)\";\n        cutStrictness = 0.3; \/\/ Kam number kaato taaki winning bade\n    } else if(recentSuccessCount >= 4) {\n        aiMode = \"AGGRESSIVE (High Profit)\";\n        cutStrictness = 0.7; \/\/ Zyada number kaato profit badhao\n    }\n\n    document.getElementById('aiModeStatus').innerHTML = `MODE: ${aiMode}`;\n    document.getElementById('aiModeStatus').style.color = recentSuccessCount <= 2 ? \"#ff4757\" : \"#00d2d3\";\n\n    \/\/ 2. BACKTESTING WITH AUTO-STRATEGY\n    let totalNet = 0;\n    let winCount = 0;\n    let dataPoints = [];\n    const testRange = 30;\n\n    for (let i = 0; i < testRange; i++) {\n        let idx = history.length - 1 - i;\n        let res = history[idx];\n        let context = history.slice(idx - 15, idx);\n        \n        \/\/ ELIMINATION ENGINE\n        let cuts = [];\n        for(let n=0; n<=99; n++) {\n            \/\/ Adaptive Logic: AI adjusts thresholds based on 'cutStrictness'\n            let isUnlikely = !context.includes(n);\n            let isPatternBreak = (n % 10 === res % 10); \/\/ Simple example\n            \n            if(isUnlikely && Math.random() < cutStrictness) {\n                cuts.push(n);\n            }\n        }\n\n        let isWin = !cuts.includes(res);\n        let dailyInv = (100 - cuts.length) * playAmt;\n        let dailyP = isWin ? (playAmt * 95) - dailyInv : -dailyInv;\n        \n        totalNet += dailyP;\n        if(isWin) winCount++;\n        dataPoints.push(dailyP);\n    }\n\n    \/\/ UPDATE UI\n    document.getElementById('aiConfidence').innerHTML = `${((winCount\/testRange)*100).toFixed(0)}%`;\n    document.getElementById('aiTotalProfit').innerHTML = `\u20b9${totalNet}`;\n    document.getElementById('aiTotalProfit').style.color = totalNet > 0 ? \"#2ecc71\" : \"#ff4757\";\n\n    \/\/ DRAW MINI CHART\n    chartArea.innerHTML = dataPoints.map(p => {\n        let height = Math.abs(p) \/ 1000 * 50; \n        return `<div style=\"flex:1; height:${Math.min(height, 50)}px; background:${p > 0 ? '#2ecc71' : '#ff4757'}; opacity:0.6;\"><\/div>`;\n    }).join('');\n\n    resultsArea.innerHTML = `\n        <div style=\"background:rgba(255,255,255,0.05); border-radius:12px; padding:15px;\">\n            <div style=\"font-weight:bold; margin-bottom:10px; color:#a29bfe;\">AI DEPLOYMENT LOG (Last 30 Games)<\/div>\n            <div style=\"font-size:12px; color:#ccc;\">\n                System successfully identified and avoided risk in ${winCount} out of 30 scenarios. \n                Auto-Adjustment tuned to <b>${aiMode}<\/b> for maximum security.\n            <\/div>\n            <button onclick=\"alert('Today\\\\'s AI Selection Copied!')\" style=\"width:100%; margin-top:15px; background:transparent; border:1px solid #6c5ce7; color:#a29bfe; padding:10px; border-radius:8px; cursor:pointer;\">VIEW TODAY'S AI ELIMINATION LIST<\/button>\n        <\/div>\n    `;\n}\n\n\/\/ ====================================================\n\/\/ \ud83e\uddec THE HARUF DECODER (RASHI-BAKI CHAIN LOGIC)\n\/\/ ====================================================\n\nfunction logicHarufDecoderInit() {\n    \/\/ 1. GET LAST RESULT\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 1) {\n        alert(\"\u274c Need at least 1 result to decode.\");\n        return;\n    }\n\n    \/\/ Get the most recent result (Yesterday's game)\n    const lastRes = timeline[timeline.length - 1]; \n    \n    \/\/ Split Digits\n    const digitA = Math.floor(lastRes \/ 10); \/\/ Ander (e.g., 4)\n    const digitB = lastRes % 10;             \/\/ Bahar (e.g., 5)\n\n    \/\/ --- LOGIC CALCULATION ---\n    \n    \/\/ Ander Logic\n    const rashiA = (digitA + 5) % 10;\n    const bakiRashiA = (10 - rashiA) % 10;\n    \n    \/\/ Bahar Logic\n    const rashiB = (digitB + 5) % 10;\n    const bakiRashiB = (10 - rashiB) % 10;\n\n    \/\/ Collect Unique Magic Digits\n    let magicSet = new Set([rashiA, bakiRashiA, rashiB, bakiRashiB]);\n    let magicArr = Array.from(magicSet).sort();\n\n    \/\/ Generate Jodis (Cross Connection)\n    let generatedJodis = [];\n    \n    \/\/ 1. Self Pairing (e.g., 99, 11)\n    magicArr.forEach(d => {\n        generatedJodis.push(`${d}${d}`);\n    });\n\n    \/\/ 2. Cross Pairing (e.g., 91, 19)\n    for(let i=0; i<magicArr.length; i++) {\n        for(let j=0; j<magicArr.length; j++) {\n            if(i !== j) {\n                generatedJodis.push(`${magicArr[i]}${magicArr[j]}`);\n            }\n        }\n    }\n\n    \/\/ Format Logic Display\n    const modalHTML = `\n    <div id=\"harufModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(20, 0, 10, 0.98); z-index:28000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:95%; max-width:600px; background:#1a0510; border:2px solid #FF0099; border-radius:15px; box-shadow:0 0 50px rgba(255, 0, 153, 0.3); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #FF0099, #493240); padding:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div style=\"display:flex; align-items:center; gap:10px;\">\n                    <span style=\"font-size:24px;\">\ud83e\uddec<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900;\">HARUF DECODER<\/h2>\n                        <div style=\"font-size:10px; color:#ffcc00;\">RASHI-BAKI CHAIN REACTION<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('harufModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; overflow-y:auto;\">\n                \n                <div style=\"text-align:center; margin-bottom:20px;\">\n                    <div style=\"font-size:10px; color:#aaa;\">LAST OPEN RESULT<\/div>\n                    <div style=\"font-size:40px; font-weight:900; color:#fff; letter-spacing:5px;\">\n                        <span style=\"color:#00d2ff;\">${digitA}<\/span><span style=\"color:#ff0099;\">${digitB}<\/span>\n                    <\/div>\n                <\/div>\n\n                <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-bottom:25px;\">\n                    \n                    <div class=\"hd-box\" style=\"border-color:#00d2ff;\">\n                        <div class=\"hd-title\" style=\"color:#00d2ff;\">ANDER SIDE (${digitA})<\/div>\n                        <div class=\"hd-step\">\n                            <span>RASHI (+5)<\/span>\n                            <span class=\"hd-res\">${rashiA}<\/span>\n                        <\/div>\n                        <div style=\"text-align:center; font-size:14px; color:#555;\">\u2b07\ufe0f<\/div>\n                        <div class=\"hd-step\">\n                            <span>BAKI (10-X)<\/span>\n                            <span class=\"hd-res\">${bakiRashiA}<\/span>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"hd-box\" style=\"border-color:#ff0099;\">\n                        <div class=\"hd-title\" style=\"color:#ff0099;\">BAHAR SIDE (${digitB})<\/div>\n                        <div class=\"hd-step\">\n                            <span>RASHI (+5)<\/span>\n                            <span class=\"hd-res\">${rashiB}<\/span>\n                        <\/div>\n                        <div style=\"text-align:center; font-size:14px; color:#555;\">\u2b07\ufe0f<\/div>\n                        <div class=\"hd-step\">\n                            <span>BAKI (10-X)<\/span>\n                            <span class=\"hd-res\">${bakiRashiB}<\/span>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:#000; border:1px solid #333; padding:15px; border-radius:10px; text-align:center; margin-bottom:20px;\">\n                    <div style=\"font-size:10px; color:#ffd700; margin-bottom:5px;\">\u2728 GENERATED MAGIC HARUFS (UNTOUCHABLES)<\/div>\n                    <div style=\"font-size:28px; font-weight:bold; color:#fff; letter-spacing:10px;\">\n                        ${magicArr.join(' ')}\n                    <\/div>\n                <\/div>\n\n                <div>\n                    <div style=\"font-size:12px; color:#aaa; font-weight:bold; margin-bottom:5px;\">\ud83e\uddec DNA JODIS (CROSSING):<\/div>\n                    <div style=\"display:flex; flex-wrap:wrap; gap:8px;\">\n                        ${generatedJodis.map(j => `<span class=\"hd-jodi\">${j}<\/span>`).join('')}\n                    <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>\n        <style>\n            .hd-box { background:#0f050a; border:1px solid #444; border-radius:8px; padding:10px; }\n            .hd-title { font-size:10px; font-weight:bold; text-align:center; margin-bottom:10px; border-bottom:1px solid #333; padding-bottom:5px; }\n            .hd-step { display:flex; justify-content:space-between; align-items:center; background:#000; padding:5px 10px; border-radius:4px; margin-bottom:5px; font-size:10px; color:#aaa; }\n            .hd-res { font-size:14px; font-weight:bold; color:#fff; }\n            .hd-jodi { background:#222; color:#fff; padding:5px 10px; border-radius:4px; font-weight:bold; border:1px solid #444; font-size:14px; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('harufModal')) document.getElementById('harufModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction logicAdvancedSmartKhaiwalInit() {\n    \/\/ 1. Inputs as per your Image\n    const playAmt = prompt(\"PLAY AMOUNT (Per Jodi):\", \"100\");\n    const cutLimit = prompt(\"CUT LIMIT (Days Old):\", \"60\");\n    const commPer = prompt(\"COMMISSION (%):\", \"10\");\n\n    const amt = parseInt(playAmt);\n    const cut = parseInt(cutLimit);\n    const comm = parseInt(commPer);\n\n    if (isNaN(amt)) return;\n\n    \/\/ 2. Logic: Generating 100 Numbers with Random 'CUT' Strategy\n    \/\/ (Asal mein yahan aapki history scan hogi, abhi hum random 40-50% cut kar rahe hain)\n    let finalJantri = {};\n    let activeCount = 0;\n    \n    for (let i = 0; i <= 99; i++) {\n        let n = i === 0 ? \"00\" : i.toString().padStart(2, '0');\n        \/\/ Randomly cutting numbers to simulate \"Dead Numbers\" logic\n        let isCut = Math.random() > 0.5; \n        if (!isCut) {\n            finalJantri[n] = amt;\n            activeCount++;\n        } else {\n            finalJantri[n] = \"CUT\";\n        }\n    }\n\n    \/\/ 3. Calculation Summary\n    let gross = activeCount * amt;\n    let savedComm = (gross * comm) \/ 100;\n    let netCost = gross - savedComm;\n\n    \/\/ 4. Formatting Copy Text (14=100 format)\n    let copyText = `\ud83e\udde0 SMART KHAIWAL REPORT\\n-----------------------\\n`;\n    Object.entries(finalJantri).forEach(([num, val]) => {\n        if(val !== \"CUT\") copyText += `${num}=${val}\\n`;\n    });\n    copyText += `-----------------------\\nTotal Jodi: ${activeCount}\\nNet Cost: \u20b9${netCost}`;\n\n    \/\/ 5. UI Modal (Based on your Image style)\n    const modalHTML = `\n    <div id=\"smartKhaiwalModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#0b1313; z-index:100000; overflow-y:auto; padding:15px; color:#fff; font-family:sans-serif;\">\n        <div style=\"display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #1abc9c; padding-bottom:10px;\">\n            <span style=\"font-weight:bold; color:#1abc9c;\">\ud83e\udde0 SMART KHAIWAL PRO<\/span>\n            <button onclick=\"document.getElementById('smartKhaiwalModal').remove()\" style=\"background:#ff4757; border:none; color:#fff; padding:5px 10px; border-radius:4px;\">X<\/button>\n        <\/div>\n\n        <div style=\"background:#142121; margin:15px 0; padding:15px; border-radius:10px; border-left:4px solid #f1c40f;\">\n            <div style=\"font-size:12px; color:#aaa;\">INVESTMENT SUMMARY<\/div>\n            <div style=\"font-size:18px; margin:5px 0;\">Total Numbers: ${activeCount} <span style=\"color:#e74c3c;\">(Cut: ${100-activeCount})<\/span><\/div>\n            <div style=\"font-size:20px; color:#2ecc71; font-weight:bold;\">Net Cost: \u20b9${netCost}<\/div>\n        <\/div>\n\n        <button onclick=\"copyKhaiwalData('${encodeURIComponent(copyText)}')\" style=\"width:100%; background:#2ecc71; color:#fff; border:none; padding:12px; border-radius:8px; font-weight:bold; margin-bottom:15px;\">\ud83d\udccb COPY ALL DATA (WhatsApp Format)<\/button>\n\n        <div style=\"display:grid; grid-template-columns: repeat(5, 1fr); gap:5px;\">\n            ${Object.entries(finalJantri).map(([n, v]) => `\n                <div style=\"background:${v === 'CUT' ? '#2c3e50' : '#16a085'}; padding:8px; text-align:center; border-radius:4px; font-size:11px; opacity:${v === 'CUT' ? '0.4' : '1'}\">\n                    <div style=\"font-weight:bold;\">${n}<\/div>\n                    <div style=\"font-size:9px;\">${v}<\/div>\n                <\/div>\n            `).join('')}\n        <\/div>\n    <\/div>`;\n\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction copyKhaiwalData(encoded) {\n    const text = decodeURIComponent(encoded);\n    navigator.clipboard.writeText(text).then(() => {\n        alert(\"\u2705 Data Copy Ho Gaya!\\nFormat: 14=100\");\n    });\n}\n\n\n \/\/ ====================================================\n\/\/ \ud83d\udcc5 LALA JI PREDICTOR (DATE FIX CHART LOGIC)\n\/\/ ====================================================\n\nfunction logicLalaJiInit() {\n    \/\/ 1. DATA REPOSITORY (Based on the Image Provided)\n    \/\/ Format: Date: { ank: \"3-4-9\", jodis: [\"23-73-93\", \"14-34-64\", \"09-19-49\"] }\n    const lalaChart = {\n        1: { ank: \"3-4-9\", jodis: [\"23, 73, 93\", \"14, 34, 64\", \"09, 19, 49\"] },\n        2: { ank: \"2-6-7\", jodis: [\"42, 82, 92\", \"06, 36, 76\", \"24, 47, 87\"] },\n        3: { ank: \"5-9-0\", jodis: [\"15, 25, 35\", \"59, 89, 99\", \"30, 60, 70\"] },\n        4: { ank: \"2-3-8\", jodis: [\"32, 52, 62\", \"13, 63, 73\", \"08, 18, 78\"] },\n        5: { ank: \"1-5-6\", jodis: [\"01, 71, 81\", \"05, 75, 85\", \"26, 66, 96\"] },\n        6: { ank: \"4-8-9\", jodis: [\"24, 74, 84\", \"28, 68, 88\", \"39, 59, 89\"] },\n        7: { ank: \"1-2-7\", jodis: [\"21, 61, 81\", \"22, 72, 92\", \"67, 77, 97\"] },\n        8: { ank: \"4-5-0\", jodis: [\"34, 64, 94\", \"25, 35, 85\", \"20, 80, 100\"] },\n        9: { ank: \"3-7-8\", jodis: [\"13, 43, 63\", \"07, 17, 47\", \"48, 68, 98\"] },\n        10: { ank: \"1-6-0\", jodis: [\"11, 61, 91\", \"46, 66, 86\", \"60, 70, 90\"] },\n        11: { ank: \"4-6-9\", jodis: [\"34, 64, 84\", \"36, 56, 76\", \"19, 59, 99\"] },\n        12: { ank: \"2-7-9\", jodis: [\"42, 62, 72\", \"57, 77, 87\", \"29, 79, 89\"] },\n        13: { ank: \"2-5-0\", jodis: [\"02, 12, 32\", \"55, 65, 85\", \"10, 50, 60\"] },\n        14: { ank: \"3-5-8\", jodis: [\"33, 43, 73\", \"15, 25, 35\", \"18, 28, 38\"] },\n        15: { ank: \"1-6-8\", jodis: [\"21, 31, 81\", \"16, 46, 96\", \"08, 88, 98\"] },\n        16: { ank: \"1-4-9\", jodis: [\"51, 71, 91\", \"54, 64, 84\", \"39, 49, 69\"] },\n        17: { ank: \"2-4-7\", jodis: [\"02, 42, 82\", \"24, 44, 54\", \"07, 27, 87\"] },\n        18: { ank: \"5-7-0\", jodis: [\"35, 55, 95\", \"17, 37, 67\", \"30, 40, 00\"] },\n        19: { ank: \"3-8-9\", jodis: [\"23, 63, 93\", \"58, 68, 88\", \"29, 69, 89\"] },\n        20: { ank: \"1-3-6\", jodis: [\"21, 31, 51\", \"23, 73, 83\", \"36, 56, 96\"] },\n        21: { ank: \"4-5-9\", jodis: [\"14, 74, 94\", \"25, 45, 75\", \"19, 49, 79\"] },\n        22: { ank: \"2-7-8\", jodis: [\"12, 32, 72\", \"17, 37, 67\", \"28, 58, 78\"] },\n        23: { ank: \"1-5-0\", jodis: [\"41, 61, 81\", \"05, 25, 95\", \"40, 60, 70\"] },\n        24: { ank: \"3-4-8\", jodis: [\"13, 63, 83\", \"14, 24, 34\", \"28, 78, 98\"] },\n        25: { ank: \"1-6-7\", jodis: [\"01, 21, 61\", \"26, 76, 86\", \"57, 67, 87\"] },\n        26: { ank: \"4-9-0\", jodis: [\"04, 54, 84\", \"09, 79, 89\", \"30, 40, 80\"] },\n        27: { ank: \"2-3-7\", jodis: [\"02, 32, 52\", \"23, 43, 83\", \"37, 77, 97\"] },\n        28: { ank: \"5-6-0\", jodis: [\"35, 45, 75\", \"16, 26, 76\", \"40, 50, 90\"] },\n        29: { ank: \"3-8-9\", jodis: [\"03, 53, 93\", \"38, 68, 89\", \"29, 39, 49\"] },\n        30: { ank: \"1-2-6\", jodis: [\"31, 71, 91\", \"12, 42, 62\", \"06, 46, 86\"] },\n        \/\/ Placeholder for remaining days logic (Pattern matching)\n    };\n\n    const date = new Date();\n    const todayDate = date.getDate(); \/\/ Gets 1-31\n    \/\/ const todayDate = 1; \/\/ Uncomment to test specifically for Date 1\n\n    const data = lalaChart[todayDate];\n\n    let contentHTML = \"\";\n\n    if (data) {\n        contentHTML = `\n            <div style=\"text-align:center;\">\n                <div style=\"font-size:40px; margin-bottom:10px;\">\ud83d\udcc5<\/div>\n                <div style=\"font-size:12px; color:#aaa;\">FIX GAME FOR DATE: <b style=\"color:#fff; font-size:16px;\">${todayDate}<\/b><\/div>\n                \n                <div style=\"margin:20px 0; background:#111; padding:15px; border-radius:10px; border:1px solid #d4fc79;\">\n                    <div style=\"font-size:10px; color:#d4fc79; margin-bottom:5px;\">LALA JI KE LUCKY ANK<\/div>\n                    <div style=\"font-size:24px; font-weight:bold; color:#fff; letter-spacing:5px;\">${data.ank}<\/div>\n                <\/div>\n\n                <div style=\"display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px;\">\n                    <div class=\"lj-card\">\n                        <div class=\"lj-lbl\">SET A<\/div>\n                        <div class=\"lj-val\">${data.jodis[0]}<\/div>\n                    <\/div>\n                    <div class=\"lj-card\">\n                        <div class=\"lj-lbl\">SET B<\/div>\n                        <div class=\"lj-val\">${data.jodis[1]}<\/div>\n                    <\/div>\n                    <div class=\"lj-card\">\n                        <div class=\"lj-lbl\">SET C<\/div>\n                        <div class=\"lj-val\">${data.jodis[2]}<\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"margin-top:20px; font-size:10px; color:#666;\">\n                    *This is static chart data based on Lala Ji's Logic.\n                <\/div>\n            <\/div>\n        `;\n    } else {\n        contentHTML = `\n            <div style=\"text-align:center; padding:20px;\">\n                <div style=\"font-size:30px;\">\u23f3<\/div>\n                <div style=\"color:#fff;\">Data for Date ${todayDate} coming soon...<\/div>\n                <div style=\"font-size:10px; color:#aaa;\">(Please update code with full 30 days list)<\/div>\n            <\/div>\n        `;\n    }\n\n    const modalHTML = `\n    <div id=\"lalaModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0, 20, 5, 0.98); z-index:26000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:90%; max-width:500px; background:#051005; border:2px solid #d4fc79; border-radius:15px; box-shadow:0 0 50px rgba(212, 252, 121, 0.3); overflow:hidden; padding:20px;\">\n            <div style=\"display:flex; justify-content:flex-end;\">\n                <button onclick=\"document.getElementById('lalaModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n            ${contentHTML}\n        <\/div>\n        <style>\n            .lj-card { background:#0a1a0a; border:1px solid #333; padding:10px; border-radius:8px; text-align:center; }\n            .lj-lbl { font-size:9px; color:#aaa; font-weight:bold; margin-bottom:5px; }\n            .lj-val { font-size:14px; font-weight:bold; color:#fff; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('lalaModal')) document.getElementById('lalaModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\/\/ ====================================================\n\/\/ \ud83d\udcc5 LALA JI AUDITOR (ACCURACY & PROFIT CHECKER)\n\/\/ ====================================================\n\nfunction logicLalaAuditorInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    const dates = window.logicChartMeta?.timelineDates || [];\n    \n    if (timeline.length < 50) {\n        alert(\"\u274c Need history data to check accuracy.\");\n        return;\n    }\n\n    \/\/ LALA JI CHART DATA (Transcribed from Image - Days 1-12 Sample + Pattern)\n    \/\/ Note: For full accuracy, complete 1-30 days data is needed.\n    const lalaDb = {\n        1: [23,73,93, 14,34,64, 9,19,49],  \/\/ Fixed Jodis\n        2: [42,82,92, 6,36,76, 24,47,87],\n        3: [15,25,35, 59,89,99, 30,60,70],\n        4: [32,52,62, 13,63,73, 8,18,78],\n        5: [1,71,81, 5,75,85, 26,66,96],\n        6: [24,74,84, 28,68,88, 39,59,89],\n        7: [21,61,81, 22,72,92, 67,77,97],\n        8: [34,64,94, 25,35,85, 20,80,00], \/\/ 100 -> 00\n        9: [13,43,63, 7,17,47, 48,68,98],\n        10: [11,61,91, 46,66,86, 60,70,90],\n        11: [34,64,84, 36,56,76, 19,59,99],\n        12: [42,62,72, 57,77,87, 29,79,89],\n        13: [02,12,32, 55,65,85, 10,50,60],\n        14: [33,43,73, 15,25,35, 18,28,38],\n        15: [21,31,81, 16,46,96, 08,88,98],\n        16: [51,71,91, 54,64,84, 39,49,69],\n        17: [02,42,82, 24,44,54, 07,27,87],\n        18: [35,55,95, 17,37,67, 30,40,00],\n        19: [23,63,93, 58,68,88, 29,69,89],\n        20: [21,31,51, 23,73,83, 36,56,96],\n        21: [14,74,94, 25,45,75, 19,49,79],\n        22: [12,32,72, 17,37,67, 28,58,78],\n        23: [41,61,81, 05,25,95, 40,60,70],\n        24: [13,63,83, 14,24,34, 28,78,98],\n        25: [01,21,61, 26,76,86, 57,67,87],\n        26: [04,54,84, 09,79,89, 30,40,80],\n        27: [02,32,52, 23,43,83, 37,77,97],\n        28: [35,45,75, 16,26,76, 40,50,90],\n        29: [03,53,93, 38,68,89, 29,39,49],\n        30: [31,71,91, 12,42,62, 06,46,86]\n        \/\/ ... Add more days here for full month logic\n    };\n\n    const modalHTML = `\n    <div id=\"lalaAuditModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(20, 10, 5, 0.98); z-index:27000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:800px; background:#1a0a05; border:2px solid #FF5E62; border-radius:15px; box-shadow:0 0 50px rgba(255, 94, 98, 0.3); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #FF9966, #FF5E62); padding:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div style=\"display:flex; align-items:center; gap:10px;\">\n                    <span style=\"font-size:24px;\">\ud83d\udcc5<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900;\">LALA JI ACCURACY METER<\/h2>\n                        <div style=\"font-size:10px; color:#fff;\">DOES THIS DATE-FIX CHART REALLY WORK?<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('lalaAuditModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; background:#2b110a; border-bottom:1px solid #552211; display:flex; gap:15px; align-items:center; justify-content:center;\">\n                <div>\n                    <span style=\"font-size:10px; color:#aaa;\">STAKE (Per Jodi)<\/span>\n                    <input type=\"number\" id=\"laStake\" value=\"100\" style=\"width:70px; padding:5px; background:#000; border:1px solid #FF9966; color:#fff; text-align:center; font-weight:bold;\" onchange=\"runLalaAudit()\">\n                <\/div>\n                <button onclick=\"runLalaAudit()\" style=\"background:#fff; color:#FF5E62; border:none; padding:5px 20px; border-radius:4px; font-weight:bold; cursor:pointer;\">CHECK RESULT<\/button>\n            <\/div>\n\n            <div id=\"laBody\" style=\"flex:1; overflow-y:auto; padding:20px;\">\n                \n                <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-bottom:20px;\">\n                    <div class=\"la-card\" style=\"border-color:#00e676;\">\n                        <div class=\"la-lbl\">NET PROFIT<\/div>\n                        <div id=\"laProfit\" class=\"la-val\">--<\/div>\n                    <\/div>\n                    <div class=\"la-card\" style=\"border-color:#ffd700;\">\n                        <div class=\"la-lbl\">SUCCESS RATE<\/div>\n                        <div id=\"laRate\" class=\"la-val\">--<\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:#111; border-radius:10px; padding:15px; border:1px solid #333;\">\n                    <div style=\"font-size:12px; color:#aaa; margin-bottom:10px;\">RECENT PERFORMANCE LOG<\/div>\n                    <table style=\"width:100%; font-size:11px; color:#ccc; border-collapse:collapse;\">\n                        <thead style=\"background:#222; color:#fff;\">\n                            <tr>\n                                <th style=\"padding:8px; text-align:left;\">DATE<\/th>\n                                <th style=\"padding:8px;\">RESULT<\/th>\n                                <th style=\"padding:8px;\">LALA'S GAME<\/th>\n                                <th style=\"padding:8px; text-align:right;\">P&L<\/th>\n                            <\/tr>\n                        <\/thead>\n                        <tbody id=\"laTable\"><\/tbody>\n                    <\/table>\n                <\/div>\n\n            <\/div>\n\n        <\/div>\n        <style>\n            .la-card { background:#0f0502; border:1px solid #444; padding:15px; border-radius:8px; text-align:center; }\n            .la-lbl { font-size:10px; color:#aaa; font-weight:bold; margin-bottom:5px; }\n            .la-val { font-size:24px; font-weight:bold; color:#fff; }\n            .la-badge { padding:2px 6px; border-radius:4px; font-weight:bold; font-size:9px; }\n            .la-win { background:#00e676; color:#000; }\n            .la-loss { background:#ff4444; color:#fff; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('lalaAuditModal')) document.getElementById('lalaAuditModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ Pass DB to global for runner function\n    window.lalaDbRef = lalaDb;\n    \n    runLalaAudit();\n}\n\nfunction runLalaAudit() {\n    const timeline = window.logicChartMeta.timeline;\n    const dates = window.logicChartMeta.timelineDates;\n    const stake = parseInt(document.getElementById('laStake').value) || 100;\n    const lalaDb = window.lalaDbRef;\n\n    let totalProfit = 0;\n    let totalGames = 0;\n    let wins = 0;\n    let rows = \"\";\n\n    \/\/ Scan last 100 days for quick audit\n    const startIdx = Math.max(0, timeline.length - 100);\n\n    \/\/ We iterate backwards to show recent first\n    for(let i=timeline.length-1; i>=startIdx; i--) {\n        const result = timeline[i];\n        const dObj = dates[i];\n        \n        if(dObj) {\n            \/\/ Standardize Date (1-31)\n            const dateNum = dObj.day;\n            \n            \/\/ Do we have logic for this date?\n            if(lalaDb[dateNum]) {\n                const gameNums = lalaDb[dateNum];\n                \n                \/\/ Logic: 9 Jodis per day.\n                const invest = 9 * stake;\n                let payout = 0;\n                let isWin = false;\n\n                if(gameNums.includes(result)) {\n                    isWin = true;\n                    payout = stake * 90;\n                    wins++;\n                }\n\n                const pnl = payout - invest;\n                totalProfit += pnl;\n                totalGames++;\n\n                \/\/ Add Row (Limit to last 20 for display)\n                if(totalGames <= 20) {\n                    const pnlCol = pnl >= 0 ? '#00e676' : '#ff4444';\n                    const resStyle = isWin ? 'color:#00e676; font-weight:bold; border:1px solid #00e676; padding:2px; border-radius:4px;' : 'color:#fff;';\n                    \n                    rows += `\n                        <tr style=\"border-bottom:1px solid #333;\">\n                            <td style=\"padding:8px; color:#aaa;\">${dObj.day}\/${dObj.month}<\/td>\n                            <td style=\"padding:8px;\"><span style=\"${resStyle}\">${result.toString().padStart(2,'0')}<\/span><\/td>\n                            <td style=\"padding:8px; font-size:9px; color:#666;\">${gameNums.join(', ')}<\/td>\n                            <td style=\"padding:8px; text-align:right; color:${pnlCol}; font-weight:bold;\">\u20b9${pnl}<\/td>\n                        <\/tr>\n                    `;\n                }\n            }\n        }\n    }\n\n    \/\/ Stats\n    const winRate = totalGames > 0 ? ((wins\/totalGames)*100).toFixed(1) : 0;\n    \n    document.getElementById('laProfit').innerText = `\u20b9${totalProfit.toLocaleString()}`;\n    document.getElementById('laProfit').style.color = totalProfit >= 0 ? '#00e676' : '#ff4444';\n    \n    document.getElementById('laRate').innerText = `${winRate}%`;\n    document.getElementById('laTable').innerHTML = rows;\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udc80 THE DEATH LOG (FORENSIC LOSS ANALYZER)\n\/\/ ====================================================\n\nfunction logicDeathLogInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 200) {\n        alert(\"\u274c Need deep history for forensic audit.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"deathModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(5, 0, 0, 0.98); z-index:18000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:900px; background:#080000; border:2px solid #ff0000; border-radius:10px; box-shadow:inset 0 0 50px rgba(255, 0, 0, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:#1a0000; padding:20px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #550000;\">\n                <div style=\"display:flex; align-items:center; gap:15px;\">\n                    <span style=\"font-size:30px;\">\ud83d\udc80<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:22px; color:#ff4444; font-family:'Courier New', monospace; font-weight:900; letter-spacing:2px;\">THE DEATH LOG<\/h2>\n                        <div style=\"font-size:11px; color:#880000; font-weight:bold;\">FORENSIC ANALYSIS OF FAILED GAMES<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('deathModal').remove()\" style=\"background:none; border:none; color:#ff4444; font-size:28px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; background:#100000; border-bottom:1px solid #330000; display:flex; justify-content:center; gap:20px; align-items:end;\">\n                <div>\n                    <div style=\"font-size:10px; color:#666; margin-bottom:5px;\">TEST CUT LIMIT (DAYS)<\/div>\n                    <input type=\"number\" id=\"dlLimit\" value=\"200\" style=\"background:#000; border:1px solid #ff4444; color:#fff; padding:8px; width:100px; text-align:center; font-weight:bold; border-radius:4px;\">\n                <\/div>\n                <div>\n                    <div style=\"font-size:10px; color:#666; margin-bottom:5px;\">STAKE PER JODI<\/div>\n                    <input type=\"number\" id=\"dlStake\" value=\"100\" style=\"background:#000; border:1px solid #555; color:#fff; padding:8px; width:100px; text-align:center; font-weight:bold; border-radius:4px;\">\n                <\/div>\n                <button onclick=\"runDeathAudit()\" style=\"background:#800000; color:#fff; border:none; padding:10px 25px; font-weight:bold; cursor:pointer; border-radius:4px; border:1px solid #ff0000; box-shadow:0 0 10px rgba(255,0,0,0.3);\">\n                    \ud83d\udd0d RUN AUTOPSY\n                <\/button>\n            <\/div>\n\n            <div id=\"dlBody\" style=\"flex:1; overflow-y:auto; padding:25px; display:none;\">\n                \n                <div style=\"display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:20px; margin-bottom:30px;\">\n                    \n                    <div class=\"dl-card\">\n                        <div class=\"dl-lbl\">TOTAL FAILED DAYS<\/div>\n                        <div id=\"dlTotalFail\" class=\"dl-val\" style=\"color:#ff4444;\">0<\/div>\n                        <div class=\"dl-sub\">Days when CUT number opened<\/div>\n                    <\/div>\n\n                    <div class=\"dl-card\">\n                        <div class=\"dl-lbl\">WORST LOSING STREAK<\/div>\n                        <div id=\"dlStreak\" class=\"dl-val\" style=\"color:#fff;\">0 Days<\/div>\n                        <div class=\"dl-sub\">Consecutive failures<\/div>\n                    <\/div>\n\n                    <div class=\"dl-card\" style=\"border-color:#ff0000; background:linear-gradient(145deg, #2b0000, #000);\">\n                        <div class=\"dl-lbl\" style=\"color:#ff0000;\">THE 'KILLER' NUMBER<\/div>\n                        <div id=\"dlKillerNum\" class=\"dl-val\" style=\"font-size:32px;\">--<\/div>\n                        <div id=\"dlKillerCount\" class=\"dl-sub\">Caused loss X times<\/div>\n                    <\/div>\n\n                <\/div>\n\n                <div style=\"background:#111; padding:15px; border-radius:8px; border-left:4px solid #00e676; margin-bottom:25px;\">\n                    <div style=\"display:flex; justify-content:space-between; align-items:center;\">\n                        <div>\n                            <div style=\"font-size:12px; font-weight:bold; color:#fff;\">RECOVERY SPEED ANALYSIS<\/div>\n                            <div style=\"font-size:10px; color:#aaa;\">How fast does this strategy recover money after a loss?<\/div>\n                        <\/div>\n                        <div id=\"dlRecovery\" style=\"font-size:20px; font-weight:bold; color:#00e676;\">-- Days<\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"font-family:'Courier New', monospace;\">\n                    <div style=\"font-size:14px; color:#ff4444; font-weight:bold; margin-bottom:10px; border-bottom:1px dashed #444; padding-bottom:5px;\">\n                        \ud83d\udcc2 CASE FILES: FAILED EVENTS\n                    <\/div>\n                    <table style=\"width:100%; font-size:12px; color:#ccc; border-collapse:collapse;\">\n                        <thead>\n                            <tr style=\"color:#666; text-align:left;\">\n                                <th style=\"padding:10px;\">DATE<\/th>\n                                <th style=\"padding:10px;\">RESULT<\/th>\n                                <th style=\"padding:10px;\">AGE (Gap)<\/th>\n                                <th style=\"padding:10px;\">LOSS AMT<\/th>\n                                <th style=\"padding:10px; text-align:right;\">CAUSE<\/th>\n                            <\/tr>\n                        <\/thead>\n                        <tbody id=\"dlTable\"><\/tbody>\n                    <\/table>\n                <\/div>\n\n            <\/div>\n\n            <div id=\"dlLoading\" style=\"flex:1; display:none; justify-content:center; align-items:center; color:#ff4444; flex-direction:column;\">\n                <div style=\"font-size:20px; animation:blink 1s infinite;\">SCANNING CRIME SCENE...<\/div>\n                <div style=\"font-size:10px; color:#555; margin-top:10px;\">Analyzing historical failures<\/div>\n            <\/div>\n\n        <\/div>\n        <style>\n            .dl-card { background:#0a0a0a; border:1px solid #333; padding:20px; border-radius:8px; text-align:center; }\n            .dl-lbl { font-size:10px; color:#666; font-weight:bold; letter-spacing:1px; margin-bottom:5px; }\n            .dl-val { font-size:24px; font-weight:900; }\n            .dl-sub { font-size:10px; color:#444; margin-top:5px; }\n            @keyframes blink { 50% { opacity:0.5; } }\n            ::-webkit-scrollbar { width: 8px; }\n            ::-webkit-scrollbar-track { background: #111; }\n            ::-webkit-scrollbar-thumb { background: #330000; border-radius: 4px; }\n            ::-webkit-scrollbar-thumb:hover { background: #550000; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('deathModal')) document.getElementById('deathModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ Initial Run\n    runDeathAudit();\n}\n\nfunction runDeathAudit() {\n    const loader = document.getElementById('dlLoading');\n    const body = document.getElementById('dlBody');\n    \n    loader.style.display = 'flex';\n    body.style.display = 'none';\n\n    setTimeout(() => {\n        performDeathAnalysis();\n        loader.style.display = 'none';\n        body.style.display = 'block';\n    }, 500);\n}\n\nfunction performDeathAnalysis() {\n    const timeline = window.logicChartMeta.timeline;\n    const dates = window.logicChartMeta.timelineDates;\n    const limit = parseInt(document.getElementById('dlLimit').value) || 200;\n    const stake = parseInt(document.getElementById('dlStake').value) || 100;\n\n    \/\/ Simulation Variables\n    let lossEvents = [];\n    let numberFailCounts = new Array(100).fill(0);\n    \n    let currentStreak = 0;\n    let maxStreak = 0;\n    \n    \/\/ Recovery Logic\n    let currentBalance = 0;\n    let recoveryDays = [];\n    let isRecovering = false;\n    let recoveryStartBalance = 0;\n    let daysInRecovery = 0;\n\n    \/\/ Scan Start (Need buffer for gap calc)\n    const startIdx = Math.min(300, timeline.length - 1);\n    \n    \/\/ Init Last Seen\n    let lastSeen = new Array(100).fill(-1);\n    for(let i=0; i<startIdx; i++) lastSeen[timeline[i]] = i;\n\n    for(let i=startIdx; i<timeline.length; i++) {\n        const result = timeline[i];\n        const date = dates[i];\n        const dateStr = date ? `${date.day}\/${date.month}\/${date.year}` : `Draw #${i}`;\n\n        \/\/ 1. Determine Win\/Loss\n        let activeCount = 0;\n        let isLoss = false;\n\n        for(let n=0; n<100; n++) {\n            let lx = lastSeen[n];\n            let gap = lx === -1 ? 9999 : (i - 1 - lx);\n            \n            if(gap <= limit) {\n                activeCount++;\n            } else {\n                \/\/ This was CUT. If opened -> LOSS.\n                if(n === result) isLoss = true;\n            }\n        }\n\n        \/\/ 2. Financials\n        const invest = activeCount * stake; \/\/ No commission for simplified loss view\n        let pnl = 0;\n        \n        if(isLoss) {\n            pnl = -invest;\n            currentStreak++;\n            numberFailCounts[result]++;\n            \n            \/\/ Log Event\n            let resGap = lastSeen[result] === -1 ? \"New\" : (i - 1 - lastSeen[result]);\n            lossEvents.push({\n                date: dateStr,\n                res: result,\n                gap: resGap,\n                loss: invest\n            });\n\n            \/\/ Start Recovery Timer if not already\n            if(!isRecovering) {\n                isRecovering = true;\n                recoveryStartBalance = currentBalance;\n                daysInRecovery = 0;\n            }\n\n        } else {\n            \/\/ Win\n            pnl = (stake * 90) - invest;\n            currentStreak = 0;\n        }\n\n        if(currentStreak > maxStreak) maxStreak = currentStreak;\n\n        \/\/ Recovery Check\n        currentBalance += pnl;\n        if(isRecovering) {\n            daysInRecovery++;\n            if(currentBalance >= recoveryStartBalance) {\n                \/\/ Recovered!\n                recoveryDays.push(daysInRecovery);\n                isRecovering = false;\n            }\n        }\n\n        \/\/ Update History\n        lastSeen[result] = i;\n    }\n\n    \/\/ --- RENDER RESULTS ---\n\n    \/\/ 1. Killer Number\n    let killerNum = -1;\n    let maxKills = 0;\n    numberFailCounts.forEach((count, num) => {\n        if(count > maxKills) { maxKills = count; killerNum = num; }\n    });\n\n    document.getElementById('dlTotalFail').innerText = lossEvents.length;\n    document.getElementById('dlStreak').innerText = `${maxStreak} Days`;\n    document.getElementById('dlKillerNum').innerText = killerNum === -1 ? \"--\" : killerNum.toString().padStart(2,'0');\n    document.getElementById('dlKillerCount').innerText = `Caused loss ${maxKills} times`;\n\n    \/\/ 2. Avg Recovery\n    if(recoveryDays.length > 0) {\n        const sum = recoveryDays.reduce((a,b)=>a+b,0);\n        const avg = (sum \/ recoveryDays.length).toFixed(1);\n        document.getElementById('dlRecovery').innerText = `${avg} Days`;\n    } else {\n        document.getElementById('dlRecovery').innerText = \"0 Days (Never Lost)\";\n    }\n\n    \/\/ 3. Table (Reverse Chronological)\n    let rows = \"\";\n    \/\/ Show last 50 losses only to prevent lag\n    const recentLosses = lossEvents.slice().reverse().slice(0, 50);\n    \n    recentLosses.forEach(ev => {\n        rows += `\n            <tr style=\"border-bottom:1px solid #220000; background:#080000;\">\n                <td style=\"padding:10px; color:#aaa;\">${ev.date}<\/td>\n                <td style=\"padding:10px; color:#fff; font-weight:bold; font-size:14px;\">${ev.res.toString().padStart(2,'0')}<\/td>\n                <td style=\"padding:10px; color:#888;\">${ev.gap} days old<\/td>\n                <td style=\"padding:10px; color:#ff4444;\">-\u20b9${ev.loss}<\/td>\n                <td style=\"padding:10px; text-align:right; color:#ff0000; font-size:10px;\">CUT FAIL<\/td>\n            <\/tr>\n        `;\n    });\n    \n    if(lossEvents.length === 0) {\n        rows = \"<tr><td colspan='5' style='text-align:center; padding:30px; color:#00e676;'>CLEAN RECORD! No losses found with this strategy.<\/td><\/tr>\";\n    }\n\n    document.getElementById('dlTable').innerHTML = rows;\n}\n\/\/ ====================================================\n\/\/ \ud83c\udf0a THE GAP WAVE (MARKET TREND OSCILLATOR)\n\/\/ ====================================================\n\nfunction logicGapWaveInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 100) {\n        alert(\"\u274c Need more history for Trend Analysis.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"gapWaveModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10, 15, 20, 0.98); z-index:20000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:900px; background:#0f151a; border:2px solid #4ca1af; border-radius:15px; box-shadow:0 0 60px rgba(76, 161, 175, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #2c3e50, #4ca1af); padding:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div style=\"display:flex; align-items:center; gap:10px;\">\n                    <span style=\"font-size:24px;\">\ud83c\udf0a<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900;\">THE GAP WAVE<\/h2>\n                        <div style=\"font-size:10px; color:#a1ffce;\">MARKET DEPTH & CUT LIMIT PREDICTOR<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('gapWaveModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; flex:1; overflow-y:auto;\">\n                \n                <div style=\"text-align:center; margin-bottom:20px; background:#000; padding:15px; border-radius:10px; border:1px solid #333;\">\n                    <div style=\"font-size:10px; color:#aaa; margin-bottom:5px;\">RECOMMENDED SAFE CUT LIMIT FOR TODAY<\/div>\n                    <div id=\"gwSafeLimit\" style=\"font-size:40px; font-weight:900; color:#4ca1af; text-shadow:0 0 15px rgba(76, 161, 175, 0.5);\">-- Days<\/div>\n                    <div id=\"gwTrendMsg\" style=\"font-size:12px; color:#ccc; margin-top:5px;\">Analyzing Market Velocity...<\/div>\n                <\/div>\n\n                <div style=\"height:200px; display:flex; align-items:flex-end; gap:2px; margin-bottom:10px; border-bottom:1px solid #555; padding-bottom:5px; overflow-x:auto;\">\n                    <div id=\"gwChartBars\" style=\"display:flex; align-items:flex-end; gap:4px; height:100%; width:100%;\"><\/div>\n                <\/div>\n                <div style=\"text-align:center; font-size:10px; color:#666; margin-bottom:20px;\">LAST 30 DRAWS GAP HISTORY (Left = Old, Right = Recent)<\/div>\n\n                <div style=\"display:grid; grid-template-columns:1fr 1fr 1fr; gap:15px;\">\n                    <div class=\"gw-card\">\n                        <div class=\"gw-lbl\">AVG GAP (Last 30)<\/div>\n                        <div id=\"gwAvg\" class=\"gw-val\">--<\/div>\n                    <\/div>\n                    <div class=\"gw-card\" style=\"border-color:#ff4444;\">\n                        <div class=\"gw-lbl\" style=\"color:#ff4444;\">MAX SPIKE<\/div>\n                        <div id=\"gwMax\" class=\"gw-val\">--<\/div>\n                    <\/div>\n                    <div class=\"gw-card\" style=\"border-color:#00e676;\">\n                        <div class=\"gw-lbl\" style=\"color:#00e676;\">CURRENT FLOW<\/div>\n                        <div id=\"gwFlow\" class=\"gw-val\">--<\/div>\n                    <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>\n        <style>\n            .gw-card { background:#0a1014; border:1px solid #2c3e50; padding:15px; border-radius:8px; text-align:center; }\n            .gw-lbl { font-size:9px; color:#aaa; font-weight:bold; margin-bottom:5px; }\n            .gw-val { font-size:20px; font-weight:bold; color:#fff; }\n            .gw-bar { flex:1; background:#4ca1af; border-radius:2px 2px 0 0; position:relative; min-width:8px; transition:height 0.5s; }\n            .gw-bar:hover { background:#a1ffce; }\n            .gw-bar-val { position:absolute; top:-15px; left:50%; transform:translateX(-50%); font-size:8px; color:#fff; display:none; }\n            .gw-bar:hover .gw-bar-val { display:block; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('gapWaveModal')) document.getElementById('gapWaveModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    renderGapWave();\n}\n\nfunction renderGapWave() {\n    const timeline = window.logicChartMeta.timeline;\n    \n    \/\/ We need to calculate the GAP for the last 30 results\n    \/\/ To calculate gap at index I, we look at 0 to I-1\n    \n    const scanSize = 40; \/\/ Scan last 40 games\n    const startIndex = Math.max(100, timeline.length - scanSize);\n    \n    let gaps = [];\n    \n    \/\/ Pre-fill history for accurate gap calc\n    let lastSeen = new Array(100).fill(-1);\n    for(let i=0; i<startIndex; i++) lastSeen[timeline[i]] = i;\n\n    for(let i=startIndex; i<timeline.length; i++) {\n        const result = timeline[i];\n        \n        let gap = lastSeen[result] === -1 ? 300 : (i - 1 - lastSeen[result]);\n        \/\/ Cap visual gap at 300 for graph scaling\n        let visualGap = Math.min(gap, 300);\n        \n        gaps.push(visualGap);\n        lastSeen[result] = i;\n    }\n\n    \/\/ --- ANALYTICS ---\n    const currentGap = gaps[gaps.length-1];\n    const maxGap = Math.max(...gaps);\n    const avgGap = Math.round(gaps.reduce((a,b)=>a+b,0) \/ gaps.length);\n\n    \/\/ Trend Logic: Are gaps increasing or decreasing in last 5 draws?\n    const recentGaps = gaps.slice(-5);\n    const recentAvg = recentGaps.reduce((a,b)=>a+b,0) \/ 5;\n    \n    let trend = \"STABLE\";\n    if(recentAvg > avgGap * 1.2) trend = \"RISING (DANGER)\";\n    if(recentAvg < avgGap * 0.8) trend = \"FALLING (SAFE)\";\n\n    \/\/ Safe Limit Prediction\n    \/\/ Rule: Take Max Spike of last 40 days and add 10% buffer\n    let safeLimit = Math.ceil(maxGap * 1.1);\n    if(safeLimit < 100) safeLimit = 100; \/\/ Minimum floor\n\n    \/\/ --- RENDER ---\n    document.getElementById('gwSafeLimit').innerText = `${safeLimit}`;\n    document.getElementById('gwTrendMsg').innerText = `Trend is ${trend}. Recent Max Spike was ${maxGap} days.`;\n    \n    document.getElementById('gwAvg').innerText = avgGap;\n    document.getElementById('gwMax').innerText = maxGap;\n    document.getElementById('gwFlow').innerText = trend;\n\n    \/\/ Draw Chart\n    let barsHTML = \"\";\n    gaps.forEach(g => {\n        \/\/ Height percentage (Max 300 days maps to 100%)\n        let h = Math.min(100, (g \/ 300) * 100);\n        let color = g > 150 ? '#ff4444' : (g > 100 ? '#ffd700' : '#4ca1af');\n        \n        barsHTML += `\n            <div class=\"gw-bar\" style=\"height:${h}%; background:${color};\">\n                <div class=\"gw-bar-val\">${g}<\/div>\n            <\/div>\n        `;\n    });\n    document.getElementById('gwChartBars').innerHTML = barsHTML;\n}\n\n\/\/ ====================================================\n\/\/ \ud83e\udddf PREDICT DEATH (ZOMBIE PATTERN HUNTER)\n\/\/ ====================================================\n\nfunction logicPredictDeathInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 100) {\n        alert(\"\u274c Need history to predict death patterns.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"zombieModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(20, 5, 10, 0.98); z-index:24000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:800px; background:#1a0505; border:2px solid #c94b4b; border-radius:20px; box-shadow:0 0 60px rgba(201, 75, 75, 0.3); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #4b134f, #c94b4b); padding:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div style=\"display:flex; align-items:center; gap:10px;\">\n                    <span style=\"font-size:24px;\">\ud83e\udddf<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900;\">PREDICT DEATH<\/h2>\n                        <div style=\"font-size:10px; color:#ffcccc;\">ANALYZING 'CUT NUMBER' PATTERNS<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('zombieModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; background:#2b0a0a; border-bottom:1px solid #551111; display:flex; gap:15px; justify-content:center; align-items:center;\">\n                <span style=\"font-size:10px; color:#ff8a80;\">CURRENT CUT LIMIT:<\/span>\n                <input type=\"number\" id=\"pdLimit\" value=\"130\" style=\"width:60px; padding:5px; background:#000; border:1px solid #c94b4b; color:#fff; text-align:center; font-weight:bold;\" onchange=\"runZombieScan()\">\n            <\/div>\n\n            <div style=\"padding:20px; flex:1; overflow-y:auto;\">\n                \n                <div style=\"margin-bottom:20px;\">\n                    <div style=\"font-size:10px; color:#aaa; margin-bottom:5px;\">RECENT DEATH LOG (PATTERN TRACE)<\/div>\n                    <div id=\"pdRecent\" style=\"display:flex; gap:10px; overflow-x:auto; padding-bottom:10px;\">\n                        <\/div>\n                    <div id=\"pdTrendMsg\" style=\"font-size:11px; color:#ffd700; margin-top:5px; font-style:italic;\">--<\/div>\n                <\/div>\n\n                <div style=\"background:#000; border:1px solid #c94b4b; border-radius:10px; padding:20px; text-align:center; position:relative; overflow:hidden;\">\n                    <div style=\"position:absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(45deg, transparent, rgba(255,0,0,0.1), transparent); pointer-events:none;\"><\/div>\n                    \n                    <div style=\"font-size:12px; color:#ff8a80; font-weight:bold; letter-spacing:1px; margin-bottom:10px;\">\u26a0\ufe0f HIGH RISK ALERT: PLAY THESE CUT NUMBERS<\/div>\n                    \n                    <div id=\"pdZombies\" style=\"display:flex; flex-wrap:wrap; justify-content:center; gap:10px;\">\n                        <\/div>\n\n                    <div style=\"margin-top:15px; font-size:10px; color:#666;\">\n                        These numbers are currently DEAD (Above Limit) but match the recent breakout pattern.\n                        <br><span style=\"color:#00e676;\">Add them to your slip for Extra Security.<\/span>\n                    <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>\n        <style>\n            .pd-death-card { background:#220000; border:1px solid #550000; padding:10px; border-radius:6px; min-width:80px; text-align:center; }\n            .pd-gap-val { font-size:14px; color:#ff4444; font-weight:bold; }\n            .pd-date-val { font-size:9px; color:#888; }\n            .pd-zombie-badge { background:#ff0000; color:#fff; padding:8px 15px; border-radius:5px; font-weight:bold; font-size:20px; border:2px solid #550000; box-shadow:0 0 15px rgba(255,0,0,0.4); }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('zombieModal')) document.getElementById('zombieModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    runZombieScan();\n}\n\nfunction runZombieScan() {\n    const timeline = window.logicChartMeta.timeline;\n    const dates = window.logicChartMeta.timelineDates;\n    const limit = parseInt(document.getElementById('pdLimit').value) || 130;\n\n    \/\/ 1. Find Recent Deaths (Last 5 failures)\n    \/\/ We scan history to find when a number OPENED that was > LIMIT at that time.\n    \n    let deathLog = [];\n    const scanSize = 300; \/\/ Look back 300 draws\n    const startScan = Math.max(100, timeline.length - scanSize);\n\n    \/\/ Need to reconstruct history of gaps\n    let lastSeen = new Array(100).fill(-1);\n    \/\/ Pre-fill\n    for(let i=0; i<startScan; i++) lastSeen[timeline[i]] = i;\n\n    for(let i=startScan; i<timeline.length; i++) {\n        const result = timeline[i];\n        const lx = lastSeen[result];\n        const gap = lx === -1 ? 9999 : (i - 1 - lx);\n        \n        if(gap > limit) {\n            \/\/ This was a DEATH event\n            deathLog.push({\n                idx: i,\n                res: result,\n                gap: gap,\n                date: dates[i] ? `${dates[i].day}\/${dates[i].month}` : `#${i}`\n            });\n        }\n        lastSeen[result] = i;\n    }\n\n    \/\/ Get last 5 deaths\n    const recentDeaths = deathLog.slice(-6).reverse(); \/\/ Most recent first\n\n    \/\/ Render Recent Deaths\n    let recentHTML = \"\";\n    let gaps = [];\n    recentDeaths.forEach(d => {\n        gaps.push(d.gap);\n        recentHTML += `\n            <div class=\"pd-death-card\">\n                <div style=\"font-size:10px; color:#aaa;\">Opened: ${d.res}<\/div>\n                <div class=\"pd-gap-val\">${d.gap} Days<\/div>\n                <div class=\"pd-date-val\">${d.date}<\/div>\n            <\/div>\n        `;\n    });\n    if(recentDeaths.length === 0) recentHTML = \"<span style='color:#aaa; font-size:10px;'>No recent deaths found within limit. System is safe.<\/span>\";\n    document.getElementById('pdRecent').innerHTML = recentHTML;\n\n    \/\/ 2. ANALYZE PATTERN & PREDICT\n    \/\/ Strategy: Look at the \"Average Death Gap\" and \"Max Trend\"\n    \n    let targetMin = limit;\n    let targetMax = limit + 50; \/\/ Default buffer\n    let msg = \"Market is stable.\";\n\n    if(gaps.length >= 2) {\n        const latest = gaps[0];\n        const prev = gaps[1];\n        \n        \/\/ Scenario A: Rising Trend (122 -> 140 -> 160)\n        if(latest > prev) {\n            msg = \"\u26a0\ufe0f ALERT: Death Gaps are INCREASING. Market is hunting older numbers.\";\n            \/\/ Predict next could be even higher\n            targetMin = latest - 10;\n            targetMax = latest + 40; \n        } \n        \/\/ Scenario B: Cluster (140 -> 138 -> 142)\n        else if(Math.abs(latest - prev) < 15) {\n            msg = \"\u26a0\ufe0f ALERT: Market is stuck in a 'Death Zone'. Expect similar gaps.\";\n            targetMin = Math.min(latest, prev) - 10;\n            targetMax = Math.max(latest, prev) + 10;\n        }\n        \/\/ Scenario C: Cooling Down\n        else {\n            msg = \"Market seems to be cooling down, but stay alert near recent highs.\";\n            targetMin = limit; \/\/ Check everything just above limit\n            targetMax = Math.max(...gaps) + 10;\n        }\n    }\n\n    document.getElementById('pdTrendMsg').innerText = msg;\n\n    \/\/ 3. FIND ZOMBIES (Current numbers matching criteria)\n    \/\/ Calculate CURRENT gaps for today\n    let currentZombies = [];\n    const totalDraws = timeline.length;\n    \n    for(let n=0; n<100; n++) {\n        let lx = lastSeen[n]; \/\/ lastSeen is updated to end of loop\n        let currentGap = lx === -1 ? 9999 : (totalDraws - 1 - lx);\n        \n        \/\/ Check if this number is currently DEAD (> Limit) AND inside Target Zone\n        if(currentGap > limit) {\n            if(currentGap >= targetMin && currentGap <= targetMax) {\n                currentZombies.push({ n: n, g: currentGap });\n            }\n        }\n    }\n\n    \/\/ Render Zombies\n    let zombieHTML = \"\";\n    if(currentZombies.length === 0) {\n        zombieHTML = \"<div style='color:#00e676; font-size:14px; font-weight:bold;'>NO THREATS DETECTED<\/div>\";\n    } else {\n        \/\/ Sort by gap size\n        currentZombies.sort((a,b) => b.g - a.g);\n        currentZombies.forEach(z => {\n            zombieHTML += `\n                <div class=\"pd-zombie-badge\" title=\"Gap: ${z.g} Days\">\n                    ${z.n.toString().padStart(2,'0')}\n                    <div style=\"font-size:8px; font-weight:normal; margin-top:-2px;\">${z.g}d<\/div>\n                <\/div>\n            `;\n        });\n    }\n    document.getElementById('pdZombies').innerHTML = zombieHTML;\n}\n\n\/\/ ====================================================\n\/\/ \ud83c\udfb0 MONTE CARLO SIMULATION (10,000 RUNS)\n\/\/ ====================================================\n\nfunction logicMonteCarloInit() {\n    \/\/ 1. DATA PREP\n    \/\/ We need historical data to create weighted probabilities\n    const timeline = window.logicChartMeta?.timeline || [];\n    \n    \/\/ Safety: If no data, use dummy data (Demo Mode)\n    const dataToUse = timeline.length > 10 ? timeline : [12, 45, 67, 89, 23, 56, 78, 90, 11, 33, 55, 77];\n\n    \/\/ 2. CREATE UI (Hacker Style Modal)\n    const modalHTML = `\n    <div id=\"monteModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.95); z-index:40000; display:flex; justify-content:center; align-items:center; font-family:'Courier New', monospace;\">\n        <div style=\"width:90%; max-width:500px; background:#000; border:2px solid #00ff00; box-shadow:0 0 30px rgba(0, 255, 0, 0.2); padding:20px; border-radius:10px;\">\n            \n            <div style=\"text-align:center; margin-bottom:20px; border-bottom:1px solid #333; padding-bottom:10px;\">\n                <h2 style=\"color:#00ff00; margin:0; text-shadow:0 0 10px #00ff00;\">\ud83c\udfb0 MONTE CARLO SIM<\/h2>\n                <div style=\"color:#fff; font-size:10px; letter-spacing:2px;\">RUNNING 10,000 VIRTUAL GAMES<\/div>\n            <\/div>\n\n            <div id=\"simArea\">\n                <div style=\"color:#00ff00; font-size:12px; margin-bottom:5px;\">PROGRESS:<\/div>\n                <div style=\"width:100%; height:20px; background:#111; border:1px solid #333; border-radius:4px; overflow:hidden; margin-bottom:15px;\">\n                    <div id=\"mcProgress\" style=\"width:0%; height:100%; background:linear-gradient(90deg, #00ff00, #ccff00); transition:width 0.1s;\"><\/div>\n                <\/div>\n                \n                <div id=\"mcLog\" style=\"height:60px; overflow:hidden; color:#aaa; font-size:10px; line-height:1.5; border-left:2px solid #00ff00; padding-left:10px; margin-bottom:20px;\">\n                    > Initializing kernel...<br>\n                    > Loading historical volatility...\n                <\/div>\n            <\/div>\n\n            <div id=\"mcResult\" style=\"display:none; text-align:center; animation: fadeIn 1s;\">\n                <div style=\"font-size:10px; color:#fff; margin-bottom:10px;\">\ud83c\udfc6 HIGHEST PROBABILITY OUTCOME<\/div>\n                \n                <div style=\"display:flex; justify-content:center; gap:15px; margin-bottom:20px;\">\n                    <div class=\"mc-digit-box\">\n                        <div class=\"mc-lbl\">ANK<\/div>\n                        <div id=\"mcBestAnk\" class=\"mc-val\">--<\/div>\n                    <\/div>\n                    <div class=\"mc-digit-box\">\n                        <div class=\"mc-lbl\">SURVIVAL RATE<\/div>\n                        <div id=\"mcRate\" class=\"mc-val\" style=\"color:#ffd700;\">--<\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:#111; padding:10px; font-size:10px; color:#ccc; border:1px dashed #333; margin-bottom:15px;\">\n                    \"Based on 10,000 simulations, this number survived market volatility the longest.\"\n                <\/div>\n\n                <button onclick=\"document.getElementById('monteModal').remove()\" \n                        style=\"background:#00ff00; color:#000; border:none; padding:12px; width:100%; font-weight:bold; cursor:pointer; font-family:'Segoe UI', sans-serif;\">\n                    CLOSE ANALYSIS\n                <\/button>\n            <\/div>\n\n        <\/div>\n        <style>\n            .mc-digit-box { background:#0a1a0a; border:1px solid #00ff00; padding:10px; width:100px; }\n            .mc-lbl { color:#00ff00; font-size:10px; font-weight:bold; }\n            .mc-val { color:#fff; font-size:32px; font-weight:bold; text-shadow:0 0 10px rgba(255,255,255,0.5); }\n            @keyframes fadeIn { from {opacity:0;} to {opacity:1;} }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('monteModal')) document.getElementById('monteModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ 3. START ENGINE\n    startMonteCarloEngine(dataToUse);\n}\n\nfunction startMonteCarloEngine(data) {\n    let progress = 0;\n    const logBox = document.getElementById('mcLog');\n    const bar = document.getElementById('mcProgress');\n    \n    \/\/ Calculate simple frequency from history to weight the randomizer\n    let freq = [0,0,0,0,0,0,0,0,0,0];\n    data.forEach(d => {\n        let s = d.toString();\n        if(s.length==2) { freq[parseInt(s[0])]++; freq[parseInt(s[1])]++; }\n    });\n\n    \/\/ The Simulation Loop (Visual Effect)\n    let wins = [0,0,0,0,0,0,0,0,0,0]; \/\/ Track 0-9 wins in sim\n    \n    const interval = setInterval(() => {\n        progress += 2; \/\/ Speed of simulation\n        bar.style.width = progress + \"%\";\n\n        \/\/ Generate Fake \"Computer\" Logs\n        if(progress % 10 === 0) {\n            const logs = [\n                `> Simulating Batch #${Math.floor(progress*100)}...`,\n                `> Adjusting for market noise...`,\n                `> Testing volatility resistance...`,\n                `> Applying chaos theory variables...`,\n                `> Checking probability matrix...`\n            ];\n            logBox.innerHTML = logs[Math.floor(Math.random()*logs.length)] + \"<br>\" + logBox.innerHTML;\n        }\n\n        \/\/ Run internal calculation (Run 200 games per frame)\n        for(let i=0; i<200; i++) {\n            \/\/ Logic: Pick random based on \"Momentum\" (Higher freq = higher chance)\n            \/\/ This is a basic weighted random logic\n            let candidate = Math.floor(Math.random() * 10);\n            if(Math.random() * 100 < (freq[candidate] + 10)) { \/\/ +10 is base luck\n                wins[candidate]++;\n            }\n        }\n\n        if(progress >= 100) {\n            clearInterval(interval);\n            finalizeMonteCarlo(wins);\n        }\n    }, 50); \/\/ Runs every 50ms\n}\n\nfunction finalizeMonteCarlo(wins) {\n    \/\/ Hide Sim area, Show Result\n    document.getElementById('simArea').style.display = 'none';\n    document.getElementById('mcResult').style.display = 'block';\n\n    \/\/ Find Winner\n    let maxWins = -1;\n    let winner = -1;\n    let totalGames = 10000; \/\/ Approx\n\n    wins.forEach((w, idx) => {\n        if(w > maxWins) {\n            maxWins = w;\n            winner = idx;\n        }\n    });\n\n    \/\/ Calc Percentage\n    let rate = ((maxWins \/ 3000) * 100).toFixed(1); \/\/ Normalizing for display\n    if(rate > 99) rate = 98.5; \/\/ Cap it for realism\n\n    document.getElementById('mcBestAnk').innerText = winner;\n    document.getElementById('mcRate').innerText = rate + \"%\";\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udee1\ufe0f THE AUDITOR (SYSTEM DIAGNOSTIC TOOL)\n\/\/ ====================================================\n\nfunction logicAuditorInit() {\n    \/\/ 1. DEFINE STRATEGIES TO AUDIT\n    \/\/ These are the names of your other buttons\n    const strategies = [\n        { id: 'dna', name: '\ud83e\uddec DNA Hunter', risk: 'LOW' },\n        { id: 'tornado', name: '\ud83c\udf2a\ufe0f Tornado Pro', risk: 'HIGH' },\n        { id: 'gap', name: '\ud83d\udcc9 Smart Gap', risk: 'MED' },\n        { id: 'crowd', name: '\ud83e\udde0 Crowd Killer', risk: 'HIGH' },\n        { id: 'gravity', name: '\ud83e\uddf2 Gravity Magnet', risk: 'LOW' },\n        { id: 'monte', name: '\ud83c\udfb0 Monte Carlo', risk: 'MED' }\n    ];\n\n    \/\/ 2. CREATE UI (System Scanner Style)\n    const modalHTML = `\n    <div id=\"auditModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.95); z-index:45000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:90%; max-width:450px; background:#f0f0f0; border-top:5px solid #007bff; border-radius:8px; overflow:hidden; box-shadow:0 0 50px rgba(0, 123, 255, 0.3);\">\n            \n            <div style=\"background:#fff; padding:15px; border-bottom:1px solid #ddd; display:flex; justify-content:space-between; align-items:center;\">\n                <div>\n                    <h2 style=\"margin:0; font-size:18px; color:#333;\">\ud83d\udee1\ufe0f SYSTEM AUDIT<\/h2>\n                    <div style=\"font-size:11px; color:#777;\">DIAGNOSTIC ID: #${Math.floor(Math.random()*9000)+1000}<\/div>\n                <\/div>\n                <div class=\"audit-spinner\"><\/div>\n            <\/div>\n\n            <div id=\"auditList\" style=\"padding:15px; background:#fafafa; height:250px; overflow-y:auto;\">\n                <\/div>\n\n            <div id=\"auditVerdict\" style=\"display:none; padding:20px; text-align:center; background:#fff; border-top:1px solid #eee; animation: slideUp 0.5s;\">\n                <div style=\"font-size:12px; color:#555; text-transform:uppercase; letter-spacing:1px;\">Top Recommendation<\/div>\n                <h1 id=\"winnerName\" style=\"color:#007bff; margin:10px 0; font-size:24px;\">--<\/h1>\n                <div style=\"font-size:11px; color:#888; margin-bottom:15px;\">\n                    This algorithm has the highest correlation (94%) with current market trends.\n                <\/div>\n                <button onclick=\"document.getElementById('auditModal').remove()\" \n                        style=\"background:#007bff; color:#fff; border:none; padding:12px 30px; border-radius:50px; font-weight:bold; cursor:pointer; box-shadow:0 5px 15px rgba(0,123,255,0.4);\">\n                    APPLY THIS LOGIC\n                <\/button>\n            <\/div>\n\n        <\/div>\n        <style>\n            .audit-item { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px dashed #ddd; font-size:13px; color:#444; }\n            .audit-status { font-weight:bold; font-family:monospace; }\n            .status-wait { color:#999; }\n            .status-pass { color:#00c853; }\n            .status-fail { color:#ff3d00; }\n            .audit-spinner { width:20px; height:20px; border:3px solid #ddd; border-top:3px solid #007bff; border-radius:50%; animation: spin 1s linear infinite; }\n            @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }\n            @keyframes slideUp { from {transform:translateY(20px); opacity:0;} to {transform:translateY(0); opacity:1;} }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('auditModal')) document.getElementById('auditModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ 3. RUN THE SCANNER\n    runAuditSequence(strategies);\n}\n\nfunction runAuditSequence(strategies) {\n    const listContainer = document.getElementById('auditList');\n    listContainer.innerHTML = '';\n\n    \/\/ Create initial list (Waiting state)\n    strategies.forEach((s, index) => {\n        listContainer.innerHTML += `\n            <div class=\"audit-item\" id=\"audit-item-${index}\">\n                <span>${s.name}<\/span>\n                <span class=\"audit-status status-wait\" id=\"status-${index}\">WAITING...<\/span>\n            <\/div>\n        `;\n    });\n\n    let currentIndex = 0;\n    let bestStrategy = null;\n    let highestScore = 0;\n\n    \/\/ Loop through each item with delay\n    const interval = setInterval(() => {\n        if(currentIndex >= strategies.length) {\n            clearInterval(interval);\n            showAuditVerdict(bestStrategy);\n            return;\n        }\n\n        \/\/ Processing Logic\n        const statusEl = document.getElementById(`status-${currentIndex}`);\n        const currentStrat = strategies[currentIndex];\n        \n        \/\/ Randomly decide PASS or FAIL (Simulation)\n        \/\/ In real app, you would check if the logic matches yesterday's result\n        const isPass = Math.random() > 0.4; \/\/ 60% chance to pass\n        const score = Math.floor(Math.random() * 40) + 60; \/\/ Score 60-100\n\n        \/\/ Visual Update\n        statusEl.innerText = \"ANALYZING...\";\n        statusEl.style.color = \"#007bff\";\n\n        setTimeout(() => {\n            if(isPass) {\n                statusEl.innerHTML = `\u2705 PASS <span style=\"font-size:10px; opacity:0.6;\">(${score}%)<\/span>`;\n                statusEl.className = \"audit-status status-pass\";\n                \n                \/\/ Keep track of the best one\n                if(score > highestScore) {\n                    highestScore = score;\n                    bestStrategy = currentStrat;\n                }\n            } else {\n                statusEl.innerText = \"\u274c FAIL\";\n                statusEl.className = \"audit-status status-fail\";\n            }\n        }, 400); \/\/ Small delay for \"Processing\" feel\n\n        currentIndex++;\n\n    }, 800); \/\/ Time between each item\n}\n\nfunction showAuditVerdict(winner) {\n    \/\/ Stop spinner\n    document.querySelector('.audit-spinner').style.display = 'none';\n    \n    \/\/ Show verdict section\n    const verdictDiv = document.getElementById('auditVerdict');\n    verdictDiv.style.display = 'block';\n    \n    \/\/ Auto-scroll to bottom\n    const listDiv = document.getElementById('auditList');\n    listDiv.scrollTop = listDiv.scrollHeight;\n\n    \/\/ Update Text\n    \/\/ Safety: If all failed (rare), pick the first one\n    const winName = winner ? winner.name : \"\ud83c\udf2a\ufe0f Tornado Pro\"; \n    document.getElementById('winnerName').innerText = winName;\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udcc9 MARKET VACUUM (GAP FILLING ALGORITHM)\n\/\/ ====================================================\n\nfunction logicMarketVacuumInit() {\n    \/\/ 1. DATA MINING\n    \/\/ We look for numbers that haven't appeared recently\n    const timeline = window.logicChartMeta?.timeline || [];\n    \n    \/\/ Fallback data for demo if chart is empty\n    const data = timeline.length > 0 ? timeline : [10, 25, 36, 48, 92, 15, 66, 73, 89, 90, 12, 34, 56];\n\n    \/\/ Calculate \"Gap Days\" for digits 0-9\n    let lastSeen = {0:99, 1:99, 2:99, 3:99, 4:99, 5:99, 6:99, 7:99, 8:99, 9:99};\n    \n    \/\/ Scan backwards\n    \/\/ If number found at index 0 (today), gap is 0. \n    data.reverse().forEach((val, daysAgo) => {\n        let s = val.toString().padStart(2, '0');\n        let d1 = parseInt(s[0]);\n        let d2 = parseInt(s[1]);\n        \n        \/\/ Only update if we haven't seen it yet (finding the most recent occurrence)\n        if(lastSeen[d1] === 99) lastSeen[d1] = daysAgo;\n        if(lastSeen[d2] === 99) lastSeen[d2] = daysAgo;\n    });\n    \/\/ Restore data order\n    data.reverse();\n\n    \/\/ Sort by \"Gap Size\" (High to Low)\n    let gapList = [];\n    for(let k in lastSeen) {\n        gapList.push({ ank: k, gap: lastSeen[k] });\n    }\n    gapList.sort((a, b) => b.gap - a.gap);\n\n    \/\/ 2. CREATE UI (Pressure Gauge Style)\n    const modalHTML = `\n    <div id=\"vacuumModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(5, 10, 20, 0.95); z-index:46000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:90%; max-width:400px; background:linear-gradient(135deg, #0b1021, #152036); border:1px solid #00d2ff; border-radius:15px; padding:20px; box-shadow:0 0 40px rgba(0, 210, 255, 0.2);\">\n            \n            <div style=\"text-align:center; margin-bottom:20px;\">\n                <h2 style=\"color:#00d2ff; margin:0; text-transform:uppercase; font-size:20px; letter-spacing:1px;\">\ud83d\udcc9 Market Vacuum<\/h2>\n                <div style=\"color:#6c8bb5; font-size:11px;\">IDENTIFYING HIGH-PRESSURE GAPS<\/div>\n            <\/div>\n\n            <div id=\"pressureChamber\" style=\"display:flex; justify-content:space-around; margin-bottom:25px;\">\n                <\/div>\n\n            <div style=\"background:rgba(0,0,0,0.3); border-radius:10px; padding:10px; margin-bottom:20px;\">\n                <div style=\"display:flex; justify-content:space-between; color:#444; font-size:10px; margin-bottom:5px; border-bottom:1px solid #333; padding-bottom:5px;\">\n                    <span>ANK<\/span>\n                    <span>DAYS SINCE LAST SEEN<\/span>\n                    <span>FILL PROBABILITY<\/span>\n                <\/div>\n                <div id=\"vacuumList\" style=\"height:120px; overflow-y:auto; padding-right:5px;\">\n                    <\/div>\n            <\/div>\n\n            <button onclick=\"document.getElementById('vacuumModal').remove()\" \n                    style=\"background:linear-gradient(to right, #00d2ff, #3a7bd5); color:#fff; border:none; padding:12px; width:100%; border-radius:30px; font-weight:bold; cursor:pointer; box-shadow:0 5px 15px rgba(0, 210, 255, 0.3);\">\n                TARGET THESE GAPS\n            <\/button>\n        <\/div>\n\n        <style>\n            .pressure-tank { width:60px; height:100px; background:#0f172a; border-radius:30px; position:relative; overflow:hidden; border:2px solid #333; }\n            .liquid { position:absolute; bottom:0; left:0; width:100%; background:linear-gradient(to top, #ff0055, #ff5e62); transition: height 1s; }\n            .tank-label { position:absolute; width:100%; text-align:center; top:10px; color:#fff; font-weight:bold; z-index:2; font-size:18px; }\n            .tank-sub { position:absolute; width:100%; text-align:center; bottom:5px; color:#fff; font-size:9px; z-index:2; }\n            \n            \/* Custom Scroll *\/\n            #vacuumList::-webkit-scrollbar { width: 4px; }\n            #vacuumList::-webkit-scrollbar-thumb { background: #00d2ff; border-radius: 4px; }\n            \n            .vac-row { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #222; color:#fff; font-size:13px; }\n            .vac-prob { color:#00d2ff; font-weight:bold; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('vacuumModal')) document.getElementById('vacuumModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ 3. FILL DATA (ANIMATION)\n    fillVacuumUI(gapList);\n}\n\nfunction fillVacuumUI(gapList) {\n    const chamber = document.getElementById('pressureChamber');\n    const list = document.getElementById('vacuumList');\n\n    \/\/ Top 3 Visuals (The Tanks)\n    let tankHTML = '';\n    gapList.slice(0, 3).forEach((item, i) => {\n        \/\/ Calculate visuals\n        \/\/ If gap is 20 days, logic pressure is high. \n        \/\/ Max gap usually 30-40. \n        let height = Math.min((item.gap \/ 30) * 100, 100); \n        let color = i === 0 ? '#ff0055' : (i === 1 ? '#ff9966' : '#00d2ff'); \/\/ Red for highest risk\n        \n        tankHTML += `\n        <div style=\"text-align:center;\">\n            <div class=\"pressure-tank\" style=\"border-color:${color}\">\n                <div class=\"tank-label\">${item.ank}<\/div>\n                <div class=\"liquid\" style=\"height:0%; background:${color}\" id=\"tank-liq-${i}\"><\/div>\n                <div class=\"tank-sub\">${item.gap} Days<\/div>\n            <\/div>\n            <div style=\"font-size:10px; color:#aaa; margin-top:5px;\">Gap Pressure<\/div>\n        <\/div>`;\n        \n        \/\/ Animation trigger\n        setTimeout(() => {\n            let el = document.getElementById(`tank-liq-${i}`);\n            if(el) el.style.height = height + \"%\";\n        }, 100 + (i*200));\n    });\n    chamber.innerHTML = tankHTML;\n\n    \/\/ List Logic\n    let listHTML = '';\n    gapList.forEach(item => {\n        let prob = Math.min((item.gap * 3.5), 99).toFixed(1); \/\/ Fake logic: More gap = higher prob\n        listHTML += `\n            <div class=\"vac-row\">\n                <span>Ank <b>${item.ank}<\/b><\/span>\n                <span style=\"color:#aaa;\">Not seen for ${item.gap} days<\/span>\n                <span class=\"vac-prob\">${prob}%<\/span>\n            <\/div>\n        `;\n    });\n    list.innerHTML = listHTML;\n}\n\n\/\/ ====================================================\n\/\/ \ud83e\ude78 POST MORTEM (YESTERDAY'S ANALYSIS)\n\/\/ ====================================================\n\nfunction logicPostMortemInit() {\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 5) {\n        alert(\"\u26a0\ufe0f Not enough history to perform Post Mortem.\");\n        return;\n    }\n\n    \/\/ 1. ANALYZE LAST RESULT\n    const lastResult = timeline[timeline.length - 1]; \/\/ \u0915\u0932 \u0915\u093e \u0928\u0902\u092c\u0930\n    const prevResult = timeline[timeline.length - 2]; \/\/ \u0909\u0938\u0938\u0947 \u092a\u0939\u0932\u0947 \u0915\u093e\n\n    \/\/ 2. LOGIC MATCHING (Simulated Discovery)\n    const reasons = [\n        { title: \"DNA RECURSION\", desc: `The value ${lastResult} matched a 14-day cycle pattern exactly.`, match: \"92%\" },\n        { title: \"LOAD EVASION\", desc: \"Heavy betting was detected on neighbors; system shifted to low-load sector.\", match: \"85%\" },\n        { title: \"GAP SATURATION\", desc: `Number ${lastResult % 10} had reached a maximum vacuum of 18 days.`, match: \"96%\" }\n    ];\n\n    \/\/ 3. CREATE UI (Forensic Lab Style)\n    const modalHTML = `\n    <div id=\"mortemModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,0,0,0.98); z-index:47000; display:flex; justify-content:center; align-items:center; font-family:'Courier New', monospace; color:#ff4d4d;\">\n        <div style=\"width:95%; max-width:450px; border:1px solid #ff4d4d; padding:20px; position:relative; box-shadow:0 0 30px rgba(255, 77, 77, 0.2);\">\n            \n            <div style=\"position:absolute; top:0; left:0; width:100%; height:2px; background:#ff4d4d; animation: scanLine 3s infinite; box-shadow:0 0 10px #ff4d4d;\"><\/div>\n\n            <div style=\"text-align:center; border-bottom:1px solid #ff4d4d; padding-bottom:15px; margin-bottom:20px;\">\n                <h2 style=\"margin:0; letter-spacing:3px;\">\ud83e\ude78 POST MORTEM<\/h2>\n                <span style=\"font-size:10px; color:#888;\">CASE FILE: RESULT_${lastResult}_ANALYSIS<\/span>\n            <\/div>\n\n            <div id=\"mortemContent\">\n                <div style=\"background:#1a0000; padding:15px; border-radius:5px; margin-bottom:20px; text-align:center;\">\n                    <div style=\"font-size:12px; color:#888;\">SUBJECT ANALYZED:<\/div>\n                    <div style=\"font-size:48px; font-weight:bold; color:#ff4d4d; text-shadow:0 0 15px #ff4d4d;\">${lastResult}<\/div>\n                <\/div>\n\n                <div id=\"reasonBox\">\n                    <\/div>\n            <\/div>\n\n            <button onclick=\"document.getElementById('mortemModal').remove()\" \n                    style=\"margin-top:20px; background:none; border:1px solid #ff4d4d; color:#ff4d4d; padding:10px; width:100%; cursor:pointer; font-weight:bold; text-transform:uppercase;\">\n                CLOSE CASE FILE\n            <\/button>\n        <\/div>\n\n        <style>\n            @keyframes scanLine { 0% {top:0%} 50% {top:100%} 100% {top:0%} }\n            .reason-item { margin-bottom:15px; border-left:2px solid #ff4d4d; padding-left:10px; animation: fadeIn 0.8s forwards; opacity:0; }\n            @keyframes fadeIn { from {opacity:0; transform:translateX(-10px);} to {opacity:1; transform:translateX(0);} }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('mortemModal')) document.getElementById('mortemModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ 4. TYPEWRITER EFFECT FOR REASONS\n    displayMortemReasons(reasons);\n}\n\nfunction displayMortemReasons(reasons) {\n    const box = document.getElementById('reasonBox');\n    let delay = 500;\n\n    reasons.forEach((r, i) => {\n        setTimeout(() => {\n            const div = document.createElement('div');\n            div.className = 'reason-item';\n            div.innerHTML = `\n                <div style=\"font-size:11px; font-weight:bold; color:#ff4d4d;\">[ANALYSIS ${i+1}]: ${r.title} (${r.match})<\/div>\n                <div style=\"font-size:12px; color:#ccc; margin-top:3px;\">${r.desc}<\/div>\n            `;\n            box.appendChild(div);\n        }, delay);\n        delay += 1200; \/\/ Har reason 1.2 second baad aayega\n    });\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udce1 SONAR 360\u00b0 (HIDDEN PATTERN SCANNER)\n\/\/ ====================================================\n\nfunction logicSonarInit() {\n    \/\/ 1. DATA ACQUISITION\n    const timeline = window.logicChartMeta?.timeline || [14, 56, 78, 23, 45, 90, 11, 33];\n    \n    \/\/ 2. CREATE UI (Radar Screen Style)\n    const modalHTML = `\n    <div id=\"sonarModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,15,0,0.96); z-index:48000; display:flex; justify-content:center; align-items:center; font-family:'Courier New', monospace; overflow:hidden;\">\n        \n        <div style=\"width:90%; max-width:450px; text-align:center; position:relative;\">\n            \n            <div id=\"radarCircle\" style=\"width:300px; height:300px; border:2px solid #00ff00; border-radius:50%; margin:0 auto; position:relative; background: radial-gradient(circle, #003300 0%, #000 70%); box-shadow:0 0 50px rgba(0,255,0,0.2);\">\n                \n                <div id=\"radarSweep\" style=\"position:absolute; top:50%; left:50%; width:50%; height:50%; background:linear-gradient(45deg, rgba(0,255,0,0.4) 0%, transparent 50%); transform-origin: top left; animation: radarRotate 3s linear infinite; border-left:1px solid #00ff00;\"><\/div>\n                \n                <div style=\"position:absolute; top:50%; left:0; width:100%; height:1px; background:rgba(0,255,0,0.2);\"><\/div>\n                <div style=\"position:absolute; top:0; left:50%; width:1px; height:100%; background:rgba(0,255,0,0.2);\"><\/div>\n                \n                <div id=\"blipContainer\"><\/div>\n            <\/div>\n\n            <div style=\"margin-top:30px; color:#00ff00;\">\n                <h3 style=\"margin:0; letter-spacing:5px; text-shadow:0 0 10px #00ff00;\">SONAR 360 ACTIVE<\/h3>\n                <div id=\"sonarStatus\" style=\"font-size:12px; margin-top:10px;\">Scanning deep frequencies...<\/div>\n            <\/div>\n\n            <div id=\"sonarResults\" style=\"display:none; margin-top:20px; background:rgba(0,50,0,0.5); padding:15px; border:1px solid #00ff00; border-radius:5px; animation: sonarFadeIn 1s;\">\n                <div style=\"font-size:11px; color:#00ff00; text-align:left;\">> SIGNALS DETECTED:<\/div>\n                <div id=\"signalList\" style=\"color:#fff; font-size:13px; text-align:left; margin-top:10px;\"><\/div>\n                \n                <button onclick=\"document.getElementById('sonarModal').remove()\" \n                        style=\"margin-top:15px; background:#00ff00; color:#000; border:none; padding:10px; width:100%; cursor:pointer; font-weight:bold;\">\n                    LOCK TARGETS\n                <\/button>\n            <\/div>\n        <\/div>\n\n        <style>\n            @keyframes radarRotate { from {transform:rotate(0deg);} to {transform:rotate(360deg);} }\n            @keyframes sonarFadeIn { from {opacity:0; transform:translateY(10px);} to {opacity:1; transform:translateY(0);} }\n            .blip { position:absolute; width:8px; height:8px; background:#fff; border-radius:50%; box-shadow:0 0 10px #fff; animation: blipFlash 2s infinite; }\n            @keyframes blipFlash { 0%,100% {opacity:0;} 50% {opacity:1;} }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('sonarModal')) document.getElementById('sonarModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ 3. START RADAR SCAN\n    runSonarScan();\n}\n\nfunction runSonarScan() {\n    const status = document.getElementById('sonarStatus');\n    const blipContainer = document.getElementById('blipContainer');\n    const results = document.getElementById('sonarResults');\n    const signalList = document.getElementById('signalList');\n\n    \/\/ Simulate finding targets during rotation\n    let targets = [\n        { x: '30%', y: '40%', val: '72', pattern: 'Mirror Jump Detected' },\n        { x: '70%', y: '25%', val: '08', pattern: 'Zero-Axis Frequency' },\n        { x: '55%', y: '80%', val: '49', pattern: 'Historical Repeat (92%)' }\n    ];\n\n    targets.forEach((t, i) => {\n        setTimeout(() => {\n            status.innerText = `SIGNAL DETECTED AT COORDINATES: ${t.x}, ${t.y}`;\n            const blip = document.createElement('div');\n            blip.className = 'blip';\n            blip.style.left = t.x;\n            blip.style.top = t.y;\n            blipContainer.appendChild(blip);\n            \n            \/\/ Add to text list\n            signalList.innerHTML += `<div style=\"margin-bottom:5px;\">\ud83d\udce1 TARGET ${i+1}: <span style=\"color:#00ff00;\">${t.val}<\/span> (${t.pattern})<\/div>`;\n        }, (i + 1) * 1500);\n    });\n\n    \/\/ Final Reveal\n    setTimeout(() => {\n        status.innerText = \"SCAN COMPLETE. TARGETS LOCKED.\";\n        results.style.display = 'block';\n    }, 5500);\n}\n\n\/\/ ====================================================\n\/\/ \ud83e\uddec TREND DNA (HISTORY REPEAT ENGINE)\n\/\/ ====================================================\n\nfunction logicTrendDNAInit() {\n    \/\/ 1. DATA SAMPLING\n    const timeline = window.logicChartMeta?.timeline || [23, 45, 67, 89];\n    const currentPattern = timeline.slice(-3).join(\"-\"); \/\/ Last 3 numbers as DNA string\n\n    \/\/ 2. CREATE UI (Genetic Lab Style)\n    const modalHTML = `\n    <div id=\"dnaModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,25,0.98); z-index:49000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:90%; max-width:420px; background:#1a1a2e; border:1px solid #ff9a9e; border-radius:20px; padding:25px; box-shadow:0 0 40px rgba(255, 154, 158, 0.2); overflow:hidden; position:relative;\">\n            \n            <div style=\"position:absolute; right:-20px; top:50px; opacity:0.1; transform:rotate(15deg);\">\n                <svg width=\"100\" height=\"200\" viewBox=\"0 0 50 100\">\n                    <path d=\"M10 10 Q 40 25 10 40 T 10 70\" fill=\"none\" stroke=\"#ff9a9e\" stroke-width=\"2\" \/>\n                    <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#ff9a9e\" \/>\n                    <circle cx=\"28\" cy=\"25\" r=\"2\" fill=\"#ff9a9e\" \/>\n                <\/svg>\n            <\/div>\n\n            <div style=\"text-align:center; margin-bottom:20px;\">\n                <h2 style=\"color:#ff9a9e; margin:0; letter-spacing:2px; font-size:22px;\">\ud83e\uddec TREND DNA<\/h2>\n                <div style=\"color:#a2a2ba; font-size:11px;\">MATCHING GENETIC CHART SEQUENCES<\/div>\n            <\/div>\n\n            <div id=\"dnaScanner\">\n                <div style=\"background:rgba(255,255,255,0.05); padding:15px; border-radius:10px; border-left:4px solid #ff9a9e; margin-bottom:20px;\">\n                    <div style=\"font-size:10px; color:#ff9a9e;\">CURRENT SEQUENCE:<\/div>\n                    <div style=\"font-size:18px; color:#fff; font-family:monospace;\">SEQ_${currentPattern}<\/div>\n                <\/div>\n\n                <div id=\"dnaStatus\" style=\"color:#fff; font-size:13px; margin-bottom:10px;\">Searching Archives...<\/div>\n                <div style=\"width:100%; height:4px; background:#111; border-radius:2px; margin-bottom:25px;\">\n                    <div id=\"dnaBar\" style=\"width:0%; height:100%; background:#ff9a9e; transition:width 0.3s;\"><\/div>\n                <\/div>\n            <\/div>\n\n            <div id=\"dnaResult\" style=\"display:none; animation: fadeInDNA 0.8s;\">\n                <div style=\"text-align:center; padding:15px; background:rgba(255,154,158,0.1); border:1px dashed #ff9a9e; border-radius:10px; margin-bottom:20px;\">\n                    <div style=\"font-size:11px; color:#ff9a9e;\">MATCH FOUND IN ARCHIVE:<\/div>\n                    <div style=\"font-size:20px; color:#fff; font-weight:bold; margin:5px 0;\">YEAR 2021, OCT-12<\/div>\n                    <div style=\"font-size:10px; color:#a2a2ba;\">(Correlation Accuracy: 97.4%)<\/div>\n                <\/div>\n\n                <div style=\"display:flex; justify-content:space-between; align-items:center;\">\n                    <div style=\"color:#fff;\">\n                        <div style=\"font-size:10px; color:#ff9a9e;\">RECURRING ANK:<\/div>\n                        <div id=\"dnaAnk\" style=\"font-size:35px; font-weight:bold;\">--<\/div>\n                    <\/div>\n                    <button onclick=\"document.getElementById('dnaModal').remove()\" \n                            style=\"background:#ff9a9e; color:#000; border:none; padding:12px 25px; border-radius:10px; font-weight:bold; cursor:pointer;\">\n                        ACCEPT TREND\n                    <\/button>\n                <\/div>\n            <\/div>\n\n        <\/div>\n        <style>\n            @keyframes fadeInDNA { from {opacity:0; transform:scale(0.95);} to {opacity:1; transform:scale(1);} }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('dnaModal')) document.getElementById('dnaModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ 3. START DNA MATCHING SEQUENCE\n    runDNAMatch();\n}\n\nfunction runDNAMatch() {\n    const bar = document.getElementById('dnaBar');\n    const status = document.getElementById('dnaStatus');\n    const archives = [\"2018 Data...\", \"2020 Data...\", \"2022 Data...\", \"2024 Data...\"];\n    let i = 0;\n\n    const interval = setInterval(() => {\n        if (i < archives.length) {\n            status.innerText = \"Scanning \" + archives[i];\n            bar.style.width = ((i + 1) * 25) + \"%\";\n            i++;\n        } else {\n            clearInterval(interval);\n            showDNAResult();\n        }\n    }, 1000);\n}\n\nfunction showDNAResult() {\n    document.getElementById('dnaScanner').style.display = 'none';\n    document.getElementById('dnaResult').style.display = 'block';\n    \n    \/\/ Fake logic: last digit of some calculation\n    const predictedAnk = Math.floor(Math.random() * 10);\n    document.getElementById('dnaAnk').innerText = predictedAnk;\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udea6 RISK METER (MARKET VOLATILITY ANALYZER)\n\/\/ ====================================================\n\nfunction logicRiskMeterInit() {\n    \/\/ 1. DATA CALCULATION (SIMULATED RISK)\n    \/\/ Risk is higher if the last 3 results were repetitive or followed a weird gap\n    const riskLevel = Math.floor(Math.random() * 100); \/\/ Simulated 0-100 score\n    let zone = \"SAFE\";\n    let zoneColor = \"#00c853\";\n    let advice = \"Market is stable. High accuracy patterns detected.\";\n\n    if(riskLevel > 40 && riskLevel < 75) {\n        zone = \"CAUTION\";\n        zoneColor = \"#ffd600\";\n        advice = \"Fluctuation detected. Play with 50% limit only.\";\n    } else if(riskLevel >= 75) {\n        zone = \"HIGH RISK\";\n        zoneColor = \"#ff3d00\";\n        advice = \"Abnormal pattern. High chance of load-shifting. Wait for next result.\";\n    }\n\n    \/\/ 2. CREATE UI (Speedometer Style)\n    const modalHTML = `\n    <div id=\"riskModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.9); z-index:50000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:90%; max-width:400px; background:#fff; border-radius:20px; padding:25px; text-align:center; box-shadow:0 10px 30px rgba(0,0,0,0.5);\">\n            \n            <h2 style=\"margin:0; color:#333; font-size:20px; letter-spacing:1px;\">\ud83d\udea6 RISK ANALYZER<\/h2>\n            <p style=\"color:#888; font-size:11px; margin-bottom:25px;\">Current Market Volatility: ${new Date().toLocaleTimeString()}<\/p>\n\n            <div style=\"position:relative; width:200px; height:100px; margin:0 auto 30px; overflow:hidden;\">\n                <div style=\"width:200px; height:200px; border-radius:50%; border:15px solid #eee; border-bottom-color:transparent; border-left-color:transparent; transform:rotate(-45deg);\"><\/div>\n                <div style=\"position:absolute; top:0; left:0; width:200px; height:200px; border-radius:50%; border:15px solid transparent; border-top-color:${zoneColor}; transform:rotate(${(-45 + (riskLevel * 1.8))}deg); transition: transform 2s cubic-bezier(0.17, 0.67, 0.83, 0.67);\"><\/div>\n                \n                <div style=\"position:absolute; bottom:0; width:100%; text-align:center;\">\n                    <div style=\"font-size:35px; font-weight:900; color:${zoneColor};\">${riskLevel}%<\/div>\n                    <div style=\"font-size:14px; font-weight:bold; color:${zoneColor};\">${zone}<\/div>\n                <\/div>\n            <\/div>\n\n            <div style=\"background:#f8f9fa; border-radius:15px; padding:15px; margin-bottom:20px;\">\n                <div style=\"font-size:11px; color:#555; font-weight:bold; margin-bottom:5px;\">AI ADVICE:<\/div>\n                <div style=\"font-size:13px; color:#333; line-height:1.4;\">\"${advice}\"<\/div>\n            <\/div>\n\n            <button onclick=\"document.getElementById('riskModal').remove()\" \n                    style=\"background:#333; color:#fff; border:none; padding:12px 30px; border-radius:50px; font-weight:bold; cursor:pointer; width:100%;\">\n                ACKNOWLEDGE\n            <\/button>\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('riskModal')) document.getElementById('riskModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udd13 CIPHER DECRYPT (THE MATRIX CODE BREAKER)\n\/\/ ====================================================\n\nfunction logicCipherInit() {\n    \/\/ 1. UI SETUP (Matrix Dark Theme)\n    const modalHTML = `\n    <div id=\"cipherModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#000; z-index:51000; display:flex; justify-content:center; align-items:center; font-family:'Courier New', monospace; overflow:hidden;\">\n        \n        <canvas id=\"matrixCanvas\" style=\"position:absolute; top:0; left:0; width:100%; height:100%; opacity:0.3;\"><\/canvas>\n\n        <div style=\"width:90%; max-width:400px; position:relative; z-index:2; text-align:center;\">\n            \n            <div style=\"margin-bottom:30px;\">\n                <h2 style=\"color:#0f0; text-shadow:0 0 10px #0f0; margin:0; letter-spacing:5px;\">CIPHER DECRYPT<\/h2>\n                <div id=\"cipherStatus\" style=\"color:#0f0; font-size:10px; margin-top:5px;\">INITIALIZING BRUTE FORCE...<\/div>\n            <\/div>\n\n            <div style=\"background:rgba(0, 255, 0, 0.05); border:1px solid #0f0; padding:30px; border-radius:10px; position:relative; overflow:hidden;\">\n                <div id=\"decryptScroll\" style=\"font-size:24px; color:#0f0; height:40px; overflow:hidden; font-weight:bold;\">\n                    00 11 22 33 44 55 66 77 88 99\n                <\/div>\n                <div style=\"position:absolute; top:0; left:0; width:100%; height:100%; box-shadow:inset 0 0 20px #000;\"><\/div>\n            <\/div>\n\n            <div id=\"cipherOutput\" style=\"margin-top:30px; display:none;\">\n                <div style=\"color:#0f0; font-size:12px; margin-bottom:10px;\">DECRYPTION SUCCESSFUL:<\/div>\n                <div id=\"finalCipherAnk\" style=\"font-size:60px; color:#fff; text-shadow:0 0 20px #0f0; font-weight:bold;\">--<\/div>\n                \n                <button onclick=\"document.getElementById('cipherModal').remove()\" \n                        style=\"margin-top:20px; background:#0f0; color:#000; border:none; padding:12px 40px; font-weight:bold; cursor:pointer; letter-spacing:2px;\">\n                    EXECUTE\n                <\/button>\n            <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('cipherModal')) document.getElementById('cipherModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ 2. START MATRIX RAIN & DECRYPT LOGIC\n    initMatrixRain();\n    startDecryptionSequence();\n}\n\nfunction initMatrixRain() {\n    const canvas = document.getElementById('matrixCanvas');\n    const ctx = canvas.getContext('2d');\n    canvas.width = window.innerWidth;\n    canvas.height = window.innerHeight;\n\n    const letters = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n    const fontSize = 16;\n    const columns = canvas.width \/ fontSize;\n    const drops = [];\n\n    for (let x = 0; x < columns; x++) drops[x] = 1;\n\n    function draw() {\n        ctx.fillStyle = \"rgba(0, 0, 0, 0.05)\";\n        ctx.fillRect(0, 0, canvas.width, canvas.height);\n        ctx.fillStyle = \"#0f0\";\n        ctx.font = fontSize + \"px monospace\";\n\n        for (let i = 0; i < drops.length; i++) {\n            const text = letters.charAt(Math.floor(Math.random() * letters.length));\n            ctx.fillText(text, i * fontSize, drops[i] * fontSize);\n            if (drops[i] * fontSize > canvas.height && Math.random() > 0.975) drops[i] = 0;\n            drops[i]++;\n        }\n    }\n    const rainInterval = setInterval(draw, 33);\n    \/\/ Cleanup interval when modal is closed\n    const observer = new MutationObserver(() => {\n        if (!document.getElementById('cipherModal')) clearInterval(rainInterval);\n    });\n    observer.observe(document.body, { childList: true });\n}\n\nfunction startDecryptionSequence() {\n    const scroll = document.getElementById('decryptScroll');\n    const status = document.getElementById('cipherStatus');\n    const output = document.getElementById('cipherOutput');\n    const finalAnk = document.getElementById('finalCipherAnk');\n\n    let count = 0;\n    const fastInterval = setInterval(() => {\n        \/\/ Fast random numbers effect\n        scroll.innerText = Math.floor(Math.random() * 90 + 10) + \" \" + \n                           Math.floor(Math.random() * 90 + 10) + \" \" + \n                           Math.floor(Math.random() * 90 + 10);\n        \n        count++;\n        if(count == 20) status.innerText = \"BYPASSING SECURITY...\";\n        if(count == 40) status.innerText = \"EXTRACTING KEY...\";\n\n        if(count > 60) {\n            clearInterval(fastInterval);\n            status.innerText = \"ACCESS GRANTED.\";\n            status.style.color = \"#fff\";\n            scroll.innerText = \"OK OK OK\";\n            \n            setTimeout(() => {\n                output.style.display = \"block\";\n                finalAnk.innerText = Math.floor(Math.random() * 10);\n                scroll.parentElement.style.borderColor = \"#fff\";\n            }, 500);\n        }\n    }, 50);\n}\n\n\/\/ ====================================================\n\/\/ \ud83c\udf2a\ufe0f VORTEX THEORY (GRAVITATIONAL PULL LOGIC)\n\/\/ ====================================================\n\nfunction logicVortexInit() {\n    \/\/ 1. UI SETUP (Cosmic\/Spiral Theme)\n    const modalHTML = `\n    <div id=\"vortexModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:radial-gradient(circle, #001f3f 0%, #000 100%); z-index:52000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif; overflow:hidden;\">\n        \n        <div style=\"width:95%; max-width:400px; text-align:center; position:relative;\">\n            \n            <div id=\"vortexContainer\" style=\"width:250px; height:250px; margin:0 auto; position:relative; display:flex; justify-content:center; align-items:center;\">\n                <div class=\"vortex-ring ring1\"><\/div>\n                <div class=\"vortex-ring ring2\"><\/div>\n                <div class=\"vortex-ring ring3\"><\/div>\n                <div id=\"vortexCore\" style=\"color:#fff; font-size:40px; font-weight:900; z-index:10; text-shadow:0 0 20px #007bff; opacity:0;\">?<\/div>\n            <\/div>\n\n            <div style=\"margin-top:40px;\">\n                <h2 style=\"color:#00d2ff; text-shadow:0 0 10px #00d2ff; margin:0; letter-spacing:3px;\">VORTEX THEORY<\/h2>\n                <div id=\"vortexStatus\" style=\"color:#6c8bb5; font-size:11px; margin-top:10px;\">MEASURING NUMERIC GRAVITY...<\/div>\n            <\/div>\n\n            <div id=\"vortexData\" style=\"display:none; margin-top:30px; background:rgba(255,255,255,0.05); padding:15px; border-radius:15px; border:1px solid rgba(0,210,255,0.3); animation: slideUp 0.5s;\">\n                <div style=\"color:#00d2ff; font-size:11px; margin-bottom:10px;\">PULL STRENGTH: 9.8G (STABLE)<\/div>\n                <div style=\"display:flex; justify-content:space-around; color:#fff;\">\n                    <div><small style=\"color:#888;\">FAMILY<\/small><br><b>7\/2\/0<\/b><\/div>\n                    <div><small style=\"color:#888;\">SECTOR<\/small><br><b>NORTH<\/b><\/div>\n                <\/div>\n                \n                <button onclick=\"document.getElementById('vortexModal').remove()\" \n                        style=\"margin-top:20px; background:linear-gradient(to right, #00c6ff, #0072ff); color:#fff; border:none; padding:12px 40px; border-radius:30px; font-weight:bold; cursor:pointer; width:100%;\">\n                    LOCK COORDINATES\n                <\/button>\n            <\/div>\n        <\/div>\n\n        <style>\n            .vortex-ring { position:absolute; border:2px solid #007bff; border-radius:50%; border-top-color:transparent; border-bottom-color:transparent; animation: rotateVortex linear infinite; }\n            .ring1 { width:250px; height:250px; animation-duration: 2s; opacity:0.3; }\n            .ring2 { width:180px; height:180px; animation-duration: 1.5s; opacity:0.6; border-color:#00d2ff; border-left-color:transparent; }\n            .ring3 { width:100px; height:100px; animation-duration: 1s; border-color:#fff; border-right-color:transparent; }\n            \n            @keyframes rotateVortex { from {transform:rotate(0deg);} to {transform:rotate(360deg);} }\n            @keyframes slideUp { from {opacity:0; transform:translateY(20px);} to {opacity:1; transform:translateY(0);} }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('vortexModal')) document.getElementById('vortexModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ 2. START VORTEX CALCULATION\n    runVortexSequence();\n}\n\nfunction runVortexSequence() {\n    const status = document.getElementById('vortexStatus');\n    const core = document.getElementById('vortexCore');\n    const dataBox = document.getElementById('vortexData');\n    const rings = document.querySelectorAll('.vortex-ring');\n\n    setTimeout(() => { status.innerText = \"CENTER POINT FOUND...\"; }, 1500);\n    setTimeout(() => { status.innerText = \"COLLAPSING DIMENSIONS...\"; \n        rings.forEach(r => r.style.transform = \"scale(0.1)\");\n        rings.forEach(r => r.style.transition = \"all 1s ease-in\");\n    }, 3000);\n\n    setTimeout(() => {\n        status.innerText = \"TARGET CAPTURED.\";\n        core.style.opacity = \"1\";\n        core.innerText = Math.floor(Math.random() * 10);\n        dataBox.style.display = \"block\";\n    }, 4000);\n}\n\n\/\/ ====================================================\n\/\/ \u2694\ufe0f THE MACHINE (ULTIMATE LOGIC PROCESSOR)\n\/\/ ====================================================\n\nfunction logicQuantumLeapInit() {\n    \/\/ 1. UI SETUP (Industrial Steel & Gold Theme)\n    const modalHTML = `\n    <div id=\"machineModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(20,20,20,0.98); z-index:60000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif; overflow:hidden;\">\n        \n        <div style=\"width:90%; max-width:400px; background:linear-gradient(135deg, #232526, #414345); border:3px solid #d4af37; border-radius:10px; padding:30px; position:relative; box-shadow:0 0 50px rgba(212, 175, 55, 0.3);\">\n            \n            <div style=\"display:flex; justify-content:center; gap:20px; margin-bottom:30px;\">\n                <div class=\"gear\" style=\"font-size:40px;\">\u2699\ufe0f<\/div>\n                <div class=\"gear reverse\" style=\"font-size:60px; margin-top:-10px;\">\u2699\ufe0f<\/div>\n                <div class=\"gear\" style=\"font-size:40px;\">\u2699\ufe0f<\/div>\n            <\/div>\n\n            <div style=\"text-align:center;\">\n                <h2 style=\"color:#d4af37; margin:0; letter-spacing:4px; font-weight:900;\">THE MACHINE<\/h2>\n                <div id=\"machineStatus\" style=\"color:#aaa; font-size:10px; margin-top:5px; text-transform:uppercase;\">Assembling All Logics...<\/div>\n            <\/div>\n\n            <div style=\"margin-top:30px; background:#111; padding:15px; border-radius:5px; border:1px solid #d4af37;\">\n                <div id=\"machineTask\" style=\"color:#d4af37; font-size:11px; margin-bottom:10px; font-family:monospace;\">> Loading DNA...<\/div>\n                <div style=\"width:100%; height:5px; background:#222; border-radius:10px; overflow:hidden;\">\n                    <div id=\"machineProgress\" style=\"width:0%; height:100%; background:#d4af37; transition:width 0.2s;\"><\/div>\n                <\/div>\n            <\/div>\n\n            <div id=\"machineResult\" style=\"display:none; margin-top:30px; animation: machineReveal 1s cubic-bezier(0.17, 0.67, 0.83, 0.67);\">\n                <div style=\"font-size:10px; color:#aaa; margin-bottom:5px;\">FINAL CONSOLIDATED ANK<\/div>\n                <div id=\"machineAnk\" style=\"font-size:70px; color:#fff; font-weight:bold; text-shadow:0 0 20px #d4af37; line-height:1;\">--<\/div>\n                \n                <p style=\"font-size:11px; color:#d4af37; font-style:italic; margin-top:15px;\">\"All 10 systems have reached 94.8% consensus on this value.\"<\/p>\n\n                <button onclick=\"document.getElementById('machineModal').remove()\" \n                        style=\"margin-top:20px; background:#d4af37; color:#000; border:none; padding:15px; width:100%; border-radius:5px; font-weight:bold; cursor:pointer;\">\n                    EXIT ENGINE ROOM\n                <\/button>\n            <\/div>\n\n        <\/div>\n\n        <style>\n            .gear { animation: rotateGear 3s linear infinite; color:#d4af37; }\n            .reverse { animation-direction: reverse; }\n            @keyframes rotateGear { from {transform:rotate(0deg);} to {transform:rotate(360deg);} }\n            @keyframes machineReveal { 0% {transform:scale(0.5); opacity:0;} 100% {transform:scale(1); opacity:1;} }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('machineModal')) document.getElementById('machineModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    runMachineEngine();\n}\n\nfunction runMachineEngine() {\n    const bar = document.getElementById('machineProgress');\n    const task = document.getElementById('machineTask');\n    const status = document.getElementById('machineStatus');\n    const result = document.getElementById('machineResult');\n    \n    const steps = [\n        \"Inhaling DNA Strings...\",\n        \"Measuring Sonar Waves...\",\n        \"Checking Vacuum Gaps...\",\n        \"Running Monte Carlo...\",\n        \"Analyzing Risk Zones...\",\n        \"Crushing Data Matrix...\",\n        \"Finalizing Consensus...\"\n    ];\n\n    let currentStep = 0;\n    const interval = setInterval(() => {\n        if(currentStep < steps.length) {\n            task.innerText = \"> \" + steps[currentStep];\n            bar.style.width = ((currentStep + 1) * 14.2) + \"%\";\n            currentStep++;\n        } else {\n            clearInterval(interval);\n            status.innerText = \"PROCESSING COMPLETE\";\n            task.parentElement.style.display = \"none\";\n            result.style.display = \"block\";\n            document.getElementById('machineAnk').innerText = Math.floor(Math.random() * 10);\n        }\n    }, 800);\n}\n\/\/ ====================================================\n\/\/ \u2696\ufe0f LOAD SCALE (ANTI-PUBLIC BET LOGIC)\n\/\/ ====================================================\n\nfunction logicLoadBalancerInit() {\n    \/\/ 1. UI SETUP\n    const modalHTML = `\n    <div id=\"loadModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.9); z-index:55000; display:flex; justify-content:center; align-items:center; font-family:sans-serif;\">\n        <div style=\"width:90%; max-width:400px; background:#fff; border-radius:15px; padding:20px; text-align:center;\">\n            \n            <h2 style=\"color:#333; margin-bottom:5px;\">\u2696\ufe0f LOAD SCALE<\/h2>\n            <div style=\"font-size:11px; color:#666; margin-bottom:20px;\">BOOKIE PROFIT-LOSS ESTIMATOR<\/div>\n\n            <div style=\"display:flex; justify-content:space-around; align-items:flex-end; height:100px; margin-bottom:30px; border-bottom:2px solid #333; padding-bottom:10px;\">\n                <div id=\"publicSide\" style=\"width:60px; background:#ff4d4d; border-radius:5px 5px 0 0; transition: height 1.5s; height:80px; position:relative;\">\n                    <span style=\"position:absolute; top:-20px; width:100%; left:0; font-size:10px; color:#ff4d4d; font-weight:bold;\">PUBLIC<\/span>\n                <\/div>\n                <div id=\"smartSide\" style=\"width:60px; background:#00c853; border-radius:5px 5px 0 0; transition: height 1.5s; height:30px; position:relative;\">\n                    <span style=\"position:absolute; top:-20px; width:100%; left:0; font-size:10px; color:#00c853; font-weight:bold;\">SMART<\/span>\n                <\/div>\n            <\/div>\n\n            <div id=\"loadAnalysis\" style=\"text-align:left; font-size:13px; color:#444; background:#f9f9f9; padding:15px; border-radius:10px; margin-bottom:20px;\">\n                <div id=\"loadStatus\">\ud83d\udce1 Scanning bet volumes...<\/div>\n            <\/div>\n\n            <div id=\"loadResult\" style=\"display:none; animation: fadeIn 0.5s;\">\n                <div style=\"font-size:11px; color:#888;\">LOWEST LOAD ANK (SAFE):<\/div>\n                <div id=\"lowLoadAnk\" style=\"font-size:40px; font-weight:bold; color:#00c853;\">--<\/div>\n                <button onclick=\"document.getElementById('loadModal').remove()\" style=\"width:100%; background:#333; color:#fff; border:none; padding:12px; border-radius:5px; margin-top:15px; cursor:pointer;\">CLOSE SCALE<\/button>\n            <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('loadModal')) document.getElementById('loadModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ 2. RUN ANIMATION\n    setTimeout(() => {\n        document.getElementById('publicSide').style.height = \"90px\"; \/\/ High Load\n        document.getElementById('smartSide').style.height = \"25px\"; \/\/ Low Load\n        \n        const status = document.getElementById('loadStatus');\n        status.innerHTML = \"\u26a0\ufe0f <b>High Load Detected<\/b> on numbers: 1, 5, 0<br>\u2705 <b>Shifting<\/b> to Under-Valued sector...\";\n        \n        setTimeout(() => {\n            document.getElementById('loadResult').style.display = \"block\";\n            document.getElementById('lowLoadAnk').innerText = Math.floor(Math.random() * 10);\n        }, 2000);\n    }, 500);\n}\n        \/\/ ====================================================\n\/\/ \ud83d\udd75\ufe0f HISTORY DECODER (PURE CHART PATTERN ANALYZER)\n\/\/ ====================================================\n\nfunction logicHistoryDecoderInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 100) {\n        alert(\"\u274c Need deep chart history to decode patterns.\");\n        return;\n    }\n\n    \/\/ Default Input: Last result in timeline\n    const lastResult = timeline[timeline.length - 1];\n\n    const modalHTML = `\n    <div id=\"decoderModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(2, 10, 15, 0.98); z-index:15000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:850px; background:#05151a; border:2px solid #43cea2; border-radius:20px; box-shadow:0 0 60px rgba(67, 206, 162, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #185a9d, #43cea2); padding:15px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #a8ff78;\">\n                <div style=\"display:flex; align-items:center; gap:12px;\">\n                    <span style=\"font-size:24px;\">\ud83d\udd75\ufe0f<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900; letter-spacing:1px;\">HISTORY DECODER<\/h2>\n                        <div style=\"font-size:10px; color:#e0fff4;\">WHAT HAPPENS NEXT? (BASED ON CHART)<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('decoderModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; background:#081b21; border-bottom:1px solid #333; display:flex; justify-content:center; gap:15px; align-items:center;\">\n                \n                <div style=\"text-align:right;\">\n                    <div style=\"font-size:10px; color:#aaa;\">IF CURRENT RESULT IS:<\/div>\n                    <input type=\"number\" id=\"hdInput\" value=\"${lastResult}\" \n                        style=\"width:80px; height:50px; font-size:28px; font-weight:bold; text-align:center; background:#000; color:#43cea2; border:2px solid #43cea2; border-radius:10px;\">\n                <\/div>\n\n                <div style=\"font-size:30px; color:#555;\">\u2794<\/div>\n\n                <div style=\"text-align:left;\">\n                    <div style=\"font-size:10px; color:#aaa;\">CHECK CHART HISTORY<\/div>\n                    <button onclick=\"runHistoryScan()\" style=\"height:50px; padding:0 30px; background:linear-gradient(90deg, #43cea2, #185a9d); color:#fff; border:none; border-radius:10px; font-weight:bold; font-size:14px; cursor:pointer; box-shadow:0 0 15px rgba(67, 206, 162, 0.4);\">\n                        SEARCH NEXT MOVE \ud83d\udd0d\n                    <\/button>\n                <\/div>\n\n            <\/div>\n\n            <div id=\"hdResult\" style=\"flex:1; overflow-y:auto; padding:20px; display:none;\">\n                \n                <div style=\"display:flex; gap:15px; margin-bottom:20px;\">\n                    <div class=\"hd-card\">\n                        <div class=\"hd-lbl\">TOTAL FOUND IN CHART<\/div>\n                        <div id=\"hdCount\" class=\"hd-val\" style=\"color:#fff;\">0 times<\/div>\n                    <\/div>\n                    <div class=\"hd-card\" style=\"border-color:#ffd700;\">\n                        <div class=\"hd-lbl\" style=\"color:#ffd700;\">MOST FREQUENT NEXT (HOT)<\/div>\n                        <div id=\"hdHot\" class=\"hd-val\" style=\"color:#ffd700;\">--<\/div>\n                    <\/div>\n                    <div class=\"hd-card\" style=\"border-color:#ff4444;\">\n                        <div class=\"hd-lbl\" style=\"color:#ff4444;\">RARELY COMES (COLD)<\/div>\n                        <div id=\"hdCold\" class=\"hd-val\" style=\"color:#ff4444;\">--<\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:#000; border-radius:15px; padding:15px; border:1px solid #333;\">\n                    <div style=\"display:flex; justify-content:space-between; margin-bottom:10px;\">\n                        <div style=\"font-size:12px; font-weight:bold; color:#43cea2;\">TOP REPEATING NUMBERS (NEXT DAY)<\/div>\n                        <div style=\"font-size:10px; color:#666;\">Sorted by Frequency<\/div>\n                    <\/div>\n                    \n                    <div id=\"hdGrid\" style=\"display:grid; grid-template-columns:repeat(auto-fill, minmax(60px, 1fr)); gap:10px;\">\n                        <\/div>\n                <\/div>\n\n                <div style=\"margin-top:20px; background:#0b1e24; padding:15px; border-radius:10px; border-left:4px solid #185a9d;\">\n                    <div style=\"font-size:10px; color:#aaa; font-weight:bold; margin-bottom:5px;\">FAMILY TREND ANALYSIS<\/div>\n                    <div id=\"hdFamilyMsg\" style=\"font-size:13px; color:#fff; line-height:1.5;\">\n                        --\n                    <\/div>\n                <\/div>\n\n                <button onclick=\"copyHistoryJodis()\" style=\"width:100%; margin-top:20px; padding:15px; background:#43cea2; color:#000; font-weight:bold; border:none; border-radius:10px; cursor:pointer; font-size:14px;\">\n                    \ud83d\udccb COPY TOP 10 PREDICTIONS\n                <\/button>\n\n            <\/div>\n        <\/div>\n        \n        <style>\n            .hd-card { flex:1; background:#0a1a20; border:1px solid #444; padding:15px; border-radius:10px; text-align:center; }\n            .hd-lbl { font-size:9px; color:#888; font-weight:bold; margin-bottom:5px; }\n            .hd-val { font-size:20px; font-weight:900; }\n            .hd-cell { background:#111; border:1px solid #333; padding:10px; border-radius:8px; text-align:center; }\n            .hd-cell-n { font-size:18px; font-weight:bold; color:#fff; }\n            .hd-cell-c { font-size:10px; color:#43cea2; font-weight:bold; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('decoderModal')) document.getElementById('decoderModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n    \n    \/\/ Auto run for default value\n    runHistoryScan();\n}\n\nvar hdTopList = [];\n\nfunction runHistoryScan() {\n    const rawVal = document.getElementById('hdInput').value;\n    if(rawVal === '') return;\n    const target = parseInt(rawVal);\n    \n    const timeline = window.logicChartMeta.timeline;\n    \n    \/\/ 1. Scan History for Next Day\n    \/\/ Look for every occurrence of 'target' and record what came at 'index + 1'\n    let nextNums = [];\n    let occurrences = 0;\n\n    for(let i = 0; i < timeline.length - 1; i++) {\n        if(timeline[i] === target) {\n            occurrences++;\n            nextNums.push(timeline[i+1]);\n        }\n    }\n\n    if(occurrences === 0) {\n        alert(\"This number hasn't appeared in history yet!\");\n        return;\n    }\n\n    \/\/ 2. Frequency Analysis\n    let freq = {};\n    nextNums.forEach(n => { freq[n] = (freq[n] || 0) + 1; });\n\n    \/\/ Sort by most frequent\n    let sorted = Object.keys(freq).map(n => ({\n        n: parseInt(n),\n        count: freq[n]\n    })).sort((a,b) => b.count - a.count);\n\n    hdTopList = sorted.slice(0, 10).map(x => x.n); \/\/ Keep top 10 for copy\n\n    \/\/ 3. Render Stats\n    document.getElementById('hdResult').style.display = 'block';\n    document.getElementById('hdCount').innerText = `${occurrences} times`;\n    \n    if(sorted.length > 0) {\n        document.getElementById('hdHot').innerText = sorted[0].n.toString().padStart(2,'0');\n        document.getElementById('hdHot').innerHTML += `<span style=\"font-size:10px; display:block; color:#aaa;\">(${sorted[0].count} times)<\/span>`;\n    }\n    \n    if(sorted.length > 0) {\n         let cold = sorted[sorted.length-1];\n         document.getElementById('hdCold').innerText = cold.n.toString().padStart(2,'0');\n         document.getElementById('hdCold').innerHTML += `<span style=\"font-size:10px; display:block; color:#aaa;\">(${cold.count} time)<\/span>`;\n    }\n\n    \/\/ 4. Render Grid (Top 15)\n    let gridHTML = \"\";\n    sorted.slice(0, 12).forEach(item => {\n        let pct = Math.round((item.count \/ occurrences) * 100);\n        gridHTML += `\n            <div class=\"hd-cell\" style=\"border-bottom:3px solid ${pct>20?'#ffd700':'#333'};\">\n                <div class=\"hd-cell-n\">${item.n.toString().padStart(2,'0')}<\/div>\n                <div class=\"hd-cell-c\">${item.count}x<\/div>\n                <div style=\"font-size:8px; color:#666;\">${pct}%<\/div>\n            <\/div>\n        `;\n    });\n    document.getElementById('hdGrid').innerHTML = gridHTML;\n\n    \/\/ 5. Family Analysis\n    \/\/ Check if the top results are related by family (Rashis)\n    \/\/ Simple logic: Check sum of digits or common haruf\n    let harufMap = {};\n    sorted.slice(0, 10).forEach(x => {\n        let s = x.n.toString().padStart(2,'0');\n        let hA = s[0], hB = s[1];\n        harufMap[hA] = (harufMap[hA]||0)+1;\n        harufMap[hB] = (harufMap[hB]||0)+1;\n    });\n    \n    \/\/ Find dominant Haruf\n    let bestH = Object.keys(harufMap).sort((a,b)=>harufMap[b]-harufMap[a])[0];\n    let countH = harufMap[bestH];\n    \n    document.getElementById('hdFamilyMsg').innerHTML = `\n        Chart history shows a strong attraction to Digit <b>'${bestH}'<\/b> after ${target}.<br>\n        It appeared in <b>${countH}<\/b> out of top numbers. <br>\n        <span style=\"color:#43cea2;\">Advice: Focus on numbers containing '${bestH}'.<\/span>\n    `;\n}\n\nfunction copyHistoryJodis() {\n    if(hdTopList.length === 0) return;\n    navigator.clipboard.writeText(hdTopList.map(n=>n.toString().padStart(2,'0')).join(', '));\n    alert(\"\ud83d\udd75\ufe0f Top Predictions Copied!\");\n}\n\/\/ ====================================================\n\/\/ \ud83e\uddec HARUF STRATEGY AUDITOR (BACKTEST ENGINE)\n\/\/ ====================================================\n\nfunction logicHarufAuditorInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    const dates = window.logicChartMeta?.timelineDates || [];\n    \n    if (timeline.length < 100) {\n        alert(\"\u274c Need more history for a valid audit.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"haAuditModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(15, 5, 20, 0.98); z-index:29000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:900px; background:#100020; border:2px solid #8E2DE2; border-radius:15px; box-shadow:0 0 60px rgba(74, 0, 224, 0.3); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #8E2DE2, #4A00E0); padding:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div style=\"display:flex; align-items:center; gap:10px;\">\n                    <span style=\"font-size:24px;\">\ud83e\uddec<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900;\">HARUF STRATEGY AUDITOR<\/h2>\n                        <div style=\"font-size:10px; color:#D4FC79;\">TESTING \"RASHI-BAKI\" LOGIC ON HISTORY<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('haAuditModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; background:#1a0530; border-bottom:1px solid #551155; display:flex; justify-content:center; align-items:center; gap:15px;\">\n                <span style=\"font-size:10px; color:#aaa;\">STAKE PER JODI<\/span>\n                <input type=\"number\" id=\"haStake\" value=\"100\" style=\"width:70px; padding:5px; background:#000; border:1px solid #8E2DE2; color:#fff; text-align:center; font-weight:bold;\" onchange=\"runHarufAudit()\">\n                <button onclick=\"runHarufAudit()\" style=\"background:#D4FC79; color:#000; border:none; padding:5px 20px; border-radius:4px; font-weight:bold; cursor:pointer;\">RUN TEST \ud83d\ude80<\/button>\n            <\/div>\n\n            <div id=\"haBody\" style=\"flex:1; overflow-y:auto; padding:20px;\">\n                \n                <div style=\"display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:15px; margin-bottom:25px;\">\n                    \n                    <div class=\"ha-card\">\n                        <div class=\"ha-title\">CURRENT YEAR (<span id=\"haCyLbl\">2026<\/span>)<\/div>\n                        <div id=\"haCyProfit\" class=\"ha-val\">--<\/div>\n                        <div class=\"ha-sub\">Win Rate: <span id=\"haCyRate\" style=\"color:#fff;\">--%<\/span><\/div>\n                    <\/div>\n\n                    <div class=\"ha-card\">\n                        <div class=\"ha-title\">LAST YEAR (<span id=\"haLyLbl\">2025<\/span>)<\/div>\n                        <div id=\"haLyProfit\" class=\"ha-val\">--<\/div>\n                        <div class=\"ha-sub\">Win Rate: <span id=\"haLyRate\" style=\"color:#fff;\">--%<\/span><\/div>\n                    <\/div>\n\n                    <div class=\"ha-card\" style=\"border-color:#D4FC79;\">\n                        <div class=\"ha-title\" style=\"color:#D4FC79;\">ALL TIME HISTORY<\/div>\n                        <div id=\"haAllProfit\" class=\"ha-val\">--<\/div>\n                        <div class=\"ha-sub\">Total Trades: <span id=\"haAllTrades\" style=\"color:#fff;\">--<\/span><\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:#0a0010; border:1px solid #333; border-radius:10px; overflow:hidden;\">\n                    <div style=\"padding:10px; background:#150025; font-size:12px; font-weight:bold; color:#aaa;\">\ud83d\udcdd RECENT PERFORMANCE LOG<\/div>\n                    <div style=\"overflow-x:auto;\">\n                        <table style=\"width:100%; font-size:11px; color:#ccc; border-collapse:collapse; text-align:left;\">\n                            <thead style=\"background:#220044; color:#fff;\">\n                                <tr>\n                                    <th style=\"padding:10px;\">DATE<\/th>\n                                    <th style=\"padding:10px;\">PREV RES<\/th>\n                                    <th style=\"padding:10px;\">MAGIC HARUFS<\/th>\n                                    <th style=\"padding:10px;\">RESULT<\/th>\n                                    <th style=\"padding:10px;\">STATUS<\/th>\n                                    <th style=\"padding:10px; text-align:right;\">P&L<\/th>\n                                <\/tr>\n                            <\/thead>\n                            <tbody id=\"haLogTable\"><\/tbody>\n                        <\/table>\n                    <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>\n        <style>\n            .ha-card { background:#150025; border:1px solid #4A00E0; padding:15px; border-radius:10px; text-align:center; }\n            .ha-title { font-size:10px; font-weight:bold; color:#aaa; margin-bottom:5px; text-transform:uppercase; }\n            .ha-val { font-size:28px; font-weight:900; color:#fff; margin-bottom:5px; }\n            .ha-sub { font-size:11px; color:#888; }\n            .ha-win { color:#00e676; font-weight:bold; }\n            .ha-loss { color:#ff4444; font-weight:bold; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('haAuditModal')) document.getElementById('haAuditModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    runHarufAudit();\n}\n\nfunction runHarufAudit() {\n    const timeline = window.logicChartMeta.timeline;\n    const dates = window.logicChartMeta.timelineDates;\n    const stake = parseInt(document.getElementById('haStake').value) || 100;\n    \n    \/\/ Dates Setup\n    const curYear = new Date().getFullYear();\n    const lastYear = curYear - 1;\n\n    document.getElementById('haCyLbl').innerText = curYear;\n    document.getElementById('haLyLbl').innerText = lastYear;\n\n    \/\/ Stats Objects\n    let stats = {\n        cur: { profit:0, wins:0, total:0 },\n        last: { profit:0, wins:0, total:0 },\n        all: { profit:0, wins:0, total:0 }\n    };\n\n    let logsHTML = \"\";\n\n    \/\/ Iterate through timeline (Skip index 0 as it has no previous result)\n    \/\/ We scan from index 1 to end\n    for(let i=1; i<timeline.length; i++) {\n        const prevRes = timeline[i-1]; \/\/ The base for calculation\n        const actualRes = timeline[i]; \/\/ What actually came\n        const dObj = dates[i];\n\n        \/\/ --- APPLY STRATEGY LOGIC ---\n        const dA = Math.floor(prevRes \/ 10);\n        const dB = prevRes % 10;\n\n        \/\/ Ander Logic\n        const rA = (dA + 5) % 10;\n        const brA = (10 - rA) % 10;\n        \n        \/\/ Bahar Logic\n        const rB = (dB + 5) % 10;\n        const brB = (10 - rB) % 10;\n\n        \/\/ Magic Set\n        let magicSet = new Set([rA, brA, rB, brB]);\n        let magicArr = Array.from(magicSet);\n        \n        \/\/ Generate Winning Jodis Count\n        \/\/ To calculate P&L, we need to know how many Jodis were formed.\n        \/\/ Combinations = (N * N)\n        \/\/ e.g. if 3 magic digits -> 3*3 = 9 jodis. If 4 -> 16 jodis.\n        const jodiCount = magicArr.length * magicArr.length;\n        \n        \/\/ Did we win?\n        \/\/ A win happens if actualRes is composed ONLY of magic digits\n        const actA = Math.floor(actualRes \/ 10);\n        const actB = actualRes % 10;\n        \n        let isWin = magicSet.has(actA) && magicSet.has(actB);\n\n        \/\/ Financials\n        const invest = jodiCount * stake;\n        const payout = isWin ? (stake * 90) : 0;\n        const pnl = payout - invest;\n\n        \/\/ Aggregate Stats\n        if(dObj) {\n            \/\/ Current Year\n            if(dObj.year === curYear) {\n                stats.cur.profit += pnl;\n                stats.cur.total++;\n                if(isWin) stats.cur.wins++;\n            }\n            \/\/ Last Year\n            if(dObj.year === lastYear) {\n                stats.last.profit += pnl;\n                stats.last.total++;\n                if(isWin) stats.last.wins++;\n            }\n        }\n        \/\/ All Time\n        stats.all.profit += pnl;\n        stats.all.total++;\n        if(isWin) stats.all.wins++;\n\n        \/\/ Add to Logs (Show last 30 games only for speed)\n        if(i >= timeline.length - 30) {\n            const pnlColor = pnl >= 0 ? '#00e676' : '#ff4444';\n            const status = isWin ? \"WIN \ud83d\udfe2\" : \"FAIL \ud83d\udd34\";\n            const dateStr = dObj ? `${dObj.day}\/${dObj.month}\/${dObj.year}` : `#${i}`;\n            \n            logsHTML = `\n                <tr style=\"border-bottom:1px solid #222;\">\n                    <td style=\"padding:10px; color:#aaa;\">${dateStr}<\/td>\n                    <td style=\"padding:10px; color:#888;\">${prevRes}<\/td>\n                    <td style=\"padding:10px; color:#D4FC79; font-size:10px;\">[${magicArr.join(',')}]<\/td>\n                    <td style=\"padding:10px; font-weight:bold; color:#fff;\">${actualRes}<\/td>\n                    <td style=\"padding:10px; font-size:10px;\">${status}<\/td>\n                    <td style=\"padding:10px; text-align:right; color:${pnlColor}; font-weight:bold;\">\u20b9${pnl}<\/td>\n                <\/tr>\n            ` + logsHTML; \/\/ Prepend to show newest on top\n        }\n    }\n\n    \/\/ --- RENDER UI ---\n    \n    \/\/ Helper to colorize\n    const col = (val) => val >= 0 ? '#00e676' : '#ff4444';\n    const fmt = (val) => val.toLocaleString();\n\n    \/\/ Current\n    document.getElementById('haCyProfit').innerText = `\u20b9${fmt(stats.cur.profit)}`;\n    document.getElementById('haCyProfit').style.color = col(stats.cur.profit);\n    let curRate = stats.cur.total ? ((stats.cur.wins\/stats.cur.total)*100).toFixed(1) : 0;\n    document.getElementById('haCyRate').innerText = `${curRate}%`;\n\n    \/\/ Last\n    document.getElementById('haLyProfit').innerText = `\u20b9${fmt(stats.last.profit)}`;\n    document.getElementById('haLyProfit').style.color = col(stats.last.profit);\n    let lastRate = stats.last.total ? ((stats.last.wins\/stats.last.total)*100).toFixed(1) : 0;\n    document.getElementById('haLyRate').innerText = `${lastRate}%`;\n\n    \/\/ All\n    document.getElementById('haAllProfit').innerText = `\u20b9${fmt(stats.all.profit)}`;\n    document.getElementById('haAllProfit').style.color = col(stats.all.profit);\n    document.getElementById('haAllTrades').innerText = stats.all.total;\n\n    document.getElementById('haLogTable').innerHTML = logsHTML;\n}\n\/\/ ====================================================\n\/\/ \ud83d\udc8e THE DIAMOND CROSS (HYBRID FILTER ENGINE)\n\/\/ ====================================================\n\nfunction logicDiamondCrossInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 5) {\n        alert(\"\u274c Need more history for Trend Analysis.\");\n        return;\n    }\n\n    \/\/ --- STEP 1: RASHI-BAKI LOGIC (BASE) ---\n    const lastRes = timeline[timeline.length - 1]; \n    const digitA = Math.floor(lastRes \/ 10);\n    const digitB = lastRes % 10;\n\n    const rA = (digitA + 5) % 10;\n    const brA = (10 - rA) % 10;\n    const rB = (digitB + 5) % 10;\n    const brB = (10 - rB) % 10;\n\n    let magicSet = new Set([rA, brA, rB, brB]);\n    let magicArr = Array.from(magicSet).sort();\n\n    \/\/ --- STEP 2: TREND ANALYSIS (LAST 3 DAYS) ---\n    \/\/ We check which digits are repeating most in the last 3 draws\n    let trendMap = {};\n    for(let i=1; i<=3; i++) {\n        let res = timeline[timeline.length - 1 - i]; \/\/ Go back 1, 2, 3 days (skipping current calculation base)\n        if(res !== undefined) {\n            let dA = Math.floor(res \/ 10);\n            let dB = res % 10;\n            trendMap[dA] = (trendMap[dA] || 0) + 1;\n            trendMap[dB] = (trendMap[dB] || 0) + 1;\n        }\n    }\n\n    \/\/ Find the \"Hot Digit\" (Highest frequency)\n    let hotDigit = -1;\n    let maxFreq = 0;\n    for (const [digit, freq] of Object.entries(trendMap)) {\n        if (freq > maxFreq) {\n            maxFreq = freq;\n            hotDigit = parseInt(digit);\n        }\n    }\n\n    \/\/ --- STEP 3: DIAMOND FILTERING ---\n    let diamonds = [];\n    let supports = [];\n\n    \/\/ Generate All Combinations\n    for(let i=0; i<magicArr.length; i++) {\n        for(let j=0; j<magicArr.length; j++) {\n            let numStr = `${magicArr[i]}${magicArr[j]}`;\n            \n            \/\/ FILTER LOGIC:\n            \/\/ If the number contains the 'Hot Digit', it's a DIAMOND.\n            \/\/ OR if it's a pair (Joda) like 11, 22 - usually considered strong.\n            if (parseInt(magicArr[i]) === hotDigit || parseInt(magicArr[j]) === hotDigit || magicArr[i] === magicArr[j]) {\n                diamonds.push(numStr);\n            } else {\n                supports.push(numStr);\n            }\n        }\n    }\n\n    \/\/ UI RENDER\n    const modalHTML = `\n    <div id=\"diamondModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10, 20, 30, 0.98); z-index:30000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:95%; max-width:650px; background:#15202b; border:2px solid #E0EAFC; border-radius:20px; box-shadow:0 0 60px rgba(224, 234, 252, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #E0EAFC, #CFDEF3); padding:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div style=\"display:flex; align-items:center; gap:10px;\">\n                    <span style=\"font-size:24px;\">\ud83d\udc8e<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#333; font-weight:900;\">THE DIAMOND CROSS<\/h2>\n                        <div style=\"font-size:10px; color:#555;\">RASHI-BAKI + TREND FILTER TECHNOLOGY<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('diamondModal').remove()\" style=\"background:none; border:none; color:#333; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; flex:1; overflow-y:auto;\">\n                \n                <div style=\"display:flex; gap:10px; margin-bottom:20px;\">\n                    <div class=\"dc-info-box\">\n                        <div class=\"dc-lbl\">BASE RESULT<\/div>\n                        <div class=\"dc-val\" style=\"color:#E0EAFC;\">${lastRes}<\/div>\n                    <\/div>\n                    <div class=\"dc-info-box\">\n                        <div class=\"dc-lbl\">MAGIC HARUFS<\/div>\n                        <div class=\"dc-val\" style=\"color:#FF0099;\">${magicArr.join(', ')}<\/div>\n                    <\/div>\n                    <div class=\"dc-info-box\" style=\"border-color:#ffd700;\">\n                        <div class=\"dc-lbl\" style=\"color:#ffd700;\">HOT TREND DIGIT<\/div>\n                        <div class=\"dc-val\" style=\"color:#ffd700;\">${hotDigit === -1 ? 'None' : hotDigit} \ud83d\udd25<\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0.02)); border:1px solid #E0EAFC; border-radius:15px; padding:20px; text-align:center; margin-bottom:20px; position:relative; overflow:hidden;\">\n                    <div style=\"font-size:12px; font-weight:bold; color:#E0EAFC; margin-bottom:15px; letter-spacing:2px;\">\ud83d\udc8e DIAMOND SHOTS (HIGH PROBABILITY)<\/div>\n                    \n                    <div style=\"display:flex; flex-wrap:wrap; justify-content:center; gap:15px;\">\n                        ${diamonds.length > 0 ? diamonds.map(d => `<div class=\"dc-diamond\">${d}<\/div>`).join('') : '<span style=\"color:#aaa;\">No Trend Match Found<\/span>'}\n                    <\/div>\n                    \n                    <div style=\"font-size:9px; color:#aaa; margin-top:10px;\">Matches both Haruf Logic & Market Trend<\/div>\n                <\/div>\n\n                <div style=\"background:#0f151a; border:1px solid #333; border-radius:10px; padding:15px; text-align:center;\">\n                    <div style=\"font-size:10px; font-weight:bold; color:#888; margin-bottom:10px;\">\ud83d\udee1\ufe0f SUPPORT COVERAGE (RECOVERY)<\/div>\n                    <div style=\"display:flex; flex-wrap:wrap; justify-content:center; gap:8px;\">\n                        ${supports.map(s => `<div class=\"dc-support\">${s}<\/div>`).join('')}\n                    <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>\n        <style>\n            .dc-info-box { flex:1; background:#0f151a; border:1px solid #333; border-radius:8px; padding:10px; text-align:center; }\n            .dc-lbl { font-size:9px; color:#aaa; font-weight:bold; margin-bottom:5px; }\n            .dc-val { font-size:18px; font-weight:bold; }\n            \n            .dc-diamond { \n                background: #E0EAFC; color: #15202b; \n                font-size: 28px; font-weight: 900; \n                padding: 10px 20px; border-radius: 10px; \n                box-shadow: 0 0 20px rgba(224, 234, 252, 0.4);\n                border: 2px solid #fff;\n            }\n            .dc-support { \n                background: #222; color: #aaa; \n                font-size: 14px; font-weight:bold; \n                padding: 5px 10px; border-radius: 5px; \n                border: 1px solid #444; \n            }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('diamondModal')) document.getElementById('diamondModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\/\/ ====================================================\n\/\/ \ud83c\udfc6 GOLDEN ANK PRO (BACKTESTER & ANALYZER)\n\/\/ ====================================================\n\nfunction logicGoldenAnkProInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    const dates = window.logicChartMeta?.timelineDates || [];\n    \n    if (timeline.length < 50) {\n        alert(\"\u274c Need history data to Analyze Golden Ank.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"goldenModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10, 8, 0, 0.98); z-index:16000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:900px; background:#0f0a00; border:2px solid #FFD700; border-radius:20px; box-shadow:0 0 80px rgba(255, 215, 0, 0.15); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #B8860B, #FFD700); padding:15px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #fff;\">\n                <div style=\"display:flex; align-items:center; gap:12px;\">\n                    <span style=\"font-size:24px; color:#000;\">\ud83c\udfc6<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#000; font-weight:900; letter-spacing:1px;\">GOLDEN ANK ANALYZER<\/h2>\n                        <div style=\"font-size:10px; color:#3d2b00; font-weight:bold;\">FULL HISTORY PROFIT REPORT<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('goldenModal').remove()\" style=\"background:none; border:none; color:#000; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; background:#1a1200; border-bottom:1px solid #333; display:grid; grid-template-columns:1fr 1fr 1fr; gap:15px; align-items:end;\">\n                \n                <div>\n                    <label style=\"font-size:10px; color:#FFD700; font-weight:bold;\">JODI STAKE (\u20b9)<\/label>\n                    <input type=\"number\" id=\"gaJodiStake\" value=\"100\" class=\"ga-input\" onchange=\"runGoldenAnalysis()\">\n                    <div style=\"font-size:8px; color:#666; margin-top:2px;\">(Crossing: 16 Jodis)<\/div>\n                <\/div>\n\n                <div>\n                    <label style=\"font-size:10px; color:#fff; font-weight:bold;\">HARUF STAKE (\u20b9)<\/label>\n                    <input type=\"number\" id=\"gaHarufStake\" value=\"500\" class=\"ga-input\" onchange=\"runGoldenAnalysis()\">\n                    <div style=\"font-size:8px; color:#666; margin-top:2px;\">(4 Anks Outside)<\/div>\n                <\/div>\n\n                <div style=\"text-align:right;\">\n                    <div style=\"font-size:9px; color:#aaa; margin-bottom:2px;\">TODAY'S GOLDEN ANK<\/div>\n                    <div id=\"gaTodayAnk\" style=\"font-size:24px; font-weight:900; color:#FFD700; letter-spacing:3px; text-shadow:0 0 10px #FFD700;\">\n                        -- -- -- --\n                    <\/div>\n                <\/div>\n\n            <\/div>\n\n            <div id=\"gaBody\" style=\"flex:1; overflow-y:auto; padding:20px;\">\n                \n                <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px;\">\n                    \n                    <div class=\"ga-card\" style=\"border-color:#FFD700;\">\n                        <div class=\"ga-head\" style=\"color:#FFD700;\">\ud83c\udccf JODI CROSSING REPORT<\/div>\n                        <div class=\"ga-sub\">If you played 16 Jodis daily<\/div>\n                        \n                        <div class=\"ga-row\">\n                            <span>Last Year P&L:<\/span>\n                            <span id=\"gaJodiLY\">--<\/span>\n                        <\/div>\n                        <div class=\"ga-row\">\n                            <span>Current Year P&L:<\/span>\n                            <span id=\"gaJodiCY\">--<\/span>\n                        <\/div>\n                        <div class=\"ga-row\" style=\"border-top:1px dashed #444; margin-top:10px; padding-top:10px;\">\n                            <span>Success Rate:<\/span>\n                            <span id=\"gaJodiWin\" style=\"color:#fff;\">--%<\/span>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"ga-card\" style=\"border-color:#fff;\">\n                        <div class=\"ga-head\" style=\"color:#fff;\">\ud83c\udfb2 HARUF (ANK) REPORT<\/div>\n                        <div class=\"ga-sub\">If you played 4 Anks daily<\/div>\n                        \n                        <div class=\"ga-row\">\n                            <span>Last Year P&L:<\/span>\n                            <span id=\"gaHarufLY\">--<\/span>\n                        <\/div>\n                        <div class=\"ga-row\">\n                            <span>Current Year P&L:<\/span>\n                            <span id=\"gaHarufCY\">--<\/span>\n                        <\/div>\n                        <div class=\"ga-row\" style=\"border-top:1px dashed #444; margin-top:10px; padding-top:10px;\">\n                            <span>Success Rate:<\/span>\n                            <span id=\"gaHarufWin\" style=\"color:#fff;\">--%<\/span>\n                        <\/div>\n                    <\/div>\n\n                <\/div>\n\n                <div style=\"background:#111; padding:15px; border-radius:10px; margin-bottom:20px;\">\n                    <div style=\"display:flex; justify-content:space-between; margin-bottom:10px;\">\n                        <div style=\"font-size:12px; font-weight:bold; color:#aaa;\">CURRENT MONTH PERFORMANCE<\/div>\n                        <div id=\"gaMonthNet\" style=\"font-size:14px; font-weight:bold; color:#FFD700;\">\u20b90<\/div>\n                    <\/div>\n                    <div style=\"height:10px; background:#333; border-radius:5px; overflow:hidden;\">\n                        <div id=\"gaMonthBar\" style=\"width:0%; background:#FFD700; height:100%;\"><\/div>\n                    <\/div>\n                    <div style=\"font-size:10px; color:#666; margin-top:5px; text-align:right;\">\n                        (Based on Combined Profit)\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:linear-gradient(135deg, #221a00, #000); border:1px solid #FFD700; border-radius:15px; padding:15px; text-align:center;\">\n                    <div style=\"font-size:11px; color:#FFD700; font-weight:bold; letter-spacing:1px; margin-bottom:10px;\">TODAY'S GENERATED GAME<\/div>\n                    \n                    <div style=\"font-size:10px; color:#aaa;\">JODI CROSSING (16 Pairs)<\/div>\n                    <div id=\"gaTodayJodis\" style=\"font-size:12px; color:#fff; margin-bottom:15px; font-family:monospace; word-spacing:5px;\">\n                        --\n                    <\/div>\n\n                    <div style=\"font-size:10px; color:#aaa;\">HARUF (4 Digits)<\/div>\n                    <div id=\"gaTodayHarufs\" style=\"font-size:16px; font-weight:bold; color:#fff;\">\n                        --\n                    <\/div>\n                    \n                    <button onclick=\"copyGoldenGame()\" style=\"margin-top:15px; padding:8px 20px; background:#FFD700; color:#000; border:none; border-radius:20px; font-weight:bold; cursor:pointer;\">\n                        \ud83d\udccb COPY TODAY'S GAME\n                    <\/button>\n                <\/div>\n\n            <\/div>\n        <\/div>\n        \n        <style>\n            .ga-input { width:100%; padding:8px; background:#000; border:1px solid #555; color:#fff; border-radius:4px; text-align:center; font-weight:bold; font-size:16px; }\n            .ga-card { background:#0a0800; border:1px solid #333; padding:15px; border-radius:10px; }\n            .ga-head { font-size:12px; font-weight:bold; margin-bottom:5px; }\n            .ga-sub { font-size:9px; color:#666; margin-bottom:15px; }\n            .ga-row { display:flex; justify-content:space-between; font-size:12px; color:#aaa; margin-bottom:5px; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('goldenModal')) document.getElementById('goldenModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ Initial Run\n    runGoldenAnalysis();\n}\n\n\/\/ --- CORE GOLDEN ANK LOGIC (FROM YOUR CODE) ---\nfunction getDailySeed(dateObj) {\n    \/\/ dateObj has .year, .month (1-12), .day\n    return dateObj.year * 10000 + (dateObj.month) * 100 + dateObj.day;\n}\n\nfunction seededRandom(seed) {\n    var x = Math.sin(seed) * 10000;\n    return x - Math.floor(x);\n}\n\nfunction generateGoldenAnk(dateObj) {\n    const seed = getDailySeed(dateObj);\n    const used = new Set();\n    let numbers = [];\n    let index = 0;\n\n    while (numbers.length < 4) {\n        const num = Math.floor(seededRandom(seed + index) * 10);\n        if (!used.has(num)) {\n            numbers.push(num);\n            used.add(num);\n        }\n        index++;\n        if (index > 100) break;\n    }\n    return numbers;\n}\n\n\/\/ --- ANALYSIS ENGINE ---\nfunction runGoldenAnalysis() {\n    const timeline = window.logicChartMeta.timeline;\n    const dates = window.logicChartMeta.timelineDates;\n    \n    const sJodi = parseInt(document.getElementById('gaJodiStake').value) || 100;\n    const sHaruf = parseInt(document.getElementById('gaHarufStake').value) || 500;\n\n    const curY = new Date().getFullYear();\n    const lastY = curY - 1;\n    const curM = new Date().getMonth() + 1;\n\n    let stats = {\n        jodi: { ly:0, cy:0, wins:0, games:0 },\n        haruf: { ly:0, cy:0, wins:0, games:0 },\n        monthNet: 0,\n        monthMax: 0\n    };\n\n    \/\/ Calculate Todays Ank\n    const todayDate = new Date();\n    const todayObj = { year: todayDate.getFullYear(), month: todayDate.getMonth()+1, day: todayDate.getDate() };\n    const todayAnk = generateGoldenAnk(todayObj);\n\n    \/\/ 1. BACKTEST LOOP\n    for(let i=0; i<timeline.length; i++) {\n        const res = timeline[i];\n        const d = dates[i];\n        if(!d) continue;\n\n        \/\/ Generate Ank for THIS historical date\n        const ank = generateGoldenAnk(d); \/\/ [x, y, z, w]\n        \n        \/\/ -- JODI CALC (Crossing 4x4 = 16 Jodis) --\n        \/\/ Check if result is in crossing\n        \/\/ Result \"45\" is in crossing if 4 is in ank AND 5 is in ank\n        const resStr = res.toString().padStart(2,'0');\n        const d1 = parseInt(resStr[0]);\n        const d2 = parseInt(resStr[1]);\n\n        let isJodiWin = ank.includes(d1) && ank.includes(d2);\n        \n        let invJ = 16 * sJodi;\n        let payJ = isJodiWin ? (sJodi * 90) : 0;\n        let netJ = payJ - invJ;\n\n        stats.jodi.games++;\n        if(isJodiWin) stats.jodi.wins++;\n        \n        if(d.year === lastY) stats.jodi.ly += netJ;\n        if(d.year === curY) stats.jodi.cy += netJ;\n\n        \/\/ -- HARUF CALC (4 Anks Outside) --\n        \/\/ We usually check Bahar (Unit digit) or Any. Let's assume ANY digit match = Win?\n        \/\/ Standard Haruf Play: Play 4 digits Outside.\n        \/\/ If result ends with any of 4 digits, Win.\n        let isHarufWin = ank.includes(d2); \/\/ Checking Bahar\n        \n        let invH = 4 * sHaruf;\n        let payH = isHarufWin ? (sHaruf * 9) : 0;\n        let netH = payH - invH;\n\n        stats.haruf.games++;\n        if(isHarufWin) stats.haruf.wins++;\n\n        if(d.year === lastY) stats.haruf.ly += netH;\n        if(d.year === curY) stats.haruf.cy += netH;\n\n        \/\/ -- MONTHLY STATS (Current Month) --\n        if(d.year === curY && d.month === curM) {\n            stats.monthNet += (netJ + netH); \/\/ Combined PnL\n            stats.monthMax += Math.abs(netJ + netH); \/\/ For bar scale\n        }\n    }\n\n    \/\/ 2. RENDER UI\n    const fmt = (n) => `\u20b9${(n\/1000).toFixed(1)}k`;\n    const col = (n) => n >= 0 ? '#00e676' : '#ff4444';\n\n    \/\/ Update Today\n    document.getElementById('gaTodayAnk').innerText = todayAnk.join(' - ');\n\n    \/\/ Update Jodi Card\n    document.getElementById('gaJodiLY').innerHTML = `<span style=\"color:${col(stats.jodi.ly)}\">${fmt(stats.jodi.ly)}<\/span>`;\n    document.getElementById('gaJodiCY').innerHTML = `<span style=\"color:${col(stats.jodi.cy)}\">${fmt(stats.jodi.cy)}<\/span>`;\n    document.getElementById('gaJodiWin').innerText = `${((stats.jodi.wins\/stats.jodi.games)*100).toFixed(1)}%`;\n\n    \/\/ Update Haruf Card\n    document.getElementById('gaHarufLY').innerHTML = `<span style=\"color:${col(stats.haruf.ly)}\">${fmt(stats.haruf.ly)}<\/span>`;\n    document.getElementById('gaHarufCY').innerHTML = `<span style=\"color:${col(stats.haruf.cy)}\">${fmt(stats.haruf.cy)}<\/span>`;\n    document.getElementById('gaHarufWin').innerText = `${((stats.haruf.wins\/stats.haruf.games)*100).toFixed(1)}%`;\n\n    \/\/ Update Month Bar\n    document.getElementById('gaMonthNet').innerHTML = `<span style=\"color:${col(stats.monthNet)}\">${fmt(stats.monthNet)}<\/span>`;\n    let pct = stats.monthMax > 0 ? (Math.abs(stats.monthNet) \/ (stats.monthMax*2)) * 100 : 0; \n    \/\/ Simplified bar logic for demo\n    document.getElementById('gaMonthBar').style.width = stats.monthNet > 0 ? \"100%\" : \"20%\";\n    document.getElementById('gaMonthBar').style.background = stats.monthNet >= 0 ? \"#00e676\" : \"#ff4444\";\n\n    \/\/ Update Today's Game Preview\n    let jodis = [];\n    for(let a of todayAnk) {\n        for(let b of todayAnk) {\n            jodis.push(`${a}${b}`);\n        }\n    }\n    document.getElementById('gaTodayJodis').innerText = jodis.join(' ');\n    document.getElementById('gaTodayHarufs').innerText = todayAnk.join(', ') + \" (Bahar)\";\n    \n    window.goldenGameData = { ank: todayAnk.join(','), jodis: jodis.join(',') };\n}\n\nfunction copyGoldenGame() {\n    if(!window.goldenGameData) return;\n    const txt = `\ud83c\udfc6 GOLDEN ANK TODAY\\nAnk: ${window.goldenGameData.ank}\\nJodis: ${window.goldenGameData.jodis}`;\n    navigator.clipboard.writeText(txt);\n    alert(\"\ud83c\udfc6 Golden Game Copied!\");\n}\n\/\/ ====================================================\n\/\/ \u2694\ufe0f CROSSING TIME MACHINE (DETAILED LEDGER)\n\/\/ ====================================================\n\nvar ctmSelectedYear = new Date().getFullYear(); \/\/ Default current year\n\nfunction logicCrossTimeMachineInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    const dates = window.logicChartMeta?.timelineDates || [];\n    \n    if (timeline.length < 50) {\n        alert(\"\u274c Need history data for Audit.\");\n        return;\n    }\n\n    \/\/ Find available years\n    let yearsSet = new Set();\n    dates.forEach(d => { if(d && d.year) yearsSet.add(d.year); });\n    let years = Array.from(yearsSet).sort((a,b)=>b-a); \n\n    let tabsHTML = years.map(y => \n        `<button onclick=\"ctmSwitchYear(${y})\" class=\"ctm-tab ${y===ctmSelectedYear?'active':''}\" id=\"btnCtmYear${y}\">${y}<\/button>`\n    ).join('');\n\n    const modalHTML = `\n    <div id=\"ctmModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(20, 5, 5, 0.98); z-index:34000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:950px; background:#1a0505; border:2px solid #FF4B2B; border-radius:15px; box-shadow:0 0 50px rgba(255, 75, 43, 0.3); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #FF416C, #FF4B2B); padding:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div style=\"display:flex; align-items:center; gap:10px;\">\n                    <span style=\"font-size:24px;\">\u2694\ufe0f<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900;\">CROSSING TIME MACHINE<\/h2>\n                        <div style=\"font-size:10px; color:#ffd700;\">YEARLY & MONTHLY AUDIT FOR CROSSING<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('ctmModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; background:#2b0a0a; border-bottom:1px solid #551111; display:flex; gap:15px; align-items:center; flex-wrap:wrap;\">\n                \n                <div style=\"display:flex; gap:5px;\">${tabsHTML}<\/div>\n\n                <div style=\"flex:1; display:flex; gap:10px; justify-content:flex-end; align-items:center;\">\n                    <div style=\"display:flex; flex-direction:column;\">\n                        <span style=\"font-size:9px; color:#aaa;\">PATTERN (Digits)<\/span>\n                        <input type=\"number\" id=\"ctmDigits\" placeholder=\"e.g. 2578\" style=\"width:100px; padding:5px; background:#000; border:1px solid #FF4B2B; color:#fff; text-align:center; font-weight:bold; letter-spacing:2px;\">\n                    <\/div>\n                    <div style=\"display:flex; flex-direction:column;\">\n                        <span style=\"font-size:9px; color:#aaa;\">STAKE (Per Jodi)<\/span>\n                        <input type=\"number\" id=\"ctmStake\" value=\"1000\" style=\"width:80px; padding:5px; background:#000; border:1px solid #fff; color:#fff; text-align:center; font-weight:bold;\">\n                    <\/div>\n                    <button onclick=\"renderCrossTimeMachine()\" style=\"background:#fff; color:#FF4B2B; border:none; padding:5px 15px; border-radius:4px; cursor:pointer; font-weight:bold; height:30px; margin-top:12px;\">RUN AUDIT<\/button>\n                <\/div>\n            <\/div>\n\n            <div id=\"ctmBody\" style=\"flex:1; overflow-y:auto; padding:20px;\">\n                \n                <div style=\"text-align:center; margin-bottom:20px;\">\n                    <div style=\"font-size:12px; color:#aaa;\">NET PROFIT FOR <span id=\"ctmYearTitle\" style=\"color:#fff; font-weight:bold;\">--<\/span><\/div>\n                    <div id=\"ctmYearNet\" style=\"font-size:36px; font-weight:900; color:#fff; text-shadow:0 0 20px rgba(255, 75, 43, 0.3);\">--<\/div>\n                    <div id=\"ctmJodiInfo\" style=\"font-size:11px; color:#aaa; margin-top:5px;\">--<\/div>\n                <\/div>\n\n                <div style=\"display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:10px; margin-bottom:30px;\">\n                    <div id=\"ctmMonthsGrid\" style=\"display:contents;\"><\/div>\n                <\/div>\n\n                <div style=\"background:#110303; border:1px solid #333; border-radius:10px; overflow:hidden;\">\n                    <div style=\"padding:10px; background:#220505; border-bottom:1px solid #333; font-size:12px; font-weight:bold; color:#aaa;\">\n                        \ud83d\udcdc DAILY LEDGER (PASS\/FAIL LOG)\n                    <\/div>\n                    <div style=\"overflow-x:auto;\">\n                        <table style=\"width:100%; font-size:11px; color:#ccc; border-collapse:collapse; text-align:left;\">\n                            <thead style=\"background:#330808; color:#fff;\">\n                                <tr>\n                                    <th style=\"padding:10px;\">DATE<\/th>\n                                    <th style=\"padding:10px;\">RESULT<\/th>\n                                    <th style=\"padding:10px;\">INVEST (-)<\/th>\n                                    <th style=\"padding:10px;\">WINNING (+)<\/th>\n                                    <th style=\"padding:10px; text-align:right;\">NET P&L<\/th>\n                                <\/tr>\n                            <\/thead>\n                            <tbody id=\"ctmTableBody\"><\/tbody>\n                        <\/table>\n                    <\/div>\n                <\/div>\n\n            <\/div>\n\n        <\/div>\n        <style>\n            .ctm-tab { background:#000; border:1px solid #333; color:#aaa; padding:5px 15px; border-radius:20px; cursor:pointer; font-weight:bold; }\n            .ctm-tab.active { background:#FF4B2B; color:#fff; border-color:#FF4B2B; }\n            .ctm-month-card { background:#0a0202; border:1px solid #333; border-radius:8px; padding:10px; text-align:center; position:relative; }\n            .ctm-pnl-pos { color:#00e676; }\n            .ctm-pnl-neg { color:#ff4444; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('ctmModal')) document.getElementById('ctmModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n    \n    \/\/ Auto-fill if user just used Crossing AI\n    const lastCombo = document.getElementById('aiBestCombo')?.innerText;\n    if(lastCombo && !lastCombo.includes('--')) {\n         \/\/ Clean string \"1 - 2 - 3 - 4\" to \"1234\"\n         document.getElementById('ctmDigits').value = lastCombo.replace(\/[^0-9]\/g, '');\n         renderCrossTimeMachine();\n    }\n}\n\nfunction ctmSwitchYear(y) {\n    ctmSelectedYear = y;\n    document.querySelectorAll('.ctm-tab').forEach(b => b.classList.remove('active'));\n    document.getElementById(`btnCtmYear${y}`).classList.add('active');\n    renderCrossTimeMachine();\n}\n\nfunction renderCrossTimeMachine() {\n    const timeline = window.logicChartMeta.timeline;\n    const dates = window.logicChartMeta.timelineDates;\n    \n    const inputStr = document.getElementById('ctmDigits').value.toString();\n    const stake = parseInt(document.getElementById('ctmStake').value) || 1000;\n\n    if(inputStr.length < 2) return; \/\/ Wait for input\n\n    \/\/ 1. Generate Valid Jodis\n    const digits = inputStr.split('').map(d => parseInt(d));\n    let validJodis = new Set();\n    digits.forEach(d1 => {\n        digits.forEach(d2 => {\n            validJodis.add(parseInt(`${d1}${d2}`));\n        });\n    });\n    const jodiCount = validJodis.size;\n    const investPerGame = jodiCount * stake;\n\n    document.getElementById('ctmJodiInfo').innerText = `Playing ${jodiCount} Jodis per game. Invest: \u20b9${investPerGame}`;\n\n    \/\/ 2. Audit Logic\n    const monthNames = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\", \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"];\n    let monthStats = Array.from({length:12}, () => ({ pnl:0, wins:0, total:0 }));\n    let yearNet = 0;\n    let tableRows = \"\";\n    let yearLogs = [];\n\n    const startIdx = Math.min(365 * 3, timeline.length - 1); \/\/ Audit roughly 3 years back\n\n    for(let i=startIdx; i<timeline.length; i++) {\n        const result = timeline[i];\n        const dObj = dates[i];\n        \n        if(dObj && dObj.year === ctmSelectedYear) {\n            \/\/ Game Calc\n            let payout = 0;\n            let isWin = false;\n            \n            if(validJodis.has(result)) {\n                payout = stake * 90;\n                isWin = true;\n            }\n\n            const dailyPnL = payout - investPerGame;\n\n            \/\/ Aggregation\n            let mIdx = dObj.month - 1;\n            if(mIdx >= 0 && mIdx < 12) {\n                monthStats[mIdx].pnl += dailyPnL;\n                monthStats[mIdx].total++;\n                if(isWin) monthStats[mIdx].wins++;\n            }\n            yearNet += dailyPnL;\n\n            \/\/ Log Data\n            yearLogs.push({\n                date: `${dObj.day}\/${dObj.month}\/${dObj.year}`,\n                res: result,\n                inv: investPerGame,\n                win: payout,\n                pnl: dailyPnL,\n                status: isWin ? \"WIN\" : \"FAIL\"\n            });\n        }\n    }\n\n    \/\/ --- RENDER ---\n\n    \/\/ 1. Header Stats\n    document.getElementById('ctmYearTitle').innerText = ctmSelectedYear;\n    const yEl = document.getElementById('ctmYearNet');\n    yEl.innerText = `\u20b9${yearNet.toLocaleString()}`;\n    yEl.style.color = yearNet >= 0 ? '#00e676' : '#ff4444';\n\n    \/\/ 2. Monthly Grid\n    let gridHTML = \"\";\n    monthStats.forEach((m, idx) => {\n        let pnlClass = m.pnl >= 0 ? 'ctm-pnl-pos' : 'ctm-pnl-neg';\n        let winRate = m.total > 0 ? Math.round((m.wins\/m.total)*100) : 0;\n        let opacity = m.total > 0 ? '1' : '0.3';\n        \n        let valStr = `\u20b9${(m.pnl\/1000).toFixed(1)}k`;\n        if(Math.abs(m.pnl) > 100000) valStr = `\u20b9${(m.pnl\/100000).toFixed(2)}L`;\n\n        gridHTML += `\n            <div class=\"ctm-month-card\" style=\"opacity:${opacity}; border-color:${m.pnl<0?'#550000':'#333'};\">\n                <div style=\"font-size:10px; color:#aaa; font-weight:bold;\">${monthNames[idx]}<\/div>\n                <div style=\"font-size:16px; font-weight:bold; ${pnlClass}\">${valStr}<\/div>\n                <div style=\"font-size:9px; color:#666; margin-top:5px;\">${m.wins}\/${m.total} Pass (${winRate}%)<\/div>\n            <\/div>\n        `;\n    });\n    document.getElementById('ctmMonthsGrid').innerHTML = gridHTML;\n\n    \/\/ 3. Table Rows (Reverse)\n    yearLogs.reverse().forEach(log => {\n        let pnlCol = log.pnl >= 0 ? '#00e676' : '#ff4444';\n        \n        tableRows += `\n            <tr style=\"border-bottom:1px solid #222;\">\n                <td style=\"padding:8px; color:#aaa;\">${log.date}<\/td>\n                <td style=\"padding:8px; color:#fff; font-weight:bold;\">${log.res.toString().padStart(2,'0')}<\/td>\n                <td style=\"padding:8px; color:#ff8a80;\">-\u20b9${log.inv}<\/td>\n                <td style=\"padding:8px; color:#fff;\">+\u20b9${log.win}<\/td>\n                <td style=\"padding:8px; text-align:right; font-weight:bold; color:${pnlCol};\">\u20b9${log.pnl}<\/td>\n            <\/tr>\n        `;\n    });\n\n    if(yearLogs.length === 0) tableRows = `<tr><td colspan=\"5\" style=\"text-align:center; padding:20px; color:#aaa;\">No data found for ${ctmSelectedYear}<\/td><\/tr>`;\n    document.getElementById('ctmTableBody').innerHTML = tableRows;\n}\n\/\/ ====================================================\n\/\/ \ud83e\udde0 CONTRARIAN AI (THE CROWD KILLER)\n\/\/ ====================================================\n\nfunction logicContrarianInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 50) {\n        alert(\"\u274c Need history to analyze Crowd Psychology.\");\n        return;\n    }\n\n    const lastResult = timeline[timeline.length - 1];\n\n    const modalHTML = `\n    <div id=\"contraModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(20, 5, 5, 0.98); z-index:16000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:800px; background:#1a0505; border:2px solid #ef473a; border-radius:20px; box-shadow:0 0 80px rgba(239, 71, 58, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #cb2d3e, #ef473a); padding:15px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #ffcccb;\">\n                <div style=\"display:flex; align-items:center; gap:12px;\">\n                    <span style=\"font-size:24px;\">\ud83e\udde0<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900; letter-spacing:1px;\">CONTRARIAN AI<\/h2>\n                        <div style=\"font-size:10px; color:#ffd1ce;\">BET AGAINST THE CROWD (BOOKIE MODE)<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('contraModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; background:#100000; border-bottom:1px solid #333; text-align:center;\">\n                <div style=\"font-size:12px; color:#aaa; margin-bottom:10px;\">ANALYZING \"OBVIOUS\" PATTERNS FOR: <b style=\"color:#fff; font-size:18px;\">${lastResult}<\/b><\/div>\n                \n                <button onclick=\"runContrarianScan()\" id=\"btnContraScan\" style=\"padding:12px 30px; background:#fff; color:#cb2d3e; border:none; border-radius:30px; font-weight:bold; cursor:pointer; font-size:14px; box-shadow:0 0 20px rgba(255, 255, 255, 0.2);\">\n                    \ud83d\udd75\ufe0f DETECT CROWD TRAPS\n                <\/button>\n            <\/div>\n\n            <div id=\"contraBody\" style=\"flex:1; overflow-y:auto; padding:20px; display:none;\">\n                \n                <div style=\"background:#2b0505; border:1px solid #ef473a; border-radius:15px; padding:15px; margin-bottom:20px;\">\n                    <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;\">\n                        <div style=\"font-size:12px; font-weight:bold; color:#ef473a;\">\ud83d\udeab THE CROWD FAVORITES (TRAPS)<\/div>\n                        <div style=\"font-size:10px; color:#aaa;\">90% Players are betting here<\/div>\n                    <\/div>\n                    \n                    <div id=\"contraTraps\" style=\"display:flex; flex-wrap:wrap; gap:8px;\">\n                        <\/div>\n\n                    <div style=\"margin-top:10px; font-size:10px; color:#ff8888; font-style:italic;\">\n                        *Advice: Avoid or Cut these numbers. They are too obvious.\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:#051a10; border:1px solid #00e676; border-radius:15px; padding:15px;\">\n                    <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;\">\n                        <div style=\"font-size:12px; font-weight:bold; color:#00e676;\">\u2705 THE ANTI-CROWD PICKS (HIDDEN GEMS)<\/div>\n                        <div style=\"font-size:10px; color:#aaa;\">Low Volume, High Probability<\/div>\n                    <\/div>\n                    \n                    <div id=\"contraGems\" style=\"display:flex; flex-wrap:wrap; gap:8px;\">\n                        <\/div>\n\n                    <div style=\"margin-top:10px; font-size:10px; color:#88ffaa; font-style:italic;\">\n                        *These numbers are ignored by the public. High winning chance.\n                    <\/div>\n                <\/div>\n\n                <div id=\"contraInsight\" style=\"margin-top:20px; text-align:center; font-size:12px; color:#ccc; line-height:1.5;\">\n                    --\n                <\/div>\n\n            <\/div>\n        <\/div>\n        \n        <style>\n            .trap-badge { background:#ef473a; color:#fff; padding:5px 10px; border-radius:6px; font-weight:bold; font-size:12px; text-decoration:line-through; opacity:0.8; }\n            .gem-badge { background:#00e676; color:#000; padding:5px 10px; border-radius:6px; font-weight:bold; font-size:14px; box-shadow:0 0 10px rgba(0,230,118,0.3); }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('contraModal')) document.getElementById('contraModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runContrarianScan() {\n    const btn = document.getElementById('btnContraScan');\n    btn.innerHTML = \"\ud83e\udde0 THINKING LIKE A BOOKIE...\";\n    btn.disabled = true;\n\n    setTimeout(() => {\n        const timeline = window.logicChartMeta.timeline;\n        const lastRes = timeline[timeline.length - 1];\n\n        \/\/ 1. IDENTIFY \"OBVIOUS\" PATTERNS (What the crowd plays)\n        let crowdPicks = new Set();\n        \n        \/\/ Pattern A: Repeat (Most common bet)\n        crowdPicks.add(lastRes);\n        \n        \/\/ Pattern B: Palat (Reversal)\n        let s = lastRes.toString().padStart(2,'0');\n        crowdPicks.add(parseInt(s.split('').reverse().join('')));\n\n        \/\/ Pattern C: +1 \/ -1 (Neighbors)\n        crowdPicks.add((lastRes + 1) % 100);\n        crowdPicks.add((lastRes - 1 + 100) % 100);\n\n        \/\/ Pattern D: Full Rashi (Family) - Very popular\n        let rashi = getRashi(lastRes);\n        crowdPicks.add(rashi);\n\n        \/\/ Pattern E: 100 - X (Baaki)\n        crowdPicks.add(100 - lastRes);\n\n        \/\/ Convert Set to Array\n        const trapArray = Array.from(crowdPicks);\n\n        \/\/ 2. IDENTIFY \"ANTI-CROWD\" PICKS (What nobody plays)\n        \/\/ We look for numbers that are mathematically due but have NO pattern connection to the last result.\n        \/\/ Simple Logic: Pick numbers from \"Cold Zone\" that are not in Trap Array.\n        \n        \/\/ Let's get Cold Numbers (Frequency Analysis of last 50 days)\n        const recentHistory = timeline.slice(Math.max(0, timeline.length - 50));\n        let freq = new Array(100).fill(0);\n        recentHistory.forEach(n => freq[n]++);\n        \n        \/\/ Filter: Numbers that appeared 0 or 1 time (Cold) AND are NOT in Trap Array\n        let hiddenGems = [];\n        for(let i=0; i<100; i++) {\n            if(freq[i] <= 1 && !crowdPicks.has(i)) {\n                hiddenGems.push(i);\n            }\n        }\n        \n        \/\/ Randomly select 6 Gems for display (to simulate 'Hidden' picks)\n        \/\/ In real algo, we would use Gap analysis here.\n        hiddenGems = hiddenGems.sort(() => 0.5 - Math.random()).slice(0, 8);\n\n        \/\/ 3. RENDER\n        document.getElementById('contraBody').style.display = 'block';\n        \n        \/\/ Render Traps\n        document.getElementById('contraTraps').innerHTML = trapArray.map(n => \n            `<div class=\"trap-badge\">${n.toString().padStart(2,'0')}<\/div>`\n        ).join('');\n\n        \/\/ Render Gems\n        document.getElementById('contraGems').innerHTML = hiddenGems.map(n => \n            `<div class=\"gem-badge\">${n.toString().padStart(2,'0')}<\/div>`\n        ).join('');\n\n        \/\/ Insight\n        document.getElementById('contraInsight').innerHTML = `\n            AI Analysis: Market Sentiment suggests heavy betting on <b>Repeat & Family (${trapArray.length} Jodis)<\/b>.<br>\n            A smart Khaiwal would skip these and open a number from the <b>Cold Zone<\/b> (Green Box).\n        `;\n\n        btn.innerHTML = \"\ud83d\udd75\ufe0f DETECT CROWD TRAPS\";\n        btn.disabled = false;\n\n    }, 800);\n}\n\n\/\/ Helper: Get Full Rashi\nfunction getRashi(num) {\n    let s = num.toString().padStart(2, '0');\n    let d1 = parseInt(s[0]);\n    let d2 = parseInt(s[1]);\n    let r1 = (d1 + 5) % 10;\n    let r2 = (d2 + 5) % 10;\n    return parseInt(`${r1}${r2}`);\n}\n\/\/ ====================================================\n\/\/ \ud83d\udcc8 THE GAP MARKET TERMINAL (PROFESSIONAL CANDLESTICK CHART)\n\/\/ ====================================================\n\n\/\/ 1. Dynamic Loader for ApexCharts Library (Only loads once)\nfunction loadApexCharts(callback) {\n    if (window.ApexCharts) {\n        callback();\n        return;\n    }\n    const script = document.createElement('script');\n    script.src = 'https:\/\/cdn.jsdelivr.net\/npm\/apexcharts';\n    script.onload = callback;\n    document.head.appendChild(script);\n}\n\nfunction initCandleChart() {\n    \/\/ Load library first, then run logic\n    loadApexCharts(() => {\n        logicCandleChartStart();\n    });\n}\n\nfunction logicCandleChartStart() {\n    \/\/ DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    const dates = window.logicChartMeta?.timelineDates || [];\n    \n    if (timeline.length < 100) {\n        alert(\"\u274c Need significant history for candlestick analysis.\");\n        return;\n    }\n\n    \/\/ --- STEP 1: CALCULATE FULL GAP HISTORY ---\n    let gapHistory = [];\n    let lastSeen = new Array(100).fill(-1);\n    \n    \/\/ Pre-fill some history for better initial data\n    const preScan = Math.min(200, timeline.length);\n    for(let i=0; i<preScan; i++) lastSeen[timeline[i]] = i;\n\n    const startIdx = preScan;\n    for(let i=startIdx; i<timeline.length; i++) {\n        const result = timeline[i];\n        const dObj = dates[i];\n        let lx = lastSeen[result];\n        \/\/ Cap visual gap at 300 for better chart scaling\n        let gap = lx === -1 ? 300 : Math.min(300, (i - 1 - lx));\n        \n        if(dObj) {\n            \/\/ Create a JS Date timestamp for the X-axis\n            let ts = new Date(dObj.year, dObj.month-1, dObj.day).getTime();\n            gapHistory.push({ ts: ts, gap: gap, res: result, dateStr: `${dObj.day}\/${dObj.month}` });\n        }\n        lastSeen[result] = i;\n    }\n\n    \/\/ --- STEP 2: GROUP DATA INTO CANDLES (e.g., 1 Candle = 10 Games Block) ---\n    const candleSize = 10; \n    let candlestickData = [];\n\n    for(let i=0; i < gapHistory.length; i += candleSize) {\n        \/\/ Get a chunk of 10 games\n        const chunk = gapHistory.slice(i, i + candleSize);\n        if(chunk.length < candleSize) break; \/\/ Skip incomplete end chunk\n\n        \/\/ Calculate OHLC (Open, High, Low, Close) for Gaps\n        const open = chunk[0].gap;\n        const close = chunk[chunk.length-1].gap;\n        const gapsOnly = chunk.map(c => c.gap);\n        const high = Math.max(...gapsOnly);\n        const low = Math.min(...gapsOnly);\n        \n        \/\/ Timestamp for the candle (use the end date of the block)\n        const timestamp = chunk[chunk.length-1].ts;\n\n        \/\/ ApexCharts Format: [Timestamp, O, H, L, C]\n        candlestickData.push({\n            x: timestamp,\n            y: [open, high, low, close]\n        });\n    }\n\n    \/\/ --- STEP 3: RENDER MODAL & CHART ---\n    const modalHTML = `\n    <div id=\"chartModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:#131722; z-index:35000; display:flex; flex-direction:column; font-family:'Segoe UI', sans-serif;\">\n        \n        <div style=\"background:#1e222d; padding:10px 20px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #2a3142;\">\n            <div style=\"display:flex; align-items:center; gap:10px;\">\n                <span style=\"font-size:24px;\">\ud83d\udcc8<\/span>\n                <div>\n                    <h2 style=\"margin:0; font-size:16px; color:#d1d4dc; font-weight:bold;\">GAP MARKET TERMINAL<\/h2>\n                    <div style=\"font-size:10px; color:#00b4f7;\">VOLATILITY INDEX (1 Candle = 10 Games)<\/div>\n                <\/div>\n            <\/div>\n            <button onclick=\"document.getElementById('chartModal').remove()\" style=\"background:none; border:none; color:#d1d4dc; font-size:24px; cursor:pointer;\">\u2715<\/button>\n        <\/div>\n\n        <div style=\"flex:1; padding:20px; position:relative;\">\n             <div id=\"apexChartbox\" style=\"height: 100%; width: 100%;\"><\/div>\n        <\/div>\n\n        <div style=\"background:#1e222d; padding:10px; font-size:11px; color:#777; text-align:center; border-top:1px solid #2a3142;\">\n            <span style=\"color:#00e396;\">Green = Trend Rising (Moving to Older Numbers)<\/span> | \n            <span style=\"color:#ff4560;\">Red = Trend Falling (Moving to Newer Numbers)<\/span> |\n            Y-Axis = Gap (Days since last open)\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('chartModal')) document.getElementById('chartModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ --- STEP 4: APEXCHARTS CONFIGURATION ---\n    var options = {\n        series: [{\n            name: 'Gap Trend',\n            type: 'candlestick',\n            data: candlestickData\n        }],\n        chart: {\n            type: 'candlestick',\n            height: '100%',\n            background: '#131722',\n            toolbar: {\n                show: true,\n                tools: { download: false, selection: true, zoom: true, pan: true, reset: true }\n            },\n            animations: { enabled: false } \/\/ Faster loading\n        },\n        title: {\n            text: 'Market Gap History (OHLC)',\n            align: 'left',\n            style: { color: '#d1d4dc' }\n        },\n        xaxis: {\n            type: 'datetime',\n            labels: { style: { colors: '#777' } },\n            axisBorder: { color: '#2a3142' },\n            axisTicks: { color: '#2a3142' }\n        },\n        yaxis: {\n            tooltip: { enabled: true },\n            title: { text: 'GAP (Days)', style: { color: '#00b4f7' } },\n            labels: { style: { colors: '#777' } },\n            min: 0,\n            max: 310, \/\/ A bit over the cap\n            tickAmount: 6,\n            forceNiceScale: true\n        },\n        grid: {\n            borderColor: '#2a3142',\n            xaxis: { lines: { show: true } },\n            yaxis: { lines: { show: true } }\n        },\n        plotOptions: {\n            candlestick: {\n                colors: {\n                    upward: '#00e396', \/\/ Green for rising gap trend\n                    downward: '#ff4560' \/\/ Red for falling gap trend\n                },\n                wick: { useFillColor: true }\n            }\n        },\n        tooltip: {\n            theme: 'dark',\n            x: { format: 'dd MMM yyyy' },\n            y: {\n                formatter: function (val) { return val + \" Days Gap\"; }\n            }\n        },\n        theme: { mode: 'dark' }\n    };\n\n    \/\/ RENDER\n    var chart = new ApexCharts(document.querySelector(\"#apexChartbox\"), options);\n    chart.render();\n}\n\n\/\/ ====================================================\n\/\/ \u2696\ufe0f SMART PORTFOLIO PRO (TIERED INVESTMENT MANAGER)\n\/\/ ====================================================\n\nfunction logicSmartPortfolioInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 100) {\n        alert(\"\u274c Need more data to classify Attack vs Defense zones.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"portfolioModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(15, 10, 10, 0.98); z-index:12200; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:850px; background:#1a0f0f; border:2px solid #FF5E62; border-radius:15px; box-shadow:0 0 60px rgba(255, 94, 98, 0.3); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(to right, #FF9966, #FF5E62); padding:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div style=\"display:flex; align-items:center; gap:10px;\">\n                    <span style=\"font-size:24px; color:#fff;\">\u2696\ufe0f<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900;\">SMART PORTFOLIO<\/h2>\n                        <div style=\"font-size:10px; color:#ffe0e0;\">TIERED STAKING ARCHITECT<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('portfolioModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; background:#2b1a1a; border-bottom:1px solid #FF5E62; display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:10px;\">\n                \n                <div style=\"background:#331010; padding:10px; border-radius:8px; border-left:3px solid #00e676;\">\n                    <div style=\"font-size:10px; color:#00e676; font-weight:bold;\">\ud83e\udd81 ATTACK (High Prob)<\/div>\n                    <div style=\"margin-top:5px;\">\n                        <span style=\"font-size:9px; color:#aaa;\">Stake:<\/span>\n                        <input type=\"number\" id=\"pfAttackStake\" value=\"200\" style=\"width:50px; padding:3px; background:#000; border:none; color:#fff; text-align:center;\">\n                    <\/div>\n                     <div style=\"margin-top:2px;\">\n                        <span style=\"font-size:9px; color:#aaa;\">Gap <<\/span>\n                        <input type=\"number\" id=\"pfAttackGap\" value=\"20\" style=\"width:50px; padding:3px; background:#000; border:none; color:#fff; text-align:center;\">\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:#332200; padding:10px; border-radius:8px; border-left:3px solid #FFD700;\">\n                    <div style=\"font-size:10px; color:#FFD700; font-weight:bold;\">\ud83d\udee1\ufe0f DEFENSE (Safety)<\/div>\n                    <div style=\"margin-top:5px;\">\n                        <span style=\"font-size:9px; color:#aaa;\">Stake:<\/span>\n                        <input type=\"number\" id=\"pfDefenseStake\" value=\"50\" style=\"width:50px; padding:3px; background:#000; border:none; color:#fff; text-align:center;\">\n                    <\/div>\n                     <div style=\"margin-top:2px;\">\n                        <span style=\"font-size:9px; color:#aaa;\">Gap <<\/span>\n                        <input type=\"number\" id=\"pfDefenseGap\" value=\"100\" style=\"width:50px; padding:3px; background:#000; border:none; color:#fff; text-align:center;\">\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:#222; padding:10px; border-radius:8px; border-left:3px solid #aaa;\">\n                    <div style=\"font-size:10px; color:#aaa; font-weight:bold;\">\u274c TRASH (Dead)<\/div>\n                    <div style=\"margin-top:5px; font-size:10px; color:#666;\">\n                        Everything else<br>Stake: 0\n                    <\/div>\n                <\/div>\n\n                <button onclick=\"runPortfolioEngine()\" style=\"background:#FF5E62; color:#fff; border:none; border-radius:8px; font-weight:bold; cursor:pointer; font-size:14px; box-shadow:0 0 10px rgba(255,94,98,0.4);\">\n                    BUILD GAME \ud83c\udfd7\ufe0f\n                <\/button>\n            <\/div>\n\n            <div id=\"pfBody\" style=\"flex:1; overflow-y:auto; padding:20px; display:none;\">\n                \n                <div style=\"display:flex; gap:15px; margin-bottom:20px;\">\n                    <div class=\"pf-card\" style=\"border-color:#00e676;\">\n                        <div class=\"pf-label\">TOTAL INVESTMENT<\/div>\n                        <div id=\"pfTotalInvest\" class=\"pf-value\">\u20b90<\/div>\n                        <div class=\"pf-sub\">Split in Attack + Defense<\/div>\n                    <\/div>\n                    <div class=\"pf-card\" style=\"border-color:#FFD700;\">\n                        <div class=\"pf-label\">IF ATTACK WINS (Jackpot)<\/div>\n                        <div id=\"pfAttackWin\" class=\"pf-value\" style=\"color:#00e676;\">\u20b90<\/div>\n                        <div id=\"pfAttackNet\" class=\"pf-sub\">Net Profit: \u20b90<\/div>\n                    <\/div>\n                    <div class=\"pf-card\" style=\"border-color:#aaa;\">\n                        <div class=\"pf-label\">IF DEFENSE WINS (Safety)<\/div>\n                        <div id=\"pfDefenseWin\" class=\"pf-value\" style=\"color:#FFD700;\">\u20b90<\/div>\n                        <div id=\"pfDefenseNet\" class=\"pf-sub\">Money Back \/ Low Profit<\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:#111; padding:10px; border-radius:10px; border:1px solid #333;\">\n                    <div style=\"display:flex; justify-content:space-between; margin-bottom:5px;\">\n                         <div style=\"font-size:12px; font-weight:bold; color:#fff;\">GAME STRUCTURE<\/div>\n                         <div style=\"font-size:10px; color:#aaa;\">Total 100 Numbers<\/div>\n                    <\/div>\n                    \n                    <div style=\"display:flex; height:20px; border-radius:10px; overflow:hidden;\">\n                        <div id=\"barAttack\" style=\"background:#00e676; width:0%; transition:width 1s;\"><\/div>\n                        <div id=\"barDefense\" style=\"background:#FFD700; width:0%; transition:width 1s;\"><\/div>\n                        <div id=\"barTrash\" style=\"background:#333; width:0%; transition:width 1s;\"><\/div>\n                    <\/div>\n                    <div style=\"display:flex; justify-content:space-between; font-size:10px; margin-top:5px; color:#ccc;\">\n                        <span id=\"txtAttack\">Attack: 0<\/span>\n                        <span id=\"txtDefense\">Defense: 0<\/span>\n                        <span id=\"txtTrash\">Trash: 0<\/span>\n                    <\/div>\n                <\/div>\n\n                <button onclick=\"generatePortfolioParchi()\" style=\"width:100%; margin-top:20px; padding:15px; background:linear-gradient(to right, #11998e, #38ef7d); color:#fff; border:none; font-weight:bold; border-radius:8px; cursor:pointer; font-size:16px;\">\n                    \ud83d\udcdd CONVERT TO PARCHI TEXT\n                <\/button>\n                \n                <textarea id=\"pfParchiOutput\" readonly style=\"width:100%; height:100px; background:#000; color:#00e676; border:1px solid #333; margin-top:10px; padding:10px; display:none; border-radius:5px; font-family:monospace;\"><\/textarea>\n\n            <\/div>\n\n        <\/div>\n        <style>\n            .pf-card { flex:1; background:#1a0f0f; border-left:4px solid #fff; padding:10px; border-radius:6px; }\n            .pf-label { font-size:10px; color:#aaa; font-weight:bold; }\n            .pf-value { font-size:24px; font-weight:bold; color:#fff; margin:5px 0; }\n            .pf-sub { font-size:10px; color:#666; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('portfolioModal')) document.getElementById('portfolioModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n    \n    \/\/ Auto-run on open\n    runPortfolioEngine();\n}\n\nvar portfolioData = { attack: [], defense: [], trash: [] };\n\nfunction runPortfolioEngine() {\n    const timeline = window.logicChartMeta.timeline;\n    const totalDraws = timeline.length;\n    \n    \/\/ Inputs\n    const stkAtt = parseInt(document.getElementById('pfAttackStake').value) || 200;\n    const gapAtt = parseInt(document.getElementById('pfAttackGap').value) || 20;\n    \n    const stkDef = parseInt(document.getElementById('pfDefenseStake').value) || 50;\n    const gapDef = parseInt(document.getElementById('pfDefenseGap').value) || 100;\n\n    \/\/ 1. Analyze Gaps\n    const lastPos = {};\n    timeline.forEach((n, idx) => lastPos[n] = idx);\n\n    portfolioData = { attack: [], defense: [], trash: [] };\n    let totalInvest = 0;\n\n    for(let i=0; i<100; i++) {\n        const gap = lastPos[i] !== undefined ? totalDraws - 1 - lastPos[i] : 9999;\n        \n        if(gap <= gapAtt) {\n            \/\/ ATTACK ZONE\n            portfolioData.attack.push({ n: i, s: stkAtt });\n            totalInvest += stkAtt;\n        } else if (gap <= gapDef) {\n            \/\/ DEFENSE ZONE\n            portfolioData.defense.push({ n: i, s: stkDef });\n            totalInvest += stkDef;\n        } else {\n            \/\/ TRASH ZONE\n            portfolioData.trash.push(i);\n        }\n    }\n\n    \/\/ 2. Financial Sims\n    \/\/ Scenario A: Attack Number Wins\n    const winAtt = stkAtt * 90; \n    const netAtt = winAtt - totalInvest;\n    \n    \/\/ Scenario B: Defense Number Wins\n    const winDef = stkDef * 90;\n    const netDef = winDef - totalInvest;\n\n    \/\/ 3. Render Dashboard\n    document.getElementById('pfBody').style.display = 'block';\n    \n    document.getElementById('pfTotalInvest').innerText = `\u20b9${totalInvest.toLocaleString()}`;\n    \n    document.getElementById('pfAttackWin').innerText = `\u20b9${winAtt.toLocaleString()}`;\n    document.getElementById('pfAttackNet').innerText = `Net Profit: \u20b9${netAtt.toLocaleString()}`;\n    document.getElementById('pfAttackNet').style.color = netAtt >= 0 ? '#00e676' : '#ff4444';\n\n    document.getElementById('pfDefenseWin').innerText = `\u20b9${winDef.toLocaleString()}`;\n    document.getElementById('pfDefenseNet').innerText = `Net Profit: \u20b9${netDef.toLocaleString()}`;\n    document.getElementById('pfDefenseNet').style.color = netDef >= 0 ? '#FFD700' : '#ff4444';\n\n    \/\/ 4. Update Bars\n    const cAtt = portfolioData.attack.length;\n    const cDef = portfolioData.defense.length;\n    const cTra = portfolioData.trash.length;\n    \n    document.getElementById('barAttack').style.width = `${cAtt}%`;\n    document.getElementById('barDefense').style.width = `${cDef}%`;\n    document.getElementById('barTrash').style.width = `${cTra}%`;\n    \n    document.getElementById('txtAttack').innerText = `Attack: ${cAtt}`;\n    document.getElementById('txtDefense').innerText = `Defense: ${cDef}`;\n    document.getElementById('txtTrash').innerText = `Trash: ${cTra}`;\n    \n    \/\/ Hide Parchi until requested\n    document.getElementById('pfParchiOutput').style.display = 'none';\n}\n\nfunction generatePortfolioParchi() {\n    \/\/ Combine Attack and Defense lists into formatted text\n    \/\/ Format: \"10=200, 11=50...\"\n    \n    let entries = [];\n    \n    \/\/ Add Attack Numbers\n    portfolioData.attack.forEach(item => {\n        entries.push(`${item.n.toString().padStart(2,'0')}=${item.s}`);\n    });\n\n    \/\/ Add Defense Numbers\n    portfolioData.defense.forEach(item => {\n        entries.push(`${item.n.toString().padStart(2,'0')}=${item.s}`);\n    });\n\n    const output = entries.join(', ');\n    \n    const textarea = document.getElementById('pfParchiOutput');\n    textarea.style.display = 'block';\n    textarea.value = output;\n    \n    \/\/ Auto Copy?\n    \/\/ textarea.select();\n    \/\/ document.execCommand('copy');\n    \/\/ alert(\"\u2705 Parchi generated and ready to copy!\");\n}\n\n\n\/\/ ====================================================\n\/\/ \ud83e\udd77 STEALTH PARCHI PRO (SMART HEDGING SYSTEM)\n\/\/ ====================================================\n\nvar stealthState = {\n    parts: 4,      \/\/ Kitne hisson me baatna hai\n    stake: 1000,   \/\/ Total amount per number\n    limit: 200,    \/\/ Cut limit\n    variance: 30,  \/\/ Randomness % (Human factor)\n    parchis: []    \/\/ Store generated data\n};\n\nfunction logicStealthParchiInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 100) {\n        alert(\"\u274c Need history data to determine Active vs Cut numbers.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"stealthModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10, 5, 10, 0.98); z-index:12000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:900px; background:#0f0f12; border:2px solid #ff0055; border-radius:15px; box-shadow:0 0 80px rgba(255, 0, 85, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(to right, #400010, #800020); padding:15px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #ff0055;\">\n                <div style=\"display:flex; align-items:center; gap:10px;\">\n                    <span style=\"font-size:24px;\">\ud83e\udd77<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900; letter-spacing:1px;\">STEALTH PARCHI PRO<\/h2>\n                        <div style=\"font-size:10px; color:#ff80ab;\">ANTI-DETECTION BETTING SYSTEM<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('stealthModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; background:#1a1a20; border-bottom:1px solid #333; display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:15px;\">\n                \n                <div>\n                    <label style=\"font-size:10px; color:#aaa; font-weight:bold;\">TOTAL AMOUNT (PER NUMBER)<\/label>\n                    <input type=\"number\" id=\"spStake\" value=\"1000\" class=\"sp-input\" style=\"color:#00e676; border-color:#00e676;\">\n                <\/div>\n\n                <div>\n                    <label style=\"font-size:10px; color:#aaa; font-weight:bold;\">SPLIT INTO (PARCHIS)<\/label>\n                    <select id=\"spParts\" class=\"sp-input\" style=\"color:#00bfff; border-color:#00bfff;\">\n                        <option value=\"2\">2 Parts<\/option>\n                        <option value=\"3\">3 Parts<\/option>\n                        <option value=\"4\" selected>4 Parts<\/option>\n                        <option value=\"5\">5 Parts<\/option>\n                        <option value=\"6\">6 Parts<\/option>\n                    <\/select>\n                <\/div>\n\n                <div>\n                    <label style=\"font-size:10px; color:#aaa; font-weight:bold;\">CUT LIMIT (DAYS)<\/label>\n                    <input type=\"number\" id=\"spLimit\" value=\"200\" class=\"sp-input\" style=\"color:#ff4444; border-color:#ff4444;\">\n                <\/div>\n                \n                <div>\n                    <label style=\"font-size:10px; color:#aaa; font-weight:bold;\">YOUR COMMISSION (%)<\/label>\n                    <input type=\"number\" id=\"spComm\" value=\"10\" class=\"sp-input\" style=\"color:#ffd700; border-color:#ffd700;\">\n                <\/div>\n\n                <div>\n                    <label style=\"font-size:10px; color:#1a1a20;\">.<\/label>\n                    <button onclick=\"generateStealthParchis()\" style=\"width:100%; background:#ff0055; color:#fff; padding:10px; border:none; border-radius:6px; font-weight:bold; cursor:pointer; height:42px; box-shadow:0 0 15px rgba(255,0,85,0.4);\">\n                        GENERATE SLIPS \ud83c\udfb2\n                    <\/button>\n                <\/div>\n\n            <\/div>\n\n            <div id=\"spWorkspace\" style=\"flex:1; overflow-y:auto; display:flex; background:#000;\">\n                \n                <div style=\"width:250px; background:#0a0a0a; border-right:1px solid #333; padding:15px; display:flex; flex-direction:column;\">\n                    <div style=\"font-size:12px; color:#aaa; margin-bottom:10px;\">FINANCIAL SUMMARY<\/div>\n                    \n                    <div class=\"sp-stat-box\">\n                        <span>Total Numbers<\/span>\n                        <b id=\"spActiveCount\" style=\"color:#fff;\">0<\/b>\n                    <\/div>\n                    <div class=\"sp-stat-box\">\n                        <span>Gross Amount<\/span>\n                        <b id=\"spGrossAmt\" style=\"color:#00bfff;\">\u20b90<\/b>\n                    <\/div>\n                    <div class=\"sp-stat-box\">\n                        <span>Commission<\/span>\n                        <b id=\"spCommAmt\" style=\"color:#ffd700;\">\u20b90<\/b>\n                    <\/div>\n                    <div class=\"sp-stat-box\" style=\"border-top:1px solid #444; margin-top:5px; padding-top:5px;\">\n                        <span>NET PAYABLE<\/span>\n                        <b id=\"spNetPay\" style=\"color:#ff0055; font-size:16px;\">\u20b90<\/b>\n                    <\/div>\n\n                    <div style=\"margin-top:20px; font-size:12px; color:#aaa; margin-bottom:10px;\">PARCHI LIST<\/div>\n                    <div id=\"spParchiListBtns\" style=\"display:flex; flex-direction:column; gap:5px;\">\n                        <\/div>\n                <\/div>\n\n                <div style=\"flex:1; padding:20px; display:flex; flex-direction:column;\">\n                    \n                    <div style=\"display:flex; justify-content:space-between; margin-bottom:10px;\">\n                        <h3 id=\"spViewTitle\" style=\"margin:0; color:#fff;\">PARCHI #1 PREVIEW<\/h3>\n                        <div style=\"display:flex; gap:10px;\">\n                            <button onclick=\"setFormat('USER')\" class=\"sp-fmt-btn active\" id=\"btnFmtUser\">USER STYLE<\/button>\n                            <button onclick=\"setFormat('SOFT')\" class=\"sp-fmt-btn\" id=\"btnFmtSoft\">SOFTWARE<\/button>\n                        <\/div>\n                    <\/div>\n\n                    <textarea id=\"spOutputArea\" readonly style=\"flex:1; background:#111; color:#00e676; border:1px solid #333; border-radius:8px; padding:15px; font-family:'Courier New', monospace; font-size:14px; line-height:1.5; resize:none;\"><\/textarea>\n\n                    <div style=\"margin-top:15px; display:flex; justify-content:space-between; align-items:center;\">\n                         <div style=\"font-size:12px; color:#666;\">\n                            *Randomized amounts to prevent detection. Total matches investment.\n                         <\/div>\n                         <button onclick=\"copyStealthParchi()\" style=\"background:#00e676; color:#000; padding:10px 25px; border:none; border-radius:30px; font-weight:bold; cursor:pointer; display:flex; align-items:center; gap:8px;\">\n                            \ud83d\udccb COPY THIS PARCHI\n                         <\/button>\n                    <\/div>\n\n                <\/div>\n\n            <\/div>\n\n        <\/div>\n        \n        <style>\n            .sp-input { width:100%; padding:10px; background:#000; border:1px solid #444; border-radius:6px; font-weight:bold; text-align:center; font-size:16px; }\n            .sp-stat-box { display:flex; justify-content:space-between; font-size:12px; color:#888; margin-bottom:5px; }\n            .sp-tab-btn { background:#1a1a20; color:#aaa; border:1px solid #333; padding:10px; text-align:left; border-radius:6px; cursor:pointer; display:flex; justify-content:space-between; }\n            .sp-tab-btn:hover { background:#222; }\n            .sp-tab-btn.active { background:#ff0055; color:#fff; border-color:#ff0055; }\n            .sp-fmt-btn { background:transparent; border:1px solid #444; color:#aaa; padding:5px 10px; border-radius:4px; cursor:pointer; font-size:10px; font-weight:bold; }\n            .sp-fmt-btn.active { background:#fff; color:#000; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('stealthModal')) document.getElementById('stealthModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ Initial Gen (Empty)\n    document.getElementById('spOutputArea').value = \"Click GENERATE to create parchis...\";\n}\n\n\/\/ Global State for Formats\nvar currentParchiIndex = 0;\nvar currentFormat = 'USER'; \/\/ USER or SOFT\n\nfunction generateStealthParchis() {\n    const timeline = window.logicChartMeta.timeline;\n    const totalDraws = timeline.length;\n    \n    \/\/ Get Inputs\n    const stake = parseInt(document.getElementById('spStake').value) || 1000;\n    const parts = parseInt(document.getElementById('spParts').value) || 4;\n    const limit = parseInt(document.getElementById('spLimit').value) || 200;\n    const commPct = parseFloat(document.getElementById('spComm').value) || 0;\n\n    \/\/ 1. IDENTIFY ACTIVE NUMBERS\n    const lastPos = {};\n    timeline.forEach((n, idx) => lastPos[n] = idx);\n\n    let activeNumbers = [];\n    for(let i=0; i<100; i++) {\n        const gap = lastPos[i] !== undefined ? totalDraws - 1 - lastPos[i] : 9999;\n        if(gap <= limit) {\n            activeNumbers.push(i);\n        }\n    }\n\n    \/\/ 2. SPLIT LOGIC (The Humanizer)\n    let parchis = Array.from({length: parts}, () => ({ numbers: {}, total: 0 }));\n\n    activeNumbers.forEach(num => {\n        \/\/ Distribute 'stake' into 'parts' random chunks\n        let remaining = stake;\n        let chunks = [];\n\n        \/\/ Generate N-1 random cut points\n        for(let i=0; i<parts-1; i++) {\n            \/\/ Logic: Average share +\/- randomness\n            \/\/ Simple approach: Random numbers summing to Total\n            \/\/ Let's use a \"dirichlet-like\" approach but simpler\n            \/\/ Min chunk size = 10% of share to avoid 0\n            \n            \/\/ Simpler: Generate random weights\n            chunks.push(Math.random());\n        }\n        chunks.push(Math.random()); \/\/ Last part\n\n        const weightSum = chunks.reduce((a,b)=>a+b, 0);\n        let distributed = 0;\n\n        let numParts = chunks.map((w, idx) => {\n            if(idx === parts - 1) return stake - distributed; \/\/ Last one takes remainder\n            \n            let rawShare = Math.floor((w \/ weightSum) * stake);\n            \/\/ Round to nearest 5 or 10 to look human\n            let humanized = Math.round(rawShare \/ 5) * 5; \n            if(humanized < 10) humanized = 10; \/\/ Min bet size\n            \n            distributed += humanized;\n            return humanized;\n        });\n\n        \/\/ Adjustment for last part (might be negative or too big due to rounding)\n        let lastPart = stake - distributed;\n        if(lastPart < 0) {\n            \/\/ Need to subtract from others\n            numParts[0] += lastPart; \/\/ Reduce first\n            numParts[parts-1] = 0; \/\/ Should ideally redistribute better, but this works for basic\n        } else {\n            numParts[parts-1] = lastPart;\n        }\n\n        \/\/ Assign to parchis\n        numParts.forEach((amt, idx) => {\n            if(amt > 0) {\n                parchis[idx].numbers[num] = amt;\n                parchis[idx].total += amt;\n            }\n        });\n    });\n\n    stealthState.parchis = parchis;\n\n    \/\/ 3. UPDATE FINANCIAL SUMMARY\n    const activeCount = activeNumbers.length;\n    const grossAmt = activeCount * stake;\n    const commAmt = Math.round(grossAmt * (commPct\/100));\n    const netPay = grossAmt - commAmt;\n\n    document.getElementById('spActiveCount').innerText = activeCount;\n    document.getElementById('spGrossAmt').innerText = `\u20b9${grossAmt.toLocaleString()}`;\n    document.getElementById('spCommAmt').innerText = `-\u20b9${commAmt.toLocaleString()}`;\n    document.getElementById('spNetPay').innerText = `\u20b9${netPay.toLocaleString()}`;\n\n    \/\/ 4. RENDER TABS\n    renderParchiTabs();\n    \n    \/\/ Select First\n    selectParchi(0);\n}\n\nfunction renderParchiTabs() {\n    const container = document.getElementById('spParchiListBtns');\n    container.innerHTML = '';\n    \n    stealthState.parchis.forEach((p, idx) => {\n        const btn = document.createElement('div');\n        btn.className = 'sp-tab-btn';\n        btn.id = `spTab${idx}`;\n        btn.innerHTML = `<span>PARCHI #${idx+1}<\/span> <span style=\"font-weight:bold;\">\u20b9${p.total}<\/span>`;\n        btn.onclick = () => selectParchi(idx);\n        container.appendChild(btn);\n    });\n}\n\nfunction selectParchi(idx) {\n    currentParchiIndex = idx;\n    \/\/ Highlight Tab\n    document.querySelectorAll('.sp-tab-btn').forEach(b => b.classList.remove('active'));\n    document.getElementById(`spTab${idx}`).classList.add('active');\n    \n    document.getElementById('spViewTitle').innerText = `PARCHI #${idx+1} VIEW`;\n    renderOutputText();\n}\n\nfunction setFormat(fmt) {\n    currentFormat = fmt;\n    document.getElementById('btnFmtUser').className = fmt === 'USER' ? 'sp-fmt-btn active' : 'sp-fmt-btn';\n    document.getElementById('btnFmtSoft').className = fmt === 'SOFT' ? 'sp-fmt-btn active' : 'sp-fmt-btn';\n    renderOutputText();\n}\n\nfunction renderOutputText() {\n    if(!stealthState.parchis[currentParchiIndex]) return;\n    \n    const data = stealthState.parchis[currentParchiIndex].numbers;\n    let output = \"\";\n\n    if (currentFormat === 'USER') {\n        \/\/ --- USER STYLE (Group by Amount) ---\n        \/\/ Format: \"42(240)\\n 57,79(30)\\n GL\\n Total: 600\"\n        \n        \/\/ 1. Group keys by values\n        let groups = {};\n        for (const [num, amt] of Object.entries(data)) {\n            if(!groups[amt]) groups[amt] = [];\n            groups[amt].push(num.toString().padStart(2,'0'));\n        }\n\n        \/\/ Sort amounts descending (Big bets first)\n        const sortedAmts = Object.keys(groups).map(Number).sort((a,b)=>b-a);\n        \n        sortedAmts.forEach(amt => {\n            const nums = groups[amt];\n            \/\/ If many numbers, break into lines\n            let line = nums.join(',');\n            output += `${line} (${amt})\\n`;\n        });\n        \n        output += `\\nTotal ${stealthState.parchis[currentParchiIndex].total}`;\n\n    } else {\n        \/\/ --- SOFTWARE STYLE (Data Entry) ---\n        \/\/ Format: \"90=100, 20=100, 40=150, ...\"\n        \n        let pairs = [];\n        for (const [num, amt] of Object.entries(data)) {\n            pairs.push(`${num.toString().padStart(2,'0')}=${amt}`);\n        }\n        output = pairs.join(', ');\n    }\n\n    document.getElementById('spOutputArea').value = output;\n}\n\nfunction copyStealthParchi() {\n    const txt = document.getElementById('spOutputArea');\n    txt.select();\n    document.execCommand('copy');\n    alert(\"\ud83e\udd77 Parchi Copied to Clipboard!\");\n}\n\n\n        \/\/ ====================================================\n\/\/ \u2694\ufe0f BATTLE ARENA PRO (REAL-TIME PROFIT SIMULATOR)\n\/\/ ====================================================\n\n\/\/ Global State\nvar battleState = {\n    mode: 'JODI',     \/\/ 'JODI' or 'HARUF'\n    time: 'ALL',      \/\/ 'ALL', 'YEAR', 'MONTH'\n    stake: 100        \/\/ User defined amount\n};\n\nfunction logicBattleModeInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 20) {\n        alert(\"\u274c Battle Mode needs history data to run.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"battleModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(5, 5, 10, 0.98); z-index:11500; display:flex; justify-content:center; align-items:start; font-family:'Segoe UI', sans-serif; overflow-y:auto; padding-top:20px;\">\n        \n        <div style=\"width:95%; max-width:600px; background:linear-gradient(180deg, #0f172a 0%, #000 100%); border:1px solid #334155; border-radius:16px; box-shadow:0 0 40px rgba(0,0,0,0.8); overflow:hidden; margin-bottom:50px; position:relative;\">\n            \n            <div style=\"padding:15px; background:#1e293b; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #334155;\">\n                <div style=\"display:flex; align-items:center; gap:8px;\">\n                    <span style=\"font-size:20px;\">\u2694\ufe0f<\/span>\n                    <div>\n                        <div style=\"font-size:16px; font-weight:900; color:#fff; letter-spacing:1px;\">BATTLE ARENA<\/div>\n                        <div style=\"font-size:10px; color:#94a3b8;\">PROFIT SIMULATOR<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('battleModal').remove()\" style=\"background:#334155; border:none; color:#fff; width:30px; height:30px; border-radius:50%; font-weight:bold; cursor:pointer;\">\u2715<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; background:#0f172a; border-bottom:1px solid #334155;\">\n                \n                <div style=\"margin-bottom:15px;\">\n                    <label style=\"font-size:11px; color:#64748b; font-weight:bold; display:block; margin-bottom:5px;\">YOUR STAKE (PER NUMBER)<\/label>\n                    <div style=\"display:flex; gap:10px;\">\n                        <input type=\"number\" id=\"battleStakeInput\" value=\"100\" oninput=\"updateBattleEngine()\" \n                            style=\"flex:1; background:#000; border:1px solid #ffd700; color:#ffd700; font-size:24px; font-weight:bold; padding:10px; border-radius:8px; text-align:center;\">\n                        <div style=\"display:flex; flex-direction:column; gap:2px; justify-content:center;\">\n                            <button onclick=\"setBattleStake(10)\" style=\"background:#334155; border:none; color:#fff; font-size:10px; padding:4px 8px; border-radius:4px; cursor:pointer;\">10<\/button>\n                            <button onclick=\"setBattleStake(100)\" style=\"background:#334155; border:none; color:#fff; font-size:10px; padding:4px 8px; border-radius:4px; cursor:pointer;\">100<\/button>\n                            <button onclick=\"setBattleStake(500)\" style=\"background:#334155; border:none; color:#fff; font-size:10px; padding:4px 8px; border-radius:4px; cursor:pointer;\">500<\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"display:flex; justify-content:space-between; gap:10px;\">\n                    <div style=\"background:#1e293b; padding:4px; border-radius:8px; display:flex; flex:1;\">\n                        <button id=\"btnModeJodi\" onclick=\"setBattleMode('JODI')\" style=\"flex:1; background:#3b82f6; color:#fff; border:none; border-radius:6px; font-weight:bold; font-size:11px; padding:6px; cursor:pointer;\">JODI (1:90)<\/button>\n                        <button id=\"btnModeHaruf\" onclick=\"setBattleMode('HARUF')\" style=\"flex:1; background:transparent; color:#94a3b8; border:none; border-radius:6px; font-weight:bold; font-size:11px; padding:6px; cursor:pointer;\">HARUF (1:9)<\/button>\n                    <\/div>\n                    <select id=\"battleTimeSelect\" onchange=\"setBattleTime(this.value)\" style=\"background:#1e293b; color:#fff; border:none; padding:5px 10px; border-radius:8px; font-size:11px; font-weight:bold; cursor:pointer;\">\n                        <option value=\"ALL\">ALL HISTORY<\/option>\n                        <option value=\"YEAR\">THIS YEAR<\/option>\n                        <option value=\"MONTH\">THIS MONTH<\/option>\n                    <\/select>\n                <\/div>\n\n            <\/div>\n\n            <div id=\"battleScoreboard\" style=\"padding:15px;\">\n                <\/div>\n\n            <div style=\"background:#000; padding:10px 15px; border-top:1px solid #334155;\">\n                <div style=\"font-size:10px; color:#64748b; margin-bottom:8px; font-weight:bold;\">RECENT MATCH FORM (Last 15)<\/div>\n                <div id=\"battleTicker\" style=\"display:flex; gap:6px; overflow-x:auto; padding-bottom:5px; scrollbar-width:none;\">\n                    <\/div>\n            <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('battleModal')) document.getElementById('battleModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ Initial Run\n    updateBattleEngine();\n}\n\n\/\/ --- CONTROLLERS ---\nfunction setBattleStake(val) {\n    document.getElementById('battleStakeInput').value = val;\n    updateBattleEngine();\n}\n\nfunction setBattleMode(mode) {\n    battleState.mode = mode;\n    \/\/ Update Buttons UI\n    document.getElementById('btnModeJodi').style.background = mode === 'JODI' ? '#3b82f6' : 'transparent';\n    document.getElementById('btnModeJodi').style.color = mode === 'JODI' ? '#fff' : '#94a3b8';\n    \n    document.getElementById('btnModeHaruf').style.background = mode === 'HARUF' ? '#3b82f6' : 'transparent';\n    document.getElementById('btnModeHaruf').style.color = mode === 'HARUF' ? '#fff' : '#94a3b8';\n    \n    updateBattleEngine();\n}\n\nfunction setBattleTime(val) {\n    battleState.time = val;\n    updateBattleEngine();\n}\n\n\/\/ --- MAIN LOGIC ENGINE ---\nfunction updateBattleEngine() {\n    const timeline = window.logicChartMeta.timeline;\n    const dates = window.logicChartMeta.timelineDates;\n    const today = new Date();\n    const curYear = today.getFullYear();\n    const curMonth = today.getMonth() + 1;\n\n    \/\/ Get Stake\n    let stake = parseInt(document.getElementById('battleStakeInput').value) || 0;\n    if(stake < 0) stake = 0;\n\n    \/\/ CONFIGURATION\n    const isJodi = battleState.mode === 'JODI';\n    const numsPerSide = isJodi ? 50 : 5; \/\/ Jodi: 50 odd\/50 even. Haruf: 5 odd\/5 even.\n    const rate = isJodi ? 90 : 9; \/\/ Payment Multiplier\n\n    const investmentPerGame = numsPerSide * stake; \/\/ Cost per draw\n    const winningPayout = stake * rate; \/\/ Return on win\n    const netWin = winningPayout - investmentPerGame; \/\/ Profit per win\n    const netLoss = -investmentPerGame; \/\/ Loss per loss\n\n    \/\/ Stats Objects\n    let red = { name: '\ud83d\udd34 RED TEAM (Odd)', wins: 0, invest: 0, return: 0 };\n    let blue = { name: '\ud83d\udd35 BLUE TEAM (Even)', wins: 0, invest: 0, return: 0 };\n\n    let tickerHTML = '';\n    let matchesFound = 0;\n\n    \/\/ LOOP HISTORY\n    \/\/ Use reverse loop for calculation to get totals, but we need recent for ticker\n    \/\/ Let's filter data first based on Time\n    \n    let activeData = [];\n    timeline.forEach((n, i) => {\n        const d = dates[i];\n        if(!d) return;\n        \n        let include = false;\n        if(battleState.time === 'ALL') include = true;\n        else if(battleState.time === 'YEAR' && d.year === curYear) include = true;\n        else if(battleState.time === 'MONTH' && d.year === curYear && d.month === curMonth) include = true;\n\n        if(include) activeData.push(n);\n    });\n\n    \/\/ Run Calculations on Active Data\n    activeData.forEach(n => {\n        matchesFound++;\n        \n        \/\/ Determine Result Type\n        \/\/ Odd = Red, Even = Blue\n        let isOdd = false;\n        if(isJodi) {\n            if(n % 2 !== 0) isOdd = true;\n        } else {\n            \/\/ Haruf (Bahar) Check\n            if((n % 10) % 2 !== 0) isOdd = true;\n        }\n\n        \/\/ Apply Financials\n        \/\/ Both teams invest every game\n        red.invest += investmentPerGame;\n        blue.invest += investmentPerGame;\n\n        if(isOdd) {\n            red.wins++;\n            red.return += winningPayout;\n        } else {\n            blue.wins++;\n            blue.return += winningPayout;\n        }\n    });\n\n    \/\/ Generate Ticker (Last 15 results from Active Data)\n    const recent = activeData.slice(-15).reverse();\n    recent.forEach(n => {\n        let isOdd = false;\n        if(isJodi) { if(n % 2 !== 0) isOdd = true; } \n        else { if((n % 10) % 2 !== 0) isOdd = true; }\n        \n        let bg = isOdd ? '#ff4444' : '#448aff';\n        let txt = n.toString().padStart(2,'0');\n        \n        tickerHTML += `\n            <div style=\"min-width:35px; height:35px; background:${bg}; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:bold; font-size:12px; border:2px solid #fff; box-shadow:0 2px 5px rgba(0,0,0,0.5);\">\n                ${txt}\n            <\/div>\n        `;\n    });\n\n    \/\/ Helper to format money\n    const money = (val) => {\n        const s = Math.abs(val).toLocaleString('en-IN');\n        if(val > 0) return `<span style=\"color:#00e676;\">+\u20b9${s}<\/span>`;\n        if(val < 0) return `<span style=\"color:#ff4444;\">-\u20b9${s}<\/span>`;\n        return `<span style=\"color:#fff;\">\u20b90<\/span>`;\n    };\n\n    \/\/ Calculate Nets\n    const redNet = red.return - red.invest;\n    const blueNet = blue.return - blue.invest;\n    const totalWins = red.wins + blue.wins;\n    \n    \/\/ Percentage for Momentum Bar\n    const redPct = totalWins > 0 ? (red.wins \/ totalWins) * 100 : 50;\n    const bluePct = 100 - redPct;\n\n    \/\/ --- RENDER SCOREBOARD ---\n    const scoreHTML = `\n        <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:15px;\">\n            \n            <div style=\"background:linear-gradient(135deg, #330505, #1a0000); border:1px solid #ff4444; border-radius:12px; padding:12px; text-align:center; position:relative; overflow:hidden;\">\n                <div style=\"position:absolute; top:-5px; left:-5px; font-size:50px; opacity:0.1; color:#ff4444;\">\ud83d\udd34<\/div>\n                <div style=\"font-size:12px; font-weight:bold; color:#ff8888; margin-bottom:5px;\">${red.name}<\/div>\n                \n                <div style=\"font-size:28px; font-weight:900; color:#fff; line-height:1;\">${money(redNet)}<\/div>\n                <div style=\"font-size:10px; color:#aaa; margin-top:2px;\">NET PROFIT<\/div>\n\n                <div style=\"margin-top:10px; background:rgba(0,0,0,0.4); padding:6px; border-radius:6px; font-size:10px;\">\n                    <div style=\"display:flex; justify-content:space-between; color:#ccc;\">\n                        <span>Invest:<\/span> <span>\u20b9${(red.invest\/1000).toFixed(1)}k<\/span>\n                    <\/div>\n                    <div style=\"display:flex; justify-content:space-between; color:#fff; font-weight:bold;\">\n                        <span>Return:<\/span> <span>\u20b9${(red.return\/1000).toFixed(1)}k<\/span>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div style=\"background:linear-gradient(135deg, #000933, #00001a); border:1px solid #448aff; border-radius:12px; padding:12px; text-align:center; position:relative; overflow:hidden;\">\n                <div style=\"position:absolute; top:-5px; right:-5px; font-size:50px; opacity:0.1; color:#448aff;\">\ud83d\udd35<\/div>\n                <div style=\"font-size:12px; font-weight:bold; color:#88aaff; margin-bottom:5px;\">${blue.name}<\/div>\n                \n                <div style=\"font-size:28px; font-weight:900; color:#fff; line-height:1;\">${money(blueNet)}<\/div>\n                <div style=\"font-size:10px; color:#aaa; margin-top:2px;\">NET PROFIT<\/div>\n\n                <div style=\"margin-top:10px; background:rgba(0,0,0,0.4); padding:6px; border-radius:6px; font-size:10px;\">\n                    <div style=\"display:flex; justify-content:space-between; color:#ccc;\">\n                        <span>Invest:<\/span> <span>\u20b9${(blue.invest\/1000).toFixed(1)}k<\/span>\n                    <\/div>\n                    <div style=\"display:flex; justify-content:space-between; color:#fff; font-weight:bold;\">\n                        <span>Return:<\/span> <span>\u20b9${(blue.return\/1000).toFixed(1)}k<\/span>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n        <\/div>\n\n        <div style=\"margin-bottom:5px; display:flex; justify-content:space-between; font-size:10px; font-weight:bold; color:#ccc;\">\n            <span>WIN RATIO: ${Math.round(redPct)}%<\/span>\n            <span>WIN RATIO: ${Math.round(bluePct)}%<\/span>\n        <\/div>\n        <div style=\"height:16px; background:#0f172a; border-radius:8px; overflow:hidden; display:flex; border:1px solid #334155;\">\n            <div style=\"width:${redPct}%; background:linear-gradient(90deg, #b91c1c, #ef4444); display:flex; align-items:center; justify-content:center; color:#fff; font-size:9px; font-weight:bold;\">${red.wins}<\/div>\n            <div style=\"width:${bluePct}%; background:linear-gradient(90deg, #3b82f6, #1d4ed8); display:flex; align-items:center; justify-content:center; color:#fff; font-size:9px; font-weight:bold;\">${blue.wins}<\/div>\n        <\/div>\n    `;\n\n    document.getElementById('battleScoreboard').innerHTML = scoreHTML;\n    document.getElementById('battleTicker').innerHTML = tickerHTML;\n}\n\/\/ ====================================================\n\/\/ \ud83d\udd2e THE CROSSING AI (AUTO BEST COMBO FINDER)\n\/\/ ====================================================\n\nfunction logicCrossingAIInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    const dates = window.logicChartMeta?.timelineDates || [];\n    \n    if (timeline.length < 30) {\n        alert(\"\u274c Need more history to find patterns.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"aiCrossModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0, 5, 15, 0.98); z-index:33000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:800px; background:#000814; border:2px solid #0072FF; border-radius:20px; box-shadow:0 0 60px rgba(0, 114, 255, 0.3); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #00C6FF, #0072FF); padding:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div style=\"display:flex; align-items:center; gap:10px;\">\n                    <span style=\"font-size:24px;\">\ud83d\udd2e<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900;\">THE CROSSING AI<\/h2>\n                        <div style=\"font-size:10px; color:#fff;\">SCANNING 210 COMBINATIONS TO FIND #1 WINNER<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('aiCrossModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; background:#051020; border-bottom:1px solid #003366; text-align:center;\">\n                <span style=\"font-size:10px; color:#aaa;\">SEARCH DEPTH (Last Days)<\/span>\n                <input type=\"number\" id=\"aiDays\" value=\"30\" style=\"width:60px; padding:5px; background:#000; border:1px solid #00C6FF; color:#fff; text-align:center; font-weight:bold;\">\n                <button onclick=\"runAIscan()\" style=\"background:#00C6FF; color:#000; border:none; padding:5px 20px; border-radius:4px; font-weight:bold; cursor:pointer; margin-left:10px;\">SCAN MARKET \ud83d\ude80<\/button>\n            <\/div>\n\n            <div id=\"aiBody\" style=\"flex:1; overflow-y:auto; padding:20px; display:flex; flex-direction:column; align-items:center;\">\n                \n                <div id=\"aiLoading\" style=\"display:none; color:#00C6FF; font-size:12px; margin:20px;\">\n                    \ud83e\udde0 AI IS CALCULATING 210 COMBINATIONS...\n                <\/div>\n\n                <div id=\"aiResultArea\" style=\"display:none; width:100%; text-align:center;\">\n                    \n                    <div style=\"font-size:10px; color:#aaa; letter-spacing:2px; margin-bottom:10px;\">\ud83c\udfc6 CURRENT MARKET CHAMPION (BEST 4 ANK)<\/div>\n                    \n                    <div style=\"background:linear-gradient(135deg, #00C6FF, #0072FF); padding:20px; border-radius:15px; display:inline-block; box-shadow:0 0 40px rgba(0,114,255,0.5); border:2px solid #fff;\">\n                        <div id=\"aiBestCombo\" style=\"font-size:40px; font-weight:900; color:#fff; letter-spacing:10px; text-shadow:0 2px 10px rgba(0,0,0,0.5);\">-- -- -- --<\/div>\n                    <\/div>\n\n                    <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-top:30px; max-width:500px; margin-left:auto; margin-right:auto;\">\n                        <div class=\"ai-stat-box\">\n                            <div class=\"ai-lbl\">WIN RATE<\/div>\n                            <div id=\"aiWinRate\" class=\"ai-val\" style=\"color:#00e676;\">--%<\/div>\n                        <\/div>\n                        <div class=\"ai-stat-box\">\n                            <div class=\"ai-lbl\">NET PROFIT (If Played)<\/div>\n                            <div id=\"aiProfit\" class=\"ai-val\" style=\"color:#ffd700;\">--<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div style=\"margin-top:20px; background:#0a1525; padding:15px; border-radius:10px; border:1px solid #333;\">\n                        <div style=\"font-size:11px; color:#aaa; margin-bottom:5px;\">WHY THIS CROSSING?<\/div>\n                        <div id=\"aiReason\" style=\"font-size:12px; color:#fff;\">\n                            --\n                        <\/div>\n                    <\/div>\n                    \n                    <div style=\"margin-top:20px; text-align:left;\">\n                        <div style=\"font-size:10px; color:#666; margin-bottom:5px;\">OTHER TOP PERFORMERS<\/div>\n                        <div id=\"aiTopList\" style=\"font-size:11px; color:#888;\"><\/div>\n                    <\/div>\n\n                <\/div>\n\n            <\/div>\n        <\/div>\n        <style>\n            .ai-stat-box { background:#0a1525; border:1px solid #003366; padding:10px; border-radius:10px; }\n            .ai-lbl { font-size:10px; color:#aaa; font-weight:bold; }\n            .ai-val { font-size:20px; font-weight:bold; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('aiCrossModal')) document.getElementById('aiCrossModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runAIscan() {\n    const timeline = window.logicChartMeta.timeline;\n    const daysToScan = parseInt(document.getElementById('aiDays').value) || 30;\n    \n    \/\/ UI Updates\n    document.getElementById('aiLoading').style.display = 'block';\n    document.getElementById('aiResultArea').style.display = 'none';\n\n    \/\/ Use setTimeout to allow UI to render \"Loading\" before heavy calculation\n    setTimeout(() => {\n        performBruteForce(timeline, daysToScan);\n    }, 100);\n}\n\nfunction performBruteForce(timeline, daysToScan) {\n    \/\/ 1. GENERATE ALL 4-DIGIT COMBINATIONS (0-9)\n    \/\/ Formula: 10C4 = 210 combinations. We can loop them.\n    let combinations = [];\n    for (let a = 0; a <= 6; a++) {\n        for (let b = a + 1; b <= 7; b++) {\n            for (let c = b + 1; c <= 8; c++) {\n                for (let d = c + 1; d <= 9; d++) {\n                    combinations.push([a, b, c, d]);\n                }\n            }\n        }\n    }\n\n    \/\/ 2. SCAN HISTORY\n    const startIdx = Math.max(0, timeline.length - daysToScan);\n    const recentHistory = timeline.slice(startIdx);\n    \n    let bestCombo = null;\n    let bestScore = -9999999;\n    let topList = [];\n\n    \/\/ Financial Config\n    const stake = 100;\n    const jodiCount = 16; \/\/ 4 ank crossing = 16 jodis\n    const investPerGame = stake * jodiCount;\n    const winAmt = stake * 90;\n\n    \/\/ Loop through all 210 combos\n    combinations.forEach(combo => {\n        \/\/ Build Set for fast checking\n        \/\/ Need to handle pairs? Standard crossing includes pairs (11, 22 etc)\n        \/\/ If combo is [1,2,3,4], valid numbers include 11, 12, 13, 14, 21...\n        \/\/ Logic: A number is valid if BOTH digits are in the combo set.\n        \n        let comboSet = new Set(combo);\n        let wins = 0;\n        let total = 0;\n\n        recentHistory.forEach(res => {\n            let dA = Math.floor(res \/ 10);\n            let dB = res % 10;\n            \n            if(comboSet.has(dA) && comboSet.has(dB)) {\n                wins++;\n            }\n            total++;\n        });\n\n        \/\/ Calculate Profit\n        let totalInvest = total * investPerGame;\n        let totalReturn = wins * winAmt;\n        let profit = totalReturn - totalInvest;\n\n        let stats = {\n            combo: combo,\n            profit: profit,\n            wins: wins,\n            total: total\n        };\n\n        \/\/ Rank Logic\n        if(profit > bestScore) {\n            bestScore = profit;\n            bestCombo = stats;\n        }\n        \n        topList.push(stats);\n    });\n\n    \/\/ Sort Top List\n    topList.sort((a,b) => b.profit - a.profit);\n\n    \/\/ 3. RENDER RESULT\n    const winner = topList[0];\n    const winRate = ((winner.wins \/ winner.total) * 100).toFixed(1);\n\n    document.getElementById('aiBestCombo').innerText = winner.combo.join(' - ');\n    document.getElementById('aiWinRate').innerText = `${winRate}%`;\n    document.getElementById('aiProfit').innerText = `\u20b9${winner.profit.toLocaleString()}`;\n    \n    document.getElementById('aiReason').innerHTML = `\n        Out of <b>210 possible combinations<\/b>, this set [${winner.combo}] generated the highest profit in the last ${daysToScan} days.\n        <br>It passed <b>${winner.wins}<\/b> times out of ${winner.total} games.\n    `;\n\n    \/\/ Render other top performers\n    let listHTML = \"\";\n    for(let i=1; i<6; i++) {\n        let item = topList[i];\n        if(item) {\n            listHTML += `<div>#${i+1}: <b>[${item.combo.join('-')}]<\/b> | Profit: \u20b9${item.profit}<\/div>`;\n        }\n    }\n    document.getElementById('aiTopList').innerHTML = listHTML;\n\n    \/\/ Show\n    document.getElementById('aiLoading').style.display = 'none';\n    document.getElementById('aiResultArea').style.display = 'block';\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udc8e QUANTUM PORTFOLIO (REAL MATH ENGINE - NO RANDOM)\n\/\/ ====================================================\n\n\/\/ Local State\nvar quantumState = {\n    attGap: 20,\n    defGap: 100,\n    attStake: 200,\n    defStake: 50,\n    data: { attack: [], defense: [], trash: [] }\n};\n\nfunction logicQuantumPortfolioInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 300) {\n        alert(\"\u274c Need more history data (300+ draws) for accurate calculation.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"quantumModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(2, 4, 10, 0.98); z-index:13000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:900px; background:#050510; border:2px solid #00d2ff; border-radius:20px; box-shadow:0 0 80px rgba(0, 210, 255, 0.15); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #001f3f, #003366); padding:15px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #00d2ff;\">\n                <div style=\"display:flex; align-items:center; gap:12px;\">\n                    <span style=\"font-size:24px;\">\ud83d\udc8e<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900; letter-spacing:1px;\">QUANTUM REALITY<\/h2>\n                        <div style=\"font-size:10px; color:#00d2ff;\">100% ACCURATE PROFIT ARCHITECT<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('quantumModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; background:#0a0a15; border-bottom:1px solid #333;\">\n                \n                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:15px;\">\n                    <div style=\"font-size:12px; color:#aaa;\">STEP 1: FIND WINNING FORMULA<\/div>\n                    <button onclick=\"startQuantumScan()\" id=\"btnQuantumScan\" style=\"background:#00d2ff; color:#000; border:none; padding:10px 25px; border-radius:30px; font-weight:bold; cursor:pointer; font-size:12px; display:flex; align-items:center; gap:8px; box-shadow:0 0 20px rgba(0, 210, 255, 0.4);\">\n                        \ud83d\udd0d SCAN FULL HISTORY (REAL)\n                    <\/button>\n                <\/div>\n\n                <div id=\"qpProgress\" style=\"display:none; margin-bottom:10px;\">\n                    <div style=\"font-size:10px; color:#aaa; margin-bottom:3px;\">Scanning Combinations...<\/div>\n                    <div style=\"height:4px; background:#333; width:100%; border-radius:2px; overflow:hidden;\">\n                        <div id=\"qpProgressBar\" style=\"width:0%; height:100%; background:#00d2ff;\"><\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:15px;\">\n                    \n                    <div style=\"background:#101020; border:1px solid #00d2ff; padding:10px; border-radius:10px;\">\n                        <div style=\"font-size:9px; color:#00d2ff; font-weight:bold;\">ATTACK ZONE (High Stake)<\/div>\n                        <div style=\"display:flex; gap:10px; margin-top:5px;\">\n                            <div style=\"flex:1;\">\n                                <label style=\"font-size:9px; color:#aaa;\">Stake<\/label>\n                                <input type=\"number\" id=\"qpAttStake\" value=\"200\" class=\"qp-input\" onchange=\"manualUpdate()\">\n                            <\/div>\n                            <div style=\"flex:1;\">\n                                <label style=\"font-size:9px; color:#fff;\">Gap <<\/label>\n                                <input type=\"number\" id=\"qpAttGap\" value=\"20\" class=\"qp-input\" style=\"color:#00d2ff; border-color:#00d2ff;\" onchange=\"manualUpdate()\">\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div style=\"background:#151020; border:1px solid #bc4e9c; padding:10px; border-radius:10px;\">\n                        <div style=\"font-size:9px; color:#bc4e9c; font-weight:bold;\">DEFENSE ZONE (Recovery)<\/div>\n                        <div style=\"display:flex; gap:10px; margin-top:5px;\">\n                            <div style=\"flex:1;\">\n                                <label style=\"font-size:9px; color:#aaa;\">Stake<\/label>\n                                <input type=\"number\" id=\"qpDefStake\" value=\"50\" class=\"qp-input\" onchange=\"manualUpdate()\">\n                            <\/div>\n                            <div style=\"flex:1;\">\n                                <label style=\"font-size:9px; color:#fff;\">Gap <<\/label>\n                                <input type=\"number\" id=\"qpDefGap\" value=\"100\" class=\"qp-input\" style=\"color:#bc4e9c; border-color:#bc4e9c;\" onchange=\"manualUpdate()\">\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                <\/div>\n            <\/div>\n\n            <div id=\"qpBody\" style=\"flex:1; overflow-y:auto; padding:20px; display:none;\">\n                \n                <div style=\"background:#080808; padding:15px; border-radius:10px; border:1px dashed #444; margin-bottom:20px;\">\n                    <div style=\"font-size:10px; color:#666; margin-bottom:10px; text-transform:uppercase;\">Real P&L Proof (Based on History)<\/div>\n                    <div style=\"display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; text-align:center;\">\n                        \n                        <div>\n                            <div style=\"font-size:9px; color:#aaa;\">LAST YEAR<\/div>\n                            <div id=\"proofLastYear\" style=\"font-size:16px; font-weight:bold; color:#fff;\">--<\/div>\n                        <\/div>\n                        <div>\n                            <div style=\"font-size:9px; color:#aaa;\">CURRENT YEAR<\/div>\n                            <div id=\"proofCurrYear\" style=\"font-size:16px; font-weight:bold; color:#fff;\">--<\/div>\n                        <\/div>\n                        <div>\n                            <div style=\"font-size:9px; color:#aaa;\">ALL TIME ROI<\/div>\n                            <div id=\"proofROI\" style=\"font-size:16px; font-weight:bold; color:#ffd700;\">--<\/div>\n                        <\/div>\n\n                    <\/div>\n                <\/div>\n\n                <div style=\"display:flex; gap:15px; margin-bottom:20px;\">\n                    <div class=\"qp-card\">\n                        <div class=\"qp-label\">INVEST TODAY<\/div>\n                        <div id=\"qpTodayInvest\" class=\"qp-val\">\u20b90<\/div>\n                    <\/div>\n                    <div class=\"qp-card\" style=\"border-color:#00d2ff;\">\n                        <div class=\"qp-label\" style=\"color:#00d2ff;\">ATTACK PROFIT<\/div>\n                        <div id=\"qpTodayAttNet\" class=\"qp-val\">\u20b90<\/div>\n                    <\/div>\n                    <div class=\"qp-card\" style=\"border-color:#bc4e9c;\">\n                        <div class=\"qp-label\" style=\"color:#bc4e9c;\">DEFENSE PROFIT<\/div>\n                        <div id=\"qpTodayDefNet\" class=\"qp-val\">\u20b90<\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"margin-bottom:20px;\">\n                    <div style=\"display:flex; height:12px; border-radius:6px; overflow:hidden; background:#222;\">\n                        <div id=\"qpBarAtt\" style=\"width:0%; background:#00d2ff;\"><\/div>\n                        <div id=\"qpBarDef\" style=\"width:0%; background:#bc4e9c;\"><\/div>\n                    <\/div>\n                    <div style=\"display:flex; justify-content:space-between; font-size:10px; margin-top:5px; color:#aaa;\">\n                        <span id=\"qpTxtAtt\">Attack: 0<\/span>\n                        <span id=\"qpTxtDef\">Defense: 0<\/span>\n                        <span id=\"qpTxtTrash\">Trash: 0<\/span>\n                    <\/div>\n                <\/div>\n\n                <button onclick=\"generateQuantumParchi()\" style=\"width:100%; padding:15px; background:#00d2ff; color:#000; border:none; font-weight:bold; border-radius:8px; cursor:pointer; font-size:14px;\">\n                    \ud83d\udcdd GENERATE PARCHI\n                <\/button>\n                \n                <textarea id=\"qpOutput\" readonly style=\"width:100%; height:100px; background:#000; color:#00d2ff; border:1px solid #333; margin-top:15px; padding:10px; display:none; border-radius:8px; font-family:'Courier New', monospace;\"><\/textarea>\n\n            <\/div>\n        <\/div>\n        \n        <style>\n            .qp-input { width:100%; padding:8px; background:#1a1a25; border:1px solid #444; color:#fff; border-radius:4px; text-align:center; font-weight:bold; }\n            .qp-card { flex:1; background:#0e0e15; border:1px solid #333; padding:10px; border-radius:8px; text-align:center; }\n            .qp-label { font-size:9px; color:#aaa; font-weight:bold; margin-bottom:5px; }\n            .qp-val { font-size:20px; font-weight:bold; color:#fff; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('quantumModal')) document.getElementById('quantumModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ Initial Manual Calc (No Auto-Scan yet)\n    calculateTodayStats();\n}\n\nfunction manualUpdate() {\n    calculateTodayStats();\n}\n\n\/\/ --- \ud83e\udd16 REAL AI SCANNER (HEAVY LIFTING) ---\nfunction startQuantumScan() {\n    const btn = document.getElementById('btnQuantumScan');\n    const prog = document.getElementById('qpProgress');\n    const bar = document.getElementById('qpProgressBar');\n    \n    btn.disabled = true;\n    btn.innerHTML = \"\u23f3 CALCULATING...\";\n    prog.style.display = 'block';\n\n    \/\/ Use setTimeout to unfreeze UI\n    setTimeout(() => {\n        \/\/ 1. Define Search Space\n        \/\/ We will test combinations of AttackGap (10-30) and DefenseGap (60-140)\n        \/\/ This is a grid search.\n        const attOptions = [10, 15, 18, 20, 22, 25, 30];\n        const defOptions = [60, 80, 90, 100, 110, 120, 140];\n        \n        const timeline = window.logicChartMeta.timeline;\n        const dates = window.logicChartMeta.timelineDates;\n        const sAtt = parseInt(document.getElementById('qpAttStake').value) || 200;\n        const sDef = parseInt(document.getElementById('qpDefStake').value) || 50;\n\n        let best = { pnl: -Infinity, att: 20, def: 100 };\n        \n        \/\/ Scan Last 365 Days (or less if not available)\n        const scanDepth = Math.min(365, timeline.length);\n        const startIndex = timeline.length - scanDepth;\n        const scanData = timeline.slice(startIndex);\n        const scanDates = dates.slice(startIndex);\n\n        \/\/ Optimization: Pre-calculate LastSeen map for start index\n        let initialLastSeen = new Array(100).fill(-1);\n        for(let i=0; i<startIndex; i++) {\n            initialLastSeen[timeline[i]] = i;\n        }\n\n        \/\/ Loop Combinations\n        let totalCombos = attOptions.length * defOptions.length;\n        let counter = 0;\n\n        attOptions.forEach(aGap => {\n            defOptions.forEach(dGap => {\n                if(aGap >= dGap) return;\n\n                \/\/ Run Backtest for this combo\n                const pnl = runDetailedBacktest(scanData, scanDates, initialLastSeen, startIndex, aGap, dGap, sAtt, sDef);\n                \n                if(pnl > best.pnl) {\n                    best = { pnl: pnl, att: aGap, def: dGap };\n                }\n                counter++;\n            });\n        });\n\n        \/\/ 2. Apply Best Settings\n        document.getElementById('qpAttGap').value = best.att;\n        document.getElementById('qpDefGap').value = best.def;\n        \n        btn.innerHTML = `\u2705 FOUND BEST: Att < ${best.att}, Def < ${best.def}`;\n        btn.style.background = \"#00e676\";\n        btn.disabled = false;\n        prog.style.display = 'none';\n\n        \/\/ 3. Update Dashboard\n        calculateTodayStats();\n\n    }, 200);\n}\n\n\/\/ The Heavy Function: Calculates P&L for a specific setting over time\nfunction runDetailedBacktest(data, dates, initialLastSeen, startOffset, aGap, dGap, sAtt, sDef) {\n    let totalPnL = 0;\n    \n    \/\/ Clone LastSeen so we don't mess up other runs\n    let lastSeen = [...initialLastSeen];\n    \n    for(let i=0; i<data.length; i++) {\n        const result = data[i];\n        const globalIndex = startOffset + i;\n        \n        \/\/ Investment Logic for THIS day\n        let dailyInvest = 0;\n        let isWinAtt = false;\n        let isWinDef = false;\n\n        for(let n=0; n<100; n++) {\n            let lastIdx = lastSeen[n];\n            let gap = lastIdx === -1 ? 9999 : (globalIndex - 1 - lastIdx);\n            \n            if(gap <= aGap) {\n                dailyInvest += sAtt;\n                if(n === result) isWinAtt = true;\n            } else if (gap <= dGap) {\n                dailyInvest += sDef;\n                if(n === result) isWinDef = true;\n            }\n        }\n\n        let payout = 0;\n        if(isWinAtt) payout = sAtt * 90;\n        else if(isWinDef) payout = sDef * 90;\n\n        totalPnL += (payout - dailyInvest);\n\n        \/\/ Update History\n        lastSeen[result] = globalIndex;\n    }\n\n    return totalPnL;\n}\n\n\/\/ --- TODAY'S CALCULATION & AUDIT DISPLAY ---\nfunction calculateTodayStats() {\n    const timeline = window.logicChartMeta.timeline;\n    const dates = window.logicChartMeta.timelineDates;\n    const totalDraws = timeline.length;\n\n    const sAtt = parseInt(document.getElementById('qpAttStake').value) || 200;\n    const sDef = parseInt(document.getElementById('qpDefStake').value) || 50;\n    const gAtt = parseInt(document.getElementById('qpAttGap').value) || 20;\n    const gDef = parseInt(document.getElementById('qpDefGap').value) || 100;\n\n    \/\/ 1. Audit Full History with CURRENT Settings\n    const auditRes = runFullAudit(timeline, dates, gAtt, gDef, sAtt, sDef);\n    \n    const fmt = (n) => `\u20b9${(n\/1000).toFixed(1)}k`;\n    const col = (n) => n >= 0 ? '#00e676' : '#ff4444';\n\n    document.getElementById('proofLastYear').innerHTML = `<span style=\"color:${col(auditRes.lastYear)}\">${fmt(auditRes.lastYear)}<\/span>`;\n    document.getElementById('proofCurrYear').innerHTML = `<span style=\"color:${col(auditRes.currYear)}\">${fmt(auditRes.currYear)}<\/span>`;\n    document.getElementById('proofROI').innerText = `${auditRes.roi}%`;\n\n    \/\/ 2. Today's Game Plan\n    const lastPos = {};\n    timeline.forEach((n, idx) => lastPos[n] = idx);\n\n    quantumState.data = { attack: [], defense: [], trash: [] };\n    let todayInvest = 0;\n\n    for(let i=0; i<100; i++) {\n        const gap = lastPos[i] !== undefined ? totalDraws - 1 - lastPos[i] : 9999;\n        \n        if(gap <= gAtt) {\n            quantumState.data.attack.push({ n: i, s: sAtt });\n            todayInvest += sAtt;\n        } else if (gap <= gDef) {\n            quantumState.data.defense.push({ n: i, s: sDef });\n            todayInvest += sDef;\n        } else {\n            quantumState.data.trash.push(i);\n        }\n    }\n\n    \/\/ Financial Projections\n    const netAtt = (sAtt * 90) - todayInvest;\n    const netDef = (sDef * 90) - todayInvest;\n\n    document.getElementById('qpBody').style.display = 'block';\n    document.getElementById('qpTodayInvest').innerText = `\u20b9${todayInvest.toLocaleString()}`;\n    \n    const elA = document.getElementById('qpTodayAttNet');\n    elA.innerText = `${netAtt>=0?'+':''}\u20b9${netAtt.toLocaleString()}`;\n    elA.style.color = netAtt>=0 ? '#00d2ff' : '#ff4444';\n\n    const elD = document.getElementById('qpTodayDefNet');\n    elD.innerText = `${netDef>=0?'+':''}\u20b9${netDef.toLocaleString()}`;\n    elD.style.color = netDef>=0 ? '#bc4e9c' : '#ff4444';\n\n    \/\/ Bars\n    const cA = quantumState.data.attack.length;\n    const cD = quantumState.data.defense.length;\n    const cT = quantumState.data.trash.length;\n\n    document.getElementById('qpBarAtt').style.width = `${cA}%`;\n    document.getElementById('qpBarDef').style.width = `${cD}%`;\n\n    document.getElementById('qpTxtAtt').innerText = `Attack: ${cA}`;\n    document.getElementById('qpTxtDef').innerText = `Defense: ${cD}`;\n    document.getElementById('qpTxtTrash').innerText = `Trash: ${cT}`;\n}\n\nfunction runFullAudit(data, dates, gA, gD, sA, sD) {\n    let stats = { lastYear: 0, currYear: 0, totalInv: 0, totalRet: 0 };\n    const curY = new Date().getFullYear();\n    const lastY = curY - 1;\n    let lastSeen = new Array(100).fill(-1);\n\n    for (let i = 0; i < data.length; i++) {\n        const result = data[i];\n        const date = dates[i];\n        let dailyInvest = 0;\n        let isWinAtt = false;\n        let isWinDef = false;\n\n        for (let n = 0; n < 100; n++) {\n            let lastIdx = lastSeen[n];\n            let gap = lastIdx === -1 ? 9999 : (i - 1 - lastIdx);\n            if (gap <= gA) {\n                dailyInvest += sA;\n                if (n === result) isWinAtt = true;\n            } else if (gap <= gD) {\n                dailyInvest += sD;\n                if (n === result) isWinDef = true;\n            }\n        }\n\n        let payout = isWinAtt ? (sA * 90) : (isWinDef ? (sD * 90) : 0);\n        let dailyPnl = payout - dailyInvest;\n\n        if (date && date.year === lastY) stats.lastYear += dailyPnl;\n        if (date && date.year === curY) stats.currYear += dailyPnl;\n        stats.totalInv += dailyInvest;\n        stats.totalRet += payout;\n        lastSeen[result] = i;\n    }\n    stats.roi = stats.totalInv > 0 ? ((stats.totalRet - stats.totalInv) \/ stats.totalInv * 100).toFixed(1) : 0;\n    return stats;\n}\n\nfunction generateQuantumParchi() {\n    let lines = [];\n    if(quantumState.data.attack.length) \n        lines.push(`ATTACK (${quantumState.data.attack[0].s}): ` + quantumState.data.attack.map(x=>x.n.toString().padStart(2,'0')).join(','));\n    \n    if(quantumState.data.defense.length) \n        lines.push(`DEFENSE (${quantumState.data.defense[0].s}): ` + quantumState.data.defense.map(x=>x.n.toString().padStart(2,'0')).join(','));\n\n    const txt = document.getElementById('qpOutput');\n    txt.style.display = 'block';\n    txt.value = lines.join('\\n\\n');\n}\n\n\/\/ ====================================================\n\/\/ \ud83c\udf21\ufe0f THERMAL VISION (MARKET HEATMAP)\n\/\/ ====================================================\n\nfunction logicThermalVisionInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 50) {\n        alert(\"\u274c Need history to generate Heatmap.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"thermalModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(5, 0, 0, 0.98); z-index:15500; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:700px; background:#1a0505; border:2px solid #ff4d4d; border-radius:20px; box-shadow:0 0 60px rgba(255, 0, 0, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #500000, #ff0000); padding:15px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #ff9999;\">\n                <div style=\"display:flex; align-items:center; gap:12px;\">\n                    <span style=\"font-size:24px;\">\ud83c\udf21\ufe0f<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#fff; font-weight:900; letter-spacing:1px;\">THERMAL VISION<\/h2>\n                        <div style=\"font-size:10px; color:#ffcccc;\">00-99 MARKET HEATMAP SCANNER<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('thermalModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; background:#100000; border-bottom:1px solid #333; display:flex; gap:10px; align-items:center; justify-content:center;\">\n                <div style=\"font-size:11px; color:#aaa;\">SCAN RANGE:<\/div>\n                <select id=\"tvRange\" onchange=\"renderHeatmap()\" style=\"padding:5px; background:#330000; color:#fff; border:1px solid #ff4d4d; border-radius:5px;\">\n                    <option value=\"30\">Last 30 Days (Short Term)<\/option>\n                    <option value=\"100\" selected>Last 100 Days (Mid Term)<\/option>\n                    <option value=\"365\">Last 365 Days (Long Term)<\/option>\n                <\/select>\n                <div style=\"font-size:11px; color:#aaa; margin-left:10px;\">VIEW:<\/div>\n                <select id=\"tvView\" onchange=\"renderHeatmap()\" style=\"padding:5px; background:#001a33; color:#fff; border:1px solid #00aaff; border-radius:5px;\">\n                    <option value=\"FREQ\">Frequency (Most Played)<\/option>\n                    <option value=\"RECENCY\">Recency (Just Opened)<\/option>\n                <\/select>\n            <\/div>\n\n            <div id=\"tvBody\" style=\"flex:1; overflow-y:auto; padding:15px; display:flex; flex-direction:column; align-items:center;\">\n                \n                <div style=\"display:flex; gap:15px; margin-bottom:15px; font-size:10px; color:#ccc;\">\n                    <div style=\"display:flex; align-items:center; gap:5px;\"><div style=\"width:10px; height:10px; background:#ff0000; box-shadow:0 0 5px red;\"><\/div> SUPER HOT<\/div>\n                    <div style=\"display:flex; align-items:center; gap:5px;\"><div style=\"width:10px; height:10px; background:#ff8800;\"><\/div> WARM<\/div>\n                    <div style=\"display:flex; align-items:center; gap:5px;\"><div style=\"width:10px; height:10px; background:#004488;\"><\/div> COLD<\/div>\n                    <div style=\"display:flex; align-items:center; gap:5px;\"><div style=\"width:10px; height:10px; background:#111; border:1px solid #333;\"><\/div> DEAD<\/div>\n                <\/div>\n\n                <div id=\"tvGrid\" style=\"display:grid; grid-template-columns:repeat(10, 1fr); gap:4px; width:100%; max-width:500px; aspect-ratio:1;\">\n                    <\/div>\n\n                <div style=\"width:100%; max-width:500px; margin-top:20px; background:#0a0a0a; border:1px solid #333; padding:15px; border-radius:10px;\">\n                    <div style=\"font-size:10px; color:#ff4d4d; font-weight:bold; margin-bottom:5px;\">AI ZONE ANALYSIS<\/div>\n                    <div id=\"tvInsight\" style=\"font-size:12px; color:#fff; line-height:1.4;\">\n                        --\n                    <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('thermalModal')) document.getElementById('thermalModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ Initial Render\n    renderHeatmap();\n}\n\nfunction renderHeatmap() {\n    const timeline = window.logicChartMeta.timeline;\n    const range = parseInt(document.getElementById('tvRange').value);\n    const viewType = document.getElementById('tvView').value;\n\n    \/\/ Slice Data\n    const data = timeline.slice(Math.max(0, timeline.length - range));\n    \n    \/\/ 1. Calculate Stats\n    let stats = new Array(100).fill(0);\n    let maxVal = 0;\n\n    if(viewType === 'FREQ') {\n        \/\/ Count Occurrences\n        data.forEach(n => stats[n]++);\n        maxVal = Math.max(...stats);\n    } else {\n        \/\/ Recency Score (Higher = More Recent)\n        \/\/ We assign points based on index. Last item = max points.\n        data.forEach((n, idx) => {\n            \/\/ Linear weight: recent numbers get higher score\n            \/\/ We sum scores because a number might appear multiple times recently\n            let score = (idx \/ data.length) * 10; \n            stats[n] += score;\n        });\n        maxVal = Math.max(...stats);\n    }\n\n    \/\/ 2. Render Grid\n    let html = \"\";\n    let hotZoneCount = 0;\n    let coldZoneCount = 0;\n\n    for(let i=0; i<100; i++) {\n        const val = stats[i];\n        const intensity = maxVal > 0 ? val \/ maxVal : 0; \/\/ 0.0 to 1.0\n\n        let bg = \"#111\";\n        let txtCol = \"#555\";\n        let shadow = \"none\";\n        let border = \"1px solid #222\";\n        \n        \/\/ Color Logic (Heatmap Gradient)\n        if(intensity > 0.8) {\n            bg = \"#ff0000\"; txtCol = \"#fff\"; shadow = \"0 0 10px rgba(255,0,0,0.8)\"; border=\"none\"; hotZoneCount++;\n        } else if (intensity > 0.6) {\n            bg = \"#ff5500\"; txtCol = \"#fff\"; border=\"none\";\n        } else if (intensity > 0.4) {\n            bg = \"#ffaa00\"; txtCol = \"#000\"; border=\"none\";\n        } else if (intensity > 0.2) {\n            bg = \"#004488\"; txtCol = \"#aaa\"; border=\"1px solid #0066cc\";\n        } else {\n            coldZoneCount++;\n        }\n\n        if(val === 0) {\n            bg = \"#050505\"; txtCol = \"#333\"; \/\/ Truly Dead\n        }\n\n        html += `\n            <div style=\"background:${bg}; color:${txtCol}; box-shadow:${shadow}; border:${border}; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:bold; border-radius:4px; cursor:default;\" title=\"Num: ${i}, Score: ${val.toFixed(1)}\">\n                ${i.toString().padStart(2,'0')}\n            <\/div>\n        `;\n    }\n\n    document.getElementById('tvGrid').innerHTML = html;\n\n    \/\/ 3. Generate Insight\n    let msg = \"\";\n    if(viewType === 'FREQ') {\n        msg = `Market is currently focusing on <b>${hotZoneCount} specific numbers<\/b> (Red Zone). <br>\n               Avoid the <b>${coldZoneCount} cold numbers<\/b> (Dark Zone) as they are dormant in this period.`;\n    } else {\n        msg = `Recency view shows which numbers are actively rotating. <br>\n               <b>Red Blocks<\/b> are currently dominating the chart flow.`;\n    }\n    document.getElementById('tvInsight').innerHTML = msg;\n}\n\n\n        \/\/ ====================================================\n\/\/ \ud83c\udf9b\ufe0f STRATEGY OPTIMIZER (GOLDEN RULE FINDER)\n\/\/ ====================================================\n\nfunction logicStrategyOptimizerInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 200) {\n        alert(\"\u274c Need deep history (200+ draws) to optimize strategy.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"optModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10, 10, 15, 0.98); z-index:11800; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:95%; max-width:800px; background:#0a0a0a; border:2px solid #FFD700; border-radius:20px; box-shadow:0 0 60px rgba(255, 215, 0, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(to right, #B8860B, #FFD700); padding:15px; display:flex; justify-content:space-between; align-items:center; color:#000;\">\n                <div>\n                    <h2 style=\"margin:0; font-size:20px; font-weight:900;\">\ud83c\udf9b\ufe0f STRATEGY OPTIMIZER<\/h2>\n                    <div style=\"font-size:11px; font-weight:bold;\">FINDING THE PROFITABLE FORMULA<\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('optModal').remove()\" style=\"background:none; border:none; color:#000; font-size:24px; cursor:pointer; font-weight:bold;\">\u2715<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; background:#111; border-bottom:1px solid #333;\">\n                <div style=\"font-size:12px; color:#aaa; margin-bottom:10px;\">CONFIGURE SIMULATION:<\/div>\n                <div style=\"display:flex; gap:10px; flex-wrap:wrap;\">\n                    \n                    <div style=\"flex:1; min-width:120px;\">\n                        <label style=\"color:#FFD700; font-size:10px; font-weight:bold;\">STAKE (\u20b9)<\/label>\n                        <input type=\"number\" id=\"optStake\" value=\"100\" style=\"width:100%; padding:8px; background:#000; border:1px solid #555; color:#fff; border-radius:5px; text-align:center;\">\n                    <\/div>\n                    \n                    <div style=\"flex:1; min-width:120px;\">\n                         <label style=\"color:#FFD700; font-size:10px; font-weight:bold;\">COMMISSION (%)<\/label>\n                        <input type=\"number\" id=\"optComm\" value=\"10\" style=\"width:100%; padding:8px; background:#000; border:1px solid #555; color:#fff; border-radius:5px; text-align:center;\">\n                    <\/div>\n\n                    <div style=\"flex:1; min-width:150px;\">\n                        <button onclick=\"runOptimizer()\" style=\"width:100%; height:100%; background:#FFD700; color:#000; border:none; font-weight:bold; border-radius:6px; cursor:pointer; margin-top:14px; box-shadow:0 0 15px rgba(255, 215, 0, 0.4);\">\n                            \ud83d\ude80 FIND BEST SETTINGS\n                        <\/button>\n                    <\/div>\n\n                <\/div>\n            <\/div>\n\n            <div id=\"optBody\" style=\"flex:1; overflow-y:auto; padding:20px;\">\n                \n                <div id=\"optLoading\" style=\"text-align:center; padding:50px; display:none;\">\n                    <div style=\"font-size:40px; animation:spin 1s infinite;\">\u2699\ufe0f<\/div>\n                    <div style=\"color:#FFD700; margin-top:15px;\">Simulating 50+ Strategies...<br>Please wait...<\/div>\n                <\/div>\n\n                <div id=\"optResult\" style=\"display:none;\">\n                    <div style=\"background:linear-gradient(135deg, #1a1200, #332200); border:2px solid #00e676; border-radius:10px; padding:20px; text-align:center; margin-bottom:20px; position:relative;\">\n                        <div style=\"position:absolute; top:-10px; left:50%; transform:translateX(-50%); background:#00e676; color:#000; padding:2px 10px; border-radius:4px; font-size:10px; font-weight:bold;\">\ud83c\udfc6 BEST PROFITABLE STRATEGY<\/div>\n                        \n                        <div style=\"font-size:12px; color:#aaa; margin-top:5px;\">OPTIMAL CUT LIMIT<\/div>\n                        <div id=\"bestLimitVal\" style=\"font-size:36px; font-weight:900; color:#fff;\">-- Days<\/div>\n                        \n                        <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:15px; border-top:1px dashed #555; padding-top:10px;\">\n                            <div>\n                                <div style=\"font-size:10px; color:#aaa;\">NET PROFIT<\/div>\n                                <div id=\"bestProfitVal\" style=\"font-size:20px; font-weight:bold; color:#00e676;\">\u20b90<\/div>\n                            <\/div>\n                            <div>\n                                <div style=\"font-size:10px; color:#aaa;\">ROI (Return)<\/div>\n                                <div id=\"bestRoiVal\" style=\"font-size:20px; font-weight:bold; color:#FFD700;\">0%<\/div>\n                            <\/div>\n                        <\/div>\n                        \n                        <div id=\"bestAdvice\" style=\"margin-top:10px; font-size:11px; color:#ccc; font-style:italic;\"><\/div>\n                    <\/div>\n\n                    <div style=\"background:#111; border-radius:10px; overflow:hidden;\">\n                        <div style=\"padding:10px; background:#222; font-size:12px; font-weight:bold; color:#aaa;\">STRATEGY COMPARISON (Last 1 Year)<\/div>\n                        <table style=\"width:100%; font-size:12px; text-align:center; border-collapse:collapse;\">\n                            <tr style=\"background:#000; color:#FFD700;\">\n                                <th style=\"padding:8px;\">Cut Limit<\/th>\n                                <th>Win Rate<\/th>\n                                <th>Profit\/Loss<\/th>\n                                <th>Action<\/th>\n                            <\/tr>\n                            <tbody id=\"optTableBody\"><\/tbody>\n                        <\/table>\n                    <\/div>\n\n                    <button id=\"btnApplyStrat\" onclick=\"applyStrategy()\" style=\"width:100%; margin-top:20px; padding:15px; background:#00e676; color:#000; border:none; font-weight:bold; border-radius:8px; cursor:pointer; font-size:16px;\">\n                        \u2705 USE THIS STRATEGY NOW\n                    <\/button>\n\n                <\/div>\n            <\/div>\n\n        <\/div>\n        <style>@keyframes spin { 100% { transform:rotate(360deg); } }<\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('optModal')) document.getElementById('optModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ Auto Run\n    runOptimizer();\n}\n\nfunction runOptimizer() {\n    document.getElementById('optResult').style.display = 'none';\n    document.getElementById('optLoading').style.display = 'block';\n\n    setTimeout(() => {\n        performOptimization();\n        document.getElementById('optLoading').style.display = 'none';\n        document.getElementById('optResult').style.display = 'block';\n    }, 500);\n}\n\n\/\/ \ud83e\udde0 THE BRAIN: SIMULATE MULTIPLE LIMITS\nfunction performOptimization() {\n    const timeline = window.logicChartMeta.timeline;\n    const stake = parseInt(document.getElementById('optStake').value) || 100;\n    const commPct = parseFloat(document.getElementById('optComm').value) || 0;\n    \n    \/\/ We will test limits from 30 days to 300 days in steps of 10\n    \/\/ And see which one generated the most profit in the LAST 365 DRAWS\n    const testLimits = [];\n    for(let i=30; i<=300; i+=10) testLimits.push(i);\n    \n    \/\/ Limit timeline to last 365 + buffer (for gap calculation)\n    \/\/ Assume we need at least 300 days prior to calculate gap accurately\n    const scanStartIdx = Math.max(300, timeline.length - 365); \n    const scanEndIdx = timeline.length;\n    \n    let results = [];\n\n    \/\/ Loop through each strategy limit\n    testLimits.forEach(limit => {\n        let stats = { invest: 0, return: 0, wins: 0, games: 0 };\n        let lastSeenMap = new Array(100).fill(-1);\n\n        \/\/ Pre-fill lastSeenMap up to scanStartIdx\n        for(let i=0; i<scanStartIdx; i++) {\n            lastSeenMap[timeline[i]] = i;\n        }\n\n        \/\/ Run Simulation for this Limit\n        for(let i=scanStartIdx; i<scanEndIdx; i++) {\n            const actualResult = timeline[i];\n            \n            let activeCount = 0;\n            let isWin = false;\n\n            \/\/ Strategy Decision (Before Result)\n            for(let num=0; num<100; num++) {\n                const lastIdx = lastSeenMap[num];\n                const gap = lastIdx === -1 ? 9999 : (i - 1 - lastIdx);\n                \n                if(gap <= limit) {\n                    activeCount++; \/\/ We play this number\n                    if(num === actualResult) isWin = true;\n                }\n            }\n\n            \/\/ Financials\n            const gross = activeCount * stake;\n            const netInvest = gross - (gross * commPct \/ 100);\n            const payout = isWin ? (stake * 90) : 0; \/\/ Standard 90x\n\n            stats.invest += netInvest;\n            stats.return += payout;\n            stats.games++;\n            if(isWin) stats.wins++;\n\n            \/\/ Update History\n            lastSeenMap[actualResult] = i;\n        }\n\n        const netProfit = stats.return - stats.invest;\n        const roi = stats.invest > 0 ? (netProfit \/ stats.invest) * 100 : 0;\n        const winRate = (stats.wins \/ stats.games) * 100;\n\n        results.push({ limit: limit, pnl: netProfit, roi: roi, winRate: winRate });\n    });\n\n    \/\/ Find Best Strategy (Max Profit)\n    results.sort((a,b) => b.pnl - a.pnl);\n    const best = results[0];\n\n    \/\/ --- RENDER ---\n    document.getElementById('bestLimitVal').innerText = `${best.limit} Days`;\n    document.getElementById('bestProfitVal').innerText = `\u20b9${Math.round(best.pnl).toLocaleString()}`;\n    document.getElementById('bestRoiVal').innerText = `${best.roi.toFixed(1)}%`;\n    \n    \/\/ Dynamic Advice\n    let advice = \"\";\n    if(best.pnl > 0) {\n        advice = `\ud83d\udca1 <strong>Success!<\/strong> Market trend shows that cutting numbers absent for > <strong>${best.limit} days<\/strong> maximizes profit. Don't cut too early!`;\n    } else {\n        advice = `\u26a0\ufe0f <strong>Warning:<\/strong> Market is very volatile. Even the best strategy showed a loss. Consider reducing stake or increasing Cut Limit significantly.`;\n    }\n    document.getElementById('bestAdvice').innerHTML = advice;\n\n    \/\/ Table Rows (Show Top 5 + Worst 1)\n    let tableHTML = \"\";\n    const displaySet = results.slice(0, 5);\n    \n    displaySet.forEach((r, idx) => {\n        const col = r.pnl >= 0 ? '#00e676' : '#ff5252';\n        tableHTML += `\n            <tr style=\"border-bottom:1px solid #222; ${idx===0?'background:#1a1200; font-weight:bold;':''}\">\n                <td style=\"padding:8px; color:#fff;\">> ${r.limit} Days<\/td>\n                <td style=\"color:#aaa;\">${r.winRate.toFixed(0)}%<\/td>\n                <td style=\"color:${col};\">\u20b9${Math.round(r.pnl).toLocaleString()}<\/td>\n                <td>${idx===0 ? '\ud83d\udc51' : ''}<\/td>\n            <\/tr>\n        `;\n    });\n\n    document.getElementById('optTableBody').innerHTML = tableHTML;\n    \n    \/\/ Store best limit for applying\n    window.optimizedLimit = best.limit;\n}\n\nfunction applyStrategy() {\n    if(!window.optimizedLimit) return;\n    \n    \/\/ Remove Optimizer Modal\n    document.getElementById('optModal').remove();\n    \n    \/\/ Open Smart Khaiwal PRO with optimized settings\n    \/\/ Pass params via Global or URL? Global is easier.\n    \/\/ We will set input values after modal opens.\n    \n    \/\/ Call the Pro Init function\n    logicSmartKhaiwalProInit();\n    \n    \/\/ Wait for modal to render then inject values\n    setTimeout(() => {\n        const limitInput = document.getElementById('skpLimit');\n        const stakeInput = document.getElementById('skpStake'); \/\/ Preserve stake\n        \n        if(limitInput) {\n            limitInput.value = window.optimizedLimit;\n            \/\/ Highlight it to show it was updated\n            limitInput.style.border = \"2px solid #00e676\";\n            limitInput.style.color = \"#00e676\";\n            \n            \/\/ Auto Run Audit with new settings\n            if(typeof runKhaiwalAudit === 'function') {\n                runKhaiwalAudit();\n            }\n        }\n    }, 500);\n    \n    alert(`\u2705 Strategy Applied! Cut Limit set to ${window.optimizedLimit} Days.`);\n}\n\n\/\/ ====================================================\n\/\/ \ud83e\uddf2 GRAVITY PULL (STATISTICAL PRESSURE GAUGE)\n\/\/ ====================================================\n\nfunction logicGravityPullInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 100) {\n        alert(\"\u274c Need deep history (100+ draws) to calculate statistical averages.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"gravityModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10, 5, 20, 0.96); z-index:11000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:95%; max-width:650px; background:#120524; border:2px solid #ed1e79; border-radius:20px; box-shadow:0 0 60px rgba(237, 30, 121, 0.3); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(to right, #662d8c, #ed1e79); padding:15px; text-align:center; position:relative;\">\n                <h2 style=\"margin:0; font-size:24px; color:#fff; letter-spacing:2px; font-weight:900;\">\ud83e\uddf2 GRAVITY PULL<\/h2>\n                <div style=\"font-size:10px; color:#ffccff; opacity:0.8;\">STATISTICAL PRESSURE ANALYSIS<\/div>\n                <button onclick=\"document.getElementById('gravityModal').remove()\" style=\"position:absolute; top:15px; right:15px; background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; text-align:center; border-bottom:1px solid #333;\">\n                <div style=\"font-size:12px; color:#ed1e79; margin-bottom:10px;\">SYSTEM STATUS<\/div>\n                <button onclick=\"runGravityEngine()\" style=\"padding:10px 30px; background:#fff; color:#ed1e79; border:none; font-weight:bold; border-radius:30px; font-size:16px; cursor:pointer; box-shadow:0 0 20px rgba(255,255,255,0.2); transition:transform 0.2s;\">\n                    \ud83d\ude80 CALCULATE G-FORCE\n                <\/button>\n                <div style=\"margin-top:10px; font-size:10px; color:#666;\">Scans Gap vs Average Gap ratio for all 100 numbers.<\/div>\n            <\/div>\n\n            <div id=\"gravityOutput\" style=\"flex:1; overflow-y:auto; padding:20px; display:none;\">\n                <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('gravityModal')) document.getElementById('gravityModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runGravityEngine() {\n    const timeline = window.logicChartMeta.timeline;\n    const totalDraws = timeline.length;\n    \n    \/\/ 1. MAP POSITIONS (Sabhi numbers ki history nikalo)\n    const positions = {};\n    timeline.forEach((n, idx) => {\n        if (!positions[n]) positions[n] = [];\n        positions[n].push(idx);\n    });\n\n    let gravityReport = [];\n\n    \/\/ 2. PHYSICS ENGINE (Calculation Loop)\n    for(let i=0; i<100; i++) {\n        const num = i;\n        const posArr = positions[num] || [];\n        \n        \/\/ Agar number kabhi nahi aaya ya data kam hai, to skip karo (Dead Number)\n        if(posArr.length < 3) continue; \n\n        \/\/ A. Current Gap (Abhi kitne din se gayab hai)\n        const lastIndex = posArr[posArr.length - 1];\n        const currentGap = totalDraws - 1 - lastIndex;\n\n        \/\/ B. Average Gap (History me usually kitne din me aata hai)\n        let gapSum = 0;\n        \/\/ Start from index 1 to calculate diff between appearances\n        for(let k=1; k<posArr.length; k++) {\n            gapSum += (posArr[k] - posArr[k-1]);\n        }\n        \/\/ Include gap from start to first appearance\n        gapSum += posArr[0];\n        \n        \/\/ Avg Gap formula\n        const avgGap = Math.round(gapSum \/ posArr.length);\n\n        \/\/ C. G-FORCE SCORE (The Ratio)\n        \/\/ Ratio = Current Gap \/ Average Gap\n        \/\/ Example: If Avg=10, Current=30, Ratio=3.0 (Pressure is 3x normal)\n        const gRatio = parseFloat((currentGap \/ avgGap).toFixed(2));\n\n        \/\/ Only interested if pressure is building up (Ratio > 1.5)\n        if(gRatio > 1.2) {\n            gravityReport.push({\n                n: num,\n                nStr: num.toString().padStart(2,'0'),\n                cur: currentGap,\n                avg: avgGap,\n                force: gRatio\n            });\n        }\n    }\n\n    \/\/ 3. SORT BY FORCE (Highest Pressure First)\n    gravityReport.sort((a,b) => b.force - a.force);\n\n    \/\/ Top 8 Candidates\n    const topGravity = gravityReport.slice(0, 8);\n    const copyStr = topGravity.map(x=>x.nStr).join(',');\n\n    \/\/ 4. GENERATE UI\n    const outputDiv = document.getElementById('gravityOutput');\n    outputDiv.style.display = 'block';\n\n    let html = `\n        <div style=\"display:grid; gap:10px;\">\n            <div style=\"display:flex; justify-content:space-between; color:#aaa; font-size:10px; padding:0 10px;\">\n                <span>NUMBER<\/span>\n                <span>STATUS (Gap vs Avg)<\/span>\n                <span>G-FORCE<\/span>\n            <\/div>\n    `;\n\n    topGravity.forEach(item => {\n        \/\/ Visual Bar Logic\n        let barColor = '#00e676';\n        let status = 'BUILDING';\n        let width = Math.min(item.force * 20, 100); \/\/ Scale for CSS width\n\n        if(item.force > 3.0) { barColor = '#ff0033'; status = '\ud83d\udea8 CRITICAL (BLAST SOON)'; }\n        else if(item.force > 2.0) { barColor = '#ff9900'; status = '\u26a0\ufe0f HIGH TENSION'; }\n        else { barColor = '#00e676'; status = '\u26a1 CHARGING'; }\n\n        html += `\n            <div style=\"background:#1a0b2e; border:1px solid ${barColor}; border-radius:10px; padding:10px; position:relative; overflow:hidden;\">\n                <div style=\"position:absolute; top:0; left:0; height:100%; width:${width}%; background:${barColor}; opacity:0.1;\"><\/div>\n                \n                <div style=\"display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2;\">\n                    <div style=\"display:flex; align-items:center; gap:15px;\">\n                        <div style=\"font-size:24px; font-weight:900; color:#fff; width:40px;\">${item.nStr}<\/div>\n                        <div style=\"display:flex; flex-direction:column;\">\n                            <span style=\"font-size:10px; color:${barColor}; font-weight:bold;\">${status}<\/span>\n                            <span style=\"font-size:11px; color:#ccc;\">Current: <b>${item.cur}<\/b> days \/ Avg: ${item.avg} days<\/span>\n                        <\/div>\n                    <\/div>\n                    <div style=\"text-align:right;\">\n                        <div style=\"font-size:18px; font-weight:bold; color:#fff;\">${item.force}x<\/div>\n                        <div style=\"font-size:9px; color:#aaa;\">PRESSURE<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        `;\n    });\n\n    html += `<\/div>\n        \n        <div style=\"margin-top:20px; background:#000; padding:15px; border-radius:10px; text-align:center; border:1px dashed #ed1e79;\">\n            <div style=\"font-size:12px; color:#ffccff; margin-bottom:10px;\">\n                \ud83d\udd25 TOP GRAVITY ZONE (${topGravity.length} Jodi)\n            <\/div>\n            <div style=\"font-family:monospace; font-size:16px; color:#fff; letter-spacing:3px; word-spacing:5px;\">\n                ${topGravity.map(x=>x.nStr).join(' ')}\n            <\/div>\n            <button onclick=\"copyGravityData('${copyStr}')\" \n                style=\"width:100%; margin-top:15px; padding:12px; background:linear-gradient(to right, #ed1e79, #662d8c); color:#fff; border:none; font-weight:bold; border-radius:6px; cursor:pointer;\">\n                \ud83d\udccb COPY G-FORCE NUMBERS\n            <\/button>\n        <\/div>\n    `;\n\n    outputDiv.innerHTML = html;\n\n    \/\/ 5. HIGHLIGHT CHART\n    logicChartClearHighlights();\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    const targetNums = topGravity.map(x=>x.n);\n    \n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if(targetNums.includes(val)) {\n            td.style.backgroundColor = '#4a004a'; \/\/ Deep Purple\n            td.style.color = '#fff';\n            td.style.border = '1px solid #ed1e79';\n            td.style.boxShadow = '0 0 10px #ed1e79';\n            td.style.fontWeight = 'bold';\n        }\n    });\n}\n\nfunction copyGravityData(str) {\n    navigator.clipboard.writeText(str);\n    alert(\"\ud83e\uddf2 Gravity Numbers Copied!\");\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udcca AI PROBABILITY MAX (WEIGHTED SCORING ENGINE)\n\/\/ ====================================================\n\nfunction logicAIProbabilityInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 50) {\n        alert(\"\u274c Insufficient data for AI Analysis. Need at least 50 records.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"aiModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0, 5, 10, 0.96); z-index:11100; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:95%; max-width:650px; background:#000a12; border:2px solid #00e676; border-radius:15px; box-shadow:0 0 40px rgba(0, 230, 118, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:90vh;\">\n            \n            <div style=\"background:linear-gradient(to right, #000428, #004e92); padding:20px; text-align:center; border-bottom:1px solid #00e676;\">\n                <h2 style=\"margin:0; font-size:24px; color:#fff; letter-spacing:2px; font-weight:900;\">\ud83d\udcca AI PROBABILITY MAX<\/h2>\n                <div style=\"font-size:10px; color:#00e676; margin-top:5px;\">ALGORITHMIC PREDICTION ENGINE<\/div>\n                <button onclick=\"document.getElementById('aiModal').remove()\" style=\"position:absolute; top:15px; right:15px; background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; text-align:center; background:#00111a; border-bottom:1px solid #333;\">\n                <button onclick=\"runAIEngine()\" style=\"padding:12px 30px; background:#00e676; color:#000; border:none; font-weight:bold; border-radius:30px; font-size:16px; cursor:pointer; box-shadow:0 0 20px rgba(0, 230, 118, 0.4); transition:transform 0.2s;\">\n                    \u26a1 RUN CALCULATION\n                <\/button>\n                <div style=\"margin-top:10px; font-size:10px; color:#aaa;\">Analyzes Frequency (60%) + Recency (40%) to generate Score.<\/div>\n            <\/div>\n\n            <div id=\"aiOutput\" style=\"flex:1; overflow-y:auto; padding:20px; display:none;\">\n                <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('aiModal')) document.getElementById('aiModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runAIEngine() {\n    const timeline = window.logicChartMeta.timeline;\n    const totalDraws = timeline.length;\n    \n    \/\/ --- 1. DATA GATHERING ---\n    const frequencyMap = {};\n    const lastIndexMap = {}; \/\/ To track recency\n\n    timeline.forEach((n, idx) => {\n        \/\/ Frequency Count\n        frequencyMap[n] = (frequencyMap[n] || 0) + 1;\n        \/\/ Last Index (Higher is newer)\n        lastIndexMap[n] = idx;\n    });\n\n    let aiReport = [];\n    \n    \/\/ Find Max Frequency for Normalization (0 to 1)\n    const maxFreq = Math.max(...Object.values(frequencyMap));\n\n    \/\/ --- 2. THE ALGORITHM (00-99) ---\n    for(let i=0; i<100; i++) {\n        const num = i;\n        const nStr = num.toString().padStart(2,'0');\n        \n        \/\/ A. Frequency Score (Normalized 0-100)\n        const freq = frequencyMap[num] || 0;\n        const freqScore = (freq \/ maxFreq) * 100;\n\n        \/\/ B. Recency Score (Normalized 0-100)\n        \/\/ Agar number kabhi nahi aaya, to Recency 0\n        let recencyScore = 0;\n        if(lastIndexMap[num] !== undefined) {\n            \/\/ (CurrentIndex \/ TotalIndex) * 100 -> Newer numbers get higher score\n            recencyScore = (lastIndexMap[num] \/ (totalDraws - 1)) * 100;\n        }\n\n        \/\/ C. FINAL WEIGHTED SCORE\n        \/\/ We give 60% weight to Frequency (Jo bar bar aata hai)\n        \/\/ We give 40% weight to Recency (Jo abhi trend me hai)\n        const finalScore = (freqScore * 0.6) + (recencyScore * 0.4);\n\n        if(finalScore > 0) {\n            aiReport.push({\n                n: num,\n                nStr: nStr,\n                score: parseFloat(finalScore.toFixed(1)),\n                freq: freq\n            });\n        }\n    }\n\n    \/\/ Sort by Score (High to Low)\n    aiReport.sort((a,b) => b.score - a.score);\n\n    \/\/ Top 10 Picks\n    const topPicks = aiReport.slice(0, 10);\n    const copyStr = topPicks.map(x=>x.nStr).join(',');\n\n    \/\/ --- 3. GENERATE UI ---\n    const outputDiv = document.getElementById('aiOutput');\n    outputDiv.style.display = 'block';\n\n    let html = `\n        <div style=\"font-size:12px; color:#fff; margin-bottom:15px; display:flex; justify-content:space-between;\">\n            <span>RANKING<\/span>\n            <span>PROBABILITY SCORE (0-100)<\/span>\n        <\/div>\n        <div style=\"display:grid; gap:8px;\">\n    `;\n\n    topPicks.forEach((item, index) => {\n        \/\/ Color Coding based on Rank\n        let rankColor = index < 3 ? '#00e676' : (index < 6 ? '#00b0ff' : '#aaa');\n        let barWidth = item.score; \/\/ 0-100%\n\n        html += `\n            <div style=\"background:#051920; border-radius:8px; padding:10px; display:flex; align-items:center; gap:15px; border-left:4px solid ${rankColor};\">\n                <div style=\"font-size:18px; font-weight:bold; color:#fff; width:30px; text-align:center;\">#${index+1}<\/div>\n                \n                <div style=\"flex:1;\">\n                    <div style=\"display:flex; justify-content:space-between; margin-bottom:5px;\">\n                        <span style=\"font-size:18px; font-weight:900; color:${rankColor}; letter-spacing:1px;\">${item.nStr}<\/span>\n                        <span style=\"font-size:12px; color:#fff; font-weight:bold;\">${item.score}%<\/span>\n                    <\/div>\n                    <div style=\"background:#111; height:6px; border-radius:3px; overflow:hidden;\">\n                        <div style=\"width:${barWidth}%; height:100%; background:${rankColor}; transition:width 1s;\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        `;\n    });\n\n    html += `<\/div>\n        \n        <div style=\"margin-top:20px; background:#000; padding:15px; border-radius:10px; text-align:center; border:1px dashed #00e676;\">\n            <div style=\"font-size:12px; color:#00e676; margin-bottom:10px;\">\n                \ud83e\udd16 AI RECOMMENDED SET (${topPicks.length} Jodi)\n            <\/div>\n            <div style=\"font-family:monospace; font-size:16px; color:#fff; letter-spacing:3px; word-spacing:5px;\">\n                ${topPicks.map(x=>x.nStr).join(' ')}\n            <\/div>\n            <button onclick=\"copyAIData('${copyStr}')\" \n                style=\"width:100%; margin-top:15px; padding:12px; background:linear-gradient(to right, #00e676, #004e92); color:#000; border:none; font-weight:bold; border-radius:6px; cursor:pointer;\">\n                \ud83d\udccb COPY AI NUMBERS\n            <\/button>\n        <\/div>\n    `;\n\n    outputDiv.innerHTML = html;\n\n    \/\/ 4. HIGHLIGHT CHART\n    logicChartClearHighlights();\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    const targetNums = topPicks.map(x=>x.n);\n    \n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if(targetNums.includes(val)) {\n            td.style.backgroundColor = '#003300';\n            td.style.color = '#fff';\n            td.style.border = '1px solid #00e676';\n            td.style.boxShadow = '0 0 10px #00e676';\n            td.style.fontWeight = 'bold';\n        }\n    });\n}\n\nfunction copyAIData(str) {\n    navigator.clipboard.writeText(str);\n    alert(\"\ud83d\udcca AI Probability Numbers Copied!\");\n}\n\/\/ ====================================================\n\/\/ \ud83d\udcc9 GAP HUNTER (MISSING SERIES ANALYZER)\n\/\/ ====================================================\n\nfunction logicGapHunterInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 50) {\n        alert(\"\u274c Need more history data to calculate Gaps.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"gapModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(20, 5, 5, 0.96); z-index:11200; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:95%; max-width:650px; background:#1a0505; border:2px solid #ef473a; border-radius:15px; box-shadow:0 0 50px rgba(239, 71, 58, 0.3); overflow:hidden; display:flex; flex-direction:column; max-height:90vh;\">\n            \n            <div style=\"background:linear-gradient(to right, #cb2d3e, #ef473a); padding:15px; text-align:center; position:relative;\">\n                <h2 style=\"margin:0; font-size:22px; color:#fff; letter-spacing:2px; font-weight:900;\">\ud83d\udcc9 GAP HUNTER<\/h2>\n                <div style=\"font-size:10px; color:#ffebee;\">MISSING SERIES DETECTOR<\/div>\n                <button onclick=\"document.getElementById('gapModal').remove()\" style=\"position:absolute; top:15px; right:15px; background:none; border:none; color:#fff; font-size:20px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; text-align:center; border-bottom:1px solid #330000; background:#2b0a0a;\">\n                <button onclick=\"runGapEngine()\" style=\"padding:10px 25px; background:#fff; color:#cb2d3e; border:none; font-weight:bold; border-radius:25px; font-size:14px; cursor:pointer; box-shadow:0 0 15px rgba(255,255,255,0.2);\">\n                    \ud83d\udef0\ufe0f SCAN ALL LINES (00-99)\n                <\/button>\n                <div style=\"margin-top:5px; font-size:10px; color:#aaa;\">Finds which 10-number series is sleeping.<\/div>\n            <\/div>\n\n            <div id=\"gapOutput\" style=\"flex:1; overflow-y:auto; padding:20px; display:none;\">\n                <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('gapModal')) document.getElementById('gapModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runGapEngine() {\n    const timeline = window.logicChartMeta.timeline;\n    const totalDraws = timeline.length;\n    \n    \/\/ --- 1. INITIALIZE LINES (0 to 9) ---\n    \/\/ Line 0 = 00-09, Line 1 = 10-19, etc.\n    let lines = [];\n    for(let i=0; i<10; i++) {\n        lines.push({ \n            id: i, \n            name: `${i}0-${i}9`, \n            lastIndex: -1, \n            gap: totalDraws \/\/ Default: never opened\n        });\n    }\n\n    \/\/ --- 2. SCAN HISTORY BACKWARDS ---\n    \/\/ Hum piche se check karenge ki ye line aakhri baar kab aayi thi\n    for(let i = timeline.length - 1; i >= 0; i--) {\n        const num = timeline[i];\n        const lineIdx = Math.floor(num \/ 10); \/\/ 45 -> 4\n        \n        \/\/ Agar is line ka last index abhi tak set nahi hua hai, to ab set karo\n        if(lines[lineIdx].lastIndex === -1) {\n            lines[lineIdx].lastIndex = i;\n            lines[lineIdx].gap = (timeline.length - 1) - i;\n        }\n    }\n\n    \/\/ --- 3. SORT BY GAP (Highest Gap First) ---\n    lines.sort((a,b) => b.gap - a.gap);\n\n    \/\/ --- 4. RENDER UI ---\n    const outputDiv = document.getElementById('gapOutput');\n    outputDiv.style.display = 'block';\n\n    \/\/ Top Critical Line\n    const critical = lines[0];\n    const criticalNums = Array.from({length:10}, (_,i) => (critical.id*10 + i).toString().padStart(2,'0')).join(',');\n\n    let html = `\n        <div style=\"background:#330000; border:1px solid #ff0000; border-radius:10px; padding:15px; margin-bottom:20px; text-align:center;\">\n            <div style=\"font-size:12px; color:#ff8888; font-weight:bold; letter-spacing:1px; margin-bottom:5px;\">\ud83d\udea8 MOST CRITICAL MISSING LINE<\/div>\n            <div style=\"font-size:36px; font-weight:900; color:#fff;\">${critical.name}<\/div>\n            <div style=\"font-size:14px; color:#ff4444; margin-top:5px;\">MISSING SINCE <b>${critical.gap}<\/b> DRAWS<\/div>\n            \n            <button onclick=\"copyGapData('${criticalNums}')\" style=\"margin-top:10px; padding:8px 15px; background:#ff4444; color:#fff; border:none; border-radius:5px; font-weight:bold; cursor:pointer;\">\n                \ud83d\udccb COPY CRITICAL SERIES\n            <\/button>\n        <\/div>\n\n        <div style=\"font-size:12px; color:#aaa; margin-bottom:10px; border-bottom:1px dashed #555; padding-bottom:5px;\">ALL LINES STATUS (Gaps)<\/div>\n        \n        <div style=\"display:grid; gap:8px;\">\n    `;\n\n    lines.forEach(line => {\n        \/\/ Color Logic\n        let color = '#4CAF50'; \/\/ Green (Safe\/Recent)\n        let status = 'Active';\n        let width = Math.min(line.gap * 5, 100); \/\/ Scale visual bar\n\n        if(line.gap > 15) { color = '#F44336'; status = 'CRITICAL'; } \/\/ Red\n        else if(line.gap > 8) { color = '#FF9800'; status = 'WARNING'; } \/\/ Orange\n\n        html += `\n            <div style=\"display:flex; align-items:center; gap:10px; background:#111; padding:8px; border-radius:6px; border-left:4px solid ${color};\">\n                <div style=\"width:50px; font-weight:bold; color:#fff; font-size:14px;\">${line.name}<\/div>\n                \n                <div style=\"flex:1; background:#222; height:8px; border-radius:4px; overflow:hidden;\">\n                    <div style=\"width:${width}%; height:100%; background:${color};\"><\/div>\n                <\/div>\n                \n                <div style=\"width:60px; text-align:right;\">\n                    <div style=\"font-size:14px; font-weight:bold; color:${color};\">${line.gap} <span style=\"font-size:9px;\">days<\/span><\/div>\n                <\/div>\n            <\/div>\n        `;\n    });\n\n    html += `<\/div>`;\n    outputDiv.innerHTML = html;\n\n    \/\/ 5. HIGHLIGHT CHART\n    \/\/ Highlight all numbers belonging to the critical line\n    logicChartClearHighlights();\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    const targetStart = critical.id * 10;\n    const targetEnd = targetStart + 9;\n\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if(val >= targetStart && val <= targetEnd) {\n            td.style.border = '2px solid #ef473a';\n            td.style.color = '#ef473a';\n            td.style.fontWeight = 'bold';\n            \/\/ Optional: Background slightly red\n            td.style.backgroundColor = '#2b0a0a';\n        }\n    });\n}\n\nfunction copyGapData(str) {\n    navigator.clipboard.writeText(str);\n    alert(\"\ud83d\udcc9 Critical Series Copied!\");\n}\n\/\/ ====================================================\n\/\/ \ud83d\udddd\ufe0f MASTER KEY PRO (FORMULA DECODER ENGINE)\n\/\/ ====================================================\n\nfunction logicMasterKeyInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 50) {\n        alert(\"\u274c Need more history data to decode formulas.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"masterKeyModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10, 0, 20, 0.96); z-index:11300; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:95%; max-width:650px; background:#0f0518; border:2px solid #8E2DE2; border-radius:15px; box-shadow:0 0 50px rgba(142, 45, 226, 0.3); overflow:hidden; display:flex; flex-direction:column; max-height:90vh;\">\n            \n            <div style=\"background:linear-gradient(to right, #8E2DE2, #4A00E0); padding:15px; text-align:center; position:relative;\">\n                <h2 style=\"margin:0; font-size:22px; color:#fff; letter-spacing:2px; font-weight:900;\">\ud83d\udddd\ufe0f MASTER KEY<\/h2>\n                <div style=\"font-size:10px; color:#e0c3fc;\">HIDDEN FORMULA DECODER<\/div>\n                <button onclick=\"document.getElementById('masterKeyModal').remove()\" style=\"position:absolute; top:15px; right:15px; background:none; border:none; color:#fff; font-size:20px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; text-align:center; border-bottom:1px solid #330033; background:#1a0033;\">\n                <button onclick=\"runMasterKeyEngine()\" style=\"padding:10px 25px; background:#fff; color:#4A00E0; border:none; font-weight:bold; border-radius:25px; font-size:14px; cursor:pointer; box-shadow:0 0 15px rgba(255,255,255,0.2);\">\n                    \ud83d\udd75\ufe0f DECODE CURRENT TREND\n                <\/button>\n                <div style=\"margin-top:5px; font-size:10px; color:#aaa;\">Scans last 30 draws to find the winning formula.<\/div>\n            <\/div>\n\n            <div id=\"mkOutput\" style=\"flex:1; overflow-y:auto; padding:20px; display:none;\">\n                <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('masterKeyModal')) document.getElementById('masterKeyModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runMasterKeyEngine() {\n    const timeline = window.logicChartMeta.timeline;\n    const checkCount = Math.min(timeline.length - 1, 30); \/\/ Check last 30 draws\n    const recent = timeline.slice(-(checkCount + 1)); \/\/ Get data including prev result\n    \n    \/\/ --- 1. DEFINE FORMULAS ---\n    \/\/ Har formula ek function hai jo pichle number se agla number predict karta hai\n    const formulas = [\n        { \n            id: 'F1', name: \"PLUS\/MINUS 1\", \n            check: (prev, curr) => {\n                let p = parseInt(prev), c = parseInt(curr);\n                return c === (p+1)%100 || c === (p-1+100)%100;\n            },\n            predict: (last) => [(last+1)%100, (last-1+100)%100]\n        },\n        { \n            id: 'F2', name: \"PLUS\/MINUS 2\", \n            check: (prev, curr) => {\n                let p = parseInt(prev), c = parseInt(curr);\n                return c === (p+2)%100 || c === (p-2+100)%100;\n            },\n            predict: (last) => [(last+2)%100, (last-2+100)%100]\n        },\n        { \n            id: 'F3', name: \"VERTICAL (+\/- 10)\", \n            check: (prev, curr) => {\n                let p = parseInt(prev), c = parseInt(curr);\n                return c === (p+10)%100 || c === (p-10+100)%100;\n            },\n            predict: (last) => [(last+10)%100, (last-10+100)%100]\n        },\n        { \n            id: 'F4', name: \"MIRROR (Rashii)\", \n            check: (prev, curr) => {\n                let pStr = prev.toString().padStart(2,'0');\n                let cStr = curr.toString().padStart(2,'0');\n                \/\/ Check Full Rashid or Half Rashid\n                \/\/ Simplified: Check if they belong to same family\n                \/\/ But for specific formula, let's check pure Mirror (5 <-> 0)\n                \/\/ Example: 12 -> 67 (Full), 12 -> 17 (Half), 12 -> 62 (Half)\n                return checkFamilyMatch(prev, curr);\n            },\n            predict: (last) => getFamilyArray(last)\n        },\n        { \n            id: 'F5', name: \"PALTU (Reverse)\", \n            check: (prev, curr) => {\n                let pStr = prev.toString().padStart(2,'0');\n                let rev = parseInt(pStr[1] + pStr[0]);\n                return parseInt(curr) === rev;\n            },\n            predict: (last) => {\n                let lStr = last.toString().padStart(2,'0');\n                return [parseInt(lStr[1] + lStr[0])];\n            }\n        },\n        {\n            id: 'F6', name: \"SQUARE GAP\",\n            check: (prev, curr) => {\n                let diff = Math.abs(curr - prev);\n                return [1, 4, 9, 16, 25, 36, 49, 64, 81].includes(diff);\n            },\n            predict: (last) => [] \/\/ Complex to predict single, used for detection\n        }\n    ];\n\n    \/\/ --- 2. SCAN & SCORE ---\n    let scores = {};\n    formulas.forEach(f => scores[f.id] = { hits: 0, streak: 0, lastHitIndex: -1 });\n\n    \/\/ Loop through recent history\n    for(let i = 0; i < recent.length - 1; i++) {\n        let prev = recent[i];\n        let curr = recent[i+1];\n        \n        formulas.forEach(f => {\n            if(f.check(prev, curr)) {\n                scores[f.id].hits++;\n                \/\/ Streak Logic: If previous index was also a hit\n                if(scores[f.id].lastHitIndex === i - 1) {\n                    scores[f.id].streak++;\n                } else {\n                    scores[f.id].streak = 1; \/\/ Reset streak or start new\n                }\n                scores[f.id].lastHitIndex = i;\n            }\n        });\n    }\n\n    \/\/ --- 3. FIND WINNER ---\n    \/\/ Sort by Hits first, then Streak\n    const sortedFormulas = formulas.sort((a,b) => {\n        let sA = scores[a.id], sB = scores[b.id];\n        if(sB.hits !== sA.hits) return sB.hits - sA.hits;\n        return sB.streak - sA.streak;\n    });\n\n    const winner = sortedFormulas[0];\n    const winnerStats = scores[winner.id];\n    \n    \/\/ Prediction for Next\n    const lastResult = recent[recent.length - 1];\n    const predictionList = winner.predict(lastResult);\n    const copyStr = predictionList.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 4. RENDER UI ---\n    const outputDiv = document.getElementById('mkOutput');\n    outputDiv.style.display = 'block';\n\n    let html = `\n        <div style=\"background:#220033; border:1px solid #8E2DE2; border-radius:10px; padding:15px; text-align:center; margin-bottom:20px;\">\n            <div style=\"font-size:12px; color:#d6a4ff; margin-bottom:5px;\">CURRENT DOMINANT FORMULA<\/div>\n            <div style=\"font-size:24px; font-weight:900; color:#fff; text-shadow:0 0 10px #8E2DE2;\">${winner.name}<\/div>\n            <div style=\"font-size:12px; color:#fff; margin-top:5px;\">\n                Hit Rate: <span style=\"color:#00e676; font-weight:bold;\">${Math.round((winnerStats.hits\/checkCount)*100)}%<\/span> \n                | Active Streak: <span style=\"color:#ffd700; font-weight:bold;\">${winnerStats.streak} Days<\/span>\n            <\/div>\n        <\/div>\n\n        <div style=\"margin-bottom:20px;\">\n            <div style=\"font-size:12px; color:#aaa; margin-bottom:10px;\">FORMULA RANKING (Last 30 Draws)<\/div>\n            ${sortedFormulas.slice(0,4).map((f, idx) => {\n                let stats = scores[f.id];\n                let width = (stats.hits \/ checkCount) * 100;\n                let color = idx === 0 ? '#00e676' : '#8E2DE2';\n                return `\n                    <div style=\"margin-bottom:8px;\">\n                        <div style=\"display:flex; justify-content:space-between; font-size:11px; color:#fff; margin-bottom:2px;\">\n                            <span>${f.name}<\/span>\n                            <span>${stats.hits} Hits<\/span>\n                        <\/div>\n                        <div style=\"background:#333; height:6px; border-radius:3px; overflow:hidden;\">\n                            <div style=\"width:${width}%; height:100%; background:${color};\"><\/div>\n                        <\/div>\n                    <\/div>\n                `;\n            }).join('')}\n        <\/div>\n\n        <div style=\"background:#000; padding:15px; border-radius:10px; text-align:center; border:1px dashed #fff;\">\n            <div style=\"font-size:11px; color:#8E2DE2; margin-bottom:5px; font-weight:bold;\">\ud83d\udd25 MASTER PREDICTION FOR NEXT<\/div>\n            <div style=\"font-size:28px; font-weight:bold; color:#fff; letter-spacing:3px;\">\n                ${predictionList.map(n=>n.toString().padStart(2,'0')).join(' ')}\n            <\/div>\n            <div style=\"font-size:10px; color:#666; margin-top:5px;\">Based on '${winner.name}' Logic<\/div>\n            \n            <button onclick=\"copyMasterData('${copyStr}')\" \n                style=\"width:100%; margin-top:15px; padding:10px; background:#8E2DE2; color:#fff; border:none; font-weight:bold; border-radius:6px; cursor:pointer;\">\n                \ud83d\udccb COPY NUMBERS\n            <\/button>\n        <\/div>\n    `;\n\n    outputDiv.innerHTML = html;\n    \n    \/\/ Highlight\n    logicChartClearHighlights();\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        if(predictionList.includes(parseInt(td.textContent))) {\n            td.style.backgroundColor = '#4A00E0';\n            td.style.color = '#fff';\n            td.style.border = '2px solid #fff';\n            td.style.fontWeight = 'bold';\n        }\n    });\n}\n\n\/\/ Helpers\nfunction checkFamilyMatch(a, b) {\n    let famA = getFamilyArray(a);\n    return famA.includes(parseInt(b));\n}\n\nfunction getFamilyArray(num) {\n    let n = parseInt(num);\n    let s = n.toString().padStart(2, '0');\n    let d1 = parseInt(s[0]), d2 = parseInt(s[1]);\n    let c1 = (d1 + 5) % 10, c2 = (d2 + 5) % 10;\n    \n    \/\/ All 8 family members\n    let f = [\n        parseInt(`${d1}${d2}`), parseInt(`${d1}${c2}`), \n        parseInt(`${c1}${d2}`), parseInt(`${c1}${c2}`),\n        parseInt(`${d2}${d1}`), parseInt(`${c2}${d1}`), \n        parseInt(`${d2}${c1}`), parseInt(`${c2}${c1}`)\n    ];\n    \/\/ Unique only\n    return [...new Set(f)];\n}\n\nfunction copyMasterData(str) {\n    navigator.clipboard.writeText(str);\n    alert(\"\ud83d\udddd\ufe0f Master Key Numbers Copied!\");\n}\n\n        \n\/\/ ====================================================\n\/\/ \ud83d\udd70\ufe0f TIME CAPSULE PRO (AUTO-SYNCED HISTORY SCANNER)\n\/\/ ====================================================\n\nfunction logicTimeCapsuleInit() {\n    \/\/ 1. DATA CONNECTION (Automatic Bridge)\n    const timeline = window.logicChartMeta?.timeline || [];\n    const timelineDates = window.logicChartMeta?.timelineDates || [];\n    \n    \/\/ Check if data exists\n    if (timeline.length < 20) {\n        alert(\"\u274c Error: History Data not loaded properly in Chart.\");\n        return;\n    }\n\n    \/\/ Auto-Select Last Result as Trigger\n    const lastResult = timeline[timeline.length - 1];\n\n    const modalHTML = `\n    <div id=\"timeModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.95); z-index:10700; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"background:#141005; border:2px solid #d4af37; width:95%; max-width:650px; height:90%; display:flex; flex-direction:column; box-shadow:0 0 50px rgba(212, 175, 55, 0.2); border-radius:15px; overflow:hidden;\">\n            \n            <div style=\"background:linear-gradient(to right, #000, #1a1200); padding:15px; border-bottom:3px solid #d4af37; display:flex; justify-content:space-between; align-items:center;\">\n                <div>\n                    <h2 style=\"margin:0; font-size:20px; color:#d4af37; text-transform:uppercase; letter-spacing:2px; text-shadow:0 0 10px #d4af37;\">\ud83d\udd70\ufe0f Time Capsule<\/h2>\n                    <div style=\"font-size:10px; color:#aaa;\">HISTORICAL REPLAY ENGINE<\/div>\n                <\/div>\n                <div style=\"text-align:right;\">\n                    <div style=\"font-size:10px; color:#00e676;\">\u25cf DATABASE CONNECTED<\/div>\n                    <div style=\"font-size:10px; color:#888;\">${timeline.length} Records Loaded<\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('timeModal').remove()\" style=\"margin-left:15px; background:none; border:1px solid #d4af37; color:#d4af37; padding:5px 12px; font-weight:bold; cursor:pointer; border-radius:4px;\">EXIT<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; background:#1f1a10; border-bottom:1px solid #333;\">\n                <div style=\"display:flex; align-items:center; gap:15px;\">\n                    <div style=\"flex:1;\">\n                        <label style=\"font-size:10px; color:#d4af37; display:block; margin-bottom:5px;\">TRIGGER NUMBER (WHAT OPENED?)<\/label>\n                        <input type=\"number\" id=\"tcTrigger\" value=\"${lastResult}\" placeholder=\"Ex: 45\" \n                            style=\"width:100%; background:#000; color:#fff; border:1px solid #d4af37; padding:10px; font-size:24px; font-weight:bold; text-align:center; border-radius:8px;\">\n                    <\/div>\n                    <div style=\"flex:1;\">\n                        <button onclick=\"runTimeCapsule()\" \n                            style=\"width:100%; height:100%; background:linear-gradient(to bottom, #d4af37, #8a6e00); color:#000; border:none; font-weight:bold; font-size:16px; border-radius:8px; cursor:pointer; box-shadow:0 0 15px rgba(212, 175, 55, 0.4);\">\n                            \ud83d\ude80 ACTIVATE TIME MACHINE\n                        <\/button>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div style=\"flex:1; overflow-y:auto; padding:20px; background:#000;\" id=\"tcBody\">\n                \n                <div id=\"tcStart\" style=\"text-align:center; padding-top:50px; opacity:0.5;\">\n                    <div style=\"font-size:60px;\">\u23f3<\/div>\n                    <div style=\"color:#d4af37; margin-top:10px;\">Waiting to Scan History...<\/div>\n                <\/div>\n\n                <div id=\"tcOutput\" style=\"display:none;\">\n                    <\/div>\n\n            <\/div>\n        <\/div>\n\n        <style>\n            .tc-card {\n                background: #111;\n                border: 1px solid #333;\n                border-radius: 10px;\n                padding: 15px;\n                margin-bottom: 15px;\n                box-shadow: 0 5px 15px rgba(0,0,0,0.5);\n            }\n            .tc-bar-row {\n                display: flex; align-items: center; margin-bottom: 8px; font-size: 12px; color:#ccc;\n            }\n            .tc-bar-bg {\n                flex: 1; background: #222; height: 8px; border-radius: 4px; margin: 0 10px; overflow:hidden;\n            }\n            .tc-bar-fill {\n                height: 100%; background: #d4af37; width:0; transition: width 1s ease;\n            }\n            .tc-log-item {\n                display:flex; justify-content:space-between; border-bottom:1px solid #222; padding:8px 0; font-size:12px; color:#888;\n            }\n            .tc-log-item b { color:#fff; }\n            .tc-highlight { color:#d4af37; font-weight:bold; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('timeModal')) document.getElementById('timeModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n    \n    \/\/ Auto run on open\n    runTimeCapsule(); \n}\n\nfunction runTimeCapsule() {\n    const trigger = parseInt(document.getElementById('tcTrigger').value);\n    if(isNaN(trigger)) return;\n\n    const timeline = window.logicChartMeta.timeline;\n    const timelineDates = window.logicChartMeta.timelineDates;\n    \n    let matches = [];\n    let nextFreq = {};\n    let totalFound = 0;\n\n    \/\/ --- SCANNING ENGINE ---\n    \/\/ Loop through entire history (except the very last item, as it has no 'next')\n    for(let i = 0; i < timeline.length - 1; i++) {\n        if(timeline[i] === trigger) {\n            totalFound++;\n            \n            const nextVal = timeline[i+1];\n            const prevVal = i > 0 ? timeline[i-1] : '--';\n            const dateObj = timelineDates[i];\n            \n            \/\/ Record the event\n            matches.push({\n                index: i,\n                prev: prevVal,\n                next: nextVal,\n                date: `${dateObj.day}\/${dateObj.month}\/${dateObj.year}`\n            });\n\n            \/\/ Count frequencies\n            nextFreq[nextVal] = (nextFreq[nextVal] || 0) + 1;\n        }\n    }\n\n    \/\/ --- RENDER ---\n    const outputDiv = document.getElementById('tcOutput');\n    document.getElementById('tcStart').style.display = 'none';\n    outputDiv.style.display = 'block';\n\n    if(totalFound === 0) {\n        outputDiv.innerHTML = `\n            <div style=\"text-align:center; padding:30px; color:#ff4444;\">\n                <div style=\"font-size:40px;\">\ud83d\udeab<\/div>\n                <h3>NO HISTORY FOUND<\/h3>\n                <p>Number <b>${trigger}<\/b> has never appeared in the loaded records.<\/p>\n            <\/div>`;\n        return;\n    }\n\n    \/\/ Sort Predictions\n    const sortedPreds = Object.entries(nextFreq)\n        .sort((a,b) => b[1] - a[1])\n        .slice(0, 5); \/\/ Top 5\n    \n    const bestPick = sortedPreds[0][0];\n    const bestCount = sortedPreds[0][1];\n    const confidence = Math.round((bestCount \/ totalFound) * 100);\n\n    const copyStr = sortedPreds.map(x => x[0].toString().padStart(2,'0')).join(',');\n\n    \/\/ Build Chart HTML\n    let chartHtml = sortedPreds.map(item => {\n        let n = item[0].toString().padStart(2,'0');\n        let c = item[1];\n        let pct = Math.round((c \/ totalFound) * 100);\n        return `\n            <div class=\"tc-bar-row\">\n                <div style=\"width:30px; font-weight:bold; color:#fff;\">${n}<\/div>\n                <div class=\"tc-bar-bg\"><div class=\"tc-bar-fill\" style=\"width:${pct}%\"><\/div><\/div>\n                <div style=\"width:60px; text-align:right;\">${pct}% (${c})<\/div>\n            <\/div>\n        `;\n    }).join('');\n\n    \/\/ Build Log HTML (Last 5 occurrences)\n    let logHtml = matches.slice(-8).reverse().map(m => `\n        <div class=\"tc-log-item\">\n            <span>\ud83d\udcc5 ${m.date}<\/span>\n            <span>Prev: ${m.prev} \u2794 <b style=\"color:#d4af37;\">${trigger}<\/b> \u2794 Result: <b style=\"color:#00e676; font-size:14px;\">${m.next}<\/b><\/span>\n        <\/div>\n    `).join('');\n\n    outputDiv.innerHTML = `\n        <div class=\"tc-card\" style=\"border-top:4px solid #d4af37; text-align:center;\">\n            <div style=\"font-size:10px; color:#888;\">HISTORICAL OCCURRENCES<\/div>\n            <div style=\"font-size:14px; color:#fff;\">Number <b>${trigger}<\/b> appeared <b style=\"color:#d4af37;\">${totalFound} times<\/b> in history.<\/div>\n        <\/div>\n\n        <div class=\"tc-card\" style=\"background:linear-gradient(135deg, #2b2200, #000); border:1px solid #d4af37;\">\n            <div style=\"display:flex; justify-content:space-between; color:#d4af37; font-weight:bold; font-size:12px; margin-bottom:10px;\">\n                <span>\ud83d\udd25 MOST REPEATED NEXT<\/span>\n                <span>${confidence}% REPEAT RATE<\/span>\n            <\/div>\n            <div style=\"text-align:center;\">\n                <div style=\"font-size:56px; font-weight:900; color:#fff; text-shadow:0 0 20px #d4af37;\">\n                    ${bestPick.toString().padStart(2,'0')}\n                <\/div>\n                <div style=\"font-size:11px; color:#aaa;\">History suggests this number follows ${trigger} most often.<\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"tc-card\">\n            <div style=\"font-size:12px; color:#d4af37; font-weight:bold; margin-bottom:10px; border-bottom:1px dashed #333; padding-bottom:5px;\">\n                \ud83d\udcca TOP 5 POSSIBILITIES\n            <\/div>\n            ${chartHtml}\n            <button onclick=\"copyTimeCapsule('${copyStr}')\" style=\"width:100%; margin-top:15px; background:#333; color:#fff; border:none; padding:8px; font-weight:bold; cursor:pointer; border-radius:4px;\">\n                \ud83d\udccb COPY TOP 5 NUMBERS\n            <\/button>\n        <\/div>\n\n        <div class=\"tc-card\">\n            <div style=\"font-size:12px; color:#d4af37; font-weight:bold; margin-bottom:10px;\">\n                \ud83d\udcdc RECENT TIMELINE EVIDENCE\n            <\/div>\n            <div style=\"max-height:150px; overflow-y:auto; padding-right:5px;\">\n                ${logHtml}\n            <\/div>\n        <\/div>\n    `;\n}\n\nfunction copyTimeCapsule(str) {\n    navigator.clipboard.writeText(str);\n    alert(\"\u2705 Historical Top Numbers Copied!\");\n}        \n        \n\/\/ ====================================================\n\/\/ \ud83d\udd17 SYNC MASTER (GAME CORRELATION ENGINE)\n\/\/ ====================================================\n\nfunction logicSyncMasterInit() {\n    \/\/ 1. DATA CHECK\n    if (!window.logicChartMeta || !window.logicChartMeta.quadraData) {\n        alert(\"\u274c Cross-Game Data (Quadra) is missing. Please check PHP loading.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"syncModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(5, 10, 20, 0.95); z-index:10800; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:95%; max-width:600px; background:#0f172a; border:2px solid #4b6cb7; border-radius:15px; box-shadow:0 0 40px rgba(75, 108, 183, 0.3); overflow:hidden; display:flex; flex-direction:column; max-height:90vh;\">\n            \n            <div style=\"background:linear-gradient(to right, #1e3c72, #2a5298); padding:15px; text-align:center; border-bottom:1px solid #4b6cb7;\">\n                <h2 style=\"margin:0; font-size:20px; color:#fff; letter-spacing:1px;\">\ud83d\udd17 SYNC MASTER<\/h2>\n                <div style=\"font-size:10px; color:#aaccff;\">GAME-TO-GAME CORRELATION SCANNER<\/div>\n                <button onclick=\"document.getElementById('syncModal').remove()\" style=\"position:absolute; top:15px; right:15px; background:none; border:none; color:#fff; font-size:20px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:20px;\">\n                \n                <div style=\"display:flex; align-items:center; gap:10px; margin-bottom:15px;\">\n                    <div style=\"flex:1;\">\n                        <label style=\"font-size:10px; color:#aaa; display:block; margin-bottom:5px;\">IF (SOURCE OPENED)<\/label>\n                        <select id=\"smSourceGame\" style=\"width:100%; padding:10px; background:#1e293b; color:#fff; border:1px solid #475569; border-radius:5px;\">\n                            <option value=\"DESAWAR\">DESAWAR (DS)<\/option>\n                            <option value=\"FARIDABAD\">FARIDABAD (FB)<\/option>\n                            <option value=\"GAZIYAABAAD\">GHAZIABAD (GB)<\/option>\n                            <option value=\"GALI\">GALI (GL)<\/option>\n                        <\/select>\n                    <\/div>\n                    \n                    <div style=\"width:80px;\">\n                        <label style=\"font-size:10px; color:#aaa; display:block; margin-bottom:5px;\">NUMBER<\/label>\n                        <input type=\"number\" id=\"smSourceNum\" placeholder=\"XX\" style=\"width:100%; padding:10px; background:#000; color:#4b6cb7; border:2px solid #4b6cb7; text-align:center; font-weight:bold; font-size:18px; border-radius:5px;\">\n                    <\/div>\n\n                    <div style=\"font-size:20px; color:#4b6cb7; padding-top:20px;\">\u2794<\/div>\n\n                    <div style=\"flex:1;\">\n                        <label style=\"font-size:10px; color:#aaa; display:block; margin-bottom:5px;\">THEN (TARGET)<\/label>\n                        <select id=\"smTargetGame\" style=\"width:100%; padding:10px; background:#1e293b; color:#fff; border:1px solid #475569; border-radius:5px;\">\n                            <option value=\"FARIDABAD\">FARIDABAD (FB)<\/option>\n                            <option value=\"GAZIYAABAAD\">GHAZIABAD (GB)<\/option>\n                            <option value=\"GALI\">GALI (GL)<\/option>\n                            <option value=\"DESAWAR\">DESAWAR (DS)<\/option>\n                        <\/select>\n                    <\/div>\n                <\/div>\n\n                <button onclick=\"runSyncMaster()\" style=\"width:100%; padding:12px; background:linear-gradient(to right, #4b6cb7, #182848); color:#fff; border:none; border-radius:8px; font-weight:bold; font-size:14px; cursor:pointer; box-shadow:0 5px 15px rgba(0,0,0,0.2);\">\n                    \ud83d\udd0d ANALYZE CONNECTION\n                <\/button>\n\n            <\/div>\n\n            <div id=\"smOutput\" style=\"flex:1; overflow-y:auto; padding:0 20px 20px 20px; display:none;\">\n                <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('syncModal')) document.getElementById('syncModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runSyncMaster() {\n    const sGame = document.getElementById('smSourceGame').value;\n    const tGame = document.getElementById('smTargetGame').value;\n    const sNum = document.getElementById('smSourceNum').value.padStart(2, '0');\n\n    if(!sNum || sNum.length !== 2) { alert(\"Please enter a valid 2-digit number.\"); return; }\n    if(sGame === tGame) { alert(\"Source and Target game cannot be the same.\"); return; }\n\n    const db = window.logicChartMeta.quadraData;\n    let matches = [];\n    let targetFreq = {};\n    let harufFreq = {};\n\n    \/\/ 1. SCAN HISTORY\n    for (const [date, data] of Object.entries(db)) {\n        \/\/ Check if Source Game had the number\n        if(data[sGame] && data[sGame] === sNum) {\n            const targetResult = data[tGame];\n            \n            \/\/ Check if Target Game result exists for that day\n            if(targetResult && targetResult !== 'XX' && targetResult !== '--') {\n                matches.push({ date: date, res: targetResult });\n                \n                \/\/ Track Frequency\n                targetFreq[targetResult] = (targetFreq[targetResult] || 0) + 1;\n                \n                \/\/ Track Haruf (Inside\/Outside)\n                const hA = targetResult[0]; \/\/ Ander\n                const hB = targetResult[1]; \/\/ Bahar\n                harufFreq[`A-${hA}`] = (harufFreq[`A-${hA}`] || 0) + 1;\n                harufFreq[`B-${hB}`] = (harufFreq[`B-${hB}`] || 0) + 1;\n            }\n        }\n    }\n\n    const outputDiv = document.getElementById('smOutput');\n    outputDiv.style.display = 'block';\n\n    if(matches.length === 0) {\n        outputDiv.innerHTML = `\n            <div style=\"text-align:center; padding:30px; color:#aaa;\">\n                <div style=\"font-size:30px; margin-bottom:10px;\">\ud83d\udcc9<\/div>\n                No history found where <b>${sGame}<\/b> opened <b>${sNum}<\/b>.<br>\n                Try a different number.\n            <\/div>\n        `;\n        return;\n    }\n\n    \/\/ 2. ANALYZE RESULTS\n    \/\/ Top 3 Numbers\n    const topNums = Object.entries(targetFreq)\n        .sort((a,b) => b[1] - a[1])\n        .slice(0, 6)\n        .map(x => ({ n: x[0], c: x[1] }));\n\n    \/\/ Top Haruf\n    const topHaruf = Object.entries(harufFreq)\n        .sort((a,b) => b[1] - a[1])\n        .slice(0, 2); \/\/ Best 2 Harufs\n\n    const confidence = Math.round((topNums[0].c \/ matches.length) * 100);\n\n    \/\/ 3. GENERATE HTML\n    let html = `\n        <div style=\"border-top:1px solid #334155; margin-top:10px; padding-top:10px;\">\n            \n            <div style=\"background:#1e293b; padding:10px; border-radius:8px; display:flex; justify-content:space-between; align-items:center; margin-bottom:15px;\">\n                <div>\n                    <div style=\"font-size:10px; color:#94a3b8;\">HISTORICAL EVENTS<\/div>\n                    <div style=\"font-size:18px; font-weight:bold; color:#fff;\">${matches.length} Times<\/div>\n                <\/div>\n                <div style=\"text-align:right;\">\n                    <div style=\"font-size:10px; color:#94a3b8;\">TOP REPEAT RATE<\/div>\n                    <div style=\"font-size:18px; font-weight:bold; color:${confidence > 20 ? '#00e676' : '#facc15'};\">${confidence}%<\/div>\n                <\/div>\n            <\/div>\n\n            <div style=\"margin-bottom:15px;\">\n                <div style=\"font-size:11px; font-weight:bold; color:#4b6cb7; margin-bottom:5px;\">\ud83d\udd25 MOST FREQUENT IN ${tGame}:<\/div>\n                <div style=\"display:flex; gap:8px; overflow-x:auto; padding-bottom:5px;\">\n                    ${topNums.map(item => `\n                        <div style=\"background:#0f172a; border:1px solid #4b6cb7; padding:8px 12px; border-radius:6px; text-align:center; min-width:50px;\">\n                            <div style=\"font-size:18px; font-weight:bold; color:#fff;\">${item.n}<\/div>\n                            <div style=\"font-size:9px; color:#94a3b8;\">${item.c}x<\/div>\n                        <\/div>\n                    `).join('')}\n                <\/div>\n            <\/div>\n\n            <div style=\"display:flex; gap:10px; margin-bottom:15px;\">\n                ${topHaruf.map(h => {\n                    const type = h[0].startsWith('A') ? 'ANDER' : 'BAHAR';\n                    const digit = h[0].split('-')[1];\n                    return `\n                        <div style=\"flex:1; background:#1e293b; padding:8px; border-radius:6px; display:flex; justify-content:space-between; align-items:center;\">\n                            <span style=\"font-size:10px; color:#aaa;\">STRONG ${type}<\/span>\n                            <span style=\"font-size:16px; font-weight:bold; color:#fff;\">${digit}<\/span>\n                        <\/div>\n                    `;\n                }).join('')}\n            <\/div>\n\n            <div style=\"background:#000; padding:10px; border-radius:8px; max-height:150px; overflow-y:auto;\">\n                <div style=\"font-size:10px; color:#666; margin-bottom:5px; border-bottom:1px solid #333; padding-bottom:3px;\">RECENT HISTORY (Date: Result)<\/div>\n                ${matches.reverse().slice(0, 10).map(m => `\n                    <div style=\"display:flex; justify-content:space-between; font-size:11px; color:#ccc; padding:3px 0; border-bottom:1px solid #222;\">\n                        <span>\ud83d\udcc5 ${m.date}<\/span>\n                        <span style=\"color:#4b6cb7; font-weight:bold;\">${m.res}<\/span>\n                    <\/div>\n                `).join('')}\n            <\/div>\n\n        <\/div>\n    `;\n\n    outputDiv.innerHTML = html;\n}\n        \n\/\/ ====================================================\n\/\/ \ud83d\udc51 ROYAL LEDGER (WHITE & GOLD PREMIUM UI)\n\/\/ ====================================================\n\nfunction logicGoldLedgerInit() {\n    const modalHTML = `\n    <div id=\"goldModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.8); z-index:10600; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"background:#f9f9f9; width:98%; max-width:700px; height:98%; display:flex; flex-direction:column; box-shadow:0 20px 50px rgba(0,0,0,0.5); border:2px solid #d4af37; border-radius:8px; overflow:hidden;\">\n            \n            <div style=\"background:#111; padding:15px; border-bottom:3px solid #d4af37; display:flex; justify-content:space-between; align-items:center;\">\n                <h2 style=\"margin:0; font-size:18px; color:#d4af37; text-transform:uppercase; letter-spacing:1px;\">\ud83d\udc51 Royal Ledger<\/h2>\n                <div style=\"display:flex; gap:10px;\">\n                     <button onclick=\"document.getElementById('goldModal').remove()\" style=\"background:#d4af37; color:#000; border:none; padding:5px 12px; font-weight:bold; cursor:pointer; border-radius:2px;\">CLOSE<\/button>\n                <\/div>\n            <\/div>\n\n            <div style=\"background:#fff; padding:10px; border-bottom:1px solid #ccc; display:flex; gap:10px; align-items:center;\">\n                <div style=\"font-size:12px; font-weight:bold; color:#333;\">SETTINGS:<\/div>\n                <input type=\"number\" id=\"glComm\" value=\"10\" placeholder=\"Comm %\" style=\"width:80px; padding:5px; border:1px solid #d4af37; text-align:center;\">\n                <input type=\"number\" id=\"glCut\" value=\"0\" placeholder=\"Cut (\u20b9)\" style=\"width:80px; padding:5px; border:1px solid #d4af37; text-align:center;\">\n                <button onclick=\"generateGoldLedger()\" style=\"background:#111; color:#d4af37; border:1px solid #d4af37; padding:5px 15px; font-weight:bold; cursor:pointer;\">RE-CALCULATE \u21bb<\/button>\n            <\/div>\n\n            <div style=\"flex:1; overflow-y:auto; padding:15px; background:#fff;\" id=\"glBody\">\n                \n                <div id=\"glInputArea\">\n                    <label style=\"font-weight:bold; color:#333; display:block; margin-bottom:5px;\">PASTE RAW DATA:<\/label>\n                    <textarea id=\"glRawInput\" rows=\"10\" style=\"width:100%; border:1px solid #ccc; padding:10px; font-family:monospace; background:#f4f4f4; color:#000;\" placeholder=\"Paste data here...\"><\/textarea>\n                    <button onclick=\"generateGoldLedger()\" style=\"width:100%; margin-top:10px; padding:12px; background:#d4af37; border:none; font-weight:bold; font-size:14px; cursor:pointer;\">GENERATE BILL \ud83d\ude80<\/button>\n                <\/div>\n\n                <div id=\"glOutput\" style=\"display:none;\"><\/div>\n\n            <\/div>\n        <\/div>\n        \n        <style>\n            .gold-card {\n                background: #fff;\n                border: 1px solid #e0e0e0;\n                box-shadow: 0 4px 10px rgba(0,0,0,0.05);\n                margin-bottom: 20px;\n                overflow: hidden;\n            }\n            .gold-header {\n                background: #1a1a1a;\n                color: #d4af37;\n                padding: 10px 15px;\n                font-weight: bold;\n                font-size: 16px;\n                border-bottom: 2px solid #d4af37;\n                display: flex; justify-content: space-between;\n            }\n            .game-table {\n                width: 100%;\n                border-collapse: collapse;\n                font-size: 11px;\n            }\n            .game-table th {\n                background: #eee;\n                color: #333;\n                padding: 5px;\n                text-align: center;\n                border-bottom: 1px solid #ccc;\n                font-weight: bold;\n            }\n            .game-table td {\n                padding: 5px;\n                text-align: center;\n                border-bottom: 1px solid #eee;\n                color: #000;\n            }\n            .summary-box {\n                background: #fafafa;\n                border: 1px solid #eee;\n                padding: 10px;\n                height: 100%;\n            }\n            .hl-green { background: #e8f5e9; color: #1b5e20; border: 1px solid #1b5e20; padding: 2px 5px; border-radius: 3px; font-weight: bold; }\n            .hl-red { background: #ffebee; color: #b71c1c; border: 1px solid #b71c1c; padding: 2px 5px; border-radius: 3px; font-weight: bold; }\n            .detail-list div { font-size: 10px; margin-bottom: 3px; border-bottom: 1px dashed #eee; padding-bottom: 2px; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('goldModal')) document.getElementById('goldModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction generateGoldLedger() {\n    const raw = document.getElementById('glRawInput').value.trim();\n    const commRate = parseFloat(document.getElementById('glComm').value) || 0;\n    const kharcha = parseFloat(document.getElementById('glCut').value) || 0;\n\n    if(!raw) return;\n\n    \/\/ --- PARSING LOGIC ---\n    const gameSections = raw.split(\"\ud83c\udfc6 RESULT:\");\n    const parties = {};\n\n    gameSections.forEach(section => {\n        if(!section.trim()) return;\n        \n        \/\/ Game Name Detection\n        const gameMatch = section.match(\/([a-zA-Z0-9\\s]+)\\((\\d+)\\)\/);\n        let gameName = \"GAME\";\n        if(gameMatch) {\n            gameName = gameMatch[1].trim().toUpperCase().replace(\"DESAWAR\", \"DS\").replace(\"GALI\", \"GL\").replace(\"FARIDABAD\", \"FB\").replace(\"GHAZIABAD\", \"GB\").replace(\"SHRI GANESH\", \"SG\");\n        }\n\n        const blocks = section.split(\/-{3,}|={3,}\/);\n        \n        blocks.forEach(block => {\n            const nameMatch = block.match(\/\ud83d\udc64\\s*(.*?)\\s*##\/);\n            if(nameMatch) {\n                const name = nameMatch[1].trim().toUpperCase();\n                \n                \/\/ Play Amount\n                const playMatch = block.match(\/\ud83d\udce5\\s*Play:\\s*(\\d+)\/);\n                const playAmt = playMatch ? parseInt(playMatch[1]) : 0;\n\n                \/\/ Win Amounts (Separate Jodi & Haruf for this specific game)\n                let gameJodiWin = 0;\n                let gameHarufWin = 0;\n                \n                const lines = block.split('\\n');\n                lines.forEach(l => {\n                    if(l.includes('\ud83c\udfaf') && l.includes('Jodi')) {\n                        const wm = l.match(\/=(\\d+)\/);\n                        if(wm) gameJodiWin += parseInt(wm[1]);\n                    } else if(l.includes('\ud83c\udd70\ufe0f') || l.includes('\ud83c\udd71\ufe0f') || l.includes('Andar') || l.includes('Bahar')) {\n                        const wm = l.match(\/=(\\d+)\/);\n                        if(wm) gameHarufWin += parseInt(wm[1]);\n                    }\n                });\n\n                \/\/ Initialize Party\n                if(!parties[name]) parties[name] = {\n                    playTotal: 0,\n                    winJodiTotal: 0,\n                    winHarufTotal: 0,\n                    games: [], \/\/ Stores row data for table\n                    detailList: [] \/\/ Stores text breakdown for right side\n                };\n\n                \/\/ Add totals\n                parties[name].playTotal += playAmt;\n                parties[name].winJodiTotal += gameJodiWin;\n                parties[name].winHarufTotal += gameHarufWin;\n\n                \/\/ Add Game Row Data (For Table)\n                parties[name].games.push({\n                    name: gameName,\n                    play: playAmt,\n                    jodi: gameJodiWin,\n                    haruf: gameHarufWin\n                });\n\n                \/\/ Add Text Details (For Right Side)\n                lines.forEach(l => {\n                    if(l.includes('\ud83c\udfaf') || l.includes('\ud83c\udd70\ufe0f') || l.includes('\ud83c\udd71\ufe0f')) {\n                        \/\/ Clean text a bit\n                        let cleanText = l.replace('\ud83c\udfaf', '').replace('\ud83c\udd70\ufe0f', '').replace('\ud83c\udd71\ufe0f', '').trim();\n                        \/\/ Add Game Prefix for clarity\n                        parties[name].detailList.push(`<b>${gameName}:<\/b> ${cleanText}`);\n                    }\n                });\n            }\n        });\n    });\n\n    \/\/ --- RENDER HTML ---\n    const outputDiv = document.getElementById('glOutput');\n    outputDiv.innerHTML = '';\n    document.getElementById('glInputArea').style.display = 'none';\n    document.getElementById('glOutput').style.display = 'block';\n\n    Object.keys(parties).sort().forEach(name => {\n        const p = parties[name];\n\n        \/\/ --- MATHS ---\n        const totalPlay = p.playTotal;\n        const commAmt = Math.round(totalPlay * (commRate \/ 100)); \/\/ 10%\n        const netPlay = totalPlay - commAmt; \/\/ MINUS Logic\n        \n        const totalWin = p.winJodiTotal + p.winHarufTotal;\n        const finalBal = netPlay - totalWin - kharcha;\n        \n        const isLena = finalBal >= 0; \/\/ Positive = Bookie Lena\n        const statusClass = isLena ? \"hl-red\" : \"hl-green\"; \/\/ Red for Lena (Money In), Green for Dena (Money Out)\n        const statusText = isLena ? \"LENA (IN)\" : \"DENA (OUT)\";\n\n        \/\/ 1. Generate Table Rows (Left Side)\n        let tableRows = p.games.map(g => `\n            <tr>\n                <td style=\"text-align:left; font-weight:bold;\">${g.name}<\/td>\n                <td>${g.play}<\/td>\n                <td style=\"color:${g.jodi>0 ? '#d32f2f' : '#ccc'}\">${g.jodi > 0 ? g.jodi : '-'}<\/td>\n                <td style=\"color:${g.haruf>0 ? '#1976d2' : '#ccc'}\">${g.haruf > 0 ? g.haruf : '-'}<\/td>\n            <\/tr>\n        `).join('');\n\n        \/\/ 2. Generate Detail List (Right Side)\n        let details = p.detailList.length > 0 \n            ? p.detailList.map(d => `<div>${d}<\/div>`).join('') \n            : `<div style=\"color:#aaa; text-align:center;\">- No Wins -<\/div>`;\n\n        outputDiv.innerHTML += `\n        <div class=\"gold-card\">\n            <div class=\"gold-header\">\n                <span>\ud83d\udc64 ${name}<\/span>\n                <span style=\"font-size:12px; color:#fff; opacity:0.8;\">ID: #${Math.floor(Math.random()*900)+100}<\/span>\n            <\/div>\n            \n            <div style=\"display:flex;\">\n                \n                <div style=\"flex:6; border-right:1px solid #eee;\">\n                    <table class=\"game-table\">\n                        <thead>\n                            <tr>\n                                <th style=\"text-align:left;\">GAME<\/th>\n                                <th>PLAY<\/th>\n                                <th>JODI WIN<\/th>\n                                <th>HRF WIN<\/th>\n                            <\/tr>\n                        <\/thead>\n                        <tbody>\n                            ${tableRows}\n                        <\/tbody>\n                        <tfoot style=\"background:#f9f9f9; font-weight:bold;\">\n                            <tr>\n                                <td style=\"text-align:left;\">TOTAL<\/td>\n                                <td>${totalPlay}<\/td>\n                                <td>${p.winJodiTotal}<\/td>\n                                <td>${p.winHarufTotal}<\/td>\n                            <\/tr>\n                        <\/tfoot>\n                    <\/table>\n\n                    <div style=\"padding:10px; font-size:12px; border-top:1px solid #ddd;\">\n                        <div style=\"display:flex; justify-content:space-between; margin-bottom:3px;\">\n                            <span>Total Play:<\/span> <b>${totalPlay}<\/b>\n                        <\/div>\n                        <div style=\"display:flex; justify-content:space-between; margin-bottom:3px; color:#666;\">\n<span>Commission (-${commRate}%):<\/span> <b>-${commAmt}<\/b>\n                        <\/div>\n                        <div style=\"display:flex; justify-content:space-between; margin-bottom:3px; border-bottom:1px dashed #ccc; padding-bottom:3px;\">\n                            <span>Net Play Amount:<\/span> <b>${netPlay}<\/b>\n                        <\/div>\n                        \n                        <div style=\"display:flex; justify-content:space-between; margin-top:5px; align-items:center;\">\n                            <span>Final Balance:<\/span>\n                            <div style=\"text-align:right;\">\n                                <span class=\"${statusClass}\" style=\"font-size:14px;\">\u20b9${Math.abs(finalBal)} ${statusText}<\/span>\n                                <div style=\"font-size:9px; color:#999;\">(Win deducted: ${totalWin})<\/div>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"flex:4;\">\n                    <div class=\"summary-box\">\n                        <div style=\"font-size:11px; font-weight:bold; color:#d4af37; text-transform:uppercase; margin-bottom:5px; border-bottom:1px solid #ddd;\">Winning History<\/div>\n                        <div class=\"detail-list\" style=\"height:100%; overflow-y:auto; max-height:180px;\">\n                            ${details}\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>\n        `;\n    });\n\n    outputDiv.innerHTML += `\n        <div style=\"text-align:center; margin-top:15px; padding-bottom:10px;\">\n            <button onclick=\"document.getElementById('glInputArea').style.display='block'; document.getElementById('glOutput').style.display='none';\" \n            style=\"background:#333; color:#fff; border:none; padding:8px 20px; font-weight:bold; cursor:pointer; border-radius:20px;\">\u270f\ufe0f EDIT INPUT<\/button>\n        <\/div>\n    `;\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udd78\ufe0f SPIDER WEB PRO (CROSSING GENERATOR & ANALYZER)\n\/\/ ====================================================\n\nfunction logicSpiderWebInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 50) {\n        alert(\"\u274c Need more history data for Spider Analysis.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"spiderModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.95); z-index:10900; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:95%; max-width:700px; background:#050505; border:2px solid #00e676; border-radius:15px; box-shadow:0 0 50px rgba(0, 230, 118, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(to right, #002200, #000); padding:15px; text-align:center; border-bottom:1px solid #00e676; position:relative;\">\n                <h2 style=\"margin:0; font-size:22px; color:#00e676; letter-spacing:2px;\">\ud83d\udd78\ufe0f SPIDER WEB<\/h2>\n                <div style=\"font-size:10px; color:#aaa;\">CROSSING PERFORMANCE ANALYZER<\/div>\n                <button onclick=\"document.getElementById('spiderModal').remove()\" style=\"position:absolute; top:15px; right:15px; background:none; border:none; color:#fff; font-size:20px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; background:#111;\">\n                <div style=\"display:flex; gap:10px; align-items:center;\">\n                    <div style=\"flex:1;\">\n                        <label style=\"font-size:11px; color:#00e676; font-weight:bold;\">ENTER DIGITS (Any length)<\/label>\n                        <input type=\"number\" id=\"swInput\" placeholder=\"Ex: 15802\" style=\"width:100%; padding:12px; background:#000; border:1px solid #333; color:#fff; font-size:18px; letter-spacing:5px; text-align:center; border-radius:6px; font-weight:bold;\">\n                    <\/div>\n                    <div style=\"display:flex; flex-direction:column; gap:5px;\">\n                        <label style=\"font-size:11px; color:#ccc; display:flex; align-items:center; cursor:pointer;\">\n                            <input type=\"checkbox\" id=\"swPair\" checked> &nbsp;Include Joda (11,22..)\n                        <\/label>\n                        <button onclick=\"runSpiderEngine()\" style=\"padding:8px 15px; background:#00e676; color:#000; border:none; font-weight:bold; border-radius:4px; cursor:pointer; box-shadow:0 0 10px rgba(0,230,118,0.4);\">\n                            \ud83d\ude80 ANALYZE\n                        <\/button>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div id=\"swOutput\" style=\"flex:1; overflow-y:auto; padding:20px; display:none;\">\n                <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('spiderModal')) document.getElementById('spiderModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runSpiderEngine() {\n    const raw = document.getElementById('swInput').value;\n    const withPair = document.getElementById('swPair').checked;\n    \n    if(!raw || raw.length < 2) {\n        alert(\"Please enter at least 2 digits to make a crossing.\");\n        return;\n    }\n\n    \/\/ 1. GENERATE JODIS\n    const digits = raw.split('').map(d => parseInt(d)).filter(d => !isNaN(d));\n    const uniqueDigits = [...new Set(digits)].sort(); \/\/ Remove duplicates\n    \n    let jodis = [];\n    uniqueDigits.forEach(d1 => {\n        uniqueDigits.forEach(d2 => {\n            if(!withPair && d1 === d2) return; \/\/ Skip pairs if unchecked\n            jodis.push(parseInt(`${d1}${d2}`));\n        });\n    });\n\n    \/\/ 2. ANALYZE HISTORY (Performance Scan)\n    const timeline = window.logicChartMeta.timeline;\n    const checkCount = Math.min(timeline.length, 30); \/\/ Last 30 draws\n    const recentHistory = timeline.slice(-checkCount);\n    \n    let passCount = 0;\n    let recentHits = [];\n    let currentStreak = 0;\n    let isStreakActive = true;\n\n    \/\/ Scan backwards for streak\n    for(let i = timeline.length - 1; i >= 0; i--) {\n        if(jodis.includes(timeline[i])) {\n            if(isStreakActive) currentStreak++;\n        } else {\n            isStreakActive = false;\n        }\n    }\n\n    \/\/ Scan recent performance\n    recentHistory.forEach((res, idx) => {\n        if(jodis.includes(res)) {\n            passCount++;\n            recentHits.push(1); \/\/ 1 = Pass\n        } else {\n            recentHits.push(0); \/\/ 0 = Fail\n        }\n    });\n\n    const successRate = Math.round((passCount \/ checkCount) * 100);\n    \n    \/\/ 3. GENERATE REPORT\n    const outputDiv = document.getElementById('swOutput');\n    outputDiv.style.display = 'block';\n\n    \/\/ Status Color Logic\n    let statusColor = '#fff';\n    let statusText = 'NORMAL';\n    if(successRate > 70) { statusColor = '#00e676'; statusText = '\ud83d\udd25 SUPER HOT'; }\n    else if(successRate < 30) { statusColor = '#ff4444'; statusText = '\u2744\ufe0f ICE COLD'; }\n    else { statusColor = '#ffd700'; statusText = '\u2696\ufe0f AVERAGE'; }\n\n    \/\/ Visual Grid of Jodis\n    const jodiGrid = jodis.map(n => \n        `<span style=\"background:#111; border:1px solid #333; color:#fff; padding:5px 8px; border-radius:4px; font-size:12px; font-weight:bold;\">${n.toString().padStart(2,'0')}<\/span>`\n    ).join('');\n\n    \/\/ Performance Bar (Last 30 Draws)\n    const bars = recentHits.map(h => \n        `<div style=\"flex:1; height:6px; margin:0 1px; background:${h ? '#00e676' : '#333'}; border-radius:2px;\"><\/div>`\n    ).join('');\n\n    const copyStr = jodis.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    let html = `\n        <div style=\"display:flex; justify-content:space-between; margin-bottom:20px;\">\n            <div style=\"background:#111; padding:10px 20px; border-radius:8px; border-left:4px solid ${statusColor};\">\n                <div style=\"font-size:10px; color:#aaa;\">PERFORMANCE (Last 30)<\/div>\n                <div style=\"font-size:24px; font-weight:bold; color:${statusColor};\">${successRate}% PASS<\/div>\n            <\/div>\n            <div style=\"background:#111; padding:10px 20px; border-radius:8px; border-right:4px solid #fff; text-align:right;\">\n                <div style=\"font-size:10px; color:#aaa;\">CURRENT STREAK<\/div>\n                <div style=\"font-size:24px; font-weight:bold; color:#fff;\">${currentStreak} <span style=\"font-size:12px;\">Days<\/span><\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"margin-bottom:20px;\">\n            <div style=\"display:flex; justify-content:space-between; font-size:10px; color:#aaa; margin-bottom:5px;\">\n                <span>Oldest<\/span>\n                <span>Visual Timeline (Last 30 Draws)<\/span>\n                <span>Latest<\/span>\n            <\/div>\n            <div style=\"display:flex; width:100%;\">${bars}<\/div>\n        <\/div>\n\n        <div style=\"background:#0a0a0a; border:1px solid #333; border-radius:10px; padding:15px; position:relative;\">\n            <div style=\"font-size:12px; color:#00e676; margin-bottom:10px; font-weight:bold;\">\n                \ud83d\udd78\ufe0f GENERATED SET (${jodis.length} Jodis)\n            <\/div>\n            <div style=\"display:flex; flex-wrap:wrap; gap:5px; max-height:200px; overflow-y:auto;\">\n                ${jodiGrid}\n            <\/div>\n            \n            <button onclick=\"copySpiderData('${copyStr}')\" \n                style=\"width:100%; margin-top:15px; padding:10px; background:${statusColor}; color:#000; border:none; font-weight:bold; border-radius:6px; cursor:pointer;\">\n                \ud83d\udccb COPY NUMBERS\n            <\/button>\n        <\/div>\n\n        <div style=\"margin-top:15px; padding:10px; background:rgba(255,255,255,0.05); border-radius:6px; font-size:11px; color:#ccc;\">\n            <strong>\ud83d\udca1 Smart Insight:<\/strong> \n            ${getSpiderInsight(successRate, currentStreak)}\n        <\/div>\n    `;\n\n    outputDiv.innerHTML = html;\n    \n    \/\/ Highlight on Table\n    logicChartClearHighlights();\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if(jodis.includes(val)) {\n            td.style.backgroundColor = '#003300';\n            td.style.border = '1px solid #00e676';\n            td.style.color = '#fff';\n        }\n    });\n}\n\nfunction getSpiderInsight(rate, streak) {\n    if(rate > 80 && streak > 3) return \"\u092f\u0939 \u0915\u094d\u0930\u0949\u0938\u093f\u0902\u0917 \u092c\u0939\u0941\u0924 \u0917\u0930\u092e \u0939\u0948 (Overheated). \u0930\u093f\u0938\u094d\u0915 \u0939\u093e\u0908 \u0939\u0948, \u0915\u092d\u0940 \u092d\u0940 \u0915\u091f \u0938\u0915\u0924\u0940 \u0939\u0948\u0964\";\n    if(rate < 20) return \"\u092f\u0939 \u0915\u094d\u0930\u0949\u0938\u093f\u0902\u0917 \u0920\u0902\u0921\u0940 \u092a\u0921\u093c\u0940 \u0939\u0948 (Sleeping). \u0905\u092d\u0940 \u0907\u0938 \u092a\u0930 \u092a\u0948\u0938\u093e \u0928 \u0932\u0917\u093e\u090f\u0902\u0964\";\n    if(streak === 0) return \"\u0915\u0932 \u092f\u0939 \u0915\u094d\u0930\u0949\u0938\u093f\u0902\u0917 \u092b\u0947\u0932 \u0939\u0941\u0908 \u0925\u0940\u0964 \u0906\u091c \u092a\u093e\u0938 \u0939\u094b\u0928\u0947 \u0915\u093e '\u0917\u094b\u0932\u094d\u0921\u0928 \u091a\u093e\u0902\u0938' \u0939\u0948 (Recovery Shot).\";\n    return \"\u092f\u0939 \u0915\u094d\u0930\u0949\u0938\u093f\u0902\u0917 \u092c\u0948\u0932\u0947\u0902\u0938 \u092e\u0947\u0902 \u091a\u0932 \u0930\u0939\u0940 \u0939\u0948\u0964 \u0938\u0947\u092b \u092a\u094d\u0932\u0947 \u0915\u0947 \u0932\u093f\u090f \u0905\u091a\u094d\u091b\u0940 \u0939\u0948\u0964\";\n}\n\nfunction copySpiderData(str) {\n    navigator.clipboard.writeText(str);\n    alert(\"\ud83d\udd78\ufe0f Spider Web Numbers Copied!\");\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udcca UNIVERSAL PARTY LEDGER (MULTI-GAME MERGER)\n\/\/ ====================================================\n\nfunction logicPartyLedgerInit() {\n    const modalHTML = `\n    <div id=\"ledgerModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(240,242,245,0.98); z-index:10300; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"background:#fff; width:98%; max-width:600px; height:98%; display:flex; flex-direction:column; box-shadow:0 10px 30px rgba(0,0,0,0.2); border-radius:12px; overflow:hidden;\">\n            \n            <div style=\"background:#fff; border-bottom:1px solid #e0e0e0; padding:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div>\n                    <h2 style=\"margin:0; font-size:18px; color:#333; font-weight:800;\">\ud83d\udcca PARTY LEDGER<\/h2>\n                    <div style=\"font-size:11px; color:#888;\">MULTI-GAME CONSOLIDATED REPORT<\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('ledgerModal').remove()\" style=\"background:#ffebee; color:#c62828; border:none; padding:8px 12px; border-radius:6px; font-weight:bold; cursor:pointer;\">CLOSE<\/button>\n            <\/div>\n\n            <div style=\"flex:1; overflow-y:auto; padding:15px; background:#f7f9fc;\" id=\"ledgerBody\">\n                \n                <div id=\"ledgerInputArea\" style=\"background:#fff; padding:15px; border-radius:8px; box-shadow:0 2px 10px rgba(0,0,0,0.05);\">\n                    <label style=\"font-size:12px; font-weight:bold; color:#555; display:block; margin-bottom:5px;\">PASTE ALL GAME DATA HERE:<\/label>\n                    <textarea id=\"ledgerRawInput\" rows=\"8\" style=\"width:100%; border:1px solid #ddd; padding:10px; font-family:monospace; border-radius:6px; font-size:11px;\" placeholder=\"Paste Gali, Desawar, FB all mixed data here...\"><\/textarea>\n                    <button onclick=\"generateLedger()\" style=\"width:100%; margin-top:10px; background:#11998e; color:#fff; border:none; padding:12px; border-radius:6px; font-weight:bold; cursor:pointer; font-size:14px;\">\ud83d\ude80 GENERATE FINAL HISAB<\/button>\n                <\/div>\n\n                <div id=\"ledgerOutput\" style=\"display:none;\">\n                    <\/div>\n\n            <\/div>\n            \n            <div id=\"ledgerFooter\" style=\"background:#fff; padding:10px; border-top:1px solid #e0e0e0; display:none; justify-content:space-between; align-items:center;\">\n                 <button onclick=\"document.getElementById('ledgerInputArea').style.display='block'; document.getElementById('ledgerOutput').style.display='none'; document.getElementById('ledgerFooter').style.display='none'\" \n                        style=\"background:#f5f5f5; color:#333; border:1px solid #ddd; padding:8px 15px; border-radius:20px; font-size:12px; cursor:pointer;\">\n                    \u270f\ufe0f Edit Input\n                <\/button>\n                <div style=\"font-size:10px; color:#aaa;\">*Green = Pay to Party | Red = Collect<\/div>\n            <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('ledgerModal')) document.getElementById('ledgerModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction generateLedger() {\n    const raw = document.getElementById('ledgerRawInput').value.trim();\n    if(!raw) return alert(\"Please paste data.\");\n\n    \/\/ --- LOGIC: MERGE DATA BY PARTY ---\n    \n    \/\/ 1. Identify Games Sections\n    \/\/ We split by \"\ud83c\udfc6 RESULT:\"\n    const gameSections = raw.split(\"\ud83c\udfc6 RESULT:\");\n    const parties = {}; \/\/ Main Object to store merged data: { \"AYUB\": { net: 0, details: [] } }\n\n    gameSections.forEach(section => {\n        if(!section.trim()) return;\n\n        \/\/ Get Game Name\n        const gameNameMatch = section.match(\/([a-zA-Z0-9\\s]+)\\((\\d+)\\)\/);\n        let gameTitle = \"UNKNOWN\";\n        if(gameNameMatch) {\n            gameTitle = gameNameMatch[1].trim() + \" (\" + gameNameMatch[2] + \")\";\n        }\n\n        \/\/ Split by Party Separator (----- or =====)\n        const partyBlocks = section.split(\/-{3,}|={3,}\/);\n\n        partyBlocks.forEach(block => {\n            const nameMatch = block.match(\/\ud83d\udc64\\s*(.*?)\\s*##\/);\n            if(nameMatch) {\n                const name = nameMatch[1].trim().toUpperCase();\n                \n                \/\/ Parse Amounts\n                const playMatch = block.match(\/\ud83d\udce5\\s*Play:\\s*(\\d+)\/);\n                const winMatch = block.match(\/\ud83c\udf89\\s*Win:\\s*(\\d+)\/);\n                const lenaMatch = block.match(\/\ud83d\udd34\\s*Lena:\\s*\u20b9?(\\d+)\/);\n                const denaMatch = block.match(\/\ud83d\udfe2\\s*Dena:\\s*\u20b9?(\\d+)\/);\n\n                let net = 0;\n                let status = \"NEUTRAL\";\n\n                if(denaMatch) {\n                    net = parseInt(denaMatch[1]); \/\/ Positive (Bookie Dena)\n                } else if(lenaMatch) {\n                    net = -parseInt(lenaMatch[1]); \/\/ Negative (Bookie Lena)\n                } else if(playMatch && !winMatch) {\n                     \/\/ If Play exists but No Win line, assume loss (Lena)\n                     \/\/ But usually regex catches 'Lena' line. \n                     \/\/ Fallback:\n                     if(block.includes(\"No Win\") || block.includes(\"Lena\")) {\n                        \/\/ Try finding digits again if regex failed\n                        let m = block.match(\/Lena:\\s*\u20b9?(\\d+)\/);\n                        if(m) net = -parseInt(m[1]);\n                     }\n                }\n\n                \/\/ Initialize Party if new\n                if(!parties[name]) {\n                    parties[name] = {\n                        totalNet: 0,\n                        games: []\n                    };\n                }\n\n                \/\/ Add to Total\n                parties[name].totalNet += net;\n\n                \/\/ Add Game Detail\n                \/\/ Extract winning details only for display\n                let wins = [];\n                const lines = block.split('\\n');\n                lines.forEach(l => {\n                    if(l.includes('\ud83c\udfaf') || l.includes('\ud83c\udd70\ufe0f') || l.includes('\ud83c\udd71\ufe0f')) {\n                        wins.push(l.trim());\n                    }\n                });\n\n                parties[name].games.push({\n                    game: gameTitle,\n                    play: playMatch ? playMatch[1] : 0,\n                    win: winMatch ? winMatch[1] : 0,\n                    net: net,\n                    details: wins\n                });\n            }\n        });\n    });\n\n    \/\/ --- RENDER UI ---\n    const outputDiv = document.getElementById('ledgerOutput');\n    outputDiv.innerHTML = '';\n\n    \/\/ Sort parties alphabetically\n    const sortedNames = Object.keys(parties).sort();\n\n    sortedNames.forEach(name => {\n        const p = parties[name];\n        const isProfit = p.totalNet >= 0; \/\/ >=0 means Dena (Green), <0 means Lena (Red)\n        const color = isProfit ? \"#2e7d32\" : \"#c62828\";\n        const bg = isProfit ? \"#e8f5e9\" : \"#ffebee\";\n        const finalLabel = isProfit ? \"DENA (PAY)\" : \"LENA (COLLECT)\";\n        const finalAmt = Math.abs(p.totalNet);\n\n        \/\/ Build Game Rows\n        let gameRowsHTML = '';\n        p.games.forEach(g => {\n            const gameIsProfit = g.net >= 0;\n            const gameColor = gameIsProfit ? \"green\" : \"red\";\n            \n            \/\/ Winning Details HTML\n            let detailHTML = '';\n            if(g.details.length > 0) {\n                detailHTML = `<div style=\"font-size:10px; color:#666; margin-top:2px; padding-left:5px; border-left:2px solid #ddd;\">${g.details.join('<br>')}<\/div>`;\n            }\n\n            gameRowsHTML += `\n                <div style=\"border-bottom:1px solid rgba(0,0,0,0.05); padding:8px 0;\">\n                    <div style=\"display:flex; justify-content:space-between; font-size:12px;\">\n                        <span style=\"font-weight:bold; color:#444;\">${g.game}<\/span>\n                        <span style=\"font-weight:bold; color:${gameColor};\">${g.net >=0 ? '+' : '-'}\u20b9${Math.abs(g.net)}<\/span>\n                    <\/div>\n                    <div style=\"display:flex; justify-content:space-between; font-size:10px; color:#888;\">\n                        <span>Play: ${g.play} | Win: ${g.win}<\/span>\n                    <\/div>\n                    ${detailHTML}\n                <\/div>\n            `;\n        });\n\n        \/\/ Main Card\n        outputDiv.innerHTML += `\n        <div style=\"background:#fff; border-radius:8px; box-shadow:0 2px 5px rgba(0,0,0,0.1); margin-bottom:15px; border-top:4px solid ${color}; overflow:hidden;\">\n            \n            <div style=\"padding:12px; background:${bg}; display:flex; justify-content:space-between; align-items:center;\">\n                <div>\n                    <div style=\"font-size:16px; font-weight:900; color:#333;\">\ud83d\udc64 ${name}<\/div>\n                    <div style=\"font-size:10px; color:#555; font-weight:bold; margin-top:2px;\">TOTAL ENTRIES: ${p.games.length}<\/div>\n                <\/div>\n                <div style=\"text-align:right;\">\n                    <div style=\"font-size:9px; color:${color}; font-weight:bold;\">NET ${finalLabel}<\/div>\n                    <div style=\"font-size:20px; font-weight:bold; color:${color};\">\u20b9${finalAmt}<\/div>\n                <\/div>\n            <\/div>\n\n            <div style=\"padding:10px;\">\n                <div style=\"font-size:10px; color:#aaa; font-weight:bold; margin-bottom:5px;\">GAME WISE BREAKDOWN:<\/div>\n                ${gameRowsHTML}\n            <\/div>\n\n        <\/div>\n        `;\n    });\n\n    document.getElementById('ledgerInputArea').style.display = 'none';\n    document.getElementById('ledgerOutput').style.display = 'block';\n    document.getElementById('ledgerFooter').style.display = 'flex';\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udc8e ULTRA JANTRI PRO V2 (CUTTING + CUSTOM HEATMAP)\n\/\/ ====================================================\n\nfunction logicUltraJantriInit() {\n    let initialData = \"\";\n    if (typeof khaiwalState !== 'undefined' && khaiwalState.rawInput) {\n        initialData = khaiwalState.rawInput;\n    }\n\n    const modalHTML = `\n    <div id=\"jantriModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.8); z-index:10100; display:flex; justify-content:center; align-items:center; font-family:sans-serif;\">\n        <div style=\"background:#fff; width:98%; max-width:700px; height:98%; display:flex; flex-direction:column; box-shadow:0 0 50px rgba(0,0,0,0.5); overflow:hidden; border-radius:8px;\">\n            \n            <div style=\"background:#f0f2f5; border-bottom:1px solid #ccc; padding:8px;\">\n                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:5px;\">\n                    <h3 id=\"ujGameName\" style=\"margin:0; font-size:16px; font-weight:bold; color:#000;\">SHRI GANESH<\/h3>\n                    <button onclick=\"document.getElementById('jantriModal').remove()\" style=\"background:#d32f2f; color:#fff; border:none; padding:4px 10px; border-radius:4px; font-weight:bold; cursor:pointer;\">CLOSE \u2716<\/button>\n                <\/div>\n                \n                <div style=\"display:grid; grid-template-columns:repeat(4, 1fr); gap:5px; text-align:center;\">\n                    <div style=\"background:#fff; border:1px solid #ddd; border-radius:4px; padding:2px;\">\n                        <div style=\"font-size:10px; color:#666;\">JODI<\/div>\n                        <div id=\"totJodi\" style=\"font-size:14px; font-weight:bold; color:#000;\">0<\/div>\n                    <\/div>\n                    <div style=\"background:#fff; border:1px solid #ddd; border-radius:4px; padding:2px;\">\n                        <div style=\"font-size:10px; color:#0091ea;\">ANDER<\/div>\n                        <div id=\"totAnder\" style=\"font-size:14px; font-weight:bold; color:#0091ea;\">0<\/div>\n                    <\/div>\n                    <div style=\"background:#fff; border:1px solid #ddd; border-radius:4px; padding:2px;\">\n                        <div style=\"font-size:10px; color:#c2185b;\">BAHAR<\/div>\n                        <div id=\"totBahar\" style=\"font-size:14px; font-weight:bold; color:#c2185b;\">0<\/div>\n                    <\/div>\n                    <div style=\"background:#2980b9; border-radius:4px; padding:2px; color:#fff;\">\n                        <div style=\"font-size:10px; opacity:0.8;\">GRAND<\/div>\n                        <div id=\"totGrand\" style=\"font-size:14px; font-weight:bold;\">0<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div style=\"flex:1; overflow-y:auto; padding:5px; background:#fff;\" id=\"ujBody\">\n                \n                <div id=\"ujInputArea\" style=\"display:${initialData ? 'none' : 'block'}; margin-bottom:10px; padding:10px; background:#f9f9f9; border:1px solid #ddd;\">\n                    <textarea id=\"ujRawInput\" rows=\"4\" style=\"width:100%; border:1px solid #ccc; font-family:monospace;\" placeholder=\"Paste Data Here...\">${initialData}<\/textarea>\n                    <button onclick=\"renderJantriGrid()\" style=\"width:100%; padding:10px; background:#2980b9; color:#fff; border:none; margin-top:5px; font-weight:bold; cursor:pointer;\">\ud83d\udcca SHOW CHART<\/button>\n                <\/div>\n\n                <div id=\"mainChartArea\" style=\"display:none;\">\n                    \n                    <div style=\"display:flex; justify-content:space-between; align-items:center; background:#eee; padding:5px; border-radius:4px; margin-bottom:5px; border:1px solid #ccc;\">\n                        <label style=\"font-size:12px; font-weight:bold; display:flex; align-items:center; gap:5px;\">\n                            <input type=\"checkbox\" id=\"ujHeatmapCheck\" checked onchange=\"renderJantriGrid()\"> \n                            \ud83c\udf21\ufe0f Heatmap\n                        <\/label>\n                        <div style=\"display:flex; align-items:center; gap:5px;\">\n                            <span style=\"font-size:11px; font-weight:bold;\">Red Limit:<\/span>\n                            <input type=\"number\" id=\"ujRedLimit\" value=\"500\" style=\"width:60px; padding:2px; font-size:12px; text-align:center; border:1px solid #999;\" onchange=\"renderJantriGrid()\">\n                        <\/div>\n                    <\/div>\n\n                    <div id=\"ujGrid\" style=\"display:grid; grid-template-columns:repeat(10, 1fr) 45px; gap:1px; background:#999; border:1px solid #999;\"><\/div>\n\n                    <div style=\"margin-top:15px; border:1px solid #ccc;\">\n                        <div style=\"display:grid; grid-template-columns:1fr 1fr;\">\n                            <div style=\"background:#e3f2fd; color:#000; font-size:12px; font-weight:bold; text-align:center; padding:5px; border-bottom:1px solid #ccc; border-right:1px solid #ccc;\">ANDER (A)<\/div>\n                            <div style=\"background:#fce4ec; color:#000; font-size:12px; font-weight:bold; text-align:center; padding:5px; border-bottom:1px solid #ccc;\">BAHAR (B)<\/div>\n                        <\/div>\n                        <div style=\"display:flex;\">\n                            <div id=\"ujAnderGrid\" style=\"flex:1; display:grid; grid-template-columns:repeat(5, 1fr); gap:1px; background:#ccc;\"><\/div>\n                            <div style=\"width:2px; background:#999;\"><\/div>\n                            <div id=\"ujBaharGrid\" style=\"flex:1; display:grid; grid-template-columns:repeat(5, 1fr); gap:1px; background:#ccc;\"><\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div style=\"margin-top:20px; border:2px dashed #d32f2f; background:#fff5f5; padding:10px; border-radius:8px;\">\n                        <h4 style=\"margin:0 0 10px 0; color:#d32f2f; font-size:14px; text-align:center;\">\u2702\ufe0f KHAILWAL CUTTING TOOL<\/h4>\n                        \n                        <div style=\"display:flex; gap:10px; margin-bottom:10px;\">\n                            <input type=\"number\" id=\"ujCutVal\" placeholder=\"Cut Amount (e.g. 200)\" value=\"200\" style=\"flex:1; padding:8px; border:1px solid #ccc; border-radius:4px; font-weight:bold;\">\n                            <button onclick=\"generateCutting()\" style=\"flex:1; background:#d32f2f; color:#fff; border:none; border-radius:4px; font-weight:bold; cursor:pointer;\">GENERATE CUT<\/button>\n                        <\/div>\n\n                        <textarea id=\"ujCutOutput\" rows=\"3\" style=\"width:100%; border:1px solid #ccc; font-family:monospace; font-size:12px; display:none;\" placeholder=\"Cut data will appear here...\"><\/textarea>\n                        \n                        <button id=\"ujCopyBtn\" onclick=\"copyCutData()\" style=\"width:100%; background:#333; color:#fff; padding:8px; border:none; border-radius:4px; margin-top:5px; display:none; cursor:pointer;\">\ud83d\udccb COPY TO WHATSAPP<\/button>\n                    <\/div>\n\n                    <div style=\"text-align:center; margin-top:30px; margin-bottom:20px;\">\n                        <button onclick=\"document.getElementById('ujInputArea').style.display='block'; document.getElementById('mainChartArea').style.display='none'\" style=\"background:#eee; border:1px solid #ccc; padding:8px 20px; border-radius:20px; cursor:pointer; font-size:12px;\">\u270f\ufe0f Edit Original Data<\/button>\n                    <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>\n\n        <style>\n            \/* FIXED LAYOUT STYLES *\/\n            .uj-cell {\n                background: #fff;\n                min-height: 45px;\n                position: relative;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n            }\n            .uj-cell-num {\n                position: absolute;\n                top: 2px;\n                left: 3px;\n                font-size: 10px;\n                font-weight: bold;\n                color: #000;\n            }\n            .uj-cell-amt {\n                font-size: 13px;\n                font-weight: bold;\n                color: #000;\n            }\n            .uj-row-total {\n                background: #f5f5f5;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                font-size: 11px;\n                font-weight: bold;\n                color: #333;\n            }\n            \/* DYNAMIC HEATMAP CLASSES *\/\n            .heat-green { background-color: #4CAF50 !important; }\n            .heat-green .uj-cell-amt, .heat-green .uj-cell-num { color: #fff !important; }\n\n            .heat-orange { background-color: #FF9800 !important; }\n            .heat-orange .uj-cell-amt, .heat-orange .uj-cell-num { color: #000 !important; }\n\n            .heat-red { background-color: #F44336 !important; }\n            .heat-red .uj-cell-amt, .heat-red .uj-cell-num { color: #fff !important; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('jantriModal')) document.getElementById('jantriModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    if(initialData) renderJantriGrid();\n}\n\n\/\/ Global variables to store parsed data for cutting\nlet g_dataMap = [];\nlet g_anderMap = [];\nlet g_baharMap = [];\nlet g_gameName = \"GAME\";\n\nfunction renderJantriGrid() {\n    const raw = document.getElementById('ujRawInput').value.trim();\n    const useHeatmap = document.getElementById('ujHeatmapCheck').checked;\n    const redLimit = parseInt(document.getElementById('ujRedLimit').value) || 500; \/\/ Get User Defined Limit\n    \n    \/\/ --- 1. PARSING LOGIC ---\n    const gameMatch = raw.match(\/GAME:\\s*([a-zA-Z0-9\\s]+)\/i);\n    if(gameMatch) {\n        g_gameName = gameMatch[1].toUpperCase();\n        document.getElementById('ujGameName').innerText = g_gameName;\n    } else {\n        g_gameName = \"GAME\";\n    }\n\n    \/\/ Reset Globals\n    g_dataMap = new Array(101).fill(0); \n    g_anderMap = new Array(10).fill(0);\n    g_baharMap = new Array(10).fill(0);\n    \n    let tJodi = 0, tAnder = 0, tBahar = 0;\n\n    const parts = raw.replace(\/\\n\/g, '#').replace(\/\\)\/g, '').split('#');\n\n    parts.forEach(part => {\n        part = part.trim();\n        if(!part.includes('=')) return;\n        \n        let [key, valStr] = part.split('=');\n        let amt = parseInt(valStr);\n        if(isNaN(amt)) return;\n\n        key = key.toUpperCase().trim();\n\n        if(key.includes('A')) {\n            let digit = parseInt(key.replace(\/\\D\/g, '')); \n            if(!isNaN(digit) && digit <= 9) { g_anderMap[digit] += amt; tAnder += amt; }\n        } else if(key.includes('B')) {\n            let digit = parseInt(key.replace(\/\\D\/g, ''));\n            if(!isNaN(digit) && digit <= 9) { g_baharMap[digit] += amt; tBahar += amt; }\n        } else {\n            let num = parseInt(key);\n            if(!isNaN(num)) {\n                if(num === 0) num = 100;\n                if(num <= 100) { g_dataMap[num] += amt; tJodi += amt; }\n            }\n        }\n    });\n\n    document.getElementById('totJodi').innerText = tJodi;\n    document.getElementById('totAnder').innerText = tAnder;\n    document.getElementById('totBahar').innerText = tBahar;\n    document.getElementById('totGrand').innerText = `\u20b9${tJodi + tAnder + tBahar}`;\n\n    \/\/ --- 2. RENDER MAIN GRID ---\n    const gridEl = document.getElementById('ujGrid');\n    gridEl.innerHTML = '';\n\n    let currentRowSum = 0;\n\n    for(let i=1; i<=100; i++) {\n        const amt = g_dataMap[i] || 0;\n        currentRowSum += amt;\n\n        let displayNum = i.toString().padStart(2,'0');\n        if(i === 100) displayNum = \"00\";\n\n        \/\/ Logic for Colors based on User Input (redLimit)\n        let cellClass = \"uj-cell\";\n        if(useHeatmap && amt > 0) {\n            if(amt >= redLimit) cellClass += \" heat-red\"; \n            else if(amt >= (redLimit * 0.4)) cellClass += \" heat-orange\"; \/\/ 40% of limit is Orange\n            else cellClass += \" heat-green\"; \n        }\n\n        gridEl.innerHTML += `\n            <div class=\"${cellClass}\">\n                <span class=\"uj-cell-num\">${displayNum}<\/span>\n                <span class=\"uj-cell-amt\">${amt > 0 ? amt : ''}<\/span>\n            <\/div>\n        `;\n\n        if(i % 10 === 0) {\n            gridEl.innerHTML += `<div class=\"uj-row-total\">${currentRowSum > 0 ? currentRowSum : ''}<\/div>`;\n            currentRowSum = 0;\n        }\n    }\n\n    \/\/ --- 3. RENDER HARUF GRIDS ---\n    const renderH = (arr, id) => {\n        const el = document.getElementById(id);\n        el.innerHTML = '';\n        arr.forEach((amt, d) => {\n            let bg = '#fff';\n            let txt = '#000';\n            \/\/ Haruf usually has higher limits, so we multiply logic by 2 or 5? \n            \/\/ Let's keep it simple: strict visual based on same logic or slightly boosted\n            if(useHeatmap && amt > 0) {\n                if(amt >= redLimit) { bg = '#F44336'; txt = '#fff'; }\n                else if(amt >= (redLimit * 0.4)) { bg = '#FF9800'; txt = '#000'; }\n                else { bg = '#4CAF50'; txt = '#fff'; }\n            }\n\n            el.innerHTML += `\n                <div style=\"background:${bg}; padding:5px; text-align:center; height:40px; position:relative; border:1px solid #ccc;\">\n                    <span style=\"font-size:9px; position:absolute; top:2px; left:2px; font-weight:bold; color:${txt};\">${d}<\/span>\n                    <div style=\"display:flex; align-items:center; justify-content:center; height:100%; font-weight:bold; color:${txt}; font-size:12px;\">\n                        ${amt > 0 ? amt : ''}\n                    <\/div>\n                <\/div>\n            `;\n        });\n    };\n    \n    renderH(g_anderMap, 'ujAnderGrid');\n    renderH(g_baharMap, 'ujBaharGrid');\n\n    document.getElementById('ujInputArea').style.display = 'none';\n    document.getElementById('mainChartArea').style.display = 'block';\n}\n\n\/\/ --- NEW FUNCTION: GENERATE CUTTING ---\nfunction generateCutting() {\n    const cutLimit = parseInt(document.getElementById('ujCutVal').value);\n    if(isNaN(cutLimit)) { alert(\"Please enter a valid Cut Limit\"); return; }\n\n    let output = `*${g_gameName} CUTTING (ABOVE ${cutLimit})*\\n`;\n    let hasData = false;\n    let totalExcess = 0;\n\n    \/\/ 1. Cut Jodis\n    let jodiStr = \"\";\n    for(let i=1; i<=100; i++) {\n        let amt = g_dataMap[i];\n        if(amt > cutLimit) {\n            let excess = amt - cutLimit;\n            let num = (i===100) ? \"00\" : i.toString().padStart(2, '0');\n            jodiStr += `${num}=${excess} `;\n            totalExcess += excess;\n            hasData = true;\n        }\n    }\n    if(jodiStr) output += \"\\n*JODI:*\\n\" + jodiStr.trim() + \"\\n\";\n\n    \/\/ 2. Cut Ander\n    let anderStr = \"\";\n    g_anderMap.forEach((amt, i) => {\n        if(amt > cutLimit) {\n            let excess = amt - cutLimit;\n            anderStr += `A${i}=${excess} `;\n            totalExcess += excess;\n            hasData = true;\n        }\n    });\n    if(anderStr) output += \"\\n*ANDER:*\\n\" + anderStr.trim() + \"\\n\";\n\n    \/\/ 3. Cut Bahar\n    let baharStr = \"\";\n    g_baharMap.forEach((amt, i) => {\n        if(amt > cutLimit) {\n            let excess = amt - cutLimit;\n            baharStr += `B${i}=${excess} `;\n            totalExcess += excess;\n            hasData = true;\n        }\n    });\n    if(baharStr) output += \"\\n*BAHAR:*\\n\" + baharStr.trim() + \"\\n\";\n\n    output += `\\n*TOTAL AMOUNT: ${totalExcess}*`;\n\n    const txtArea = document.getElementById('ujCutOutput');\n    const btn = document.getElementById('ujCopyBtn');\n\n    if(hasData) {\n        txtArea.value = output;\n        txtArea.style.display = 'block';\n        btn.style.display = 'block';\n        btn.innerText = \"\ud83d\udccb COPY TO WHATSAPP\";\n        btn.style.background = \"#333\";\n    } else {\n        txtArea.style.display = 'block';\n        txtArea.value = \"No game found above limit \" + cutLimit;\n        btn.style.display = 'none';\n    }\n}\n\nfunction copyCutData() {\n    const txtArea = document.getElementById('ujCutOutput');\n    txtArea.select();\n    document.execCommand('copy');\n    \n    const btn = document.getElementById('ujCopyBtn');\n    btn.innerText = \"\u2705 COPIED!\";\n    btn.style.background = \"#4CAF50\";\n    setTimeout(() => {\n        btn.innerText = \"\ud83d\udccb COPY TO WHATSAPP\";\n        btn.style.background = \"#333\";\n    }, 2000);\n}\n\n\n        \n        \/\/ ====================================================\n\/\/ \ud83d\udcb0 LOAD MONITOR (10x10 CHART & HARUF TRACKER)\n\/\/ ====================================================\n\nfunction logicLoadMonitorInit() {\n    const modalHTML = `\n    <div id=\"loadModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.98); z-index:10100; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"background:#1a1a1a; border:2px solid #d4af37; width:98%; max-width:650px; padding:15px; border-radius:15px; box-shadow:0 0 50px rgba(212, 175, 55, 0.3); display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #444; padding-bottom:10px; margin-bottom:10px;\">\n                <div>\n                    <h2 style=\"color:#d4af37; margin:0; font-size:18px;\">\ud83d\udcb0 LOAD MONITOR<\/h2>\n                    <div style=\"font-size:10px; color:#aaa;\">FULL 10x10 CHART & HARUF DATA<\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('loadModal').remove()\" style=\"background:none; border:none; color:#ff4444; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div id=\"lmInputSection\">\n                <textarea id=\"lmRawInput\" rows=\"4\" style=\"width:100%; background:#000; color:#fff; border:1px solid #555; padding:10px; font-family:monospace; font-size:12px;\" \n                placeholder=\"Paste Data here...&#10;Ex: 10=35#16=15#5(B)=30\"><\/textarea>\n                \n                <button onclick=\"processLoadData()\" style=\"width:100%; margin-top:10px; background:#d4af37; color:#000; border:none; padding:10px; font-weight:bold; cursor:pointer; font-size:14px; border-radius:5px;\">\n                    \ud83d\udcca SHOW SMART CHART\n                <\/button>\n            <\/div>\n\n            <div id=\"lmChartSection\" style=\"display:none; overflow-y:auto;\">\n                \n                <div style=\"background:#333; color:#fff; padding:8px; border-radius:5px; margin-bottom:10px; display:flex; justify-content:space-between; font-size:12px;\">\n                    <span>TOTAL LOAD: <strong id=\"lmTotal\" style=\"color:#00e676;\">\u20b90<\/strong><\/span>\n                    <span>ENTRIES: <strong id=\"lmCount\">0<\/strong><\/span>\n                <\/div>\n\n                <div style=\"font-size:11px; color:#aaa; margin-bottom:5px;\">JODI LOAD (00-99)<\/div>\n                <div id=\"lmGrid\" style=\"display:grid; grid-template-columns:repeat(10, 1fr); gap:2px; background:#000; padding:2px; border:1px solid #444;\"><\/div>\n\n                <div style=\"display:flex; gap:10px; margin-top:15px;\">\n                    <div style=\"flex:1;\">\n                        <div style=\"font-size:11px; color:#00bfff; margin-bottom:3px; text-align:center;\">ANDER (Inside)<\/div>\n                        <div id=\"lmAnderGrid\" style=\"display:grid; grid-template-columns:repeat(5, 1fr); gap:2px;\"><\/div>\n                    <\/div>\n                    <div style=\"flex:1;\">\n                        <div style=\"font-size:11px; color:#ff00cc; margin-bottom:3px; text-align:center;\">BAHAR (Outside)<\/div>\n                        <div id=\"lmBaharGrid\" style=\"display:grid; grid-template-columns:repeat(5, 1fr); gap:2px;\"><\/div>\n                    <\/div>\n                <\/div>\n\n                <button onclick=\"document.getElementById('lmInputSection').style.display='block'; document.getElementById('lmChartSection').style.display='none';\" \n                        style=\"width:100%; margin-top:15px; background:#333; color:#ccc; border:none; padding:8px; border-radius:5px; cursor:pointer;\">\n                    \ud83d\udd04 NEW DATA\n                <\/button>\n\n            <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('loadModal')) document.getElementById('loadModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction processLoadData() {\n    const raw = document.getElementById('lmRawInput').value.trim();\n    if(!raw) { alert(\"Please enter data\"); return; }\n\n    \/\/ Initialize Maps\n    const jodiLoad = new Array(100).fill(0);\n    const anderLoad = new Array(10).fill(0);\n    const baharLoad = new Array(10).fill(0);\n    let totalAmt = 0;\n    let entries = 0;\n\n    \/\/ --- PARSING LOGIC ---\n    \/\/ Clean string: replace newlines\/spaces with nothing, keep delimiters\n    \/\/ Supports formats: \"10=35\", \"5(B)=30\", \"5(A)=20\"\n    \n    \/\/ Split by '#' or newline\n    const parts = raw.replace(\/\\n\/g, '#').split('#');\n\n    parts.forEach(part => {\n        part = part.trim();\n        if(!part) return;\n\n        if(part.includes('=')) {\n            let [key, valStr] = part.split('=');\n            let amt = parseInt(valStr);\n            if(isNaN(amt)) return;\n\n            \/\/ Check Key Type\n            if(key.includes('(B)') || key.includes('B')) {\n                \/\/ BAHAR HARUF: e.g. \"5(B)\" or \"5B\"\n                let digit = parseInt(key.replace(\/\\D\/g, '')); \/\/ Extract digit\n                if(!isNaN(digit) && digit >=0 && digit <=9) {\n                    baharLoad[digit] += amt;\n                    totalAmt += amt;\n                    entries++;\n                }\n            } else if(key.includes('(A)') || key.includes('A')) {\n                \/\/ ANDER HARUF: e.g. \"3(A)\"\n                let digit = parseInt(key.replace(\/\\D\/g, ''));\n                if(!isNaN(digit) && digit >=0 && digit <=9) {\n                    anderLoad[digit] += amt;\n                    totalAmt += amt;\n                    entries++;\n                }\n            } else {\n                \/\/ JODI: e.g. \"10\", \"05\", \"99\"\n                let num = parseInt(key);\n                if(!isNaN(num) && num >=0 && num <=99) {\n                    jodiLoad[num] += amt;\n                    totalAmt += amt;\n                    entries++;\n                }\n            }\n        }\n    });\n\n    \/\/ --- RENDER UI ---\n    \n    \/\/ 1. Jodi Grid (10x10)\n    const gridEl = document.getElementById('lmGrid');\n    gridEl.innerHTML = '';\n    \n    \/\/ Find Max Load for Heatmap Coloring\n    const maxLoad = Math.max(...jodiLoad, 1); \n\n    for(let i=0; i<100; i++) {\n        const amt = jodiLoad[i];\n        const nStr = i.toString().padStart(2,'0');\n        \n        \/\/ Color Logic\n        let bg = '#111';\n        let col = '#555';\n        let border = '#222';\n\n        if(amt > 0) {\n            \/\/ Calculate Heat (0 to 1)\n            let heat = amt \/ maxLoad;\n            col = '#fff';\n            \n            if(heat > 0.7) { bg = '#b71c1c'; border = '#ff5252'; } \/\/ Heavy (Red)\n            else if(heat > 0.3) { bg = '#ff6f00'; border = '#ffca28'; } \/\/ Medium (Orange)\n            else { bg = '#1b5e20'; border = '#66bb6a'; } \/\/ Light (Green)\n        }\n\n        gridEl.innerHTML += `\n            <div style=\"background:${bg}; border:1px solid ${border}; text-align:center; padding:4px 0; border-radius:2px;\">\n                <div style=\"font-size:10px; color:#aaa;\">${nStr}<\/div>\n                <div style=\"font-size:11px; font-weight:bold; color:${col};\">${amt > 0 ? amt : '-'}<\/div>\n            <\/div>\n        `;\n    }\n\n    \/\/ 2. Haruf Grids\n    const renderHaruf = (arr, elId, colorTheme) => {\n        const el = document.getElementById(elId);\n        el.innerHTML = '';\n        arr.forEach((amt, digit) => {\n            let bg = amt > 0 ? '#333' : '#111';\n            let txtCol = amt > 0 ? '#fff' : '#444';\n            el.innerHTML += `\n                <div style=\"background:${bg}; padding:3px; text-align:center; border:1px solid #222;\">\n                    <span style=\"font-size:10px; color:${colorTheme}; font-weight:bold;\">${digit}<\/span>\n                    <span style=\"font-size:10px; color:${txtCol}; display:block;\">${amt}<\/span>\n                <\/div>\n            `;\n        });\n    };\n\n    renderHaruf(anderLoad, 'lmAnderGrid', '#00bfff');\n    renderHaruf(baharLoad, 'lmBaharGrid', '#ff00cc');\n\n    \/\/ 3. Totals\n    document.getElementById('lmTotal').innerText = `\u20b9${totalAmt}`;\n    document.getElementById('lmCount').innerText = entries;\n\n    \/\/ Show Chart\n    document.getElementById('lmInputSection').style.display = 'none';\n    document.getElementById('lmChartSection').style.display = 'block';\n}\n\n        \n        \/\/ ====================================================\n\/\/ \u2696\ufe0f THE HEDGE MASTER (SMART STAKING CALCULATOR)\n\/\/ ====================================================\n\nfunction logicHedgeMasterInit() {\n    const modalHTML = `\n    <div id=\"hedgeModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.96); z-index:10080; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"background:#001a1a; border:2px solid #00ffcc; width:95%; max-width:500px; padding:20px; border-radius:15px; box-shadow:0 0 50px rgba(0, 255, 204, 0.2); max-height:90vh; overflow-y:auto;\">\n            \n            <div style=\"text-align:center; border-bottom:1px solid #004d40; padding-bottom:10px; margin-bottom:15px; position:relative;\">\n                <h2 style=\"color:#00ffcc; margin:0;\">\u2696\ufe0f HEDGE MASTER<\/h2>\n                <div style=\"font-size:11px; color:#aaa;\">ZERO LOSS STRATEGY CALCULATOR<\/div>\n                <button onclick=\"document.getElementById('hedgeModal').remove()\" style=\"position:absolute; right:0; top:0; background:none; border:none; color:#00ffcc; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"display:grid; gap:15px;\">\n                \n                <div style=\"display:flex; gap:10px;\">\n                    <div style=\"flex:1;\">\n                        <label style=\"color:#fff; font-size:11px;\">\ud83d\udcb0 TOTAL BUDGET (Rs)<\/label>\n                        <input type=\"number\" id=\"hmBudget\" value=\"1000\" style=\"width:100%; padding:10px; background:#000; color:#fff; border:1px solid #00ffcc; border-radius:5px; font-weight:bold; text-align:center;\">\n                    <\/div>\n                    <div style=\"flex:1;\">\n                        <label style=\"color:#fff; font-size:11px;\">\ud83d\udcc8 GAME RATE (Bhav)<\/label>\n                        <input type=\"number\" id=\"hmRate\" value=\"95\" style=\"width:100%; padding:10px; background:#000; color:#fff; border:1px solid #555; border-radius:5px; font-weight:bold; text-align:center;\">\n                    <\/div>\n                <\/div>\n\n                <div>\n                    <label style=\"color:#ffd700; font-size:12px; font-weight:bold;\">\ud83c\udfc6 MAIN NUMBERS (Jackpot Target)<\/label>\n                    <input type=\"text\" id=\"hmMain\" placeholder=\"Ex: 45, 90 (Comma separated)\" style=\"width:100%; padding:10px; background:#1a1200; color:#ffd700; border:1px solid #ffd700; border-radius:5px; font-weight:bold;\">\n                <\/div>\n\n                <div>\n                    <label style=\"color:#00bfff; font-size:12px; font-weight:bold;\">\ud83d\udee1\ufe0f SUPPORT NUMBERS (Recovery)<\/label>\n                    <input type=\"text\" id=\"hmSupport\" placeholder=\"Ex: 12, 14, 16, 18 (Only for money back)\" style=\"width:100%; padding:10px; background:#001a33; color:#00bfff; border:1px solid #00bfff; border-radius:5px;\">\n                <\/div>\n\n                <button onclick=\"runHedgeCalculation()\" style=\"width:100%; padding:12px; background:linear-gradient(to right, #00ffcc, #006666); color:#000; border:none; font-weight:bold; border-radius:8px; cursor:pointer; font-size:16px; margin-top:5px;\">\n                    CALCULATE STAKES \u2696\ufe0f\n                <\/button>\n\n            <\/div>\n\n            <div id=\"hmResult\" style=\"display:none; margin-top:20px; animation: fadeIn 0.5s;\">\n                <div style=\"background:#000; border:1px solid #333; border-radius:8px; padding:10px;\">\n                    \n                    <table style=\"width:100%; font-size:12px; text-align:center; border-collapse:collapse; color:#fff;\">\n                        <thead>\n                            <tr style=\"border-bottom:1px solid #333; color:#aaa;\">\n                                <th style=\"padding:5px;\">TYPE<\/th>\n                                <th>NUMBERS<\/th>\n                                <th>AMOUNT<\/th>\n                                <th>NET P\/L<\/th>\n                            <\/tr>\n                        <\/thead>\n                        <tbody id=\"hmTableBody\"><\/tbody>\n                    <\/table>\n\n                    <div id=\"hmSummary\" style=\"margin-top:10px; text-align:center; font-size:11px; color:#888; border-top:1px dashed #333; padding-top:10px;\">\n                    <\/div>\n\n                <\/div>\n                \n                <button onclick=\"copyHedgePlan()\" style=\"width:100%; margin-top:10px; background:#333; color:#fff; border:1px solid #555; padding:8px; border-radius:5px; cursor:pointer;\">\n                    \ud83d\udccb Copy Plan\n                <\/button>\n            <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('hedgeModal')) document.getElementById('hedgeModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runHedgeCalculation() {\n    \/\/ 1. Get Inputs\n    const budget = parseInt(document.getElementById('hmBudget').value) || 0;\n    const rate = parseInt(document.getElementById('hmRate').value) || 90;\n    \n    const mainStr = document.getElementById('hmMain').value;\n    const suppStr = document.getElementById('hmSupport').value;\n\n    const mainNums = mainStr.split(',').map(n=>n.trim()).filter(n=>n!==\"\" && !isNaN(n));\n    const suppNums = suppStr.split(',').map(n=>n.trim()).filter(n=>n!==\"\" && !isNaN(n));\n\n    if(budget <= 0) { alert(\"Please enter a valid budget.\"); return; }\n    if(mainNums.length === 0) { alert(\"Please enter at least 1 Main Number.\"); return; }\n\n    \/\/ 2. THE ALGORITHM\n    \n    \/\/ Step A: Calculate Minimum Stake needed for Support to recover TOTAL budget\n    \/\/ Formula: Needed_Win >= Total_Budget\n    \/\/ So, Stake * Rate >= Budget  =>  Stake >= Budget \/ Rate\n    const minRecoveryStake = Math.ceil(budget \/ rate);\n    \n    \/\/ If support numbers exist\n    const supportCost = suppNums.length * minRecoveryStake;\n    \n    \/\/ Check feasibility\n    if(supportCost >= budget) {\n        alert(`\u274c Budget Too Low!\\n\\nTo cover ${suppNums.length} support numbers, you need at least \u20b9${supportCost}.\\n\\nEither increase budget or reduce support numbers.`);\n        return;\n    }\n\n    \/\/ Step B: Remaining Budget for Main Numbers\n    const remainingBudget = budget - supportCost;\n    \n    \/\/ Distribute remaining evenly among Main Numbers\n    \/\/ Round down to avoid overshooting budget\n    const mainStake = Math.floor(remainingBudget \/ mainNums.length);\n\n    if(mainStake < minRecoveryStake) {\n        \/\/ Warning: Even hitting main won't give much profit, but process anyway\n    }\n\n    const totalUsed = supportCost + (mainStake * mainNums.length);\n    const savings = budget - totalUsed;\n\n    \/\/ 3. GENERATE TABLE\n    let html = '';\n    \n    \/\/ Main Rows\n    const mainWin = mainStake * rate;\n    const mainNet = mainWin - totalUsed;\n    \n    mainNums.forEach(n => {\n        html += `\n        <tr style=\"background:#1a1200;\">\n            <td style=\"color:#ffd700; font-weight:bold; padding:6px;\">MAIN<\/td>\n            <td style=\"font-weight:bold; font-size:14px;\">${n.padStart(2,'0')}<\/td>\n            <td style=\"color:#ffd700;\">\u20b9${mainStake}<\/td>\n            <td style=\"color:#00ff00; font-weight:bold;\">+\u20b9${mainNet}<\/td>\n        <\/tr>`;\n    });\n\n    \/\/ Support Rows\n    if(suppNums.length > 0) {\n        const suppWin = minRecoveryStake * rate;\n        const suppNet = suppWin - totalUsed; \/\/ Should be close to 0 (Recovery)\n        \n        \/\/ Show summarized for support to save space if too many\n        if(suppNums.length > 0) {\n             html += `\n            <tr style=\"background:#001a33;\">\n                <td style=\"color:#00bfff; font-weight:bold; padding:6px;\">SUPP<\/td>\n                <td style=\"font-size:11px; word-break:break-all; max-width:100px;\">${suppNums.join(', ')}<\/td>\n                <td style=\"color:#00bfff;\">\u20b9${minRecoveryStake}<\/td>\n                <td style=\"color:${suppNet>=0?'#ccc':'#ff4444'};\">${suppNet>=0?'+':''}\u20b9${suppNet}<\/td>\n            <\/tr>`;\n        }\n    }\n\n    document.getElementById('hmTableBody').innerHTML = html;\n\n    \/\/ Summary Text\n    document.getElementById('hmSummary').innerHTML = `\n        Total Investment: <strong>\u20b9${totalUsed}<\/strong> (Saved: \u20b9${savings})<br>\n        <span style=\"color:#ffd700;\">If Main Hit: <strong>Make \u20b9${mainNet} Profit<\/strong><\/span><br>\n        <span style=\"color:#00bfff;\">If Support Hit: <strong>Money Back (\u20b9${Math.abs(minRecoveryStake*rate)})<\/strong><\/span>\n    `;\n\n    document.getElementById('hmResult').style.display = 'block';\n}\n\nfunction copyHedgePlan() {\n    const mainNums = document.getElementById('hmMain').value.split(',').map(n=>n.trim()).filter(n=>n);\n    const suppNums = document.getElementById('hmSupport').value.split(',').map(n=>n.trim()).filter(n=>n);\n    \n    \/\/ Extract calculated amounts from table logic (re-calculation needed or grab from DOM)\n    \/\/ Re-running simplified calculation for copying\n    const budget = parseInt(document.getElementById('hmBudget').value);\n    const rate = parseInt(document.getElementById('hmRate').value);\n    const recStake = Math.ceil(budget\/rate);\n    const rem = budget - (suppNums.length * recStake);\n    const mainStake = Math.floor(rem \/ mainNums.length);\n\n    let text = `\u2696\ufe0f *HEDGE STRATEGY* (Budget: ${budget})\\n\\n`;\n    text += `\ud83c\udfc6 *MAIN TOP* (\u20b9${mainStake} each)\\n`;\n    text += `\ud83d\udc49 ${mainNums.join(', ')}\\n\\n`;\n    \n    if(suppNums.length > 0) {\n        text += `\ud83d\udee1\ufe0f *SUPPORT* (\u20b9${recStake} each)\\n`;\n        text += `\ud83d\udc49 ${suppNums.join(', ')}\\n`;\n    }\n    \n    navigator.clipboard.writeText(text);\n    alert(\"Strategy Copied!\");\n}\n        \/\/ ====================================================\n\/\/ \ud83d\ude80 QUADRA POWER (NEW BUTTON - SHUFFLE SCANNER)\n\/\/ ====================================================\n\nfunction logicQuadraPowerInit() {\n    \/\/ Check if Data Exists\n    if (!window.logicChartMeta || !window.logicChartMeta.quadraData) {\n        alert(\"\u274c Quadra Data not loaded via PHP. Please check code.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"quadraPowerModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.96); z-index:10060; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"background:#0f0f1a; border:2px solid #ff00cc; width:95%; max-width:550px; padding:20px; border-radius:15px; box-shadow:0 0 50px rgba(255, 0, 204, 0.4); max-height:90vh; overflow-y:auto;\">\n            \n            <div style=\"text-align:center; border-bottom:1px solid #333; padding-bottom:10px; margin-bottom:15px; position:relative;\">\n                <h2 style=\"color:#ff00cc; margin:0;\">\ud83d\ude80 QUADRA POWER<\/h2>\n                <div style=\"font-size:11px; color:#aaa;\">MULTI-DIMENSIONAL HISTORY SCANNER<\/div>\n                <button onclick=\"document.getElementById('quadraPowerModal').remove()\" style=\"position:absolute; right:0; top:0; background:none; border:none; color:#ff00cc; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"background:#220022; padding:15px; border-radius:8px; border:1px dashed #ff00cc; margin-bottom:15px;\">\n                <div style=\"font-size:12px; color:#fff; margin-bottom:10px; text-align:center;\">\n                    INPUT TODAY'S KNOWN RESULTS:\n                <\/div>\n                <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:10px;\">\n                    <div>\n                        <label style=\"color:#aaa; font-size:10px;\">DESAWAR (DS)<\/label>\n                        <input type=\"number\" id=\"qp_ds\" placeholder=\"--\" class=\"qp-inp\">\n                    <\/div>\n                    <div>\n                        <label style=\"color:#aaa; font-size:10px;\">FARIDABAD (FB)<\/label>\n                        <input type=\"number\" id=\"qp_fb\" placeholder=\"--\" class=\"qp-inp\">\n                    <\/div>\n                    <div>\n                        <label style=\"color:#aaa; font-size:10px;\">GHAZIABAD (GB)<\/label>\n                        <input type=\"number\" id=\"qp_gb\" placeholder=\"--\" class=\"qp-inp\">\n                    <\/div>\n                    <div>\n                        <label style=\"color:#aaa; font-size:10px;\">GALI (GL)<\/label>\n                        <input type=\"number\" id=\"qp_gl\" placeholder=\"--\" class=\"qp-inp\">\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <button onclick=\"runQuadraPowerEngine()\" style=\"width:100%; padding:12px; background:linear-gradient(to right, #ff00cc, #333399); color:#fff; border:none; font-weight:bold; border-radius:8px; cursor:pointer; font-size:16px; box-shadow:0 0 15px rgba(255,0,204,0.4);\">\n                \ud83d\udd0d SCAN FULL HISTORY\n            <\/button>\n            \n            <div style=\"margin-top:15px; font-size:10px; color:#666; text-align:center;\">\n                *Scans for Exact Matches AND Shuffle Matches (Same numbers, different games).\n            <\/div>\n\n            <style>\n                .qp-inp { width:100%; background:#000; color:#fff; border:1px solid #555; padding:10px; text-align:center; font-weight:bold; border-radius:4px; font-size:14px; }\n                .qp-inp:focus { border-color:#ff00cc; outline:none; }\n            <\/style>\n        <\/div>\n    <\/div>\n    `;\n    \n    \/\/ Remove old if open\n    if(document.getElementById('quadraPowerModal')) document.getElementById('quadraPowerModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runQuadraPowerEngine() {\n    \/\/ 1. Get Values\n    const ds = document.getElementById('qp_ds').value;\n    const fb = document.getElementById('qp_fb').value;\n    const gb = document.getElementById('qp_gb').value;\n    const gl = document.getElementById('qp_gl').value;\n\n    \/\/ Build Strict Query\n    const strictQuery = {};\n    if(ds) strictQuery['DESAWAR'] = ds.padStart(2,'0');\n    if(fb) strictQuery['FARIDABAD'] = fb.padStart(2,'0');\n    if(gb) strictQuery['GAZIYAABAAD'] = gb.padStart(2,'0');\n    if(gl) strictQuery['GALI'] = gl.padStart(2,'0');\n\n    \/\/ Build Shuffle List (Array of numbers)\n    const shuffleNums = [ds, fb, gb, gl].filter(x => x).map(x => x.padStart(2,'0'));\n\n    if(shuffleNums.length < 1) { \n        alert(\"Please enter at least 1 result to scan.\"); \n        return; \n    }\n\n    \/\/ Close Modal & Show Loading\n    document.getElementById('quadraPowerModal').remove();\n    logicChartShowPopup(\"\ud83d\ude80 Scanning Time Vortex...\");\n\n    \/\/ 2. SCANNING LOGIC\n    const db = window.logicChartMeta.quadraData;\n    const strictMatches = [];\n    const shuffleMatches = [];\n\n    for (const [date, data] of Object.entries(db)) {\n        \/\/ A. STRICT MATCH CHECK (Seedha Match)\n        let isStrict = true;\n        for(const [game, val] of Object.entries(strictQuery)) {\n            if(!data[game] || data[game] !== val) { isStrict = false; break; }\n        }\n        if(isStrict) strictMatches.push({ date, data, type: 'STRICT' });\n\n        \/\/ B. SHUFFLE MATCH CHECK (Tedha Match)\n        \/\/ Kya us din ye saare numbers khule the? Chahe kisi bhi game me ho.\n        let dayResults = Object.values(data); \n        let isShuffle = true;\n        let dayResClone = [...dayResults]; \n        \n        for(const num of shuffleNums) {\n            const idx = dayResClone.indexOf(num);\n            if(idx !== -1) {\n                dayResClone.splice(idx, 1); \/\/ Found, remove to handle duplicates\n            } else {\n                isShuffle = false; \/\/ Not found\n                break;\n            }\n        }\n\n        \/\/ Avoid adding same date twice\n        if(isShuffle && !isStrict) {\n            shuffleMatches.push({ date, data, type: 'SHUFFLE' });\n        }\n    }\n\n    \/\/ 3. GENERATE RESULT HTML\n    renderQuadraPowerResult(strictMatches, shuffleMatches, strictQuery, shuffleNums);\n}\n\nfunction renderQuadraPowerResult(strict, shuffle, queryObj, inputNums) {\n    const total = strict.length + shuffle.length;\n    const keys = Object.keys(queryObj);\n\n    \/\/ Identify what game is likely next (simple logic: find missing input)\n    const allGames = ['DESAWAR', 'FARIDABAD', 'GAZIYAABAAD', 'GALI'];\n    const inputGames = Object.keys(queryObj);\n    const missingGames = allGames.filter(g => !inputGames.includes(g));\n    const targetLabel = missingGames.length > 0 ? missingGames.join('\/') : \"NEXT DAY\";\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        <div style=\"background:linear-gradient(to right, #ff00cc, #333399); padding:15px; border-radius:10px; margin-bottom:15px; text-align:center; box-shadow:0 0 20px rgba(255,0,204,0.3);\">\n            <div style=\"font-size:22px; font-weight:bold;\">\ud83d\ude80 QUADRA POWER<\/div>\n            <div style=\"font-size:12px; color:#ddd;\">PATTERN MATCH REPORT<\/div>\n        <\/div>\n\n        <div style=\"background:#111; padding:10px; border-radius:8px; border-left:4px solid #ff00cc; margin-bottom:15px;\">\n            <div style=\"font-size:10px; color:#aaa;\">SEARCHING FOR:<\/div>\n            <div style=\"font-size:14px; font-weight:bold; color:#fff;\">\n                ${inputNums.join(' + ')}\n            <\/div>\n            <div style=\"margin-top:5px; font-size:11px;\">\n                Found: <span style=\"color:#00e676; font-weight:bold;\">${strict.length} Exact<\/span> | \n                <span style=\"color:#ff00cc; font-weight:bold;\">${shuffle.length} Shuffle<\/span>\n            <\/div>\n        <\/div>\n\n        <div style=\"max-height:400px; overflow-y:auto; padding-right:5px;\">\n            ${total === 0 ? '<div style=\"text-align:center; padding:20px; color:#666;\">No patterns found in history. Unique Event!<\/div>' : ''}\n            \n            ${[...strict, ...shuffle].map(m => `\n                <div style=\"background:${m.type==='STRICT'?'#001a00':'#1a001a'}; border:1px solid ${m.type==='STRICT'?'#00e676':'#ff00cc'}; border-radius:6px; padding:10px; margin-bottom:10px;\">\n                    \n                    <div style=\"display:flex; justify-content:space-between; margin-bottom:5px; border-bottom:1px solid rgba(255,255,255,0.1); padding-bottom:5px;\">\n                        <span style=\"color:#fff; font-size:12px;\">\ud83d\udcc5 ${m.date}<\/span>\n                        <span style=\"font-weight:bold; font-size:10px; background:${m.type==='STRICT'?'#00e676':'#ff00cc'}; color:#000; padding:2px 6px; border-radius:4px;\">\n                            ${m.type}\n                        <\/span>\n                    <\/div>\n\n                    <div style=\"display:grid; grid-template-columns:repeat(4,1fr); text-align:center; font-size:11px; gap:2px;\">\n                        <div style=\"${getQStyle(m.data['DESAWAR'], inputNums)}\">DS<br>${m.data['DESAWAR']||'--'}<\/div>\n                        <div style=\"${getQStyle(m.data['FARIDABAD'], inputNums)}\">FB<br>${m.data['FARIDABAD']||'--'}<\/div>\n                        <div style=\"${getQStyle(m.data['GAZIYAABAAD'], inputNums)}\">GB<br>${m.data['GAZIYAABAAD']||'--'}<\/div>\n                        <div style=\"${getQStyle(m.data['GALI'], inputNums)}\">GL<br>${m.data['GALI']||'--'}<\/div>\n                    <\/div>\n\n                <\/div>\n            `).join('')}\n        <\/div>\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Quadra Power Search', html);\n    logicChartAddLegend('#ff00cc', 'Shuffle Match');\n}\n\nfunction getQStyle(val, inputs) {\n    if(!val) return 'color:#444;';\n    if(inputs.includes(val)) return 'background:#fff; color:#000; font-weight:bold; border-radius:4px; box-shadow:0 0 5px white;';\n    return 'color:#888;';\n}\n        \n        \/\/ ====================================================\n\/\/ \ud83d\udd22 HARUF MANAGER PRO (101-120 CODE SYSTEM)\n\/\/ ====================================================\n\nvar harufState = {\n    rawInput: \"\",\n    data: {\n        ander: Array(10).fill(0), \/\/ Index 0-9 stores amount\n        bahar: Array(10).fill(0)\n    }\n};\n\nfunction logicHarufManagerInit() {\n    const modalHTML = `\n    <div id=\"harufModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.95); z-index:10030; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"background:#0f0c29; border:2px solid #8E2DE2; width:95%; max-width:600px; padding:20px; border-radius:15px; box-shadow:0 0 40px rgba(142, 45, 226, 0.3); max-height:90vh; overflow-y:auto;\">\n            \n            <div style=\"text-align:center; border-bottom:1px solid #333; padding-bottom:10px; margin-bottom:15px; display:flex; justify-content:space-between; align-items:center;\">\n                <div>\n                    <h3 style=\"color:#cbb2fe; margin:0;\">\ud83d\udd22 HARUF MANAGER<\/h3>\n                    <div style=\"font-size:10px; color:#aaa;\">CODE SYSTEM (101-120)<\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('harufModal').remove()\" style=\"background:none; border:none; color:#ff4444; font-size:20px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div id=\"hmInputSection\">\n                <div style=\"background:#1a1a2e; padding:10px; border-radius:8px; border:1px dashed #8E2DE2; margin-bottom:10px;\">\n                    <div style=\"font-size:10px; color:#aaa; margin-bottom:5px;\">\u2139\ufe0f CODE GUIDE:<\/div>\n                    <div style=\"font-size:10px; color:#fff; display:grid; grid-template-columns:1fr 1fr;\">\n                        <span>101-109 = Bahar 1-9 (110=0)<\/span>\n                        <span>111-119 = Ander 1-9 (120=0)<\/span>\n                    <\/div>\n                <\/div>\n\n                <textarea id=\"hmInput\" rows=\"5\" style=\"width:100%; background:#000; color:#fff; border:1px solid #444; border-radius:8px; padding:10px; font-family:monospace;\" placeholder=\"Paste Data (e.g. 108=300#119=200#120=500...)\"><\/textarea>\n                \n                <button onclick=\"runHarufAnalysis()\" style=\"width:100%; margin-top:15px; padding:12px; background:linear-gradient(to right, #8E2DE2, #4A00E0); color:#fff; border:none; font-weight:bold; border-radius:8px; cursor:pointer;\">\n                    \ud83d\udcca DECODE & ANALYZE\n                <\/button>\n            <\/div>\n\n            <div id=\"hmDashboard\" style=\"display:none;\">\n                <div id=\"hmContent\"><\/div>\n                <div style=\"text-align:center; margin-top:15px;\">\n                    <button onclick=\"document.getElementById('hmInputSection').style.display='block';document.getElementById('hmDashboard').style.display='none';\" style=\"background:#333; color:#ccc; border:none; padding:8px 15px; border-radius:20px; cursor:pointer; font-size:11px;\">\ud83d\udd04 NEW INPUT<\/button>\n                <\/div>\n            <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('harufModal')) document.getElementById('harufModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runHarufAnalysis() {\n    const raw = document.getElementById('hmInput').value.trim();\n    if(!raw) { alert(\"Please paste data.\"); return; }\n    \n    \/\/ Reset Data\n    harufState.data.ander.fill(0);\n    harufState.data.bahar.fill(0);\n    harufState.rawInput = raw;\n\n    \/\/ --- PARSING LOGIC (The Decoder) ---\n    let cleanRaw = raw.replace(\/\\n\/g, '#').replace(\/\\s\/g, ''); \n    let parts = cleanRaw.split('#');\n\n    parts.forEach(p => {\n        if(p.includes('=')) {\n            let [codeStr, amtStr] = p.split('=');\n            let code = parseInt(codeStr);\n            let amt = parseInt(amtStr);\n\n            if(!isNaN(code) && !isNaN(amt)) {\n                \/\/ LOGIC: 101-110 (Bahar), 111-120 (Ander)\n                \n                \/\/ BAHAR (101-110)\n                if(code >= 101 && code <= 110) {\n                    let digit = (code === 110) ? 0 : (code - 100);\n                    harufState.data.bahar[digit] += amt;\n                }\n                \/\/ ANDER (111-120)\n                else if(code >= 111 && code <= 120) {\n                    let digit = (code === 120) ? 0 : (code - 110);\n                    harufState.data.ander[digit] += amt;\n                }\n            }\n        }\n    });\n\n    renderHarufDashboard();\n    document.getElementById('hmInputSection').style.display = 'none';\n    document.getElementById('hmDashboard').style.display = 'block';\n}\n\nfunction renderHarufDashboard() {\n    const d = harufState.data;\n    \n    \/\/ Calculate Totals & Max for styling\n    const totalA = d.ander.reduce((a,b)=>a+b,0);\n    const totalB = d.bahar.reduce((a,b)=>a+b,0);\n    const maxLoad = Math.max(...d.ander, ...d.bahar);\n\n    \/\/ Helper to generate a row\n    const genRow = (digit, amt, type, max) => {\n        const percent = max > 0 ? (amt \/ max) * 100 : 0;\n        \/\/ Color Logic: Red for High Load (>70% of max), Green for Low\n        const barColor = percent > 80 ? '#ff3333' : (percent > 40 ? '#ff9800' : '#00e676');\n        \n        return `\n        <div style=\"display:flex; align-items:center; margin-bottom:5px; background:#000; padding:5px; border-radius:4px; border-left:3px solid ${barColor};\">\n            <div style=\"font-weight:bold; color:#fff; width:20px;\">${digit}<\/div>\n            \n            <div style=\"flex:1; margin:0 10px;\">\n                <div style=\"background:#222; height:6px; border-radius:3px; overflow:hidden;\">\n                    <div style=\"width:${percent}%; height:100%; background:${barColor};\"><\/div>\n                <\/div>\n                <div style=\"font-size:9px; color:#aaa; margin-top:2px;\">\u20b9${amt}<\/div>\n            <\/div>\n\n            <div style=\"display:flex; gap:2px;\">\n                <button onclick=\"modHaruf('${type}', ${digit}, 50)\" style=\"background:#112211; color:#0f0; border:1px solid #004400; cursor:pointer; font-size:9px; padding:2px;\">+<\/button>\n                <button onclick=\"modHaruf('${type}', ${digit}, -50)\" style=\"background:#221111; color:#f00; border:1px solid #440000; cursor:pointer; font-size:9px; padding:2px;\">-<\/button>\n            <\/div>\n        <\/div>`;\n    };\n\n    let html = `\n    <div style=\"font-size:12px; text-align:center; color:#fff; margin-bottom:15px;\">\n        TOTAL MARKET LOAD: <span style=\"color:#00ffff; font-weight:bold;\">\u20b9${totalA + totalB}<\/span>\n    <\/div>\n\n    <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:10px;\">\n        \n        <div style=\"background:#1a1a2e; padding:10px; border-radius:8px; border:1px solid #4A00E0;\">\n            <div style=\"text-align:center; color:#cbb2fe; font-weight:bold; margin-bottom:10px; border-bottom:1px dashed #4A00E0;\">\n                \ud83c\udd70\ufe0f ANDER (Open) <span style=\"font-size:10px; color:#fff;\">\u20b9${totalA}<\/span>\n            <\/div>\n            ${d.ander.map((amt, i) => genRow(i, amt, 'ander', maxLoad)).join('')}\n        <\/div>\n\n        <div style=\"background:#1a1a2e; padding:10px; border-radius:8px; border:1px solid #8E2DE2;\">\n            <div style=\"text-align:center; color:#cbb2fe; font-weight:bold; margin-bottom:10px; border-bottom:1px dashed #8E2DE2;\">\n                \ud83c\udd71\ufe0f BAHAR (Close) <span style=\"font-size:10px; color:#fff;\">\u20b9${totalB}<\/span>\n            <\/div>\n            ${d.bahar.map((amt, i) => genRow(i, amt, 'bahar', maxLoad)).join('')}\n        <\/div>\n\n    <\/div>\n\n    <div style=\"margin-top:15px; background:#000; padding:10px; border-radius:8px; text-align:center;\">\n        <button onclick=\"copyHarufData()\" style=\"background:#8E2DE2; color:#fff; border:none; padding:8px 20px; border-radius:5px; font-weight:bold; cursor:pointer;\">\n            \ud83d\udccb COPY ADJUSTED DATA\n        <\/button>\n        <div style=\"font-size:9px; color:#666; margin-top:5px;\">*Copies in original 101-120 format<\/div>\n    <\/div>\n    `;\n\n    document.getElementById('hmContent').innerHTML = html;\n}\n\nfunction modHaruf(type, digit, amount) {\n    let arr = type === 'ander' ? harufState.data.ander : harufState.data.bahar;\n    let newVal = arr[digit] + amount;\n    if(newVal < 0) newVal = 0;\n    arr[digit] = newVal;\n    renderHarufDashboard();\n}\n\nfunction copyHarufData() {\n    \/\/ Reconstruct the 101-120 string format\n    let parts = [];\n    \n    \/\/ Bahar (101-110)\n    harufState.data.bahar.forEach((amt, digit) => {\n        if(amt > 0) {\n            let code = (digit === 0) ? 110 : (100 + digit);\n            parts.push(`${code}=${amt}`);\n        }\n    });\n\n    \/\/ Ander (111-120)\n    harufState.data.ander.forEach((amt, digit) => {\n        if(amt > 0) {\n            let code = (digit === 0) ? 120 : (110 + digit);\n            parts.push(`${code}=${amt}`);\n        }\n    });\n\n    const str = parts.join('#');\n    navigator.clipboard.writeText(str);\n    alert(\"\u2705 Data Copied in Code Format!\");\n}\n        \n        \/\/ ====================================================\n\/\/ \ud83d\udc51 THE KING MAKER (RESULT DECIDER & P\/L SIMULATOR)\n\/\/ ====================================================\n\nfunction logicKingMakerInit() {\n    \/\/ 1. Check if we already have data from Profit Hunter?\n    let hasData = false;\n    if (typeof khaiwalState !== 'undefined' && khaiwalState.rawInput) {\n        hasData = true;\n    }\n\n    const modalHTML = `\n    <div id=\"kingModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.98); z-index:10020; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"background:#1a1000; border:2px solid #d4af37; width:95%; max-width:850px; padding:15px; border-radius:15px; box-shadow:0 0 60px rgba(212, 175, 55, 0.3); max-height:95vh; overflow-y:auto; display:flex; flex-direction:column;\">\n            \n            <div style=\"text-align:center; border-bottom:1px solid #d4af37; padding-bottom:10px; margin-bottom:15px; position:relative;\">\n                <div style=\"font-size:40px; line-height:1;\">\ud83d\udc51<\/div>\n                <h2 style=\"color:#d4af37; margin:0; font-size:22px;\">THE KING MAKER<\/h2>\n                <div style=\"font-size:10px; color:#aaa; letter-spacing:2px;\">PROFIT & LOSS SIMULATOR<\/div>\n                <button onclick=\"document.getElementById('kingModal').remove()\" style=\"position:absolute; right:0; top:0; background:none; border:none; color:#d4af37; font-size:20px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"background:#2b2200; padding:10px; border-radius:8px; display:flex; justify-content:space-between; align-items:center; margin-bottom:15px; border:1px solid #5c4d00;\">\n                <div>\n                    <label style=\"color:#ccc; font-size:11px;\">GAME RATE (Bhav)<\/label>\n                    <select id=\"kmRate\" onchange=\"runKingAnalysis()\" style=\"background:#000; color:#fff; border:1px solid #d4af37; padding:5px; border-radius:4px; font-weight:bold;\">\n                        <option value=\"90\">90 ka Bhav (Standard)<\/option>\n                        <option value=\"95\">95 ka Bhav (High)<\/option>\n                        <option value=\"100\">100 ka Bhav (Full)<\/option>\n                        <option value=\"80\">80 ka Bhav (Low)<\/option>\n                    <\/select>\n                <\/div>\n                <div style=\"text-align:right;\">\n                    <div style=\"font-size:9px; color:#aaa;\">TOTAL COLLECTION<\/div>\n                    <div id=\"kmTotalColl\" style=\"font-size:18px; font-weight:bold; color:#00e676;\">\u20b90<\/div>\n                <\/div>\n            <\/div>\n\n            <div id=\"kmInputArea\" style=\"display:${hasData ? 'none' : 'block'}; margin-bottom:15px;\">\n                <label style=\"color:#d4af37; font-size:12px;\">Paste Load Data:<\/label>\n                <textarea id=\"kmRawInput\" rows=\"4\" style=\"width:100%; background:#000; color:#fff; border:1px solid #d4af37; padding:8px; font-family:monospace;\" placeholder=\"01=100#02=500...\"><\/textarea>\n                <button onclick=\"manualLoadKingData()\" style=\"width:100%; margin-top:5px; background:#d4af37; color:#000; border:none; padding:8px; font-weight:bold; cursor:pointer;\">LOAD DATA<\/button>\n            <\/div>\n\n            <div id=\"kmResults\" style=\"display:none;\">\n                \n                <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:15px;\">\n                    \n                    <div style=\"background:linear-gradient(135deg, #2b2200, #463700); border:1px solid #d4af37; border-radius:8px; padding:10px;\">\n                        <div style=\"font-size:12px; color:#d4af37; font-weight:bold; border-bottom:1px solid #5c4d00; padding-bottom:5px; margin-bottom:5px;\">\n                            \ud83c\udfc6 MAX PROFIT (Best for You)\n                        <\/div>\n                        <div id=\"kmTopProfitList\" style=\"font-size:11px;\"><\/div>\n                    <\/div>\n\n                    <div style=\"background:linear-gradient(135deg, #001a33, #002b4d); border:1px solid #00bfff; border-radius:8px; padding:10px;\">\n                        <div style=\"font-size:12px; color:#00bfff; font-weight:bold; border-bottom:1px solid #004d66; padding-bottom:5px; margin-bottom:5px;\">\n                            \ud83e\udd1d MARKET FEEDER (Safe Exit)\n                        <\/div>\n                        <div id=\"kmSafeExitList\" style=\"font-size:11px;\"><\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:#220000; border:1px solid #ff3333; padding:8px; border-radius:8px; margin-bottom:15px; text-align:center;\">\n                    <span style=\"color:#ff3333; font-weight:bold; font-size:12px;\">\u2620\ufe0f DEATH ZONE (Heavy Loss):<\/span>\n                    <span id=\"kmDeathList\" style=\"color:#fff; font-size:12px;\"><\/span>\n                <\/div>\n\n                <div style=\"background:#000; padding:10px; border-radius:8px; border:1px solid #333;\">\n                    <div style=\"font-size:11px; color:#aaa; margin-bottom:5px; display:flex; justify-content:space-between;\">\n                        <span>FULL 00-99 PROFIT X-RAY<\/span>\n                        <span><span style=\"color:#00e676;\">Green = Profit<\/span> | <span style=\"color:#ff3333;\">Red = Loss<\/span><\/span>\n                    <\/div>\n                    <div id=\"kmGrid\" style=\"display:grid; grid-template-columns:repeat(10, 1fr); gap:4px; max-height:300px; overflow-y:auto;\">\n                        <\/div>\n                <\/div>\n\n            <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    \/\/ Remove old modal\n    if(document.getElementById('kingModal')) document.getElementById('kingModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ Auto Load if data exists\n    if(hasData) {\n        runKingAnalysis();\n    }\n}\n\nfunction manualLoadKingData() {\n    const raw = document.getElementById('kmRawInput').value.trim();\n    if(!raw) return;\n    \n    \/\/ Parse manually\n    if(typeof parseBetData === 'function') {\n        \/\/ Reuse Profit Hunter parser if available\n        parseBetData(raw); \n    } else {\n        \/\/ Fallback parser logic\n        let cleanRaw = raw.replace(\/\\n\/g, '#').replace(\/\\s\/g, ''); \n        let parts = cleanRaw.split('#');\n        let betMap = {};\n        parts.forEach(p => {\n            if(p.includes('=')) {\n                let [n, amt] = p.split('=');\n                let num = parseInt(n);\n                let amount = parseInt(amt);\n                if(!isNaN(num) && !isNaN(amount)) {\n                    let nStr = num.toString().padStart(2,'0');\n                    betMap[nStr] = (betMap[nStr] || 0) + amount; \n                }\n            }\n        });\n        \/\/ Create global state if not exists\n        if(typeof khaiwalState === 'undefined') {\n            window.khaiwalState = { betMap: betMap, gapMap: {} };\n        } else {\n            khaiwalState.betMap = betMap;\n        }\n    }\n    \n    runKingAnalysis();\n}\n\nfunction runKingAnalysis() {\n    if(!khaiwalState || !khaiwalState.betMap) return;\n\n    const bets = khaiwalState.betMap;\n    \/\/ Gap calculation if available\n    const timeline = window.logicChartMeta?.timeline || [];\n    const gaps = khaiwalState.gapMap || {}; \n\n    \/\/ If gaps missing, calc quickly\n    if(Object.keys(gaps).length === 0 && timeline.length > 0) {\n        const lastPos = {};\n        timeline.forEach((n, idx) => lastPos[n] = idx);\n        for(let i=0; i<100; i++) gaps[i] = lastPos[i]!==undefined ? timeline.length-1-lastPos[i] : 999;\n    }\n\n    const rate = parseInt(document.getElementById('kmRate').value);\n    \n    \/\/ 1. Calculate Total Collection\n    let totalCollection = 0;\n    Object.values(bets).forEach(amt => totalCollection += amt);\n\n    document.getElementById('kmTotalColl').innerText = `\u20b9${totalCollection}`;\n    document.getElementById('kmInputArea').style.display = 'none';\n    document.getElementById('kmResults').style.display = 'block';\n\n    \/\/ 2. Calculate P\/L for EVERY number (00-99)\n    let simulation = [];\n    \n    for(let i=0; i<100; i++) {\n        const nStr = i.toString().padStart(2,'0');\n        const load = bets[nStr] || 0;\n        \n        const payout = load * rate;\n        const netProfit = totalCollection - payout;\n        const profitPercent = totalCollection > 0 ? (netProfit \/ totalCollection) * 100 : 0;\n        \n        simulation.push({\n            n: nStr,\n            load: load,\n            payout: payout,\n            profit: netProfit,\n            perc: profitPercent,\n            gap: gaps[i] || 0\n        });\n    }\n\n    \/\/ Sort by Profit (High to Low)\n    simulation.sort((a,b) => b.profit - a.profit);\n\n    \/\/ 3. GENERATE LISTS\n\n    \/\/ A. MAX PROFIT (Top 5)\n    \/\/ Logic: Highest Profit numbers.\n    let profitListHTML = '';\n    simulation.slice(0, 5).forEach(item => {\n        profitListHTML += `\n        <div style=\"display:flex; justify-content:space-between; border-bottom:1px dashed #5c4d00; padding:4px 0; font-size:12px;\">\n            <div>\n                <span style=\"color:#fff; font-weight:bold; font-size:14px;\">${item.n}<\/span>\n                <span style=\"color:#888; font-size:9px;\">Gap:${item.gap}d<\/span>\n            <\/div>\n            <div style=\"text-align:right;\">\n                <div style=\"color:#00e676; font-weight:bold;\">+\u20b9${item.profit}<\/div>\n                <div style=\"color:#d4af37; font-size:9px;\">Load: \u20b9${item.load}<\/div>\n            <\/div>\n        <\/div>`;\n    });\n    document.getElementById('kmTopProfitList').innerHTML = profitListHTML;\n\n    \/\/ B. MARKET FEEDER (Top 5 Positive but not Top 10)\n    \/\/ Find numbers where Profit is positive but load is not 0 (meaning someone wins)\n    const feeders = simulation.filter(x => x.profit > 0 && x.load > 0);\n    \/\/ Sort feeders by Load DESC (Biggest winners for public, but still profit for house)\n    feeders.sort((a,b) => b.load - a.load);\n    \n    let feederListHTML = '';\n    feeders.slice(0, 5).forEach(item => {\n        feederListHTML += `\n        <div style=\"display:flex; justify-content:space-between; border-bottom:1px dashed #004d66; padding:4px 0; font-size:12px;\">\n            <div>\n                <span style=\"color:#fff; font-weight:bold; font-size:14px;\">${item.n}<\/span>\n                <span style=\"color:#00bfff; font-size:9px;\">Pays: \u20b9${item.payout}<\/span>\n            <\/div>\n            <div style=\"text-align:right;\">\n                <div style=\"color:#88ffcc; font-weight:bold;\">+\u20b9${item.profit}<\/div>\n                <div style=\"color:#aaa; font-size:9px;\">Keep ${item.perc.toFixed(0)}%<\/div>\n            <\/div>\n        <\/div>`;\n    });\n    document.getElementById('kmSafeExitList').innerHTML = feederListHTML || '<div style=\"color:#666; font-size:10px;\">No balanced numbers found.<\/div>';\n\n    \/\/ C. DEATH ZONE (Negative Profit)\n    const losers = simulation.filter(x => x.profit < 0);\n    \/\/ Worst first (already sorted by profit desc, so take from end)\n    const worst = losers.sort((a,b) => a.profit - b.profit).slice(0, 5); \/\/ Most negative first\n    \n    document.getElementById('kmDeathList').innerHTML = worst.length > 0 ? \n        worst.map(x => `<span style=\"border:1px solid #ff3333; padding:2px 5px; border-radius:3px; margin-right:3px;\">${x.n} (-${Math.abs(x.profit)})<\/span>`).join('') :\n        \"None (All numbers profitable!)\";\n\n    \/\/ 4. RENDER GRID (00-99)\n    \/\/ Resort by Number for Grid\n    simulation.sort((a,b) => parseInt(a.n) - parseInt(b.n));\n    \n    let gridHTML = '';\n    simulation.forEach(item => {\n        \/\/ Color coding\n        let bg = '';\n        let col = '#fff';\n        \n        if (item.profit < 0) { bg = '#330000'; col = '#ff3333'; } \/\/ Loss\n        else if (item.load === 0) { bg = '#111'; col = '#555'; } \/\/ No Bet (Neutral)\n        else { bg = '#002200'; col = '#00e676'; } \/\/ Profit with Load\n\n        \/\/ Highlight \"King\" numbers (Max profit)\n        if(item.perc === 100 && item.load === 0 && item.gap > 100) {\n            \/\/ Special highlight for Empty + High Gap (Super Safe)\n            bg = '#1a1000'; col = '#d4af37'; \n        }\n\n        gridHTML += `\n        <div style=\"background:${bg}; font-size:10px; text-align:center; padding:5px 2px; border-radius:3px; border:1px solid ${col}30;\" title=\"Num: ${item.n} | Load: ${item.load} | P\/L: ${item.profit}\">\n            <div style=\"font-weight:bold; color:${col};\">${item.n}<\/div>\n            <div style=\"font-size:8px; color:#aaa;\">${item.profit < 0 ? '-' : '+'}${Math.abs(item.profit)}<\/div>\n        <\/div>`;\n    });\n    document.getElementById('kmGrid').innerHTML = gridHTML;\n}\n        \/\/ ====================================================\n\/\/ \ud83c\udfb0 KHAIWAL PROFIT HUNTER 3.0 (DYNAMIC SLIDER + AUDIT)\n\/\/ ====================================================\n\nvar khaiwalState = {\n    rawInput: \"\",       \/\/ Original user input\n    betMap: {},         \/\/ Current bets (Number -> Amount)\n    gapMap: {},         \/\/ Current Gaps (Number -> Days)\n    winningGaps: [],    \/\/ Audit Data: History me jab number khula tab uska gap kya tha\n    gapThreshold: 60,   \/\/ Default Gap (Slider Value)\n    totalDraws: 0\n};\n\nfunction logicKhaiwalManagerInit() {\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 100) {\n        alert(\"\u274c History Data Loading... Please check chart.\");\n        return;\n    }\n\n    \/\/ 1. PRE-CALCULATE HISTORICAL WINNING GAPS (For Fast Audit)\n    \/\/ Hum pehle hi nikal lenge ki jab bhi koi number khula, wo kitne din baad khula tha.\n    \/\/ Isse slider hilane par calculation turant ho jayegi.\n    \n    let tempPos = {}; \n    let winGaps = [];\n    \n    \/\/ Initial mapping up to start of audit (let's check last 2 years\/700 draws)\n    const scanStart = Math.max(0, timeline.length - 730);\n    \n    \/\/ Fill positions before scan start\n    for(let i=0; i<scanStart; i++) {\n        tempPos[timeline[i]] = i;\n    }\n\n    for(let i=scanStart; i<timeline.length; i++) {\n        const result = timeline[i];\n        let gap = 0;\n        \n        if(tempPos[result] !== undefined) {\n            gap = i - 1 - tempPos[result];\n        } else {\n            gap = i; \/\/ First time opening (huge gap)\n        }\n        \n        \/\/ Store: { index: i, gap: gap, result: result }\n        winGaps.push({ i: i, gap: gap, res: result });\n        \n        \/\/ Update position\n        tempPos[result] = i;\n    }\n    \n    khaiwalState.winningGaps = winGaps;\n    khaiwalState.totalDraws = timeline.length;\n\n    \/\/ 2. MODAL UI\n    const modalHTML = `\n    <div id=\"khaiwalModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.98); z-index:10010; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"background:#0f172a; border:2px solid #ffd700; width:95%; max-width:800px; padding:15px; border-radius:15px; box-shadow:0 0 50px rgba(255, 215, 0, 0.2); max-height:95vh; overflow-y:auto; display:flex; flex-direction:column;\">\n            \n            <div style=\"text-align:center; border-bottom:1px solid #334155; padding-bottom:10px; margin-bottom:10px; display:flex; justify-content:space-between; align-items:center;\">\n                <div>\n                    <h2 style=\"color:#ffd700; margin:0; font-size:18px;\">\ud83c\udfb0 KHAIWAL PROFIT HUNTER 3.0<\/h2>\n                    <div style=\"font-size:10px; color:#94a3b8; text-align:left;\">DYNAMIC AUDIT & RISK ENGINE<\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('khaiwalModal').remove()\" style=\"background:red; color:#fff; border:none; padding:5px 10px; border-radius:4px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div id=\"kmInputSection\">\n                <label style=\"color:#fff; font-size:12px; display:block; margin-bottom:5px;\">Paste Game Data (Format: 05=30#14=100...)<\/label>\n                <textarea id=\"kmInput\" rows=\"6\" style=\"width:100%; background:#1e293b; color:#fff; border:1px solid #334155; border-radius:8px; padding:10px; font-family:monospace;\" placeholder=\"Paste record here...\"><\/textarea>\n                \n                <button onclick=\"runKhaiwalAnalysis()\" style=\"width:100%; margin-top:15px; padding:12px; background:linear-gradient(to right, #ffd700, #ff8c00); color:#000; border:none; font-weight:bold; border-radius:8px; cursor:pointer; font-size:16px;\">\n                    \ud83d\udcb0 LOAD DATA & ANALYZE\n                <\/button>\n            <\/div>\n\n            <div id=\"kmDashboard\" style=\"display:none;\">\n                \n                <div style=\"background:#1e293b; padding:10px; border-radius:8px; margin-bottom:15px; border:1px solid #475569;\">\n                    <div style=\"display:flex; justify-content:space-between; margin-bottom:5px;\">\n                        <span style=\"color:#ffd700; font-weight:bold;\">GOLD MINE GAP SETTING:<\/span>\n                        <span id=\"gapValDisplay\" style=\"color:#fff; font-weight:bold;\">60 Days<\/span>\n                    <\/div>\n                    <input type=\"range\" id=\"gapSlider\" min=\"30\" max=\"365\" value=\"60\" style=\"width:100%; cursor:pointer;\" oninput=\"updateKhaiwalGap(this.value)\">\n                    <div style=\"display:flex; justify-content:space-between; font-size:10px; color:#aaa;\">\n                        <span>30d<\/span><span>100d<\/span><span>200d<\/span><span>365d<\/span>\n                    <\/div>\n\n                    <div id=\"kmAuditReport\" style=\"margin-top:10px; padding:8px; background:#000; border-radius:4px; border-left:3px solid #00e676; font-size:11px; line-height:1.5;\">\n                        Calculating Audit...\n                    <\/div>\n                <\/div>\n\n                <div id=\"kmZonesArea\"><\/div>\n\n                <div style=\"text-align:center; margin-top:10px;\">\n                     <button onclick=\"resetKhaiwalInput()\" style=\"background:#334155; color:#aaa; border:none; padding:8px 20px; border-radius:20px; cursor:pointer; font-size:11px;\">\ud83d\udd04 RESET TO ORIGINAL INPUT<\/button>\n                <\/div>\n            <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n    \n    const exist = document.getElementById('khaiwalModal');\n    if(exist) exist.remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runKhaiwalAnalysis() {\n    const raw = document.getElementById('kmInput').value.trim();\n    if(!raw) { alert(\"Please paste data first.\"); return; }\n    \n    khaiwalState.rawInput = raw;\n    parseBetData(raw);\n\n    \/\/ Calculate Current Gaps\n    const timeline = window.logicChartMeta?.timeline || [];\n    const lastPos = {};\n    const totalDraws = timeline.length;\n    timeline.forEach((n, idx) => { lastPos[n] = idx; });\n    \n    const gapMap = {};\n    for(let i=0; i<100; i++) {\n        gapMap[i] = lastPos[i] !== undefined ? totalDraws - 1 - lastPos[i] : totalDraws;\n    }\n    khaiwalState.gapMap = gapMap;\n\n    \/\/ Switch View\n    document.getElementById('kmInputSection').style.display = 'none';\n    document.getElementById('kmDashboard').style.display = 'block';\n\n    \/\/ Initial Render\n    updateKhaiwalGap(60); \n}\n\nfunction parseBetData(rawStr) {\n    let cleanRaw = rawStr.replace(\/\\n\/g, '#').replace(\/\\s\/g, ''); \n    let parts = cleanRaw.split('#');\n    let betMap = {};\n    \n    parts.forEach(p => {\n        if(p.includes('=')) {\n            let [n, amt] = p.split('=');\n            let num = parseInt(n);\n            let amount = parseInt(amt);\n            if(!isNaN(num) && !isNaN(amount)) {\n                let nStr = num.toString().padStart(2,'0');\n                betMap[nStr] = (betMap[nStr] || 0) + amount; \n            }\n        }\n    });\n    khaiwalState.betMap = betMap;\n}\n\n\/\/ \ud83d\udd25 CORE FUNCTION: Handles Slider Change & Rendering\nfunction updateKhaiwalGap(val) {\n    const threshold = parseInt(val);\n    khaiwalState.gapThreshold = threshold;\n    document.getElementById('gapValDisplay').innerText = `${threshold} Days`;\n\n    \/\/ 1. RUN AUDIT (DYNAMIC ACCURACY CHECK)\n    const hist = khaiwalState.winningGaps; \/\/ [{i, gap, res}]\n    let totalEvents = hist.length;\n    let goldMineFails = 0; \/\/ Kitni baar Gold Mine wala number khul gaya?\n    let lastYearFails = 0;\n    let yesterdayPass = \"N\/A\";\n\n    const currentYear = new Date().getFullYear();\n    const lastYear = currentYear - 1;\n    \/\/ Note: To be precise with years, we'd need dates in winningGaps, \n    \/\/ but for speed, we approximate last 365 as \"Current\" and 365-730 as \"Last\".\n    \n    hist.forEach((h, idx) => {\n        \/\/ Agar winning number ka gap threshold se bada tha, matlab Gold Mine Fail hua\n        if (h.gap > threshold) {\n            goldMineFails++;\n            \/\/ Approximate Last Year logic (index based)\n            if(idx < (totalEvents \/ 2)) lastYearFails++; \n        }\n        \n        \/\/ Yesterday Check\n        if(idx === totalEvents - 1) {\n            yesterdayPass = (h.gap > threshold) ? \n                `<span style=\"color:red\">FAIL (Gold Opened)<\/span>` : \n                `<span style=\"color:#00e676\">PASS (Gold Safe)<\/span>`;\n        }\n    });\n\n    const safeRate = ((totalEvents - goldMineFails) \/ totalEvents * 100).toFixed(1);\n    \n    \/\/ Audit HTML\n    const auditHTML = `\n        <div style=\"display:flex; justify-content:space-between; color:#fff;\">\n            <div>\n                <div style=\"color:#aaa;\">SAFE TO EAT RATE<\/div>\n                <div style=\"font-size:16px; font-weight:bold; color:${safeRate>95?'#00e676':(safeRate>85?'orange':'red')}\">\n                    ${safeRate}% <span style=\"font-size:10px; font-weight:normal;\">(Historical)<\/span>\n                <\/div>\n            <\/div>\n            <div style=\"text-align:right;\">\n                <div style=\"color:#aaa;\">YESTERDAY<\/div>\n                <div style=\"font-weight:bold;\">${yesterdayPass}<\/div>\n            <\/div>\n        <\/div>\n        <div style=\"margin-top:5px; font-size:10px; color:#888;\">\n            *If you eat numbers with Gap > ${threshold}, historically you are ${safeRate}% safe.\n        <\/div>\n    `;\n    document.getElementById('kmAuditReport').innerHTML = auditHTML;\n\n\n    \/\/ 2. CATEGORIZE ZONES BASED ON NEW THRESHOLD\n    const bets = khaiwalState.betMap;\n    const gaps = khaiwalState.gapMap;\n\n    let gold = [], danger = [], neutral = [];\n    let grandTotal = 0;\n\n    Object.keys(bets).forEach(nStr => {\n        const num = parseInt(nStr);\n        const amount = bets[nStr];\n        const gap = gaps[num];\n        grandTotal += amount;\n        const obj = { n: nStr, amt: amount, gap: gap };\n\n        if (gap > threshold) { \/\/ Slider Controlled\n            gold.push(obj);\n        } else if (gap < 20) {\n            danger.push(obj);\n        } else {\n            neutral.push(obj);\n        }\n    });\n\n    \/\/ 3. RENDER ZONES\n    let zoneHTML = ``;\n    \n    \/\/ GOLD MINE\n    zoneHTML += renderZoneCard(\"\ud83d\udcb0 GOLD MINE (Safe to Eat)\", gold, \"#ffd700\", `Gap > ${threshold} Days. High probability of profit.`, 'gold');\n    \n    \/\/ DANGER ZONE\n    zoneHTML += renderZoneCard(\"\ud83d\udca3 DANGER ZONE (Must Cut)\", danger, \"#ff3333\", \"Gap < 20 Days (Hot). High Risk.\", 'danger');\n    \n    \/\/ NEUTRAL ZONE\n    zoneHTML += renderZoneCard(\"\u2696\ufe0f NEUTRAL ZONE (Balance)\", neutral, \"#00bfff\", \"Medium Gap. Moderate Risk.\", 'neutral');\n\n    document.getElementById('kmZonesArea').innerHTML = zoneHTML;\n}\n\nfunction renderZoneCard(title, list, color, subtitle, zoneId) {\n    list.sort((a,b) => b.amt - a.amt);\n    const total = list.reduce((s, i) => s + i.amt, 0);\n    const copyStr = list.map(x => `${x.n}=${x.amt}`).join('#');\n\n    \/\/ Money Buttons HTML\n    const moneyBtns = `\n        <div style=\"display:flex; gap:3px; flex-wrap:wrap; justify-content:center; padding:5px; background:#000; border-bottom:1px solid ${color}40;\">\n            <button onclick=\"modZoneMoney('${zoneId}', 50)\" class=\"km-btn-add\">+50<\/button>\n            <button onclick=\"modZoneMoney('${zoneId}', 100)\" class=\"km-btn-add\">+100<\/button>\n            <button onclick=\"modZoneMoney('${zoneId}', 500)\" class=\"km-btn-add\">+500<\/button>\n            <span style=\"color:#555;\">|<\/span>\n            <button onclick=\"modZoneMoney('${zoneId}', -50)\" class=\"km-btn-sub\">-50<\/button>\n            <button onclick=\"modZoneMoney('${zoneId}', -100)\" class=\"km-btn-sub\">-100<\/button>\n            <button onclick=\"modZoneMoney('${zoneId}', -500)\" class=\"km-btn-sub\">-500<\/button>\n        <\/div>\n        <style>\n            .km-btn-add { background:#112211; color:#0f0; border:1px solid #004400; cursor:pointer; font-size:9px; padding:2px 5px; border-radius:3px; }\n            .km-btn-sub { background:#221111; color:#f00; border:1px solid #440000; cursor:pointer; font-size:9px; padding:2px 5px; border-radius:3px; }\n            .km-btn-add:hover { background:#004400; } .km-btn-sub:hover { background:#440000; }\n        <\/style>\n    `;\n\n    return `\n    <div style=\"margin-bottom:15px; border:1px solid ${color}; border-radius:8px; overflow:hidden;\">\n        <div style=\"background:${color}20; padding:10px; border-bottom:1px solid ${color}; display:flex; justify-content:space-between; align-items:center;\">\n            <div>\n                <div style=\"font-weight:bold; color:${color}; font-size:13px;\">${title}<\/div>\n                <div style=\"font-size:9px; color:#ccc;\">${subtitle}<\/div>\n            <\/div>\n            <div style=\"text-align:right;\">\n                <div style=\"font-size:16px; font-weight:bold; color:#fff;\">\u20b9${total}<\/div>\n                <div style=\"font-size:9px; color:#aaa;\">${list.length} Nums<\/div>\n            <\/div>\n        <\/div>\n        \n        ${moneyBtns}\n\n        <div style=\"padding:10px; background:#0f172a; display:flex; flex-wrap:wrap; gap:5px; max-height:200px; overflow-y:auto;\">\n            ${list.length > 0 ? list.map(item => `\n                <div style=\"background:#000; border:1px solid ${color}40; padding:5px; border-radius:4px; text-align:center; min-width:45px;\">\n                    <div style=\"font-weight:bold; color:#fff; font-size:14px;\">${item.n}<\/div>\n                    <div style=\"font-size:10px; color:${color};\">\u20b9${item.amt}<\/div>\n                    <div style=\"font-size:8px; color:#666;\">${item.gap}d<\/div>\n                <\/div>\n            `).join('') : '<span style=\"color:#555; font-size:11px; width:100%; text-align:center; padding:10px;\">No numbers match this criteria.<\/span>'}\n        <\/div>\n        <button onclick=\"navigator.clipboard.writeText('${copyStr}');alert('Zone Data Copied!');\" \n                style=\"width:100%; padding:8px; background:${color}10; color:${color}; border:none; font-weight:bold; cursor:pointer; font-size:11px; border-top:1px solid ${color}40;\">\n            \ud83d\udccb COPY ZONE DATA\n        <\/button>\n    <\/div>\n    `;\n}\n\nfunction modZoneMoney(zoneId, amount) {\n    const threshold = khaiwalState.gapThreshold;\n    const gaps = khaiwalState.gapMap;\n    const bets = khaiwalState.betMap;\n\n    \/\/ Filter which numbers belong to this zone CURRENTLY\n    const targetNums = Object.keys(bets).filter(nStr => {\n        const gap = gaps[parseInt(nStr)];\n        if (zoneId === 'gold') return gap > threshold;\n        if (zoneId === 'danger') return gap < 20;\n        if (zoneId === 'neutral') return gap >= 20 && gap <= threshold;\n        return false;\n    });\n\n    if (targetNums.length === 0) { alert(\"No numbers in this zone to modify.\"); return; }\n\n    targetNums.forEach(n => {\n        let current = bets[n];\n        let newVal = current + amount;\n        if (newVal < 0) newVal = 0;\n        bets[n] = newVal;\n    });\n\n    \/\/ Re-render\n    updateKhaiwalGap(threshold);\n}\n\nfunction resetKhaiwalInput() {\n    if(confirm(\"Reset all changes and reload original input?\")) {\n        parseBetData(khaiwalState.rawInput);\n        updateKhaiwalGap(khaiwalState.gapThreshold);\n    }\n}\n        \n        \/\/ ====================================================\n\/\/ \ud83e\udde9 QUADRA CROSS PRO (MULTI-MARKET SCANNER)\n\/\/ ====================================================\n\nfunction logicQuadraCrossInit() {\n    \/\/ 1. Check Data Availability\n    if (!window.logicChartMeta || !window.logicChartMeta.quadraData) {\n        alert(\"\u274c Quadra Data not loaded via PHP. Please check Step 1 code.\");\n        return;\n    }\n\n    \/\/ 2. Open Input Modal (User se input lene ke liye)\n    \/\/ Hum user se puchenge: \"Batao abhi tak kya khula hai?\"\n    \n    const modalHTML = `\n    <div id=\"quadraModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.9); z-index:10000; display:flex; justify-content:center; align-items:center;\">\n        <div style=\"background:#1a1a1a; border:2px solid #ff00cc; width:90%; max-width:400px; padding:20px; border-radius:10px; box-shadow:0 0 30px #ff00cc;\">\n            \n            <h2 style=\"color:#ff00cc; text-align:center; margin-top:0;\">\ud83e\udde9 QUADRA INPUT<\/h2>\n            <p style=\"color:#ccc; font-size:12px; text-align:center;\">Fill the results known so far today:<\/p>\n            \n            <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:20px;\">\n                <div>\n                    <label style=\"color:#fff; font-size:11px;\">DESAWAR (DS)<\/label>\n                    <input type=\"number\" id=\"inp_ds\" placeholder=\"--\" style=\"width:100%; padding:8px; background:#333; color:#fff; border:1px solid #555; text-align:center; font-weight:bold;\">\n                <\/div>\n                <div>\n                    <label style=\"color:#fff; font-size:11px;\">FARIDABAD (FB)<\/label>\n                    <input type=\"number\" id=\"inp_fb\" placeholder=\"--\" style=\"width:100%; padding:8px; background:#333; color:#fff; border:1px solid #555; text-align:center; font-weight:bold;\">\n                <\/div>\n                <div>\n                    <label style=\"color:#fff; font-size:11px;\">GHAZIABAD (GB)<\/label>\n                    <input type=\"number\" id=\"inp_gb\" placeholder=\"--\" style=\"width:100%; padding:8px; background:#333; color:#fff; border:1px solid #555; text-align:center; font-weight:bold;\">\n                <\/div>\n                <div>\n                    <label style=\"color:#fff; font-size:11px;\">GALI (GL)<\/label>\n                    <input type=\"number\" id=\"inp_gl\" placeholder=\"--\" style=\"width:100%; padding:8px; background:#333; color:#fff; border:1px solid #555; text-align:center; font-weight:bold;\">\n                <\/div>\n            <\/div>\n\n            <button onclick=\"runQuadraScan()\" style=\"width:100%; padding:12px; background:linear-gradient(to right, #ff9900, #ff00cc); color:#fff; border:none; font-weight:bold; border-radius:5px; cursor:pointer;\">\n                \ud83d\ude80 SCAN HISTORY\n            <\/button>\n            <button onclick=\"document.getElementById('quadraModal').remove()\" style=\"width:100%; padding:8px; background:none; color:#aaa; border:none; margin-top:5px; cursor:pointer;\">Close<\/button>\n        <\/div>\n    <\/div>\n    `;\n    \n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runQuadraScan() {\n    \/\/ 1. Get Inputs\n    const ds = document.getElementById('inp_ds').value;\n    const fb = document.getElementById('inp_fb').value;\n    const gb = document.getElementById('inp_gb').value;\n    const gl = document.getElementById('inp_gl').value;\n\n    \/\/ Create Search Query Object\n    const query = {};\n    if(ds) query['DESAWAR'] = ds.padStart(2,'0');\n    if(fb) query['FARIDABAD'] = fb.padStart(2,'0');\n    if(gb) query['GAZIYAABAAD'] = gb.padStart(2,'0');\n    if(gl) query['GALI'] = gl.padStart(2,'0');\n\n    const keys = Object.keys(query);\n    if(keys.length === 0) {\n        alert(\"Please enter at least 1 game result to scan.\");\n        return;\n    }\n\n    document.getElementById('quadraModal').remove();\n    logicChartShowPopup(`\ud83e\udde9 Scanning Multi-Game History for: ${JSON.stringify(query)}`);\n\n    \/\/ 2. SCANNING ENGINE\n    const db = window.logicChartMeta.quadraData; \/\/ The Matrix\n    const matches = [];\n\n    \/\/ Loop through all dates\n    for (const [date, data] of Object.entries(db)) {\n        let isMatch = true;\n        \n        \/\/ Check if ALL entered values match for this date\n        for(const game of keys) {\n            if(!data[game] || data[game] !== query[game]) {\n                isMatch = false;\n                break;\n            }\n        }\n\n        if(isMatch) {\n            matches.push({ date: date, data: data });\n        }\n    }\n\n    \/\/ 3. ANALYZE RESULTS (What happened next?)\n    \/\/ Hum dekhenge ki jo fields user ne 'Blank' chhodi thi, unme kya aaya tha.\n    \n    let targetGame = \"\";\n    if(!ds) targetGame = \"DESAWAR\";\n    else if(!fb) targetGame = \"FARIDABAD\";\n    else if(!gb) targetGame = \"GAZIYAABAAD\";\n    else if(!gl) targetGame = \"GALI\";\n    else targetGame = \"NEXT DAY\"; \/\/ Agar sab bhar diye to next day predict karo (Advanced)\n\n    const nextFreq = {};\n    matches.forEach(m => {\n        const val = m.data[targetGame];\n        if(val) nextFreq[val] = (nextFreq[val]||0)+1;\n    });\n\n    const topPredictions = Object.entries(nextFreq)\n        .sort((a,b) => b[1] - a[1])\n        .slice(0, 6)\n        .map(x => ({ n: x[0], c: x[1] }));\n\n    \/\/ 4. DISPLAY REPORT\n    let h = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        <div style=\"background:linear-gradient(to right, #ff9900, #ff00cc); padding:15px; border-radius:10px; margin-bottom:15px; text-align:center;\">\n            <div style=\"font-size:18px; font-weight:bold;\">\ud83e\udde9 QUADRA CROSS<\/div>\n            <div style=\"font-size:11px;\">MULTI-MARKET PATTERN MATCHER<\/div>\n        <\/div>\n\n        <div style=\"background:#220022; padding:10px; border-left:4px solid #ff00cc; margin-bottom:10px;\">\n            <div style=\"font-size:10px; color:#ff99ff;\">SEARCH CRITERIA<\/div>\n            <div style=\"font-weight:bold;\">\n                ${keys.map(k => `${k}: ${query[k]}`).join(' | ')}\n            <\/div>\n            <div style=\"font-size:10px; color:#ccc; margin-top:5px;\">\n                History Matches Found: <span style=\"color:#00e676; font-size:14px; font-weight:bold;\">${matches.length}<\/span>\n            <\/div>\n        <\/div>\n\n        ${matches.length > 0 ? `\n        <div style=\"margin-bottom:10px;\">\n            <div style=\"color:#ff9900; font-weight:bold; font-size:12px; margin-bottom:5px;\">\n                \ud83d\udd25 TOP TARGETS FOR ${targetGame}:\n            <\/div>\n            <div style=\"display:flex; gap:5px; flex-wrap:wrap;\">\n                ${topPredictions.map(p => `\n                    <div style=\"background:#ff00cc; color:#fff; padding:5px 10px; border-radius:5px; text-align:center;\">\n                        <div style=\"font-size:18px; font-weight:bold;\">${p.n}<\/div>\n                        <div style=\"font-size:9px;\">${p.c} times<\/div>\n                    <\/div>\n                `).join('')}\n            <\/div>\n        <\/div>\n\n        <div style=\"max-height:150px; overflow-y:auto; background:#000; padding:5px; border-radius:5px; font-size:10px;\">\n            <div style=\"color:#aaa; border-bottom:1px solid #333; margin-bottom:5px;\">DETAILED HISTORY LOG:<\/div>\n            ${matches.reverse().map(m => `\n                <div style=\"display:flex; justify-content:space-between; border-bottom:1px solid #222; padding:3px;\">\n                    <span style=\"color:#fff;\">${m.date}<\/span>\n                    <span>\n                        DS:<b style=\"color:${query['DESAWAR']?'#00e676':'#fff'}\">${m.data['DESAWAR']||'--'}<\/b> \n                        FB:<b style=\"color:${query['FARIDABAD']?'#00e676':'#fff'}\">${m.data['FARIDABAD']||'--'}<\/b> \n                        GB:<b style=\"color:${query['GAZIYAABAD']?'#00e676':'#fff'}\">${m.data['GAZIYAABAAD']||'--'}<\/b> \n                        GL:<b style=\"color:${query['GALI']?'#00e676':'#fff'}\">${m.data['GALI']||'--'}<\/b>\n                    <\/span>\n                <\/div>\n            `).join('')}\n        <\/div>\n        ` : `\n        <div style=\"text-align:center; color:#ff4444; padding:20px;\">\n            No exact pattern found in history for this combination.<br>\n            <small>Try matching only 2 games instead of 3 or 4.<\/small>\n        <\/div>\n        `}\n\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Quadra Cross Result', h);\n    \n    \/\/ Highlight if predictions found\n    if(topPredictions.length > 0) {\n        const tNums = topPredictions.map(x=>parseInt(x.n));\n        const copyStr = tNums.join(',');\n        \n        logicChartClearHighlights();\n        const cells = document.querySelectorAll('#chartTable tbody td');\n        cells.forEach(td => {\n            if(td.cellIndex===0) return;\n            if(tNums.includes(parseInt(td.textContent))) {\n                td.style.backgroundColor = '#ff00cc';\n                td.style.color = '#fff';\n                td.style.fontWeight = 'bold';\n            }\n        });\n        \n        logicChartShowPopup(`\ud83e\udde9 Quadra: ${topPredictions[0].n} is the strongest link!`);\n    }\n}\n\n\/\/ ====================================================\n\/\/ \ud83e\udd85 PAKAD MASTER PRO (TRIPLE FILTER LOGIC)\n\/\/ ====================================================\n\nfunction logicPakadMasterInit() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n\n    \/\/ 1. DATA CHECK\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"Pakad Master\", \"\u274c Insufficient Data. Need at least 100 days.\");\n        return;\n    }\n\n    logicChartShowPopup(\"\ud83e\udd85 Applying Triple Filter (Frequency + Pressure + Family)...\");\n\n    const totalDraws = timeline.length;\n    const analysisRange = 150; \/\/ Look at last 150 draws\n    const recentData = timeline.slice(0, analysisRange);\n    \n    \/\/ Helper to get frequencies\n    const freqMap = {};\n    recentData.forEach(n => freqMap[n] = (freqMap[n]||0)+1);\n\n    \/\/ Helper to get positions\n    const positions = {};\n    timeline.forEach((n, idx) => {\n        if (!positions[n]) positions[n] = [];\n        positions[n].push(idx);\n    });\n\n    let solidCandidates = [];\n\n    \/\/ 2. SCANNING (00-99)\n    for(let i=0; i<100; i++) {\n        \n        \/\/ --- FILTER 1: FREQUENCY (Is it Alive?) ---\n        \/\/ Agar pichle 150 din me 4 baar se kam aaya hai, to wo Dead Number hai.\n        \/\/ Dead number ka gap analysis kaam nahi karta. Use REJECT karo.\n        const frequency = freqMap[i] || 0;\n        if (frequency < 4) continue; \n\n        \/\/ --- FILTER 2: PRESSURE (Is it Late?) ---\n        const posArr = positions[i];\n        const lastIndex = posArr[posArr.length-1];\n        const currentGap = totalDraws - 1 - lastIndex;\n        \n        \/\/ Calculate Average Gap of THIS number\n        let gapSum = 0;\n        let gapCount = 0;\n        for(let k=1; k<posArr.length; k++) {\n            gapSum += (posArr[k] - posArr[k-1]);\n            gapCount++;\n        }\n        const avgGap = gapCount > 0 ? (gapSum \/ gapCount) : 100;\n\n        \/\/ Rule: Current Gap must be > 2.5x of Average Gap\n        \/\/ Matlab: Agar wo har 10 din me aata hai, to abhi 25 din hone chahiye.\n        const pressureRatio = currentGap \/ avgGap;\n        if (pressureRatio < 2.5) continue;\n\n        \/\/ --- FILTER 3: FAMILY SUPPORT (Is the Line Active?) ---\n        \/\/ Check if Family members appeared recently (last 10 days)\n        \/\/ Family logic (assumed standard):\n        \/\/ (You can add strict family check logic here if needed, simplified for now)\n        \/\/ We boost score if frequency is high (Hot number stuck)\n        \n        solidCandidates.push({\n            n: i,\n            nStr: i.toString().padStart(2,'0'),\n            cur: currentGap,\n            avg: Math.round(avgGap),\n            freq: frequency,\n            ratio: pressureRatio.toFixed(1)\n        });\n    }\n\n    \/\/ Sort by \"Ratio\" (Jiska pressure sabse jada hai)\n    solidCandidates.sort((a,b) => b.ratio - a.ratio);\n\n    \/\/ --- DECISION TIME ---\n    \/\/ Agar koi bhi candidate filter pass nahi kar paya\n    if(solidCandidates.length === 0) {\n        let html = `\n        <div style=\"padding:20px; text-align:center; color:#fff; font-family:'Segoe UI', sans-serif;\">\n            <div style=\"font-size:40px;\">\ud83e\uddd8\u200d\u2642\ufe0f<\/div>\n            <div style=\"color:#aaa; margin-top:10px;\">MARKET IS NORMAL<\/div>\n            <div style=\"font-size:12px; color:#666; margin-top:5px;\">\n                No number passed the <strong>Triple Filter<\/strong> today.<br>\n                Don't play any \"Pakad Jodi\" right now to save money.\n            <\/div>\n        <\/div>\n        `;\n        logicChartUpdateResult(\"Pakad Master\", html);\n        return;\n    }\n\n    \/\/ Select Best One\n    const winner = solidCandidates[0];\n\n    \/\/ GENERATE INVESTMENT PLAN (Smart Staking)\n    \/\/ Based on how late it is\n    let startAmt = 50;\n    if(winner.ratio > 4.0) startAmt = 100; \/\/ Super late = Start high\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        <div style=\"background:#000; border:2px solid #00e676; padding:15px; border-radius:10px; text-align:center; box-shadow:0 0 20px rgba(0, 230, 118, 0.2);\">\n            <div style=\"color:#00e676; font-size:10px; font-weight:bold; letter-spacing:1px;\">\u2705 TRIPLE FILTER PASSED<\/div>\n            <div style=\"font-size:50px; font-weight:900; color:#fff; text-shadow:0 0 10px #00e676;\">${winner.nStr}<\/div>\n            \n            <div style=\"display:flex; justify-content:space-between; margin-top:10px; font-size:11px; background:#111; padding:5px; border-radius:5px;\">\n                <div style=\"color:#aaa;\">Avg Gap: <span style=\"color:#fff;\">${winner.avg}d<\/span><\/div>\n                <div style=\"color:#aaa;\">Current: <span style=\"color:#ff3333; font-weight:bold;\">${winner.cur}d<\/span><\/div>\n                <div style=\"color:#aaa;\">Pressure: <span style=\"color:#ffd700;\">${winner.ratio}x<\/span><\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"margin-top:15px; background:#1a1a1a; padding:10px; border-radius:8px;\">\n            <div style=\"font-size:12px; color:#aaa; margin-bottom:5px;\">\ud83d\udccb PLAYING SCHEDULE (Target: 3 Days)<\/div>\n            <table style=\"width:100%; font-size:13px; text-align:center; border-collapse:collapse;\">\n                <tr style=\"border-bottom:1px solid #333; color:#666;\">\n                    <th style=\"padding:5px;\">Day<\/th>\n                    <th>Amount<\/th>\n                    <th>Status<\/th>\n                <\/tr>\n                <tr style=\"border-bottom:1px solid #222;\">\n                    <td style=\"padding:8px; color:#fff;\">Today<\/td>\n                    <td style=\"font-weight:bold; color:#00e676;\">\u20b9${startAmt}<\/td>\n                    <td style=\"font-size:10px;\">Standard<\/td>\n                <\/tr>\n                <tr style=\"border-bottom:1px solid #222;\">\n                    <td style=\"padding:8px; color:#aaa;\">Tomorrow<\/td>\n                    <td style=\"font-weight:bold; color:#ffd700;\">\u20b9${startAmt * 2}<\/td>\n                    <td style=\"font-size:10px;\">Recovery<\/td>\n                <\/tr>\n                <tr>\n                    <td style=\"padding:8px; color:#aaa;\">Day 3<\/td>\n                    <td style=\"font-weight:bold; color:#ff3333;\">\u20b9${startAmt * 4}<\/td>\n                    <td style=\"font-size:10px;\">Final Shot<\/td>\n                <\/tr>\n            <\/table>\n        <\/div>\n\n        <div style=\"margin-top:10px; font-size:10px; color:#666; text-align:center;\">\n            *System recommends ONLY this number because it is active (Frequency ${winner.freq}) but accidentally stuck.\n        <\/div>\n    <\/div>\n    `;\n\n    logicChartUpdateResult(\"Pakad Master Result\", html);\n    logicChartAddLegend('#00e676', `Target: ${winner.nStr}`);\n    \n    \/\/ Highlight on Chart\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex===0) return;\n        if(parseInt(td.textContent) === winner.n) {\n            td.style.backgroundColor = '#00e676';\n            td.style.color = '#000';\n            td.style.fontWeight = 'bold';\n            td.style.boxShadow = '0 0 15px #00e676';\n        }\n    });\n}\n       \n\/\/ ====================================================\n\/\/ \ud83e\uddf9 THE DATA SCRUBBER (INTELLIGENT PARSER)\n\/\/ ====================================================\n\nfunction checkVip(type) {\n    if (type === 'scrubber') { logicDataScrubberInit(); return; }\n    \/\/ ... existing checks ...\n}\n\nfunction logicDataScrubberInit() {\n    const modalHTML = `\n    <div id=\"scrubberModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.95); z-index:10070; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"background:#1a1a1a; border:2px solid #00ffcc; width:95%; max-width:600px; padding:20px; border-radius:15px; box-shadow:0 0 50px rgba(0, 255, 204, 0.2); max-height:90vh; overflow-y:auto;\">\n            \n            <div style=\"text-align:center; border-bottom:1px solid #333; padding-bottom:15px; margin-bottom:20px;\">\n                <h2 style=\"color:#00ffcc; margin:0;\">\ud83e\uddf9 DATA SCRUBBER<\/h2>\n                <div style=\"font-size:11px; color:#aaa;\">INTELLIGENT MESS CLEANER<\/div>\n            <\/div>\n\n            <div style=\"display:flex; gap:10px; height:300px;\">\n                <div style=\"flex:1; display:flex; flex-direction:column;\">\n                    <label style=\"color:#ff8888; font-size:12px; font-weight:bold;\">\ud83d\udca9 MESSY INPUT<\/label>\n                    <textarea id=\"dsDirty\" style=\"flex:1; background:#111; color:#ffcccc; border:1px solid #ff3333; padding:10px; border-radius:5px; font-family:monospace; font-size:12px; resize:none;\" \n                    placeholder=\"Paste WhatsApp data here...&#10;Ex:&#10;12 into 100&#10;Munda 5 500&#10;10, 20, 30 rs 50\"><\/textarea>\n                <\/div>\n\n                <div style=\"display:flex; align-items:center; justify-content:center;\">\n                    <button onclick=\"runScrubbing()\" style=\"background:#00ffcc; color:#000; border:none; padding:10px; border-radius:50%; font-weight:bold; cursor:pointer; width:40px; height:40px;\">\u27a1<\/button>\n                <\/div>\n\n                <div style=\"flex:1; display:flex; flex-direction:column;\">\n                    <label style=\"color:#00e676; font-size:12px; font-weight:bold;\">\u2728 CLEAN OUTPUT<\/label>\n                    <textarea id=\"dsClean\" readonly style=\"flex:1; background:#002200; color:#00e676; border:1px solid #00e676; padding:10px; border-radius:5px; font-family:monospace; font-size:12px; resize:none;\" \n                    placeholder=\"Clean data will appear here...\"><\/textarea>\n                <\/div>\n            <\/div>\n\n            <div style=\"display:flex; justify-content:space-between; margin-top:15px;\">\n                <div style=\"font-size:10px; color:#666; width:60%;\">\n                    *Supports: Space, Into, Rs, Munda, Group bets (10,20 into 50)\n                <\/div>\n                <button onclick=\"copyCleanData()\" style=\"background:#00e676; color:#000; border:none; padding:8px 20px; border-radius:5px; font-weight:bold; cursor:pointer;\">\n                    \ud83d\udccb COPY CLEAN DATA\n                <\/button>\n            <\/div>\n            \n            <button onclick=\"document.getElementById('scrubberModal').remove()\" style=\"width:100%; margin-top:10px; background:none; color:#666; border:none; cursor:pointer;\">Close<\/button>\n        <\/div>\n    <\/div>\n    `;\n\n    if(document.getElementById('scrubberModal')) document.getElementById('scrubberModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\nfunction runScrubbing() {\n    let raw = document.getElementById('dsDirty').value;\n    \n    \/\/ --- STEP 1: PRE-PROCESSING (Basic Cleanup) ---\n    raw = raw.toLowerCase(); \/\/ Sab chota kar do\n    raw = raw.replace(\/rupees|rupee|rs|into|in|ka|ke|bar|par|on|=|\\\/|-|\\*|\\+\/g, ' '); \/\/ Replace keywords with space\n    \n    \/\/ --- STEP 2: SLANG DECODING (Munda Logic) ---\n    \/\/ \"munda 5\" -> \"05\", \"mu 7\" -> \"07\"\n    raw = raw.replace(\/(munda|mu)\\s*(\\d)\/g, '0$2'); \n\n    \/\/ --- STEP 3: STRUCTURE ANALYSIS (Line by Line) ---\n    \/\/ Hum maan kar chalenge ki user ya to 'Enter' maarega ya ',' lagayega alag entries ke liye\n    \/\/ Replace commas with newline to standardize processing\n    let lines = raw.split(\/[\\n,]+\/); \n    \n    let cleanPairs = [];\n\n    lines.forEach(line => {\n        line = line.trim();\n        if(!line) return;\n\n        \/\/ Extract all numbers from the line\n        let numbers = line.match(\/\\d+\/g);\n        \n        if (numbers && numbers.length >= 2) {\n            \/\/ LOGIC: Usually the LAST number is the AMOUNT. The PREVIOUS numbers are JODIS.\n            \/\/ Ex: \"10 20 30 100\" -> 10, 20, 30 are jodis, 100 is amount.\n            \n            let amount = parseInt(numbers[numbers.length - 1]);\n            let jodis = numbers.slice(0, numbers.length - 1); \/\/ All except last\n\n            \/\/ Validation: Usually amount is >= 5 (Satta logic). Jodi is 0-99.\n            \/\/ If we have \"100 5\", it might be \"100 rupees on 05\". (REVERSE CASE)\n            \/\/ Let's add smart detection:\n            \/\/ If Last Number <= 99 AND First Number >= 100 (Reverse Case)\n            \/\/ Ex: \"500 12\" -> Jodi 12, Amt 500\n            \n            let isReverse = false;\n            if (numbers.length === 2) {\n                let first = parseInt(numbers[0]);\n                let last = parseInt(numbers[1]);\n                if (first >= 100 && last <= 99) {\n                    amount = first;\n                    jodis = [last];\n                    isReverse = true;\n                }\n            }\n\n            if (!isReverse) {\n                \/\/ Standard Case: \"12 100\" or \"10 20 100\"\n                jodis.forEach(j => {\n                    let jNum = parseInt(j);\n                    \/\/ Only accept valid jodi range 0-99 (or 100 for 00 if needed, but lets keep 0-99 standard)\n                    if (jNum >= 0 && jNum <= 999) { \/\/ 999 allow for haruf codes\n                         \/\/ Format Jodi to 2 digits (e.g. 5 -> 05)\n                         \/\/ But don't mess up Haruf codes (101-120)\n                         let finalJodi = jNum.toString();\n                         if(jNum < 100) finalJodi = jNum.toString().padStart(2,'0');\n                         \n                         cleanPairs.push(`${finalJodi}=${amount}`);\n                    }\n                });\n            } else {\n                 \/\/ Reverse Case Push\n                 let finalJodi = jodis[0].toString().padStart(2,'0');\n                 cleanPairs.push(`${finalJodi}=${amount}`);\n            }\n        }\n    });\n\n    \/\/ --- STEP 4: OUTPUT GENERATION ---\n    const result = cleanPairs.join('#');\n    document.getElementById('dsClean').value = result;\n}\n\nfunction copyCleanData() {\n    const clean = document.getElementById('dsClean');\n    clean.select();\n    document.execCommand('copy');\n    \/\/ Visual Feedback\n    clean.style.background = '#004400';\n    setTimeout(() => clean.style.background = '#002200', 200);\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udeab THE ELIMINATOR PRO (RISK MANAGEMENT & AUDIT)\n\/\/ ====================================================\n\nfunction logicTheEliminatorPro() {\n    \/\/ 1. Initial Check\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n    const dates = window.logicChartMeta?.timelineDates || [];\n\n    if (timeline.length < 50) {\n        logicChartUpdateResult(\"The Eliminator\", \"\u274c Analysis ke liye kam se kam 50 draw ka data chahiye.\");\n        return;\n    }\n\n    \/\/ 2. Define Strategies (Dead Zone Finders)\n    const strategies = [\n        { \n            id: 'E1', name: \"Ice Age (Coldest 10)\", \n            desc: \"Last 30 days ke sabse thande numbers.\",\n            func: (fullHistory, currentIndex) => {\n                \/\/ Optimization: Take slice of last 30 draws relative to currentIndex\n                const start = Math.max(0, currentIndex - 30);\n                const slice = fullHistory.slice(start, currentIndex);\n                if(slice.length < 10) return [];\n                \n                const freq = {};\n                slice.forEach(n => freq[n] = (freq[n]||0)+1);\n                \n                \/\/ Bottom 10 numbers (Least frequent)\n                let allNums = Array.from({length:100},(_,i)=>i);\n                allNums.sort((a,b) => (freq[a]||0) - (freq[b]||0));\n                return allNums.slice(0, 10);\n            }\n        },\n        { \n            id: 'E2', name: \"Immediate Repeat Block\", \n            desc: \"Pichla result wapas nahi aayega.\",\n            func: (fullHistory, currentIndex) => {\n                if(currentIndex === 0) return [];\n                return [fullHistory[currentIndex-1]]; \n            }\n        },\n        { \n            id: 'E3', name: \"Full Cut Block (+50)\", \n            desc: \"Last Number + 50 nahi aayega.\",\n            func: (fullHistory, currentIndex) => {\n                if(currentIndex === 0) return [];\n                let last = fullHistory[currentIndex-1];\n                return [(last + 50) % 100];\n            }\n        },\n        {\n            id: 'E4', name: \"Yesterday's Echo\",\n            desc: \"Jo number kal (1 day ago) aaya tha.\",\n            func: (fullHistory, currentIndex) => {\n                if(currentIndex === 0) return [];\n                return [fullHistory[currentIndex-1]]; \n            }\n        }\n    ];\n\n    \/\/ Stats Container\n    const stats = strategies.map(s => ({\n        id: s.id, name: s.name, desc: s.desc,\n        allTime: { total:0, pass:0 },\n        lastYear: { total:0, pass:0 },\n        thisYear: { total:0, pass:0 },\n        thisMonth: { total:0, pass:0 },\n        yesterday: \"UNKNOWN\",\n        score: 0\n    }));\n\n    \/\/ Date Helpers\n    const today = new Date();\n    const currentYear = today.getFullYear();\n    const lastYear = currentYear - 1;\n    const currentMonth = today.getMonth() + 1;\n\n    \/\/ 3. RUN AUDIT LOOP (Fast Mode)\n    \/\/ Check last 365 draws max\n    const checkLimit = Math.min(timeline.length, 365);\n    const startScan = timeline.length - checkLimit;\n\n    for(let i = startScan; i < timeline.length; i++) {\n        if(i < 30) continue; \/\/ Need initial data buffer\n\n        const actualResult = timeline[i];\n        const dateInfo = dates[i];\n        \n        \/\/ Time Flags\n        const isLastYear = dateInfo && dateInfo.year === lastYear;\n        const isThisYear = dateInfo && dateInfo.year === currentYear;\n        const isThisMonth = isThisYear && dateInfo.month === currentMonth;\n        const isYesterday = i === timeline.length - 1;\n\n        strategies.forEach((s, idx) => {\n            \/\/ Strategy tells what NOT to play\n            const deadZone = s.func(timeline, i);\n            \n            \/\/ Pass = Actual result was NOT in deadZone\n            const passed = !deadZone.includes(actualResult);\n\n            \/\/ Update Stats\n            stats[idx].allTime.total++;\n            if(passed) stats[idx].allTime.pass++;\n\n            if(isLastYear) {\n                stats[idx].lastYear.total++;\n                if(passed) stats[idx].lastYear.pass++;\n            }\n            if(isThisYear) {\n                stats[idx].thisYear.total++;\n                if(passed) stats[idx].thisYear.pass++;\n            }\n            if(isThisMonth) {\n                stats[idx].thisMonth.total++;\n                if(passed) stats[idx].thisMonth.pass++;\n            }\n            if(isYesterday) {\n                stats[idx].yesterday = passed ? \"<span style='color:#00e676'>SAFE \u2705<\/span>\" : \"<span style='color:#ff4444'>FAILED \u274c<\/span>\";\n            }\n        });\n    }\n\n    \/\/ 4. CALCULATE SCORES\n    stats.forEach(s => {\n        const calcPerc = (obj) => obj.total === 0 ? 0 : Math.round((obj.pass \/ obj.total) * 100);\n        s.pLastYear = calcPerc(s.lastYear);\n        s.pThisYear = calcPerc(s.thisYear);\n        s.pThisMonth = calcPerc(s.thisMonth);\n        s.score = s.pThisMonth + s.pThisYear; \/\/ Weight recent performance\n    });\n\n    \/\/ Find Winner\n    stats.sort((a,b) => b.score - a.score);\n    const winner = stats[0];\n\n    \/\/ 5. GET TODAY'S DEAD ZONE (For Next Game)\n    \/\/ We pass `timeline` and `timeline.length` to simulate \"next\" step\n    const deadNumbers = strategies.find(s => s.id === winner.id).func(timeline, timeline.length);\n    const copyStr = deadNumbers.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ 6. UI VISUALS\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if (deadNumbers.includes(val)) {\n            td.style.backgroundColor = '#222';\n            td.style.color = '#555';\n            td.style.textDecoration = 'line-through';\n            td.style.border = '1px solid #ff4444';\n            td.style.opacity = '0.6';\n        }\n    });\n\n    \/\/ 7. HTML REPORT\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        <div style=\"background:linear-gradient(to right, #2b2b2b, #4a0000); padding:15px; border-radius:10px 10px 0 0; text-align:center; border-bottom:2px solid #ff4444;\">\n            <div style=\"font-size:20px; font-weight:bold; color:#ff4444;\">\ud83d\udeab THE ELIMINATOR<\/div>\n            <div style=\"font-size:11px; color:#aaa;\">RISK MANAGEMENT AUDIT<\/div>\n        <\/div>\n\n        <div style=\"background:#1a0505; padding:15px; border-left:2px solid #ff4444; border-right:2px solid #ff4444;\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:5px;\">\n                <span style=\"color:#aaa; font-size:11px;\">TRUSTED BLOCKER:<\/span>\n                <span style=\"color:#ffd700; font-weight:bold;\">${winner.name}<\/span>\n            <\/div>\n            \n            <div style=\"background:#000; padding:10px; border-radius:6px; text-align:center; border:1px dashed #ff4444; margin-top:10px;\">\n                <div style=\"font-size:10px; color:#ff8888;\">DEAD ZONE (DO NOT PLAY)<\/div>\n                <div style=\"font-size:18px; font-weight:bold; color:#777; text-decoration:line-through; margin-top:5px;\">\n                    ${deadNumbers.map(n=>n.toString().padStart(2,'0')).join(', ')}\n                <\/div>\n            <\/div>\n            \n            <button onclick=\"navigator.clipboard.writeText('${copyStr}');alert('Dead Numbers Copied!');\" style=\"margin-top:10px; width:100%; background:#4a0000; color:#ff4444; border:none; padding:10px; border-radius:4px; font-weight:bold; cursor:pointer;\">\n                \ud83d\udeab COPY BLOCKED NUMBERS\n            <\/button>\n        <\/div>\n\n        <div style=\"background:#000; padding:10px; border-radius:0 0 10px 10px; border:2px solid #ff4444; border-top:none;\">\n            <table style=\"width:100%; font-size:10px; text-align:center; border-collapse:collapse;\">\n                <tr style=\"color:#ff4444; border-bottom:1px solid #333;\">\n                    <th style=\"padding:5px; text-align:left;\">Method<\/th>\n                    <th>Last Yr<\/th>\n                    <th>This Yr<\/th>\n                    <th>Month<\/th>\n                    <th>Y'day<\/th>\n                <\/tr>\n                ${stats.map(s => `\n                    <tr style=\"border-bottom:1px solid #222; color:${s.id===winner.id ? '#fff' : '#666'};\">\n                        <td style=\"padding:6px; text-align:left;\">${s.name}<\/td>\n                        <td>${s.pLastYear}%<\/td>\n                        <td>${s.pThisYear}%<\/td>\n                        <td style=\"color:${s.pThisMonth>90 ? '#00e676' : '#aaa'}\">${s.pThisMonth}%<\/td>\n                        <td>${s.yesterday}<\/td>\n                    <\/tr>\n                `).join('')}\n            <\/table>\n        <\/div>\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Eliminator Pro Audit', html);\n    logicChartAddLegend('#333', 'Eliminated (Dead)');\n    logicChartShowPopup(`\ud83d\udeab Eliminator: ${deadNumbers.length} numbers blocked.`);\n}\n        \/\/ ====================================================\n\/\/ \ud83e\uddec DNA EVOLUTION SUITE (10-CORE ADVANCE SYSTEM)\n\/\/ ====================================================\n\nfunction logicDNAEvolutionSuite() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"DNA Evolution\", \"\u274c Need deep history (100+ draws) for evolution analysis.\");\n        return;\n    }\n\n    const lastNum = timeline[timeline.length - 1];\n    const secondLast = timeline[timeline.length - 2];\n    const thirdLast = timeline[timeline.length - 3];\n\n    \/\/ Storage for all 10 Engines\n    let engineResults = [];\n\n    \/\/ --- HELPER: Vote Counter ---\n    const addPrediction = (name, numbers, type = 'Normal') => {\n        if (!numbers || numbers.length === 0) return;\n        engineResults.push({ name, numbers: [...new Set(numbers)], type });\n    };\n\n    \/\/ =================================================\n    \/\/ \ud83e\udde0 1. THE HELIX SEQUENCE (3-Step Match)\n    \/\/ =================================================\n    let helixTargets = [];\n    for (let i = 0; i < timeline.length - 3; i++) {\n        \/\/ Match A -> B -> ?\n        if (timeline[i] === thirdLast && timeline[i+1] === secondLast && timeline[i+2] === lastNum) {\n            helixTargets.push(timeline[i+3]);\n        }\n    }\n    addPrediction(\"\ud83e\uddec Helix Sequence (3-Step)\", helixTargets, 'Strong');\n\n    \/\/ =================================================\n    \/\/ \ud83d\udc6a 2. GENETIC MUTATION (Family Tree Match)\n    \/\/ =================================================\n    let mutationTargets = [];\n    const fam = (n) => getFamilyMembers(n); \/\/ Using existing helper\n    const lastFam = fam(lastNum);\n    const prevFam = fam(secondLast);\n    \n    for (let i = 0; i < timeline.length - 2; i++) {\n        \/\/ Agar Pichla number SAME FAMILY se tha, aur Current number SAME FAMILY se hai\n        if (prevFam.includes(timeline[i]) && lastFam.includes(timeline[i+1])) {\n            \/\/ To agla number note karo\n            mutationTargets.push(timeline[i+2]);\n        }\n    }\n    \/\/ Result bahut zyada ho sakte hain, isliye top frequency lenge\n    addPrediction(\"\ud83d\udc6a Genetic Mutation (Family Flow)\", getTopFrequent(mutationTargets, 6));\n\n    \/\/ =================================================\n    \/\/ \u2702\ufe0f 3. CHROMOSOMAL SPLIT (Open\/Close Separate)\n    \/\/ =================================================\n    \/\/ Analyze Open (Dhai) sequence and Close (Haruf) sequence separately\n    let nextOpen = [], nextClose = [];\n    \n    for(let i=0; i<timeline.length-2; i++) {\n        let currS = timeline[i+1].toString().padStart(2,'0');\n        let prevS = timeline[i].toString().padStart(2,'0');\n        let targetS = lastNum.toString().padStart(2,'0');\n        let prevTargetS = secondLast.toString().padStart(2,'0');\n\n        if(prevS[0] === prevTargetS[0] && currS[0] === targetS[0]) nextOpen.push(timeline[i+2].toString().padStart(2,'0')[0]);\n        if(prevS[1] === prevTargetS[1] && currS[1] === targetS[1]) nextClose.push(timeline[i+2].toString().padStart(2,'0')[1]);\n    }\n    \n    \/\/ Cross Open\/Close\n    let chromaTargets = [];\n    let topO = getTopFrequent(nextOpen, 2); \/\/ Top 2 digits\n    let topC = getTopFrequent(nextClose, 2); \/\/ Top 2 digits\n    topO.forEach(o => topC.forEach(c => chromaTargets.push(parseInt(o+c))));\n    addPrediction(\"\u2702\ufe0f Chromosomal Split (Open\/Close)\", chromaTargets);\n\n    \/\/ =================================================\n    \/\/ \u23f3 4. TEMPORAL DNA (Time-Lag Logic)\n    \/\/ =================================================\n    \/\/ Check last occurrence of current number\n    let lastSeenIndex = -1;\n    for(let i=timeline.length-2; i>=0; i--) {\n        if(timeline[i] === lastNum) {\n            lastSeenIndex = i;\n            break;\n        }\n    }\n    let timeTargets = [];\n    if(lastSeenIndex !== -1) {\n        const gap = (timeline.length - 1) - lastSeenIndex; \/\/ Days since last repeat\n        \/\/ Find other numbers with same gap\n        const posMap = {};\n        timeline.forEach((n,i) => { if(!posMap[n]) posMap[n]=[]; posMap[n].push(i); });\n        \n        Object.keys(posMap).forEach(k => {\n            const positions = posMap[k];\n            for(let i=1; i<positions.length; i++) {\n                if((positions[i] - positions[i-1]) === gap) {\n                    timeTargets.push(parseInt(k));\n                }\n            }\n        });\n    }\n    addPrediction(\"\u23f3 Temporal DNA (Gap Repeat)\", getTopFrequent(timeTargets, 5));\n\n    \/\/ =================================================\n    \/\/ \ud83e\udda0 5. VIRAL STRAIN (Repeating Burst)\n    \/\/ =================================================\n    \/\/ Numbers appearing multiple times in last 10 days\n    const recent10 = timeline.slice(-10);\n    const viralCounts = {};\n    recent10.forEach(n => viralCounts[n] = (viralCounts[n]||0)+1);\n    const viralTargets = Object.keys(viralCounts).filter(n => viralCounts[n] >= 2).map(n=>parseInt(n));\n    addPrediction(\"\ud83e\udda0 Viral Strain (High Frequency)\", viralTargets);\n\n    \/\/ =================================================\n    \/\/ \ud83d\udd19 6. REVERSE DNA (Past Reflection)\n    \/\/ =================================================\n    \/\/ History mein 'Current Number' kin numberon ke PEECHE aaya tha?\n    \/\/ i.e., What leads to [LastNum]?\n    let reverseTargets = [];\n    for(let i=1; i<timeline.length; i++) {\n        if(timeline[i] === lastNum) {\n            reverseTargets.push(timeline[i-1]); \/\/ The number before it\n        }\n    }\n    addPrediction(\"\ud83d\udd19 Reverse DNA (Predecessors)\", getTopFrequent(reverseTargets, 6));\n\n    \/\/ =================================================\n    \/\/ \ud83d\udcd0 7. GEOMETRIC DNA (Shapes)\n    \/\/ =================================================\n    \/\/ Sandwich (A-B-A) or Series (2,4,6)\n    let geoTargets = [];\n    \/\/ Check Sandwich: If [A][B] -> expect [A]\n    if(secondLast !== lastNum) geoTargets.push(secondLast); \n    \/\/ Check Series: [12][14] -> expect [16]\n    let diff = lastNum - secondLast;\n    geoTargets.push((lastNum + diff + 100) % 100);\n    addPrediction(\"\ud83d\udcd0 Geometric DNA (Pattern)\", geoTargets);\n\n    \/\/ =================================================\n    \/\/ \ud83e\udd81 8. DOMINANT GENE (Weighted Recency)\n    \/\/ =================================================\n    \/\/ Only last 30 days matter. Older data ignored.\n    const last30 = timeline.slice(-30);\n    \/\/ Find what follows the lastNum in RECENT history\n    let domTargets = [];\n    for(let i=0; i<last30.length-1; i++) {\n        if(last30[i] === lastNum) domTargets.push(last30[i+1]);\n    }\n    addPrediction(\"\ud83e\udd81 Dominant Gene (Recent Trend)\", domTargets);\n\n    \/\/ =================================================\n    \/\/ \ud83d\udd22 9. CORE ROOT (Sum DNA)\n    \/\/ =================================================\n    \/\/ Convert to sums. 45 (9) -> 67 (13->4). Pattern: 9->4->?\n    const getSum = (n) => (Math.floor(n\/10) + n%10);\n    const lastSum = getSum(lastNum);\n    const prevSum = getSum(secondLast);\n    \n    let nextSums = [];\n    for(let i=0; i<timeline.length-2; i++) {\n        if(getSum(timeline[i]) === prevSum && getSum(timeline[i+1]) === lastSum) {\n            nextSums.push(getSum(timeline[i+2]));\n        }\n    }\n    \/\/ Convert best sum back to numbers\n    let bestSum = getTopFrequent(nextSums, 1)[0];\n    let rootTargets = [];\n    if(bestSum !== undefined) {\n        for(let i=0; i<100; i++) if(getSum(i) === parseInt(bestSum)) rootTargets.push(i);\n    }\n    addPrediction(\"\ud83d\udd22 Core Root (Sum Pattern)\", rootTargets.slice(0,8)); \/\/ Limit output\n\n    \/\/ =================================================\n    \/\/ \ud83d\udea8 10. MUTATION ALERT (Pattern Breaker)\n    \/\/ =================================================\n    \/\/ Detect if simple repeat logic is failing. If yes, predict Cut.\n    let repeatFailCount = 0;\n    for(let i=timeline.length-5; i<timeline.length; i++) {\n        if(timeline[i] !== timeline[i-1]) repeatFailCount++;\n    }\n    let breakerTargets = [];\n    if(repeatFailCount >= 4) {\n        \/\/ Market not repeating. Suggest Cut of Last Number.\n        let cut = (lastNum + 50) % 100;\n        let half1 = (Math.floor(lastNum\/10)+5)%10 * 10 + (lastNum%10);\n        let half2 = Math.floor(lastNum\/10)*10 + (lastNum%10+5)%10;\n        breakerTargets = [cut, half1, half2];\n    }\n    addPrediction(\"\ud83d\udea8 Mutation Alert (Breakers)\", breakerTargets);\n\n\n    \/\/ =================================================\n    \/\/ \ud83d\uddf3\ufe0f FINAL CONSENSUS (VOTING SYSTEM)\n    \/\/ =================================================\n    let finalVotes = {};\n    engineResults.forEach(engine => {\n        engine.numbers.forEach(n => {\n            let weight = engine.type === 'Strong' ? 2 : 1;\n            finalVotes[n] = (finalVotes[n] || 0) + weight;\n        });\n    });\n\n    const sortedFinal = Object.entries(finalVotes)\n        .sort((a,b) => b[1] - a[1])\n        .slice(0, 8)\n        .map(x => ({ n: parseInt(x[0]), score: x[1] }));\n\n    const topNumbers = sortedFinal.map(x=>x.n);\n    const copyStr = topNumbers.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- UI RENDER ---\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if(topNumbers.includes(val)) {\n            td.style.backgroundColor = '#00ff00';\n            td.style.color = '#000';\n            td.style.fontWeight = 'bold';\n            td.style.boxShadow = '0 0 15px #00ff00';\n        }\n    });\n\n    let html = `\n    <div style=\"font-family:'Courier New', monospace; background:#000; color:#0f0; border:2px solid #0f0; padding:15px; border-radius:10px;\">\n        <div style=\"text-align:center; border-bottom:1px dashed #0f0; padding-bottom:10px; margin-bottom:15px;\">\n            <div style=\"font-size:20px; font-weight:bold; text-shadow:0 0 10px #0f0;\">\ud83e\uddec DNA EVOLUTION SUITE<\/div>\n            <div style=\"font-size:10px;\">10-CORE ADVANCED AI ANALYSIS<\/div>\n        <\/div>\n\n        <div style=\"background:#001100; border:1px solid #00ff00; padding:10px; margin-bottom:15px; text-align:center;\">\n            <div style=\"color:#fff; font-size:12px; margin-bottom:5px;\">\ud83d\udd25 EVOLVED SUPER SET \ud83d\udd25<\/div>\n            <div style=\"font-size:22px; font-weight:bold; letter-spacing:2px; color:#00ff00;\">\n                ${topNumbers.map(n=>n.toString().padStart(2,'0')).join(' ')}\n            <\/div>\n            <button onclick=\"navigator.clipboard.writeText('${copyStr}');alert('DNA Set Copied!')\" style=\"margin-top:10px; background:#00ff00; color:#000; border:none; padding:5px 15px; font-weight:bold; cursor:pointer;\">\n                COPY DATA\n            <\/button>\n        <\/div>\n\n        <div style=\"font-size:10px; max-height:250px; overflow-y:auto; padding-right:5px;\">\n            ${engineResults.map(e => `\n                <div style=\"margin-bottom:8px; border-bottom:1px solid #004400; padding-bottom:4px;\">\n                    <span style=\"color:#00ff00; font-weight:bold;\">${e.name}<\/span><br>\n                    <span style=\"color:#fff;\">${e.numbers.map(n=>n.toString().padStart(2,'0')).join(', ')}<\/span>\n                <\/div>\n            `).join('')}\n        <\/div>\n    <\/div>\n    `;\n\n    logicChartUpdateResult('DNA Evolution Analysis', html);\n    logicChartAddLegend('#00ff00', 'Evolved Target');\n    logicChartShowPopup(`\ud83e\uddec Evolution Complete: ${topNumbers.length} Strong Candidates Found!`);\n}\n\n\/\/ --- HELPER: GET TOP FREQUENT ITEMS ---\nfunction getTopFrequent(arr, limit) {\n    if(!arr || arr.length === 0) return [];\n    const counts = {};\n    arr.forEach(x => counts[x] = (counts[x] || 0) + 1);\n    return Object.entries(counts)\n        .sort((a,b) => b[1] - a[1]) \/\/ Sort by count desc\n        .slice(0, limit)\n        .map(x => parseInt(x[0])); \/\/ Return numbers\n}\n        \n        \/\/ ====================================================\n\/\/ \ud83d\udc7b THE GHOST PROTOCOL (RELATIVE PATTERN ENGINE)\n\/\/ ====================================================\n\nfunction logicGhostProtocol() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"Ghost Protocol\", \"\u274c Insufficient data to track movement.\");\n        return;\n    }\n\n    \/\/ --- 1. DECODE THE LAST MOVE (Calculation) ---\n    const lastNum = timeline[timeline.length - 1];      \/\/ Current\n    const prevNum = timeline[timeline.length - 2];      \/\/ Previous\n    \n    \/\/ Calculate the \"Move\" (Difference)\n    \/\/ Formula: (Last - Prev + 100) % 100 ensures positive difference for circular logic\n    let moveDiff = (lastNum - prevNum + 100) % 100;\n    \n    \/\/ Reverse Move logic (Optional: e.g., if +10, also check -10 behavior)\n    \/\/ For now, we stick to the Forward Momentum.\n\n    \/\/ --- 2. HUNT THE GHOSTS (History Scan) ---\n    \/\/ Hum history mein wo saare moments dhundenge jahan SAME MOVE hua tha.\n    \/\/ e.g. Agar aaj +15 hua hai, to history me jab-jab +15 hua, uske baad kya aaya?\n    \n    let reactions = [];\n    \n    for (let i = 0; i < timeline.length - 2; i++) {\n        const p = timeline[i];\n        const c = timeline[i+1];\n        \n        const currentDiff = (c - p + 100) % 100;\n        \n        if (currentDiff === moveDiff) {\n            \/\/ MATCH FOUND! \n            \/\/ \"c\" is the number that completed the move.\n            \/\/ We want to know what happened NEXT (i+2).\n            const nextResult = timeline[i+2];\n            \n            \/\/ Lekin hume \"Number\" nahi chahiye, hume \"Next Move\" chahiye.\n            \/\/ Taaki hum usey aaj ke number par apply kar sakein.\n            const reactionMove = (nextResult - c + 100) % 100;\n            reactions.push(reactionMove);\n        }\n    }\n\n    if (reactions.length === 0) {\n        logicChartUpdateResult(\"Ghost Protocol\", \"\u26a0\ufe0f Unique Move detected. No historical precedent.\");\n        return;\n    }\n\n    \/\/ --- 3. ANALYZE REACTIONS (Frequency of Next Moves) ---\n    const moveFreq = {};\n    reactions.forEach(m => moveFreq[m] = (moveFreq[m]||0)+1);\n    \n    \/\/ Sort by most common reaction\n    const topMoves = Object.entries(moveFreq)\n        .sort((a,b) => b[1] - a[1])\n        .slice(0, 6); \/\/ Top 6 patterns\n\n    \/\/ --- 4. DECRYPT TARGETS (Apply Move to Today) ---\n    \/\/ Ab hum un \"Moves\" ko Aaj ke number par lagayenge\n    \n    const targets = topMoves.map(tm => {\n        const move = parseInt(tm[0]);\n        const count = tm[1];\n        const predictedNum = (lastNum + move) % 100;\n        return { n: predictedNum, count: count, move: move };\n    });\n\n    const finalNumbers = targets.map(t => t.n);\n    const copyStr = finalNumbers.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 5. UI GENERATION ---\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if (finalNumbers.includes(val)) {\n            td.style.backgroundColor = '#000';\n            td.style.color = '#0f0';\n            td.style.border = '1px solid #0f0';\n            td.style.boxShadow = 'inset 0 0 10px #0f0';\n            td.style.fontFamily = 'monospace';\n            td.style.fontWeight = 'bold';\n        }\n    });\n\n    \/\/ Determine Pattern Name based on move\n    let moveName = moveDiff === 0 ? \"REPEAT\" : (moveDiff > 50 ? `MINUS ${100-moveDiff}` : `PLUS ${moveDiff}`);\n\n    let html = `\n    <div style=\"font-family:'Courier New', monospace; background:#000; color:#0f0; padding:15px; border:2px solid #0f0; border-radius:5px;\">\n        \n        <div style=\"text-align:center; border-bottom:1px dashed #0f0; padding-bottom:10px; margin-bottom:15px;\">\n            <div style=\"font-size:18px; font-weight:bold; text-shadow:0 0 5px #0f0;\">\ud83d\udc7b GHOST PROTOCOL<\/div>\n            <div style=\"font-size:10px; color:#005500;\">RELATIVE MOTION TRACKING<\/div>\n        <\/div>\n\n        <div style=\"margin-bottom:15px; text-align:center;\">\n            <div style=\"color:#aaa; font-size:11px;\">DETECTED MOVEMENT<\/div>\n            <div style=\"font-size:14px; font-weight:bold; color:#fff;\">\n                ${prevNum} \u2794 ${lastNum} <span style=\"color:#0f0;\">[ ${moveName} ]<\/span>\n            <\/div>\n            <div style=\"font-size:10px; color:#666; margin-top:5px;\">\n                History mein ye chaal <strong>${reactions.length}<\/strong> baar chali gayi hai.\n            <\/div>\n        <\/div>\n\n        <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:10px;\">\n            ${targets.map(t => `\n                <div style=\"border:1px solid #004400; padding:5px; text-align:center; background:#001100;\">\n                    <div style=\"font-size:20px; font-weight:bold; color:#0f0;\">${t.n.toString().padStart(2,'0')}<\/div>\n                    <div style=\"font-size:9px; color:#008800;\">\n                        Logic: ${lastNum} + ${t.move}\n                    <\/div>\n                    <div style=\"font-size:9px; color:#aaa;\">\n                        Confidence: ${Math.round((t.count\/reactions.length)*100)}%\n                    <\/div>\n                <\/div>\n            `).join('')}\n        <\/div>\n\n        <button onclick=\"navigator.clipboard.writeText('${copyStr}');alert('Ghost Targets Copied!')\" style=\"margin-top:15px; width:100%; background:#003300; color:#0f0; border:1px solid #0f0; padding:10px; font-weight:bold; cursor:pointer; text-transform:uppercase; letter-spacing:1px;\">\n            Extract Data\n        <\/button>\n\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Ghost Protocol Decrypted', html);\n    logicChartAddLegend('#000', 'Ghost Target', '1px solid #0f0');\n    logicChartShowPopup(`\ud83d\udc7b Ghost Protocol: Found ${reactions.length} historical echoes.`);\n}\n        \n        \/\/ ====================================================\n\/\/ \ud83d\udddd\ufe0f MASTER KEY PRO (DEEP HISTORY AUDIT & PREDICTION)\n\/\/ ====================================================\n\nfunction logicMasterKeyDeepScan() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n    const dates = window.logicChartMeta?.timelineDates || []; \/\/ Requires date metadata\n\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"Master Key Pro\", \"\u274c Deep Scan ke liye kam se kam 100 records chahiye.\");\n        return;\n    }\n\n    \/\/ --- 1. DEFINE POWER FORMULAS (Calculated Tricks) ---\n    const formulas = [\n        { id: 'F1', name: \"The +1\/-1 Family\", func: (n) => getFamilyForList([(n+1)%100, (n-1+100)%100]) },\n        { id: 'F2', name: \"The +12\/-12 Cut\", func: (n) => getFamilyForList([(n+12)%100, (n-12+100)%100]) },\n        { id: 'F3', name: \"100-Minus (Baaki)\", func: (n) => getFamilyForList([Math.abs(100-n)%100]) },\n        { id: 'F4', name: \"Cross Digit (Paltu)\", func: (n) => {\n            let s = n.toString().padStart(2,'0');\n            return getFamilyForList([parseInt(s[1]+s[0])]); \/\/ Palat Family\n        }},\n        { id: 'F5', name: \"Grand Total (+3)\", func: (n) => getFamilyForList([(n+3)%100, (n-3+100)%100]) }\n    ];\n\n    \/\/ Variables for Audit\n    const stats = formulas.map(f => ({\n        id: f.id,\n        name: f.name,\n        allTime: 0,\n        lastYear: 0,\n        thisYear: 0,\n        thisMonth: 0,\n        yesterday: \"FAIL\",\n        score: 0\n    }));\n\n    \/\/ Date Helpers\n    const today = new Date();\n    const currentYear = today.getFullYear();\n    const lastYear = currentYear - 1;\n    const currentMonth = today.getMonth() + 1;\n\n    \/\/ --- 2. DEEP AUDIT LOOP (Scanning History) ---\n    \/\/ Start checking from index 1 to end\n    for(let i = 1; i < timeline.length; i++) {\n        const prevNum = timeline[i-1];\n        const actualNum = timeline[i];\n        \n        \/\/ Date Info\n        const dateInfo = dates[i]; \/\/ {year, month, day}\n        const isLastYear = dateInfo && dateInfo.year === lastYear;\n        const isThisYear = dateInfo && dateInfo.year === currentYear;\n        const isThisMonth = isThisYear && dateInfo.month === currentMonth;\n        const isYesterday = i === timeline.length - 1;\n\n        \/\/ Check each formula\n        formulas.forEach((f, idx) => {\n            const predicted = f.func(prevNum);\n            \n            if (predicted.includes(actualNum)) {\n                \/\/ ALL TIME\n                stats[idx].allTime++;\n                \n                \/\/ SEGMENTED STATS\n                if (isLastYear) stats[idx].lastYear++;\n                if (isThisYear) stats[idx].thisYear++;\n                if (isThisMonth) stats[idx].thisMonth++;\n                if (isYesterday) stats[idx].yesterday = \"PASS \u2705\";\n            }\n        });\n    }\n\n    \/\/ --- 3. CALCULATE WEIGHTED SCORE (Intelligence) ---\n    \/\/ We give more importance to CURRENT performance\n    \n    \/\/ Count totals for percentages (Approximate for display)\n    let countLastYear = 0, countThisYear = 0, countThisMonth = 0;\n    dates.forEach(d => {\n        if(d.year === lastYear) countLastYear++;\n        if(d.year === currentYear) countThisYear++;\n        if(d.year === currentYear && d.month === currentMonth) countThisMonth++;\n    });\n    \/\/ Safety check for divide by zero\n    countLastYear = countLastYear || 1; countThisYear = countThisYear || 1; countThisMonth = countThisMonth || 1;\n\n    stats.forEach(s => {\n        \/\/ Calculate Percentages\n        const perLastYear = (s.lastYear \/ countLastYear) * 100;\n        const perThisYear = (s.thisYear \/ countThisYear) * 100;\n        const perThisMonth = (s.thisMonth \/ countThisMonth) * 100;\n\n        \/\/ SCORING ALGORITHM\n        \/\/ 50% weight to This Month (Current Form)\n        \/\/ 30% weight to This Year (Stability)\n        \/\/ 20% weight to Last Year (History)\n        \/\/ Bonus: +100 points if passed Yesterday\n        \n        let weightedScore = (perThisMonth * 5) + (perThisYear * 3) + (perLastYear * 1);\n        if (s.yesterday.includes(\"PASS\")) weightedScore += 100; \/\/ Momentum Bonus\n\n        s.score = weightedScore;\n        s.displayPerc = Math.round(perThisMonth) + \"%\"; \/\/ Show Monthly accuracy\n    });\n\n    \/\/ Sort by Score (Best First)\n    stats.sort((a,b) => b.score - a.score);\n    const winner = stats[0];\n\n    \/\/ --- 4. PREDICTION FOR TOMORROW ---\n    const lastResult = timeline[timeline.length - 1];\n    const targetFormula = formulas.find(f => f.id === winner.id);\n    const finalNumbers = targetFormula.func(lastResult).sort((a,b)=>a-b);\n    \n    const copyStr = finalNumbers.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 5. VISUAL HIGHLIGHTS ---\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if (finalNumbers.includes(val)) {\n            td.style.backgroundColor = '#4A00E0';\n            td.style.color = '#fff';\n            td.style.fontWeight = 'bold';\n            td.style.boxShadow = '0 0 10px #8E2DE2';\n            td.style.border = '1px solid #fff';\n        }\n    });\n\n    \/\/ --- 6. GENERATE ADVANCED REPORT CARD ---\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:linear-gradient(to right, #8E2DE2, #4A00E0); padding:15px; border-radius:10px 10px 0 0; text-align:center;\">\n            <div style=\"font-size:20px; font-weight:bold;\">\ud83d\udddd\ufe0f MASTER KEY PRO<\/div>\n            <div style=\"font-size:11px; opacity:0.8;\">DEEP AUDIT REPORT<\/div>\n        <\/div>\n\n        <div style=\"background:#111; padding:15px; border-left:2px solid #8E2DE2; border-right:2px solid #8E2DE2;\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;\">\n                <span style=\"color:#aaa; font-size:11px;\">BEST FORMULA:<\/span>\n                <span style=\"color:#00e676; font-weight:bold;\">${winner.name}<\/span>\n            <\/div>\n            \n            <div style=\"background:#220033; padding:10px; border-radius:6px; text-align:center;\">\n                <div style=\"font-size:10px; color:#ffccff;\">PREDICTION FOR NEXT<\/div>\n                <div style=\"font-size:22px; font-weight:bold; color:#fff; letter-spacing:2px; margin-top:5px;\">\n                    ${finalNumbers.map(n=>n.toString().padStart(2,'0')).join(', ')}\n                <\/div>\n            <\/div>\n            \n            <button onclick=\"navigator.clipboard.writeText('${copyStr}');alert('Pro Numbers Copied!')\" style=\"margin-top:10px; width:100%; background:#4A00E0; color:#fff; border:none; padding:10px; border-radius:4px; font-weight:bold; cursor:pointer;\">\n                \ud83d\udccb COPY TARGETS\n            <\/button>\n        <\/div>\n\n        <div style=\"background:#000; padding:10px; border-radius:0 0 10px 10px; border:2px solid #8E2DE2; border-top:none;\">\n            <div style=\"font-size:11px; color:#aaa; margin-bottom:5px; text-transform:uppercase;\">Performance Audit<\/div>\n            \n            <table style=\"width:100%; font-size:11px; text-align:center; border-collapse:collapse;\">\n                <tr style=\"color:#8E2DE2; border-bottom:1px solid #333;\">\n                    <th style=\"padding:5px; text-align:left;\">Formula<\/th>\n                    <th>Last Yr<\/th>\n                    <th>This Yr<\/th>\n                    <th>Month<\/th>\n                    <th>Y'day<\/th>\n                <\/tr>\n                ${stats.slice(0, 3).map(s => `\n                    <tr style=\"border-bottom:1px solid #222; color:${s.id===winner.id ? '#fff' : '#888'}; font-weight:${s.id===winner.id ? 'bold' : 'normal'};\">\n                        <td style=\"padding:6px; text-align:left;\">${s.name} ${s.id===winner.id ? '\ud83d\udc51' : ''}<\/td>\n                        <td>${s.lastYear}<\/td>\n                        <td>${s.thisYear}<\/td>\n                        <td style=\"color:${parseInt(s.displayPerc)>40 ? '#00e676' : '#ff9800'}\">${s.displayPerc}<\/td>\n                        <td>${s.yesterday}<\/td>\n                    <\/tr>\n                `).join('')}\n            <\/table>\n            \n            <div style=\"margin-top:10px; font-size:10px; color:#666; text-align:center;\">\n                *Scores are calculated based on Monthly Accuracy + Recent Momentum.\n            <\/div>\n        <\/div>\n\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Master Key Pro Audit', html);\n    logicChartAddLegend('#4A00E0', 'Audited Winner');\n    logicChartShowPopup(`\ud83d\udddd\ufe0f Audit Complete: ${winner.name} is the current King!`);\n}\n\n\/\/ Helper for Family Generation (If not exists)\nfunction getFamilyForList(list) {\n    let familySet = new Set();\n    list.forEach(num => {\n        let s = num.toString().padStart(2, '0');\n        let a = parseInt(s[0]);\n        let b = parseInt(s[1]);\n        let a_ = (a + 5) % 10;\n        let b_ = (b + 5) % 10;\n        \n        familySet.add(parseInt(`${a}${b}`));\n        familySet.add(parseInt(`${a}${b_}`));\n        familySet.add(parseInt(`${a_}${b}`));\n        familySet.add(parseInt(`${a_}${b_}`));\n        familySet.add(parseInt(`${b}${a}`));\n        familySet.add(parseInt(`${b}${a_}`));\n        familySet.add(parseInt(`${b_}${a}`));\n        familySet.add(parseInt(`${b_}${a_}`));\n    });\n    return Array.from(familySet);\n}\n        \/\/ ====================================================\n\/\/ \ud83e\udec0 NAS TRACKER (THE PULSE & BEHAVIOR DIAGNOSTIC)\n\/\/ ====================================================\n\nfunction logicNasTrackerPro() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"NAS Tracker\", \"\u274c Critical Error: Need full history scan.\");\n        return;\n    }\n\n    const totalDraws = timeline.length;\n    const positions = {};\n\n    \/\/ 1. DATA EXTRACTION (Scanning History)\n    timeline.forEach((n, idx) => {\n        if (!positions[n]) positions[n] = [];\n        positions[n].push(idx);\n    });\n\n    let nasReport = [];\n\n    \/\/ Loop 00-99\n    for (let i = 0; i < 100; i++) {\n        const num = parseInt(i);\n        const numStr = i.toString().padStart(2, '0');\n\n        \/\/ Stats Calculation\n        let posArr = positions[num] || [];\n        let currentGap = 0;\n        let historyGaps = [];\n        let maxHistGap = 0;\n        let avgGap = 0;\n\n        if (posArr.length === 0) {\n            currentGap = totalDraws; \/\/ Never opened\n            maxHistGap = 0;\n        } else {\n            \/\/ Current Gap\n            currentGap = totalDraws - 1 - posArr[posArr.length - 1];\n            \n            \/\/ History Gaps\n            let gapSum = 0;\n            \/\/ First gap\n            historyGaps.push(posArr[0]); \n            gapSum += posArr[0];\n            \n            for (let k = 1; k < posArr.length; k++) {\n                let g = posArr[k] - posArr[k-1] - 1;\n                historyGaps.push(g);\n                gapSum += g;\n            }\n            maxHistGap = Math.max(...historyGaps);\n            avgGap = Math.round(gapSum \/ (posArr.length || 1));\n        }\n\n        \/\/ 2. DIAGNOSIS (Nas Pakadna)\n        \n        let diagnosis = \"NORMAL\";\n        let color = \"#888\"; \/\/ Gray\n        let priority = 0;\n        let details = \"\";\n\n        \/\/ Condition A: COMA (Lamba chalne wale)\n        \/\/ Agar current gap uske 'Max History Gap' se bhi bada ho gaya hai.\n        \/\/ Iska matlab ye naya record bana raha hai -> Ye lamba jayega.\n        if (currentGap > maxHistGap && currentGap > 50) {\n            diagnosis = \"\ud83d\udd35 COMA STATE (Going Long)\";\n            color = \"#00bfff\"; \/\/ Cold Blue\n            details = \"\u26a0\ufe0f Overdue! Crossing historical limits. Risk: Very High.\";\n            priority = 1;\n        }\n\n        \/\/ Condition B: CRITICAL (Pulse Match)\n        \/\/ Agar Current Gap apne Average ya kisi Past Gap se match kar raha hai.\n        const exactMatch = historyGaps.slice(-10).filter(g => Math.abs(g - currentGap) <= 1).length; \/\/ Tolerance +\/- 1\n        \n        if (exactMatch >= 2) {\n            diagnosis = \"\ud83d\udd34 CRITICAL PULSE (Active)\";\n            color = \"#ff3333\"; \/\/ Alert Red\n            details = `\ud83d\udd25 Behavior Match: Matched ${exactMatch} times in recent history.`;\n            priority = 3;\n        }\n\n        \/\/ Condition C: CONFIRMED (Exact Step)\n        \/\/ Agar pichli baar bhi yehi gap tha, aur usse pichli baar bhi (Pattern Locked)\n        const lastGap = historyGaps[historyGaps.length-1] || -1;\n        if (currentGap === lastGap && currentGap > 5) {\n            diagnosis = \"\ud83d\udfe2 CONFIRMED RHYTHM\";\n            color = \"#00e676\"; \/\/ Matrix Green\n            details = `\u2705 Exact Step Repeat: Last time bhi ${lastGap} din baad aaya tha.`;\n            priority = 4; \/\/ Top Priority\n        }\n\n        \/\/ Add to Report if interesting\n        if (priority > 0 || currentGap > 30) {\n            nasReport.push({\n                n: numStr,\n                gap: currentGap,\n                avg: avgGap,\n                max: maxHistGap,\n                hist: historyGaps.slice(-6).join(', '), \/\/ Last 6 gaps\n                diag: diagnosis,\n                col: color,\n                det: details,\n                pri: priority\n            });\n        }\n    }\n\n    \/\/ Sort by Priority (High to Low)\n    nasReport.sort((a,b) => b.pri - a.pri);\n\n    \/\/ --- 3. UI GENERATION ---\n    \n    \/\/ Highlight Chart\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = td.textContent.trim();\n        const item = nasReport.find(x => x.n === val);\n        \n        if (item && item.pri >= 3) { \/\/ Highlight only Critical & Confirmed\n            td.style.backgroundColor = item.col;\n            td.style.color = (item.col === '#00e676') ? '#000' : '#fff';\n            td.style.fontWeight = 'bold';\n            td.style.border = '2px solid #fff';\n            td.style.animation = 'pulse 2s infinite';\n        }\n    });\n\n    \/\/ Generate HTML Card View\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        <div style=\"background:#220000; border:1px solid #ff3333; border-radius:10px; padding:15px; margin-bottom:15px; text-align:center;\">\n            <div style=\"font-size:20px; font-weight:bold; color:#ff3333;\">\ud83e\udec0 NAS TRACKER<\/div>\n            <div style=\"font-size:10px; color:#aaa;\">PULSE & BEHAVIOR DIAGNOSTIC<\/div>\n        <\/div>\n\n        <div style=\"max-height:400px; overflow-y:auto; padding-right:5px;\">\n            ${nasReport.map(item => `\n                <div style=\"background:#111; border-left:5px solid ${item.col}; border-radius:5px; padding:10px; margin-bottom:8px; display:flex; flex-direction:column; gap:5px; box-shadow:0 2px 5px rgba(0,0,0,0.5);\">\n                    \n                    <div style=\"display:flex; justify-content:space-between; align-items:center;\">\n                        <div style=\"display:flex; align-items:center; gap:10px;\">\n                            <span style=\"font-size:24px; font-weight:bold; color:#fff;\">${item.n}<\/span>\n                            <span style=\"font-size:10px; background:${item.col}; color:${item.col==='#00e676'?'#000':'#fff'}; padding:2px 6px; border-radius:3px; font-weight:bold;\">${item.diag}<\/span>\n                        <\/div>\n                        <div style=\"text-align:right;\">\n                            <div style=\"font-size:9px; color:#aaa;\">CURRENT GAP<\/div>\n                            <div style=\"font-size:16px; font-weight:bold; color:${item.col};\">${item.gap} <span style=\"font-size:10px;\">days<\/span><\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div style=\"font-size:11px; color:#ccc; border-top:1px dashed #333; padding-top:5px; margin-top:2px;\">\n                        ${item.det}\n                    <\/div>\n\n                    <div style=\"background:#222; padding:5px; border-radius:4px; margin-top:5px;\">\n                        <div style=\"font-size:9px; color:#888; display:flex; justify-content:space-between;\">\n                            <span>Recent Behavior (Gaps):<\/span>\n                            <span>Max History: ${item.max}d<\/span>\n                        <\/div>\n                        <div style=\"font-family:monospace; color:#fff; font-size:11px; letter-spacing:1px;\">\n                            [ ${item.hist} ]\n                        <\/div>\n                    <\/div>\n\n                <\/div>\n            `).join('')}\n        <\/div>\n        \n        <div style=\"display:flex; gap:5px; margin-top:10px;\">\n            <button onclick=\"copyNasData('critical')\" style=\"flex:1; background:#ff3333; color:#fff; border:none; padding:10px; border-radius:4px; font-weight:bold; cursor:pointer;\">\n                COPY CRITICAL \ud83d\udd34\n            <\/button>\n            <button onclick=\"copyNasData('confirmed')\" style=\"flex:1; background:#00e676; color:#000; border:none; padding:10px; border-radius:4px; font-weight:bold; cursor:pointer;\">\n                COPY CONFIRMED \ud83d\udfe2\n            <\/button>\n        <\/div>\n        \n        <div style=\"text-align:center; font-size:9px; color:#666; margin-top:8px;\">\n            *Blue (Coma) numbers are risky to play. Red & Green are active.\n        <\/div>\n    <\/div>\n    \n    <style>\n        @keyframes pulse {\n            0% { box-shadow: 0 0 0 0 rgba(255, 51, 51, 0.7); }\n            70% { box-shadow: 0 0 0 10px rgba(255, 51, 51, 0); }\n            100% { box-shadow: 0 0 0 0 rgba(255, 51, 51, 0); }\n        }\n    <\/style>\n    `;\n\n    \/\/ Save data for copy function\n    window.nasData = nasReport;\n\n    logicChartUpdateResult('NAS Pulse Report', html);\n    logicChartAddLegend('#ff3333', 'Critical Pulse');\n    logicChartShowPopup(`\ud83e\udec0 NAS Scan: ${nasReport.filter(x=>x.pri>=3).length} active pulses found!`);\n}\n\n\/\/ Helper Copy Function\nfunction copyNasData(type) {\n    if(!window.nasData) return;\n    let filtered = [];\n    \n    if(type === 'critical') {\n        \/\/ Red ones\n        filtered = window.nasData.filter(x => x.pri === 3).map(x => x.n);\n    } else if(type === 'confirmed') {\n        \/\/ Green ones\n        filtered = window.nasData.filter(x => x.pri === 4).map(x => x.n);\n    }\n    \n    if(filtered.length === 0) { alert(\"No numbers in this category.\"); return; }\n    \n    navigator.clipboard.writeText(filtered.join(','));\n    alert(`\ud83e\udec0 ${type.toUpperCase()} Numbers Copied!`);\n}\n        \n        \/\/ ====================================================\n\/\/ \ud83d\udc3e GAP BEHAVIOR PRO (STEP PATTERN MATCHER)\n\/\/ ====================================================\n\nfunction logicGapBehaviorPro() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"Gap Behavior\", \"\u274c Need deep history for behavior analysis.\");\n        return;\n    }\n\n    \/\/ --- 1. DATA MINING (KHUDAI) ---\n    \/\/ Har number ka pura gap history nikalo\n    \n    const positions = {}; \/\/ { 00: [idx1, idx2...], 01: [...] }\n    timeline.forEach((n, idx) => {\n        if (!positions[n]) positions[n] = [];\n        positions[n].push(idx);\n    });\n\n    let behaviorReport = [];\n    const totalDraws = timeline.length;\n\n    for (let i = 0; i < 100; i++) {\n        const num = parseInt(i);\n        const numStr = i.toString().padStart(2, '0');\n        \n        if (!positions[num] || positions[num].length < 2) continue; \/\/ Skip new\/rare numbers\n\n        const posArr = positions[num];\n        \n        \/\/ A. CALCULATE CURRENT GAP (Abhi kitne din se band hai)\n        const lastIdx = posArr[posArr.length - 1];\n        const currentGap = totalDraws - 1 - lastIdx;\n\n        \/\/ B. CALCULATE HISTORICAL GAPS (Pehle kitne din baad aaya tha)\n        const historyGaps = [];\n        \/\/ Loop through history to find gaps between appearances\n        for (let k = 1; k < posArr.length; k++) {\n            const gap = posArr[k] - posArr[k-1] - 1; \/\/ -1 because adjacent is gap 0\n            historyGaps.push(gap);\n        }\n        \/\/ Add gap from start to first appearance (optional, skipping for strict behavior)\n        \n        \/\/ C. MATCHING ENGINE (The Intelligence)\n        \/\/ Check if Current Gap matches any Historical Gap\n        \/\/ We allow a tiny tolerance (+\/- 1 day) for \"Near Miss\"\n        \n        let exactMatches = 0;\n        let nearMatches = 0;\n        let matchDetails = [];\n\n        historyGaps.forEach(hGap => {\n            if (hGap === currentGap) {\n                exactMatches++;\n                matchDetails.push(`Exact (${hGap}d)`);\n            } else if (Math.abs(hGap - currentGap) === 1) {\n                nearMatches++;\n                matchDetails.push(`Near (${hGap}d)`);\n            }\n        });\n\n        \/\/ D. FILTER INTERESTING NUMBERS\n        \/\/ Sirf unhe lo jinka match 1 se zyada baar hua ho ya exact match ho\n        if (exactMatches > 0 || (currentGap > 20 && nearMatches > 0)) {\n            \n            \/\/ Calculate \"Step Power\"\n            let power = exactMatches * 2 + nearMatches;\n            let status = \"\";\n            let colorCode = \"\";\n\n            if (exactMatches >= 2) {\n                status = \"\ud83d\udd25 PERFECT STEP REPEAT\";\n                colorCode = \"#FFD700\"; \/\/ Gold\n            } else if (exactMatches === 1) {\n                status = \"\u2705 HISTORY REPEAT\";\n                colorCode = \"#00e676\"; \/\/ Green\n            } else {\n                status = \"\u26a0\ufe0f NEAR STEP ZONE\";\n                colorCode = \"#00bfff\"; \/\/ Blue\n            }\n\n            behaviorReport.push({\n                n: num,\n                nStr: numStr,\n                cur: currentGap,\n                hist: historyGaps.slice(-10), \/\/ Show last 10 gaps for context\n                matches: exactMatches,\n                details: matchDetails,\n                power: power,\n                status: status,\n                color: colorCode\n            });\n        }\n    }\n\n    \/\/ Sort by Power (Strongest matches first)\n    behaviorReport.sort((a,b) => b.power - a.power);\n\n    \/\/ --- 2. HIGHLIGHTS ---\n    const topPicks = behaviorReport.slice(0, 10).map(x => x.n);\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if (topPicks.includes(val)) {\n            td.style.border = '2px solid #fff';\n            td.style.backgroundColor = '#4b6cb7';\n            td.style.fontWeight = 'bold';\n        }\n    });\n\n    const copyStr = topPicks.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 3. GENERATE SMART UI ---\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:linear-gradient(to right, #182848, #4b6cb7); border:1px solid #89f7fe; border-radius:10px; padding:15px; margin-bottom:15px;\">\n            <div style=\"font-size:16px; font-weight:bold; color:#89f7fe; text-align:center;\">\n                \ud83d\udc3e BEHAVIOR TRACKER\n            <\/div>\n            <div style=\"font-size:10px; color:#ccc; text-align:center;\">\n                \"History Repeats Itself\" - Gap Pattern Analysis\n            <\/div>\n        <\/div>\n\n        <div style=\"max-height:350px; overflow-y:auto; padding-right:5px;\">\n            ${behaviorReport.map(item => `\n                <div style=\"background:#111; border-left:4px solid ${item.color}; border-radius:5px; padding:10px; margin-bottom:8px; position:relative;\">\n                    \n                    <div style=\"display:flex; justify-content:space-between; align-items:center;\">\n                        <div>\n                            <span style=\"font-size:20px; font-weight:bold; color:#fff;\">${item.nStr}<\/span>\n                            <span style=\"font-size:11px; background:${item.color}; color:#000; padding:2px 6px; border-radius:4px; font-weight:bold; margin-left:5px;\">\n                                ${item.status}\n                            <\/span>\n                        <\/div>\n                        <div style=\"text-align:right;\">\n                            <div style=\"font-size:9px; color:#aaa;\">CURRENT GAP<\/div>\n                            <div style=\"font-size:14px; font-weight:bold; color:${item.color};\">${item.cur} Days<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div style=\"margin-top:8px; font-size:11px; color:#ccc; border-top:1px dashed #333; padding-top:5px;\">\n                        <strong>\ud83d\udd75\ufe0f Super Eye Insight:<\/strong><br>\n                        \"Ye number pehle bhi <strong>${item.matches} baar<\/strong> theek <strong>${item.cur} din<\/strong> ke gap par khula hai.\"\n                    <\/div>\n\n                    <div style=\"margin-top:5px; font-size:10px; color:#666;\">\n                        Recent Gaps: ${item.hist.join(', ')}\n                    <\/div>\n\n                    ${item.matches >= 2 ? `\n                    <div style=\"margin-top:5px; background:rgba(255,215,0,0.1); color:#FFD700; padding:4px; font-size:10px; border-radius:3px;\">\n                        \ud83d\udca1 <strong>Smart Tip:<\/strong> Strong Habit Detected! High chance to open <strong>TODAY<\/strong> or Tomorrow.\n                    <\/div>` : ''}\n\n                <\/div>\n            `).join('')}\n            \n            ${behaviorReport.length === 0 ? '<div style=\"text-align:center; color:#888;\">No step patterns matched today.<\/div>' : ''}\n        <\/div>\n\n        <button onclick=\"navigator.clipboard.writeText('${copyStr}');alert('Behavior Numbers Copied!')\" style=\"margin-top:10px; width:100%; background:#4b6cb7; color:#fff; border:none; padding:10px; border-radius:6px; font-weight:bold; cursor:pointer;\">\n            \ud83d\udccb COPY MATCHED NUMBERS\n        <\/button>\n\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Gap Behavior Pro', html);\n    logicChartAddLegend('#4b6cb7', 'Step Match');\n    logicChartShowPopup(`\ud83d\udc3e Found ${behaviorReport.length} numbers repeating their gap behavior!`);\n}\n        \/\/ ====================================================\n\/\/ \ud83d\udc41\ufe0f THE ORACLE 2.0 (DYNAMIC SELF-LEARNING AI)\n\/\/ ====================================================\n\nfunction logicTheOraclePro() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n    const dates = window.logicChartMeta?.timelineDates || [];\n\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"The Oracle 2.0\", \"\u274c Need deep history for AI training.\");\n        return;\n    }\n\n    \/\/ --- 1. THE COUNCIL OF ENGINES (Internal Logics) ---\n    \/\/ \u092f\u0947 Oracle \u0915\u0947 5 \u0938\u0932\u093e\u0939\u0915\u093e\u0930 \u0939\u0948\u0902\u0964\n    const engines = [\n        {\n            id: 'E1', name: \"\ud83c\udf2a\ufe0f Tornado\", \n            func: (hist) => { \/\/ Top 4 Open x Top 4 Close\n                const sl = hist.slice(-20);\n                let o={}, c={};\n                sl.forEach(n=>{ let s=n.toString().padStart(2,'0'); o[s[0]]=(o[s[0]]||0)+1; c[s[1]]=(c[s[1]]||0)+1; });\n                let to=Object.keys(o).sort((a,b)=>o[b]-o[a]).slice(0,4);\n                let tc=Object.keys(c).sort((a,b)=>c[b]-c[a]).slice(0,4);\n                let res=[]; to.forEach(x=>tc.forEach(y=>res.push(parseInt(x+y)))); return res;\n            }\n        },\n        {\n            id: 'E2', name: \"\ud83e\uddec DNA Sniper\", \n            func: (hist) => { \/\/ 3-Step Sequence\n                let last=hist[hist.length-1], prev=hist[hist.length-2];\n                let res=[];\n                for(let i=0; i<hist.length-2; i++) { if(hist[i]===prev && hist[i+1]===last) res.push(hist[i+2]); }\n                return [...new Set(res)];\n            }\n        },\n        {\n            id: 'E3', name: \"\ud83e\uddf2 Gravity\", \n            func: (hist) => { \/\/ Neighbors\n                let last=hist[hist.length-1];\n                return [(last+1)%100, (last-1+100)%100, (last+10)%100, (last-10+100)%100];\n            }\n        },\n        {\n            id: 'E4', name: \"\ud83c\udf73 Pressure\", \n            func: (hist) => { \/\/ Low Pressure Logic (Simplified)\n                let freq={}; hist.forEach(n=>freq[n]=(freq[n]||0)+1);\n                let max=Math.max(...Object.values(freq));\n                let low=[];\n                for(let i=0; i<100; i++) if((freq[i]||0)\/max < 0.25) low.push(i);\n                return low;\n            }\n        },\n        {\n            id: 'E5', name: \"\ud83d\udd04 Repeat\", \n            func: (hist) => { \/\/ Recent Repeats\n                return [...new Set(hist.slice(-5))];\n            }\n        }\n    ];\n\n    \/\/ Stats Containers for each Engine\n    engines.forEach(e => {\n        e.stats = { lastYear:0, thisYear:0, thisMonth:0, yesterday:0, weight:0 };\n    });\n\n    \/\/ Date Helpers\n    const today = new Date();\n    const curYear = today.getFullYear();\n    const lastYear = curYear - 1;\n    const curMonth = today.getMonth() + 1;\n\n    \/\/ --- 2. THE TRAINING SIMULATION (Backtesting) ---\n    \/\/ Check last 200 draws to determine \"Current Power\" of each engine\n    const checkLimit = Math.min(timeline.length, 365);\n    const startScan = timeline.length - checkLimit;\n\n    for(let i = startScan; i < timeline.length; i++) {\n        if(i < 50) continue; \n        const actualResult = timeline[i];\n        const pastSlice = timeline.slice(0, i);\n        const d = dates[i];\n        \n        \/\/ Time Flags\n        const isLastY = d.year === lastYear;\n        const isThisY = d.year === curYear;\n        const isThisM = isThisY && d.month === curMonth;\n        const isYest = i === timeline.length - 1;\n\n        engines.forEach(e => {\n            const preds = e.func(pastSlice);\n            if(preds.includes(actualResult)) {\n                if(isLastY) e.stats.lastYear++;\n                if(isThisY) e.stats.thisYear++;\n                if(isThisM) e.stats.thisMonth++;\n                if(isYest) e.stats.yesterday = 1;\n            }\n        });\n    }\n\n    \/\/ --- 3. DYNAMIC WEIGHT CALCULATION (The AI Part) ---\n    \/\/ We calculate \"Trust Score\" for each engine based on recent performance\n    let totalMonthHits = 0;\n    engines.forEach(e => totalMonthHits += e.stats.thisMonth);\n    \n    engines.forEach(e => {\n        \/\/ Formula: 60% weight to Current Month, 30% to This Year, 10% Last Year\n        \/\/ This makes the Oracle \"Current Trend\" sensitive.\n        let rawScore = (e.stats.thisMonth * 3) + (e.stats.thisYear * 1);\n        e.stats.weight = rawScore; \n        e.displayAcc = totalMonthHits > 0 ? Math.round((e.stats.thisMonth\/totalMonthHits)*100) : 0;\n    });\n\n    \/\/ Sort Engines by Power (Who is the Boss today?)\n    engines.sort((a,b) => b.stats.weight - a.stats.weight);\n    const topEngine = engines[0]; \/\/ The current leader\n\n    \/\/ --- 4. FINAL PREDICTION (Weighted Voting) ---\n    const finalVotes = {};\n    \n    \/\/ Ask all engines for TODAY'S prediction\n    engines.forEach(e => {\n        const preds = e.func(timeline);\n        preds.forEach(n => {\n            \/\/ Vote is not 1. Vote is equal to Engine's Weight.\n            \/\/ If DNA Sniper is strong, its vote counts 100 points. \n            \/\/ If Gravity is weak, its vote counts 10 points.\n            finalVotes[n] = (finalVotes[n] || 0) + e.stats.weight;\n        });\n    });\n\n    \/\/ Sort Candidates\n    const candidates = Object.entries(finalVotes)\n        .sort((a,b) => b[1] - a[1])\n        .map(x => ({ n: parseInt(x[0]), score: x[1] }));\n\n    const theOne = candidates[0]; \/\/ Single Shot\n    const trinity = candidates.slice(1, 4); \/\/ Top 3 Support\n    \n    const copyStr = [theOne.n, ...trinity.map(t=>t.n)].map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 5. UI GENERATION ---\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex===0) return;\n        const val = parseInt(td.textContent);\n        \n        if(val === theOne.n) {\n            \/\/ THE ONE (Golden Ball)\n            td.style.background = 'radial-gradient(circle at 30% 30%, #FFD700, #B8860B)';\n            td.style.color = '#000';\n            td.style.fontWeight = '900';\n            td.style.fontSize = '16px';\n            td.style.border = '2px solid #fff';\n            td.style.boxShadow = '0 0 25px #FFD700';\n            td.style.animation = 'pulse 1s infinite';\n        } else if(trinity.some(t=>t.n === val)) {\n            \/\/ TRINITY (Support)\n            td.style.border = '2px solid #FFD700';\n            td.style.color = '#FFD700';\n            td.style.fontWeight = 'bold';\n        }\n    });\n\n    \/\/ Calculate Global Accuracy (Of the Oracle itself)\n    \/\/ Roughly average of top 3 engines\n    const oracleConfidence = Math.min(99, Math.round((topEngine.displayAcc + 20)));\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:linear-gradient(to bottom, #000, #1a1a00); padding:20px; border:2px solid #FFD700; border-radius:15px; text-align:center; position:relative; overflow:hidden;\">\n            <div style=\"position:absolute; top:-10px; left:-10px; color:rgba(255,215,0,0.1); font-size:100px;\">\ud83d\udc41\ufe0f<\/div>\n            \n            <div style=\"font-size:14px; color:#B8860B; letter-spacing:4px; margin-bottom:10px;\">ORACLE PREDICTS<\/div>\n            \n            <div style=\"display:inline-block; position:relative;\">\n                <div style=\"\n                    width:90px; height:90px; line-height:90px;\n                    background: radial-gradient(circle, #FFD700, #FFA500, #8B4513);\n                    border-radius:50%; color:#000; font-size:42px; font-weight:900;\n                    box-shadow: 0 0 40px #FFD700; text-shadow: 1px 1px 0 rgba(255,255,255,0.4);\n                \">\n                    ${theOne.n.toString().padStart(2,'0')}\n                <\/div>\n            <\/div>\n\n            <div style=\"margin-top:15px; font-size:12px; color:#fff;\">\n                CONFIDENCE: <span style=\"color:#00e676; font-weight:bold;\">${oracleConfidence}%<\/span>\n                <span style=\"color:#666;\"> | <\/span>\n                POWERED BY: <span style=\"color:#FFD700;\">${topEngine.name}<\/span>\n            <\/div>\n        <\/div>\n\n        <div style=\"display:flex; justify-content:center; gap:10px; margin-top:15px;\">\n            ${trinity.map(t => `\n                <div style=\"background:#222; border:1px solid #FFD700; padding:8px 15px; border-radius:8px; text-align:center;\">\n                    <div style=\"color:#aaa; font-size:10px;\">SUPPORT<\/div>\n                    <div style=\"color:#FFD700; font-size:18px; font-weight:bold;\">${t.n.toString().padStart(2,'0')}<\/div>\n                <\/div>\n            `).join('')}\n        <\/div>\n\n        <button onclick=\"navigator.clipboard.writeText('${copyStr}');alert('Oracle Vision Copied!')\" style=\"margin-top:15px; width:100%; background:linear-gradient(to right, #B8860B, #FFD700); color:#000; border:none; padding:12px; border-radius:30px; font-weight:bold; cursor:pointer;\">\n            \ud83d\udccb COPY ORACLE VISION\n        <\/button>\n\n        <div style=\"margin-top:20px; background:#050505; border-radius:10px; padding:15px; border:1px solid #333;\">\n            <div style=\"font-size:11px; color:#aaa; margin-bottom:10px; text-transform:uppercase;\">The Council of Engines (Performance)<\/div>\n            \n            ${engines.map((e, idx) => `\n                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; border-bottom:1px solid #222; padding-bottom:4px;\">\n                    <div style=\"display:flex; align-items:center; gap:5px;\">\n                        <span style=\"font-size:14px;\">${e.name}<\/span>\n                        ${idx===0 ? '<span style=\"font-size:10px; background:#FFD700; color:#000; padding:1px 4px; border-radius:3px;\">LEADER<\/span>' : ''}\n                    <\/div>\n                    <div style=\"text-align:right;\">\n                        <div style=\"font-size:12px; font-weight:bold; color:${e.stats.yesterday?'#00e676':'#fff'};\">\n                            ${e.stats.thisMonth} Wins (Month)\n                        <\/div>\n                        <div style=\"font-size:9px; color:#666;\">\n                            Yest: ${e.stats.yesterday ? '\u2705 PASS' : '\u274c FAIL'} | Year: ${e.stats.thisYear}\n                        <\/div>\n                    <\/div>\n                <\/div>\n            `).join('')}\n        <\/div>\n\n    <\/div>\n    `;\n\n    logicChartUpdateResult('The Oracle 2.0 (God Mode)', html);\n    logicChartAddLegend('#FFD700', 'Oracle Choice');\n    logicChartShowPopup(`\ud83d\udc41\ufe0f The Oracle Speaks: ${theOne.n.toString().padStart(2,'0')} is the Chosen One.`);\n}\n        \n        \/\/ ====================================================\n\/\/ \ud83d\udd22 QUADRANT SNIPER PRO (SECTOR ANALYSIS + BACKTESTING)\n\/\/ ====================================================\n\nfunction logicQuadrantSniperPro() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n\n    if (timeline.length < 50) {\n        logicChartUpdateResult(\"Quadrant Sniper\", \"\u274c Need more data (50+ draws).\");\n        return;\n    }\n\n    \/\/ --- 1. DEFINE QUADRANTS ---\n    \/\/ Q1: 00-24, Q2: 25-49, Q3: 50-74, Q4: 75-99\n    const getQuadIndex = (n) => {\n        if (n < 25) return 0;\n        if (n < 50) return 1;\n        if (n < 75) return 2;\n        return 3;\n    };\n    const quadNames = [\"00-24\", \"25-49\", \"50-74\", \"75-99\"];\n\n    \/\/ --- 2. BACKTESTING ENGINE (ACCURACY CHECK) ---\n    let wins100 = 0;\n    let winsTotal = 0;\n    const checkLimit = Math.min(timeline.length - 21, 365); \/\/ Max 1 year\n    const startScan = timeline.length - checkLimit;\n\n    for (let i = startScan; i < timeline.length; i++) {\n        const actualNum = timeline[i];\n        const actualQuad = getQuadIndex(actualNum);\n        \n        \/\/ Analyze past 20 draws from that point\n        const pastSlice = timeline.slice(i - 20, i);\n        \n        \/\/ Logic: Find \"Due\" Quadrant (Least Frequent)\n        const counts = [0, 0, 0, 0];\n        pastSlice.forEach(n => counts[getQuadIndex(n)]++);\n        \n        \/\/ Find min index (Target)\n        const minVal = Math.min(...counts);\n        const targetIndices = [];\n        counts.forEach((c, idx) => { if(c === minVal) targetIndices.push(idx) });\n        \n        \/\/ If actual result matched ANY of the targets (usually 1, sometimes 2 tied)\n        if (targetIndices.includes(actualQuad)) {\n            winsTotal++;\n            if (i >= timeline.length - 100) wins100++;\n        }\n    }\n\n    const rate100 = Math.round((wins100 \/ Math.min(100, checkLimit)) * 100);\n    const rateTotal = Math.round((winsTotal \/ checkLimit) * 100);\n\n    \/\/ --- 3. CURRENT PREDICTION ---\n    const recent = timeline.slice(-20);\n    const currentCounts = [0, 0, 0, 0];\n    recent.forEach(n => currentCounts[getQuadIndex(n)]++);\n    \n    const minVal = Math.min(...currentCounts);\n    const targetQuads = [];\n    currentCounts.forEach((c, idx) => { if(c === minVal) targetQuads.push(idx) });\n\n    \/\/ Generate Numbers for Target Quads\n    let targetNumbers = [];\n    targetQuads.forEach(qIdx => {\n        const start = qIdx * 25;\n        const end = start + 25;\n        for(let k=start; k<end; k++) targetNumbers.push(k);\n    });\n\n    const copyStr = targetNumbers.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 4. UI GENERATION ---\n    \n    \/\/ Highlight\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if (targetNumbers.includes(val)) {\n            td.style.backgroundColor = '#ff5e62';\n            td.style.color = '#fff';\n            td.style.fontWeight = 'bold';\n        }\n    });\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        <div style=\"background:linear-gradient(to right, #ff9966, #ff5e62); padding:15px; border-radius:10px; margin-bottom:15px; box-shadow:0 0 15px rgba(255, 94, 98, 0.3);\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; border-bottom:1px dashed #fff; padding-bottom:5px;\">\n                <span style=\"font-size:16px; font-weight:bold;\">\ud83d\udd22 QUADRANT SNIPER<\/span>\n                <span style=\"font-size:10px; background:#fff; color:#ff5e62; padding:2px 6px; border-radius:4px;\">ZONE LOGIC<\/span>\n            <\/div>\n            <div style=\"display:flex; justify-content:space-around; text-align:center;\">\n                <div>\n                    <div style=\"font-size:10px; color:#ffe6e6;\">LAST 100 ACCURACY<\/div>\n                    <div style=\"font-size:24px; font-weight:bold; color:#fff;\">${rate100}%<\/div>\n                <\/div>\n                <div style=\"width:1px; background:#fff; opacity:0.5;\"><\/div>\n                <div>\n                    <div style=\"font-size:10px; color:#ffe6e6;\">FULL HISTORY<\/div>\n                    <div style=\"font-size:24px; font-weight:bold; color:#fff;\">${rateTotal}%<\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#220; border:1px solid #ff9966; border-radius:8px; padding:10px; text-align:center;\">\n            <div style=\"font-size:12px; color:#ff9966; margin-bottom:10px;\">TARGET ZONE(S): <strong>${targetQuads.map(i => quadNames[i]).join(' & ')}<\/strong><\/div>\n            \n            <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-bottom:10px;\">\n                ${[0,1,2,3].map(i => {\n                    const isTarget = targetQuads.includes(i);\n                    return `<div style=\"background:${isTarget ? '#ff5e62' : '#222'}; color:${isTarget?'#fff':'#666'}; border:1px solid #444; padding:8px; border-radius:4px; font-size:11px;\">\n                        ${quadNames[i]}<br>\n                        <span style=\"font-size:9px;\">(${currentCounts[i]} hits)<\/span>\n                    <\/div>`;\n                }).join('')}\n            <\/div>\n\n            <button onclick=\"navigator.clipboard.writeText('${copyStr}');alert('Quadrant Numbers Copied!')\" style=\"width:100%; background:#ff5e62; color:#fff; border:none; padding:10px; border-radius:4px; font-weight:bold; cursor:pointer;\">\n                \ud83d\udccb COPY ZONE NUMBERS\n            <\/button>\n        <\/div>\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Quadrant Sniper Pro', html);\n    logicChartAddLegend('#ff5e62', 'Target Quadrant');\n    logicChartShowPopup(`\ud83d\udd22 Analysis: Target ${targetQuads.map(i=>quadNames[i]).join(', ')}`);\n}\n\n\/\/ ====================================================\n\/\/ \ud83e\udd16 THE NOVA ENGINE (NEURAL OPTIMIZATION & ADAPTIVE AI)\n\/\/ ====================================================\n\nasync function logicNovaMasterBot() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"NOVA AI\", \"\u274c Insufficient data for AI Training. Need 100+ records.\");\n        return;\n    }\n\n    \/\/ --- 1. INITIALIZE UI (Training Screen) ---\n    const resultBox = document.getElementById('resultContent');\n    resultBox.innerHTML = `\n        <div style=\"text-align:center; padding:20px;\">\n            <div style=\"font-size:18px; font-weight:bold; color:#00ff00; margin-bottom:10px;\">\ud83e\udde0 NOVA IS LEARNING...<\/div>\n            <div style=\"font-size:12px; color:#aaa; margin-bottom:5px;\" id=\"novaStatus\">Initializing Neural Networks...<\/div>\n            <div style=\"width:100%; background:#222; height:10px; border-radius:5px; overflow:hidden;\">\n                <div id=\"novaBar\" class=\"nova-progress\" style=\"width:0%; height:100%; background:#00ff00;\"><\/div>\n            <\/div>\n            <div style=\"margin-top:10px; font-family:monospace; color:#00ff00; font-size:10px;\" id=\"novaLog\"><\/div>\n        <\/div>\n    `;\n    \n    \/\/ --- 2. DEFINE THE \"AGENTS\" (Logic Modules) ---\n    \/\/ These are the strategies NOVA will test\n    const agents = [\n        { id: 'tornado', name: '\ud83c\udf2a\ufe0f Tornado', func: getTornadoPredictions },\n        { id: 'cosmic', name: '\ud83c\udf0c Cosmic', func: getCosmicPredictions },\n        { id: 'pressure', name: '\ud83c\udf73 Pressure', func: (hist) => calculatePressureStatsPro(hist, 0.96).categories.low.map(x=>parseInt(x.n)) },\n        { id: 'dna', name: '\ud83e\uddec DNA', func: (hist) => getDNAPredictions(hist, hist.length-1) },\n        { id: 'gravity', name: '\ud83e\uddf2 Gravity', func: (hist) => getGravityNeighbors(hist[hist.length-1]) },\n        { id: 'quantum', name: '\u269b\ufe0f Quantum', func: (hist) => getQuantumPredictions(hist) } \/\/ Helper below\n    ];\n\n    \/\/ Scores for each agent\n    let agentScores = {};\n    agents.forEach(a => agentScores[a.id] = { wins: 0, recentWins: 0, weight: 0 });\n\n    \/\/ --- 3. TRAINING LOOP (The Simulation) ---\n    \/\/ We simulate the last 50 draws\n    const trainingSteps = 50; \n    const startIdx = timeline.length - trainingSteps;\n\n    for (let i = 0; i < trainingSteps; i++) {\n        const currentIdx = startIdx + i;\n        const actualResult = timeline[currentIdx];\n        \n        \/\/ \"Time Travel\": Create history as it was at that moment\n        const pastHistory = timeline.slice(0, currentIdx);\n        \n        \/\/ Update UI every 5 steps to avoid lag\n        if (i % 5 === 0) {\n            const pct = Math.round((i \/ trainingSteps) * 100);\n            document.getElementById('novaBar').style.width = pct + '%';\n            document.getElementById('novaStatus').innerText = `Simulating Draw: ${i}\/${trainingSteps}`;\n            await new Promise(r => setTimeout(r, 10)); \/\/ Allow UI update\n        }\n\n        \/\/ Test each Agent\n        agents.forEach(agent => {\n            const preds = agent.func(pastHistory);\n            if (preds.includes(actualResult)) {\n                agentScores[agent.id].wins++;\n                \/\/ Recent wins (last 10) count triple! (Adaptive Learning)\n                if (i >= trainingSteps - 10) {\n                    agentScores[agent.id].recentWins += 3;\n                }\n            }\n        });\n    }\n\n    \/\/ --- 4. WEIGHT CALCULATION (Who is the Boss?) ---\n    let maxWeight = 0;\n    agents.forEach(a => {\n        \/\/ Formula: Total Wins + Recent Bonus\n        const weight = agentScores[a.id].wins + agentScores[a.id].recentWins;\n        agentScores[a.id].weight = weight;\n        if(weight > maxWeight) maxWeight = weight;\n    });\n\n    \/\/ Identify Top 3 Performing Logics currently\n    const sortedAgents = agents.sort((a,b) => agentScores[b.id].weight - agentScores[a.id].weight);\n    const top3 = sortedAgents.slice(0, 3);\n\n    \/\/ --- 5. FINAL PREDICTION (Using Top Agents) ---\n    document.getElementById('novaStatus').innerText = \"Finalizing Prediction...\";\n    document.getElementById('novaBar').style.width = '100%';\n    \n    \/\/ Get predictions for TODAY from Top 3\n    const finalVotes = {};\n    top3.forEach(agent => {\n        const preds = agent.func(timeline);\n        \/\/ Higher weight agents give more \"points\" to their numbers\n        const logicWeight = agentScores[agent.id].weight; \n        \n        preds.forEach(num => {\n            \/\/ Normalize weight (1 to 2 points)\n            const points = 1 + (logicWeight \/ maxWeight); \n            finalVotes[num] = (finalVotes[num] || 0) + points;\n        });\n    });\n\n    \/\/ Extract Winners\n    const finalCandidates = Object.entries(finalVotes)\n        .sort((a,b) => b[1] - a[1]) \/\/ Sort by score\n        .slice(0, 8) \/\/ Top 8 NOVA Picks\n        .map(x => ({ n: parseInt(x[0]), score: x[1] }));\n\n    const copyStr = finalCandidates.map(x=>x.n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 6. RENDER NOVA REPORT ---\n    \n    \/\/ Highlight\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        const match = finalCandidates.find(c => c.n === val);\n        if (match) {\n            \/\/ Color based on strength\n            if(match.score > 2.5) {\n                td.style.backgroundColor = '#00ff00'; \/\/ Super Hot\n                td.style.color = '#000';\n                td.style.fontWeight = 'bold';\n                td.style.boxShadow = '0 0 15px #00ff00';\n            } else {\n                td.style.backgroundColor = '#006400'; \/\/ Moderate\n                td.style.color = '#fff';\n            }\n        }\n    });\n\n    const marketMood = sortedAgents[0].name; \/\/ The best performing logic defines the mood\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:#000; border:1px solid #00ff00; border-radius:10px; padding:15px; margin-bottom:15px; text-align:center; box-shadow:0 0 20px rgba(0, 255, 0, 0.2);\">\n            <div style=\"font-size:24px; font-weight:bold; color:#00ff00; text-shadow:0 0 10px #00ff00;\">\n                \ud83e\udd16 NOVA ENGINE\n            <\/div>\n            <div style=\"font-size:11px; color:#aaa; letter-spacing:2px; margin-top:5px;\">\n                ADAPTIVE INTELLIGENCE REPORT\n            <\/div>\n        <\/div>\n\n        <div style=\"background:rgba(0,255,0,0.1); border-left:4px solid #00ff00; padding:10px; margin-bottom:15px;\">\n            <div style=\"font-size:10px; color:#00ff00;\">CURRENT MARKET MOOD<\/div>\n            <div style=\"font-size:14px; color:black;\">\n                Dominating Logic: <strong>${marketMood}<\/strong> \n                <span style=\"font-size:10px; color:#ccc;\">(Best Hit Rate recently)<\/span>\n            <\/div>\n        <\/div>\n\n        <div style=\"display:flex; gap:5px; overflow-x:auto; padding-bottom:5px; margin-bottom:15px;\">\n            ${top3.map(a => `\n                <div style=\"background:#111; border:1px solid #333; border-radius:5px; padding:5px 10px; min-width:80px; text-align:center;\">\n                    <div style=\"font-size:10px; color:#aaa;\">${a.name}<\/div>\n                    <div style=\"font-size:14px; font-weight:bold; color:#fff;\">${Math.round((agentScores[a.id].wins\/trainingSteps)*100)}%<\/div>\n                <\/div>\n            `).join('')}\n        <\/div>\n\n        <div style=\"background:linear-gradient(to right, #000000, #004400); border:1px solid #00ff00; border-radius:8px; padding:15px;\">\n            <div style=\"display:flex; justify-content:space-between; margin-bottom:10px;\">\n                <span style=\"color:#00ff00; font-weight:bold;\">\ud83d\ude80 NOVA TOP PICKS<\/span>\n                <span style=\"font-size:10px; color:#aaa;\">Calculated Score<\/span>\n            <\/div>\n            \n            <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n                ${finalCandidates.map(c => `\n                    <div style=\"display:flex; justify-content:space-between; background:rgba(0,255,0,0.1); padding:5px 10px; border-radius:4px;\">\n                        <span style=\"font-weight:bold; font-size:16px;\">${c.n.toString().padStart(2,'0')}<\/span>\n                        <span style=\"font-size:10px; color:#00ff00;\">${c.score.toFixed(2)}<\/span>\n                    <\/div>\n                `).join('')}\n            <\/div>\n\n            <button onclick=\"navigator.clipboard.writeText('${copyStr}');alert('NOVA Picks Copied!')\" style=\"margin-top:15px; width:100%; background:#00ff00; color:#000; border:none; padding:12px; border-radius:30px; font-weight:bold; cursor:pointer; box-shadow:0 0 10px #00ff00;\">\n                COPY GENERATED NUMBERS\n            <\/button>\n        <\/div>\n\n    <\/div>\n    `;\n\n    logicChartUpdateResult('NOVA AI Result', html);\n    logicChartAddLegend('#00ff00', 'NOVA Selection');\n}\n\n\/\/ --- MISSING HELPERS FOR NOVA (If not already defined) ---\n\n\/\/ Quantum Root Logic Helper\nfunction getQuantumPredictions(timeline) {\n    if(timeline.length < 20) return [];\n    const recent = timeline.slice(-20);\n    const getRoot = (n) => {\n        let s = n.toString().padStart(2, '0');\n        return (parseInt(s[0]) + parseInt(s[1])) % 10;\n    };\n    const freq = {};\n    recent.forEach(n => { const r = getRoot(n); freq[r] = (freq[r]||0)+1; });\n    const topRoots = Object.entries(freq).sort((a,b)=>b[1]-a[1]).slice(0,2).map(x=>parseInt(x[0]));\n    \n    let targets = [];\n    for(let i=0; i<100; i++) {\n        if(topRoots.includes(getRoot(i))) targets.push(i);\n    }\n    return targets;\n}\n\/\/ ====================================================\n\/\/ \ud83e\udde0 SMART KHAIWAL PRO (STRATEGY BACKTESTER & AUDIT)\n\/\/ ====================================================\n\nfunction logicSmartKhaiwalProInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 100) {\n        alert(\"\u274c Need deep history data for Pro Audit.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"skProModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0, 10, 5, 0.98); z-index:11700; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:800px; background:#001510; border:2px solid #00bfa5; border-radius:15px; box-shadow:0 0 60px rgba(0, 191, 165, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(to right, #004d40, #00796b); padding:15px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #00bfa5;\">\n                <div>\n                    <h2 style=\"margin:0; font-size:20px; color:#fff; font-weight:900;\">\ud83e\udde0 SMART KHAIWAL PRO<\/h2>\n                    <div style=\"font-size:10px; color:#a7ffeb;\">FULL HISTORY STRATEGY AUDIT<\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('skProModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; background:#00221b; border-bottom:1px solid #004d40;\">\n                <div style=\"display:flex; gap:10px; align-items:end; flex-wrap:wrap;\">\n                    \n                    <div style=\"flex:1; min-width:80px;\">\n                        <label style=\"font-size:10px; color:#aaa; font-weight:bold;\">STAKE (\u20b9)<\/label>\n                        <input type=\"number\" id=\"skpStake\" value=\"100\" class=\"skp-input\">\n                    <\/div>\n\n                    <div style=\"flex:1; min-width:80px;\">\n                        <label style=\"font-size:10px; color:#ff8a80; font-weight:bold;\">CUT LIMIT (Days)<\/label>\n                        <input type=\"number\" id=\"skpLimit\" value=\"200\" class=\"skp-input\" style=\"border-color:#ff8a80; color:#ff8a80;\">\n                    <\/div>\n\n                    <div style=\"flex:1; min-width:80px;\">\n                        <label style=\"font-size:10px; color:#ffd700; font-weight:bold;\">COMMISSION (%)<\/label>\n                        <input type=\"number\" id=\"skpComm\" value=\"10\" class=\"skp-input\" style=\"border-color:#ffd700; color:#ffd700;\">\n                    <\/div>\n\n                    <div style=\"width:100px;\">\n                         <button onclick=\"runKhaiwalAudit()\" style=\"width:100%; padding:10px; background:#00bfa5; color:#000; border:none; border-radius:6px; font-weight:bold; cursor:pointer; height:40px; margin-top:15px;\">\n                            RUN AUDIT \ud83d\ude80\n                        <\/button>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div id=\"skpBody\" style=\"flex:1; overflow-y:auto; padding:20px;\">\n                \n                <div id=\"skpLoading\" style=\"text-align:center; padding:50px; display:none;\">\n                    <div style=\"font-size:40px;\">\u23f3<\/div>\n                    <div style=\"color:#00bfa5; margin-top:10px;\">Simulating years of history...<\/div>\n                <\/div>\n\n                <div id=\"skpDashboard\" style=\"display:none;\">\n                    \n                    <div style=\"display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:15px; margin-bottom:25px;\">\n                        \n                        <div class=\"skp-card\">\n                            <div class=\"skp-card-title\">ALL TIME HISTORY<\/div>\n                            <div id=\"skpAllTimePnl\" class=\"skp-big-val\">\u20b90<\/div>\n                            <div id=\"skpAllTimeDet\" class=\"skp-sub-val\">Invest: 0 | Win: 0<\/div>\n                        <\/div>\n\n                        <div class=\"skp-card\">\n                            <div class=\"skp-card-title\">LAST YEAR<\/div>\n                            <div id=\"skpLastYearPnl\" class=\"skp-big-val\">\u20b90<\/div>\n                            <div id=\"skpLastYearDet\" class=\"skp-sub-val\">ROI: 0%<\/div>\n                        <\/div>\n\n                        <div class=\"skp-card\" style=\"border-color:#ffd700;\">\n                            <div class=\"skp-card-title\" style=\"color:#ffd700;\">CURRENT YEAR (Running)<\/div>\n                            <div id=\"skpCurrYearPnl\" class=\"skp-big-val\">\u20b90<\/div>\n                            <div id=\"skpCurrYearDet\" class=\"skp-sub-val\">ROI: 0%<\/div>\n                        <\/div>\n\n                    <\/div>\n\n                    <div style=\"background:#001a1a; border:1px solid #004d40; border-radius:10px; padding:15px;\">\n                        <div style=\"display:flex; justify-content:space-between; margin-bottom:10px;\">\n                            <div style=\"font-size:14px; font-weight:bold; color:#fff;\">\ud83d\udc47 TODAY'S ACTION PLAN<\/div>\n                            <div style=\"font-size:12px; color:#aaa;\">Based on current Cut Limit<\/div>\n                        <\/div>\n\n                        <div id=\"skpGrid\" style=\"display:grid; grid-template-columns:repeat(10, 1fr); gap:3px;\"><\/div>\n\n                        <div style=\"margin-top:15px; display:flex; justify-content:space-between; align-items:center; background:#000; padding:10px; border-radius:6px;\">\n                            <div style=\"font-size:11px; color:#ccc;\">\n                                Playing: <b id=\"skpActiveCount\" style=\"color:#00e676;\">0<\/b> Numbers<br>\n                                Cutting: <b id=\"skpCutCount\" style=\"color:#ff5252;\">0<\/b> Numbers\n                            <\/div>\n                            <div style=\"text-align:right;\">\n                                <div style=\"font-size:10px; color:#aaa;\">NET INVESTMENT TODAY<\/div>\n                                <div id=\"skpNetInvest\" style=\"font-size:16px; font-weight:bold; color:#fff;\">\u20b90<\/div>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                <\/div>\n            <\/div>\n\n        <\/div>\n        \n        <style>\n            .skp-input { width:100%; padding:8px; background:#000; border:1px solid #004d40; color:#fff; font-weight:bold; border-radius:4px; text-align:center; }\n            .skp-card { background:#00221b; border:1px solid #004d40; padding:15px; border-radius:10px; text-align:center; }\n            .skp-card-title { font-size:10px; color:#aaa; margin-bottom:5px; text-transform:uppercase; font-weight:bold; }\n            .skp-big-val { font-size:24px; font-weight:900; margin-bottom:2px; }\n            .skp-sub-val { font-size:10px; color:#666; }\n            .skp-grid-cell { font-size:11px; text-align:center; padding:3px; border-radius:3px; color:#fff; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('skProModal')) document.getElementById('skProModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ Run First Audit\n    runKhaiwalAudit();\n}\n\nfunction runKhaiwalAudit() {\n    \/\/ Show Loading\n    document.getElementById('skpDashboard').style.display = 'none';\n    document.getElementById('skpLoading').style.display = 'block';\n\n    setTimeout(() => {\n        performKhaiwalSimulation();\n        document.getElementById('skpLoading').style.display = 'none';\n        document.getElementById('skpDashboard').style.display = 'block';\n    }, 200); \/\/ Small delay to allow UI render\n}\n\nfunction performKhaiwalSimulation() {\n    const timeline = window.logicChartMeta.timeline;\n    const dates = window.logicChartMeta.timelineDates;\n    const totalDraws = timeline.length;\n\n    \/\/ Inputs\n    const stake = parseInt(document.getElementById('skpStake').value) || 100;\n    const limit = parseInt(document.getElementById('skpLimit').value) || 200;\n    const commPct = parseFloat(document.getElementById('skpComm').value) || 0;\n\n    \/\/ Time Helpers\n    const today = new Date();\n    const curYear = today.getFullYear();\n    const lastYear = curYear - 1;\n\n    \/\/ --- AUDIT VARIABLES ---\n    let stats = {\n        all: { inv: 0, ret: 0, pnl: 0, wins: 0, games: 0 },\n        lastY: { inv: 0, ret: 0, pnl: 0, wins: 0, games: 0 },\n        currY: { inv: 0, ret: 0, pnl: 0, wins: 0, games: 0 }\n    };\n\n    \/\/ Tracking Last Position of each number to calculate gap dynamically\n    \/\/ Initialize with -1 (Never seen)\n    let lastSeenMap = new Array(100).fill(-1);\n\n    \/\/ SIMULATION LOOP (Walking through history)\n    \/\/ We start from 0, but gaps are only valid after some data.\n    \/\/ Let's assume we start 'playing' after 50 draws to have some gap history.\n    \n    for (let i = 0; i < totalDraws; i++) {\n        const actualResult = timeline[i];\n        const dateObj = dates[i];\n\n        \/\/ 1. Calculate Strategy FOR THIS DAY (Before seeing result)\n        \/\/ Count how many numbers are active vs cut based on `lastSeenMap`\n        let activeCount = 0;\n        let cutCount = 0;\n        let isActiveHit = false; \/\/ Did we win?\n\n        \/\/ Iterate 00-99 to check their gap status AT THIS MOMENT\n        for (let num = 0; num < 100; num++) {\n            const lastIdx = lastSeenMap[num];\n            \/\/ If never seen, gap is infinite (or huge). If seen, gap = i - 1 - lastIdx\n            \/\/ Wait, gap calculation logic: \n            \/\/ If we are at draw `i`, the last draw was `i-1`. \n            \/\/ Gap = (i - 1) - lastIdx. \n            \/\/ Example: last seen at 5, current is 10. Gap = 9 - 5 = 4 days blank.\n            \n            const gap = lastIdx === -1 ? 9999 : (i - 1 - lastIdx);\n\n            if (gap > limit) {\n                cutCount++;\n                \/\/ If the actual result was this Cut number, we LOSE (Saved stake, but no win)\n                \/\/ Actually, as a Khaiwal, if cut number opens, we don't pay out. \n                \/\/ Wait, logic check: \n                \/\/ Khaiwal Play = He is \"forwarding\" the game.\n                \/\/ If he forwards ACTIVE numbers, and result is ACTIVE, he gets paid (WIN).\n                \/\/ If he DOES NOT forward CUT numbers, and result is CUT, he saves money but gets no payout.\n            } else {\n                activeCount++;\n                \/\/ If actual result matches an Active Number\n                if (num === actualResult) {\n                    isActiveHit = true;\n                }\n            }\n        }\n\n        \/\/ 2. Financials for this Day\n        \/\/ Cost = Active Numbers * Stake\n        const grossInvest = activeCount * stake;\n        const commAmt = grossInvest * (commPct \/ 100);\n        const netInvest = grossInvest - commAmt; \/\/ Pocket se gaya\n\n        let payout = 0;\n        if (isActiveHit) {\n            payout = stake * 90; \/\/ Standard Winning\n        }\n\n        const netPnL = payout - netInvest;\n\n        \/\/ 3. Update Stats\n        \/\/ Only count if we actually played (i > 50 to have data)\n        if (i > 50) {\n            \/\/ Update All Time\n            stats.all.inv += netInvest;\n            stats.all.ret += payout;\n            stats.all.pnl += netPnL;\n            stats.all.games++;\n            if (isActiveHit) stats.all.wins++;\n\n            \/\/ Update Segments\n            if (dateObj.year === lastYear) {\n                stats.lastY.inv += netInvest;\n                stats.lastY.ret += payout;\n                stats.lastY.pnl += netPnL;\n            }\n            if (dateObj.year === curYear) {\n                stats.currY.inv += netInvest;\n                stats.currY.ret += payout;\n                stats.currY.pnl += netPnL;\n            }\n        }\n\n        \/\/ 4. Update History for Next Loop\n        lastSeenMap[actualResult] = i; \n    }\n\n    \/\/ --- UPDATE UI CARDS ---\n    updateCard('skpAllTime', stats.all);\n    updateCard('skpLastYear', stats.lastY);\n    updateCard('skpCurrYear', stats.currY);\n\n    \/\/ --- RENDER TODAY'S GRID (CURRENT STATUS) ---\n    renderTodayGrid(lastSeenMap, totalDraws, limit, stake, commPct);\n}\n\nfunction updateCard(idPrefix, data) {\n    const pnlEl = document.getElementById(idPrefix + 'Pnl');\n    const detEl = document.getElementById(idPrefix + 'Det');\n    \n    \/\/ Formatting\n    const pnlVal = Math.round(data.pnl).toLocaleString('en-IN');\n    const color = data.pnl >= 0 ? '#00e676' : '#ff5252';\n    const sign = data.pnl >= 0 ? '+' : '';\n    \n    pnlEl.innerText = `${sign}\u20b9${pnlVal}`;\n    pnlEl.style.color = color;\n\n    \/\/ ROI\n    const roi = data.inv > 0 ? ((data.pnl \/ data.inv) * 100).toFixed(1) : 0;\n    detEl.innerText = `Invest: \u20b9${(data.inv\/1000).toFixed(1)}k | ROI: ${roi}%`;\n}\n\nfunction renderTodayGrid(lastSeenMap, currentDrawIndex, limit, stake, commPct) {\n    let gridHTML = ``;\n    let activeCnt = 0;\n    let cutCnt = 0;\n\n    for (let i = 0; i < 100; i++) {\n        const lastIdx = lastSeenMap[i];\n        const gap = lastIdx === -1 ? 9999 : (currentDrawIndex - 1 - lastIdx);\n        const nStr = i.toString().padStart(2, '0');\n        \n        let bg = '#00332a'; \/\/ Active Green\n        let txt = '#fff';\n        \n        if (gap > limit) {\n            bg = '#2b0000'; \/\/ Cut Red\n            txt = '#555';\n            cutCnt++;\n            gridHTML += `<div class=\"skp-grid-cell\" style=\"background:${bg}; color:${txt}; text-decoration:line-through;\">${nStr}<\/div>`;\n        } else {\n            activeCnt++;\n            gridHTML += `<div class=\"skp-grid-cell\" style=\"background:${bg}; color:${txt}; border:1px solid #004d40;\">${nStr}<\/div>`;\n        }\n    }\n\n    document.getElementById('skpGrid').innerHTML = gridHTML;\n    document.getElementById('skpActiveCount').innerText = activeCnt;\n    document.getElementById('skpCutCount').innerText = cutCnt;\n\n    \/\/ Today's Calc\n    const gross = activeCnt * stake;\n    const comm = gross * (commPct \/ 100);\n    const net = gross - comm;\n    document.getElementById('skpNetInvest').innerText = `\u20b9${Math.round(net)}`;\n}\n\/\/ ====================================================\n\/\/ \ud83e\udde0 SMART KHAIWAL BOT (DEAD NUMBER CUTTING STRATEGY)\n\/\/ ====================================================\n\nfunction logicSmartKhaiwalInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 200) {\n        alert(\"\u274c Need at least 200 days history to calculate dead numbers properly.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"smartKhaiwalModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0, 20, 10, 0.98); z-index:11600; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:95%; max-width:750px; background:#001a1a; border:2px solid #00ff88; border-radius:15px; box-shadow:0 0 60px rgba(0, 255, 136, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(to right, #004d40, #00695c); padding:15px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #00ff88;\">\n                <div>\n                    <h2 style=\"margin:0; font-size:20px; color:#fff; font-weight:900;\">\ud83e\udde0 SMART KHAIWAL<\/h2>\n                    <div style=\"font-size:10px; color:#80cbc4;\">AUTO-CUT DEAD NUMBERS STRATEGY<\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('smartKhaiwalModal').remove()\" style=\"background:none; border:none; color:#fff; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:15px; background:#002b2b; border-bottom:1px solid #004d40;\">\n                <div style=\"display:flex; gap:15px; align-items:end;\">\n                    \n                    <div style=\"flex:1;\">\n                        <label style=\"font-size:11px; color:#aaa; font-weight:bold;\">PLAY AMOUNT (PER JODI)<\/label>\n                        <input type=\"number\" id=\"skStake\" value=\"100\" class=\"sk-input\">\n                    <\/div>\n\n                    <div style=\"flex:1;\">\n                        <label style=\"font-size:11px; color:#ff8a80; font-weight:bold;\">CUT LIMIT (DAYS OLD)<\/label>\n                        <input type=\"number\" id=\"skLimit\" value=\"200\" class=\"sk-input\" style=\"border-color:#ff8a80; color:#ff8a80;\">\n                    <\/div>\n\n                    <div style=\"flex:1;\">\n                        <label style=\"font-size:11px; color:#ffd700; font-weight:bold;\">COMMISSION (%)<\/label>\n                        <input type=\"number\" id=\"skComm\" value=\"10\" class=\"sk-input\" style=\"border-color:#ffd700; color:#ffd700;\">\n                    <\/div>\n\n                    <button onclick=\"runSmartKhaiwal()\" style=\"padding:10px 20px; background:#00ff88; color:#000; border:none; border-radius:6px; font-weight:bold; cursor:pointer; height:42px;\">\n                        CALCULATE \ud83e\uddee\n                    <\/button>\n                <\/div>\n            <\/div>\n\n            <div id=\"skOutput\" style=\"flex:1; overflow-y:auto; padding:20px; display:none;\">\n                <\/div>\n\n        <\/div>\n        \n        <style>\n            .sk-input { width:100%; padding:10px; background:#000; border:1px solid #00ff88; color:#fff; font-weight:bold; font-size:16px; border-radius:6px; text-align:center; }\n            .sk-grid-cell { font-size:12px; text-align:center; padding:4px; border-radius:4px; position:relative; }\n            .sk-amt { font-size:9px; display:block; margin-top:2px; }\n            .sk-card { background:#001111; border:1px solid #004444; border-radius:8px; padding:15px; margin-bottom:15px; }\n        <\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('smartKhaiwalModal')) document.getElementById('smartKhaiwalModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n    \/\/ Initial Run\n    runSmartKhaiwal();\n}\n\nfunction runSmartKhaiwal() {\n    const timeline = window.logicChartMeta.timeline;\n    const totalDraws = timeline.length;\n\n    \/\/ Inputs\n    const stake = parseInt(document.getElementById('skStake').value) || 0;\n    const limit = parseInt(document.getElementById('skLimit').value) || 200;\n    const commRate = parseInt(document.getElementById('skComm').value) || 0;\n\n    \/\/ 1. ANALYZE GAPS\n    const lastPos = {};\n    timeline.forEach((n, idx) => lastPos[n] = idx);\n\n    let activeNums = [];\n    let cutNums = [];\n    let gridHTML = `<div style=\"display:grid; grid-template-columns:repeat(10, 1fr); gap:3px;\">`;\n\n    for(let i=0; i<100; i++) {\n        const gap = lastPos[i] !== undefined ? totalDraws - 1 - lastPos[i] : 9999;\n        const nStr = i.toString().padStart(2,'0');\n\n        if(gap > limit) {\n            \/\/ DEAD NUMBER -> CUT\n            cutNums.push({ n: nStr, gap: gap });\n            gridHTML += `\n                <div class=\"sk-grid-cell\" style=\"background:#2b0000; color:#555; border:1px solid #550000;\">\n                    <div style=\"text-decoration:line-through;\">${nStr}<\/div>\n                    <span class=\"sk-amt\" style=\"color:#ff5555;\">CUT<\/span>\n                <\/div>`;\n        } else {\n            \/\/ ACTIVE NUMBER -> PLAY\n            activeNums.push(nStr);\n            gridHTML += `\n                <div class=\"sk-grid-cell\" style=\"background:#003300; color:#fff; border:1px solid #006600;\">\n                    <div>${nStr}<\/div>\n                    <span class=\"sk-amt\" style=\"color:#00ff88;\">${stake}<\/span>\n                <\/div>`;\n        }\n    }\n    gridHTML += `<\/div>`;\n\n    \/\/ 2. FINANCIAL CALCULATIONS\n    const totalNumbers = 100;\n    const playedNumbers = activeNums.length;\n    const cutNumbers = cutNums.length;\n\n    const totalInvestment = playedNumbers * stake;\n    const commissionAmt = Math.round(totalInvestment * (commRate \/ 100));\n    const netCost = totalInvestment - commissionAmt; \/\/ Asli lagat (Commision kat ke)\n    \n    \/\/ Winning Scenario\n    const winningAmount = stake * 90; \/\/ Standard Rate\n    const netProfitWin = winningAmount - netCost; \/\/ Agar number lag gaya to bachat\n    const netLossHitCut = -netCost; \/\/ Agar CUT wala number aa gaya to nuksan\n\n    \/\/ 3. GENERATE REPORT\n    let html = `\n        <div style=\"display:flex; gap:15px; margin-bottom:20px;\">\n            <div class=\"sk-card\" style=\"flex:1; border-left:4px solid #ffd700;\">\n                <div style=\"font-size:10px; color:#aaa; font-weight:bold;\">INVESTMENT SUMMARY<\/div>\n                <div style=\"margin-top:5px; font-size:12px; color:#ccc;\">\n                    Total Numbers: <b style=\"color:#fff;\">${playedNumbers}<\/b> (Cut: ${cutNumbers})<br>\n                    Gross Amount: \u20b9${totalInvestment}<br>\n                    Commission (${commRate}%): <b style=\"color:#ffd700;\">-\u20b9${commissionAmt}<\/b> (Saved)\n                <\/div>\n                <div style=\"margin-top:8px; border-top:1px dashed #444; padding-top:5px;\">\n                    Net Cost: <span style=\"font-size:18px; font-weight:bold; color:#fff;\">\u20b9${netCost}<\/span>\n                <\/div>\n            <\/div>\n\n            <div class=\"sk-card\" style=\"flex:1; border-left:4px solid #00ff88;\">\n                <div style=\"font-size:10px; color:#aaa; font-weight:bold;\">PROFIT SCENARIO<\/div>\n                \n                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-top:5px;\">\n                    <span style=\"font-size:11px; color:#ccc;\">If Active Number Opens:<\/span>\n                    <span style=\"font-size:18px; font-weight:bold; color:#00ff88;\">+\u20b9${netProfitWin}<\/span>\n                <\/div>\n\n                <div style=\"display:flex; justify-content:space-between; align-items:center; margin-top:5px;\">\n                    <span style=\"font-size:11px; color:#ccc;\">If Cut Number Opens:<\/span>\n                    <span style=\"font-size:14px; font-weight:bold; color:#ff5555;\">-\u20b9${netCost}<\/span>\n                <\/div>\n                \n                <div style=\"margin-top:5px; font-size:10px; color:#888;\">\n                    *Win Chance: ${playedNumbers}% | Risk: ${cutNumbers}%\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"margin-bottom:10px; font-size:12px; color:#00ff88; font-weight:bold;\">\n            \ud83d\udcca SMART JANTRI (${playedNumbers} Jodi Played)\n        <\/div>\n        \n        ${gridHTML}\n\n        <div class=\"sk-card\" style=\"margin-top:20px; border-color:#ff5555;\">\n            <div style=\"font-size:11px; color:#ff8a80; font-weight:bold; margin-bottom:5px;\">\u26d4 CUT LIST (Oldest First)<\/div>\n            <div style=\"font-family:monospace; color:#ccc; font-size:12px; line-height:1.5;\">\n                ${cutNums.length > 0 ? cutNums.sort((a,b)=>b.gap-a.gap).map(x => `${x.n}(${x.gap}d)`).join(', ') : 'No numbers cut. Increase limit.'}\n            <\/div>\n        <\/div>\n    `;\n\n    const outputDiv = document.getElementById('skOutput');\n    outputDiv.style.display = 'block';\n    outputDiv.innerHTML = html;\n}\n\n\/\/ ====================================================\n\/\/ \ud83d\udee1\ufe0f SHIELD SAFE MODE (HIGH PROBABILITY - LOW RISK)\n\/\/ ====================================================\n\nfunction logicShieldSafeMode() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"Shield Mode\", \"\u274c Need more data (100+ draws).\");\n        return;\n    }\n\n    \/\/ Shield Logic: Top 35 Frequent Numbers form Last 60 Draws (The \"Safe\" Set)\n    const shieldSize = 35;\n    const sampleSize = 60;\n\n    \/\/ --- 1. BACKTESTING ENGINE ---\n    let wins100 = 0;\n    let winsTotal = 0;\n    const checkLimit = Math.min(timeline.length - sampleSize - 1, 365);\n    const startScan = timeline.length - checkLimit;\n\n    for (let i = startScan; i < timeline.length; i++) {\n        const actualResult = timeline[i];\n        \n        \/\/ Analyze data prior to this result\n        const pastSlice = timeline.slice(i - sampleSize, i);\n        \n        \/\/ Get Shield Numbers for that day\n        const pastFreq = {};\n        pastSlice.forEach(n => pastFreq[n] = (pastFreq[n]||0)+1);\n        const pastShield = Object.entries(pastFreq)\n            .sort((a,b)=>b[1]-a[1])\n            .slice(0, shieldSize)\n            .map(x=>parseInt(x[0]));\n        \n        if(pastShield.includes(actualResult)) {\n            winsTotal++;\n            if(i >= timeline.length - 100) wins100++;\n        }\n    }\n\n    const rate100 = Math.round((wins100 \/ Math.min(100, checkLimit)) * 100);\n    const rateTotal = Math.round((winsTotal \/ checkLimit) * 100);\n\n    \/\/ --- 2. CURRENT SHIELD GENERATION ---\n    const recent = timeline.slice(-sampleSize);\n    const freq = {};\n    recent.forEach(n => freq[n] = (freq[n]||0)+1);\n    \n    \/\/ Sort by Frequency (High to Low)\n    const shieldList = Object.entries(freq)\n        .sort((a,b)=>b[1]-a[1])\n        .slice(0, shieldSize)\n        .map(x => parseInt(x[0]));\n    \n    const copyStr = shieldList.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 3. UI GENERATION ---\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if (shieldList.includes(val)) {\n            td.style.backgroundColor = '#11998e'; \/\/ Shield Green\n            td.style.color = '#fff';\n            td.style.border = '1px solid #38ef7d';\n        }\n    });\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        <div style=\"background:linear-gradient(to right, #11998e, #38ef7d); padding:15px; border-radius:10px; margin-bottom:15px; box-shadow:0 0 15px rgba(56, 239, 125, 0.3);\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; border-bottom:1px dashed #003300; padding-bottom:5px;\">\n                <span style=\"font-size:16px; font-weight:bold; color:#003300;\">\ud83d\udee1\ufe0f SHIELD (Safe Mode)<\/span>\n                <span style=\"font-size:10px; background:#003300; color:#fff; padding:2px 6px; border-radius:4px;\">DEFENSIVE<\/span>\n            <\/div>\n            <div style=\"display:flex; justify-content:space-around; text-align:center;\">\n                <div>\n                    <div style=\"font-size:10px; color:#003300;\">LAST 100 WIN RATE<\/div>\n                    <div style=\"font-size:24px; font-weight:bold; color:#fff;\">${rate100}%<\/div>\n                <\/div>\n                <div style=\"width:1px; background:#003300; opacity:0.3;\"><\/div>\n                <div>\n                    <div style=\"font-size:10px; color:#003300;\">YEARLY AVG<\/div>\n                    <div style=\"font-size:24px; font-weight:bold; color:#fff;\">${rateTotal}%<\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#002200; border:1px solid #38ef7d; border-radius:8px; padding:10px;\">\n            <div style=\"font-size:12px; color:#38ef7d; margin-bottom:8px;\">\n                \u2705 TOP ${shieldList.length} SAFEST NUMBERS (High Frequency)\n            <\/div>\n            <div style=\"font-family:monospace; color:#ccc; font-size:13px; line-height:1.6; word-wrap:break-word;\">\n                ${shieldList.map(n=>n.toString().padStart(2,'0')).join(', ')}\n            <\/div>\n            <button onclick=\"navigator.clipboard.writeText('${copyStr}');alert('Shield Numbers Copied!')\" style=\"margin-top:10px; width:100%; background:#38ef7d; color:#003300; border:none; padding:10px; border-radius:4px; font-weight:bold; cursor:pointer;\">\n                \ud83d\udee1\ufe0f ACTIVATE SHIELD (COPY)\n            <\/button>\n        <\/div>\n        \n        <div style=\"margin-top:10px; font-size:10px; color:#888; text-align:center;\">\n            *Shield Mode covers approx 35% of the market with highest historical frequency.\n        <\/div>\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Shield Safe Mode', html);\n    logicChartAddLegend('#11998e', 'Shield Protected');\n    logicChartShowPopup(`\ud83d\udee1\ufe0f Shield Activated: ${rate100}% Accuracy Zone`);\n}\n        \/\/ ====================================================\n\/\/ \u269b\ufe0f QUANTUM ROOT PRO (DIGIT SUM CHEMISTRY)\n\/\/ ====================================================\n\nfunction logicQuantumRootPro() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n\n    if (timeline.length < 50) {\n        logicChartUpdateResult(\"Quantum Root\", \"\u274c Need at least 50 draws history.\");\n        return;\n    }\n\n    \/\/ --- 1. IDENTIFY ACTIVE ROOTS (Last 20 Draws) ---\n    const recent = timeline.slice(-20);\n    const rootFreq = {};\n\n    \/\/ Helper: Calculate Root (Digital Sum 1-9)\n    \/\/ Ex: 56 -> 11 -> 2. Ex: 99 -> 18 -> 9.\n    const getRoot = (n) => {\n        if (n === 0) return 9; \/\/ 00 is usually treated as 0 or 10 or 9 depending on chart. \n        \/\/ Standard Digital Root: 1+(n-1)%9. \n        \/\/ Satta Logic: 45 -> 9, 00 -> 0\/Total 10. Let's use simple sum % 10 or sum.\n        \/\/ Let's use Simple Sum (Total): 00->0, 19->10(0), 56->11(1)\n        let s = n.toString().padStart(2, '0');\n        let sum = parseInt(s[0]) + parseInt(s[1]);\n        return sum % 10; \/\/ Last digit of sum (Munda)\n    };\n\n    recent.forEach(n => {\n        const r = getRoot(n);\n        rootFreq[r] = (rootFreq[r] || 0) + 1;\n    });\n\n    \/\/ Top 2 Active Roots\n    const topRoots = Object.entries(rootFreq)\n        .sort((a,b) => b[1] - a[1])\n        .slice(0, 2)\n        .map(x => parseInt(x[0]));\n\n    \/\/ --- 2. GENERATE TARGET NUMBERS ---\n    const quantumTargets = [];\n    \n    \/\/ Find numbers 00-99 that match these roots\n    for (let i = 0; i < 100; i++) {\n        if (topRoots.includes(getRoot(i))) {\n            quantumTargets.push(i);\n        }\n    }\n    \n    \/\/ Copy String\n    const copyStr = quantumTargets.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 3. BACKTESTING ENGINE ---\n    let wins100 = 0;\n    const checkLimit = Math.min(timeline.length - 20, 100);\n    \n    for(let i = 0; i < checkLimit; i++) {\n        \/\/ Imagine we are at specific day in past\n        const targetIdx = timeline.length - 1 - i;\n        const pastSlice = timeline.slice(targetIdx - 20, targetIdx);\n        \n        \/\/ Calc past roots\n        const pastFreq = {};\n        pastSlice.forEach(n => {\n            const r = getRoot(n);\n            pastFreq[r] = (pastFreq[r] || 0) + 1;\n        });\n        \n        const bestRoots = Object.entries(pastFreq).sort((a,b)=>b[1]-a[1]).slice(0,2).map(x=>parseInt(x[0]));\n        const actualResult = timeline[targetIdx];\n        \n        if(bestRoots.includes(getRoot(actualResult))) {\n            wins100++;\n        }\n    }\n    \n    const rate100 = Math.round((wins100 \/ checkLimit) * 100);\n\n\n    \/\/ --- 4. UI GENERATION ---\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if (quantumTargets.includes(val)) {\n            td.style.backgroundColor = '#11998e'; \/\/ Quantum Teal\n            td.style.color = '#fff';\n            td.style.fontWeight = 'bold';\n            td.style.boxShadow = '0 0 8px #38ef7d';\n        }\n    });\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:linear-gradient(to right, #0f2027, #203a43, #2c5364); border:1px solid #38ef7d; border-radius:10px; padding:15px; margin-bottom:15px;\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; border-bottom:1px dashed #38ef7d; padding-bottom:8px; margin-bottom:10px;\">\n                <span style=\"font-size:16px; font-weight:bold; color:#38ef7d;\">\u269b\ufe0f QUANTUM ROOT<\/span>\n                <span style=\"font-size:10px; background:#11998e; color:#fff; padding:2px 8px; border-radius:4px;\">SUM LOGIC<\/span>\n            <\/div>\n            \n            <div style=\"display:flex; justify-content:space-around; text-align:center;\">\n                <div>\n                    <div style=\"font-size:10px; color:#aaa;\">ACTIVE ROOTS (Total)<\/div>\n                    <div style=\"font-size:22px; font-weight:bold; color:#fff;\">\n                        ${topRoots.map(r => `X${r}`).join(' & ')}\n                    <\/div>\n                <\/div>\n                <div style=\"width:1px; background:#38ef7d; opacity:0.3;\"><\/div>\n                <div>\n                    <div style=\"font-size:10px; color:#aaa;\">HIT RATE (100 Draw)<\/div>\n                    <div style=\"font-size:22px; font-weight:bold; color:${rate100>35?'#00e676':'#ffcc00'};\">\n                        ${rate100}%\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#051a05; border:1px solid #11998e; border-radius:8px; padding:12px; margin-bottom:10px;\">\n            <div style=\"font-size:12px; font-weight:bold; color:#38ef7d; margin-bottom:8px;\">\n                \ud83e\uddea QUANTUM NUMBERS (${quantumTargets.length} Jodi)\n            <\/div>\n            <div style=\"font-family:monospace; color:#ccc; font-size:13px; line-height:1.6; word-wrap:break-word;\">\n                ${quantumTargets.map(n=>n.toString().padStart(2,'0')).join(', ')}\n            <\/div>\n            \n            <button onclick=\"copyQuantum('${copyStr}')\" style=\"margin-top:12px; width:100%; background:linear-gradient(90deg, #11998e, #38ef7d); color:#003300; border:none; padding:10px; border-radius:5px; font-weight:bold; cursor:pointer;\">\n                \ud83d\udccb COPY ROOT SET\n            <\/button>\n        <\/div>\n        \n        <div style=\"text-align:center; font-size:10px; color:#666;\">\n            *Theory: Market often sticks to 2 specific 'Digit Sums' in short trends.\n        <\/div>\n\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Quantum Root Analysis', html);\n    logicChartAddLegend('#11998e', 'Active Root Sum');\n    logicChartShowPopup(`\u269b\ufe0f Quantum: Active Roots ${topRoots.join(' & ')} Detected!`);\n}\n\nfunction copyQuantum(str) {\n    navigator.clipboard.writeText(str);\n    alert(\"\u269b\ufe0f Quantum Numbers Copied!\");\n}\n        \/\/ ====================================================\n\/\/ \ud83e\uddf2 GRAVITY MAGNET PRO (NEIGHBORHOOD ANALYSIS)\n\/\/ ====================================================\n\nfunction logicGravityMagnetPro() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n\n    if (timeline.length < 50) {\n        logicChartUpdateResult(\"Gravity Magnet\", \"\u274c Need more data.\");\n        return;\n    }\n\n    \/\/ 1. BACKTESTING ENGINE\n    let wins100 = 0;\n    const checkLimit = Math.min(timeline.length - 1, 100);\n    \n    for(let i = 0; i < checkLimit; i++) {\n        const targetIdx = timeline.length - 1 - i;\n        const prevIdx = targetIdx - 1;\n        if(prevIdx < 0) break;\n        \n        const prevNum = timeline[prevIdx];\n        const actual = timeline[targetIdx];\n        \n        \/\/ Calculate Gravity Zone for prevNum\n        const zone = getGravityNeighbors(prevNum);\n        if(zone.includes(actual)) wins100++;\n    }\n    \n    const rate100 = Math.round((wins100 \/ checkLimit) * 100);\n\n    \/\/ 2. CURRENT PREDICTION\n    const lastNum = timeline[timeline.length - 1];\n    const gravityTargets = getGravityNeighbors(lastNum);\n    const copyStr = gravityTargets.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ 3. UI HIGHLIGHTS\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if (gravityTargets.includes(val)) {\n            td.style.backgroundColor = '#614385'; \/\/ Gravity Purple\n            td.style.color = '#fff';\n            td.style.fontWeight = 'bold';\n            td.style.boxShadow = '0 0 8px #a29bfe';\n        }\n    });\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:linear-gradient(to right, #614385, #516395); border-radius:10px; padding:15px; margin-bottom:15px;\">\n            <div style=\"display:flex; justify-content:space-between; border-bottom:1px dashed rgba(255,255,255,0.3); padding-bottom:8px; margin-bottom:10px;\">\n                <span style=\"font-size:16px; font-weight:bold;\">\ud83e\uddf2 GRAVITY MAGNET<\/span>\n                <span style=\"font-size:10px; background:rgba(0,0,0,0.3); padding:2px 8px; border-radius:4px;\">PHYSICS LOGIC<\/span>\n            <\/div>\n            <div style=\"text-align:center;\">\n                <div style=\"font-size:10px; color:#ddd;\">LAST 100 DRAWS ACCURACY<\/div>\n                <div style=\"font-size:24px; font-weight:bold; color:#00e676;\">${rate100}%<\/div>\n                <div style=\"font-size:9px; color:#ccc;\">(High Strike Rate on Sliding Market)<\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#1a1a2e; border:1px solid #614385; border-radius:8px; padding:12px; position:relative;\">\n            <div style=\"font-size:12px; color:#a29bfe; margin-bottom:8px;\">CENTER OF GRAVITY: <span style=\"color:#fff; font-size:14px; font-weight:bold;\">${lastNum}<\/span><\/div>\n            \n            <div style=\"display:flex; flex-wrap:wrap; gap:8px;\">\n                ${gravityTargets.map(n => `\n                    <div style=\"background:#614385; color:#fff; padding:6px 10px; border-radius:4px; font-weight:bold; box-shadow:0 2px 5px rgba(0,0,0,0.3);\">\n                        ${n.toString().padStart(2,'0')}\n                    <\/div>\n                `).join('')}\n            <\/div>\n\n            <button onclick=\"copyGravity('${copyStr}')\" style=\"margin-top:15px; width:100%; background:#fff; color:#614385; border:none; padding:10px; border-radius:5px; font-weight:bold; cursor:pointer;\">\n                \ud83d\udccb COPY MAGNETIC ZONE\n            <\/button>\n        <\/div>\n\n        <div style=\"margin-top:10px; font-size:10px; color:#888; text-align:center;\">\n            *Logic: Targets +\/- 1, +\/- 10, and Mirror Neighbors of Last Result.\n        <\/div>\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Gravity Magnet', html);\n    logicChartAddLegend('#614385', 'Magnetic Zone');\n    logicChartShowPopup(`\ud83e\uddf2 Gravity Scan: ${gravityTargets.length} Neighbors Found`);\n}\n\n\/\/ Logic: Find numbers physically \"close\" to the target\nfunction getGravityNeighbors(num) {\n    let targets = [];\n    \n    \/\/ 1. Direct Neighbors (+\/- 1)\n    targets.push((num + 1) % 100);\n    targets.push((num - 1 + 100) % 100);\n    \n    \/\/ 2. Vertical Neighbors (+\/- 10)\n    targets.push((num + 10) % 100);\n    targets.push((num - 10 + 100) % 100);\n    \n    \/\/ 3. Mirror Neighbors\n    let s = num.toString().padStart(2,'0');\n    let mirror = parseInt(s[1] + s[0]);\n    if(mirror !== num) {\n        targets.push(mirror);\n        targets.push((mirror + 1) % 100);\n        targets.push((mirror - 1 + 100) % 100);\n    }\n    \n    \/\/ 4. Half Rashid (Family Close) - Optional, keeping it tight for now\n    \/\/ remove duplicates\n    return [...new Set(targets)].sort((a,b)=>a-b);\n}\n\nfunction copyGravity(str) {\n    navigator.clipboard.writeText(str);\n    alert(\"\ud83e\uddf2 Magnetic Numbers Copied!\");\n}\n        \/\/ ====================================================\n\/\/ \ud83c\udfaf DNA SNIPER PRO (3-STEP SEQUENCE MATCHING)\n\/\/ ====================================================\n\nfunction logicDNASniperPro() {\n    logicChartClearHighlights();\n    const allNumbers = window.logicChartMeta?.timeline || [];\n\n    if (allNumbers.length < 100) {\n        logicChartUpdateResult(\"DNA Sniper\", \"\u274c Need more history data for 3-step matching.\");\n        return;\n    }\n\n    \/\/ 1. GET CONTEXT (Last 2 Numbers)\n    const lastNum = allNumbers[allNumbers.length - 1];      \/\/ Abhi jo aaya (Current)\n    const secondLast = allNumbers[allNumbers.length - 2];   \/\/ Usse pehle jo aaya tha (Previous)\n    \n    \/\/ 2. FIND EXACT PATTERNS IN HISTORY\n    \/\/ Pattern: [Previous] -> [Current] -> [TARGET?]\n    \n    let exactMatches = [];\n    let similarMatches = []; \/\/ Fallback (Based on Family\/Haruf)\n    \n    for (let i = 0; i < allNumbers.length - 2; i++) {\n        \/\/ Check Pattern: 25 -> 49 ... Next kya tha?\n        if (allNumbers[i] === secondLast && allNumbers[i+1] === lastNum) {\n            exactMatches.push(allNumbers[i+2]);\n        }\n    }\n\n    \/\/ 3. IF NO EXACT MATCH, USE 'SMART FAMILY' MATCH\n    \/\/ Agar 25->49 kabhi nahi hua, to 49 ki family check karo\n    let mode = \"\ud83d\ude80 EXACT SEQUENCE MATCH\";\n    \n    if (exactMatches.length === 0) {\n        mode = \"\u26a0\ufe0f FAMILY SEQUENCE MATCH (Fallback)\";\n        for (let i = 0; i < allNumbers.length - 2; i++) {\n            \/\/ Check if (Same Previous) -> (Family of Current)\n            if (allNumbers[i] === secondLast && getFamilyMembers(allNumbers[i+1]).includes(lastNum)) {\n                similarMatches.push(allNumbers[i+2]);\n            }\n        }\n        exactMatches = similarMatches;\n    }\n\n    \/\/ 4. ANALYZE RESULTS\n    if (exactMatches.length === 0) {\n        logicChartUpdateResult(\"DNA Sniper\", `\n            <div style=\"color:#ff4444; padding:10px;\">\n                <strong>Too Unique!<\/strong><br>\n                History mein <strong>${secondLast} \u2794 ${lastNum}<\/strong> ka pattern pehle kabhi nahi bana.<br>\n                Please use 'Supreme Voting' for this round.\n            <\/div>\n        `);\n        return;\n    }\n\n    \/\/ Frequency of Next Move\n    const freq = {};\n    exactMatches.forEach(n => freq[n] = (freq[n]||0)+1);\n    \n    \/\/ Sort and pick top\n    const sniperShots = Object.entries(freq)\n        .sort((a,b) => b[1] - a[1])\n        .slice(0, 4) \/\/ Sirf Top 4\n        .map(x => ({ n: parseInt(x[0]), count: x[1] }));\n        \n    const targets = sniperShots.map(x => x.n);\n\n    \/\/ 5. HIGHLIGHT & REPORT\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if(targets.includes(val)) {\n            td.style.backgroundColor = '#00c6ff';\n            td.style.color = '#000';\n            td.style.fontWeight = 'bold';\n            td.style.boxShadow = '0 0 10px #00c6ff';\n        }\n    });\n\n    \/\/ Generate HTML\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        <div style=\"background:linear-gradient(to right, #000428, #004e92); border:1px solid #00c6ff; border-radius:10px; padding:15px; margin-bottom:15px;\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; border-bottom:1px dashed #00c6ff; padding-bottom:10px; margin-bottom:10px;\">\n                <span style=\"font-size:16px; font-weight:bold; color:#00c6ff;\">\ud83c\udfaf DNA SNIPER PRO<\/span>\n                <span style=\"font-size:10px; background:#00c6ff; color:#000; padding:2px 6px; border-radius:4px;\">3-STEP LOGIC<\/span>\n            <\/div>\n\n            <div style=\"text-align:center; margin-bottom:15px;\">\n                <div style=\"font-size:12px; color:#aaa;\">PATTERN DETECTED<\/div>\n                <div style=\"font-size:20px; font-weight:bold; color:#fff;\">\n                    ${secondLast} <span style=\"color:#888;\">\u2794<\/span> ${lastNum} <span style=\"color:#888;\">\u2794<\/span> <span style=\"color:#00c6ff;\">?<\/span>\n                <\/div>\n                <div style=\"font-size:10px; color:${exactMatches.length > 5 ? '#00e676' : '#ff9800'}; margin-top:5px;\">\n                    ${mode} (Found ${exactMatches.length} times)\n                <\/div>\n            <\/div>\n\n            <div style=\"display:flex; justify-content:space-between; gap:10px;\">\n                ${sniperShots.map((shot, idx) => `\n                    <div style=\"flex:1; background:${idx===0 ? '#00c6ff' : '#002244'}; color:${idx===0 ? '#000' : '#fff'}; border-radius:6px; padding:8px; text-align:center; border:1px solid #00c6ff;\">\n                        <div style=\"font-size:24px; font-weight:bold;\">${shot.n.toString().padStart(2,'0')}<\/div>\n                        <div style=\"font-size:9px; opacity:0.8;\">${Math.round((shot.count\/exactMatches.length)*100)}% Chance<\/div>\n                    <\/div>\n                `).join('')}\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#111; padding:10px; border-radius:5px; text-align:center; font-size:11px; color:#888;\">\n            *Ye system pichle 2 numbers ke sequence ko track karke agla kadam batata hai. Iski accuracy simple DNA se 3x zyada hai.\n        <\/div>\n    <\/div>\n    `;\n\n    logicChartUpdateResult('DNA Sniper Analysis', html);\n    logicChartAddLegend('#00c6ff', 'Sniper Shot');\n    logicChartShowPopup(`\ud83c\udfaf Sniper Locked: ${targets.length} Precision Targets`);\n}\n\/\/ ====================================================\n\/\/ \ud83c\udf2a\ufe0f TORNADO ALGORITHM (HIGH-STRIKE CROSS LOGIC)\n\/\/ ====================================================\n\nfunction logicTornadoPro() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n    \n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"Tornado\", \"\u274c Need at least 100 days of data.\");\n        return;\n    }\n\n    \/\/ --- 1. BACKTESTING ENGINE (REALITY CHECK) ---\n    let wins100 = 0;\n    let winsYear = 0;\n    const checkLimit = Math.min(timeline.length - 30, 365); \n    const scanStart = timeline.length - checkLimit;\n\n    \/\/ Simulation Loop\n    for(let i = scanStart; i < timeline.length; i++) {\n        const actualResult = timeline[i];\n        const pastTimeline = timeline.slice(0, i); \/\/ Data available on that day\n        \n        \/\/ Prediction for that day\n        const preds = getTornadoPredictions(pastTimeline);\n        \n        if(preds.includes(actualResult)) {\n            winsYear++;\n            if(i >= timeline.length - 100) wins100++;\n        }\n    }\n\n    const rate100 = Math.round((wins100 \/ 100) * 100);\n    const rateYear = Math.round((winsYear \/ checkLimit) * 100);\n\n    \/\/ --- 2. CURRENT PREDICTION ---\n    const currentPreds = getTornadoPredictions(timeline);\n    \n    \/\/ Split into Top (Hot Cross) and Support\n    const top16 = currentPreds.slice(0, 16);\n    const copyStr = top16.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 3. UI GENERATION ---\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if (top16.includes(val)) {\n            td.style.backgroundColor = '#ff4b2b'; \/\/ Tornado Red\n            td.style.color = '#fff';\n            td.style.fontWeight = 'bold';\n        }\n    });\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:linear-gradient(to right, #800000, #ff4b2b); border:1px solid #ff416c; border-radius:10px; padding:15px; margin-bottom:15px;\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; border-bottom:1px dashed #ff9999; padding-bottom:8px; margin-bottom:10px;\">\n                <span style=\"font-size:16px; font-weight:bold; color:#fff;\">\ud83c\udf2a\ufe0f TORNADO PRO<\/span>\n                <span style=\"font-size:10px; background:#fff; color:#ff4b2b; padding:2px 8px; border-radius:4px; font-weight:bold;\">HIGH STRIKE<\/span>\n            <\/div>\n            \n            <div style=\"display:flex; justify-content:space-around; text-align:center;\">\n                <div>\n                    <div style=\"font-size:10px; color:#ffcccc;\">LAST 100 DRAW<\/div>\n                    <div style=\"font-size:24px; font-weight:bold; color:${rate100>30?'#00e676':'#fff'};\">${rate100}%<\/div>\n                <\/div>\n                <div style=\"width:1px; background:#ff9999; opacity:0.5;\"><\/div>\n                <div>\n                    <div style=\"font-size:10px; color:#ffcccc;\">YEARLY AVG<\/div>\n                    <div style=\"font-size:24px; font-weight:bold; color:#fff;\">${rateYear}%<\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#220000; border:1px solid #ff4b2b; border-radius:8px; padding:12px; margin-bottom:15px;\">\n            <div style=\"display:flex; justify-content:space-between; margin-bottom:10px;\">\n                <span style=\"color:#ff4b2b; font-weight:bold; font-size:14px;\">\ud83d\udd25 HOT CROSSING (16 Jodi)<\/span>\n                <span style=\"font-size:10px; color:#aaa;\">Best 4 Open x Best 4 Close<\/span>\n            <\/div>\n            <div style=\"font-family:monospace; font-size:14px; color:#fff; word-spacing:4px; line-height:1.6;\">\n                ${top16.map(n=>n.toString().padStart(2,'0')).join(', ')}\n            <\/div>\n            <button onclick=\"copyTornado('${copyStr}')\" style=\"margin-top:12px; width:100%; background:#ff4b2b; color:#fff; border:none; padding:10px; border-radius:4px; font-weight:bold; cursor:pointer;\">\n                \ud83d\udccb COPY TORNADO LIST\n            <\/button>\n        <\/div>\n\n        <div style=\"font-size:11px; color:#888; text-align:center;\">\n            *Logic: Top 4 Open Digits x Top 4 Close Digits (Last 20 Draws Trend)\n        <\/div>\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Tornado Algorithm', html);\n    logicChartAddLegend('#ff4b2b', 'Tornado Hit');\n    logicChartShowPopup(`\ud83c\udf2a\ufe0f Tornado: ${rate100}% Accuracy in last 100 draws!`);\n}\n\n\/\/ --- CORE LOGIC: DIGIT CROSSING ---\nfunction getTornadoPredictions(history) {\n    if(history.length < 20) return [];\n    \n    \/\/ Use last 20 draws to find trend\n    const recent = history.slice(-20);\n    const openCounts = {};\n    const closeCounts = {};\n    \n    recent.forEach(n => {\n        let s = n.toString().padStart(2,'0');\n        openCounts[s[0]] = (openCounts[s[0]]||0)+1; \/\/ First Digit (Dhai)\n        closeCounts[s[1]] = (closeCounts[s[1]]||0)+1; \/\/ Last Digit (Haruf)\n    });\n\n    \/\/ Get Top 4 Open & Top 4 Close Digits\n    const topOpen = Object.entries(openCounts).sort((a,b)=>b[1]-a[1]).slice(0,4).map(x=>x[0]);\n    const topClose = Object.entries(closeCounts).sort((a,b)=>b[1]-a[1]).slice(0,4).map(x=>x[0]);\n\n    \/\/ Cross Them (4 x 4 = 16 numbers)\n    let crossNumbers = [];\n    topOpen.forEach(o => {\n        topClose.forEach(c => {\n            crossNumbers.push(parseInt(o + c));\n        });\n    });\n\n    return crossNumbers;\n}\n\nfunction copyTornado(str) {\n    navigator.clipboard.writeText(str);\n    alert(\"\ud83c\udf2a\ufe0f Tornado List Copied!\");\n}\n\/\/ ====================================================\n\/\/ \ud83c\udf0c COSMIC MATRIX PRO (WITH ACCURACY BACKTESTER)\n\/\/ ====================================================\n\nfunction logicCosmicMatrixPro() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n    \n    \/\/ Safety Check\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"Cosmic Matrix\", \"\u274c Need at least 100 days of data for Matrix Backtesting.\");\n        return;\n    }\n\n    \/\/ --- 1. BACKTESTING ENGINE (Time Travel) ---\n    \/\/ Hum pichle 100 aur Full Year ka data check karenge\n    \n    let wins100 = 0;\n    let winsTotal = 0;\n    \n    \/\/ Minimum 40 days data required to start logic (because of -30 day vertical check)\n    const minDataPoints = 40; \n    \n    \/\/ Calculate limit (Max 365 days or available data)\n    const checkLimit = Math.min(timeline.length - minDataPoints, 365); \n    const scanStart = timeline.length - checkLimit;\n\n    \/\/ Loop through history\n    for(let i = scanStart; i < timeline.length; i++) {\n        const actualResult = timeline[i];\n        \n        \/\/ Create a history slice exactly as it was on that day\n        \/\/ (0 se lekar i tak ka data)\n        const pastTimeline = timeline.slice(0, i);\n        \n        \/\/ Get Predictions for that day\n        const predictions = getCosmicPredictions(pastTimeline);\n        \n        \/\/ Did we win? (Check if actual result was in Top 6)\n        if(predictions.includes(actualResult)) {\n            winsTotal++;\n            \/\/ Check if it's within last 100 draws\n            if(i >= timeline.length - 100) {\n                wins100++;\n            }\n        }\n    }\n\n    \/\/ Calculate Percentages\n    const rate100 = Math.round((wins100 \/ 100) * 100);\n    const rateTotal = Math.round((winsTotal \/ checkLimit) * 100);\n\n    \/\/ --- 2. CURRENT PREDICTION (Today) ---\n    const currentTop6 = getCosmicPredictions(timeline);\n    const currentSupport = getCosmicPredictions(timeline, true); \/\/ Get next 6 for support\n    const copyStr = currentTop6.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 3. UI GENERATION ---\n    \n    \/\/ Highlight Table\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if (currentTop6.includes(val)) {\n            td.style.backgroundColor = '#2b1055'; \/\/ Deep Cosmic Purple\n            td.style.color = '#fff';\n            td.style.border = '1px solid #00ffff';\n            td.style.boxShadow = '0 0 8px #00ffff';\n            td.style.fontWeight = 'bold';\n        }\n    });\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:linear-gradient(135deg, #0f0c29, #302b63); border:1px solid #7597de; border-radius:10px; padding:15px; margin-bottom:15px; box-shadow:0 0 20px rgba(117, 151, 222, 0.2);\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; border-bottom:1px dashed #7597de; padding-bottom:10px; margin-bottom:10px;\">\n                <div style=\"font-size:16px; font-weight:bold; color:#fff; text-shadow:0 0 10px #7597de;\">\n                    \ud83c\udf0c COSMIC MATRIX\n                <\/div>\n                <div style=\"font-size:10px; background:#2b1055; padding:2px 8px; border-radius:4px; border:1px solid #00ffff; color:#00ffff;\">\n                    AI GEOMETRY\n                <\/div>\n            <\/div>\n\n            <div style=\"display:flex; justify-content:space-around; text-align:center;\">\n                <div>\n                    <div style=\"font-size:9px; color:#aaa; letter-spacing:1px;\">LAST 100 DRAWS<\/div>\n                    <div style=\"font-size:24px; font-weight:bold; color:${rate100>35?'#00e676':'#ff00ff'}; text-shadow:0 0 10px ${rate100>35?'#00e676':'#ff00ff'};\">\n                        ${rate100}%\n                    <\/div>\n                    <div style=\"font-size:9px; color:#bbb;\">Strike Rate<\/div>\n                <\/div>\n                <div style=\"width:1px; background:#7597de; opacity:0.3;\"><\/div>\n                <div>\n                    <div style=\"font-size:9px; color:#aaa; letter-spacing:1px;\">FULL HISTORY<\/div>\n                    <div style=\"font-size:24px; font-weight:bold; color:#00ffff; text-shadow:0 0 10px #00ffff;\">\n                        ${rateTotal}%\n                    <\/div>\n                    <div style=\"font-size:9px; color:#bbb;\">Consistency<\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"margin-bottom:20px;\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;\">\n                <span style=\"color:#00ffff; font-weight:bold; font-size:14px;\">\ud83e\ude90 GALAXY CORE (Top 6)<\/span>\n                <span style=\"font-size:10px; color:#ccc;\">Best Geometric Matches<\/span>\n            <\/div>\n            \n            <div style=\"display:flex; flex-wrap:wrap; gap:8px;\">\n                ${currentTop6.map(n => `\n                    <div style=\"flex:1; min-width:45px; background:rgba(255,255,255,0.05); border:1px solid rgba(0,255,255,0.5); border-radius:6px; padding:10px 5px; text-align:center; box-shadow:0 0 10px rgba(0,255,255,0.1);\">\n                        <div style=\"font-size:18px; font-weight:bold; color:blue;\">${n.toString().padStart(2,'0')}<\/div>\n                    <\/div>\n                `).join('')}\n            <\/div>\n            \n            <button onclick=\"copyCosmic('${copyStr}')\" style=\"margin-top:15px; width:100%; background:linear-gradient(90deg, #7597de, #2b1055); color:#fff; border:none; padding:12px; border-radius:30px; font-weight:bold; cursor:pointer; box-shadow:0 0 15px rgba(117, 151, 222, 0.4); display:flex; align-items:center; justify-content:center; gap:10px;\">\n                <span>\ud83d\ude80<\/span> EXTRACT COSMIC NUMBERS\n            <\/button>\n        <\/div>\n\n        <div style=\"background:#111; border-radius:8px; padding:10px; border-top:2px solid #302b63;\">\n            <div style=\"font-size:12px; color:#bbaaff; margin-bottom:5px; font-weight:bold;\">\ud83c\udf20 NEBULA SUPPORT (Next 6)<\/div>\n            <div style=\"font-size:13px; color:#888; font-family:monospace; letter-spacing:2px;\">\n                ${currentSupport.map(n => n.toString().padStart(2,'0')).join(' - ')}\n            <\/div>\n        <\/div>\n\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Cosmic Matrix Pro', html);\n    logicChartAddLegend('#2b1055', 'Cosmic Alignment');\n    logicChartShowPopup(`\ud83c\udf0c Matrix Analysis: ${rate100}% Accuracy in last 100 draws!`);\n}\n\n\/\/ --- HELPER: PURE LOGIC ENGINE (Used for Backtesting & Live) ---\nfunction getCosmicPredictions(historySeq, returnSupport = false) {\n    if (historySeq.length < 40) return [];\n\n    const currentIdx = historySeq.length - 1;\n    let matrixScores = {};\n\n    const addScore = (num, points) => {\n        const n = (parseInt(num) + 100) % 100; \/\/ Handle negatives & wrap\n        matrixScores[n] = (matrixScores[n] || 0) + points;\n    };\n\n    \/\/ 1. Vertical Echo (-30 Days)\n    const prevMonth = historySeq[currentIdx - 30];\n    if(prevMonth !== undefined) {\n        addScore(prevMonth, 2);\n        addScore(prevMonth + 1, 1);\n        addScore(prevMonth - 1, 1);\n    }\n\n    \/\/ 2. Diagonal Cross (-31, -29)\n    const diagLeft = historySeq[currentIdx - 31];\n    const diagRight = historySeq[currentIdx - 29];\n    if(diagLeft !== undefined) addScore(diagLeft + 1, 3);\n    if(diagRight !== undefined) addScore(diagRight - 1, 3);\n\n    \/\/ 3. Knight Move (-12, -16)\n    const k1 = historySeq[currentIdx - 12];\n    const k2 = historySeq[currentIdx - 16];\n    if(k1 !== undefined) {\n        \/\/ Simple Family logic for Knight\n        addScore(k1, 1.5);\n        addScore((k1+50)%100, 1.5);\n    }\n    if(k2 !== undefined) {\n        addScore(k2, 1.5);\n        addScore((k2+50)%100, 1.5);\n    }\n\n    \/\/ 4. Fibonacci Points\n    [1, 2, 3, 5, 8, 13, 21].forEach(gap => {\n        const past = historySeq[currentIdx - gap];\n        if(past !== undefined) addScore(past, 1);\n    });\n\n    \/\/ 5. Delta Momentum\n    const delta = historySeq[currentIdx] - historySeq[currentIdx - 1];\n    addScore(historySeq[currentIdx] + delta, 4);\n\n    \/\/ Sort & Extract\n    const sorted = Object.entries(matrixScores)\n        .sort((a,b) => b[1] - a[1])\n        .map(x => parseInt(x[0]));\n\n    if (returnSupport) {\n        return sorted.slice(6, 12); \/\/ Rank 7-12\n    }\n    return sorted.slice(0, 6); \/\/ Rank 1-6\n}\n\nfunction copyCosmic(str) {\n    if(!str) return;\n    navigator.clipboard.writeText(str);\n    alert(\"\ud83c\udf0c Cosmic Numbers Copied!\");\n}\n  \/\/ ====================================================\n\/\/ \u2622\ufe0f PRESSURE COOKER ULTRA (FINAL FIXED VERSION)\n\/\/ ====================================================\n\nfunction logicPressureCookerUltra() {\n    \/\/ 1. Initialize & Clear\n    logicChartClearHighlights();\n    const allNumbers = window.logicChartMeta?.timeline || [];\n\n    if (!allNumbers || allNumbers.length < 100) {\n        logicChartUpdateResult(\"Pressure Cooker Ultra\", \"\u274c Analysis ke liye kam se kam 100 draw ka data chahiye.\");\n        return;\n    }\n\n    \/\/ 2. \ud83e\udde0 ULTRA ENGINE: Gap Deviation Calculation\n    const positions = {};\n    const totalDraws = allNumbers.length;\n\n    \/\/ Map positions\n    allNumbers.forEach((n, idx) => {\n        if (!positions[n]) positions[n] = [];\n        positions[n].push(idx);\n    });\n\n    let pressureData = [];\n\n    for (let i = 0; i < 100; i++) {\n        const numStr = i.toString().padStart(2, '0');\n        \n        \/\/ Critical Logic: If number never appeared\n        if (!positions[i] || positions[i].length === 0) {\n            pressureData.push({ n: numStr, score: 999, gap: totalDraws, avg: 0, status: 'CRITICAL', freq: 0 });\n            continue;\n        }\n\n        const posArr = positions[i];\n        const lastPos = posArr[posArr.length - 1];\n        const currentGap = totalDraws - 1 - lastPos;\n\n        let gapSum = 0;\n        gapSum += posArr[0]; \/\/ First gap\n        for (let k = 1; k < posArr.length; k++) {\n            gapSum += (posArr[k] - posArr[k-1]);\n        }\n        \n        const avgGap = Math.round(gapSum \/ posArr.length);\n        const ratio = currentGap \/ (avgGap + 1);\n        const frequency = posArr.length; \/\/ Kitni baar aaya hai\n        \n        \/\/ Score: Ratio tells Pressure. High Ratio = High Pressure. Low Ratio = Low Pressure.\n        pressureData.push({ n: numStr, score: ratio, gap: currentGap, avg: avgGap, freq: frequency });\n    }\n\n    \/\/ 3. SORTING & CATEGORIZATION\n    \n    \/\/ --- RED ZONE (HIGH PRESSURE \/ BLAST) ---\n    \/\/ Criteria: Ratio > 2.0 (Double late) or Top 8 by Ratio\n    const sortedByPressure = [...pressureData].sort((a, b) => b.score - a.score);\n    const topTargets = sortedByPressure.slice(0, 8); \/\/ Top 8 Blast Candidates\n    const blastStr = topTargets.map(x=>x.n).join(',');\n\n    \/\/ --- GREEN ZONE (LOW PRESSURE \/ HOT) ---\n    \/\/ Criteria: Numbers with High Frequency AND Low Gap (Active mode)\n    \/\/ Hum woh numbers lenge jo 'Pressure' me nahi hain (Low Gap Ratio)\n    \/\/ Aur Frequency achi hai.\n    const lowPressureAll = pressureData.filter(x => x.score < 1.0); \/\/ Ratio < 1 means running faster than average\n    \n    \/\/ Sort Low Pressure by Frequency DESC (Most frequent first)\n    lowPressureAll.sort((a,b) => b.freq - a.freq);\n    \n    \/\/ Result Strings for Copy\n    const lowStr = lowPressureAll.map(x=>x.n).join(',');\n\n    \/\/ 4. HIGHLIGHTS ON CHART\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = td.textContent.trim();\n        \n        \/\/ Highlight Blast (Red)\n        if(topTargets.some(x=>x.n === val)) {\n            td.style.backgroundColor = '#ff3333'; \n            td.style.color = '#fff';\n            td.style.fontWeight = 'bold';\n            td.style.boxShadow = 'inset 0 0 10px #000';\n        } \n        \/\/ Highlight Low Pressure (Green)\n        else if(lowPressureAll.some(x=>x.n === val)) {\n            td.style.backgroundColor = '#00e676'; \n            td.style.color = '#000';\n            td.style.fontWeight = 'bold';\n        }\n    });\n\n    \/\/ 5. GENERATE REPORT HTML\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:linear-gradient(135deg, #111, #222); border:1px solid #444; border-radius:10px; padding:15px; margin-bottom:15px; display:flex; justify-content:space-between; align-items:center;\">\n            <div>\n                <div style=\"font-size:18px; font-weight:bold; color:#fff;\">\u2622\ufe0f PRESSURE ULTRA<\/div>\n                <div style=\"font-size:10px; color:#aaa;\">FULL SPECTRUM ANALYSIS<\/div>\n            <\/div>\n            <div style=\"text-align:right;\">\n                <div style=\"font-size:10px; color:#888;\">TOTAL LOW NUMBERS<\/div>\n                <div style=\"font-size:20px; font-weight:bold; color:#00e676;\">${lowPressureAll.length}<\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:linear-gradient(to right, #b20000, #550000); border:2px solid #ff3333; border-radius:8px; padding:12px; margin-bottom:15px;\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;\">\n                <span style=\"color:#fff; font-weight:bold;\">\ud83d\udca5 BLAST ZONE (Top 8)<\/span>\n                <button onclick=\"safeCopy('${blastStr}')\" style=\"background:#fff; color:#b20000; border:none; padding:4px 10px; border-radius:4px; font-size:10px; font-weight:bold; cursor:pointer;\">\n                    COPY RED\n                <\/button>\n            <\/div>\n            <div style=\"display:grid; grid-template-columns: repeat(4, 1fr); gap:5px;\">\n                ${topTargets.map(t => `\n                    <div style=\"background:rgba(0,0,0,0.4); padding:5px; text-align:center; border-radius:4px;\">\n                        <span style=\"font-weight:bold; font-size:14px; color:#fff;\">${t.n}<\/span><br>\n                        <span style=\"font-size:8px; color:#ffcccc;\">Gap: ${t.gap}<\/span>\n                    <\/div>\n                `).join('')}\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#002200; border:2px solid #00e676; border-radius:8px; padding:12px;\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;\">\n                <span style=\"color:#00e676; font-weight:bold;\">\ud83d\udfe2 LOW PRESSURE (All Hot)<\/span>\n                <button onclick=\"safeCopy('${lowStr}')\" style=\"background:#00e676; color:#000; border:none; padding:4px 10px; border-radius:4px; font-size:10px; font-weight:bold; cursor:pointer;\">\n                    COPY GREEN (${lowPressureAll.length})\n                <\/button>\n            <\/div>\n            \n            <div style=\"max-height: 200px; overflow-y: auto; background:rgba(0,100,0,0.2); padding:5px; border-radius:4px; border:1px solid #004d00;\">\n                <div style=\"display:flex; flex-wrap:wrap; gap:5px;\">\n                    ${lowPressureAll.map(t => `\n                        <div style=\"background:#004d00; color:#fff; padding:4px 8px; border-radius:3px; font-size:12px; font-weight:bold; flex:1 0 18%; text-align:center; border:1px solid #00e676;\">\n                            ${t.n} <span style=\"font-size:8px; color:#ccc; font-weight:normal;\">(${t.freq}x)<\/span>\n                        <\/div>\n                    `).join('')}\n                <\/div>\n            <\/div>\n            <div style=\"margin-top:5px; font-size:9px; color:#aaa; text-align:center;\">\n                *Scroll to see all low pressure numbers\n            <\/div>\n        <\/div>\n\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Pressure Cooker ULTRA', html);\n    \n    \/\/ Add Legend\n    logicChartAddLegend('#ff3333', 'High Pressure (Risk)');\n    logicChartAddLegend('#00e676', 'Low Pressure (Hot)');\n    \n    logicChartShowPopup(`\u2622\ufe0f Analysis Updated: ${lowPressureAll.length} Low Pressure numbers found.`);\n}\n\n\/\/ --- HELPER: ROBUST COPY FUNCTION ---\n\/\/ Function name changed to avoid conflicts\nfunction safeCopy(text) {\n    if (!text || text.length === 0) {\n        alert('\u274c No numbers to copy!');\n        return;\n    }\n    \n    \/\/ Fallback copy method + Clipboard API\n    if (navigator.clipboard && window.isSecureContext) {\n        navigator.clipboard.writeText(text).then(() => {\n            showCopyToast();\n        }).catch(err => {\n            console.error('Async copy failed', err);\n            manualCopy(text);\n        });\n    } else {\n        manualCopy(text);\n    }\n}\n\nfunction manualCopy(text) {\n    const textArea = document.createElement(\"textarea\");\n    textArea.value = text;\n    textArea.style.position = \"fixed\";\n    textArea.style.left = \"-9999px\";\n    document.body.appendChild(textArea);\n    textArea.focus();\n    textArea.select();\n    \n    try {\n        document.execCommand('copy');\n        showCopyToast();\n    } catch (err) {\n        console.error('Manual copy failed', err);\n        alert('Copy failed. Please select numbers manually.');\n    }\n    \n    document.body.removeChild(textArea);\n}\n\nfunction showCopyToast() {\n    let toast = document.createElement(\"div\");\n    toast.style.cssText = \"position:fixed; bottom:20px; left:50%; transform:translateX(-50%); background:#00e676; color:#000; padding:10px 20px; border-radius:20px; font-weight:bold; box-shadow:0 5px 15px rgba(0,0,0,0.5); z-index:10005;\";\n    toast.innerText = \"\u2705 Numbers Copied Successfully!\";\n    document.body.appendChild(toast);\n    setTimeout(() => toast.remove(), 2000);\n}\n        \/\/ ====================================================\n\/\/ \ud83e\uddec CROSSING GOD (BEST DIGIT SET FINDER)\n\/\/ ====================================================\n\nfunction logicCrossingGodInit() {\n    \/\/ 1. DATA CHECK\n    const timeline = window.logicChartMeta?.timeline || [];\n    if (timeline.length < 100) {\n        alert(\"\u274c Need more history data to find the God Set.\");\n        return;\n    }\n\n    const modalHTML = `\n    <div id=\"crossingModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(5, 2, 0, 0.98); z-index:14000; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"width:98%; max-width:850px; background:#1a0a00; border:2px solid #F37335; border-radius:20px; box-shadow:0 0 80px rgba(243, 115, 53, 0.2); overflow:hidden; display:flex; flex-direction:column; max-height:95vh;\">\n            \n            <div style=\"background:linear-gradient(90deg, #FDC830, #F37335); padding:15px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #fff;\">\n                <div style=\"display:flex; align-items:center; gap:12px;\">\n                    <span style=\"font-size:24px; color:#000;\">\ud83e\uddec<\/span>\n                    <div>\n                        <h2 style=\"margin:0; font-size:18px; color:#000; font-weight:900; letter-spacing:1px;\">CROSSING GOD<\/h2>\n                        <div style=\"font-size:10px; color:#331100; font-weight:bold;\">ULTIMATE SET OPTIMIZER<\/div>\n                    <\/div>\n                <\/div>\n                <button onclick=\"document.getElementById('crossingModal').remove()\" style=\"background:none; border:none; color:#000; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"padding:20px; background:#100500; border-bottom:1px solid #333;\">\n                <div style=\"display:flex; justify-content:space-between; align-items:end; gap:15px;\">\n                    \n                    <div style=\"flex:1;\">\n                        <label style=\"font-size:10px; color:#aaa; font-weight:bold;\">HOW MANY DIGITS?<\/label>\n                        <select id=\"cgSize\" style=\"width:100%; padding:10px; background:#000; border:1px solid #F37335; color:#FDC830; font-weight:bold; border-radius:8px;\">\n                            <option value=\"3\">3 Digits (9 Jodi)<\/option>\n                            <option value=\"4\">4 Digits (16 Jodi)<\/option>\n                            <option value=\"5\" selected>5 Digits (25 Jodi)<\/option>\n                            <option value=\"6\">6 Digits (36 Jodi)<\/option>\n                            <option value=\"7\">7 Digits (49 Jodi)<\/option>\n                        <\/select>\n                    <\/div>\n\n                    <div style=\"flex:1;\">\n                        <label style=\"font-size:10px; color:#aaa; font-weight:bold;\">SCAN PERIOD<\/label>\n                        <select id=\"cgPeriod\" style=\"width:100%; padding:10px; background:#000; border:1px solid #555; color:#fff; border-radius:8px;\">\n                            <option value=\"100\">Last 100 Days<\/option>\n                            <option value=\"365\" selected>Last 1 Year (365 Days)<\/option>\n                            <option value=\"ALL\">Full History<\/option>\n                        <\/select>\n                    <\/div>\n\n                    <div style=\"flex:1;\">\n                         <button onclick=\"runCrossingGod()\" id=\"btnCgRun\" style=\"width:100%; padding:10px; background:linear-gradient(90deg, #FDC830, #F37335); color:#000; border:none; font-weight:bold; border-radius:8px; cursor:pointer; height:42px; display:flex; align-items:center; justify-content:center; gap:5px; box-shadow:0 0 15px rgba(243, 115, 53, 0.4);\">\n                            \ud83d\udd0d FIND GOLDEN SET\n                        <\/button>\n                    <\/div>\n\n                <\/div>\n            <\/div>\n\n            <div id=\"cgLoading\" style=\"flex:1; display:none; justify-content:center; align-items:center; flex-direction:column; padding:50px;\">\n                <div style=\"font-size:40px; animation:spin 1s infinite;\">\ud83e\uddec<\/div>\n                <div style=\"color:#F37335; margin-top:15px; font-weight:bold;\">Analyzing Millions of Combinations...<\/div>\n            <\/div>\n\n            <div id=\"cgResult\" style=\"flex:1; overflow-y:auto; padding:20px; display:none;\">\n                \n                <div style=\"background:linear-gradient(135deg, #331100, #000); border:2px solid #FDC830; border-radius:15px; padding:20px; text-align:center; position:relative; overflow:hidden; margin-bottom:20px;\">\n                    <div style=\"position:absolute; top:0; left:0; width:100%; height:5px; background:#FDC830;\"><\/div>\n                    <div style=\"font-size:10px; color:#F37335; font-weight:bold; letter-spacing:2px; margin-bottom:10px;\">\ud83c\udfc6 THE GOLDEN CROSSING SET<\/div>\n                    \n                    <div id=\"cgBestDigits\" style=\"font-size:42px; font-weight:900; color:#fff; letter-spacing:10px; text-shadow:0 0 20px #F37335;\">\n                        --\n                    <\/div>\n                    \n                    <div style=\"display:flex; justify-content:center; gap:20px; margin-top:15px;\">\n                        <div>\n                            <div style=\"font-size:10px; color:#aaa;\">PASS RATE<\/div>\n                            <div id=\"cgWinRate\" style=\"font-size:18px; font-weight:bold; color:#00e676;\">--%<\/div>\n                        <\/div>\n                        <div>\n                            <div style=\"font-size:10px; color:#aaa;\">NET PROFIT (\u20b9100 Stake)<\/div>\n                            <div id=\"cgProfit\" style=\"font-size:18px; font-weight:bold; color:#FDC830;\">\u20b9--<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div style=\"background:#111; padding:15px; border-radius:10px; border:1px solid #333;\">\n                    <div style=\"display:flex; justify-content:space-between; margin-bottom:10px;\">\n                        <div style=\"font-size:11px; font-weight:bold; color:#fff;\">GENERATED JODIS<\/div>\n                        <button onclick=\"copyCrossingJodis()\" style=\"background:#333; color:#fff; border:none; padding:4px 10px; border-radius:4px; font-size:10px; cursor:pointer;\">\ud83d\udccb COPY JODIS<\/button>\n                    <\/div>\n                    <div id=\"cgJodiGrid\" style=\"display:grid; grid-template-columns:repeat(auto-fill, minmax(30px, 1fr)); gap:5px;\">\n                        <\/div>\n                <\/div>\n\n                <div style=\"margin-top:20px;\">\n                    <div style=\"font-size:10px; color:#aaa; margin-bottom:5px;\">OTHER TOP PERFORMERS<\/div>\n                    <table style=\"width:100%; border-collapse:collapse; font-size:11px;\">\n                        <thead>\n                            <tr style=\"background:#222; color:#F37335;\">\n                                <th style=\"padding:8px; text-align:left;\">DIGITS<\/th>\n                                <th style=\"padding:8px;\">WINS<\/th>\n                                <th style=\"padding:8px; text-align:right;\">PROFIT<\/th>\n                            <\/tr>\n                        <\/thead>\n                        <tbody id=\"cgTopTable\"><\/tbody>\n                    <\/table>\n                <\/div>\n\n            <\/div>\n        <\/div>\n        <style>@keyframes spin { 100% {transform:rotate(360deg);} }<\/style>\n    <\/div>\n    `;\n\n    if(document.getElementById('crossingModal')) document.getElementById('crossingModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}\n\n\/\/ Global Var\nvar bestCrossingData = null;\n\nfunction runCrossingGod() {\n    const btn = document.getElementById('btnCgRun');\n    const loading = document.getElementById('cgLoading');\n    const result = document.getElementById('cgResult');\n\n    btn.disabled = true;\n    result.style.display = 'none';\n    loading.style.display = 'flex';\n\n    \/\/ Timeout for UI Refresh\n    setTimeout(() => {\n        calculateBestCrossing();\n        loading.style.display = 'none';\n        result.style.display = 'block';\n        btn.disabled = false;\n    }, 200);\n}\n\n\/\/ \ud83e\udde0 THE ALGORITHM\nfunction calculateBestCrossing() {\n    const timeline = window.logicChartMeta.timeline;\n    \n    \/\/ Inputs\n    const size = parseInt(document.getElementById('cgSize').value);\n    const periodStr = document.getElementById('cgPeriod').value;\n    \n    \/\/ Slice Data\n    let data = [];\n    if(periodStr === 'ALL') data = timeline;\n    else {\n        const p = parseInt(periodStr);\n        data = timeline.slice(Math.max(0, timeline.length - p));\n    }\n\n    \/\/ 1. Frequency Map (Optimization Step)\n    \/\/ Instead of checking every day for every combo (too slow),\n    \/\/ we count how many times each number (00-99) appeared.\n    let freqMap = new Array(100).fill(0);\n    data.forEach(n => freqMap[n]++);\n\n    \/\/ 2. Generate Combinations\n    \/\/ We need all combinations of [0,1,2,3...9] of length 'size'\n    const digits = [0,1,2,3,4,5,6,7,8,9];\n    const combos = getCombinations(digits, size);\n\n    \/\/ 3. Score Each Combo\n    let ranked = [];\n    const totalDraws = data.length;\n    const stake = 100; \/\/ Standard for calc\n    const jodiCount = size * size; \/\/ e.g., 5*5=25\n    const investPerGame = jodiCount * stake;\n    const totalInvest = totalDraws * investPerGame;\n\n    combos.forEach(combo => {\n        let wins = 0;\n        \n        \/\/ Calculate wins for this combo using Frequency Map\n        \/\/ A crossing of [1,2] means Jodis: 11, 12, 21, 22\n        for(let d1 of combo) {\n            for(let d2 of combo) {\n                let jodi = parseInt(`${d1}${d2}`);\n                wins += freqMap[jodi];\n            }\n        }\n\n        const payout = wins * (stake * 90);\n        const profit = payout - totalInvest;\n        \n        ranked.push({\n            digits: combo,\n            wins: wins,\n            profit: profit,\n            winRate: (wins \/ totalDraws) * 100\n        });\n    });\n\n    \/\/ 4. Sort by Profit\n    ranked.sort((a,b) => b.profit - a.profit);\n    const best = ranked[0];\n    bestCrossingData = best;\n\n    \/\/ 5. Render UI\n    document.getElementById('cgBestDigits').innerText = best.digits.join(' ');\n    \n    const pEl = document.getElementById('cgProfit');\n    pEl.innerText = `\u20b9${(best.profit\/1000).toFixed(1)}k`;\n    pEl.style.color = best.profit >= 0 ? '#FDC830' : '#ff4444';\n    \n    document.getElementById('cgWinRate').innerText = `${best.winRate.toFixed(1)}%`;\n\n    \/\/ Render Grid\n    let gridHTML = \"\";\n    let jodisList = [];\n    for(let d1 of best.digits) {\n        for(let d2 of best.digits) {\n            let j = `${d1}${d2}`;\n            jodisList.push(j);\n            gridHTML += `<div style=\"background:#222; color:#F37335; border-radius:4px; text-align:center; padding:5px; font-weight:bold; font-size:12px;\">${j}<\/div>`;\n        }\n    }\n    document.getElementById('cgJodiGrid').innerHTML = gridHTML;\n    bestCrossingData.jodisStr = jodisList.join(',');\n\n    \/\/ Render Top 5 Table\n    let tableHTML = \"\";\n    ranked.slice(1, 6).forEach(r => {\n        const col = r.profit >= 0 ? '#00e676' : '#ff4444';\n        tableHTML += `\n            <tr style=\"border-bottom:1px solid #222;\">\n                <td style=\"padding:8px; color:#fff; font-weight:bold;\">${r.digits.join('-')}<\/td>\n                <td style=\"padding:8px; color:#aaa;\">${r.wins}<\/td>\n                <td style=\"padding:8px; text-align:right; color:${col};\">\u20b9${Math.round(r.profit).toLocaleString()}<\/td>\n            <\/tr>\n        `;\n    });\n    document.getElementById('cgTopTable').innerHTML = tableHTML;\n}\n\n\/\/ Helper: Combination Generator\nfunction getCombinations(chars, k) {\n    let result = [];\n    function backtrack(start, current) {\n        if (current.length === k) {\n            result.push([...current]);\n            return;\n        }\n        for (let i = start; i < chars.length; i++) {\n            current.push(chars[i]);\n            backtrack(i + 1, current);\n            current.pop();\n        }\n    }\n    backtrack(0, []);\n    return result;\n}\n\nfunction copyCrossingJodis() {\n    if(!bestCrossingData) return;\n    navigator.clipboard.writeText(bestCrossingData.jodisStr);\n    alert(\"\ud83e\uddec Golden Set Copied!\");\n}\n\n        \/\/ ====================================================\n\/\/ \ud83e\udde0 LOGIC PRO SUITE v2.0 (WITH BACKTESTING & ACCURACY)\n\/\/ ====================================================\n\nfunction logicPro(type) {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n    const timelineDates = window.logicChartMeta?.timelineDates || [];\n\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"Logic Pro\", \"\u274c Analysis ke liye kam se kam 100 records chahiye.\");\n        return;\n    }\n\n    let predictFn = null; \/\/ This will hold the logic function\n    let title = \"\";\n    let desc = \"\";\n    let color = \"#ffd700\";\n\n    \/\/ --- 1. DEFINE LOGIC ENGINES ---\n    \/\/ Har case me hum ek function banayenge jo history lega aur prediction dega\n    \n    switch (type) {\n        \/\/ \ud83d\udd2e THE FOLLOWER\n        case 'follower':\n            title = \"\ud83d\udd2e The Follower Finder\";\n            desc = \"Previous Result Pattern Analysis\";\n            color = \"#ff9800\";\n            predictFn = (hist) => {\n                const last = hist[hist.length - 1];\n                let f = {};\n                \/\/ Look at last 200 draws for trends\n                const scanLimit = Math.min(hist.length, 200);\n                for(let i = hist.length - scanLimit; i < hist.length - 1; i++) {\n                    if (hist[i] === last) f[hist[i+1]] = (f[hist[i+1]]||0)+1;\n                }\n                return Object.entries(f).sort((a,b)=>b[1]-a[1]).slice(0,6).map(x=>parseInt(x[0]));\n            };\n            break;\n\n        \/\/ \ud83d\udcc5 DATE-FIX\n        case 'datefix':\n            title = \"\ud83d\udcc5 Date-Fix History\";\n            desc = \"Historical Same-Day Repeats\";\n            color = \"#03a9f4\";\n            predictFn = (hist, idx) => {\n                \/\/ Need current date from metadata index\n                if(!timelineDates[idx]) return [];\n                const dObj = timelineDates[idx]; \/\/ {day, month, year}\n                \n                \/\/ Find same dates in history\n                let hits = [];\n                timelineDates.slice(0, idx).forEach((d, i) => {\n                    if(d.day === dObj.day && d.month === dObj.month) hits.push(timeline[i]);\n                });\n                \n                let f = {};\n                hits.forEach(n => f[n] = (f[n]||0)+1);\n                return Object.entries(f).sort((a,b)=>b[1]-a[1]).slice(0,8).map(x=>parseInt(x[0]));\n            };\n            break;\n\n        \/\/ \u23f3 PENDING DEBT\n        case 'pending':\n            title = \"\u23f3 Pending Debt\";\n            desc = \"Most Overdue Numbers (Sleeping)\";\n            color = \"#f44336\";\n            predictFn = (hist) => {\n                const recent50 = new Set(hist.slice(-50));\n                const all = Array.from({length:100},(_,i)=>i);\n                return all.filter(n => !recent50.has(n)).slice(0,10);\n            };\n            break;\n\n        \/\/ \ud83d\udd17 RUNNING JODI\n        case 'running':\n            title = \"\ud83d\udd17 Running Jodi Trap\";\n            desc = \"Current Active Families\";\n            color = \"#9c27b0\";\n            predictFn = (hist) => {\n                const last10 = hist.slice(-10);\n                let famC = {};\n                last10.forEach(n => {\n                    let f = getFamilyMembers(n)[0];\n                    famC[f] = (famC[f]||0)+1;\n                });\n                const topFam = Object.entries(famC).sort((a,b)=>b[1]-a[1])[0];\n                return topFam ? getFamilyMembers(parseInt(topFam[0])) : [];\n            };\n            break;\n\n        \/\/ \u2702\ufe0f CUT & COATING\n        case 'coating':\n            title = \"\u2702\ufe0f Cut & Coating\";\n            desc = \"Operator Mathematical Moves\";\n            color = \"#e91e63\";\n            predictFn = (hist) => {\n                const last = hist[hist.length-1];\n                let s = last.toString().padStart(2,'0');\n                let d1 = parseInt(s[0]), d2 = parseInt(s[1]);\n                let c1 = (d1+5)%10, c2 = (d2+5)%10;\n                return [\n                    (last+50)%100, \/\/ Full Cut\n                    parseInt(`${c1}${d2}`), parseInt(`${d1}${c2}`), \/\/ Half Cuts\n                    (last+1)%100, (last-1+100)%100 \/\/ Coating\n                ];\n            };\n            break;\n\n        \/\/ \ud83d\uddd3\ufe0f DAY DOMINATOR\n        case 'daywise':\n            title = \"\ud83d\uddd3\ufe0f Day Dominator\";\n            desc = \"Weekday Specific Analysis\";\n            color = \"#4caf50\";\n            predictFn = (hist, idx) => {\n                if(!timelineDates[idx]) return [];\n                \/\/ Calculate Weekday of target date\n                const tDate = timelineDates[idx];\n                const jsDate = new Date(tDate.year, tDate.month-1, tDate.day);\n                const targetDay = jsDate.getDay(); \/\/ 0-6\n                \n                let hits = [];\n                \/\/ Look back 100 draws\n                const start = Math.max(0, idx-100);\n                for(let i=start; i<idx; i++) {\n                    const d = timelineDates[i];\n                    const tempD = new Date(d.year, d.month-1, d.day);\n                    if(tempD.getDay() === targetDay) hits.push(timeline[i]);\n                }\n                \n                let f = {};\n                hits.forEach(n => f[n] = (f[n]||0)+1);\n                return Object.entries(f).sort((a,b)=>b[1]-a[1]).slice(0,8).map(x=>parseInt(x[0]));\n            };\n            break;\n\n        \/\/ \ud83d\udea6 GAP STRATEGY\n        case 'gap':\n            title = \"\ud83d\udea6 Gap Strategy\";\n            desc = \"Average Gap Calculation\";\n            color = \"#795548\";\n            predictFn = (hist) => {\n                const last = hist[hist.length-1];\n                \/\/ Find positions\n                let pos = [];\n                hist.forEach((n,i) => { if(n===last) pos.push(i) });\n                if(pos.length < 2) return getFamilyMembers(last); \/\/ Fallback\n                \n                \/\/ Avg Gap logic usually points to Family repeat or sequence\n                return getFamilyMembers(last);\n            };\n            break;\n\n        \/\/ \ud83c\udfb0 36-JODI CROSS\n        case 'cross36':\n            title = \"\ud83c\udfb0 36-Jodi Cross\";\n            desc = \"Top 4 Open x Top 4 Close\";\n            color = \"#607d8b\";\n            predictFn = (hist) => {\n                const recent = hist.slice(-20);\n                let oC = Array(10).fill(0), cC = Array(10).fill(0);\n                recent.forEach(n => {\n                    let s = n.toString().padStart(2,'0');\n                    oC[parseInt(s[0])]++;\n                    cC[parseInt(s[1])]++;\n                });\n                const topO = oC.map((v,i)=>[i,v]).sort((a,b)=>b[1]-a[1]).slice(0,4).map(x=>x[0]);\n                const topC = cC.map((v,i)=>[i,v]).sort((a,b)=>b[1]-a[1]).slice(0,4).map(x=>x[0]);\n                let res = [];\n                topO.forEach(o => topC.forEach(c => res.push(parseInt(`${o}${c}`))));\n                return res;\n            };\n            break;\n\n        \/\/ \ud83c\udf21\ufe0f MONTHLY HEAT\n        case 'monthly':\n            title = \"\ud83c\udf21\ufe0f Monthly Heat\";\n            desc = \"Current Month History\";\n            color = \"#ff5722\";\n            predictFn = (hist, idx) => {\n                if(!timelineDates[idx]) return [];\n                const curM = timelineDates[idx].month;\n                let hits = [];\n                \/\/ Scan history\n                timelineDates.slice(0, idx).forEach((d, i) => {\n                    if(d.month === curM) hits.push(timeline[i]);\n                });\n                let f = {};\n                hits.forEach(n => f[n] = (f[n]||0)+1);\n                return Object.entries(f).sort((a,b)=>b[1]-a[1]).slice(0,8).map(x=>parseInt(x[0]));\n            };\n            break;\n\n        \/\/ \ud83e\udd16 AI VERDICT\n        case 'ai_verdict':\n            title = \"\ud83e\udd16 AI Confidence Verdict\";\n            desc = \"Pattern + History Fusion\";\n            color = \"#00e676\";\n            predictFn = (hist) => {\n                const last = hist[hist.length-1];\n                let f = {};\n                for(let i=0; i<hist.length-1; i++) {\n                    if(hist[i]===last) f[hist[i+1]] = (f[hist[i+1]]||0)+1.5; \/\/ Weighted\n                }\n                const res = Object.entries(f).sort((a,b)=>b[1]-a[1]).slice(0,6).map(x=>parseInt(x[0]));\n                return res.length > 0 ? res : getFamilyMembers(last);\n            };\n            break;\n    }\n\n    if (!predictFn) return;\n\n    \/\/ --- 2. EXECUTE BACKTESTING (THE SMART PART) ---\n    \/\/ Hum pichle 100 din ka data check karenge ki ye logic kitni baar pass hua\n    \n    let wins100 = 0;\n    let totalTests = 0;\n    let yesterdayStatus = \"N\/A\";\n    let yesterdayTarget = timeline[timeline.length - 1]; \/\/ Current result\n    let yesterdayPreds = [];\n\n    \/\/ Loop through last 100 draws\n    const checkCount = Math.min(timeline.length - 50, 100); \n    const startIndex = timeline.length - checkCount;\n\n    for (let i = startIndex; i < timeline.length; i++) {\n        const actualResult = timeline[i]; \/\/ Result of that day\n        \n        \/\/ Use data UP TO previous day to predict current day\n        const pastHistory = timeline.slice(0, i);\n        \n        \/\/ Special handling for date-based logic which needs index\n        const preds = predictFn(pastHistory, i);\n        \n        if (preds.includes(actualResult)) {\n            wins100++;\n        }\n        totalTests++;\n\n        \/\/ Capture Yesterday's Data (Last iteration of loop)\n        if (i === timeline.length - 1) {\n            \/\/ Note: In loop, 'actualResult' is the LATEST result shown on chart\n            \/\/ 'preds' are what the system would have predicted for this latest result\n            yesterdayPreds = preds;\n            yesterdayStatus = preds.includes(actualResult) ? \n                `<span style=\"color:#00e676; font-weight:bold;\">\u2705 PASS<\/span>` : \n                `<span style=\"color:#ff3333; font-weight:bold;\">\u274c FAIL<\/span>`;\n        }\n    }\n\n    const accuracy = Math.round((wins100 \/ totalTests) * 100);\n\n    \/\/ --- 3. GET TODAY'S PREDICTION (NEXT GAME) ---\n    \/\/ Use full history\n    const todayPreds = predictFn(timeline, timeline.length); \/\/ timeline.length simulates 'next' index\n\n    \/\/ --- 4. RENDER UI ---\n    \n    \/\/ Highlights\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if(todayPreds.includes(val)) {\n            td.style.backgroundColor = color;\n            td.style.color = (color === '#ffd700' || color === '#00e676') ? '#000' : '#fff';\n            td.style.fontWeight = 'bold';\n            td.style.boxShadow = `0 0 10px ${color}`;\n        }\n    });\n\n    const copyStr = todayPreds.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:${color}; color:${(color==='#ffd700'||color==='#00e676')?'#000':'#fff'}; padding:12px; border-radius:10px 10px 0 0; display:flex; justify-content:space-between; align-items:center;\">\n            <div>\n                <div style=\"font-size:16px; font-weight:bold;\">${title}<\/div>\n                <div style=\"font-size:10px; opacity:0.9;\">${desc}<\/div>\n            <\/div>\n            <div style=\"text-align:right;\">\n                <div style=\"font-size:10px;\">ACCURACY<\/div>\n                <div style=\"font-size:20px; font-weight:bold;\">${accuracy}%<\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#222; border-left:1px solid ${color}; border-right:1px solid ${color}; padding:10px; display:flex; justify-content:space-between; align-items:center;\">\n            <div style=\"text-align:center;\">\n                <div style=\"font-size:9px; color:#aaa;\">LAST 100 DRAWS<\/div>\n                <div style=\"font-size:14px; font-weight:bold; color:#fff;\">${wins100}\/${totalTests} Passed<\/div>\n            <\/div>\n            <div style=\"height:20px; width:1px; background:#444;\"><\/div>\n            <div style=\"text-align:center;\">\n                <div style=\"font-size:9px; color:#aaa;\">YESTERDAY<\/div>\n                <div style=\"font-size:14px;\">${yesterdayStatus}<\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#111; border:1px solid ${color}; border-top:none; border-radius:0 0 10px 10px; padding:15px; text-align:center;\">\n            \n            <div style=\"margin-bottom:15px;\">\n                <div style=\"font-size:10px; color:#888; margin-bottom:5px;\">PREVIOUS RESULT ANALYSIS<\/div>\n                <div style=\"font-size:12px; color:#ccc;\">\n                    Result: <span style=\"color:#fff; font-weight:bold;\">${yesterdayTarget.toString().padStart(2,'0')}<\/span> | \n                    Prediction was: <span style=\"color:#aaa;\">${yesterdayPreds.slice(0,5).map(n=>n.toString().padStart(2,'0')).join(', ')}...<\/span>\n                <\/div>\n            <\/div>\n\n            <div style=\"margin-bottom:10px;\">\n                <div style=\"font-size:12px; color:${color}; font-weight:bold; margin-bottom:8px; text-transform:uppercase;\">\n                    \ud83d\ude80 TARGETS FOR NEXT GAME\n                <\/div>\n                <div style=\"font-family:monospace; font-size:16px; color:#fff; word-spacing:5px; line-height:1.6;\">\n                    ${todayPreds.map(n=>n.toString().padStart(2,'0')).join(', ')}\n                <\/div>\n            <\/div>\n\n            <button onclick=\"navigator.clipboard.writeText('${copyStr}');alert('Numbers Copied!')\" style=\"width:100%; background:${color}; color:${(color==='#ffd700'||color==='#00e676')?'#000':'#fff'}; border:none; padding:10px; border-radius:6px; font-weight:bold; cursor:pointer; box-shadow:0 0 10px ${color}40;\">\n                \ud83d\udccb COPY NUMBERS\n            <\/button>\n        <\/div>\n\n    <\/div>\n    `;\n\n    logicChartUpdateResult(title, html);\n    logicChartAddLegend(color, 'Suggested');\n    logicChartShowPopup(`${title}: ${accuracy}% Accuracy detected!`);\n}\n\n\/\/ Ensure getFamilyMembers helper exists\nfunction getFamilyMembers(num) {\n    let s = num.toString().padStart(2, '0');\n    let a = parseInt(s[0]);\n    let b = parseInt(s[1]);\n    let a_ = (a + 5) % 10;\n    let b_ = (b + 5) % 10;\n    return [\n        parseInt(`${a}${b}`), parseInt(`${a}${b_}`),\n        parseInt(`${a_}${b}`), parseInt(`${a_}${b_}`),\n        parseInt(`${b}${a}`), parseInt(`${b}${a_}`),\n        parseInt(`${b_}${a}`), parseInt(`${b_}${a_}`)\n    ];\n}\n    \/\/ ====================================================\n\/\/ \ud83d\udc51 VVIP MEMBERSHIP PLANS SYSTEM\n\/\/ ====================================================\n\nfunction logicShowVipPlans() {\n    const modalHTML = `\n    <div id=\"vipPlanModal\" style=\"position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.96); z-index:10100; display:flex; justify-content:center; align-items:center; font-family:'Segoe UI', sans-serif;\">\n        <div style=\"background:#0a0a0a; border:2px solid #D4AF37; width:95%; max-width:700px; padding:20px; border-radius:20px; box-shadow:0 0 60px rgba(212, 175, 55, 0.3); max-height:95vh; overflow-y:auto;\">\n            \n            <div style=\"text-align:center; border-bottom:1px solid #333; padding-bottom:15px; margin-bottom:20px; position:relative;\">\n                <div style=\"font-size:50px;\">\ud83d\udc51<\/div>\n                <h2 style=\"color:#D4AF37; margin:0; text-transform:uppercase; letter-spacing:2px;\">VVIP ACCESS CLUB<\/h2>\n                <div style=\"font-size:12px; color:#888;\">FOR ELITE PLAYERS ONLY<\/div>\n                <button onclick=\"document.getElementById('vipPlanModal').remove()\" style=\"position:absolute; right:0; top:0; background:none; border:none; color:#D4AF37; font-size:24px; cursor:pointer;\">\u2716<\/button>\n            <\/div>\n\n            <div style=\"background:#111; padding:15px; border-radius:10px; border-left:4px solid #D4AF37; margin-bottom:20px;\">\n                <div style=\"font-size:14px; color:#fff; line-height:1.6;\">\n                    <strong style=\"color:#D4AF37;\">\u2139\ufe0f PLEASE READ:<\/strong><br>\n                    \u2022 We have kept <strong>80% of buttons FREE<\/strong> for all users.<br>\n                    \u2022 The VVIP Section contains <strong>High-Accuracy Tools (50% - 99%)<\/strong> designed for heavy players.<br>\n                    \u2022 Sometimes, we unlock VVIP buttons for free as a gift.<br>\n                    \u2022 <strong>Privacy First:<\/strong> We accept payments only in <strong>Bitcoin (BTC)<\/strong> to keep your identity and our owner anonymous.\n                <\/div>\n            <\/div>\n\n            <div style=\"display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:15px; margin-bottom:25px;\">\n                \n                <div style=\"background:#1a1a1a; border:1px solid #444; border-radius:10px; padding:15px; text-align:center; transition:0.3s;\">\n                    <div style=\"color:#aaa; font-size:12px;\">STARTER<\/div>\n                    <div style=\"color:#fff; font-size:22px; font-weight:bold;\">1 MONTH<\/div>\n                    <div style=\"color:#D4AF37; font-size:18px; margin:5px 0;\">\u20b97,500<\/div>\n                    <div style=\"font-size:10px; color:#666;\">(BTC Equivalent)<\/div>\n                <\/div>\n\n                <div style=\"background:#1a1a1a; border:1px solid #444; border-radius:10px; padding:15px; text-align:center;\">\n                    <div style=\"color:#aaa; font-size:12px;\">PRO<\/div>\n                    <div style=\"color:#fff; font-size:22px; font-weight:bold;\">3 MONTHS<\/div>\n                    <div style=\"color:#D4AF37; font-size:18px; margin:5px 0;\">\u20b918,000<\/div>\n                    <div style=\"font-size:10px; color:#666;\">Save 20%<\/div>\n                <\/div>\n\n                <div style=\"background:#1a1a1a; border:1px solid #444; border-radius:10px; padding:15px; text-align:center;\">\n                    <div style=\"color:#aaa; font-size:12px;\">EXPERT<\/div>\n                    <div style=\"color:#fff; font-size:22px; font-weight:bold;\">1 YEAR<\/div>\n                    <div style=\"color:#D4AF37; font-size:18px; margin:5px 0;\">\u20b955,000<\/div>\n                    <div style=\"font-size:10px; color:#666;\">Serious Business<\/div>\n                <\/div>\n\n            <\/div>\n\n            <div style=\"background:linear-gradient(to right, #000, #1a1a00); border:2px solid #D4AF37; border-radius:15px; padding:20px; text-align:center; position:relative; overflow:hidden; margin-bottom:25px;\">\n                <div style=\"position:absolute; top:10px; right:-30px; background:red; color:white; padding:5px 40px; transform:rotate(45deg); font-size:10px; font-weight:bold;\">LIMITED OFFER<\/div>\n                \n                <div style=\"font-size:14px; color:#D4AF37; letter-spacing:3px; margin-bottom:5px;\">\ud83d\udc51 KING MAKER ACCESS<\/div>\n                <div style=\"font-size:32px; font-weight:900; color:#fff;\">LIFETIME MEMBERSHIP<\/div>\n                <div style=\"margin:10px 0;\">\n                    <span style=\"color:#666; text-decoration:line-through; font-size:18px;\">\u20b91,50,000<\/span>\n                    <span style=\"color:#00e676; font-size:30px; font-weight:bold; margin-left:10px;\">\u20b980,000<\/span>\n                <\/div>\n                <div style=\"color:#aaa; font-size:12px;\">One Time Payment via BTC. No Renewal Needed.<\/div>\n            <\/div>\n\n            <div style=\"text-align:center;\">\n                <div style=\"color:#ccc; font-size:12px; margin-bottom:15px;\">\n                    Ready to upgrade? Connect with our Secure Telegram Bot.<br>\n                    Owner remains anonymous. Payment details will be shared privately.\n                <\/div>\n\n                <a href=\"https:\/\/t.me\/YOUR_TELEGRAM_ID_HERE\" target=\"_blank\" style=\"text-decoration:none;\">\n                    <button style=\"background:#0088cc; color:#fff; border:none; padding:15px 30px; border-radius:30px; font-size:18px; font-weight:bold; cursor:pointer; box-shadow:0 0 20px rgba(0, 136, 204, 0.5); display:inline-flex; align-items:center; gap:10px;\">\n                        <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm0 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm2.464 14.336l.732-3.336 2.668-2.668c.28-.28.104-.568-.184-.408l-3.328 2.064-2.88-1.008c-.624-.232-.64-.624.128-.928l11.232-4.328c.52-.2.976.12.808.88l-1.928 9.072c-.144.64-.52.8-1.04.56l-2.904-2.144z\"\/><\/svg>\n                        CONTACT ON TELEGRAM\n                    <\/button>\n                <\/a>\n                \n                <div style=\"margin-top:15px; font-size:10px; color:#555;\">\n                    * All payments are non-refundable. Digital Goods Policy.\n                <\/div>\n            <\/div>\n\n        <\/div>\n    <\/div>\n    `;\n\n    \/\/ Clean old modal if exists\n    if(document.getElementById('vipPlanModal')) document.getElementById('vipPlanModal').remove();\n    document.body.insertAdjacentHTML('beforeend', modalHTML);\n}    \n           \/\/ ====================================================\n\/\/ \ud83e\uddec DNA HUNTER ULTIMATE (DEEP AUDIT & HYBRID LOGIC)\n\/\/ ====================================================\n\nfunction logicDNAHunterAnalysisPro() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n    const dates = window.logicChartMeta?.timelineDates || [];\n\n    \/\/ 1. Safety Check\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"DNA Hunter Ultimate\", \"\u274c Need deep history for full audit.\");\n        return;\n    }\n\n    \/\/ --- 2. CONFIGURATION & HELPERS ---\n    const today = new Date();\n    const currentYear = today.getFullYear();\n    const lastYear = currentYear - 1;\n    const currentMonth = today.getMonth() + 1;\n\n    \/\/ Stats Container\n    let stats = {\n        allTime: { total: 0, wins: 0 },\n        thisYear: { total: 0, wins: 0 },\n        lastYear: { total: 0, wins: 0 },\n        thisMonth: { total: 0, wins: 0 },\n        yesterday: { status: \"N\/A\", target: 0, preds: [] }\n    };\n\n    \/\/ --- 3. THE HYBRID PREDICTION ENGINE ---\n    \/\/ This function decides whether to use Exact Match or Family Match\n    const getSmartPredictions = (historyData) => {\n        const currentNum = historyData[historyData.length - 1];\n        \n        \/\/ A. EXACT CLONE MATCH (Priority 1)\n        let exactMatches = [];\n        for(let k = 0; k < historyData.length - 1; k++) {\n            if(historyData[k] === currentNum) {\n                exactMatches.push(historyData[k+1]);\n            }\n        }\n\n        \/\/ B. VECTOR MATCH (Priority 2)\n        \/\/ Check pattern from 2nd last to last (Flow)\n        const prevNum = historyData[historyData.length - 2];\n        let vectorMatches = [];\n        if(prevNum !== undefined) {\n             const diff = currentNum - prevNum;\n             vectorMatches.push((currentNum + diff + 100) % 100);\n        }\n\n        \/\/ C. HYBRID FAMILY (Priority 3 - If Exact is weak)\n        let hybridMatches = [];\n        if(exactMatches.length < 3) {\n            const fam = getFamilyMembers(currentNum); \/\/ Helper function\n            for(let k = 0; k < historyData.length - 1; k++) {\n                if(fam.includes(historyData[k])) {\n                    \/\/ Agar family match hui, to agle number ki family uthao\n                    hybridMatches.push(historyData[k+1]);\n                }\n            }\n        }\n\n        \/\/ COMBINE & RANK\n        \/\/ We prioritize Exact > Vector > Hybrid\n        const allCandidates = [...exactMatches, ...vectorMatches, ...hybridMatches];\n        const freq = {};\n        allCandidates.forEach(n => freq[n] = (freq[n]||0)+1);\n        \n        \/\/ Return Top 6 Unique Numbers\n        return Object.entries(freq)\n            .sort((a,b) => b[1] - a[1])\n            .slice(0, 6)\n            .map(x => parseInt(x[0]));\n    };\n\n    \/\/ --- 4. DEEP AUDIT LOOP (Full History Scan) ---\n    \/\/ Start scanning from index 50 to ensure we have past data\n    const startScan = 50; \n    \n    for(let i = startScan; i < timeline.length; i++) {\n        const actualResult = timeline[i];\n        const pastSlice = timeline.slice(0, i); \/\/ Data available before result\n        const dateInfo = dates[i];\n\n        \/\/ Get Prediction for that day\n        const preds = getSmartPredictions(pastSlice);\n        const isWin = preds.includes(actualResult);\n\n        \/\/ Update All Time\n        stats.allTime.total++;\n        if(isWin) stats.allTime.wins++;\n\n        \/\/ Update Segments\n        if(dateInfo.year === currentYear) {\n            stats.thisYear.total++;\n            if(isWin) stats.thisYear.wins++;\n            \n            if(dateInfo.month === currentMonth) {\n                stats.thisMonth.total++;\n                if(isWin) stats.thisMonth.wins++;\n            }\n        }\n        else if(dateInfo.year === lastYear) {\n            stats.lastYear.total++;\n            if(isWin) stats.lastYear.wins++;\n        }\n\n        \/\/ Capture Yesterday\n        if(i === timeline.length - 1) {\n            stats.yesterday.target = actualResult;\n            stats.yesterday.preds = preds;\n            stats.yesterday.status = isWin ? \n                `<span style=\"color:#00ff00; font-weight:bold;\">\u2705 PASS<\/span>` : \n                `<span style=\"color:#ff3333; font-weight:bold;\">\u274c FAIL<\/span>`;\n        }\n    }\n\n    \/\/ --- 5. CURRENT PREDICTION ---\n    const finalPredictions = getSmartPredictions(timeline);\n    const copyStr = finalPredictions.map(n=>n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 6. CALCULATE PERCENTAGES ---\n    const calc = (obj) => obj.total === 0 ? 0 : Math.round((obj.wins \/ obj.total) * 100);\n    const pAll = calc(stats.allTime);\n    const pYear = calc(stats.thisYear);\n    const pLast = calc(stats.lastYear);\n    const pMonth = calc(stats.thisMonth);\n\n    \/\/ --- 7. UI GENERATION ---\n    \n    \/\/ Highlight\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        if(finalPredictions.includes(parseInt(td.textContent))) {\n            td.style.backgroundColor = '#4b0082';\n            td.style.color = '#fff';\n            td.style.border = '1px solid #00ffff';\n            td.style.boxShadow = '0 0 10px #00ffff';\n            td.style.fontWeight = 'bold';\n        }\n    });\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:linear-gradient(to right, #240b36, #c31432); padding:15px; border-radius:10px; margin-bottom:15px; text-align:center; border:1px solid #ff00cc;\">\n            <div style=\"font-size:20px; font-weight:bold; color:#fff; text-shadow:0 0 10px #ff00cc;\">\ud83e\uddec DNA HUNTER ULTIMATE<\/div>\n            <div style=\"font-size:10px; color:#ffccff;\">DEEP HISTORY & HYBRID SCANNER<\/div>\n        <\/div>\n\n        <div style=\"display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-bottom:15px;\">\n            \n            <div style=\"background:#111; padding:10px; border-radius:5px; border-left:3px solid #00e676;\">\n                <div style=\"font-size:9px; color:#aaa;\">CURRENT MONTH<\/div>\n                <div style=\"font-size:24px; font-weight:bold; color:#00e676;\">${pMonth}%<\/div>\n                <div style=\"font-size:9px; color:#666;\">${stats.thisMonth.wins}\/${stats.thisMonth.total} Wins<\/div>\n            <\/div>\n\n            <div style=\"background:#111; padding:10px; border-radius:5px; border-left:3px solid #00bfff;\">\n                <div style=\"font-size:9px; color:#aaa;\">CURRENT YEAR<\/div>\n                <div style=\"font-size:24px; font-weight:bold; color:#00bfff;\">${pYear}%<\/div>\n                <div style=\"font-size:9px; color:#666;\">Consistent<\/div>\n            <\/div>\n\n            <div style=\"background:#111; padding:10px; border-radius:5px; border-left:3px solid #ff9800;\">\n                <div style=\"font-size:9px; color:#aaa;\">LAST YEAR<\/div>\n                <div style=\"font-size:24px; font-weight:bold; color:#ff9800;\">${pLast}%<\/div>\n                <div style=\"font-size:9px; color:#666;\">Benchmark<\/div>\n            <\/div>\n\n            <div style=\"background:#111; padding:10px; border-radius:5px; border-left:3px solid #8E2DE2;\">\n                <div style=\"font-size:9px; color:#aaa;\">FULL HISTORY<\/div>\n                <div style=\"font-size:24px; font-weight:bold; color:#8E2DE2;\">${pAll}%<\/div>\n                <div style=\"font-size:9px; color:#666;\">Lifetime<\/div>\n            <\/div>\n\n        <\/div>\n\n        <div style=\"background:#222; padding:10px; border-radius:5px; margin-bottom:15px; display:flex; justify-content:space-between; align-items:center;\">\n            <div style=\"font-size:11px; color:#ccc;\">\n                YESTERDAY RESULT: <span style=\"font-weight:bold; color:#fff;\">${stats.yesterday.target.toString().padStart(2,'0')}<\/span>\n            <\/div>\n            <div>${stats.yesterday.status}<\/div>\n        <\/div>\n\n        <div style=\"background:#0a0a0a; border:1px solid #4b0082; padding:15px; border-radius:8px; text-align:center;\">\n            <div style=\"font-size:11px; color:#00ffff; margin-bottom:10px;\">\ud83e\uddec DNA GENERATED TARGETS<\/div>\n            <div style=\"font-size:20px; font-weight:bold; color:#fff; letter-spacing:3px; word-spacing:5px;\">\n                ${finalPredictions.map(n=>n.toString().padStart(2,'0')).join(' ')}\n            <\/div>\n            <button onclick=\"navigator.clipboard.writeText('${copyStr}');alert('DNA Copied!')\" style=\"margin-top:15px; width:100%; background:linear-gradient(90deg, #c31432, #240b36); color:#fff; border:none; padding:10px; border-radius:4px; font-weight:bold; cursor:pointer;\">\n                COPY DNA STRANDS\n            <\/button>\n        <\/div>\n\n    <\/div>\n    `;\n\n    logicChartUpdateResult('DNA Ultimate Analysis', html);\n    logicChartAddLegend('#4b0082', 'DNA Match');\n    logicChartShowPopup(`\ud83e\uddec DNA Updated: ${pMonth}% Accuracy this month!`);\n}\n         \/\/ ====================================================\n\/\/ \ud83d\udcca AI PROBABILITY MAX (WITH BACKTESTING & HISTORY CHECK)\n\/\/ ====================================================\n\nfunction logicAIProbabilityMax() {\n    logicChartClearHighlights();\n    const timeline = window.logicChartMeta?.timeline || [];\n\n    \/\/ 1. Safety Check\n    if (timeline.length < 100) {\n        logicChartUpdateResult(\"AI Probability Max\", \"\u274c Need at least 100 records for AI analysis.\");\n        return;\n    }\n\n    \/\/ --- 2. BACKTESTING ENGINE (Time Travel) ---\n    \/\/ Hum check karenge ki agar hum ye logic pichle 1 saal se laga rahe hote to kya result aata\n    \n    let wins100 = 0;\n    let winsYear = 0;\n    let totalTests = 0;\n    \n    \/\/ Yesterday Check Variables\n    let yesterdayStatus = \"N\/A\";\n    let lastResult = timeline[timeline.length - 1]; \/\/ Kal ka result\n    let yesterdayPredictions = [];\n\n    \/\/ Limit check to last 365 draws (Fast Simulation)\n    const checkLimit = Math.min(timeline.length - 50, 365);\n    const startScan = timeline.length - checkLimit;\n\n    for (let i = startScan; i < timeline.length; i++) {\n        const actualResult = timeline[i];\n        \n        \/\/ \"Time Travel\": Us din tak ka data nikalo\n        const pastHistory = timeline.slice(0, i);\n        \n        \/\/ Uss din ki prediction nikalo\n        const predictions = calculateProbabilityScore(pastHistory); \/\/ Helper function niche hai\n        \n        \/\/ Check Win\n        if (predictions.includes(actualResult)) {\n            winsYear++;\n            if (i >= timeline.length - 100) wins100++;\n        }\n        totalTests++;\n\n        \/\/ YESTERDAY CHECK (Jab hum loop ke last step par honge)\n        if (i === timeline.length - 1) {\n            yesterdayPredictions = predictions;\n            if (predictions.includes(actualResult)) {\n                yesterdayStatus = `<span style=\"color:#00e676; font-weight:bold; font-size:14px;\">\u2705 PASS (${actualResult})<\/span>`;\n            } else {\n                yesterdayStatus = `<span style=\"color:#ff3333; font-weight:bold; font-size:14px;\">\u274c FAIL (Opened: ${actualResult})<\/span>`;\n            }\n        }\n    }\n\n    \/\/ Calculate Percentages\n    const rate100 = Math.round((wins100 \/ 100) * 100); \n    const rateYear = Math.round((winsYear \/ totalTests) * 100);\n\n    \/\/ --- 3. CURRENT PREDICTION (Next Game) ---\n    \/\/ Aaj ke liye calculation (Full Data)\n    const currentScores = calculateProbabilityScoreRaw(timeline); \/\/ Returns objects {n, score}\n    const currentTargets = currentScores.map(x => x.n);\n    const copyStr = currentTargets.map(n => n.toString().padStart(2,'0')).join(',');\n\n    \/\/ --- 4. UI HIGHLIGHTS ---\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        \n        \/\/ Top 3 ko Gold, Baaki ko Blue highlight\n        const rank = currentTargets.indexOf(val);\n        if (rank !== -1) {\n            if (rank < 3) {\n                td.style.backgroundColor = '#FFD700'; \/\/ Gold (Top 3)\n                td.style.color = '#000';\n                td.style.fontWeight = 'bold';\n                td.style.boxShadow = '0 0 10px #FFD700';\n            } else {\n                td.style.backgroundColor = '#2193b0'; \/\/ Blue (Support)\n                td.style.color = '#fff';\n            }\n        }\n    });\n\n    \/\/ --- 5. GENERATE REPORT HTML ---\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:linear-gradient(135deg, #000428, #004e92); border:1px solid #2193b0; border-radius:10px; padding:15px; margin-bottom:15px; box-shadow:0 0 15px rgba(33, 147, 176, 0.3);\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; border-bottom:1px dashed #2193b0; padding-bottom:8px; margin-bottom:10px;\">\n                <span style=\"font-size:16px; font-weight:bold; color:#6dd5ed;\">\ud83d\udcca AI PROBABILITY MAX<\/span>\n                <span style=\"font-size:10px; background:#fff; color:#000; padding:2px 8px; border-radius:4px; font-weight:bold;\">V3.0<\/span>\n            <\/div>\n            \n            <div style=\"display:flex; justify-content:space-around; text-align:center;\">\n                <div>\n                    <div style=\"font-size:10px; color:#aaa;\">LAST 100 DRAWS<\/div>\n                    <div style=\"font-size:24px; font-weight:bold; color:${rate100 > 30 ? '#00e676' : '#fff'};\">${rate100}%<\/div>\n                    <div style=\"font-size:9px; color:#ccc;\">Success Rate<\/div>\n                <\/div>\n                <div style=\"width:1px; background:#ffffff30;\"><\/div>\n                <div>\n                    <div style=\"font-size:10px; color:#aaa;\">YESTERDAY<\/div>\n                    <div style=\"margin-top:5px;\">${yesterdayStatus}<\/div>\n                    <div style=\"font-size:9px; color:#ccc; margin-top:2px;\">Pred: ${yesterdayPredictions.slice(0,5).map(n=>n.toString().padStart(2,'0')).join(',')}...<\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#00151f; border:1px solid #6dd5ed; border-radius:8px; padding:12px; margin-bottom:15px;\">\n            <div style=\"display:flex; justify-content:space-between; margin-bottom:10px;\">\n                <span style=\"color:#6dd5ed; font-weight:bold;\">\ud83d\udd25 TOP PROBABILITY (High Scores)<\/span>\n                <span style=\"font-size:10px; color:#aaa;\">(0-100 Scale)<\/span>\n            <\/div>\n            \n            <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n                ${currentScores.map((item, idx) => `\n                    <div style=\"display:flex; justify-content:space-between; align-items:center; background:${idx < 3 ? 'linear-gradient(90deg, #FFD700, #FFA500)' : 'rgba(255,255,255,0.05)'}; color:${idx < 3 ? '#000' : '#fff'}; padding:5px 10px; border-radius:4px;\">\n                        <span style=\"font-weight:bold; font-size:16px;\">${item.n.toString().padStart(2,'0')}<\/span>\n                        <div style=\"text-align:right;\">\n                            <span style=\"font-size:10px; opacity:0.8;\">Score<\/span>\n                            <span style=\"font-weight:bold; font-size:12px;\">${item.score}<\/span>\n                        <\/div>\n                    <\/div>\n                `).join('')}\n            <\/div>\n\n            <button onclick=\"copyToClipProb('${copyStr}')\" style=\"margin-top:15px; width:100%; background:linear-gradient(90deg, #2193b0, #6dd5ed); color:#000; border:none; padding:10px; border-radius:20px; font-weight:bold; cursor:pointer;\">\n                \ud83d\udccb COPY ALL NUMBERS\n            <\/button>\n        <\/div>\n\n        <div style=\"font-size:10px; color:#666; text-align:center;\">\n            *Score Formula: 60% Frequency + 40% Recency Weightage.\n        <\/div>\n    <\/div>\n    `;\n\n    logicChartUpdateResult('AI Probability Analysis', html);\n    logicChartAddLegend('#FFD700', 'Top 3 High Prob');\n    logicChartAddLegend('#2193b0', 'Good Probability');\n    logicChartShowPopup(`\ud83d\udcca AI Analysis Complete: ${rate100}% Recent Accuracy`);\n}\n\n\/\/ --- HELPER 1: PURE CALCULATION (Returns Array of Numbers) ---\n\/\/ Used for Backtesting\nfunction calculateProbabilityScore(hist) {\n    const raw = calculateProbabilityScoreRaw(hist);\n    return raw.map(x => x.n);\n}\n\n\/\/ --- HELPER 2: RAW SCORE CALCULATION (Returns Objects) ---\n\/\/ Used for UI Display & Math\nfunction calculateProbabilityScoreRaw(hist) {\n    const freqP = {};\n    const lastIdx = {};\n    \n    \/\/ Scan history\n    hist.forEach((n, idx) => {\n        freqP[n] = (freqP[n] || 0) + 1;\n        lastIdx[n] = idx;\n    });\n\n    const maxFreq = Math.max(...Object.values(freqP));\n    const currentIndex = hist.length - 1;\n\n    \/\/ Calculate Scores (0-100)\n    const scored = Object.keys(freqP).map(k => {\n        const n = parseInt(k);\n        const fNorm = maxFreq > 0 ? (freqP[k] \/ maxFreq) : 0;\n        \n        \/\/ Recency Score (Newer = Higher Score)\n        const age = currentIndex - lastIdx[k];\n        const ageNorm = currentIndex > 0 ? 1 - (age \/ currentIndex) : 1;\n        \n        \/\/ Final Weighted Score (60% Freq, 40% Recency)\n        \/\/ Adjust formula to penalize very old numbers slightly more\n        const score = Math.round(100 * (0.6 * fNorm + 0.4 * ageNorm));\n        \n        return { n: n, score: score };\n    });\n\n    \/\/ Sort by Score Descending & Take Top 10\n    return scored.sort((a,b) => b.score - a.score).slice(0, 10);\n}\n\nfunction copyToClipProb(str) {\n    navigator.clipboard.writeText(str);\n    alert(\"\ud83d\udcca Probability Numbers Copied!\");\n}\n         \n         \/\/ ====================================================\n\/\/ \ud83e\udd16 SUPER BOT SCANNER (AUTO-CLICK & ANALYZE)\n\/\/ ====================================================\n\nasync function runSuperBotScanner() {\n    \/\/ 1. Define List of Buttons to Scan (Logic Codes)\n    \/\/ Ye wo logics hain jo best hain aur table ko highlight karte hain\n    const scanList = [\n        { id: 'pressure_pro', name: '\ud83c\udf73 Pressure Cooker Pro' },\n        { id: 'dnahunter', name: '\ud83e\uddec DNA Hunter' },\n        { id: 'supreme', name: '\ud83d\uddf3\ufe0f Supreme Voting' },\n        { id: 'monthly_pro', name: '\ud83d\udcc5 Monthly DNA' },\n        { id: 'pairchain', name: '\ud83d\udd17 Chain Reaction' },\n        { id: 'hotcold', name: '\ud83d\udd25 Market Momentum' },\n        { id: 'repeat', name: '\ud83d\udd01 Repeat Radar' },\n        { id: 'jodi', name: '\ud83d\udd17 Jodi Linker' }\n    ];\n\n    const masterData = {}; \/\/ Yahan sabhi numbers store honge\n    let scanLog = \"\"; \/\/ Log dikhane ke liye\n\n    \/\/ UI: Show Scanning Overlay\n    logicChartShowPopup(\"\ud83e\udd16 BOT STARTED: Initializing Scan...\");\n    logicChartUpdateResult(\n        \"\ud83e\udd16 SYSTEM SCANNING...\", \n        `<div style=\"text-align:center; padding:20px;\">\n            <div style=\"font-size:20px; font-weight:bold; color:#00d2ff; margin-bottom:10px;\">PLEASE WAIT<\/div>\n            <div style=\"font-size:12px; color:#ccc;\">AI is scanning all logic modules...<\/div>\n            <div id=\"scanStatus\" style=\"margin-top:15px; font-family:monospace; color:#00e676;\"><\/div>\n        <\/div>`\n    );\n\n    \/\/ 2. LOOP THROUGH BUTTONS\n    for (let i = 0; i < scanList.length; i++) {\n        const item = scanList[i];\n        \n        \/\/ A. Visual Feedback (Update Status)\n        const statusDiv = document.getElementById('scanStatus');\n        if(statusDiv) statusDiv.innerHTML = `Running Module: ${item.name}... (${i+1}\/${scanList.length})`;\n\n        \/\/ B. Run the Logic (Simulate Click Logic)\n        \/\/ Note: Hum seedha function call kar rahe hain par visual effect ke liye delay denge\n        \n        \/\/ Find button in DOM to verify functionality (Optional visual effect on button)\n        \/\/ Hum logicChartApplyLogic ya specific function call karenge\n        if(item.id === 'pressure_pro') logicPressureCookerPro();\n        else if(item.id === 'dnahunter') logicDNAHunterAnalysisPro();\n        else if(item.id === 'supreme') logicSupremeVotingSystem();\n        else logicChartApplyLogic(item.id);\n\n        \/\/ C. Wait for UI to update (0.5 seconds)\n        await new Promise(r => setTimeout(r, 500));\n\n        \/\/ D. Scrape the Table (Extract Highlighted Numbers)\n        const highlighted = extractHighlightedNumbersFromTable();\n        \n        \/\/ E. Store Data\n        highlighted.forEach(num => {\n            if(!masterData[num]) {\n                masterData[num] = { count: 0, sources: [] };\n            }\n            masterData[num].count++;\n            masterData[num].sources.push(item.name);\n        });\n\n        \/\/ F. Clear Table for next run (Visual cleanup)\n        \/\/ (Optional: agar aap chahte hain har step dikhe to clear na karein, \n        \/\/ lekin accurate data ke liye clear karna better hai, par hum \"overwrite\" kar rahe hain waise bhi)\n    }\n\n    \/\/ 3. GENERATE FINAL REPORT\n    generateSuperBotReport(masterData);\n}\n\n\/\/ --- HELPER: Scrape Numbers from Table ---\nfunction extractHighlightedNumbersFromTable() {\n    const foundNumbers = [];\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    \n    cells.forEach(td => {\n        if(td.cellIndex === 0) return; \/\/ Skip Sr No.\n        \n        \/\/ Check if cell is highlighted (Background color or Class)\n        const style = window.getComputedStyle(td);\n        const bgColor = style.backgroundColor; \/\/ returns rgb(...)\n        const hasClass = td.className.includes('highlight');\n        \n        \/\/ Check rgb value (Not white\/transparent)\n        \/\/ Typically white is rgb(255, 255, 255) or rgba(0, 0, 0, 0)\n        const isColored = bgColor !== 'rgb(255, 255, 255)' && bgColor !== 'rgba(0, 0, 0, 0)' && bgColor !== 'transparent';\n\n        if (isColored || hasClass) {\n            const val = parseInt(td.textContent.trim());\n            if(!isNaN(val)) foundNumbers.push(val);\n        }\n    });\n\n    \/\/ Return unique numbers found in this pass\n    return [...new Set(foundNumbers)];\n}\n\n\/\/ --- FINAL REPORT GENERATOR ---\nfunction generateSuperBotReport(data) {\n    \/\/ Convert object to array for sorting\n    const resultArr = Object.entries(data).map(([n, info]) => ({\n        n: n.toString().padStart(2,'0'),\n        count: info.count,\n        sources: info.sources\n    }));\n\n    \/\/ Sort: Jiske sources zyada hain, wo upar\n    resultArr.sort((a,b) => b.count - a.count);\n\n    \/\/ Filtering Categories\n    const superSolid = resultArr.filter(x => x.count >= 4);\n    const strong = resultArr.filter(x => x.count === 3);\n    const medium = resultArr.filter(x => x.count === 2);\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        <div style=\"background:#001529; border:2px solid #00d2ff; border-radius:10px; padding:15px; margin-bottom:15px; box-shadow:0 0 20px rgba(0, 210, 255, 0.2);\">\n            <div style=\"text-align:center; border-bottom:1px dashed #00d2ff; padding-bottom:10px; margin-bottom:15px;\">\n                <h2 style=\"margin:0; color:#fff;\">\ud83e\udd16 SUPER BOT REPORT<\/h2>\n                <div style=\"font-size:12px; color:#00e676;\">SCAN COMPLETE \u2705<\/div>\n            <\/div>\n\n            <div style=\"margin-bottom:20px;\">\n                <div style=\"font-size:14px; font-weight:bold; color:#ffd700; margin-bottom:5px;\">\ud83d\udd25 MAHA SOLID (Super Game)<\/div>\n                <div style=\"display:flex; flex-wrap:wrap; gap:8px;\">\n                    ${superSolid.length > 0 ? superSolid.map(item => `\n                        <div style=\"background:linear-gradient(45deg, #FFD700, #FF8C00); color:#000; padding:8px 12px; border-radius:6px; font-weight:bold; box-shadow:0 0 10px #FFD700; text-align:center;\">\n                            <div style=\"font-size:20px;\">${item.n}<\/div>\n                            <div style=\"font-size:10px; opacity:0.8;\">${item.count} Logics<\/div>\n                        <\/div>\n                    `).join('') : '<div style=\"color:#666;\">No Super Match found today.<\/div>'}\n                <\/div>\n            <\/div>\n\n            <div style=\"margin-bottom:20px;\">\n                <div style=\"font-size:14px; font-weight:bold; color:#00e676; margin-bottom:5px;\">\u2b50\ufe0f STRONG (Recommended)<\/div>\n                <div style=\"display:flex; flex-wrap:wrap; gap:6px;\">\n                    ${strong.length > 0 ? strong.map(item => `\n                        <div style=\"background:#003300; border:1px solid #00e676; color:#fff; padding:5px 10px; border-radius:5px; text-align:center;\">\n                            <div style=\"font-size:16px; font-weight:bold;\">${item.n}<\/div>\n                            <div style=\"font-size:9px; color:#aaa;\">3 Logics<\/div>\n                        <\/div>\n                    `).join('') : '<div style=\"color:#666;\">None.<\/div>'}\n                <\/div>\n            <\/div>\n\n            <div>\n                <div style=\"font-size:14px; font-weight:bold; color:#00bfff; margin-bottom:5px;\">\u26a0\ufe0f RECOVERY \/ SUPPORT<\/div>\n                <div style=\"font-size:12px; color:#ccc; line-height:1.6;\">\n                    ${medium.map(x => `<b>${x.n}<\/b>`).join(', ')}\n                <\/div>\n            <\/div>\n\n        <\/div>\n\n        <button onclick=\"copyToClipPro('${superSolid.map(x=>x.n).join(',')}')\" \n                style=\"width:100%; background:#fff; color:#000; border:none; padding:12px; border-radius:6px; font-weight:bold; cursor:pointer; font-size:16px;\">\n            \ud83d\udccb COPY SUPER GAME\n        <\/button>\n        \n        <div style=\"margin-top:15px; font-size:10px; color:#888; text-align:center;\">\n            *Analysis based on auto-scan of 8 advanced logic modules.\n        <\/div>\n    <\/div>\n    `;\n\n    logicChartUpdateResult('\ud83e\udd16 FINAL BOT NICHOOD', html);\n    logicChartAddLegend('#FFD700', 'Super Bot Pick');\n    logicChartShowPopup(\"\u2705 SCAN FINISHED: Report Generated!\");\n    \n    \/\/ Final Visual Cleanup\n    logicChartClearHighlights();\n    \/\/ Highlight Only Super Solid on Table\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    const superNums = superSolid.map(x=>parseInt(x.n));\n    cells.forEach(td => {\n        if(td.cellIndex > 0 && superNums.includes(parseInt(td.textContent))) {\n            td.style.backgroundColor = '#FFD700';\n            td.style.color = '#000';\n            td.style.fontWeight = 'bold';\n            td.style.boxShadow = '0 0 10px #FFD700';\n        }\n    });\n}\n         \/\/ ====================================================\n\/\/ \ud83c\udf73 PRESSURE COOKER PRO (NEW SEPARATE LOGIC)\n\/\/ ====================================================\n\nfunction logicPressureCookerPro() {\n    \/\/ 1. Setup\n    logicChartClearHighlights();\n    const allNumbers = window.logicChartMeta?.timeline || [];\n\n    if (!allNumbers || allNumbers.length < 100) {\n        logicChartUpdateResult(\"Pressure Cooker Pro\", \"\u274c Data Analysis ke liye kam se kam 100 records chahiye.\");\n        return;\n    }\n\n    \/\/ 2. BACKTESTING ENGINE (Pichle 1 saal ka hisab)\n    const decayRate = 0.96; \n    let wins100 = 0;\n    let winsYear = 0;\n    const checkLimit = Math.min(allNumbers.length - 1, 365); \/\/ Max 1 year check\n    \n    \/\/ History Check Loop\n    for(let i = 1; i <= checkLimit; i++) {\n        const targetIndex = allNumbers.length - i;\n        const actualResult = allNumbers[targetIndex];\n        \n        \/\/ Uss din tak ka data lo\n        const historicData = allNumbers.slice(0, targetIndex);\n        if(historicData.length < 50) continue;\n\n        \/\/ Calculate Stats for that day\n        const pastStats = calculatePressureStatsPro(historicData, decayRate);\n        \n        \/\/ Check if Low\/Medium hit\n        const isLow = pastStats.categories.low.some(x => parseInt(x.n) === actualResult);\n        \n        if(isLow) {\n            winsYear++;\n            if(i <= 100) wins100++;\n        }\n    }\n\n    \/\/ Percentages\n    const rate100 = Math.round((wins100 \/ Math.min(checkLimit, 100)) * 100);\n    const rateYear = Math.round((winsYear \/ checkLimit) * 100);\n\n    \/\/ 3. CURRENT PREDICTION (Aaj ke liye)\n    const currentStats = calculatePressureStatsPro(allNumbers, decayRate);\n    const cats = currentStats.categories;\n\n    \/\/ Formatting for Copy Button\n    const lowStr = cats.low.map(x=>x.n).join(',');\n    const medStr = cats.medium.map(x=>x.n).join(',');\n\n    \/\/ 4. Highlight Table\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = td.textContent.trim();\n        if(cats.low.some(x=>x.n === val)) {\n            td.style.backgroundColor = '#4CAF50'; \/\/ Low = Green\n            td.style.color = '#fff';\n            td.style.fontWeight = 'bold';\n        } else if(cats.veryHigh.some(x=>x.n === val)) {\n            td.style.backgroundColor = '#9C27B0'; \/\/ Very High = Purple\n            td.style.color = '#fff';\n        }\n    });\n\n    \/\/ 5. GENERATE PRO REPORT HTML\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:linear-gradient(to right, #1a0000, #330000); border:1px solid #ff4444; border-radius:10px; padding:15px; margin-bottom:15px;\">\n            <div style=\"font-size:16px; font-weight:bold; color:#ff8888; border-bottom:1px dashed #ff4444; padding-bottom:5px; margin-bottom:10px;\">\n                \ud83d\ude80 PRESSURE COOKER PRO ANALYTICS\n            <\/div>\n            <div style=\"display:flex; justify-content:space-around; text-align:center;\">\n                <div>\n                    <div style=\"font-size:10px; color:#aaa;\">LAST 100 DRAWS<\/div>\n                    <div style=\"font-size:24px; font-weight:bold; color:${rate100>35?'#00e676':'#ffcc00'};\">${rate100}%<\/div>\n                    <div style=\"font-size:9px; color:#888;\">Passing Rate<\/div>\n                <\/div>\n                <div style=\"width:1px; background:#555;\"><\/div>\n                <div>\n                    <div style=\"font-size:10px; color:#aaa;\">YEARLY AVG<\/div>\n                    <div style=\"font-size:24px; font-weight:bold; color:#00bfff;\">${rateYear}%<\/div>\n                    <div style=\"font-size:9px; color:#888;\">Consistency<\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div style=\"background:#051a05; border:1px solid #00e676; border-radius:8px; padding:12px; margin-bottom:12px;\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;\">\n                <span style=\"color:#00e676; font-weight:bold;\">\ud83d\udfe2 BEST TARGETS (Low Pressure)<\/span>\n                <span style=\"font-size:10px; background:#00e676; color:#000; padding:2px 6px; border-radius:4px;\">${cats.low.length} Jodi<\/span>\n            <\/div>\n            <div style=\"font-family:monospace; font-size:14px; color:#fff; word-spacing:5px;\">\n                ${cats.low.map(x=>x.n).join(', ')}\n            <\/div>\n            <button onclick=\"copyToClipPro('${lowStr}')\" style=\"margin-top:12px; width:100%; background:#006400; color:#fff; border:none; padding:10px; border-radius:5px; font-weight:bold; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:5px;\">\n                \ud83d\udccb COPY LOW NUMBERS\n            <\/button>\n        <\/div>\n\n        <div style=\"background:#1a1200; border:1px solid #ff9800; border-radius:8px; padding:12px; margin-bottom:12px;\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;\">\n                <span style=\"color:#ff9800; font-weight:bold;\">\ud83d\udfe0 SUPPORT (Medium Pressure)<\/span>\n                <span style=\"font-size:10px; background:#ff9800; color:#000; padding:2px 6px; border-radius:4px;\">${cats.medium.length} Jodi<\/span>\n            <\/div>\n            <div style=\"font-family:monospace; font-size:13px; color:#ccc;\">\n                ${cats.medium.map(x=>x.n).join(', ')}\n            <\/div>\n            <button onclick=\"copyToClipPro('${medStr}')\" style=\"margin-top:12px; width:100%; background:#804d00; color:#fff; border:none; padding:8px; border-radius:5px; font-weight:bold; cursor:pointer; font-size:11px;\">\n                \ud83d\udccb COPY MEDIUM NUMBERS\n            <\/button>\n        <\/div>\n\n        <div style=\"padding:10px; background:#111; border-radius:5px; text-align:center;\">\n            <span style=\"color:#f44336; font-size:11px;\">\u26a0\ufe0f <strong>High Pressure Zone:<\/strong> ${cats.veryHigh.length} Numbers (Avoid Trading)<\/span>\n        <\/div>\n\n    <\/div>\n    `;\n\n    logicChartUpdateResult('Pressure Cooker Pro', html);\n    logicChartAddLegend('#4CAF50', 'Pro Target (Low)');\n    logicChartShowPopup(`\ud83c\udf73 Pro Analysis: ${cats.low.length} Best Targets Found!`);\n}\n\n\/\/ --- HELPER 1: Calculation Logic (Private for Pro) ---\nfunction calculatePressureStatsPro(dataSeq, decay) {\n    const frequencyMap = {};\n    let totalWeight = 0;\n    const totalDraws = dataSeq.length;\n\n    dataSeq.forEach((num, index) => {\n        const age = totalDraws - 1 - index;\n        const weight = Math.pow(decay, age);\n        const sNum = num.toString().padStart(2,'0');\n        frequencyMap[sNum] = (frequencyMap[sNum] || 0) + weight;\n        totalWeight += weight;\n    });\n\n    const maxFreq = Math.max(...Object.values(frequencyMap));\n    const cats = { low:[], medium:[], high:[], veryHigh:[] };\n\n    for(let i=0; i<100; i++) {\n        const n = i.toString().padStart(2,'0');\n        const freq = frequencyMap[n] || 0;\n        const score = maxFreq > 0 ? (freq \/ maxFreq) * 100 : 0;\n        \n        const obj = { n: n, s: score };\n        \n        if(score <= 25) cats.low.push(obj);\n        else if(score <= 50) cats.medium.push(obj);\n        else if(score <= 75) cats.high.push(obj);\n        else cats.veryHigh.push(obj);\n    }\n    \n    \/\/ Sort Low by score ASC (Best first)\n    cats.low.sort((a,b) => a.s - b.s);\n    return { categories: cats };\n}\n\n\/\/ --- HELPER 2: Copy Function (Private for Pro) ---\nfunction copyToClipPro(text) {\n    if(!text) { alert('No numbers!'); return; }\n    navigator.clipboard.writeText(text).then(() => {\n        \/\/ Custom Toast Notification\n        let toast = document.createElement(\"div\");\n        toast.style.position = \"fixed\";\n        toast.style.bottom = \"20px\";\n        toast.style.left = \"50%\";\n        toast.style.transform = \"translateX(-50%)\";\n        toast.style.backgroundColor = \"#00e676\";\n        toast.style.color = \"#000\";\n        toast.style.padding = \"10px 20px\";\n        toast.style.borderRadius = \"20px\";\n        toast.style.fontWeight = \"bold\";\n        toast.style.boxShadow = \"0 0 10px #00e676\";\n        toast.style.zIndex = \"10002\";\n        toast.innerText = \"\u2705 Numbers Copied Successfully!\";\n        document.body.appendChild(toast);\n        setTimeout(() => toast.remove(), 2000);\n    });\n}\n         \/\/ \ud83d\uddf3\ufe0f SUPREME VOTING SYSTEM (Master + AI Merged)\n        function logicSupremeVotingSystem() {\n            logicChartClearHighlights();\n            const allNums = logicChartGetValidNumbers();\n            \n            if(allNums.length < 20) {\n                logicChartUpdateResult('Supreme Voting', 'Data too short for voting.');\n                return;\n            }\n\n            \/\/ --- THE 5 VOTERS ---\n\n            \/\/ 1. Frequency Voter (Overall Hot)\n            const freq = {};\n            allNums.forEach(n => freq[n] = (freq[n]||0)+1);\n            const voteFreq = Object.entries(freq).sort((a,b)=>b[1]-a[1]).slice(0,8).map(x=>parseInt(x[0]));\n\n            \/\/ 2. Trend Voter (Last 15 Draws Hot)\n            const recent = allNums.slice(-15);\n            const freqRecent = {};\n            recent.forEach(n => freqRecent[n] = (freqRecent[n]||0)+1);\n            const voteTrend = Object.entries(freqRecent).sort((a,b)=>b[1]-a[1]).slice(0,8).map(x=>parseInt(x[0]));\n\n            \/\/ 3. DNA\/Follower Voter (Based on Last Result)\n            const lastNum = allNums[allNums.length-1];\n            let followers = {};\n            for(let i=0; i<allNums.length-1; i++){\n                if(allNums[i] === lastNum) {\n                    let next = allNums[i+1];\n                    followers[next] = (followers[next]||0)+1;\n                }\n            }\n            const voteDNA = Object.entries(followers).sort((a,b)=>b[1]-a[1]).slice(0,6).map(x=>parseInt(x[0]));\n\n            \/\/ 4. Pattern Voter (Gap Logic)\n            const votePattern = [];\n            if(allNums.length > 5) {\n                let l = allNums[allNums.length-1];\n                let sl = allNums[allNums.length-2];\n                let diff = l - sl;\n                votePattern.push((l + diff + 100) % 100); \/\/ Sequence\n                votePattern.push((l + 1) % 100); \/\/ Next\n                votePattern.push((l - 1 + 100) % 100); \/\/ Prev\n                votePattern.push(parseInt(l.toString().split('').reverse().join(''))); \/\/ Mirror\n            }\n\n            \/\/ 5. Gap Voter (Recovery Numbers)\n            const lastSeen = {};\n            allNums.forEach((n,i) => lastSeen[n] = i);\n            const gaps = [];\n            for(let i=0; i<100; i++) {\n                if(lastSeen[i] !== undefined) gaps.push({n:i, gap: allNums.length-1-lastSeen[i]});\n            }\n            \/\/ Only pick medium gaps (not dead numbers, not fresh numbers) - Sweet spot 10-25 days\n            const voteGap = gaps.filter(x => x.gap >= 10 && x.gap <= 30).slice(0,6).map(x=>x.n);\n\n            \/\/ --- TALLY VOTES ---\n            \n            const voteBox = {}; \/\/ Stores { count: 0, reasons: [] }\n            \n            const castVote = (list, reason) => {\n                list.forEach(n => {\n                    if(!voteBox[n]) voteBox[n] = { count: 0, reasons: [] };\n                    voteBox[n].count++;\n                    if(!voteBox[n].reasons.includes(reason)) voteBox[n].reasons.push(reason);\n                });\n            };\n\n            castVote(voteFreq, \"\ud83d\udd25 Freq\");\n            castVote(voteTrend, \"\u26a1 Trend\");\n            castVote(voteDNA, \"\ud83e\uddec DNA\");\n            castVote(votePattern, \"\ud83d\udcd0 Patt\");\n            castVote(voteGap, \"\u26a0\ufe0f Gap\");\n\n            \/\/ Sort by Votes\n            const finalResults = Object.entries(voteBox)\n                .map(([n, data]) => ({ n: parseInt(n), ...data }))\n                .sort((a,b) => b.count - a.count);\n\n            const supreme = finalResults.filter(x => x.count >= 3); \/\/ 3+ Votes\n            const strong = finalResults.filter(x => x.count === 2); \/\/ 2 Votes\n\n            \/\/ --- DISPLAY ---\n            \n            const cells = document.querySelectorAll('#chartTable tbody td');\n            cells.forEach(td => {\n                let val = parseInt(td.textContent);\n                if(supreme.some(s => s.n === val)) td.className = 'highlight-supreme';\n                else if(strong.some(s => s.n === val)) td.className = 'highlight-strong';\n            });\n\n            let h = `<div style=\"font-family:'Segoe UI',sans-serif; background:#0f0c29; color:#fff; padding:15px; border-radius:8px; border:2px solid #6200ea;\">`;\n            \n            h += `<div style=\"text-align:center; border-bottom:1px solid #444; padding-bottom:10px; margin-bottom:10px;\">\n                    <h3 style=\"margin:0; color:#00ffd5;\">\ud83d\uddf3\ufe0f SUPREME AI VOTING<\/h3>\n                    <div style=\"font-size:11px; color:#aaa;\">Combining 5 Logic Engines<\/div>\n                  <\/div>`;\n\n            \/\/ Supreme Section\n            if(supreme.length > 0) {\n                h += `<div style=\"margin-bottom:15px;\">\n                        <div style=\"color:#ffd700; font-weight:bold; font-size:14px;\">\ud83d\udc51 SUPREME CANDIDATES (3+ Votes)<\/div>\n                        <div style=\"display:flex; flex-wrap:wrap; gap:8px; margin-top:5px;\">`;\n                supreme.forEach(item => {\n                    h += `<div style=\"background:linear-gradient(45deg, #6200ea, #3700b3); padding:5px 10px; border-radius:5px; border:1px solid #00ffd5; box-shadow:0 0 5px #6200ea;\">\n                            <div style=\"font-size:18px; font-weight:bold; color:#fff; text-align:center;\">${item.n.toString().padStart(2,'0')}<\/div>\n                            <div style=\"font-size:9px; color:#00ffd5; text-align:center;\">${item.count} Votes<\/div>\n                            <div style=\"font-size:8px; color:#ccc; text-align:center;\">${item.reasons.join('+')}<\/div>\n                          <\/div>`;\n                });\n                h += `<\/div><\/div>`;\n            }\n\n            \/\/ Strong Section\n            if(strong.length > 0) {\n                h += `<div>\n                        <div style=\"color:#2979ff; font-weight:bold; font-size:13px;\">\ud83d\udcaa STRONG BACKUP (2 Votes)<\/div>\n                        <div style=\"font-size:12px; color:#ddd; margin-top:3px;\">\n                            ${strong.slice(0,10).map(s => `<b>${s.n.toString().padStart(2,'0')}<\/b> (${s.reasons.join(',')})`).join(' | ')}\n                        <\/div>\n                      <\/div>`;\n            }\n\n            h += `<\/div>`;\n\n            logicChartUpdateResult('Supreme Voting Result', h);\n            logicChartAddLegend('#6200ea', 'Supreme (3+ Votes)');\n            logicChartAddLegend('#304ffe', 'Strong (2 Votes)');\n            logicChartShowPopup(`\ud83d\uddf3\ufe0f Voting Complete: Found ${supreme.length} Supreme Numbers`);\n        }\n        \/\/ Helper function for DNA Logic\n        function getDNAPredictions(arr, lastIdx) {\n            if(lastIdx < 5) return [];\n            const target = arr[lastIdx];\n            \n            \/\/ 1. Clone Logic (History Replay)\n            let clones = [];\n            for(let i=0; i<lastIdx; i++){\n                if(arr[i] === target && i+1 <= lastIdx) {\n                    clones.push(arr[i+1]);\n                }\n            }\n            \n            \/\/ 2. Vector Logic\n            const last5 = arr.slice(lastIdx-4, lastIdx+1);\n            let diffSum = 0;\n            if(last5.length >= 2) {\n                for(let i=1; i<last5.length; i++) diffSum += (last5[i] - last5[i-1]);\n                const avgMove = Math.round(diffSum \/ (last5.length - 1));\n                const vectorPred = (target + avgMove + 100) % 100;\n                clones.push(vectorPred);\n            }\n\n            \/\/ Return unique top 6\n            return [...new Set(clones)].slice(0, 6);\n        }\n                \/\/ =============================================\n        \/\/ NEW FUNCTIONS FOR ALL LOGICS OVERVIEW\n        \/\/ =============================================\n        \n        \/\/ \u091f\u0948\u092c \u0938\u094d\u0935\u093f\u091a \u0915\u0930\u0928\u0947 \u0915\u093e \u092b\u0902\u0915\u094d\u0936\u0928\n        function switchTesterTab(tabName) {\n            const overviewTab = document.getElementById('overviewTab');\n            const testTab = document.getElementById('testTab');\n            const tabOverviewBtn = document.getElementById('tabOverview');\n            const tabTestBtn = document.getElementById('tabTest');\n            \n            if (tabName === 'overview') {\n                overviewTab.style.display = 'block';\n                testTab.style.display = 'none';\n                tabOverviewBtn.style.background = '#ffd700';\n                tabOverviewBtn.style.color = '#000';\n                tabTestBtn.style.background = '#333';\n                tabTestBtn.style.color = '#fff';\n                loadAllLogicsOverview();\n            } else {\n                overviewTab.style.display = 'none';\n                testTab.style.display = 'block';\n                tabTestBtn.style.background = '#ffd700';\n                tabTestBtn.style.color = '#000';\n                tabOverviewBtn.style.background = '#333';\n                tabOverviewBtn.style.color = '#fff';\n                \n                \/\/ Focus on input\n                setTimeout(() => {\n                    const input = document.getElementById('testNumberInput');\n                    if (input) input.focus();\n                }, 100);\n            }\n        }\n\n        \/\/ \u0938\u092d\u0940 \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0915\u093e \u0913\u0935\u0930\u0935\u094d\u092f\u0942 \u0932\u094b\u0921 \u0915\u0930\u0947\u0902\n        function loadAllLogicsOverview() {\n            const container = document.getElementById('allLogicsContainer');\n            if (!container) return;\n            \n            container.innerHTML = '<div style=\"text-align:center;padding:20px;color:#ccc;\">Loading predictions...<\/div>';\n            \n            \/\/ Get current year data\n            const currentYearNumbers = logicChartGetValidNumbers();\n            \n            if (currentYearNumbers.length === 0) {\n                container.innerHTML = '<div style=\"text-align:center;padding:20px;color:#f44336;\">No data available<\/div>';\n                return;\n            }\n            \n            \/\/ \u0938\u092d\u0940 \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0915\u0940 \u0932\u093f\u0938\u094d\u091f - \u0906\u092a\u0915\u0947 \u0938\u092d\u0940 \u092c\u091f\u0928\u094d\u0938\n            const allLogicsList = [\n                { name: \"\ud83d\udd34 Taak Logic\", logic: 'taak' },\n                { name: \"\ud83d\udfe2 Jufat Logic\", logic: 'jufat' },\n                { name: \"\ud83d\udd25 Hot Numbers\", logic: 'hot' },\n                { name: \"\u2744\ufe0f Cold Numbers\", logic: 'cold' },\n                { name: \"\ud83d\udc51 Master Guess\", logic: 'master' },\n                { name: \"\ud83e\udd16 AI Prediction\", logic: 'ai' },\n                { name: \"\ud83e\udde0 AI Neural Burst\", logic: 'neural' },\n                { name: \"\u23ea Reverse Gap\", logic: 'reversegap' },\n                { name: \"\ud83d\udd22 End Digit Flow\", logic: 'enddigit' },\n                { name: \"\ud83d\udd17 Pair Chain\", logic: 'pairchain' },\n                { name: \"\ud83d\udcd0 Angle Predictor\", logic: 'angle' },\n                { name: \"\ud83d\udd04 Cycle Breaker\", logic: 'cyclebreaker' }\n            ];\n            \n            let html = '';\n            let logicCount = 0;\n            \n            allLogicsList.forEach(logicItem => {\n                try {\n                    \/\/ Get predictions for this logic\n                    let predictions = [];\n                    \n                    \/\/ \u092f\u0939\u093e\u0901 \u0939\u0930 \u0932\u0949\u091c\u093f\u0915 \u0915\u0947 \u0932\u093f\u090f \u0905\u092a\u0928\u093e prediction algorithm \u0921\u093e\u0932\u0947\u0902\n                    \/\/ \u0909\u0926\u093e\u0939\u0930\u0923 \u0915\u0947 \u0932\u093f\u090f Taak Logic:\n                    if (logicItem.logic === 'taak') {\n                        const freq = {};\n                        currentYearNumbers.forEach(n => freq[n] = (freq[n] || 0) + 1);\n                        const odds = Object.keys(freq).map(Number).filter(n => n % 2 !== 0);\n                        const sorted = odds.sort((a,b) => freq[b] - freq[a]);\n                        predictions = sorted.slice(0, 6);\n                    }\n                    \/\/ \u0905\u0928\u094d\u092f \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0915\u0947 \u0932\u093f\u090f \u092d\u0940 \u0910\u0938\u0947 \u0939\u0940...\n                    else {\n                        \/\/ Default: random numbers for demo\n                        predictions = Array.from({length: 6}, (_, i) => \n                            Math.floor(Math.random() * 100)\n                        );\n                    }\n                    \n                    logicCount++;\n                    \n                    html += `\n                        <div style=\"\n                            background: rgba(255,255,255,0.05);\n                            border: 1px solid #444;\n                            border-radius: 8px;\n                            padding: 15px;\n                            transition: all 0.3s;\n                            cursor: pointer;\n                        \" \n                        onclick=\"testSpecificNumber('${predictions[0] ? predictions[0].toString().padStart(2, '0') : '00'}')\"\n                        onmouseover=\"this.style.background='rgba(255,215,0,0.1)'; this.style.borderColor='#ffd700';\"\n                        onmouseout=\"this.style.background='rgba(255,255,255,0.05)'; this.style.borderColor='#444';\">\n                            \n                            <div style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;\">\n                                <div style=\"font-weight: bold; font-size: 16px; color: #ffd700;\">\n                                    ${logicItem.name}\n                                <\/div>\n                                <div style=\"font-size: 11px; background: #333; padding: 3px 8px; border-radius: 10px;\">\n                                    ${predictions.length} predictions\n                                <\/div>\n                            <\/div>\n                            \n                            <div style=\"display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px;\">\n                    `;\n                    \n                    predictions.forEach(num => {\n                        const numStr = num.toString().padStart(2, '0');\n                        html += `\n                            <span style=\"\n                                background: #222;\n                                color: #4CAF50;\n                                padding: 4px 8px;\n                                border-radius: 4px;\n                                font-size: 12px;\n                                font-weight: bold;\n                                border: 1px solid #4CAF50;\n                                cursor: pointer;\n                            \"\n                            onclick=\"event.stopPropagation(); testSpecificNumber('${numStr}')\"\n                            title=\"Click to test ${numStr}\">\n                                ${numStr}\n                            <\/span>\n                        `;\n                    });\n                    \n                    html += `\n                            <\/div>\n                            \n                            <div style=\"margin-top: 10px; font-size: 11px; color: #666; text-align: right;\">\n                                Click any number to test it\n                            <\/div>\n                        <\/div>\n                    `;\n                    \n                } catch (e) {\n                    console.error(`Error in ${logicItem.name}:`, e);\n                }\n            });\n            \n            \/\/ Update container\n            container.innerHTML = html;\n            \n            \/\/ Update count\n            const countElement = document.getElementById('totalLogicsCount');\n            if (countElement) {\n                countElement.textContent = logicCount;\n            }\n        }\n\n        \/\/ \u0913\u0935\u0930\u0935\u094d\u092f\u0942 \u0938\u0947 \u0928\u0902\u092c\u0930 \u091f\u0947\u0938\u094d\u091f \u0915\u0930\u0947\u0902\n        function testSpecificNumber(number) {\n            \/\/ Switch to test tab\n            switchTesterTab('test');\n            \n            \/\/ Set number in input\n            const input = document.getElementById('testNumberInput');\n            if (input) {\n                input.value = number;\n            }\n            \n            \/\/ Run test after a short delay\n            setTimeout(() => {\n                logicChartRunTester();\n            }, 300);\n        }\n        \n        \n        \/\/ \u091f\u0947\u0938\u094d\u091f\u0930 \u092e\u094b\u0921\u0932 \u092c\u0902\u0926 \u0915\u0930\u0928\u0947 \u0915\u093e \u092b\u0902\u0915\u094d\u0936\u0928\nfunction logicChartCloseTesterModal() {\n    const modal = document.getElementById('logicTesterModal');\n    if (modal) {\n        modal.remove();\n    }\n}\n\n        \/\/ END OF logicChartApplyLogic function\n\/\/ ====================================================\n\/\/ \ud83c\udf73 PRESSURE COOKER SYSTEM - UPDATED WITH CI, STREAKS, & CONCISE REPORT\n\/\/ ====================================================\n\n\/\/ 1. FIRST: Add the button in HTML section\n\/\/    Go to Group-C Ultra Advanced Buttons section and add this button:\n\/\/    <button class=\"logic-btn\" style=\"background:#d32f2f;color:white;\" type=\"button\" onclick=\"logicChartApplyLogic('pressurecooker')\">\ud83c\udf73 Pressure Cooker<\/button>\n\n\/\/ 2. SECOND: Add CSS classes in style section\n\/\/    Add these lines in CSS:\n\/\/    .highlight-lowpressure { background-color: #4CAF50 !important; color: #fff; font-weight: bold; }\n\/\/    .highlight-mediumpressure { background-color: #FF9800 !important; color: #fff; }\n\/\/    .highlight-highpressure { background-color: #F44336 !important; color: #fff; }\n\/\/    .highlight-veryhighpressure { background-color: #9C27B0 !important; color: #fff; }\n\/\/    .ci-low { border-left: 3px solid #FF9800; } \/* For low conf *\/\n\n\/\/ 3. THIRD: Add this complete JavaScript code at the END of your existing JavaScript\n\n\/\/ PRESSURE COOKER HELPER FUNCTION\nfunction testPressureNumber(number) {\n    console.log(\"Testing pressure number:\", number);\n    \n    \/\/ Check if tester modal exists\n    const modal = document.getElementById('logicTesterModal');\n    const input = document.getElementById('testNumberInput');\n    \n    if (modal && input) {\n        \/\/ Switch to test tab\n        const overviewTab = document.getElementById('overviewTab');\n        const testTab = document.getElementById('testTab');\n        \n        if (overviewTab && testTab) {\n            overviewTab.style.display = 'none';\n            testTab.style.display = 'block';\n        }\n        \n        \/\/ Set number in input\n        input.value = number;\n        \n        \/\/ Run test after delay\n        setTimeout(() => {\n            if (typeof logicChartRunTester === 'function') {\n                logicChartRunTester();\n            } else {\n                alert(\"Tester function not available. Please click TESTER button first.\");\n            }\n        }, 500);\n    } else {\n        alert(`Selected number: ${number}\\n\\n\ud83c\udf73 This is a LOW PRESSURE number (Game owner's likely choice)\\n\\nUse TESTER button for detailed analysis.`);\n    }\n}\n\n\/\/ Poisson CI Approximation (JS port)\nfunction poissonCI(freq, totalWeight, confidence = 0.95) {\n    if (freq === 0) {\n        return { lower: 0, upper: 0, conf: 'low' };\n    }\n    const lambda = freq \/ totalWeight;\n    const z = 1.96; \/\/ 95% CI\n    const lower = Math.max(0, lambda - z * Math.sqrt(lambda \/ totalWeight));\n    const upper = lambda + z * Math.sqrt(lambda \/ totalWeight);\n    const confLevel = lower > 0.1 * lambda ? 'high' : (lower > 0 ? 'medium' : 'low');\n    return { lower: lower * totalWeight, upper: upper * totalWeight, conf: confLevel };\n}\n\n\/\/ PRESSURE COOKER MAIN FUNCTION (UPDATED WITH CI & STREAKS)\nfunction logicPressureCookerAnalysis() {\n    console.log(\"Starting Pressure Cooker Analysis with CI & Streaks...\");\n    \n    \/\/ Clear previous highlights\n    if (typeof logicChartClearHighlights === 'function') {\n        logicChartClearHighlights();\n    }\n    \n    \/\/ Get all historical data\n    const allNumbers = window.logicChartMeta?.timeline || [];\n    \n    if (!allNumbers || allNumbers.length === 0) {\n        if (typeof logicChartUpdateResult === 'function') {\n            logicChartUpdateResult(\"Pressure Cooker\", \"\u274c No historical data available for analysis.\");\n        }\n        if (typeof logicChartShowPopup === 'function') {\n            logicChartShowPopup(\"No data available\");\n        }\n        return;\n    }\n    \n    const totalDraws = allNumbers.length;\n    \n    \/\/ ADAPTIVE DECAY RATE\n    const decayRate = totalDraws > 1000 ? 0.98 : (totalDraws > 100 ? 0.95 : 0.92);\n    console.log(`Adaptive decay rate: ${decayRate} (for ${totalDraws} draws)`);\n    \n    \/\/ WEIGHTED FREQUENCY\n    const frequencyMap = {};\n    let totalWeight = 0;\n    \n    allNumbers.forEach((num, index) => {\n        const age = totalDraws - 1 - index;\n        const weight = Math.pow(decayRate, age);\n        frequencyMap[num] = (frequencyMap[num] || 0) + weight;\n        totalWeight += weight;\n    });\n    \n    const maxFrequency = Math.max(...Object.values(frequencyMap));\n    \n    \/\/ LAST POSITIONS FOR STREAKS\n    const lastPositions = {};\n    allNumbers.forEach((num, index) => {\n        lastPositions[num] = index;\n    });\n    \n    \/\/ Categorize with CI & Streak\n    const categories = {\n        low: [], medium: [], high: [], veryHigh: []\n    };\n    \n    for (let num = 0; num < 100; num++) {\n        const numStr = num.toString().padStart(2, '0');\n        const frequency = frequencyMap[numStr] || 0;\n        const pressureScore = maxFrequency > 0 ? Math.round((frequency \/ maxFrequency) * 100) : 0;\n        const ci = poissonCI(frequency, totalWeight);\n        const lastIndex = lastPositions[numStr] || -1;\n        const streak = lastIndex >= 0 ? totalDraws - lastIndex - 1 : totalDraws; \/\/ Consecutive misses\n        \n        const numberData = {\n            number: numStr,\n            frequency: frequency,\n            pressure: pressureScore,\n            ci_lower: ci.lower,\n            confidence: ci.conf,\n            streak: streak\n        };\n        \n        \/\/ Categorize (adjust score if low CI for lows)\n        let adjPressure = pressureScore;\n        if (pressureScore <= 25 && ci.lower < 0.5 * frequency) {\n            adjPressure = Math.min(pressureScore, 20); \/\/ Penalize low conf\n        }\n        \n        if (adjPressure <= 25) categories.low.push(numberData);\n        else if (adjPressure <= 50) categories.medium.push(numberData);\n        else if (adjPressure <= 75) categories.high.push(numberData);\n        else categories.veryHigh.push(numberData);\n    }\n    \n    \/\/ Sort: Lows by freq ASC then streak DESC; Others by freq DESC\n    categories.low.sort((a, b) => a.frequency - b.frequency || b.streak - a.streak);\n    categories.medium.sort((a, b) => a.frequency - b.frequency);\n    categories.high.sort((a, b) => b.frequency - a.frequency);\n    categories.veryHigh.sort((a, b) => b.frequency - a.frequency);\n    \n    \/\/ Generate concise HTML report\n    const reportHTML = generatePressureCookerHTML(categories, totalDraws, Math.round(totalWeight), decayRate);\n    \n    \/\/ Update display\n    if (typeof logicChartUpdateResult === 'function') {\n        logicChartUpdateResult(\"\ud83c\udf73 Pressure Cooker (CI + Streaks)\", reportHTML);\n    }\n    \n    \/\/ Highlight (add CI class for lows)\n    highlightPressureNumbers(categories);\n    \n    \/\/ Legend\n    if (typeof logicChartAddLegend === 'function') {\n        logicChartAddLegend('#4CAF50', 'Low Pressure (Owner Choice)');\n        logicChartAddLegend('#9C27B0', 'Very High (Overplayed)');\n    }\n    \n    \/\/ Popup\n    if (typeof logicChartShowPopup === 'function') {\n        logicChartShowPopup(`\ud83c\udf73 Analysis: ${categories.low.length} LOW pressure nums (top streaks prioritized).`);\n    }\n    \n    console.log(\"Analysis Complete!\");\n}\n\n\/\/ Concise HTML Report\nfunction generatePressureCookerHTML(categories, totalResults, effectiveSampleSize, decayRate) {\n    const topLow = categories.low.slice(0, 10); \/\/ Reduced to 10\n    const topVeryHigh = categories.veryHigh.slice(0, 5); \/\/ Reduced\n    \n    return `\n    <div style=\"font-family: 'Segoe UI', Arial, sans-serif; max-width: 100%;\">\n        <h3 style=\"color: #ffd700; border-bottom: 2px solid #ffd700; padding-bottom: 5px; margin-top: 0;\">\n            \ud83c\udf73 PRESSURE COOKER (CI + Streaks)\n        <\/h3>\n        <p style=\"color: #ccc; font-size: 13px; margin-bottom: 15px;\">\n            ${totalResults} results | Effective: ${effectiveSampleSize} (Decay: ${decayRate})\n        <\/p>\n        \n        <!-- Compact Stats -->\n        <div style=\"display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 15px;\">\n            ${['low', 'medium', 'high', 'veryHigh'].map(cat => `\n                <div style=\"background: rgba(${cat === 'low' ? '76,175,80' : cat === 'medium' ? '255,152,0' : cat === 'high' ? '244,67,54' : '156,39,176'},0.2); border: 1px solid ${cat === 'low' ? '#4CAF50' : cat === 'medium' ? '#FF9800' : cat === 'high' ? '#F44336' : '#9C27B0'}; border-radius: 6px; padding: 8px; text-align: center;\">\n                    <div style=\"color: ${cat === 'low' ? '#4CAF50' : cat === 'medium' ? '#FF9800' : cat === 'high' ? '#F44336' : '#9C27B0'}; font-weight: bold; font-size: 11px;\">${cat.toUpperCase().replace('VERYHIGH', 'V.HIGH')}<\/div>\n                    <div style=\"color: white; font-size: 18px; font-weight: bold;\">${categories[cat].length}<\/div>\n                <\/div>\n            `).join('')}\n        <\/div>\n        \n        <!-- LOW PRESSURE (Prioritized by Streak) -->\n        <div style=\"margin-bottom: 20px;\">\n            <div style=\"background: linear-gradient(135deg, #2E7D32 0%, #1B5E20 100%); color: white; padding: 10px; border-radius: 6px 6px 0 0; font-weight: bold; font-size: 14px;\">\n                \ud83c\udfaf LOW PRESSURE (Top Streaks)\n            <\/div>\n            <div style=\"background: rgba(46,125,50,0.1); border: 2px solid #2E7D32; border-top: none; border-radius: 0 0 6px 6px; padding: 12px;\">\n                <div style=\"display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px;\">\n                    ${topLow.map(item => `\n                        <div style=\"position: relative; ${item.confidence === 'low' ? 'ci-low' : ''}\" title=\"P:${item.pressure} | Streak:${item.streak} | Conf:${item.confidence}\">\n                            <div style=\"\n                                background: #4CAF50; color: white; width: 40px; height: 40px; border-radius: 50%;\n                                display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: bold;\n                                cursor: pointer; transition: 0.3s; box-shadow: 0 0 8px #4CAF50;\n                            \"\n                            onmouseover=\"this.style.transform='scale(1.1)'; this.style.boxShadow='0 0 16px #4CAF50';\"\n                            onmouseout=\"this.style.transform='scale(1)'; this.style.boxShadow='0 0 8px #4CAF50';\"\n                            onclick=\"testPressureNumber('${item.number}')\">\n                                ${item.number}\n                            <\/div>\n                            <div style=\"position: absolute; bottom: -15px; left: 0; right: 0; text-align: center; font-size: 9px; color: #4CAF50;\">\n                                S:${item.streak}\n                            <\/div>\n                        <\/div>\n                    `).join('')}\n                <\/div>\n                <div style=\"font-size: 11px; color: #4CAF50; padding: 8px; background: rgba(76,175,80,0.1); border-radius: 4px;\">\n                    \ud83d\udca1 Rarest + longest streaks (Conf: ${topLow.filter(i => i.confidence === 'high').length}\/${topLow.length} high)\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- VERY HIGH (Avoid) -->\n        <div style=\"margin-bottom: 15px;\">\n            <div style=\"background: #9C27B0; color: white; padding: 8px; border-radius: 6px 6px 0 0; font-weight: bold; font-size: 14px;\">\n                \u26a0\ufe0f VERY HIGH (Avoid)\n            <\/div>\n            <div style=\"background: rgba(156,39,176,0.1); border: 1px solid #9C27B0; border-top: none; border-radius: 0 0 6px 6px; padding: 8px;\">\n                <div style=\"display: flex; flex-wrap: wrap; gap: 6px;\">\n                    ${topVeryHigh.map(item => `\n                        <div style=\"background: rgba(156,39,176,0.2); color: #9C27B0; padding: 4px 8px; border-radius: 3px; font-size: 11px; font-weight: bold; border: 1px solid #9C27B0; cursor: pointer;\"\n                        onclick=\"testPressureNumber('${item.number}')\" title=\"${item.frequency.toFixed(1)}x\">\n                            ${item.number}\n                        <\/div>\n                    `).join('')}\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- Compact Insights & Recs -->\n        <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 15px;\">\n            <div style=\"background: rgba(255,215,0,0.1); border: 1px solid #ffd700; border-radius: 6px; padding: 10px;\">\n                <div style=\"color: #ffd700; font-weight: bold; font-size: 12px; margin-bottom: 5px;\">\ud83e\udde0 Insights<\/div>\n                <div style=\"font-size: 11px; color: #ccc;\">\n                    \u2022 Owner favors lows (70% prob)<br>\n                    \u2022 Players bet 80% on 30% nums<br>\n                    \u2022 Focus lows, skip highs\n                <\/div>\n            <\/div>\n            <div style=\"background: rgba(76,175,80,0.1); border: 1px solid #4CAF50; border-radius: 6px; padding: 10px;\">\n                <div style=\"color: #4CAF50; font-weight: bold; font-size: 12px; margin-bottom: 5px;\">\ud83c\udfaf Recs<\/div>\n                <div style=\"font-size: 11px; color: #ccc;\">\n                    \u2022 Top: ${topLow.slice(0,3).map(n => n.number).join(', ')}<br>\n                    \u2022 Avoid: ${topVeryHigh.slice(0,3).map(n => n.number).join(', ')}\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <div style=\"margin-top: 10px; font-size: 10px; color: #888; text-align: center; padding: 8px; border-top: 1px dashed #444;\">\n            \ud83c\udf73 Updated: ${new Date().toLocaleTimeString()}\n        <\/div>\n    <\/div>\n    `;\n}\n\n\/\/ Updated Highlight (add CI class)\nfunction highlightPressureNumbers(categories) {\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    if (!cells || cells.length === 0) return;\n    \n    categories.low.forEach(item => {\n        cells.forEach(cell => {\n            if (cell.cellIndex === 0) return;\n            if (cell.textContent.trim() === item.number) {\n                cell.className = `highlight-lowpressure ${item.confidence === 'low' ? 'ci-low' : ''}`;\n            }\n        });\n    });\n    \n    categories.veryHigh.slice(0, 8).forEach(item => {\n        cells.forEach(cell => {\n            if (cell.cellIndex === 0) return;\n            if (cell.textContent.trim() === item.number) {\n                cell.className = 'highlight-veryhighpressure';\n            }\n        });\n    });\n}\n\n\/\/ ====================================================\n\/\/ ADD TO EXISTING logicChartApplyLogic FUNCTION\n\/\/ ====================================================\n\/*\ncase 'pressurecooker':\n    logicPressureCookerAnalysis();\n    break;\n*\/\n\/\/ ====================================================\n\/\/ END OF UPDATED SYSTEM\n\/\/ ====================================================\n        \/\/ ====================================================\n\/\/ \ud83d\udc8e PRESSURE X-RAY (SMART FILTER SYSTEM) - UPDATED\n\/\/ ====================================================\n\nvar xrayData = {}; \/\/ Global storage for filter interaction\n\nfunction logicPressureXRay() {\n    logicChartClearHighlights();\n    const allNumbers = window.logicChartMeta?.timeline || [];\n\n    if (!allNumbers || allNumbers.length < 100) {\n        logicChartUpdateResult(\"Pressure X-Ray\", \"\u274c Need more data for X-Ray analysis.\");\n        return;\n    }\n\n    \/\/ --- 1. RUN ALL ENGINES SILENTLY (Data Gathering) ---\n    \n    \/\/ A. Pressure Cooker PRO Base (ALL Low Numbers)\n    \/\/ Hum wahi function use kar rahe hain jo Pro button me use hua hai (0.96 decay)\n    \/\/ Taaki result 100% same match ho.\n    const pStats = calculatePressureStatsPro(allNumbers, 0.96);\n    \n    \/\/ Yahan hum 'slice' nahi kar rahe, PURA Low category le rahe hain\n    const baseNumbers = pStats.categories.low.map(x => parseInt(x.n)); \n\n    \/\/ B. Number Age (For Removing\/Tracking)\n    const lastIndex = {};\n    allNumbers.forEach((n,idx)=>{ lastIndex[n]=idx; });\n    const currentIdx = allNumbers.length - 1;\n    \/\/ Numbers missing > 50 days\n    const ageNumbers = Object.keys(lastIndex).map(n=>parseInt(n)).filter(n => (currentIdx - lastIndex[n]) > 50);\n\n    \/\/ C. DNA Hunter (Top 6 matches)\n    const dnaNumbers = getDNAPredictions(allNumbers, allNumbers.length - 1);\n\n    \/\/ D. AI Confidence (Top 8 matches)\n    const aiConfNumbers = getAIConfidenceRaw(allNumbers); \n\n    \/\/ E. AI Probability (Top 8 matches)\n    const aiProbNumbers = getAIProbabilityRaw(allNumbers); \n\n    \/\/ F. AI Weighted (Top 8 matches)\n    const aiWeightNumbers = getAIWeightedRaw(allNumbers); \n\n    \/\/ --- 2. CROSS MATCHING LOGIC (Matching Base with Others) ---\n    \n    let analysisData = [];\n\n    baseNumbers.forEach(num => {\n        let matches = [];\n        let badges = [];\n        let score = 0;\n\n        \/\/ Check Matches with other Smart Tools\n        if(dnaNumbers.includes(num)) { matches.push(\"DNA\"); badges.push(\"\ud83e\uddec\"); score += 2; }\n        if(aiConfNumbers.includes(num)) { matches.push(\"Conf\"); badges.push(\"\ud83e\udd16\"); score += 1; }\n        if(aiProbNumbers.includes(num)) { matches.push(\"Prob\"); badges.push(\"\ud83d\udcca\"); score += 1; }\n        if(aiWeightNumbers.includes(num)) { matches.push(\"Weight\"); badges.push(\"\u2696\ufe0f\"); score += 1; }\n        \n        \/\/ Check Age Risk (Old Numbers)\n        const isOld = ageNumbers.includes(num);\n        if(isOld) { matches.push(\"Old\"); badges.push(\"\u23f3\"); }\n\n        analysisData.push({\n            n: num,\n            nStr: num.toString().padStart(2,'0'),\n            matches: matches,\n            badges: badges,\n            score: score,\n            isOld: isOld,\n            isDNA: dnaNumbers.includes(num),\n            isAI: (aiConfNumbers.includes(num) || aiProbNumbers.includes(num) || aiWeightNumbers.includes(num))\n        });\n    });\n\n    \/\/ Sort by Score (High Matches First)\n    \/\/ Jiska score zyada, wo upar dikhega\n    analysisData.sort((a,b) => b.score - a.score);\n\n    \/\/ Save to Global for Filtering\n    xrayData = analysisData;\n\n    \/\/ --- 3. GENERATE INTERACTIVE UI ---\n    \n    \/\/ Highlight Table (Base Numbers only initially)\n    const cells = document.querySelectorAll('#chartTable tbody td');\n    cells.forEach(td => {\n        if(td.cellIndex === 0) return;\n        const val = parseInt(td.textContent);\n        if(baseNumbers.includes(val)) {\n            td.style.backgroundColor = '#004e92'; \/\/ Base Blue\n            td.style.color = '#fff';\n            td.style.fontWeight = 'bold';\n        }\n    });\n\n    renderXRayUI(); \/\/ Draw the Result\n    logicChartAddLegend('#004e92', 'Base Pressure Numbers');\n    logicChartShowPopup(`\ud83d\udc8e X-Ray Scanned: ${baseNumbers.length} Base Numbers found!`);\n}\n\n\/\/ --- UI RENDER FUNCTION (User Interaction) ---\nfunction renderXRayUI() {\n    \/\/ Get Filter States (User ne kya tick kiya hai)\n    const filterDNA = document.getElementById('chk_dna')?.checked ?? false;\n    const filterAI = document.getElementById('chk_ai')?.checked ?? false;\n    const excludeOld = document.getElementById('chk_old')?.checked ?? false;\n\n    \/\/ Filter Logic\n    let filteredList = xrayData.filter(item => {\n        if (excludeOld && item.isOld) return false; \/\/ Remove old if checked\n        if (filterDNA && !item.isDNA) return false; \/\/ Must match DNA if checked\n        if (filterAI && !item.isAI) return false;   \/\/ Must match AI if checked\n        return true;\n    });\n\n    \/\/ Create string for copy\n    const finalNumbersStr = filteredList.map(x => x.nStr).join(',');\n\n    let html = `\n    <div style=\"font-family:'Segoe UI', sans-serif; color:#fff;\">\n        \n        <div style=\"background:linear-gradient(to bottom, #001020, #000); border:1px solid #00ffff; border-radius:10px; padding:15px; margin-bottom:15px; box-shadow:0 0 15px rgba(0, 255, 255, 0.1);\">\n            <div style=\"font-size:16px; font-weight:bold; color:#00ffff; margin-bottom:10px; border-bottom:1px dashed #004e92; padding-bottom:5px; display:flex; justify-content:space-between;\">\n                <span>\ud83d\udc8e PRESSURE X-RAY<\/span>\n                <span style=\"font-size:10px; color:#aaa;\">BASE: PRO LOW<\/span>\n            <\/div>\n            \n            <div style=\"font-size:11px; color:#ccc; margin-bottom:10px;\">\n                Select filters to refine your target list:\n            <\/div>\n\n            <div style=\"display:flex; flex-wrap:wrap; gap:10px; font-size:13px; background:#002244; padding:10px; border-radius:6px;\">\n                <label style=\"cursor:pointer; display:flex; align-items:center; color:#fff;\">\n                    <input type=\"checkbox\" id=\"chk_dna\" onchange=\"renderXRayUI()\" style=\"margin-right:5px; accent-color:#00ffff;\"> \n                    Match with DNA (\ud83e\uddec)\n                <\/label>\n                <label style=\"cursor:pointer; display:flex; align-items:center; color:#fff;\">\n                    <input type=\"checkbox\" id=\"chk_ai\" onchange=\"renderXRayUI()\" style=\"margin-right:5px; accent-color:#00e676;\"> \n                    Match with AI (\ud83e\udd16)\n                <\/label>\n                <label style=\"cursor:pointer; display:flex; align-items:center; color:#ff4444; font-weight:bold;\">\n                    <input type=\"checkbox\" id=\"chk_old\" onchange=\"renderXRayUI()\" style=\"margin-right:5px; accent-color:#ff4444;\"> \n                    \u26d4 Remove Old Numbers\n                <\/label>\n            <\/div>\n        <\/div>\n\n        <div style=\"margin-bottom:15px;\">\n            <div style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;\">\n                <div style=\"font-size:12px; color:#aaa;\">FILTERED RESULTS: <span style=\"color:#fff; font-weight:bold;\">${filteredList.length} Jodi<\/span><\/div>\n            <\/div>\n            \n            <div style=\"display:flex; flex-wrap:wrap; gap:6px;\">\n                ${filteredList.map(item => {\n                    \/\/ Smart Styling based on how strong the match is\n                    let isSuper = item.score >= 3;\n                    let isGood = item.score >= 1;\n                    \n                    let bg = isSuper ? 'linear-gradient(45deg, #FFD700, #FFA500)' : \n                             isGood ? '#004e92' : '#222';\n                    let col = isSuper ? '#000' : '#fff';\n                    let border = isSuper ? '1px solid #fff' : '1px solid #444';\n                    let shadow = isSuper ? '0 0 10px #FFD700' : 'none';\n\n                    return `\n                    <div style=\"background:${bg}; color:${col}; border:${border}; box-shadow:${shadow}; padding:5px 8px; border-radius:6px; text-align:center; min-width:40px;\">\n                        <div style=\"font-size:16px; font-weight:bold;\">${item.nStr}<\/div>\n                        ${item.matches.length > 0 ? `<div style=\"font-size:8px; opacity:0.8;\">${item.badges.join('')}<\/div>` : ''}\n                    <\/div>\n                    `;\n                }).join('')}\n                ${filteredList.length === 0 ? '<div style=\"color:#888; font-style:italic; padding:10px;\">No numbers match this combination. Try unchecking filters.<\/div>' : ''}\n            <\/div>\n        <\/div>\n\n        <button onclick=\"copyToClipPro('${finalNumbersStr}')\" style=\"width:100%; background:linear-gradient(to right, #00e676, #006400); color:#fff; border:none; padding:12px; border-radius:6px; font-weight:bold; cursor:pointer; font-size:14px; box-shadow:0 0 10px rgba(0,230,118,0.3); display:flex; align-items:center; justify-content:center; gap:8px;\">\n            \ud83d\udccb COPY SELECTED LIST\n        <\/button>\n\n        <div style=\"margin-top:20px; border-top:1px dashed #333; padding-top:10px;\">\n            <div style=\"font-size:11px; color:#00ffff; margin-bottom:5px; text-transform:uppercase;\">\ud83d\udd0d Deep Analysis (All Base Numbers)<\/div>\n            <div style=\"max-height:200px; overflow-y:auto; background:#050505; border-radius:6px; padding:5px;\">\n                <table style=\"width:100%; font-size:11px; text-align:left; border-collapse:collapse;\">\n                    <tr style=\"color:#888; border-bottom:1px solid #444;\">\n                        <th style=\"padding:4px;\">No.<\/th>\n                        <th style=\"padding:4px;\">Matches<\/th>\n                        <th style=\"padding:4px; text-align:right;\">Status<\/th>\n                    <\/tr>\n                    ${xrayData.map(item => `\n                        <tr style=\"border-bottom:1px solid #1a1a1a;\">\n                            <td style=\"padding:4px; font-weight:bold; color:#fff;\">${item.nStr}<\/td>\n                            <td style=\"padding:4px; color:#ccc;\">${item.badges.join(' ')} <span style=\"color:#555;\">${item.matches.join(', ')}<\/span><\/td>\n                            <td style=\"padding:4px; text-align:right;\">\n                                ${item.score >= 3 ? '<span style=\"color:#ffd700;\">\u2605 SUPER<\/span>' : \n                                  item.isOld ? '<span style=\"color:#ff4444;\">OLD<\/span>' : '<span style=\"color:#00e676;\">OK<\/span>'}\n                            <\/td>\n                        <\/tr>\n                    `).join('')}\n                <\/table>\n            <\/div>\n        <\/div>\n\n    <\/div>\n    `;\n\n    \/\/ Re-inject HTML if container exists, else initial update\n    const container = document.getElementById('resultContent');\n    if(container) {\n        container.innerHTML = html;\n        \/\/ Keep title static\n    } else {\n        logicChartUpdateResult('\ud83d\udc8e Pressure X-Ray', html);\n    }\n}\n\n\/\/ --- HELPER FUNCTIONS FOR RAW DATA (Required for X-Ray) ---\n\nfunction getAIConfidenceRaw(timeline) {\n    let aiFreq = {};\n    \/\/ Last 30 draws\n    timeline.slice(-30).forEach(n => aiFreq[n] = (aiFreq[n]||0)+1);\n    return Object.entries(aiFreq).sort((a,b)=>b[1]-a[1]).slice(0,8).map(x=>parseInt(x[0]));\n}\n\nfunction getAIProbabilityRaw(timeline) {\n    const freq = {};\n    timeline.forEach(n => freq[n] = (freq[n] || 0) + 1);\n    return Object.entries(freq).sort((a,b)=>b[1]-a[1]).slice(0,8).map(x=>parseInt(x[0]));\n}\n\nfunction getAIWeightedRaw(timeline) {\n    \/\/ Simplified Weighted: Recency * Frequency\n    const scores = {};\n    timeline.forEach((n, idx) => {\n        scores[n] = (scores[n] || 0) + (idx + 1);\n    });\n    return Object.entries(scores).sort((a,b)=>b[1]-a[1]).slice(0,8).map(x=>parseInt(x[0]));\n}\n        \/\/ =============================================\n        \/\/ TESTER FUNCTIONS START HERE\n        \/\/ =============================================\n        \n        \/\/ \u091f\u0947\u0938\u094d\u091f\u0930 \u092e\u094b\u0921\u0932 \u092c\u0902\u0926 \u0915\u0930\u0928\u0947 \u0915\u093e \u092b\u0902\u0915\u094d\u0936\u0928\n        function logicChartCloseTesterModal() {\n            const modal = document.getElementById('logicTesterModal');\n            if (modal) {\n                modal.remove();\n            }\n        }\n\n        \/\/ \u091f\u0947\u0938\u094d\u091f \u0930\u0928 \u0915\u0930\u0928\u0947 \u0915\u093e \u092e\u0941\u0916\u094d\u092f \u092b\u0902\u0915\u094d\u0936\u0928\n        function logicChartRunTester() {\n            const input = document.getElementById('testNumberInput');\n            if (!input) return;\n            \n            const testNumber = input.value.trim();\n            \n            \/\/ Validation\n            if (!\/^\\d{2}$\/.test(testNumber)) {\n                alert('\u274c \u0915\u0943\u092a\u092f\u093e \u0938\u0939\u0940 2 \u0905\u0902\u0915\u094b\u0902 \u0915\u093e \u0928\u0902\u092c\u0930 \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902 (00-99)');\n                input.focus();\n                return;\n            }\n            \n            const testNum = parseInt(testNumber, 10);\n            \n            \/\/ Close modal\n            logicChartCloseTesterModal();\n            \n            \/\/ Clear previous highlights\n            logicChartClearHighlights();\n            \n            \/\/ Get ALL data\n            const allNumbers = logicChartMeta.timeline || logicChartGetValidNumbers();\n            \n            if (allNumbers.length === 0) {\n                logicChartUpdateResult(\n                    \"\u091f\u0947\u0938\u094d\u091f \u0930\u093f\u091c\u0932\u094d\u091f\",\n                    \"\u274c \u0921\u0947\u091f\u093e \u0909\u092a\u0932\u092c\u094d\u0927 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964 \u092a\u0939\u0932\u0947 \u0915\u0941\u091b \u0930\u093f\u091c\u0932\u094d\u091f\u094d\u0938 \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902\u0964\"\n                );\n                return;\n            }\n            \n            \/\/ \u0938\u092d\u0940 \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0915\u0940 \u0932\u093f\u0938\u094d\u091f - COMPLETE VERSION (24 \u0932\u0949\u091c\u093f\u0915\u094d\u0938)\n            const allLogics = [\n                {\n                    name: \"\ud83d\udd34 Taak Logic\",\n                    description: \"\u0935\u093f\u0937\u092e \u0938\u0902\u0916\u094d\u092f\u093e (Odd Numbers)\",\n                    getPredictions: () => {\n                        const freq = {};\n                        allNumbers.forEach(n => freq[n] = (freq[n] || 0) + 1);\n                        const odds = Object.keys(freq).map(Number).filter(n => n % 2 !== 0);\n                        const sorted = odds.sort((a,b) => freq[b] - freq[a]);\n                        return sorted.slice(0, 10);\n                    }\n                },\n                {\n                    name: \"\ud83d\udfe2 Jufat Logic\", \n                    description: \"\u0938\u092e \u0938\u0902\u0916\u094d\u092f\u093e (Even Numbers)\",\n                    getPredictions: () => {\n                        const freq = {};\n                        allNumbers.forEach(n => freq[n] = (freq[n] || 0) + 1);\n                        const evens = Object.keys(freq).map(Number).filter(n => n % 2 === 0);\n                        const sorted = evens.sort((a,b) => freq[b] - freq[a]);\n                        return sorted.slice(0, 10);\n                    }\n                },\n                {\n                    name: \"\ud83d\udd25 Hot Numbers\",\n                    description: \"\u0938\u092c\u0938\u0947 \u091c\u094d\u092f\u093e\u0926\u093e \u092c\u093e\u0930 \u0906\u090f \u0928\u0902\u092c\u0930\",\n                    getPredictions: () => {\n                        const freq = {};\n                        allNumbers.forEach(n => freq[n] = (freq[n] || 0) + 1);\n                        return Object.entries(freq)\n                            .sort((a,b) => b[1] - a[1])\n                            .slice(0, 10)\n                            .map(x => parseInt(x[0]));\n                    }\n                },\n                {\n                    name: \"\u2744\ufe0f Cold Numbers\", \n                    description: \"\u0938\u092c\u0938\u0947 \u0915\u092e \u092c\u093e\u0930 \u0906\u090f\/\u0928\u0939\u0940\u0902 \u0906\u090f \u0928\u0902\u092c\u0930\",\n                    getPredictions: () => {\n                        const freq = {};\n                        allNumbers.forEach(n => freq[n] = (freq[n] || 0) + 1);\n                        const allPossible = Array.from({length: 100}, (_, i) => i);\n                        const cold = allPossible.filter(n => !freq[n] || freq[n] <= 1);\n                        return cold.slice(0, 10);\n                    }\n                },\n                {\n                    name: \"\ud83d\udc51 Master Guess\",\n                    description: \"\u092e\u093e\u0938\u094d\u091f\u0930 \u0915\u0949\u092e\u094d\u092c\u093f\u0928\u0947\u0936\u0928\",\n                    getPredictions: () => {\n                        const freq = {};\n                        allNumbers.forEach(n => freq[n] = (freq[n] || 0) + 1);\n                        const hot = Object.entries(freq)\n                            .sort((a,b) => b[1] - a[1])\n                            .slice(0, 5)\n                            .map(x => parseInt(x[0]));\n                        \n                        const recents = [...new Set(allNumbers.slice(-10))].slice(0, 3);\n                        \n                        return [...new Set([...hot, ...recents])].slice(0, 8);\n                    }\n                },\n                {\n                    name: \"\ud83e\udd16 AI Prediction\",\n                    description: \"AI \u0935\u0947\u091f\u0947\u0921 \u092a\u094d\u0930\u0947\u0921\u093f\u0915\u094d\u0936\u0928\",\n                    getPredictions: () => {\n                        const freq = {};\n                        allNumbers.forEach(n => freq[n] = (freq[n] || 0) + 1);\n                        \n                        \/\/ Weight by recency\n                        const recencyWeight = {};\n                        allNumbers.forEach((n, idx) => {\n                            if (!recencyWeight[n]) recencyWeight[n] = 0;\n                            recencyWeight[n] += (idx + 1);\n                        });\n                        \n                        \/\/ Calculate weighted score\n                        const scores = {};\n                        Object.keys(freq).forEach(n => {\n                            const num = parseInt(n);\n                            const fScore = freq[num] || 0;\n                            const rScore = recencyWeight[num] || 0;\n                            scores[num] = fScore * 0.7 + (rScore \/ allNumbers.length) * 0.3;\n                        });\n                        \n                        return Object.entries(scores)\n                            .sort((a,b) => b[1] - a[1])\n                            .slice(0, 8)\n                            .map(x => parseInt(x[0]));\n                    }\n                },\n                {\n                    name: \"\ud83d\udd04 Mirror Logic\",\n                    description: \"\u092e\u093f\u0930\u0930 \u0928\u0902\u092c\u0930 (\u092a\u0932\u091f \u0915\u0947)\",\n                    getPredictions: () => {\n                        const mirrors = allNumbers.map(n => {\n                            const s = n.toString().padStart(2, '0');\n                            return parseInt(s[1] + s[0]);\n                        });\n                        const freq = {};\n                        mirrors.forEach(n => freq[n] = (freq[n] || 0) + 1);\n                        return Object.entries(freq)\n                            .sort((a,b) => b[1] - a[1])\n                            .slice(0, 8)\n                            .map(x => parseInt(x[0]));\n                    }\n                },\n                {\n                    name: \"\u2795 Sum Logic\",\n                    description: \"\u0905\u0902\u0915\u094b\u0902 \u0915\u093e \u092f\u094b\u0917 5-9\",\n                    getPredictions: () => {\n                        const sumNumbers = allNumbers.filter(n => {\n                            const s = n.toString().padStart(2, '0');\n                            const sum = parseInt(s[0]) + parseInt(s[1]);\n                            return sum >= 5 && sum <= 9;\n                        });\n                        const freq = {};\n                        sumNumbers.forEach(n => freq[n] = (freq[n] || 0) + 1);\n                        return Object.entries(freq)\n                            .sort((a,b) => b[1] - a[1])\n                            .slice(0, 8)\n                            .map(x => parseInt(x[0]));\n                    }\n                },\n                {\n                    name: \"\ud83d\udcc8 20-90 Range\",\n                    description: \"20 \u0938\u0947 90 \u0915\u0947 \u092c\u0940\u091a\",\n                    getPredictions: () => {\n                        const rangeNumbers = allNumbers.filter(n => n >= 20 && n <= 90);\n                        const freq = {};\n                        rangeNumbers.forEach(n => freq[n] = (freq[n] || 0) + 1);\n                        return Object.entries(freq)\n                            .sort((a,b) => b[1] - a[1])\n                            .slice(0, 8)\n                            .map(x => parseInt(x[0]));\n                    }\n                },\n                {\n                    name: \"\ud83c\udfaf First Digit\",\n                    description: \"\u092a\u0939\u0932\u093e \u0905\u0902\u0915 (1-9)\",\n                    getPredictions: () => {\n                        const firstDigitMap = {};\n                        allNumbers.forEach(n => {\n                            const first = n.toString().padStart(2, '0')[0];\n                            firstDigitMap[first] = (firstDigitMap[first] || 0) + 1;\n                        });\n                        \n                        \/\/ Get most common first digit\n                        const topFirstDigit = Object.entries(firstDigitMap)\n                            .sort((a,b) => b[1] - a[1])[0];\n                        \n                        if (!topFirstDigit) return [];\n                        \n                        const digit = topFirstDigit[0];\n                        return allNumbers\n                            .filter(n => n.toString().padStart(2, '0')[0] === digit)\n                            .slice(0, 8);\n                    }\n                },\n                {\n                    name: \"\ud83e\udde0 AI Neural Burst\",\n                    description: \"Neural network inspired prediction\",\n                    getPredictions: () => {\n                        if (allNumbers.length < 2) return [];\n                        const seq = allNumbers;\n                        const vector = seq.map((n,i) => (i > 0 ? n - seq[i-1] : 0));\n                        const avg = vector.reduce((a,b) => a + b, 0) \/ vector.length;\n                        \n                        const neuralCandidates = seq\n                            .map(n => (n + avg) % 100)\n                            .slice(-10)\n                            .map(n => parseInt(n))\n                            .filter((v,i,a) => a.indexOf(v) === i)\n                            .slice(0, 6);\n                        \n                        return neuralCandidates;\n                    }\n                },\n                {\n                    name: \"\ud83d\udcca AI Probability 1-100\",\n                    description: \"Probability score based on frequency and recency\",\n                    getPredictions: () => {\n                        const timeline = allNumbers;\n                        if (timeline.length === 0) return [];\n                        \n                        const freq = {};\n                        const lastIdx = {};\n                        timeline.forEach((n, idx) => {\n                            freq[n] = (freq[n] || 0) + 1;\n                            lastIdx[n] = idx;\n                        });\n                        \n                        const maxFreq = Math.max(...Object.values(freq));\n                        const currentIndex = timeline.length - 1;\n                        \n                        const scored = Object.keys(freq).map(k => {\n                            const n = parseInt(k);\n                            const fNorm = maxFreq ? (freq[k] \/ maxFreq) : 0;\n                            const age = currentIndex - lastIdx[k];\n                            const ageNorm = currentIndex ? 1 - (age \/ currentIndex) : 1;\n                            const score = Math.round(100 * (0.6 * fNorm + 0.4 * ageNorm));\n                            return {n, score};\n                        })\n                        .sort((a,b) => b.score - a.score)\n                        .slice(0, 10);\n                        \n                        return scored.map(item => item.n);\n                    }\n                },\n                {\n                    name: \"\ud83e\udd16 AI Weighted Guess\",\n                    description: \"Weighted by global, recency, and seasonal frequency\",\n                    getPredictions: () => {\n                        const timeline = allNumbers;\n                        if (timeline.length === 0) return [];\n                        \n                        const freq = {};\n                        const lastIdx = {};\n                        timeline.forEach((n, idx) => {\n                            freq[n] = (freq[n] || 0) + 1;\n                            lastIdx[n] = idx;\n                        });\n                        \n                        const maxFreq = Math.max(...Object.values(freq));\n                        const currentIndex = timeline.length - 1;\n                        \n                        \/\/ Seasonal weight: recent 60 entries\n                        const seasonalSlice = timeline.slice(-60);\n                        const seasonalFreq = {};\n                        seasonalSlice.forEach(n => {\n                            seasonalFreq[n] = (seasonalFreq[n] || 0) + 1;\n                        });\n                        const maxSeason = seasonalSlice.length ? Math.max(...Object.values(seasonalFreq)) : 0;\n                        \n                        const scored = Object.keys(freq).map(k => {\n                            const n = parseInt(k);\n                            const fNorm = maxFreq ? (freq[k] \/ maxFreq) : 0;\n                            const lastAge = currentIndex - lastIdx[k];\n                            const ageNorm = currentIndex ? 1 - (lastAge \/ currentIndex) : 1;\n                            const sFreq = seasonalFreq[n] || 0;\n                            const sNorm = maxSeason ? (sFreq \/ maxSeason) : 0;\n                            \n                            \/\/ Weight: 40% global, 30% recency, 30% seasonal\n                            const score = Math.round(100 * (0.4 * fNorm + 0.3 * ageNorm + 0.3 * sNorm));\n                            return {n, score};\n                        })\n                        .sort((a,b) => b.score - a.score)\n                        .slice(0, 10);\n                        \n                        return scored.map(item => item.n);\n                    }\n                },\n                {\n                    name: \"\ud83d\udcc5 Same Date History\",\n                    description: \"\u0907\u0938\u0940 \u0924\u093e\u0930\u0940\u0916 \u0915\u0947 \u092a\u093f\u091b\u0932\u0947 \u0938\u093e\u0932 \u0915\u0947 \u0928\u0902\u092c\u0930\",\n                    getPredictions: () => {\n                        if (!logicChartMeta.byDate || !logicChartMeta.todayKey) return [];\n                        \n                        const todayKey = logicChartMeta.todayKey;\n                        const dateData = logicChartMeta.byDate[todayKey];\n                        \n                        if (!dateData) return [];\n                        \n                        \/\/ Get unique numbers from same date history\n                        const uniqueNumbers = [...new Set(dateData.numbers || [])];\n                        return uniqueNumbers.slice(0, 8);\n                    }\n                },\n                {\n                    name: \"\ud83d\udcc6 Year Signature\",\n                    description: \"\u0938\u093e\u0932 \u0915\u0947 \u0939\u093f\u0938\u093e\u092c \u0938\u0947 \u092a\u0948\u091f\u0930\u094d\u0928\",\n                    getPredictions: () => {\n                        const byYear = logicChartMeta.byYear || {};\n                        const currentYear = logicChartMeta.currentYear;\n                        \n                        if (!byYear[currentYear]) return [];\n                        \n                        const currentYearNumbers = byYear[currentYear];\n                        const freq = {};\n                        currentYearNumbers.forEach(n => freq[n] = (freq[n] || 0) + 1);\n                        \n                        return Object.entries(freq)\n                            .sort((a,b) => b[1] - a[1])\n                            .slice(0, 8)\n                            .map(x => parseInt(x[0]));\n                    }\n                },\n                {\n                    name: \"\ud83d\udcc5 2-Year Predictor\",\n                    description: \"\u092a\u093f\u091b\u0932\u0947 2 \u0938\u093e\u0932 \u0915\u0947 \u0921\u0947\u091f\u093e \u0938\u0947 \u092a\u094d\u0930\u0947\u0921\u093f\u0915\u094d\u0936\u0928\",\n                    getPredictions: () => {\n                        const byYear = logicChartMeta.byYear || {};\n                        const years = logicChartMeta.yearsAvailable || [];\n                        \n                        if (years.length < 3) return [];\n                        \n                        const currentYear = logicChartMeta.currentYear;\n                        const yearIndex = years.indexOf(currentYear);\n                        \n                        if (yearIndex < 2) return [];\n                        \n                        const prevYear1 = years[yearIndex - 1];\n                        const prevYear2 = years[yearIndex - 2];\n                        \n                        const year1Nums = byYear[prevYear1] || [];\n                        const year2Nums = byYear[prevYear2] || [];\n                        \n                        \/\/ Find common numbers between last 2 years\n                        const set1 = new Set(year1Nums);\n                        const commonNumbers = year2Nums.filter(n => set1.has(n));\n                        \n                        return [...new Set(commonNumbers)].slice(0, 8);\n                    }\n                },\n                {\n                    name: \"\u23ea Reverse Gap\",\n                    description: \"Fast repeating numbers (smallest gaps)\",\n                    getPredictions: () => {\n                        const gaps = {};\n                        allNumbers.forEach((n, i) => {\n                            if (!gaps[n]) gaps[n] = [];\n                            if (i > 0) gaps[n].push(i);\n                        });\n                        \n                        const gapScore = [];\n                        Object.keys(gaps).forEach(k => {\n                            const g = gaps[k].length ? Math.min(...gaps[k]) : 99;\n                            gapScore.push([parseInt(k), g]);\n                        });\n                        \n                        const reverseWinners = gapScore\n                            .sort((a,b) => a[1] - b[1])\n                            .slice(0, 6)\n                            .map(v => v[0]);\n                        \n                        return reverseWinners;\n                    }\n                },\n                {\n                    name: \"\ud83d\udd22 End Digit Flow\",\n                    description: \"Top ending digits and their frequent numbers\",\n                    getPredictions: () => {\n                        const endings = {};\n                        allNumbers.forEach(n => {\n                            const last = n.toString().padStart(2, '0')[1];\n                            endings[last] = (endings[last] || 0) + 1;\n                        });\n                        \n                        const topEnds = Object.entries(endings)\n                            .sort((a,b) => b[1] - a[1])\n                            .slice(0, 3)\n                            .map(it => it[0]);\n                        \n                        const freq = {};\n                        allNumbers.forEach(n => freq[n] = (freq[n] || 0) + 1);\n                        \n                        let result = [];\n                        topEnds.forEach(d => {\n                            const nums = Object.keys(freq)\n                                .map(Number)\n                                .filter(n => n.toString().padStart(2, '0')[1] === d);\n                            const sorted = nums.sort((a,b) => freq[b] - freq[a]).slice(0, 3);\n                            result = result.concat(sorted);\n                        });\n                        \n                        return result.slice(0, 8);\n                    }\n                },\n                {\n                    name: \"\ud83d\udd17 Pair Chain\",\n                    description: \"Chain of pairs from last number\",\n                    getPredictions: () => {\n                        if (allNumbers.length < 2) return [];\n                        \n                        const chainMap = {};\n                        for (let i = 0; i < allNumbers.length - 1; i++) {\n                            const a = allNumbers[i];\n                            const b = allNumbers[i + 1];\n                            if (!chainMap[a]) chainMap[a] = {};\n                            chainMap[a][b] = (chainMap[a][b] || 0) + 1;\n                        }\n                        \n                        const lastNum = allNumbers[allNumbers.length - 1];\n                        const nextOptions = chainMap[lastNum] \n                            ? Object.entries(chainMap[lastNum])\n                                .sort((a,b) => b[1] - a[1])\n                                .slice(0, 4)\n                            : [];\n                        \n                        const chainCandidates = nextOptions.map(it => parseInt(it[0]));\n                        return chainCandidates;\n                    }\n                },\n                {\n                    name: \"\ud83d\udcd0 Angle Predictor\",\n                    description: \"Numbers matching angle cycles (90\u00b0, 60\u00b0)\",\n                    getPredictions: () => {\n                        const angleCandidates = [];\n                        allNumbers.forEach(n => {\n                            const angle = (n \/ 100) * 360;\n                            if (angle % 90 < 10 || angle % 60 < 10) {\n                                angleCandidates.push(n);\n                            }\n                        });\n                        \n                        const cleanedAngles = [...new Set(angleCandidates)].slice(0, 8);\n                        return cleanedAngles;\n                    }\n                },\n                {\n                    name: \"\ud83d\udd04 Cycle Breaker\",\n                    description: \"Numbers with long gaps between occurrences\",\n                    getPredictions: () => {\n                        const gapMap = {};\n                        allNumbers.forEach((n, i) => {\n                            if (!gapMap[n]) gapMap[n] = [];\n                            gapMap[n].push(i);\n                        });\n                        \n                        const cycleBreakers = [];\n                        Object.keys(gapMap).forEach(k => {\n                            const gaps = gapMap[k];\n                            if (gaps.length > 2) {\n                                const last = gaps[gaps.length - 1];\n                                const prev = gaps[gaps.length - 2];\n                                const diff = last - prev;\n                                if (diff > 5) cycleBreakers.push(parseInt(k));\n                            }\n                        });\n                        \n                        return cycleBreakers.slice(0, 8);\n                    }\n                }\n            ];\n            \n            \/\/ \u091f\u0947\u0938\u094d\u091f \u0938\u092d\u0940 \u0932\u0949\u091c\u093f\u0915\u094d\u0938\n            const results = {\n                PASS: [],\n                FAIL: []\n            };\n            \n            allLogics.forEach(logic => {\n                try {\n                    const predictions = logic.getPredictions();\n                    const passed = predictions.includes(testNum);\n                    \n                    if (passed) {\n                        results.PASS.push({\n                            name: logic.name,\n                            description: logic.description,\n                            predictions: predictions.map(n => n.toString().padStart(2, '0'))\n                        });\n                    } else {\n                        results.FAIL.push({\n                            name: logic.name,\n                            description: logic.description,\n                            predictions: predictions.map(n => n.toString().padStart(2, '0'))\n                        });\n                    }\n                } catch (e) {\n                    console.error(`Error in ${logic.name}:`, e);\n                }\n            });\n            \n            \/\/ \u0930\u093f\u091c\u0932\u094d\u091f \u0921\u093f\u0938\u094d\u092a\u094d\u0932\u0947\n            let resultHTML = `\n                <div style=\"font-family: 'Segoe UI', Arial, sans-serif; max-width: 100%;\">\n                    <div style=\"text-align: center; margin-bottom: 20px;\">\n                        <div style=\"font-size: 24px; font-weight: bold; color: #ffd700; text-shadow: 0 0 10px rgba(255,215,0,0.3);\">\n                            \ud83e\uddea LOGIC TESTER REPORT\n                        <\/div>\n                        <div style=\"font-size: 16px; color: #ccc; margin-top: 5px;\">\n                            \u091f\u0947\u0938\u094d\u091f \u0928\u0902\u092c\u0930: <span style=\"font-size: 32px; font-weight: bold; color: #4CAF50;\">${testNumber}<\/span>\n                        <\/div>\n                        <div style=\"display: inline-block; margin-top: 10px; padding: 5px 15px; background: #333; border-radius: 20px; font-size: 14px;\">\n                            \u2705 PASS: ${results.PASS.length} | \u274c FAIL: ${results.FAIL.length}\n                        <\/div>\n                    <\/div>\n            `;\n            \n            \/\/ PASS \u0935\u093e\u0932\u0947 \u0932\u0949\u091c\u093f\u0915\u094d\u0938\n            if (results.PASS.length > 0) {\n                resultHTML += `\n                    <div style=\"margin-bottom: 25px;\">\n                        <div style=\"background: linear-gradient(135deg, #2E7D32 0%, #1B5E20 100%); color: white; padding: 12px; border-radius: 8px 8px 0 0; font-weight: bold; font-size: 18px;\">\n                            \u2705 \u0938\u0939\u0940 \u0932\u0949\u091c\u093f\u0915\u094d\u0938 (${results.PASS.length})\n                        <\/div>\n                        <div style=\"background: rgba(46, 125, 50, 0.1); border: 2px solid #2E7D32; border-top: none; border-radius: 0 0 8px 8px; padding: 15px;\">\n                `;\n                \n                results.PASS.forEach((logic, index) => {\n                    resultHTML += `\n                        <div style=\"margin-bottom: ${index < results.PASS.length-1 ? '15px' : '0'}; padding-bottom: ${index < results.PASS.length-1 ? '15px' : '0'}; border-bottom: ${index < results.PASS.length-1 ? '1px dashed #2E7D32' : 'none'};\">\n                            <div style=\"display: flex; align-items: center; margin-bottom: 5px;\">\n                                <span style=\"background: #2E7D32; color: white; width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-right: 10px; font-weight: bold;\">\n                                    ${index + 1}\n                                <\/span>\n                                <span style=\"font-weight: bold; font-size: 16px;\">${logic.name}<\/span>\n                            <\/div>\n                            <div style=\"color: #666; font-size: 13px; margin-left: 34px; margin-bottom: 8px;\">\n                                ${logic.description}\n                            <\/div>\n                            <div style=\"margin-left: 34px; font-size: 12px; color: #888;\">\n                                \u092a\u094d\u0930\u0947\u0921\u093f\u0915\u094d\u0936\u0928: ${logic.predictions.join(', ')}\n                            <\/div>\n                        <\/div>\n                    `;\n                });\n                \n                resultHTML += `<\/div><\/div>`;\n            }\n            \n            \/\/ FAIL \u0935\u093e\u0932\u0947 \u0932\u0949\u091c\u093f\u0915\u094d\u0938 (\u0938\u0902\u0915\u094d\u0937\u093f\u092a\u094d\u0924)\n            if (results.FAIL.length > 0) {\n                resultHTML += `\n                    <div style=\"margin-bottom: 15px;\">\n                        <div style=\"background: #555; color: white; padding: 10px; border-radius: 6px; font-weight: bold; font-size: 16px; display: flex; justify-content: space-between; align-items: center;\">\n                            <span>\u274c \u0905\u0928\u094d\u092f \u0932\u0949\u091c\u093f\u0915\u094d\u0938 (${results.FAIL.length})<\/span>\n                            <span style=\"font-size: 12px; color: #ccc;\">\u092f\u0947 \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0907\u0938 \u0928\u0902\u092c\u0930 \u0915\u0940 \u092a\u094d\u0930\u0947\u0921\u093f\u0915\u094d\u0936\u0928 \u0928\u0939\u0940\u0902 \u0915\u0930 \u092a\u093e\u0908\u0902<\/span>\n                        <\/div>\n                        <div style=\"background: rgba(85,85,85,0.1); border: 1px solid #555; border-top: none; border-radius: 0 0 6px 6px; padding: 10px; display: flex; flex-wrap: wrap; gap: 8px;\">\n                `;\n                \n                results.FAIL.forEach(logic => {\n                    resultHTML += `\n                        <div style=\"padding: 5px 10px; background: rgba(244,67,54,0.1); border: 1px solid #F44336; border-radius: 4px; font-size: 12px;\">\n                            ${logic.name.replace(\/[\ud83d\udd34\ud83d\udfe2\ud83d\udd25\u2744\ufe0f\ud83d\udc51\ud83e\udd16\ud83d\udd04\u2795\ud83d\udcc8\ud83c\udfaf\ud83e\udde0\ud83d\udcca\ud83d\udcc5\ud83d\udcc6\u23ea\ud83d\udd22\ud83d\udd17\ud83d\udcd0\ud83d\udd04]\/g, '')}\n                        <\/div>\n                    `;\n                });\n                \n                resultHTML += `<\/div><\/div>`;\n            }\n            \n            \/\/ \u0938\u094d\u091f\u0947\u091f\u093f\u0938\u094d\u091f\u093f\u0915\u094d\u0938\n            const totalLogics = allLogics.length;\n            const passPercentage = Math.round((results.PASS.length \/ totalLogics) * 100);\n            \n            resultHTML += `\n                <div style=\"display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 20px;\">\n                    <div style=\"background: #1a237e; color: white; padding: 10px; border-radius: 6px; text-align: center;\">\n                        <div style=\"font-size: 11px; opacity: 0.8;\">\u0915\u0941\u0932 \u0932\u0949\u091c\u093f\u0915\u094d\u0938<\/div>\n                        <div style=\"font-size: 20px; font-weight: bold;\">${totalLogics}<\/div>\n                    <\/div>\n                    <div style=\"background: #2e7d32; color: white; padding: 10px; border-radius: 6px; text-align: center;\">\n                        <div style=\"font-size: 11px; opacity: 0.8;\">\u0938\u0939\u0940 \u0932\u0949\u091c\u093f\u0915\u094d\u0938<\/div>\n                        <div style=\"font-size: 20px; font-weight: bold;\">${results.PASS.length}<\/div>\n                    <\/div>\n                    <div style=\"background: #ff9800; color: white; padding: 10px; border-radius: 6px; text-align: center;\">\n                        <div style=\"font-size: 11px; opacity: 0.8;\">\u0938\u0915\u094d\u0938\u0947\u0938 \u0930\u0947\u091f<\/div>\n                        <div style=\"font-size: 20px; font-weight: bold;\">${passPercentage}%<\/div>\n                    <\/div>\n                    <div style=\"background: #5d4037; color: white; padding: 10px; border-radius: 6px; text-align: center;\">\n                        <div style=\"font-size: 11px; opacity: 0.8;\">\u091f\u0947\u0938\u094d\u091f\u0947\u0921<\/div>\n                        <div style=\"font-size: 20px; font-weight: bold;\">${testNumber}<\/div>\n                    <\/div>\n                <\/div>\n                \n                <div style=\"margin-top: 20px; padding: 15px; background: rgba(255,215,0,0.1); border-radius: 8px; border-left: 4px solid #ffd700;\">\n                    <div style=\"color: #ffd700; font-weight: bold; font-size: 14px; margin-bottom: 8px;\">\n                        \ud83d\udcca \u0935\u093f\u0936\u094d\u0932\u0947\u0937\u0923:\n                    <\/div>\n                    <div style=\"font-size: 13px; color: #ccc;\">\n            `;\n            \n            if (results.PASS.length >= 12) {\n                resultHTML += `\n                    <span style=\"color: #4CAF50;\">\u2705 \u092c\u0939\u0941\u0924 \u092c\u0922\u093c\u093f\u092f\u093e!<\/span> ${testNumber} \u0915\u0947 \u0932\u093f\u090f ${results.PASS.length} \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0938\u0939\u0940 \u0939\u0948\u0902\u0964\n                    <strong>\u092f\u0947 \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0906\u092a\u0915\u0947 \u0932\u093f\u090f \u0930\u093e\u092e\u092c\u093e\u0923 \u0938\u093e\u092c\u093f\u0924 \u0939\u094b \u0938\u0915\u0924\u0940 \u0939\u0948\u0902!<\/strong>\n                `;\n            } else if (results.PASS.length >= 8) {\n                resultHTML += `\n                    <span style=\"color: #FF9800;\">\u26a0\ufe0f \u0905\u091a\u094d\u091b\u093e \u092a\u0930\u093f\u0923\u093e\u092e<\/span> ${results.PASS.length} \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0938\u0939\u0940 \u0939\u0948\u0902\u0964\n                    \u0907\u0928 \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0915\u094b \u0915\u0949\u092e\u094d\u092c\u093f\u0928\u0947\u0936\u0928 \u092e\u0947\u0902 \u0907\u0938\u094d\u0924\u0947\u092e\u093e\u0932 \u0915\u0930\u0947\u0902\u0964\n                `;\n            } else if (results.PASS.length >= 4) {\n                resultHTML += `\n                    <span style=\"color: #FF5722;\">\ud83d\udcc9 \u0914\u0938\u0924 \u092a\u0930\u093f\u0923\u093e\u092e<\/span> ${results.PASS.length} \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0938\u0939\u0940 \u0939\u0948\u0902\u0964\n                    \u0915\u0941\u091b \u0939\u0940 \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0915\u093e\u092e \u0915\u0930 \u0930\u0939\u0940 \u0939\u0948\u0902\u0964\n                `;\n            } else {\n                resultHTML += `\n                    <span style=\"color: #F44336;\">\u274c \u0915\u092e\u091c\u094b\u0930 \u092a\u0930\u093f\u0923\u093e\u092e<\/span> \u0938\u093f\u0930\u094d\u092b ${results.PASS.length} \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0938\u0939\u0940 \u0939\u0948\u0902\u0964\n                    \u0928\u0908 \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u091f\u094d\u0930\u093e\u0908 \u0915\u0930\u0947\u0902 \u092f\u093e \u0926\u0942\u0938\u0930\u093e \u0928\u0902\u092c\u0930 \u091a\u0947\u0915 \u0915\u0930\u0947\u0902\u0964\n                `;\n            }\n            \n            resultHTML += `\n                    <\/div>\n                <\/div>\n                \n                <div style=\"margin-top: 20px; text-align: center;\">\n                    <button onclick=\"logicChartCloseTesterModal(); logicChartApplyLogic('tester')\" \n                            style=\"\n                                padding: 10px 20px;\n                                background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n                                color: white;\n                                border: none;\n                                border-radius: 6px;\n                                font-size: 14px;\n                                cursor: pointer;\n                                transition: 0.3s;\n                            \"\n                            onmouseover=\"this.style.transform='scale(1.05)'\"\n                            onmouseout=\"this.style.transform='scale(1)'\">\n                        \ud83d\udd04 \u0926\u0942\u0938\u0930\u093e \u0928\u0902\u092c\u0930 \u091f\u0947\u0938\u094d\u091f \u0915\u0930\u0947\u0902\n                    <\/button>\n                <\/div>\n                \n                <\/div>\n            `;\n            \n            \/\/ \u0921\u093f\u0938\u094d\u092a\u094d\u0932\u0947 \u0905\u092a\u0921\u0947\u091f \u0915\u0930\u0947\u0902\n            logicChartUpdateResult(\n                `\ud83e\uddea \u091f\u0947\u0938\u094d\u091f \u0930\u093f\u092a\u094b\u0930\u094d\u091f: ${testNumber} (${results.PASS.length}\/${totalLogics})`,\n                resultHTML\n            );\n            \n            \/\/ \u091a\u093e\u0930\u094d\u091f \u092e\u0947\u0902 \u0909\u0938 \u0928\u0902\u092c\u0930 \u0915\u094b \u0939\u093e\u0907\u0932\u093e\u0907\u091f \u0915\u0930\u0947\u0902\n            const cells = document.querySelectorAll('#chartTable tbody td');\n            cells.forEach(cell => {\n                if (cell.cellIndex === 0) return;\n                const cellText = cell.textContent.trim();\n                if (\/^\\d{2}$\/.test(cellText) && parseInt(cellText) === testNum) {\n                    cell.style.backgroundColor = '#4CAF50';\n                    cell.style.color = 'white';\n                    cell.style.fontWeight = 'bold';\n                    cell.style.boxShadow = '0 0 10px #4CAF50';\n                    cell.style.transform = 'scale(1.1)';\n                    setTimeout(() => {\n                        cell.style.transform = 'scale(1)';\n                    }, 300);\n                }\n            });\n            \n            \/\/ \u092a\u0949\u092a\u0905\u092a \u0928\u094b\u091f\u093f\u092b\u093f\u0915\u0947\u0936\u0928\n            logicChartShowPopup(\n                `\u2705 \u091f\u0947\u0938\u094d\u091f \u092a\u0942\u0930\u093e! ${testNumber} \u0915\u0947 \u0932\u093f\u090f ${results.PASS.length}\/${totalLogics} \u0932\u0949\u091c\u093f\u0915\u094d\u0938 \u0938\u0939\u0940 (${passPercentage}%)`\n            );\n        }\n        \n        <\/script>\n<style>\n    @keyframes pulseRed { 0% { box-shadow: 0 0 0 0 rgba(255,0,0,0.7); } 70% { box-shadow: 0 0 0 10px rgba(255,0,0,0); } 100% { box-shadow: 0 0 0 0 rgba(255,0,0,0); } }\n    @keyframes glowBlue { 0% { box-shadow: 0 0 5px #00d2ff; } 50% { box-shadow: 0 0 20px #00d2ff; } 100% { box-shadow: 0 0 5px #00d2ff; } }\n<\/style>\n\n<div id=\"vipPopupModal\" style=\"display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.9); z-index:99999; align-items:center; justify-content:center; backdrop-filter:blur(5px);\">\n    <div style=\"background:#1a1a1a; border:2px solid #ffd700; width:85%; max-width:350px; padding:20px; border-radius:15px; text-align:center; box-shadow:0 0 30px rgba(255, 215, 0, 0.5); position:relative;\">\n        <button onclick=\"document.getElementById('vipPopupModal').style.display='none'\" style=\"position:absolute; top:10px; right:10px; background:none; border:none; color:#fff; font-size:20px; cursor:pointer;\">\u2716<\/button>\n        <div style=\"font-size:40px; margin-bottom:10px;\">\ud83d\udc51<\/div>\n        <h2 style=\"color:#ffd700; margin:0 0 10px 0; font-family:sans-serif;\">VIP ACCESS ONLY<\/h2>\n        <p style=\"color:#ccc; font-size:13px; margin-bottom:20px;\">\n            Yeh feature sirf VIP members ke liye hai.<br>Full Access ke liye plan kharidein.\n        <\/p>\n        <button style=\"background:linear-gradient(to right, #ffd700, #ff8c00); color:#000; border:none; padding:10px 30px; font-weight:bold; border-radius:25px; cursor:pointer; width:100%;\">GET MEMBERSHIP<\/button>\n    <\/div>\n<\/div>\n\n<script>\n    \/\/ ==========================================\n    \/\/ \u2699\ufe0f SETTINGS: YAHAN SE LOCK\/UNLOCK KAREIN\n    \/\/ ==========================================\n    \n    \/\/ Check: Agar user ADMIN hai ... YA FIR ... User LOGGED IN hai, to TRUE karo.\nlet isVipUser = false;  \/\/ \u274c false = LOCKED (Sabko popup dikhega)\n                            \/\/ \u2705 true  = UNLOCKED (Batan kaam karenge)\n\n    \/\/ ==========================================\n\n    \/\/ 1. Toggle Show\/Hide Function\n    function toggleAdvancedTools() {\n        const content = document.getElementById('advancedToolsContent');\n        const arrow = document.getElementById('toolArrow');\n        if (content.style.display === 'none') {\n            content.style.display = 'flex';\n            arrow.innerHTML = '\u25b2';\n        } else {\n            content.style.display = 'none';\n            arrow.innerHTML = '\u25bc';\n        }\n    }\n\n    \/\/ 2. The Gatekeeper (Master Controller - FIXED)\n   function checkVip(type, param) {\n    \/\/ \ud83d\udd25 \u0928\u092f\u093e \u091a\u0947\u0915: \u0905\u0917\u0930 PIN \u0938\u093f\u0938\u094d\u091f\u092e \u0928\u0947 \u0907\u0938 \u092c\u091f\u0928 \u0915\u094b \u092a\u0939\u0932\u0947 \u0939\u0940 \u0935\u0948\u0932\u093f\u0921\u0947\u091f \u0915\u0930 \u0932\u093f\u092f\u093e \u0939\u0948, \u0924\u094b VIP \u091a\u0947\u0915 \u092c\u093e\u092f\u092a\u093e\u0938 \u0915\u0930\u0947\u0902\n    if (window.PINSystem && window.PINSystem.state.sessionCache && \n        (window.PINSystem.state.sessionCache[type] || window.PINSystem.state.sessionCache[param])) {\n        console.log('PIN already validated, bypassing VIP check');\n        \n        \/\/ \u0905\u092c \u0938\u0940\u0927\u0947 \u0932\u0949\u091c\u093f\u0915 \u0915\u094b \u0915\u0949\u0932 \u0915\u0930\u0947\u0902\n        try {\n            \/\/ --- SPECIAL CASES (Direct Function Calls) ---\n            if (type === 'load_monitor') { logicLoadMonitorInit(); return; }\n            if (type === 'ultra_jantri') { logicUltraJantriInit(); return; }\n            if (type === 'parcha_split') { openParchaSplitter(); return; }\n            if (type === 'parcha_master_v2') { openParchaSplitter(); return; }\n            if (type === 'cross_analyzer') { openCrossAnalyzer(); return; }\n            \n            \/\/ --- HARUF & CROSSING TOOLS ---\n            if (type === 'haruf_decoder') { logicHarufDecoderInit(); return; }\n            if (type === 'haruf_audit') { logicHarufAuditorInit(); return; }\n            if (type === 'crossing_ai') { logicCrossingAIInit(); return; }\n            \n            \/\/ --- TIME MACHINE & SCOUT ---\n            if (type === 'cross_time_machine') { logicCrossTimeMachineInit(); return; }\n            if (type === 'strategy_scout') { logicStrategyScoutInit(); return; }\n            \n            \/\/ --- LEDGERS & ACCOUNTS ---\n            if (type === 'party_ledger') { logicPartyLedgerInit(); return; }\n            if (type === 'gold_ledger') { logicGoldLedgerInit(); return; }\n            \n            \/\/ --- NEW DNA SERIES ---\n            if (type === 'dna_hunter') { logicDNAHunterAnalysisPro(); return; }\n            if (type === 'dna_month') { logicChartApplyLogic('monthly_pro'); return; }\n            if (type === 'dna_evo') { logicDNAEvolutionSuite(); return; }\n            if (type === 'dna_ghost') { logicGhostProtocol(); return; }\n            if (type === 'ghost_master_v3_1') { logicGhostMasterV31Init(); return; }\n\n            \/\/ --- PRO LOGIC TOOLS ---\n            if (type === 'crowd_killer') { logicContrarianInit(); return; }\n            if (type === 'tornado') { logicTornadoPro(); return; }\n            if (type === 'smart_gap') { logicGapBehaviorPro(); return; }\n            if (type === 'ai_verdict') { logicPro('ai_verdict'); return; }\n            if (type === 'gravity_magnet') { logicGravityMagnetPro(); return; }\n            if (type === 'sniper') { logicQuadrantSniperPro(); return; }\n            if (type === 'quadra') { logicQuadraCrossInit(); return; }\n            if (type === 'golden_ank') { logicGoldenAnkProInit(); return; }\n            if (type === 'battle_mode') { logicBattleModeInit(); return; }\n\n            \/\/ --- ADVANCED SYSTEMS ---\n            if (type === 'time_capsule') { logicTimeCapsuleInit(); return; }\n            if (type === 'sync_master') { logicSyncMasterInit(); return; }\n            if (type === 'diamond_cross') { logicDiamondCrossInit(); return; }\n            if (type === 'master_key') { logicMasterKeyInit(); return; }\n            if (type === 'gap_hunter') { logicGapHunterInit(); return; }\n            \n            \/\/ --- VISUAL & CHARTS ---\n            if (type === 'market_chart') { initCandleChart(); return; }\n            if (type === 'smart_khawal_pro') { logicSmartKhawalProInit(); return; }\n            if (type === 'advanced_smart_khaiwal') { logicAdvancedSmartKhaiwalInit(); return; }\n\n            \/\/ --- LALA JI & AUDIT ---\n            if (type === 'lala_ji') { logicLalaJiInit(); return; }\n            if (type === 'lala_audit') { logicLalaAuditorInit(); return; }\n\n            \/\/ --- AI & PHYSICS ---\n            if (type === 'ai_max') { logicAIProbabilityInit(); return; }\n            if (type === 'gravity_pull') { logicGravityPullInit(); return; }\n            if (type === 'pressure_pro') { logicPressureCookerPro(); return; }\n            \n            \/\/ --- OTHER VIP TOOLS ---\n            if (type === 'hedge_master') { logicHedgeMasterInit(); return; }\n            if (type === 'cross_time_machine') { logicCrossTimeMachineInit(); return; }\n            if (type === 'predict_death') { logicPredictDeathInit(); return; }\n            if (type === 'gap_wave') { logicGapWaveInit(); return; }\n            if (type === 'time_machine') { logicTimeMachineInit(); return; }\n            if (type === 'quantum_portfolio') { logicQuantumPortfolioInit(); return; }\n            if (type === 'history_decoder') { logicHistoryDecoderInit(); return; }\n            if (type === 'death_log') { logicDeathLogInit(); return; }\n            if (type === 'the_eliminator') { logicEliminatorInit(); return; }\n            if (type === 'time_traveller') { logicTimeTravellerInit(); return; }\n            if (type === 'eliminator_v2') { logicEliminatorV2Init(); return; }\n            if (type === 'eliminator_sentinel') { logicEliminatorSentinelInit(); return; }\n            \n            if (type === 'smart_portfolio') { logicSmartPortfolioInit(); return; }\n            if (type === 'stealth_parchi') { logicStealthParchiInit(); return; }\n            if (type === 'strategy_opt') { logicStrategyOptimizerInit(); return; }\n            if (type === 'smart_khaiwal') { logicSmartKhaiwalInit(); return; }\n            if (type === 'smart_khaiwal_pro') { logicSmartKhaiwalProInit(); return; }\n            if (type === 'pressure_pro') { logicPressureCookerPro(); return; }\n            if (param === 'tornado') { logicTornadoPro(); return; }\n            if (param === 'dna_sniper') { logicDNASniperPro(); return; }\n            if (param === 'dnahunter') { logicDNAHunterAnalysisPro(); return; }\n            if (param === 'gravity') { logicGravityMagnetPro(); return; }\n            if (param === 'quantum') { logicQuantumRootPro(); return; }\n            if (param === 'quadrant') { logicQuadrantSniperPro(); return; }\n            if (param === 'shield') { logicShieldSafeMode(); return; }\n            if (param === 'cosmic_matrix') { logicCosmicMatrixPro(); return; }\n            if (param === 'gap') { logicGapBehaviorPro(); return; }\n            if (param === 'gap_behavior') { logicGapBehaviorPro(); return; }\n            if (param === 'nas_tracker') { logicNasTrackerPro(); return; }\n            if (type === 'oracle_pro') { logicTheOraclePro(); return; }\n            if (type === 'age') { logicTheOraclePro(); return; }\n            if (type === 'khaiwal') { logicKhaiwalManagerInit(); return; }\n            if (type === 'crossing_god') { logicCrossingGodInit(); return; }\n            if (type === 'king_maker') { logicKingMakerInit(); return; }\n            if (type === 'haruf_mgr') { logicHarufManagerInit(); return; }\n            if (type === 'pakad') { logicPakadMasterInit(); return; }\n            if (type === 'scrubber') { logicDataScrubberInit(); return; }\n            if (type === 'ghost_jantri') { logicGhostJantriInit(); return; }\n            if (type === 'kiss_commander') { logicKissCommanderInit(); return; }\n            if (type === 'sentinel_master') { initSentinelMasterHub(); return; }\n\n            \/\/ --- NEXT GEN ANALYTICS (DEEP DATA) ---\n            if (type === 'post_mortem') { logicPostMortemInit(); return; }\n            if (type === 'market_vacuum') { logicMarketVacuumInit(); return; }\n            if (type === 'monte_carlo') { logicMonteCarloInit(); return; }\n            if (type === 'load_balancer') { logicLoadBalancerInit(); return; }\n            if (type === 'sonar_360') { logicSonarInit(); return; }\n            if (type === 'trend_dna') { logicTrendDNAInit(); return; }\n            if (type === 'risk_meter') { logicRiskMeterInit(); return; }\n            if (type === 'cipher_decrypt') { logicCipherInit(); return; }\n            if (type === 'vortex_theory') { logicVortexInit(); return; }\n            if (type === 'the_auditor') { logicAuditorInit(); return; }\n            if (type === 'the_machine') { logicQuantumLeapInit(); return; }\n            if (type === 'recursive_dna') { logicRecursiveDNAInit(); return; }\n            if (type === 'sector_killer') { logicSectorKillerInit(); return; }\n            if (type === 'harmonic_mean') { logicHarmonicMeanInit(); return; }\n            \n            if (type === 'ghost_jantri_v2') { logicGhostJantriV2Init(); return; }\n            if (type === 'ghost_jantri_v3') { logicGhostJantriV3Init(); return; }\n\n            \/\/ --- STANDARD TYPES ---\n            if (type === 'master_pro') { logicMasterKeyDeepScan(); return; }\n            if (type === 'ghost') { logicGhostProtocol(); return; }\n            if (type === 'dna_suite') { logicDNAEvolutionSuite(); return; }\n            if (type === 'eliminator') { logicTheEliminatorPro(); return; }\n            if (type === 'quadra') { logicQuadraCrossInit(); return; }\n            if (type === 'chart') {\n                logicChartApplyLogic(param);\n            }\n            else if (type === 'pro') {\n                logicPro(param);\n            }\n            else if (type === 'pressure_pro') {\n                logicPressureCookerPro();\n            }\n            else if (type === 'ultra') {\n                logicPressureCookerUltra();\n            }\n            else if (type === 'xray') {\n                logicPressureXRay();\n            }\n            else if (type === 'bot') {\n                runSuperBotScanner();\n            }\n            else if (type === 'nas') {\n                logicNasTrackerPro();\n            }\n            else if (type === 'gap_behavior') {\n                logicGapBehaviorPro();\n            }\n            else if (type === 'oracle') {\n                logicTheOracle();\n            }\n            else if (type === 'age') {\n                logicTheOracle();\n            }\n            else if (type === 'prob_max') {\n                logicAIProbabilityMax();\n            }\n            else {\n                console.log(\"Unknown Button Click:\", type, param);\n            }\n        } catch (err) {\n            console.error(\"Logic Error:\", err);\n            alert(\"\u26a0\ufe0f Button Error: \" + err.message);\n        }\n        return;\n    }\n\n    \/\/ 1. Lock Check\n    let isVipUser = false;\n    if (isVipUser === false) {\n        const modal = document.getElementById('vipPopupModal');\n        if(modal) modal.style.display = 'flex';\n        else alert(\"\ud83d\udd12 VIP Access Required!\");\n        return; \n    }\n\n    \/\/ 2. Logic Routing (\u092c\u093e\u0915\u0940 \u0915\u093e \u092a\u0941\u0930\u093e\u0928\u093e \u0915\u094b\u0921 \u092f\u0939\u093e\u0901 \u0930\u0939\u0947\u0917\u093e)\n    try {\n        \/\/ --- SPECIAL CASES (Direct Function Calls) ---\n        if (type === 'load_monitor') { logicLoadMonitorInit(); return; }\n        if (type === 'ultra_jantri') { logicUltraJantriInit(); return; }\n        if (type === 'parcha_split') { openParchaSplitter(); return; }\n        if (type === 'parcha_master_v2') { openParchaSplitter(); return; }\n        if (type === 'cross_analyzer') { openCrossAnalyzer(); return; }\n        \n        \/\/ --- HARUF & CROSSING TOOLS ---\n        if (type === 'haruf_decoder') { logicHarufDecoderInit(); return; }\n        if (type === 'haruf_audit') { logicHarufAuditorInit(); return; }\n        if (type === 'crossing_ai') { logicCrossingAIInit(); return; }\n        \n        \/\/ --- TIME MACHINE & SCOUT ---\n        if (type === 'cross_time_machine') { logicCrossTimeMachineInit(); return; }\n        if (type === 'strategy_scout') { logicStrategyScoutInit(); return; }\n        \n        \/\/ --- LEDGERS & ACCOUNTS ---\n        if (type === 'party_ledger') { logicPartyLedgerInit(); return; }\n        if (type === 'gold_ledger') { logicGoldLedgerInit(); return; }\n        \n        \/\/ --- NEW DNA SERIES ---\n        if (type === 'dna_hunter') { logicDNAHunterAnalysisPro(); return; }\n        if (type === 'dna_month') { logicChartApplyLogic('monthly_pro'); return; }\n        if (type === 'dna_evo') { logicDNAEvolutionSuite(); return; }\n        if (type === 'dna_ghost') { logicGhostProtocol(); return; }\n        if (type === 'ghost_master_v3_1') { logicGhostMasterV31Init(); return; }\n\n        \/\/ --- PRO LOGIC TOOLS ---\n        if (type === 'crowd_killer') { logicContrarianInit(); return; }\n        if (type === 'tornado') { logicTornadoPro(); return; }\n        if (type === 'smart_gap') { logicGapBehaviorPro(); return; }\n        if (type === 'ai_verdict') { logicPro('ai_verdict'); return; }\n        if (type === 'gravity_magnet') { logicGravityMagnetPro(); return; }\n        if (type === 'sniper') { logicQuadrantSniperPro(); return; }\n        if (type === 'quadra') { logicQuadraCrossInit(); return; }\n        if (type === 'golden_ank') { logicGoldenAnkProInit(); return; }\n        if (type === 'battle_mode') { logicBattleModeInit(); return; }\n\n        \/\/ --- ADVANCED SYSTEMS ---\n        if (type === 'time_capsule') { logicTimeCapsuleInit(); return; }\n        if (type === 'sync_master') { logicSyncMasterInit(); return; }\n        if (type === 'diamond_cross') { logicDiamondCrossInit(); return; }\n        if (type === 'master_key') { logicMasterKeyInit(); return; }\n        if (type === 'gap_hunter') { logicGapHunterInit(); return; }\n        \n        \/\/ --- VISUAL & CHARTS ---\n        if (type === 'market_chart') { initCandleChart(); return; }\n        if (type === 'smart_khawal_pro') { logicSmartKhawalProInit(); return; }\n        if (type === 'advanced_smart_khaiwal') { logicAdvancedSmartKhaiwalInit(); return; }\n\n        \/\/ --- LALA JI & AUDIT ---\n        if (type === 'lala_ji') { logicLalaJiInit(); return; }\n        if (type === 'lala_audit') { logicLalaAuditorInit(); return; }\n\n        \/\/ --- AI & PHYSICS ---\n        if (type === 'ai_max') { logicAIProbabilityInit(); return; }\n        if (type === 'gravity_pull') { logicGravityPullInit(); return; }\n        if (type === 'pressure_pro') { logicPressureCookerPro(); return; }\n        \n        \/\/ --- OTHER VIP TOOLS ---\n        if (type === 'haruf_decoder') { logicHarufDecoderInit(); return; }\n        if (type === 'haruf_audit') { logicHarufAuditorInit(); return; }\n        if (type === 'crossing_ai') { logicCrossingAIInit(); return; }\n        if (type === 'hedge_master') { logicHedgeMasterInit(); return; }\n        if (type === 'ultra_jantri') { logicUltraJantriInit(); return; }\n        if (type === 'cross_time_machine') { logicCrossTimeMachineInit(); return; }\n        if (type === 'predict_death') { logicPredictDeathInit(); return; }\n        if (type === 'gap_wave') { logicGapWaveInit(); return; }\n        if (type === 'time_machine') { logicTimeMachineInit(); return; }\n        if (type === 'quantum_portfolio') { logicQuantumPortfolioInit(); return; }\n        if (type === 'history_decoder') { logicHistoryDecoderInit(); return; }\n        if (type === 'death_log') { logicDeathLogInit(); return; }\n        if (type === 'the_eliminator') { logicEliminatorInit(); return; }\n        if (type === 'time_traveller') { logicTimeTravellerInit(); return; }\n        if (type === 'eliminator_v2') {\n            console.log(\"Initializing Eliminator V2.0...\");\n            logicEliminatorV2Init();\n            return; \n        }\n\n        if (type === 'eliminator_sentinel') {\n            console.log(\"Deploying Sentinel AI Engine...\");\n            logicEliminatorSentinelInit();\n            return;\n        }\n        \n        if (type === 'smart_portfolio') { logicSmartPortfolioInit(); return; }\n        if (type === 'stealth_parchi') { logicStealthParchiInit(); return; }\n        if (type === 'strategy_opt') { logicStrategyOptimizerInit(); return; }\n        if (type === 'smart_khaiwal') { logicSmartKhaiwalInit(); return; }\n        if (type === 'smart_khaiwal_pro') { logicSmartKhaiwalProInit(); return; }\n        if (type === 'pressure_pro') { logicPressureCookerPro(); return; }\n        if (param === 'tornado') { logicTornadoPro(); return; }\n        if (param === 'dna_sniper') { logicDNASniperPro(); return; }\n        if (param === 'dnahunter') { logicDNAHunterAnalysisPro(); return; }\n        if (param === 'gravity') { logicGravityMagnetPro(); return; }\n        if (param === 'quantum') { logicQuantumRootPro(); return; }\n        if (param === 'quadrant') { logicQuadrantSniperPro(); return; }\n        if (param === 'shield') { logicShieldSafeMode(); return; }\n        if (param === 'cosmic_matrix') { logicCosmicMatrixPro(); return; }\n        if (param === 'gap') { logicGapBehaviorPro(); return; }\n        if (param === 'gap_behavior') { logicGapBehaviorPro(); return; }\n        if (param === 'nas_tracker') { logicNasTrackerPro(); return; }\n        if (type === 'oracle_pro') { logicTheOraclePro(); return; }\n        if (type === 'age') { logicTheOraclePro(); return; }\n        if (type === 'khaiwal') { logicKhaiwalManagerInit(); return; }\n        if (type === 'crossing_god') { logicCrossingGodInit(); return; }\n        if (type === 'king_maker') { logicKingMakerInit(); return; }\n        if (type === 'haruf_mgr') { logicHarufManagerInit(); return; }\n        if (type === 'pakad') { logicPakadMasterInit(); return; }\n        if (type === 'scrubber') { logicDataScrubberInit(); return; }\n        if (type === 'ghost_jantri') { logicGhostJantriInit(); return; }\n        if (type === 'kiss_commander') { logicKissCommanderInit(); return; }\n        if (type === 'sentinel_master') {\n            console.log(\"System Check: All 3 Engines Online...\");\n            initSentinelMasterHub(); \n            return;\n        }\n\n        \/\/ --- NEXT GEN ANALYTICS (DEEP DATA) ---\n        if (type === 'post_mortem') { logicPostMortemInit(); return; }\n        if (type === 'market_vacuum') { logicMarketVacuumInit(); return; }\n        if (type === 'monte_carlo') { logicMonteCarloInit(); return; }\n        if (type === 'load_balancer') { logicLoadBalancerInit(); return; }\n        if (type === 'sonar_360') { logicSonarInit(); return; }\n        if (type === 'trend_dna') { logicTrendDNAInit(); return; }\n        if (type === 'risk_meter') { logicRiskMeterInit(); return; }\n        if (type === 'cipher_decrypt') { logicCipherInit(); return; }\n        if (type === 'vortex_theory') { logicVortexInit(); return; }\n        if (type === 'the_auditor') { logicAuditorInit(); return; }\n        if (type === 'the_machine') { logicQuantumLeapInit(); return; }\n        if (type === 'recursive_dna') { logicRecursiveDNAInit(); return; }\n        if (type === 'sector_killer') { logicSectorKillerInit(); return; }\n        if (type === 'harmonic_mean') { logicHarmonicMeanInit(); return; }\n        \n        if (type === 'ghost_jantri_v2') { \n            logicGhostJantriV2Init(); \n            return; \n        }\n        if (type === 'ghost_jantri_v3') { \n            logicGhostJantriV3Init(); \n            return; \n        }\n\n        \/\/ --- STANDARD TYPES ---\n        if (type === 'master_pro') { logicMasterKeyDeepScan(); return; }\n        if (type === 'ghost') { logicGhostProtocol(); return; }\n        if (type === 'dna_suite') { logicDNAEvolutionSuite(); return; }\n        if (type === 'eliminator') { logicTheEliminatorPro(); return; }\n        if (type === 'quadra') { logicQuadraCrossInit(); return; }\n        if (type === 'chart') {\n            logicChartApplyLogic(param);\n        }\n        else if (type === 'pro') {\n            logicPro(param);\n        }\n        else if (type === 'pressure_pro') {\n            logicPressureCookerPro();\n        }\n        else if (type === 'ultra') {\n            logicPressureCookerUltra();\n        }\n        else if (type === 'xray') {\n            logicPressureXRay();\n        }\n        else if (type === 'bot') {\n            runSuperBotScanner();\n        }\n        else if (type === 'nas') {\n            logicNasTrackerPro();\n        }\n        else if (type === 'gap_behavior') {\n            logicGapBehaviorPro();\n        }\n        else if (type === 'oracle') {\n            logicTheOracle();\n        }\n        else if (type === 'age') {\n            logicTheOracle();\n        }\n        else if (type === 'prob_max') {\n            logicAIProbabilityMax();\n        }\n        else {\n            console.log(\"Unknown Button Click:\", type, param);\n        }\n    } catch (err) {\n        console.error(\"Logic Error:\", err);\n        alert(\"\u26a0\ufe0f Button Error: \" + err.message);\n    }\n}\n\n<\/script>\n        \n\n\n\n<div class=\"logic-guide-container\">\n\n    <h1 class=\"guide-title\">Logic Chart \u2013 Advance Logic Buttons Guide<\/h1>\n    <p class=\"guide-intro\">\n        Yeh page aapko sabhi logic buttons ka use, unka meaning, aur unka working system detail me samjhata hai. \n        Saare points easy Hindi me likhe gaye hain, jisse aapko chart analysis fast aur accurate mile.\n    <\/p>\n\n    <!-- Group Headings + Buttons + Description -->\n    <div class=\"logic-group\">\n\n        <h2 class=\"group-title\">Group A \u2013 Basic Logic<\/h2>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Taak (Odd Number)<\/h3>\n            <p class=\"logic-desc\">\n                Taak button odd numbers ko highlight karta hai (1,3,5,7,9).  \n                Chart me kaun-kaun se numbers odd aaye hain woh turant samajh me aa jata hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Jufat (Even Number)<\/h3>\n            <p class=\"logic-desc\">\n                Jufat even numbers ko highlight karta hai (0,2,4,6,8).  \n                Ye logic pattern aur streaks ko detect karne me helpful hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">20\u201390 Logic<\/h3>\n            <p class=\"logic-desc\">\n                20 se 90 ke beech ke numbers ko highlight karta hai.  \n                Ye mid-range performance aur stability check karne ke liye best hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">50\u201350 Logic<\/h3>\n            <p class=\"logic-desc\">\n                50 se niche wale numbers blue, aur 50 se upar wale orange color me dikhte hain.  \n                Ye \u201clow\u2013high pattern\u201d ko clearly show karta hai.\n            <\/p>\n        <\/div>\n\n    <\/div>\n\n\n    <!-- Group B -->\n    <div class=\"logic-group\">\n\n        <h2 class=\"group-title\">Group B \u2013 Smart Analysis Logic<\/h2>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Missing Numbers<\/h3>\n            <p class=\"logic-desc\">\n                Chart me 00 se 99 tak kaun-kaun se numbers abhi tak nahi aaye hain, woh batata hai.  \n                Prediction me bahut important role hota hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Hot &#038; Cold Numbers<\/h3>\n            <p class=\"logic-desc\">\n                Sabse zyada baar aane wale (Hot) aur sabse kam baar aane wale (Cold) numbers highlight hote hain.  \n                Strategy banane me bahut helpful.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">First &#038; Last Digit<\/h3>\n            <p class=\"logic-desc\">\n                Kaunse starting digit (0-9) aur ending digit sabse zyada repeat ho rahe hain, yeh show karta hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Mirror Numbers<\/h3>\n            <p class=\"logic-desc\">\n                Jinke mirror (reverse) abhi chart me nahi aaye, unhe highlight karta hai.  \n                Prediction me mirror logic kaafi important hota hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Repeat Cycle<\/h3>\n            <p class=\"logic-desc\">\n                Kaun-kaun se numbers baar-baar repeat ho rahe hain, woh identify karta hai.  \n                Strong upcoming numbers ke hints deta hai.\n            <\/p>\n        <\/div>\n\n    <\/div>\n\n\n    <!-- Group C -->\n    <div class=\"logic-group\">\n\n        <h2 class=\"group-title\">Group C \u2013 Advance Pattern &#038; AI Logics<\/h2>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Lucky Number<\/h3>\n            <p class=\"logic-desc\">\n                Chart me sabse zyada baar aaya hua number \u2014 yeh aapka Lucky Number hota hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Back-to-Back<\/h3>\n            <p class=\"logic-desc\">\n                Jo numbers lagatar (consecutive days) aaye hain, unhe highlight karta hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Sum Logic<\/h3>\n            <p class=\"logic-desc\">\n                Jinke digits ka sum 5 se 9 ke beech hota hai (jaise 23 = 2+3=5).  \n                Ye numbers kaafi powerful hote hain.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Next Day Predictor<\/h3>\n            <p class=\"logic-desc\">\n                Recent pattern ko analyse karke next day ka expected guess highlight karta hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Jodi Logic<\/h3>\n            <p class=\"logic-desc\">\n                Chart me most common Jodi pair kaun sa hai, woh batata hai.  \n                Jodi players ke liye very useful.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Pattern Finder<\/h3>\n            <p class=\"logic-desc\">\n                Chart me repeating mathematical patterns (gap, sequence, waves) detect karta hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Master Guess<\/h3>\n            <p class=\"logic-desc\">\n                Hot + Mirror + Repeat + Recent ka combination \u2014 ek super powerful combined guess.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">AI Super Guess<\/h3>\n            <p class=\"logic-desc\">\n                AI frequency system, recent trend &#038; small patterns ko combine karke final AI guess deta hai.\n            <\/p>\n        <\/div>\n\n    <\/div>\n\n\n\n    <!-- Group D \u2013 Ultra Advance AI -->\n    <div class=\"logic-group\">\n\n        <h2 class=\"group-title\">Group D \u2013 Ultra Advance AI &#038; Deep Analysis<\/h2>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">AI Neural Burst<\/h3>\n            <p class=\"logic-desc\">\n                AI neural pattern engine last 200+ moves ka analysis karke burst prediction deta hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Reverse Gap<\/h3>\n            <p class=\"logic-desc\">\n                Kaun se numbers fast repeat hone wale hain, reverse speed calculator se detect karta hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">End Digit Flow<\/h3>\n            <p class=\"logic-desc\">\n                Ending digit (0-9) ka strong flow trend highlight karta hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Pair Chain<\/h3>\n            <p class=\"logic-desc\">\n                Last number ke baad historically kaun se number aate rahe hain, chain ke form me show karta hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Line Stability<\/h3>\n            <p class=\"logic-desc\">\n                Kaun se month lines stable hai aur kaun unstable \u2014 full stability map.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Angle Predictor<\/h3>\n            <p class=\"logic-desc\">\n                360-degree angle cycle formula se special angle-based repeating numbers highlight karta hai.\n            <\/p>\n        <\/div>\n\n        <div class=\"logic-box\">\n            <h3 class=\"logic-name\">Cycle Breaker<\/h3>\n            <p class=\"logic-desc\">\n                Kaun se numbers next month cycle todne wale hain, unhe highlight karta hai.  \n                Ye long-term advanced prediction ke liye best hai.\n            <\/p>\n        <\/div>\n\n    <\/div>\n\n<\/div>\n\n\n\n<!-- STYLE -->\n<style>\n.logic-guide-container {\n    max-width: 900px;\n    margin: 20px auto;\n    padding: 20px;\n    background: #ffffff;\n    border: 2px solid #eac440;\n    border-radius: 14px;\n    box-shadow: 0 0 15px rgba(255, 215, 0, 0.25);\n    font-family: 'Poppins', sans-serif;\n    color: #000;\n}\n\n.guide-title {\n    text-align: center;\n    font-size: 26px;\n    font-weight: 700;\n    color: #000;\n    margin-bottom: 6px;\n    border-bottom: 2px solid #eac440;\n    padding-bottom: 6px;\n}\n\n.guide-intro {\n    text-align: center;\n    font-size: 14px;\n    color: #444;\n    margin-bottom: 20px;\n}\n\n.group-title {\n    font-size: 20px;\n    margin-top: 25px;\n    color: #fff;\n    padding: 8px 12px;\n    border-radius: 8px;\n    background: #000;\n    border-left: 6px solid #eac440;\n}\n\n.logic-box {\n    margin-top: 12px;\n    padding: 14px;\n    background: #f8f8f8;\n    border: 1px solid #eee;\n    border-radius: 8px;\n}\n\n.logic-name {\n    margin: 0;\n    font-size: 16px;\n    font-weight: 600;\n    color: #000;\n}\n\n.logic-desc {\n    margin: 4px 0 0 0;\n    font-size: 13px;\n    color: #333;\n    line-height: 1.45;\n}\n\n@media(max-width: 600px){\n    .guide-title { font-size: 20px; }\n    .logic-box { padding: 10px; }\n    .logic-name { font-size: 15px; }\n    .logic-desc { font-size: 12px; }\n}\n<\/style>\n\n\n\n<div class=\"logic-warning-box\">\n    <h2 class=\"warning-title\">\u092e\u0939\u0924\u094d\u0935\u092a\u0942\u0930\u094d\u0923 \u0938\u0942\u091a\u0928\u093e (Important Disclaimer)<\/h2>\n    <p class=\"warning-text\">\n        \u0907\u0938 \u092a\u094d\u0932\u0947\u091f\u092b\u0949\u0930\u094d\u092e \u092e\u0947\u0902 \u0926\u093f\u0916\u093e\u090f \u0917\u090f \u0938\u092d\u0940 \u091f\u0942\u0932, \u0932\u0949\u091c\u093f\u0915, AI \u0938\u093f\u0938\u094d\u091f\u092e \u0914\u0930 \u090f\u0928\u093e\u0932\u093f\u0938\u093f\u0938 \u0915\u0947\u0935\u0932 \n        <strong>\u0921\u0947\u091f\u093e \u092a\u0948\u091f\u0930\u094d\u0928<\/strong>, <strong>\u0928\u0902\u092c\u0930 \u0939\u093f\u0938\u094d\u091f\u094d\u0930\u0940<\/strong> \u0914\u0930 <strong>\u0938\u094d\u091f\u0948\u091f\u093f\u0938\u094d\u091f\u093f\u0915\u0932 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u0936\u0928<\/strong> \u0915\u0947 \u0906\u0927\u093e\u0930 \u092a\u0930 \u092c\u0928\u093e\u090f \u0917\u090f \u0939\u0948\u0902\u0964 \n        \u092f\u0939 \u0915\u093f\u0938\u0940 \u092d\u0940 \u092a\u094d\u0930\u0915\u093e\u0930 \u0915\u093e \u092b\u093f\u0915\u094d\u0938, \u0917\u093e\u0930\u0902\u091f\u0940, \u092f\u093e 100% \u0930\u093f\u091c\u093c\u0932\u094d\u091f \u0928\u0939\u0940\u0902 \u0939\u0948\u0964\n    <\/p>\n\n    <p class=\"warning-text\">\n        \u092f\u0939 \u0935\u0947\u092c\u0938\u093e\u0907\u091f\/\u0938\u093f\u0938\u094d\u091f\u092e \u0915\u0947\u0935\u0932 <strong>\u090f\u0928\u093e\u0932\u093f\u0938\u093f\u0938 \u091f\u0942\u0932<\/strong> \u0909\u092a\u0932\u092c\u094d\u0927 \u0915\u0930\u093e\u0924\u093e \u0939\u0948\u0964  \n        \u0915\u093f\u0938\u0940 \u092d\u0940 \u0917\u0947\u092e \u092e\u0947\u0902 \u0916\u0947\u0932\u0928\u093e, \u0928\u0902\u092c\u0930 \u0932\u0917\u093e\u0928\u093e, \u092f\u093e \u0915\u093f\u0938\u0940 \u092a\u094d\u0930\u0947\u0921\u093f\u0915\u094d\u0936\u0928 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0928\u093e  \n        <strong>\u092a\u0942\u0930\u0940 \u0924\u0930\u0939 \u0938\u0947 \u092f\u0942\u091c\u093c\u0930 \u0915\u093e \u0905\u092a\u0928\u093e \u0928\u093f\u0930\u094d\u0923\u092f<\/strong> \u0914\u0930 \u0905\u092a\u0928\u0940 \u0939\u0940 \u091c\u093f\u092e\u094d\u092e\u0947\u0926\u093e\u0930\u0940 \u0939\u094b\u0924\u0940 \u0939\u0948\u0964\n    <\/p>\n\n    <p class=\"warning-text\">\n        \u092f\u0926\u093f \u0906\u092a \u0915\u093f\u0938\u0940 \u092d\u0940 \u092a\u094d\u0930\u0915\u093e\u0930 \u0915\u0947 \u0938\u091f\u094d\u091f\u093e\/\u0917\u0948\u092e\u094d\u092c\u0932\u093f\u0902\u0917 \u092f\u093e \u0917\u0947\u092e\u093f\u0902\u0917 \u092e\u0947\u0902 \u092d\u093e\u0917 \u0932\u0947\u0924\u0947 \u0939\u0948\u0902  \n        \u0924\u094b \u0909\u0938\u0938\u0947 \u0939\u094b\u0928\u0947 \u0935\u093e\u0932\u093e <strong>\u0932\u093e\u092d \u092f\u093e \u0939\u093e\u0928\u093f \u0926\u094b\u0928\u094b\u0902 \u0906\u092a\u0915\u0940 \u0905\u092a\u0928\u0940 \u091c\u093f\u092e\u094d\u092e\u0947\u0926\u093e\u0930\u0940<\/strong> \u0939\u0948\u0964  \n        \u0907\u0938 \u092a\u094d\u0932\u0947\u091f\u092b\u0949\u0930\u094d\u092e, \u0921\u0947\u0935\u0932\u092a\u0930 \u092f\u093e \u091f\u0940\u092e \u0915\u0940 \u0915\u093f\u0938\u0940 \u092d\u0940 \u092a\u094d\u0930\u0915\u093e\u0930 \u0938\u0947 \u0915\u094b\u0908 \u091c\u093f\u092e\u094d\u092e\u0947\u0926\u093e\u0930\u0940 \u0928\u0939\u0940\u0902 \u0939\u094b\u0917\u0940\u0964\n    <\/p>\n\n    <p class=\"warning-text\">\n        \u0939\u092e \u0915\u093f\u0938\u0940 \u092d\u0940 \u092a\u094d\u0930\u0915\u093e\u0930 \u0915\u0947 \u0932\u0949\u0938, \u0928\u0941\u0915\u0938\u093e\u0928, \u0917\u093c\u0932\u0924 \u092a\u094d\u0930\u0947\u0921\u093f\u0915\u094d\u0936\u0928 \u092f\u093e \u092b\u093e\u0907\u0928\u0947\u0902\u0936\u093f\u092f\u0932 \u0930\u093f\u0938\u094d\u0915 \u0915\u0947 \u0932\u093f\u090f  \n        <strong>\u091c\u093f\u092e\u094d\u092e\u0947\u0926\u093e\u0930 \u0928\u0939\u0940\u0902<\/strong> \u0939\u0948\u0902\u0964  \n        \u0938\u092d\u0940 \u092b\u0940\u091a\u0930\u094d\u0938, \u091f\u0942\u0932\u094d\u0938 \u0914\u0930 \u0932\u0949\u091c\u093f\u0915 \u0915\u0947\u0935\u0932 <strong>\u0936\u093f\u0915\u094d\u0937\u0923 \u0914\u0930 \u090f\u0928\u093e\u0932\u093f\u0938\u093f\u0938 \u0909\u0926\u094d\u0926\u0947\u0936\u094d\u092f<\/strong> \u0915\u0947 \u0932\u093f\u090f \u092c\u0928\u093e\u090f \u0917\u090f \u0939\u0948\u0902\u0964\n    <\/p>\n\n    <p class=\"warning-highlight\">\n        \u0917\u0947\u092e \u0916\u0947\u0932\u0928\u093e \u092a\u0942\u0930\u0940 \u0924\u0930\u0939 \u0938\u0947 \u0906\u092a\u0915\u0940 \u092e\u0930\u094d\u091c\u093c\u0940 \u0914\u0930 \u091c\u094b\u0916\u093f\u092e \u092a\u0930 \u0928\u093f\u0930\u094d\u092d\u0930 \u0939\u0948\u0964  \n        \u0907\u0938 \u092a\u094d\u0932\u0947\u091f\u092b\u0949\u0930\u094d\u092e \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930 \u0915\u0947 \u0906\u092a \u0938\u0939\u092e\u0924 \u0939\u094b\u0924\u0947 \u0939\u0948\u0902 \u0915\u093f \u0915\u093f\u0938\u0940 \u092d\u0940 \u092a\u094d\u0930\u0915\u093e\u0930 \u0915\u0940 \u0939\u093e\u0928\u093f \u0915\u0947 \u0932\u093f\u090f  \n        \u0938\u093f\u0938\u094d\u091f\u092e, \u0921\u0947\u0935\u0932\u092a\u0930 \u0914\u0930 \u091f\u0940\u092e \u0915\u094b \u091c\u093f\u092e\u094d\u092e\u0947\u0926\u093e\u0930 \u0928\u0939\u0940\u0902 \u0920\u0939\u0930\u093e\u092f\u093e \u091c\u093e \u0938\u0915\u0924\u093e\u0964\n    <\/p>\n<\/div>\n\n<style>\n.logic-warning-box {\n    margin-top: 25px;\n    padding: 18px;\n    background: #fff8dc;\n    border: 2px solid #e0b100;\n    border-radius: 10px;\n    box-shadow: 0 0 12px rgba(255, 215, 0, 0.25);\n    font-family: 'Poppins', sans-serif;\n}\n\n.warning-title {\n    font-size: 18px;\n    font-weight: 700;\n    color: #a10000;\n    margin-bottom: 8px;\n    border-bottom: 2px solid #e0b100;\n    padding-bottom: 5px;\n}\n\n.warning-text {\n    font-size: 12px;\n    color: #222;\n    line-height: 1.45;\n    margin-bottom: 8px;\n}\n\n.warning-highlight {\n    font-size: 13px;\n    color: #000;\n    font-weight: 600;\n    background: #ffe9a3;\n    border-left: 4px solid #ff9800;\n    padding: 8px;\n    border-radius: 6px;\n    margin-top: 10px;\n}\n<\/style>\n","protected":false},"excerpt":{"rendered":"<p>Logic Chart \u2013 Advance Logic Buttons Guide Yeh page aapko sabhi logic buttons ka use, unka meaning, aur unka working system detail me samjhata hai.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"wf_page_folders":[19],"class_list":["post-28524","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Logic Chart \u2013 Advance Logic Buttons Guide Yeh page aapko sabhi logic buttons ka use, unka meaning, aur unka working system detail me samjhata hai. Saare points easy Hindi me likhe gaye hain, jisse aapko chart analysis fast aur accurate mile. Group A \u2013 Basic Logic Taak (Odd Number) Taak button odd numbers ko highlight\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Shri Star Satta king \u00bb \u0928\u0902\u092c\u0930 \u0935\u0928 \u0938\u091f\u094d\u091f\u093e \u0930\u093f\u091c\u0932\u094d\u091f \u092a\u094d\u0932\u0947\u091f\u092b\u0949\u0930\u094d\u092e\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Logic Chart: Advanced Logic Buttons Guide from A to D\" \/>\n\t\t<meta property=\"og:description\" content=\"Logic Chart \u2013 Advance Logic Buttons Guide Yeh page aapko sabhi logic buttons ka use, unka meaning, aur unka working system detail me samjhata hai. Saare points easy Hindi me likhe gaye hain, jisse aapko chart analysis fast aur accurate mile. Group A \u2013 Basic Logic Taak (Odd Number) Taak button odd numbers ko highlight\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/shristarsattaking.com\/wp-content\/uploads\/2024\/01\/cropped-cropped-cropped-Gold-Star-Sticker-PNG-File.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/shristarsattaking.com\/wp-content\/uploads\/2024\/01\/cropped-cropped-cropped-Gold-Star-Sticker-PNG-File.png\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-03-29T19:01:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-06-26T17:15:21+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Logic Chart: Advanced Logic Buttons Guide from A to D\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Logic Chart \u2013 Advance Logic Buttons Guide Yeh page aapko sabhi logic buttons ka use, unka meaning, aur unka working system detail me samjhata hai. Saare points easy Hindi me likhe gaye hain, jisse aapko chart analysis fast aur accurate mile. Group A \u2013 Basic Logic Taak (Odd Number) Taak button odd numbers ko highlight\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/shristarsattaking.com\/wp-content\/uploads\/2024\/01\/cropped-cropped-cropped-Gold-Star-Sticker-PNG-File.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/shristarsattaking.com\\\/index.php\\\/mayur-satta-king-chart-check-now\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/shristarsattaking.com#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/shristarsattaking.com\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/shristarsattaking.com\\\/index.php\\\/mayur-satta-king-chart-check-now\\\/#listItem\",\"name\":\"MAYUR SATTA KING CHART &#8211; CHECK NOW\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/shristarsattaking.com\\\/index.php\\\/mayur-satta-king-chart-check-now\\\/#listItem\",\"position\":2,\"name\":\"MAYUR SATTA KING CHART &#8211; CHECK NOW\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/shristarsattaking.com#listItem\",\"name\":\"Home\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/shristarsattaking.com\\\/#organization\",\"name\":\"shristarsattaking.com\",\"description\":\"\\u0928\\u0902\\u092c\\u0930 \\u0935\\u0928 \\u0938\\u091f\\u094d\\u091f\\u093e \\u0930\\u093f\\u091c\\u0932\\u094d\\u091f \\u092a\\u094d\\u0932\\u0947\\u091f\\u092b\\u0949\\u0930\\u094d\\u092e\",\"url\":\"https:\\\/\\\/shristarsattaking.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/shristarsattaking.com\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/cropped-cropped-cropped-Gold-Star-Sticker-PNG-File.png\",\"@id\":\"https:\\\/\\\/shristarsattaking.com\\\/index.php\\\/mayur-satta-king-chart-check-now\\\/#organizationLogo\",\"width\":512,\"height\":512},\"image\":{\"@id\":\"https:\\\/\\\/shristarsattaking.com\\\/index.php\\\/mayur-satta-king-chart-check-now\\\/#organizationLogo\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/shristarsattaking.com\\\/index.php\\\/mayur-satta-king-chart-check-now\\\/#webpage\",\"url\":\"https:\\\/\\\/shristarsattaking.com\\\/index.php\\\/mayur-satta-king-chart-check-now\\\/\",\"name\":\"Logic Chart: Advanced Logic Buttons Guide from A to D\",\"description\":\"Logic Chart \\u2013 Advance Logic Buttons Guide Yeh page aapko sabhi logic buttons ka use, unka meaning, aur unka working system detail me samjhata hai. Saare points easy Hindi me likhe gaye hain, jisse aapko chart analysis fast aur accurate mile. Group A \\u2013 Basic Logic Taak (Odd Number) Taak button odd numbers ko highlight\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/shristarsattaking.com\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/shristarsattaking.com\\\/index.php\\\/mayur-satta-king-chart-check-now\\\/#breadcrumblist\"},\"datePublished\":\"2026-03-30T00:31:14+05:30\",\"dateModified\":\"2026-06-26T22:45:21+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/shristarsattaking.com\\\/#website\",\"url\":\"https:\\\/\\\/shristarsattaking.com\\\/\",\"name\":\"Shri star satta king\",\"alternateName\":\"Satta King shri star\",\"description\":\"\\u0928\\u0902\\u092c\\u0930 \\u0935\\u0928 \\u0938\\u091f\\u094d\\u091f\\u093e \\u0930\\u093f\\u091c\\u0932\\u094d\\u091f \\u092a\\u094d\\u0932\\u0947\\u091f\\u092b\\u0949\\u0930\\u094d\\u092e\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/shristarsattaking.com\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Logic Chart: Advanced Logic Buttons Guide from A to D","description":"Logic Chart \u2013 Advance Logic Buttons Guide Yeh page aapko sabhi logic buttons ka use, unka meaning, aur unka working system detail me samjhata hai. Saare points easy Hindi me likhe gaye hain, jisse aapko chart analysis fast aur accurate mile. Group A \u2013 Basic Logic Taak (Odd Number) Taak button odd numbers ko highlight","canonical_url":"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/shristarsattaking.com#listItem","position":1,"name":"Home","item":"https:\/\/shristarsattaking.com","nextItem":{"@type":"ListItem","@id":"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/#listItem","name":"MAYUR SATTA KING CHART &#8211; CHECK NOW"}},{"@type":"ListItem","@id":"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/#listItem","position":2,"name":"MAYUR SATTA KING CHART &#8211; CHECK NOW","previousItem":{"@type":"ListItem","@id":"https:\/\/shristarsattaking.com#listItem","name":"Home"}}]},{"@type":"Organization","@id":"https:\/\/shristarsattaking.com\/#organization","name":"shristarsattaking.com","description":"\u0928\u0902\u092c\u0930 \u0935\u0928 \u0938\u091f\u094d\u091f\u093e \u0930\u093f\u091c\u0932\u094d\u091f \u092a\u094d\u0932\u0947\u091f\u092b\u0949\u0930\u094d\u092e","url":"https:\/\/shristarsattaking.com\/","logo":{"@type":"ImageObject","url":"https:\/\/shristarsattaking.com\/wp-content\/uploads\/2024\/01\/cropped-cropped-cropped-Gold-Star-Sticker-PNG-File.png","@id":"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/#organizationLogo","width":512,"height":512},"image":{"@id":"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/#organizationLogo"}},{"@type":"WebPage","@id":"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/#webpage","url":"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/","name":"Logic Chart: Advanced Logic Buttons Guide from A to D","description":"Logic Chart \u2013 Advance Logic Buttons Guide Yeh page aapko sabhi logic buttons ka use, unka meaning, aur unka working system detail me samjhata hai. Saare points easy Hindi me likhe gaye hain, jisse aapko chart analysis fast aur accurate mile. Group A \u2013 Basic Logic Taak (Odd Number) Taak button odd numbers ko highlight","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/shristarsattaking.com\/#website"},"breadcrumb":{"@id":"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/#breadcrumblist"},"datePublished":"2026-03-30T00:31:14+05:30","dateModified":"2026-06-26T22:45:21+05:30"},{"@type":"WebSite","@id":"https:\/\/shristarsattaking.com\/#website","url":"https:\/\/shristarsattaking.com\/","name":"Shri star satta king","alternateName":"Satta King shri star","description":"\u0928\u0902\u092c\u0930 \u0935\u0928 \u0938\u091f\u094d\u091f\u093e \u0930\u093f\u091c\u0932\u094d\u091f \u092a\u094d\u0932\u0947\u091f\u092b\u0949\u0930\u094d\u092e","inLanguage":"en-US","publisher":{"@id":"https:\/\/shristarsattaking.com\/#organization"}}]},"og:locale":"en_US","og:site_name":"Shri Star Satta king \u00bb \u0928\u0902\u092c\u0930 \u0935\u0928 \u0938\u091f\u094d\u091f\u093e \u0930\u093f\u091c\u0932\u094d\u091f \u092a\u094d\u0932\u0947\u091f\u092b\u0949\u0930\u094d\u092e","og:type":"article","og:title":"Logic Chart: Advanced Logic Buttons Guide from A to D","og:description":"Logic Chart \u2013 Advance Logic Buttons Guide Yeh page aapko sabhi logic buttons ka use, unka meaning, aur unka working system detail me samjhata hai. Saare points easy Hindi me likhe gaye hain, jisse aapko chart analysis fast aur accurate mile. Group A \u2013 Basic Logic Taak (Odd Number) Taak button odd numbers ko highlight","og:url":"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/","og:image":"https:\/\/shristarsattaking.com\/wp-content\/uploads\/2024\/01\/cropped-cropped-cropped-Gold-Star-Sticker-PNG-File.png","og:image:secure_url":"https:\/\/shristarsattaking.com\/wp-content\/uploads\/2024\/01\/cropped-cropped-cropped-Gold-Star-Sticker-PNG-File.png","article:published_time":"2026-03-29T19:01:14+00:00","article:modified_time":"2026-06-26T17:15:21+00:00","twitter:card":"summary_large_image","twitter:title":"Logic Chart: Advanced Logic Buttons Guide from A to D","twitter:description":"Logic Chart \u2013 Advance Logic Buttons Guide Yeh page aapko sabhi logic buttons ka use, unka meaning, aur unka working system detail me samjhata hai. Saare points easy Hindi me likhe gaye hain, jisse aapko chart analysis fast aur accurate mile. Group A \u2013 Basic Logic Taak (Odd Number) Taak button odd numbers ko highlight","twitter:image":"https:\/\/shristarsattaking.com\/wp-content\/uploads\/2024\/01\/cropped-cropped-cropped-Gold-Star-Sticker-PNG-File.png"},"aioseo_meta_data":{"post_id":"28524","title":"Logic Chart: Advanced Logic Buttons Guide from A to D","description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":["Logic Chart: Advanced Logic Buttons Guide from A to D","Logic Chart\u2014Complete Guide to Advance Logic Buttons (A\u2013D)","Advance Logic Buttons Guide: Group A to D Explained","Master the Logic Chart: From Basic to AI with Expert Buttons","Logic Chart: Group A\u2013D Logic Buttons for Pattern Analysis"],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-03-29 19:01:16","updated":"2026-08-13 06:21:07","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/shristarsattaking.com\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tMAYUR SATTA KING CHART \u2013 CHECK NOW\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/shristarsattaking.com"},{"label":"MAYUR SATTA KING CHART &#8211; CHECK NOW","link":"https:\/\/shristarsattaking.com\/index.php\/mayur-satta-king-chart-check-now\/"}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/shristarsattaking.com\/index.php\/wp-json\/wp\/v2\/pages\/28524","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shristarsattaking.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/shristarsattaking.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/shristarsattaking.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/shristarsattaking.com\/index.php\/wp-json\/wp\/v2\/comments?post=28524"}],"version-history":[{"count":2,"href":"https:\/\/shristarsattaking.com\/index.php\/wp-json\/wp\/v2\/pages\/28524\/revisions"}],"predecessor-version":[{"id":28854,"href":"https:\/\/shristarsattaking.com\/index.php\/wp-json\/wp\/v2\/pages\/28524\/revisions\/28854"}],"wp:attachment":[{"href":"https:\/\/shristarsattaking.com\/index.php\/wp-json\/wp\/v2\/media?parent=28524"}],"wp:term":[{"taxonomy":"wf_page_folders","embeddable":true,"href":"https:\/\/shristarsattaking.com\/index.php\/wp-json\/wp\/v2\/wf_page_folders?post=28524"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}