{"id":5713,"date":"2025-12-22T07:30:09","date_gmt":"2025-12-22T07:30:09","guid":{"rendered":"https:\/\/promotionexams.com\/?page_id=5713"},"modified":"2026-07-13T10:45:42","modified_gmt":"2026-07-13T10:45:42","slug":"previous-year-question-allocation-of-business-rules","status":"publish","type":"page","link":"https:\/\/promotionexams.com\/?page_id=5713","title":{"rendered":"Previous Year Question -Allocation of Business Rules"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5713\" class=\"elementor elementor-5713\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e82d7b9 e-con-full e-flex e-con e-parent\" data-id=\"e82d7b9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-10fdf89 elementor-widget elementor-widget-html\" data-id=\"10fdf89\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n============================================================\r\nCSS ADDA \u00b7 PromotionExams.com\r\nREUSABLE PYQ QUIZ TEMPLATE \u2014 PRACTICE + ANALYTICS + AI COACH\r\n------------------------------------------------------------\r\nHOW TO REUSE FOR A NEW QUIZ (3 steps):\r\n  1. In quizConfig below, change:\r\n       quizId   -> a UNIQUE id per quiz (e.g. 'pension-pyq-quiz').\r\n                   This keys localStorage; two quizzes sharing an id\r\n                   will share\/overwrite each other's progress!\r\n       topic    -> heading shown in the header\r\n       subtitle -> small line under the heading\r\n  2. Paste your MCQ objects inside  const allQuestions = [ ... ]\r\n     (format documented at the array).\r\n  3. Nothing else needs editing.\r\n\r\nTABS:\r\n  1. Practice Quiz   \u2014 quiz with progress, weak areas, filters\r\n  2. Exam Analytics  \u2014 distribution analysis AUTO-COMPUTED from data\r\n  3. My Performance  \u2014 AI coach: readiness score, focus areas,\r\n                       study plan, spaced-repetition revision queue\r\n\r\nRESET BEHAVIOUR:\r\n  \u2022 \"Reset Session\" (Practice tab)   -> clears ONLY the current\r\n    session's answers\/score. Lifetime mastery, weak areas and the\r\n    My Performance data are KEPT.\r\n  \u2022 \"Reset My Performance\" (My Performance tab) -> wipes lifetime\r\n    stats, mastery, weak areas and attempt history (with confirm).\r\n\r\nAll progress persists in localStorage (per quizId).\r\n============================================================\r\n-->\r\n\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, viewport-fit=cover\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Crimson+Pro:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n\/* =====================================================\r\n   CSS ADDA \u2014 INTEGRATED PORTAL DESIGN SYSTEM\r\n   NOTE ON FONT STABILITY: all font sizes are in px (not\r\n   rem) so the widget looks identical on every WordPress\r\n   page\/theme, regardless of the site's root font size.\r\n   Key exam-paper typography carries !important to defeat\r\n   theme overrides.\r\n===================================================== *\/\r\n.gfr-portal{\r\n  --navy:#2563EB; --navy-d:#1D4ED8; --navy-l:#3B82F6; --navy-ink:#12275c;\r\n  --gold:#c9992a; --gold-l:#e6c14e; --gold-d:#a37b1c;\r\n  --green:#10B981; --green-d:#059669; --green-bg:#ecfdf5;\r\n  --red:#EF4444; --red-d:#dc2626; --red-bg:#fef2f2;\r\n  --amber:#f59e0b; --amber-d:#d97706;\r\n  --bg:#F6F8FC; --card:#FFFFFF;\r\n  --ink:#1E293B; --mut:#5b6472; --faint:#94A3B8; --line:#E2E8F0;\r\n  --sh-sm:0 1px 2px rgba(16,41,66,.06);\r\n  --sh-md:0 4px 10px -2px rgba(16,41,66,.10);\r\n  --sh-lg:0 12px 26px -8px rgba(16,41,66,.16);\r\n  --r-sm:8px; --r-md:12px; --r-lg:16px;\r\n  --serif:'Crimson Pro',Georgia,'Times New Roman',serif;\r\n  --sans:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;\r\n  font-family:var(--sans) !important;\r\n  font-size:16px;\r\n  color:var(--ink); line-height:1.55;\r\n  background:linear-gradient(160deg,#EFF4FF 0%,#F6F8FC 45%,#FDF9EE 100%);\r\n  border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-lg);\r\n  -webkit-user-select:none; user-select:none;\r\n}\r\n.gfr-portal *{margin:0;padding:0;box-sizing:border-box;min-width:0}\r\n\/* Font-stability shield: inherit our stack everywhere unless a rule below overrides *\/\r\n.gfr-portal *:not(i):not(.ic){font-family:inherit}\r\n.gfr-portal img,.gfr-portal svg,.gfr-portal table{max-width:100%}\r\n.gfr-portal table{max-width:none}\r\n@media print{.gfr-portal{display:none!important}}\r\n\r\n.ic{font-style:normal;display:inline-block;line-height:1}\r\n\/* ---------- HEADER ---------- *\/\r\n.gp-header{background:linear-gradient(135deg,#173db3 0%,var(--navy) 62%,#3b6cf0 100%);border-bottom:4px solid var(--gold);padding:26px 28px 0}\r\n.gp-head-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:18px}\r\n.gp-brand .eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-l);font-weight:700;margin-bottom:6px}\r\n.gp-brand h1{font-family:var(--serif) !important;font-weight:600;font-size:clamp(20px,3.5vw,28px);line-height:1.15;color:#fff;letter-spacing:-.01em}\r\n.gp-brand p{font-size:13.6px;color:#cfe0ff;margin-top:5px}\r\n.gp-stats{display:flex;gap:10px;flex-wrap:wrap}\r\n.gp-stat{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-md);padding:9px 16px;min-width:96px;text-align:center}\r\n.gp-stat .n{font-family:var(--serif);font-size:23px;font-weight:600;color:var(--gold-l);line-height:1.1}\r\n.gp-stat .l{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#bfdbfe;margin-top:2px}\r\n.gp-stat.clickable{cursor:pointer;transition:transform .25s}\r\n.gp-stat.clickable:hover{transform:translateY(-2px);background:rgba(255,255,255,.16)}\r\n\r\n\/* Tab navigation *\/\r\n.gp-tabs{display:flex;gap:6px;margin-top:22px;flex-wrap:wrap}\r\n.gp-tab{padding:11px 22px;border:none;border-radius:var(--r-md) var(--r-md) 0 0;background:rgba(255,255,255,.10);color:#dbeafe;font-family:var(--sans);font-size:13.6px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .25s}\r\n.gp-tab i{color:var(--gold-l);font-size:12.8px}\r\n.gp-tab:hover{background:rgba(255,255,255,.2);color:#fff}\r\n.gp-tab.active{background:var(--bg);color:var(--navy-d)}\r\n.gp-tab.active i{color:var(--gold)}\r\n.gp-tab .pill{background:var(--red);color:#fff;font-size:10.4px;font-weight:700;padding:1px 7px;border-radius:20px}\r\n\r\n.gp-view{display:none;animation:gpFade .35s ease}\r\n.gp-view.active{display:block}\r\n@keyframes gpFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}\r\n\r\n\/* ---------- SHARED CARDS ---------- *\/\r\n.quiz-card,.an-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;display:flex;flex-direction:column}\r\n.quiz-card-header{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);padding:13px 16px;color:#fff}\r\n.quiz-card-header h3{font-size:13.4px;font-weight:700;display:flex;align-items:center;gap:8px;color:#fff}\r\n.quiz-card-header h3 i{color:var(--gold-l)}\r\n.quiz-card-header.light{background:linear-gradient(135deg,#F1F5FB 0%,#E4ECFB 100%);border-bottom:1px solid var(--line)}\r\n.quiz-card-header.light h3{color:var(--navy-d)}\r\n.quiz-card-header.light h3 i{color:var(--gold)}\r\n.quiz-card-body{padding:16px;flex:1;display:flex;flex-direction:column}\r\n\r\n.sec-head{display:flex;align-items:baseline;gap:12px;margin:34px 0 16px;border-bottom:1px solid var(--line);padding-bottom:10px}\r\n.sec-head .num{font-family:var(--serif);color:var(--gold);font-size:16.8px;font-weight:600}\r\n.sec-head h2{font-size:18.4px;font-weight:700;letter-spacing:-.01em;color:var(--navy-ink)}\r\n.sec-head .hint{margin-left:auto;color:var(--mut);font-size:12.8px;font-style:italic;font-family:var(--serif)}\r\n\r\n\/* ---------- MODE SELECTOR ---------- *\/\r\n.mode-selector{background:var(--card);padding:13px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}\r\n.mode-tabs{display:flex;gap:8px;flex-wrap:wrap}\r\n.mode-tab{padding:9px 16px;min-height:40px;border:2px solid var(--line);border-radius:var(--r-md);background:#F8FAFC;font-size:12.8px;font-weight:600;color:var(--mut);cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:6px;font-family:var(--sans)}\r\n.mode-tab:hover{border-color:var(--navy-l);color:var(--navy)}\r\n.mode-tab.active{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);border-color:var(--navy);color:#fff}\r\n.mode-tab.weak-mode{border-color:#f3c1c1}\r\n.mode-tab.weak-mode.active{background:linear-gradient(135deg,var(--red) 0%,var(--red-d) 100%);border-color:var(--red)}\r\n.mode-tab .badge{background:rgba(255,255,255,.3);padding:2px 8px;border-radius:20px;font-size:11.2px}\r\n.mode-tab:not(.active) .badge{background:var(--navy);color:#fff}\r\n.mode-tab.weak-mode:not(.active) .badge{background:var(--red)}\r\n.session-info{display:flex;align-items:center;gap:12px;font-size:12.8px;color:var(--mut)}\r\n.session-info i{color:var(--gold)}\r\n.resume-btn{padding:7px 14px;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-d) 100%);border:none;border-radius:var(--r-md);color:#fff;font-size:12.2px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .3s;font-family:var(--sans)}\r\n.resume-btn:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}\r\n\r\n\/* ---------- QUIZ GRID LAYOUT (filters | question | dashboard) ---------- *\/\r\n.quiz-container{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;padding:0 18px 18px;align-items:start}\r\n\/* Full-width horizontal FILTER BAR shown before the MCQ content *\/\r\n.filter-bar{display:block;padding:14px 18px 0}\r\n.filter-bar .quiz-card{margin-bottom:12px}\r\n.filter-bar-row{display:grid;grid-template-columns:1fr;gap:12px}\r\n.filter-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:7px;padding:2px 0;max-height:none;overflow:visible}\r\n.filter-item{padding:7px 12px;border-radius:20px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .25s;border:1.5px solid var(--line);background:#F8FAFC;font-size:12.8px;flex:0 0 auto}\r\n.filter-item:hover{background:#EFF6FF;border-color:var(--navy-l)}\r\n.filter-item.active{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);color:#fff}\r\n.filter-item .filter-text{font-weight:600;display:flex;align-items:center;gap:6px;font-size:12.6px}\r\n.filter-item .filter-count{background:rgba(255,255,255,.2);padding:2px 8px;border-radius:20px;font-size:11.2px;font-weight:600}\r\n.filter-item:not(.active) .filter-count{background:var(--navy);color:#fff}\r\n\r\n.weak-areas-card .quiz-card-header{background:linear-gradient(135deg,var(--red) 0%,var(--red-d) 100%)}\r\n.weak-question-list{flex:1;overflow-y:auto;margin-bottom:10px;max-height:180px}\r\n.weak-question-item{background:#F8FAFC;padding:10px 12px;border-radius:var(--r-sm);margin-bottom:8px;font-size:12.5px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .3s;border-left:3px solid var(--red)}\r\n.weak-question-item:hover{background:var(--red-bg);transform:translateX(3px)}\r\n.weak-question-item .q-num{font-weight:700;color:var(--red);flex-shrink:0}\r\n.weak-question-item .q-text{flex:1;color:var(--mut);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\r\n.weak-question-item .wrong-count{background:var(--red);color:#fff;padding:2px 6px;border-radius:20px;font-size:10.4px;font-weight:600}\r\n.practice-weak-btn{width:100%;padding:10px;background:linear-gradient(135deg,var(--red) 0%,var(--red-d) 100%);border:none;border-radius:var(--r-md);color:#fff;font-size:12.8px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;transition:all .3s;font-family:var(--sans)}\r\n.practice-weak-btn:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}\r\n\r\n\/* ---------- QUESTION PANEL ---------- *\/\r\n.question-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;align-self:start}\r\n.question-header{background:linear-gradient(135deg,#F1F5FB 0%,#E4ECFB 100%);padding:13px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px}\r\n.question-number{font-family:var(--serif);font-size:16.3px;font-weight:600;color:var(--navy-d)}\r\n.question-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}\r\n.meta-badge{padding:5px 10px;border-radius:20px;font-size:11.7px;font-weight:600;display:flex;align-items:center;gap:4px}\r\n.meta-badge.year{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);color:#fff}\r\n.meta-badge.chapter{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-d) 100%);color:#fff;white-space:normal;max-width:100%;line-height:1.3;text-align:left}\r\n.meta-badge.weak{background:linear-gradient(135deg,var(--red) 0%,var(--red-d) 100%);color:#fff}\r\n.meta-badge i{font-size:10.1px}\r\n.question-body{padding:22px}\r\n\/* ---- EXAM-PAPER TYPOGRAPHY (UPSC QP style) ----\r\n   font-family + font-size are !important so the WordPress theme can\r\n   never change how the MCQs look from page to page. *\/\r\n.question-text{font-family:var(--serif) !important;font-size:18.5px !important;line-height:1.7;color:#161b26;padding:20px 22px;background:#fffef9;border:1px solid #e9e3d2;border-left:4px solid var(--gold);border-radius:var(--r-md);margin-bottom:18px;box-shadow:inset 0 1px 0 #fff;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}\r\n.question-text b{font-weight:700}\r\n.question-text .q-stem{display:block}\r\n.q-stmt{display:grid;grid-template-columns:30px 1fr;gap:4px;margin:12px 0 0 14px;line-height:1.65}\r\n.q-stmt .sn{font-weight:600;text-align:left}\r\n.q-lead{display:block;margin-top:16px}\r\n.options-list{display:flex;flex-direction:column;gap:9px}\r\n.option-item{font-family:var(--serif) !important;padding:12px 16px;border:1.5px solid var(--line);border-radius:var(--r-md);cursor:pointer;display:flex;align-items:flex-start;gap:12px;transition:all .25s;background:#fff}\r\n.option-item:hover:not(.disabled){border-color:var(--navy-l);background:#F6F9FF;transform:translateX(4px)}\r\n.option-item.selected{border-color:var(--navy);background:#EFF5FF;box-shadow:0 0 0 1px var(--navy)}\r\n.option-item.correct{border-color:var(--green);background:#F0FDF6;box-shadow:0 0 0 1px var(--green)}\r\n.option-item.incorrect{border-color:var(--red);background:#FEF4F4;box-shadow:0 0 0 1px var(--red)}\r\n.option-item.disabled{cursor:default}\r\n.option-letter{min-width:34px;font-family:inherit;font-weight:600;font-size:17.3px !important;color:#161b26;flex-shrink:0;line-height:1.6;transition:color .25s}\r\n.option-item.selected .option-letter{color:var(--navy-d)}\r\n.option-item.correct .option-letter{color:var(--green-d)}\r\n.option-item.incorrect .option-letter{color:var(--red-d)}\r\n.option-text{font-size:17.3px !important;line-height:1.6;color:#161b26;flex:1;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}\r\n.option-icon{font-size:16px;display:none}\r\n.option-item.correct .option-icon,.option-item.incorrect .option-icon{display:block}\r\n.option-item.correct .option-icon{color:var(--green)}\r\n.option-item.incorrect .option-icon{color:var(--red)}\r\n.explanation-box{margin-top:18px;padding:16px;background:linear-gradient(135deg,#FFFBEB 0%,#FEF3C7 100%);border-radius:var(--r-md);border-left:4px solid var(--gold);display:none;animation:gpSlide .4s ease}\r\n.explanation-box.show{display:block}\r\n@keyframes gpSlide{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}\r\n.explanation-title{font-size:13.4px;font-weight:700;color:var(--gold-d);margin-bottom:8px;display:flex;align-items:center;gap:6px}\r\n.explanation-text{font-family:var(--serif) !important;font-size:16.3px !important;line-height:1.68;color:#1c2330;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}\r\n.mastery-indicator{margin-top:14px;padding:10px 14px;background:#F8FAFC;border-radius:var(--r-md);display:none}\r\n.mastery-indicator.show{display:flex;align-items:center;justify-content:space-between}\r\n.mastery-label{font-size:12.5px;color:var(--mut);display:flex;align-items:center;gap:5px}\r\n.mastery-stars{display:flex;gap:2px}\r\n.mastery-stars i{color:var(--line);font-size:13.6px}\r\n.mastery-stars i.filled{color:#fbbf24}\r\n.question-nav{margin-top:20px;padding:16px 20px;background:#F8FAFC;display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:var(--r-md);border:1px solid var(--line)}\r\n.nav-btn{padding:11px 22px;min-height:44px;border:none;border-radius:var(--r-md);font-size:13.6px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:7px;transition:all .3s;font-family:var(--sans);touch-action:manipulation}\r\n.nav-btn.prev{background:#fff;color:var(--mut);border:2px solid var(--line)}\r\n.nav-btn.prev:hover:not(:disabled){border-color:var(--navy);color:var(--navy);transform:translateX(-3px)}\r\n.nav-btn.check{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-d) 100%);color:#fff;flex:1;justify-content:center;max-width:220px;box-shadow:var(--sh-md)}\r\n.nav-btn.check:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--sh-lg)}\r\n.nav-btn.next{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);color:#fff;box-shadow:var(--sh-md)}\r\n.nav-btn.next:hover:not(:disabled){transform:translateX(3px);box-shadow:var(--sh-lg)}\r\n.nav-btn:disabled{opacity:.5;cursor:not-allowed}\r\n\r\n\/* ---------- RIGHT SIDEBAR ---------- *\/\r\n.dashboard-sidebar{display:flex;flex-direction:column;gap:16px;align-self:start;min-width:0}\r\n\/* Combined Progress + Session card *\/\r\n.progress-combo{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}\r\n.progress-combo .stat-col{display:flex;flex-direction:column;gap:2px}\r\n.progress-combo .stat-row{padding:5px 0}\r\n.progress-ring-container{display:flex;justify-content:center}\r\n.progress-ring{position:relative;width:100px;height:100px}\r\n.progress-ring svg{transform:rotate(-90deg)}\r\n.progress-ring-bg{fill:none;stroke:var(--line);stroke-width:8}\r\n.progress-ring-fill{fill:none;stroke:var(--green);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .5s}\r\n.progress-ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}\r\n.progress-ring-percentage{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--ink)}\r\n.progress-ring-label{font-size:10.1px;color:var(--mut)}\r\n.progress-stats-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px}\r\n.progress-stat-mini{background:#F8FAFC;padding:10px;border-radius:var(--r-sm);text-align:center}\r\n.progress-stat-mini .value{font-family:var(--serif);font-size:19.2px;font-weight:600}\r\n.progress-stat-mini .value.correct{color:var(--green)}\r\n.progress-stat-mini .value.incorrect{color:var(--red)}\r\n.progress-stat-mini .label{font-size:10.1px;color:var(--mut);margin-top:2px}\r\n.question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-height:200px;overflow-y:auto;padding:2px}\r\n.grid-item{width:100%;aspect-ratio:1;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11.7px;cursor:pointer;transition:all .3s;border:2px solid transparent;position:relative}\r\n.grid-item.unattempted{background:var(--navy);color:#fff}\r\n.grid-item.current{background:var(--gold);color:#fff;transform:scale(1.1);box-shadow:var(--sh-md);z-index:1}\r\n.grid-item.attempted{background:#f7ce6b;color:var(--ink)}\r\n.grid-item.correct-answered{background:var(--green);color:#fff}\r\n.grid-item.incorrect-answered{background:var(--red);color:#fff}\r\n.grid-item.weak-marked::after{content:'!';position:absolute;top:-3px;right:-3px;width:12px;height:12px;background:var(--red);border-radius:50%;font-size:8.8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}\r\n.grid-item:hover:not(.current){transform:scale(1.05)}\r\n.legend{padding-top:12px;border-top:1px solid var(--line);margin-top:4px}\r\n.legend-title{font-weight:700;font-size:11.7px;color:var(--ink);margin-bottom:8px}\r\n.legend-items{display:flex;flex-wrap:wrap;gap:10px}\r\n.legend-item{display:flex;align-items:center;gap:5px;font-size:10.9px;color:var(--mut)}\r\n.legend-color{width:14px;height:14px;border-radius:3px}\r\n.legend-color.unattempted{background:var(--navy)}\r\n.legend-color.attempted{background:#f7ce6b}\r\n.legend-color.correct{background:var(--green)}\r\n.legend-color.incorrect{background:var(--red)}\r\n.stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line)}\r\n.stat-row:last-child{border-bottom:none}\r\n.stat-label{color:var(--mut);font-size:13.1px}\r\n.stat-value{font-weight:700;font-size:15.2px;color:var(--ink)}\r\n.stat-value.correct{color:var(--green)}\r\n.stat-value.incorrect{color:var(--red)}\r\n.action-buttons{display:flex;flex-direction:column;gap:10px}\r\n.action-btn{width:100%;padding:12px;min-height:46px;border:none;border-radius:var(--r-md);font-size:13.6px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:all .3s;font-family:var(--sans)}\r\n.action-btn.submit{background:linear-gradient(135deg,var(--green) 0%,var(--green-d) 100%);color:#fff;box-shadow:var(--sh-md)}\r\n.action-btn.submit:hover{transform:translateY(-2px);box-shadow:var(--sh-lg)}\r\n.action-btn.reset{background:#F8FAFC;color:var(--mut);border:2px solid var(--line)}\r\n.action-btn.reset:hover{border-color:var(--red);color:var(--red)}\r\n.action-btn.danger{background:#fff;color:var(--red-d);border:2px solid #f3c1c1}\r\n.action-btn.danger:hover{background:var(--red);border-color:var(--red);color:#fff}\r\n.reset-note{font-size:11.5px;color:var(--faint);text-align:center;margin-top:6px;line-height:1.45}\r\n\r\n\/* ---------- TOAST & MODAL ---------- *\/\r\n.warning-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;padding:12px 24px;border-radius:var(--r-md);font-weight:600;box-shadow:var(--sh-lg);z-index:10000;display:none;animation:gpUp .3s ease;font-size:14.1px}\r\n.warning-toast.show{display:flex;align-items:center;gap:8px}\r\n.warning-toast.success{background:var(--green)}\r\n@keyframes gpUp{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}\r\n.result-modal{position:fixed;inset:0;background:rgba(9,20,45,.72);display:none;justify-content:center;align-items:center;z-index:10000;padding:20px}\r\n.result-modal.show{display:flex}\r\n.result-content{background:#fff;padding:32px;border-radius:var(--r-lg);text-align:center;max-width:440px;width:100%;box-shadow:var(--sh-lg);animation:gpModal .3s ease;max-height:90vh;overflow-y:auto}\r\n@keyframes gpModal{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}\r\n.result-icon{font-size:50px;margin-bottom:16px}\r\n.result-title{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--ink);margin-bottom:8px}\r\n.result-message{color:var(--mut);margin-bottom:20px;font-size:14.4px}\r\n.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}\r\n.result-stat{background:#F8FAFC;padding:12px;border-radius:var(--r-md)}\r\n.result-stat-value{font-family:var(--serif);font-size:22.4px;font-weight:600;color:var(--navy)}\r\n.result-stat-label{font-size:11.5px;color:var(--mut)}\r\n.result-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}\r\n.result-btn{padding:10px 20px;border:none;border-radius:var(--r-md);font-weight:700;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:6px;font-size:13.1px;font-family:var(--sans)}\r\n.result-btn.primary{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);color:#fff}\r\n.result-btn.secondary{background:#F8FAFC;color:var(--mut)}\r\n.result-btn.weak{background:linear-gradient(135deg,var(--red) 0%,var(--red-d) 100%);color:#fff}\r\n.result-btn:hover{transform:translateY(-2px)}\r\n\r\n\/* =====================================================\r\n   TAB 2 \u2014 EXAM ANALYTICS\r\n===================================================== *\/\r\n.an-wrap{padding:6px 28px 40px;max-width:1080px;margin:0 auto}\r\n.an-card{padding:22px 22px}\r\n.bar-row{display:grid;grid-template-columns:34px minmax(190px,1.5fr) 2.3fr auto;align-items:center;gap:12px;padding:6px 0}\r\n.bar-row+.bar-row{border-top:1px dashed #eef1f6}\r\n.bar-rank{font-family:var(--serif);color:var(--mut);font-size:14.4px;text-align:right}\r\n\/* WRAP FIX: long chapter names wrap onto multiple lines instead of overflowing *\/\r\n.bar-name{font-size:13.8px;font-weight:500;line-height:1.35;overflow-wrap:break-word;word-break:break-word}\r\n.bar-track{background:#eef1f6;border-radius:8px;height:20px;overflow:hidden}\r\n.bar-fill{height:100%;border-radius:8px;transition:width .8s ease}\r\n.bar-val{font-weight:700;font-size:14.7px;min-width:64px;text-align:right}\r\n.bar-val .pct{display:inline-block;font-weight:500;color:var(--mut);font-size:11.5px;margin-left:6px}\r\n.tbl-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}\r\ntable.matrix{border-collapse:collapse;width:100%;font-size:12.6px;min-width:900px}\r\ntable.matrix th,table.matrix td{text-align:center;padding:8px 5px;border-bottom:1px solid #eef1f6}\r\ntable.matrix thead th{background:var(--navy);color:#fff;font-weight:600;font-size:11.7px}\r\ntable.matrix thead th:first-child{text-align:left;padding-left:14px}\r\n\/* WRAP FIX: heatmap row-header wraps; bounded so year columns stay visible *\/\r\n.rn{text-align:left!important;padding-left:14px!important;font-weight:500;white-space:normal;overflow-wrap:break-word;word-break:break-word;min-width:160px;max-width:300px;line-height:1.4;background:#fbfcfe}\r\n.rt{font-weight:700;background:#f2f4f8;border-left:2px solid var(--gold)}\r\ntable.matrix tbody tr:hover td{outline:1px solid rgba(201,153,42,.25)}\r\ntable.matrix tfoot td{background:var(--navy-d);color:#fff;font-weight:700;border-bottom:none}\r\ntable.matrix tfoot td:first-child{text-align:left;padding-left:14px}\r\n.hm-legend{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12.8px;color:var(--mut)}\r\n.hm-legend .sw{width:22px;height:14px;border-radius:3px;display:inline-block}\r\n.year-chart{display:flex;align-items:flex-end;gap:8px;height:180px;padding-top:14px}\r\n.yb{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}\r\n.yb-bar{width:100%;max-width:52px;background:linear-gradient(180deg,var(--gold-l),var(--gold));border-radius:6px 6px 0 0;position:relative;min-height:14px;transition:height .8s ease}\r\n.yb-bar span{position:absolute;top:-20px;left:0;right:0;text-align:center;font-weight:700;font-size:12.8px;color:var(--navy)}\r\n.yb-lab{margin-top:8px;font-size:10.6px;color:var(--mut);text-align:center}\r\n.insight{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}\r\n.ins{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;padding:15px 17px}\r\n.ins h4{font-size:13.1px;color:var(--navy-d);margin-bottom:6px}\r\n.ins p{font-size:13.9px;color:#3a4453}\r\n.ins b{color:var(--gold-d)}\r\n\r\n\/* =====================================================\r\n   TAB 3 \u2014 MY PERFORMANCE (AI COACH)\r\n===================================================== *\/\r\n.ai-wrap{padding:6px 28px 40px;max-width:1080px;margin:0 auto}\r\n.ai-hero{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:stretch}\r\n.ai-ring-card{background:linear-gradient(150deg,var(--navy-ink) 0%,var(--navy-d) 70%,#2f5fe0 100%);border-radius:var(--r-lg);padding:26px 20px;color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--sh-md)}\r\n.ai-ring{position:relative;width:150px;height:150px}\r\n.ai-ring svg{transform:rotate(-90deg)}\r\n.ai-ring .bg{fill:none;stroke:rgba(255,255,255,.14);stroke-width:11}\r\n.ai-ring .fg{fill:none;stroke:var(--gold-l);stroke-width:11;stroke-linecap:round;transition:stroke-dashoffset 1s ease}\r\n.ai-ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}\r\n.ai-ring-txt .n{font-family:var(--serif);font-size:40px;font-weight:600;color:var(--gold-l);line-height:1}\r\n.ai-ring-txt .l{font-size:9.9px;letter-spacing:.12em;text-transform:uppercase;color:#bfdbfe;margin-top:4px}\r\n.ai-verdict{margin-top:14px;font-size:13.8px;color:#dbeafe;line-height:1.5}\r\n.ai-verdict b{color:#fff}\r\n.ai-coach-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-sm)}\r\n.ai-coach-card h3{font-size:15.2px;color:var(--navy-ink);display:flex;align-items:center;gap:8px;margin-bottom:12px}\r\n.ai-coach-card h3 i{color:var(--gold)}\r\n.ai-reco{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);align-items:flex-start}\r\n.ai-reco:last-child{border-bottom:none}\r\n.ai-reco .ic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12.8px;flex-shrink:0;margin-top:2px}\r\n.ai-reco .ic.hot{background:var(--red-bg);color:var(--red-d)}\r\n.ai-reco .ic.warm{background:#fef7e6;color:var(--amber-d)}\r\n.ai-reco .ic.cool{background:#eff6ff;color:var(--navy)}\r\n.ai-reco .ic.good{background:var(--green-bg);color:var(--green-d)}\r\n.ai-reco p{font-size:13.9px;color:#37414f}\r\n.ai-reco p b{color:var(--navy-ink)}\r\n.ai-reco .go{margin-left:auto;flex-shrink:0;background:#EFF6FF;color:var(--navy-d);border:1px solid #d4e2fb;border-radius:8px;padding:6px 12px;font-size:11.5px;font-weight:700;cursor:pointer;transition:all .25s;font-family:var(--sans);white-space:nowrap}\r\n.ai-reco .go:hover{background:var(--navy);color:#fff}\r\n\r\n.ai-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:18px}\r\n.ai-kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--sh-sm)}\r\n.ai-kpi .n{font-family:var(--serif);font-size:25.6px;font-weight:600;color:var(--navy-d)}\r\n.ai-kpi .n.g{color:var(--green-d)} .ai-kpi .n.r{color:var(--red-d)} .ai-kpi .n.a{color:var(--amber-d)}\r\n.ai-kpi .l{font-size:10.9px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);margin-top:2px}\r\n\r\ntable.perf{border-collapse:collapse;width:100%;font-size:13.1px;min-width:760px}\r\ntable.perf th,table.perf td{padding:10px 10px;border-bottom:1px solid #eef1f6;text-align:center}\r\ntable.perf thead th{background:var(--navy);color:#fff;font-weight:600;font-size:11.5px}\r\ntable.perf th:first-child,table.perf td:first-child{text-align:left;padding-left:14px}\r\n\/* WRAP FIX: chapter column wraps; bounded so metric columns stay visible *\/\r\ntable.perf td:first-child{font-weight:500;background:#fbfcfe;white-space:normal;overflow-wrap:break-word;word-break:break-word;min-width:150px;max-width:260px;line-height:1.4}\r\n.mini-track{background:#eef1f6;border-radius:6px;height:9px;overflow:hidden;min-width:80px}\r\n.mini-fill{height:100%;border-radius:6px}\r\n.tag{display:inline-block;font-size:10.6px;font-weight:700;padding:3px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em}\r\n.tag.hot{background:var(--red-bg);color:var(--red-d)}\r\n.tag.warm{background:#fef7e6;color:var(--amber-d)}\r\n.tag.ok{background:#eff6ff;color:var(--navy-d)}\r\n.tag.good{background:var(--green-bg);color:var(--green-d)}\r\n.tag.na{background:#f1f5f9;color:var(--faint)}\r\n.mini-go{background:none;border:1px solid var(--line);border-radius:8px;padding:5px 10px;font-size:11.2px;font-weight:700;color:var(--navy-d);cursor:pointer;transition:all .25s;font-family:var(--sans)}\r\n.mini-go:hover{background:var(--navy);color:#fff;border-color:var(--navy)}\r\n\r\n.rev-item{display:flex;align-items:center;gap:10px;background:#F8FAFC;border-left:3px solid var(--amber);border-radius:var(--r-sm);padding:10px 12px;margin-bottom:8px;font-size:12.6px;cursor:pointer;transition:all .25s}\r\n.rev-item:hover{background:#fef7e6;transform:translateX(3px)}\r\n.rev-item .q-num{font-weight:700;color:var(--amber-d);flex-shrink:0}\r\n.rev-item .q-text{flex:1;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\r\n.rev-item .days{background:var(--amber);color:#fff;padding:2px 8px;border-radius:20px;font-size:10.2px;font-weight:700;white-space:nowrap}\r\n.ai-empty{text-align:center;padding:34px 20px;color:var(--mut)}\r\n.ai-empty i{font-size:32px;color:var(--gold);margin-bottom:12px;display:block}\r\n.ai-empty .big{font-family:var(--serif);font-size:19.2px;color:var(--navy-ink);margin-bottom:6px}\r\n.ai-empty p{font-size:13.9px;max-width:52ch;margin:0 auto}\r\n.ai-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}\r\n.perf-reset-wrap{margin-top:34px;padding:18px;border:1px dashed #f3c1c1;border-radius:var(--r-lg);background:#fffafa;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}\r\n.perf-reset-wrap p{font-size:13.1px;color:var(--mut);flex:1;min-width:220px}\r\n.perf-reset-wrap p b{color:var(--red-d)}\r\n.perf-reset-btn{padding:11px 20px;background:#fff;border:2px solid #f3c1c1;border-radius:var(--r-md);color:var(--red-d);font-size:13.1px;font-weight:700;cursor:pointer;transition:all .25s;font-family:var(--sans);display:flex;align-items:center;gap:7px;white-space:nowrap}\r\n.perf-reset-btn:hover{background:var(--red);border-color:var(--red);color:#fff}\r\n\r\n\/* ---------- RESPONSIVE ---------- *\/\r\n@media(max-width:1024px){.quiz-container{grid-template-columns:minmax(0,1fr) 270px;gap:14px}}\r\n@media(max-width:900px){\r\n  \/* MOBILE: question first, everything else stacks below *\/\r\n  .quiz-container{grid-template-columns:1fr;padding:0 12px 12px;gap:14px}\r\n  .filter-bar{padding:12px 12px 0}\r\n  .filter-list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}\r\n  .question-panel{order:1}\r\n  .dashboard-sidebar{order:2}\r\n  .gp-head-top{flex-direction:column;gap:12px}\r\n  .gp-stats{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}\r\n  .gp-stat{min-width:84px;padding:7px 12px;flex:0 0 auto}\r\n  .gp-stat .n{font-size:19.2px}\r\n  .gp-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}\r\n  .gp-tab{flex:0 0 auto;white-space:nowrap}\r\n  .mode-selector{flex-direction:column;align-items:stretch;padding:10px 12px}\r\n  .mode-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}\r\n  .mode-tab{flex:0 0 auto;white-space:nowrap}\r\n  .session-info{justify-content:center}\r\n  \/* navigator becomes a horizontal strip *\/\r\n  .question-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;max-height:none;padding-bottom:6px;gap:7px;-webkit-overflow-scrolling:touch}\r\n  .grid-item{flex:0 0 40px;height:40px;aspect-ratio:auto}\r\n  .weak-question-list{max-height:150px}\r\n  .ai-hero{grid-template-columns:1fr}\r\n  .ai-two{grid-template-columns:1fr}\r\n}\r\n@media(max-width:600px){\r\n  .gp-header{padding:18px 14px 0}\r\n  .gp-brand h1{font-size:20.5px}\r\n  .gp-brand p{font-size:12.5px}\r\n  .gp-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}\r\n  .gp-tab{padding:9px 13px;font-size:12px;flex:0 0 auto;white-space:nowrap}\r\n  .an-wrap,.ai-wrap{padding:6px 12px 30px}\r\n  .question-header{padding:11px 14px}\r\n  .question-number{font-size:15px}\r\n  .question-body{padding:14px}\r\n  .question-text{font-size:17px !important;padding:15px 16px;line-height:1.68}\r\n  .q-stmt{margin-left:6px;grid-template-columns:26px 1fr}\r\n  .option-item{padding:11px 12px;gap:9px}\r\n  .option-letter{min-width:30px;font-size:16.3px !important}\r\n  .option-text{font-size:16.3px !important}\r\n  .option-item:hover:not(.disabled){transform:none}\r\n  .question-nav{flex-wrap:wrap;padding:12px;gap:9px}\r\n  .nav-btn{padding:11px 16px;font-size:12.8px;flex:1;justify-content:center}\r\n  .nav-btn.check{order:-1;width:100%;max-width:none;flex-basis:100%}\r\n  .progress-combo{grid-template-columns:auto 1fr}\r\n  .result-stats{grid-template-columns:repeat(3,1fr);gap:7px}\r\n  .result-content{padding:22px}\r\n  .result-buttons{flex-direction:column}\r\n  .bar-row{grid-template-columns:28px 1fr;row-gap:4px}\r\n  .bar-track{grid-column:1\/-1}\r\n  .bar-name,.bar-val{grid-column:2;text-align:left}\r\n  .sec-head{flex-wrap:wrap;gap:6px}\r\n  .sec-head .hint{margin-left:0;flex-basis:100%}\r\n  .sec-head h2{font-size:16px}\r\n  .year-chart{height:140px;gap:5px}\r\n  .yb-bar span{font-size:10.9px;top:-17px}\r\n  .yb-lab{font-size:9.3px}\r\n  .ai-ring{transform:scale(.85);margin:-8px}\r\n  .ai-ring-txt .n{font-size:33.6px}\r\n  .ai-kpis{grid-template-columns:repeat(2,1fr)}\r\n  .ai-kpi .n{font-size:20.8px}\r\n  .ai-reco{flex-wrap:wrap}\r\n  .ai-reco .go{margin-left:42px}\r\n  .insight{grid-template-columns:1fr}\r\n  .progress-combo{gap:10px}\r\n  .warning-toast{width:calc(100% - 32px);justify-content:center;font-size:12.8px}\r\n  .gp-stat{min-width:76px}\r\n  .perf-reset-wrap{flex-direction:column;align-items:stretch}\r\n  .perf-reset-btn{justify-content:center}\r\n}\r\n\/* very small phones *\/\r\n@media(max-width:380px){\r\n  .gp-header{padding:14px 10px 0}\r\n  .gp-tab{padding:8px 10px;font-size:11.2px}\r\n  .mode-tab{padding:8px 11px;font-size:11.7px}\r\n  .question-text{font-size:16px !important;padding:12px}\r\n  .option-text,.option-letter{font-size:15.5px !important}\r\n  .an-wrap,.ai-wrap{padding:6px 8px 24px}\r\n  .quiz-container{padding:0 8px 8px}\r\n  .filter-bar{padding:10px 8px 0}\r\n}\r\n<\/style>\r\n\r\n<div class=\"gfr-portal\" id=\"quizWrapper\">\r\n    <!-- Warning Toast -->\r\n    <div class=\"warning-toast\" id=\"warningToast\">\r\n        <span class=\"ic\">\u26a0\ufe0f<\/span>\r\n        <span id=\"toastMessage\">Message<\/span>\r\n    <\/div>\r\n\r\n    <!-- Result Modal -->\r\n    <div class=\"result-modal\" id=\"resultModal\">\r\n        <div class=\"result-content\">\r\n            <div class=\"result-icon\" id=\"resultIcon\">\ud83c\udf89<\/div>\r\n            <h2 class=\"result-title\" id=\"resultTitle\">Great Job!<\/h2>\r\n            <p class=\"result-message\" id=\"resultMessage\">You have completed the quiz.<\/p>\r\n            <div class=\"result-stats\">\r\n                <div class=\"result-stat\">\r\n                    <div class=\"result-stat-value\" id=\"resultCorrect\">0<\/div>\r\n                    <div class=\"result-stat-label\">Correct<\/div>\r\n                <\/div>\r\n                <div class=\"result-stat\">\r\n                    <div class=\"result-stat-value\" id=\"resultIncorrect\">0<\/div>\r\n                    <div class=\"result-stat-label\">Incorrect<\/div>\r\n                <\/div>\r\n                <div class=\"result-stat\">\r\n                    <div class=\"result-stat-value\" id=\"resultScore\">0%<\/div>\r\n                    <div class=\"result-stat-label\">Score<\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"result-buttons\">\r\n                <button class=\"result-btn secondary\" id=\"reviewBtn\"><span class=\"ic\">\ud83d\udc41<\/span> Review<\/button>\r\n                <button class=\"result-btn weak\" id=\"practiceWeakBtn\" style=\"display:none;\"><span class=\"ic\">\u26a0\ufe0f<\/span> Practice Weak<\/button>\r\n                <button class=\"result-btn primary\" id=\"retryBtn\"><span class=\"ic\">\u21bb<\/span> Try Again<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- ================= HEADER ================= -->\r\n    <header class=\"gp-header\">\r\n        <div class=\"gp-head-top\">\r\n            <div class=\"gp-brand\">\r\n                <div class=\"eyebrow\">CSS ADDA \u00b7 PromotionExams.com \u00b7 Paper 2<\/div>\r\n                <h1 id=\"topicName\">Allocation of Business Rules (AOBR)\/TOBR-PYQs<\/h1>\r\n                <p id=\"topicSubtitle\">Combined SO\/Steno LDCE Previous Year Questions \u00b7 2009\u20132025 \u00b7 Smart Practice &amp; Analytics<\/p>\r\n            <\/div>\r\n            <div class=\"gp-stats\">\r\n                <div class=\"gp-stat\"><div class=\"n\" id=\"hdrTotalQ\">0<\/div><div class=\"l\">PYQs<\/div><\/div>\r\n                <div class=\"gp-stat\"><div class=\"n\" id=\"hdrCycles\">0<\/div><div class=\"l\">Exam Cycles<\/div><\/div>\r\n                <div class=\"gp-stat\"><div class=\"n\" id=\"hdrMastered\">0%<\/div><div class=\"l\">Mastered<\/div><\/div>\r\n                <div class=\"gp-stat clickable\" id=\"weakBadgeHeader\" style=\"display:none;\"><div class=\"n\" id=\"weakCountHeader\">0<\/div><div class=\"l\">Weak Areas<\/div><\/div>\r\n                <div class=\"gp-stat\"><div class=\"n\" id=\"hdrReadiness\">\u2014<\/div><div class=\"l\">Readiness<\/div><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <nav class=\"gp-tabs\">\r\n            <button class=\"gp-tab active\" data-view=\"practice\"><span class=\"ic\">\u270d\ufe0f<\/span> Practice Quiz<\/button>\r\n            <button class=\"gp-tab\" data-view=\"analytics\"><span class=\"ic\">\ud83d\udcca<\/span> Exam Analytics<\/button>\r\n            <button class=\"gp-tab\" data-view=\"performance\"><span class=\"ic\">\ud83e\udde0<\/span> My Performance <span class=\"pill\" id=\"perfPill\" style=\"display:none;\">!<\/span><\/button>\r\n        <\/nav>\r\n    <\/header>\r\n\r\n    <!-- ================= VIEW 1 : PRACTICE QUIZ ================= -->\r\n    <div class=\"gp-view active\" id=\"view-practice\">\r\n\r\n    <!-- Mode Selector -->\r\n    <div class=\"mode-selector\">\r\n        <div class=\"mode-tabs\">\r\n            <button class=\"mode-tab active\" data-mode=\"all\" id=\"modeAll\">\r\n                <span class=\"ic\">\ud83d\udccb<\/span> All Questions <span class=\"badge\" id=\"allCount\">0<\/span>\r\n            <\/button>\r\n            <button class=\"mode-tab\" data-mode=\"year\" id=\"modeYear\">\r\n                <span class=\"ic\">\ud83d\udcc5<\/span> By Year\r\n            <\/button>\r\n            <button class=\"mode-tab\" data-mode=\"chapter\" id=\"modeChapter\">\r\n                <span class=\"ic\">\ud83d\udcda<\/span> By Chapter\r\n            <\/button>\r\n            <button class=\"mode-tab weak-mode\" data-mode=\"weak\" id=\"modeWeak\">\r\n                <span class=\"ic\">\u26a0\ufe0f<\/span> Weak Areas <span class=\"badge\" id=\"weakModeCount\">0<\/span>\r\n            <\/button>\r\n        <\/div>\r\n        <div class=\"session-info\" id=\"sessionInfo\" style=\"display:none;\">\r\n            <span class=\"ic\">\ud83d\udd58<\/span>\r\n            <span id=\"sessionText\">Last session: Q5<\/span>\r\n            <button class=\"resume-btn\" id=\"resumeBtn\"><span class=\"ic\">\u25b6<\/span> Resume<\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- FILTER BAR (before the MCQ content) -->\r\n    <div class=\"filter-bar\">\r\n        <div class=\"filter-bar-row\">\r\n            <div class=\"quiz-card\" id=\"yearFilterCard\">\r\n                <div class=\"quiz-card-header light\"><h3><span class=\"ic\">\ud83d\udcc5<\/span> Filter by Year<\/h3><\/div>\r\n                <div class=\"quiz-card-body\" style=\"padding:10px 14px\"><div class=\"filter-list\" id=\"yearList\"><\/div><\/div>\r\n            <\/div>\r\n            <div class=\"quiz-card\" id=\"chapterFilterCard\">\r\n                <div class=\"quiz-card-header light\"><h3><span class=\"ic\">\ud83d\udcda<\/span> Filter by Chapter<\/h3><\/div>\r\n                <div class=\"quiz-card-body\" style=\"padding:10px 14px\"><div class=\"filter-list\" id=\"chapterList\"><\/div><\/div>\r\n            <\/div>\r\n            <div class=\"quiz-card weak-areas-card\" id=\"weakAreasCard\" style=\"display:none;\">\r\n                <div class=\"quiz-card-header\"><h3><span class=\"ic\">\u26a0\ufe0f<\/span> Weak Areas<\/h3><\/div>\r\n                <div class=\"quiz-card-body\" style=\"padding:10px 14px\">\r\n                    <div class=\"weak-question-list\" id=\"weakQuestionList\"><\/div>\r\n                    <button class=\"practice-weak-btn\" id=\"practiceWeakAreasBtn\"><span class=\"ic\">\u21bb<\/span> Practice All Weak Areas<\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Main Container -->\r\n    <div class=\"quiz-container\">\r\n        <!-- Question Panel (primary) -->\r\n        <main class=\"question-panel\">\r\n            <div class=\"question-header\">\r\n                <span class=\"question-number\" id=\"questionNumber\">Question 1 of 20<\/span>\r\n                <div class=\"question-meta\">\r\n                    <div class=\"meta-badge year\"><span class=\"ic\">\ud83d\udcc5<\/span> <span id=\"currentQuestionYear\">\u2014<\/span><\/div>\r\n                    <div class=\"meta-badge chapter\"><span class=\"ic\">\ud83d\udcd6<\/span> <span id=\"currentQuestionChapter\">\u2014<\/span><\/div>\r\n                    <div class=\"meta-badge weak\" id=\"weakBadge\" style=\"display:none;\"><span class=\"ic\">\u26a0\ufe0f<\/span> <span>Weak<\/span><\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"question-body\">\r\n                <div class=\"question-text\" id=\"questionText\">Loading question...<\/div>\r\n                <div class=\"options-list\" id=\"optionsList\"><\/div>\r\n                <div class=\"explanation-box\" id=\"explanationBox\">\r\n                    <div class=\"explanation-title\"><span class=\"ic\">\ud83d\udca1<\/span> Explanation<\/div>\r\n                    <p class=\"explanation-text\" id=\"explanationText\"><\/p>\r\n                <\/div>\r\n                <div class=\"mastery-indicator\" id=\"masteryIndicator\">\r\n                    <span class=\"mastery-label\"><span class=\"ic\">\u2b50<\/span> Mastery:<\/span>\r\n                    <div class=\"mastery-stars\" id=\"masteryStars\">\r\n                        <i>\u2605<\/i><i>\u2605<\/i><i>\u2605<\/i><i>\u2605<\/i><i>\u2605<\/i>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"question-nav\">\r\n                    <button class=\"nav-btn prev\" id=\"prevBtn\"><span class=\"ic\">\u2190<\/span> Previous<\/button>\r\n                    <button class=\"nav-btn check\" id=\"checkBtn\"><span class=\"ic\">\u2713<\/span> Check Answer<\/button>\r\n                    <button class=\"nav-btn next\" id=\"nextBtn\">Next <span class=\"ic\">\u2192<\/span><\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/main>\r\n\r\n        <!-- Right Rail: navigator \u2192 progress \u2192 actions -->\r\n        <aside class=\"dashboard-sidebar\">\r\n            <div class=\"quiz-card\">\r\n                <div class=\"quiz-card-header light\"><h3><span class=\"ic\">\ud83d\uddc2\ufe0f<\/span> Question Navigator<\/h3><\/div>\r\n                <div class=\"quiz-card-body\">\r\n                    <div class=\"question-grid\" id=\"questionGrid\"><\/div>\r\n                    <div class=\"legend\">\r\n                        <div class=\"legend-items\">\r\n                            <div class=\"legend-item\"><div class=\"legend-color unattempted\"><\/div><span>New<\/span><\/div>\r\n                            <div class=\"legend-item\"><div class=\"legend-color attempted\"><\/div><span>Seen<\/span><\/div>\r\n                            <div class=\"legend-item\"><div class=\"legend-color correct\"><\/div><span>Correct<\/span><\/div>\r\n                            <div class=\"legend-item\"><div class=\"legend-color incorrect\"><\/div><span>Incorrect<\/span><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"quiz-card\">\r\n                <div class=\"quiz-card-header\"><h3><span class=\"ic\">\ud83c\udfc6<\/span> Progress &amp; Session<\/h3><\/div>\r\n                <div class=\"quiz-card-body\">\r\n                    <div class=\"progress-combo\">\r\n                        <div class=\"progress-ring-container\">\r\n                            <div class=\"progress-ring\">\r\n                                <svg width=\"100\" height=\"100\">\r\n                                    <circle class=\"progress-ring-bg\" cx=\"50\" cy=\"50\" r=\"42\"><\/circle>\r\n                                    <circle class=\"progress-ring-fill\" cx=\"50\" cy=\"50\" r=\"42\" stroke-dasharray=\"264\" stroke-dashoffset=\"264\" id=\"progressRingFill\"><\/circle>\r\n                                <\/svg>\r\n                                <div class=\"progress-ring-text\">\r\n                                    <span class=\"progress-ring-percentage\" id=\"progressPercentage\">0%<\/span>\r\n                                    <span class=\"progress-ring-label\">Mastered<\/span>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class=\"stat-col\">\r\n                            <div class=\"stat-row\"><span class=\"stat-label\">Questions<\/span><span class=\"stat-value\" id=\"totalQuestions\">0<\/span><\/div>\r\n                            <div class=\"stat-row\"><span class=\"stat-label\">Attempted<\/span><span class=\"stat-value\" id=\"attemptedCount\">0<\/span><\/div>\r\n                            <div class=\"stat-row\"><span class=\"stat-label\">Correct<\/span><span class=\"stat-value correct\" id=\"correctCount\">0<\/span><\/div>\r\n                            <div class=\"stat-row\"><span class=\"stat-label\">Incorrect<\/span><span class=\"stat-value incorrect\" id=\"incorrectCount\">0<\/span><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"progress-stats-mini\" style=\"margin-top:10px\">\r\n                        <div class=\"progress-stat-mini\"><div class=\"value correct\" id=\"totalCorrectProgress\">0<\/div><div class=\"label\">Lifetime Correct<\/div><\/div>\r\n                        <div class=\"progress-stat-mini\"><div class=\"value incorrect\" id=\"totalWeakProgress\">0<\/div><div class=\"label\">Weak Areas<\/div><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"action-buttons\">\r\n                <button class=\"action-btn submit\" id=\"submitBtn\"><span class=\"ic\">\ud83d\udce4<\/span> Submit &amp; View Results<\/button>\r\n                <button class=\"action-btn reset\" id=\"resetBtn\"><span class=\"ic\">\u21ba<\/span> Reset Session<\/button>\r\n                <p class=\"reset-note\">Resets only this session's answers.<br>Lifetime performance &amp; mastery are kept.<\/p>\r\n            <\/div>\r\n        <\/aside>\r\n    <\/div>\r\n    <\/div><!-- \/view-practice -->\r\n\r\n    <!-- ================= VIEW 2 : EXAM ANALYTICS ================= -->\r\n    <div class=\"gp-view\" id=\"view-analytics\">\r\n        <div class=\"an-wrap\">\r\n            <div class=\"sec-head\"><span class=\"num\">01<\/span><h2>Ranked \u2014 Total MCQs per Chapter<\/h2><span class=\"hint\">gold = high-yield (15+ Qs)<\/span><\/div>\r\n            <div class=\"an-card\" id=\"rankedBars\"><\/div>\r\n\r\n            <div class=\"sec-head\"><span class=\"num\">02<\/span><h2>Heatmap Matrix \u2014 Chapter \u00d7 Exam Year<\/h2><span class=\"hint\">darker gold = more questions<\/span><\/div>\r\n            <div class=\"tbl-scroll\" id=\"heatmapContainer\"><\/div>\r\n            <div class=\"hm-legend\"><span>Low<\/span><span class=\"sw\" style=\"background:#fdf6e3\"><\/span><span class=\"sw\" style=\"background:#f6e7b8\"><\/span><span class=\"sw\" style=\"background:#e9cf7f\"><\/span><span class=\"sw\" style=\"background:#d8b23f\"><\/span><span class=\"sw\" style=\"background:#c9992a\"><\/span><span>High<\/span><\/div>\r\n\r\n            <div class=\"sec-head\"><span class=\"num\">03<\/span><h2>Questions per Exam Cycle<\/h2><\/div>\r\n            <div class=\"an-card\"><div class=\"year-chart\" id=\"cycleChart\"><\/div><\/div>\r\n\r\n            <div class=\"sec-head\"><span class=\"num\">04<\/span><h2>Takeaways for Preparation<\/h2><\/div>\r\n            <div class=\"insight\" id=\"takeaways\"><\/div>\r\n        <\/div>\r\n    <\/div><!-- \/view-analytics -->\r\n\r\n    <!-- ================= VIEW 3 : MY PERFORMANCE (AI COACH) ================= -->\r\n    <div class=\"gp-view\" id=\"view-performance\">\r\n        <div class=\"ai-wrap\">\r\n            <div id=\"aiEmptyState\" class=\"an-card ai-empty\" style=\"display:none;margin-top:24px;\">\r\n                <span class=\"ic\" style=\"font-size:32px\">\ud83e\udde0<\/span>\r\n                <div class=\"big\">Your AI coach is waiting for data<\/div>\r\n                <p>Attempt a few questions in the Practice tab. The coach will then compute your exam-readiness score, detect weak chapters weighted by their real exam frequency, and build a personalised study plan.<\/p>\r\n            <\/div>\r\n\r\n            <div id=\"aiContent\">\r\n                <div class=\"sec-head\" style=\"margin-top:24px;\"><span class=\"num\">01<\/span><h2>Exam Readiness \u2014 AI Assessment<\/h2><span class=\"hint\">weighted by real PYQ frequency<\/span><\/div>\r\n                <div class=\"ai-hero\">\r\n                    <div class=\"ai-ring-card\">\r\n                        <div class=\"ai-ring\">\r\n                            <svg width=\"150\" height=\"150\">\r\n                                <circle class=\"bg\" cx=\"75\" cy=\"75\" r=\"64\"><\/circle>\r\n                                <circle class=\"fg\" cx=\"75\" cy=\"75\" r=\"64\" stroke-dasharray=\"402\" stroke-dashoffset=\"402\" id=\"aiRingFill\"><\/circle>\r\n                            <\/svg>\r\n                            <div class=\"ai-ring-txt\"><span class=\"n\" id=\"aiScore\">0<\/span><span class=\"l\">Readiness \/ 100<\/span><\/div>\r\n                        <\/div>\r\n                        <div class=\"ai-verdict\" id=\"aiVerdict\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"ai-coach-card\">\r\n                        <h3><span class=\"ic\">\ud83e\ude84<\/span> Smart Study Plan \u2014 What to do next<\/h3>\r\n                        <div id=\"aiRecoList\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"ai-kpis\" id=\"aiKpis\"><\/div>\r\n\r\n                <div class=\"sec-head\"><span class=\"num\">02<\/span><h2>Chapter Performance vs Exam Weight<\/h2><span class=\"hint\">priority = high weight \u00d7 low accuracy<\/span><\/div>\r\n                <div class=\"tbl-scroll\"><table class=\"perf\">\r\n                    <thead><tr><th>Chapter<\/th><th>Exam Weight<\/th><th>Coverage<\/th><th>Accuracy<\/th><th>Status<\/th><th>Action<\/th><\/tr><\/thead>\r\n                    <tbody id=\"perfTableBody\"><\/tbody>\r\n                <\/table><\/div>\r\n\r\n                <div class=\"ai-two\" style=\"margin-top:34px;\">\r\n                    <div>\r\n                        <div class=\"sec-head\" style=\"margin-top:0;\"><span class=\"num\">03<\/span><h2>Revision Queue<\/h2><span class=\"hint\">spaced repetition<\/span><\/div>\r\n                        <div class=\"an-card\" id=\"revisionQueue\"><\/div>\r\n                    <\/div>\r\n                    <div>\r\n                        <div class=\"sec-head\" style=\"margin-top:0;\"><span class=\"num\">04<\/span><h2>Mastery Distribution<\/h2><\/div>\r\n                        <div class=\"an-card\" id=\"masteryDist\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Performance reset (lifetime data) -->\r\n                <div class=\"perf-reset-wrap\">\r\n                    <p><b>Danger zone:<\/b> this permanently erases your lifetime performance for this quiz \u2014 mastery stars, weak areas, accuracy history and the readiness score. Session reset on the Practice tab does <b>not<\/b> touch this data.<\/p>\r\n                    <button class=\"perf-reset-btn\" id=\"resetPerfBtn\"><span class=\"ic\">\ud83d\uddd1\ufe0f<\/span> Reset My Performance<\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div><!-- \/view-performance -->\r\n<\/div>\r\n<script>\r\n\/\/ ==========================================\r\n\/\/ QUIZ CONFIGURATION  \u2190 EDIT PER QUIZ\r\n\/\/ ==========================================\r\nconst quizConfig = {\r\n    \/\/ UNIQUE id per quiz. Progress is stored in localStorage under this key,\r\n    \/\/ so two quizzes MUST NOT share the same quizId.\r\n    quizId: 'CHANGE-ME-unique-quiz-id',\r\n    topic: 'Allocation of Business Rules (AOBR)\/TOBR-PYQs',                       \/\/ header H1\r\n    subtitle: 'Combined SO\/Steno LDCE Previous Year Questions \u00b7 Smart Practice & Analytics',\r\n    paper: 'Paper 2',\r\n    wpAjaxUrl: '\/wp-admin\/admin-ajax.php',\r\n    useWordPressSync: true,\r\n    masteryThreshold: 3,   \/\/ consecutive\/total correct needed for \"mastered\"\r\n    weakThreshold: 1,      \/\/ wrong attempts before a question is flagged weak\r\n    revisionGapDays: 7     \/\/ days after which a mastered Q re-enters revision\r\n};\r\n\r\n\/\/ ==========================================\r\n\/\/ QUESTIONS DATA  \u2190 PASTE YOUR MCQs HERE\r\n\/\/ ------------------------------------------\r\n\/\/ Each question object looks like this:\r\n\/\/ {\r\n\/\/   id: 1,                          \/\/ unique number WITHIN a year group\r\n\/\/   year: '2023',                   \/\/ exam year\/cycle label (string)\r\n\/\/   chapter: 'CH 1: Chapter Name',  \/\/ chapter\/topic label (used by filters,\r\n\/\/                                   \/\/ analytics and the AI coach)\r\n\/\/   question: \"Question text...\\n1. Statement one\\n2. Statement two\\nSelect the correct answer using the code given below:\",\r\n\/\/   options: [\"Option A\", \"Option B\", \"Option C\", \"Option D\"],\r\n\/\/   correct: 2,                     \/\/ 0-based index of the right option\r\n\/\/   explanation: `Explanation text shown after checking the answer.`\r\n\/\/ },\r\n\/\/ Numbered statements: start a line with \"1.\" \/ \"2.\" etc (use \\n or <br>).\r\n\/\/ Lines starting with \"Select the correct answer\u2026\" \/ \"Which of the above\u2026\"\r\n\/\/ are auto-styled as the lead line, UPSC question-paper style.\r\n\/\/ ==========================================\r\nconst allQuestions = [\r\n    {\r\n    id: 148,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"During partition of India, some people migrated from Pakistan and settled in India. Now those people want some compensation from Government of Pakistan and have filed a representation to the Prime Minister of India. To which one among the following ministries, the PMO should forward the representation?\",\r\n    options: [\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Overseas Indian Affairs\",\r\n      \"Ministry of Minority Affairs\",\r\n      \"Ministry of External Affairs\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 149,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"The Survey of India and National Atlas & Thematic Mapping Organization fall under the jurisdiction of\",\r\n    options: [\r\n      \"Ministry of Science and Technology\",\r\n      \"Ministry of Earth Science\",\r\n      \"Ministry of Defence\",\r\n      \"Ministry of Communication and Information Technology\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 150,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"Indian Institute of Science, Bengaluru is an institute under\",\r\n    options: [\r\n      \"Ministry of Human Resource Development\",\r\n      \"Ministry of Science and Technology\",\r\n      \"Council of Scientific and Industrial Research\",\r\n      \"Department of Space\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 151,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"Commission of Rail Safety falls under\",\r\n    options: [\r\n      \"Ministry of Home Affairs\",\r\n      \"Cabinet Secretariat\",\r\n      \"Ministry of Railways\",\r\n      \"Ministry of Civil Aviation\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 152,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"A case was registered by the police for improper use of Emblems and Names. The matter should be referred to which Ministry for seeking expert opinion in this regard?\",\r\n    options: [\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Law and Justice\",\r\n      \"Ministry of Culture\",\r\n      \"Ministry of Consumer Affairs, Food and Public Distribution\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 153,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"Suppose an aeroplane en route to Srinagar is hijacked by some terrorists. This message is communicated to the Government by the Directorate of Civil Aviation. In such a situation, a meeting is called by the Cabinet Secretary. Who among the following shall be the probable invitees to the meeting?\\n1. Home Secretary and Defence Secretary\\n2. Chief of Army Staff and Chief of Air Staff\\n3. Chief Minister of Jammu and Kashmir\\n4. Chief of Central Bureau of Investigation\\n\\nSelect the correct answer using the code given below:\",\r\n    options: [\r\n      \"1 and 3\",\r\n      \"2 and 4\",\r\n      \"1 and 4\",\r\n      \"1 and 2\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 154,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"The role of Ministry of Parliamentary Affairs, among other things, is to\",\r\n    options: [\r\n      \"conduct the Business of the House\",\r\n      \"fix dates of summoning and prorogation of the two Houses of Parliament\",\r\n      \"see the matters pertaining to Parliamentary Committees\",\r\n      \"advise the Speaker in the Well of the House\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 155,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"The prices of life-saving drugs are regulated by\",\r\n    options: [\r\n      \"Drug Controller of India\",\r\n      \"National Pharmaceutical Pricing Authority (NPPA)\",\r\n      \"Ministry of Health, Government of India\",\r\n      \"State Governments\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 156,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"Explosive Substance Act, 1908 falls under the purview of\",\r\n    options: [\r\n      \"Department of Industrial Policy and Promotion, Ministry of Commerce and Industry\",\r\n      \"Ministry of Chemicals and Fertilizers\",\r\n      \"Cabinet Secretariat\",\r\n      \"Ministry of Home Affairs\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 157,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"Suppose, Delhi Metro Rail Corporation (DMRC) wants to lay metro lines near Jama Masjid at Delhi. In this case, DMRC shall have to seek permission from which among the following agencies?\\n1. Delhi Urban Art Commission\\n2. Archaeological Survey of India\\n3. Ministry of Defence\\n4. Ministry of Surface Transport\\n\\nSelect the correct answer using the code given below:\",\r\n    options: [\r\n      \"1 and 2 only\",\r\n      \"1 and 3 only\",\r\n      \"1, 2, and 4\",\r\n      \"2 and 3 only\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 158,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"Prevention of Black Marketing of fertilizers is the responsibility of\",\r\n    options: [\r\n      \"State Governments\",\r\n      \"Union Government\",\r\n      \"Fertilizer companies\",\r\n      \"Gram Panchayats\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 159,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"Bharat Electronics Ltd. is a public sector undertaking under the Ministry of\",\r\n    options: [\r\n      \"Heavy Industries and Public Enterprises\",\r\n      \"Science and Technology\",\r\n      \"Defence\",\r\n      \"Communication\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 160,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"A group of people want to visit Mansarover for pilgrimage. To which one among the following ministries of Government of India should they approach?\",\r\n    options: [\r\n      \"Ministry of External Affairs\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Culture\",\r\n      \"Ministry of Defence\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 161,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"An office of Government of India, in order to prescribe a particular dress for its officers, has to take permission from which one among the following?\",\r\n    options: [\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Law and Justice\",\r\n      \"Central Secretariat\",\r\n      \"Department of Personnel and Training\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 162,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"An organization of Government of India proposes to hold a conference at 'Vigyan Bhawan' in New Delhi. To which one among the following agencies should they approach to take the permission?\",\r\n    options: [\r\n      \"New Delhi Municipal Corporation\",\r\n      \"Ministry of Science and Technology\",\r\n      \"Ministry of Urban Development\",\r\n      \"Ministry of Information and Broadcasting\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 163,\r\n    year: '2009-11',\r\n    chapter: 'Table of Precedence',\r\n    question: \"Which one among the following is an equivalent post of 'Field Marshal' in Indian Air Force?\",\r\n    options: [\r\n      \"Marshal of the Air\",\r\n      \"Air Chief Marshal\",\r\n      \"Air Marshal\",\r\n      \"Air Vice Marshal\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 164,\r\n    year: '2009-11',\r\n    chapter: 'Table of Precedence',\r\n    question: \"The status of Chief of Army Staff is\",\r\n    options: [\r\n      \"equivalent to Defence Secretary\",\r\n      \"higher than Defence Secretary\",\r\n      \"equivalent to Joint Secretary, Government of India\",\r\n      \"equivalent to Additional Secretary, Government of India\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 165,\r\n    year: '2009-11',\r\n    chapter: 'Misc',\r\n    question: \"Which among the following officials reports to Ministry of Railways?\",\r\n    options: [\r\n      \"Secretary, Railway Board\",\r\n      \"Chairman, Railway Board\",\r\n      \"Member, Technical, Railway Board\",\r\n      \"Member, Traffic, Railway Board\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 166,\r\n    year: '2009-11',\r\n    chapter: 'Table of Precedence',\r\n    question: \"Director of Intelligence Bureau is equivalent to\",\r\n    options: [\r\n      \"Director General of Police\",\r\n      \"Secretary, Government of India\",\r\n      \"Additional Secretary, Government of India\",\r\n      \"Cabinet Secretary\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 167,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"Which among the following is the nodal Ministry to look after the issues pertaining to 'Bhopal Gas Leak Disaster'?\",\r\n    options: [\r\n      \"Ministry of Petroleum\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Health\",\r\n      \"Ministry of Chemicals and Fertilizers\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 168,\r\n    year: '2009-11',\r\n    chapter: 'Table of Precedence',\r\n    question: \"The status of Member, Planning Commission is equivalent to\",\r\n    options: [\r\n      \"Secretary, Government of India\",\r\n      \"Joint Secretary, Government of India\",\r\n      \"Minister of State in the Union Council of Ministers\",\r\n      \"Additional Secretary, Government of India\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 169,\r\n    year: '2009-11',\r\n    chapter: 'AOBR',\r\n    question: \"Delhi Development Authority is an organization under\",\r\n    options: [\r\n      \"Government of NCT of Delhi\",\r\n      \"Ministry of Urban Development, Government of India\",\r\n      \"Planning Commission\",\r\n      \"Municipal Corporation of Delhi\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 170,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Indian Institute of Packaging is an institution under the Ministry of\",\r\n    options: [\r\n      \"Human Resource Development\",\r\n      \"Commerce and Industry\",\r\n      \"Science and Technology\",\r\n      \"Textiles\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 171,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Which one among the following Ministries can take action if anybody uses the National Emblem unauthorizedly?\",\r\n    options: [\r\n      \"The Ministry of Consumer Affairs\",\r\n      \"The Ministry of Culture\",\r\n      \"The Ministry of Defence\",\r\n      \"The Ministry of Human Resource Development\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 172,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"The affairs regarding Gandhi Peace Prize are looked after by the\",\r\n    options: [\r\n      \"Ministry of Culture\",\r\n      \"Ministry of Human Resource Development\",\r\n      \"Ministry of Social Justice and Empowerment\",\r\n      \"Ministry of Information and Broadcasting\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 173,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Serious Fraud Investigation Office (SFIO) is an office under the Ministry of\",\r\n    options: [\r\n      \"Corporate Affairs\",\r\n      \"Finance\",\r\n      \"Law and Justice\",\r\n      \"Home Affairs\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 174,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"'Mishra Dhatu Nigam Limited' and 'Bharat Earth Movers Limited' are the public undertakings under the Ministry of\",\r\n    options: [\r\n      \"Mines\",\r\n      \"Defence\",\r\n      \"Earth Sciences\",\r\n      \"Heavy Industries and Public Enterprises\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 175,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Hindustan Latex Limited falls under the purview of the\",\r\n    options: [\r\n      \"Ministry of Health and Family Welfare\",\r\n      \"Ministry of Commerce and Industry\",\r\n      \"Ministry of Agriculture\",\r\n      \"Ministry of Textiles\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 176,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Delhi Urban Arts Commission falls under the purview of the\",\r\n    options: [\r\n      \"Ministry of Culture\",\r\n      \"Government of NCT of Delhi\",\r\n      \"Ministry of Urban Development\",\r\n      \"Municipal Corporation of Delhi\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 177,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Damodar Valley Corporation is a public undertaking engaged in the field of\",\r\n    options: [\r\n      \"Power generation\",\r\n      \"Mining\",\r\n      \"Irrigation\",\r\n      \"Fertilizer\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 178,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"National Wastelands Development Board is under the administrative control of the\",\r\n    options: [\r\n      \"Ministry of Agriculture\",\r\n      \"Ministry of Environment and Forests\",\r\n      \"Ministry of Rural Development\",\r\n      \"Cabinet Secretariat\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 179,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"The Registration Act, 1908 is dealt with by the\",\r\n    options: [\r\n      \"Ministry of Law and Justice\",\r\n      \"Ministry of Rural Development\",\r\n      \"Ministry of Panchayati Raj\",\r\n      \"Ministry of Urban Development\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 180,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"National Mission on Biofuel is carried out by the\",\r\n    options: [\r\n      \"Ministry of Rural Development\",\r\n      \"Ministry of Agriculture\",\r\n      \"Ministry of Environment and Forests\",\r\n      \"Ministry of New and Renewable Energy\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 181,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Suppose, a person wants to construct a hotel near Indira Gandhi International Airport, Delhi. For this purpose, he will have to take permission from\",\r\n    options: [\r\n      \"Municipal Corporation of Delhi and Delhi Development Authority\",\r\n      \"Municipal Corporation of Delhi and Cantonment Board\",\r\n      \"Municipal Corporation of Delhi and Airport Authority of India\",\r\n      \"Municipal Corporation of Delhi, Cantonment Board, Delhi Development Authority, Airport Authority of India, Delhi Urban Arts Commission and Delhi Police\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 182,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Sale of spurious\/substandard drug is checked by the\",\r\n    options: [\r\n      \"Ministry of Health and Family Welfare\",\r\n      \"Department of Pharmaceuticals of the Ministry of Chemicals and Fertilizers\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Consumer Affairs\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 183,\r\n    year: '2012-13',\r\n    chapter: 'TOBR',\r\n    question: \"Delhi Police is under the administrative control of the Union Home Ministry. It is headed by a Commissioner of Police who reports to the\",\r\n    options: [\r\n      \"Chief Minister of NCT of Delhi\",\r\n      \"Union Home Minister\",\r\n      \"Secretary, Ministry of Home Affairs, Government of India\",\r\n      \"Lt. Governor of Delhi\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 184,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"National Technical Research Organization (NTRO) is a premier apex scientific agency under the\",\r\n    options: [\r\n      \"National Security Adviser in the Prime Minister's Office\",\r\n      \"Defence Research and Development Organization (DRDO)\",\r\n      \"Council of Scientific and Industrial Research\",\r\n      \"Department of Atomic Energy\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 185,\r\n    year: '2012-13',\r\n    chapter: 'Table of Precedence',\r\n    question: \"The rank of the Commissioner of Delhi Police is equal to the\",\r\n    options: [\r\n      \"Director General of Police of a State\",\r\n      \"Director, Intelligence Bureau\",\r\n      \"Inspector General of Police\",\r\n      \"Director, Central Bureau of Investigation\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 186,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Agricultural and Processed Food Products Export Development Authority falls under the purview of the\",\r\n    options: [\r\n      \"Ministry of Agriculture\",\r\n      \"Ministry of Food Processing Industries\",\r\n      \"Ministry of Commerce and Industry\",\r\n      \"Ministry of Consumer Affairs, Food and Public Distribution\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 187,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Government of India Printing Press is under the administrative control of the\",\r\n    options: [\r\n      \"Ministry of Information and Broadcasting\",\r\n      \"Ministry of Urban Development\",\r\n      \"Ministry of Human Resource Development\",\r\n      \"Ministry of Home Affairs\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 188,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Administration of Narcotic Drugs and Psychotropic Substances Act is done by the\",\r\n    options: [\r\n      \"Ministry of Finance\",\r\n      \"Ministry of Health and Family Welfare\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Department of Pharmaceuticals, Ministry of Chemicals and Fertilizers\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 189,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Administration of Rajghat Samadhi Committee is done by the\",\r\n    options: [\r\n      \"Ministry of Culture\",\r\n      \"Ministry of Human Resource Development\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Urban Development\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 190,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"The Ministry of Parliamentary Affairs is responsible for\\n1. Government business in the House\\n2. Coordination with the Lok Sabha and Rajya Sabha Secretariats regarding parliamentary matters\\n3. Private Members' Bill in the House\\n4. TA and DA of the Members of the Parliament\\n\\nSelect the correct answer using the code given below:\",\r\n    options: [\r\n      \"1 and 2 only\",\r\n      \"1, 2, and 3\",\r\n      \"3 and 4\",\r\n      \"2 only\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 191,\r\n    year: '2012-13',\r\n    chapter: 'Table of Precedence',\r\n    question: \"The rank of the Director, Central Bureau of Investigation is\",\r\n    options: [\r\n      \"Equivalent to the Director, Intelligence Bureau\",\r\n      \"Higher than the Director, Intelligence Bureau\",\r\n      \"Equivalent to the Director in Government of India\",\r\n      \"Equivalent to the Major General in Indian Army\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 192,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Drafting of the Government Bill is done by which among the following departments of the Ministry of Law and Justice?\",\r\n    options: [\r\n      \"Legislative Department\",\r\n      \"Department of Legal Affairs\",\r\n      \"Department of Justice\",\r\n      \"Both Legislative Department and Department of Legal Affairs\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 193,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"The matters related to management, preservation, and control of enemy property including custodian of enemy property in India are governed by the\",\r\n    options: [\r\n      \"Ministry of External Affairs\",\r\n      \"Ministry of Defence\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Overseas Indian Affairs\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 194,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"National Museum of Natural History falls under the purview of the\",\r\n    options: [\r\n      \"Ministry of Culture\",\r\n      \"Ministry of Human Resource Development\",\r\n      \"Ministry of Environment and Forests\",\r\n      \"None of the above\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 195,\r\n    year: '2012-13',\r\n    chapter: 'AOBR',\r\n    question: \"Which one among the following organizations is responsible for overall coordination of Pradhan Mantri Gramodaya Yojana?\",\r\n    options: [\r\n      \"The Planning Commission\",\r\n      \"The Ministry of Rural Development\",\r\n      \"The Cabinet Secretariat\",\r\n      \"The Ministry of Panchayati Raj\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 196,\r\n    year: '2012-13',\r\n    chapter: 'TOBR',\r\n    question: \"Who is the Chairman of National Disaster Management Authority (NDMA)?\",\r\n    options: [\r\n      \"The Prime Minister\",\r\n      \"The Home Minister\",\r\n      \"The Cabinet Secretary\",\r\n      \"The Home Secretary\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n   {\r\n    \"id\": 92,\r\n    \"year\": \"2014\",\r\n    \"chapter\": \"TOBR\",\r\n    \"question\": \"Which of the following matters is not required to be brought before the Cabinet Committee on Security for consideration?\",\r\n    \"options\": [\r\n      \"Issues relating to law and order and internal security\",\r\n      \"Economic and political issues impinging on national security\",\r\n      \"Matters relating to atomic energy\",\r\n      \"Appointment of Defence Attaches to SAARC countries\"\r\n    ],\r\n    \"correct\": 3,\r\n    \"explanation\": `<b>Correct Answer: D) Appointment of Defence Attaches to SAARC countries - NOT required for CCS<\/b><br><br>\r\n<b>Cabinet Committee on Security (CCS) deals with:<\/b><br>\r\n\r\nAll matters relating to law and order and internal security \u2713<br>\r\nItems relating to Defence policy \u2713<br>\r\nEconomic and political issues impinging on national security \u2713<br>\r\nMatters relating to atomic energy \u2713<br>\r\nDefence expenditure \u2713<br>\r\nDefence capital acquisitions \u2713<br><br>\r\n<b>Appointment of Defence Attaches:<\/b><br>\r\nThis is an administrative matter dealt with by the Ministry of External Affairs in consultation with Ministry of Defence. Routine postings of Defence Attaches do not require Cabinet Committee on Security consideration.`\r\n  },\r\n  {\r\n    id: 197,\r\n    year: '2014',\r\n    chapter: 'TOBR',\r\n    question: \"Which of the following rules are issued by the President of India under Article 77(3) of the Constitution for conduct of business of the Government?\\n1. The Government of India (Allocation of Business) Rules, 1961\\n2. The Government of India (Transaction of Business) Rules, 1961\\n3. The General Financial Rules, 2005\\n\\nSelect the correct answer using the code given below:\",\r\n    options: [\r\n      \"1 and 2 only\",\r\n      \"2 and 3 only\",\r\n      \"1, 2, and 3\",\r\n      \"1 only\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 198,\r\n    year: '2014',\r\n    chapter: 'AOBR',\r\n    question: \"Army, Naval, and Air Headquarters are\",\r\n    options: [\r\n      \"the Attached Offices of the Ministry of Defence\",\r\n      \"the Subordinate Offices of the Ministry of Defence\",\r\n      \"a part of the integrated Headquarters of the Ministry of Defence\",\r\n      \"None of the above\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 199,\r\n    year: '2014',\r\n    chapter: 'TOBR',\r\n    question: \"Which of the following statements is correct? As per the Central Staffing Scheme, officers appointed as Secretaries to the Government of India\",\r\n    options: [\r\n      \"can have a maximum tenure of three years\",\r\n      \"can have a maximum tenure of five years\",\r\n      \"can have a maximum tenure of two years\",\r\n      \"have no fixed tenure\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 200,\r\n    year: '2014',\r\n    chapter: 'TOBR',\r\n    question: \"Which one of the following statements is incorrect? Public Sector Undertakings are\",\r\n    options: [\r\n      \"controlled fully or partly by the Government\",\r\n      \"set up in the form of companies or corporations\",\r\n      \"entities in which the shares are held by the President or his nominees\",\r\n      \"managed by a Board of Directors comprising Government officials only\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 201,\r\n    year: '2014',\r\n    chapter: 'TOBR',\r\n    question: \"Under the Central Staffing Scheme, the prescribed tenure of deputation of an officer to the post of Director is\",\r\n    options: [\r\n      \"3 years\",\r\n      \"4 years\",\r\n      \"5 years\",\r\n      \"7 years\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 202,\r\n    year: '2014',\r\n    chapter: 'AOBR',\r\n    question: \"The Department of Pharmaceuticals is under the administrative control of the\",\r\n    options: [\r\n      \"Ministry of Health and Family Welfare\",\r\n      \"Ministry of Chemicals and Fertilizers\",\r\n      \"Ministry of Micro, Small and Medium Enterprises\",\r\n      \"Prime Minister's Office\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 203,\r\n    year: '2014',\r\n    chapter: 'TOBR',\r\n    question: \"At present, the Border Roads Development Board (BRDB) functions under the Chairmanship of the\",\r\n    options: [\r\n      \"Minister of State in the Ministry of Defence\",\r\n      \"Minister of State in the Ministry of Road Transport and Highways\",\r\n      \"Prime Minister\",\r\n      \"Chief of Army Staff\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 204,\r\n    year: '2014',\r\n    chapter: 'AOBR',\r\n    question: \"Hindustan Shipyard Limited is\",\r\n    options: [\r\n      \"a public sector shipyard under the Ministry of Defence\",\r\n      \"a private sector company\",\r\n      \"managed by the Shipping Corporation of India\",\r\n      \"the most profitable shipyard in the country\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 205,\r\n    year: '2014',\r\n    chapter: 'Table of Precedence',\r\n    question: \"A rank of 'Colonel' in the Army is equivalent to\",\r\n    options: [\r\n      \"Captain in the Indian Navy\",\r\n      \"Commodore in the Indian Navy\",\r\n      \"Wing Commander in the Air Force\",\r\n      \"None of the above\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 206,\r\n    year: '2014',\r\n    chapter: 'AOBR',\r\n    question: \"An association of the families of freedom fighters wants to take up the issue regarding inadequacy of the pension granted to them and calls on the Minister concerned. Who should the association call on?\",\r\n    options: [\r\n      \"The Minister-in-Charge of the Department of Pension and Pensioners' Welfare\",\r\n      \"The Minister-in-Charge of the Department of Social Justice and Empowerment\",\r\n      \"The Minister-in-Charge of the Ministry of Home Affairs\",\r\n      \"The Minister-in-Charge of the Ministry of Human Resource Development\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 207,\r\n    year: '2014',\r\n    chapter: 'AOBR',\r\n    question: \"Inland Waterways Authority of India (IWAI) is an autonomous body under the administrative control of the\",\r\n    options: [\r\n      \"Ministry of Shipping\",\r\n      \"Ministry of Water Resources, River Development and Ganga Rejuvenation\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Drinking Water and Sanitation\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 208,\r\n    year: '2014',\r\n    chapter: 'AOBR',\r\n    question: \"'Antrix' is the commercial arm of the\",\r\n    options: [\r\n      \"Department of Space\",\r\n      \"Department of Information Technology\",\r\n      \"Department of Atomic Energy\",\r\n      \"Department of Electronics\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 209,\r\n    year: '2014',\r\n    chapter: 'TOBR',\r\n    question: \"The Ministry of Culture wants to sign cultural agreements with a number of countries for exchange of musicians. Which of the following actions does it need to take?\",\r\n    options: [\r\n      \"Seek prior approval of the Cabinet\",\r\n      \"Bring the proposal before the Parliament\",\r\n      \"Bring the matter before the Cabinet for information\",\r\n      \"Seek the approval of the Ministry of External Affairs\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 210,\r\n    year: '2014',\r\n    chapter: 'AOBR',\r\n    question: \"National Disaster Response Force acts under the\",\r\n    options: [\r\n      \"Ministry of Defence\",\r\n      \"Ministry of Urban Development\",\r\n      \"Ministry of Home Affairs\",\r\n      \"PMO\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 211,\r\n    year: '2014',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following is not under the Ministry of Information and Broadcasting?\",\r\n    options: [\r\n      \"Broadcast Engineers Consultants (India) Limited\",\r\n      \"Indian Institute of Mass Communication\",\r\n      \"Publications Division\",\r\n      \"National School of Drama\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  \r\n  {\r\n    id: 212,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following is correct?\",\r\n    options: [\r\n      \"The Department of Pharmaceuticals is under the Ministry of Chemicals and Fertilizers\",\r\n      \"The Department of Scientific and Industrial Research is under the Ministry of Heavy Industries and Public Enterprises\",\r\n      \"The Ministry of Commerce and Industry was wound up in 2014\",\r\n      \"The Department of Border Management is under the Ministry of Defence\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 213,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following is incorrect?\",\r\n    options: [\r\n      \"The Department of Official Language is not under the Ministry of Human Resource Development\",\r\n      \"External Affairs and Overseas Affairs are looked after by two separate ministries\",\r\n      \"There is no department of Jammu and Kashmir Affairs\",\r\n      \"There exists a separate department of Disability Affairs\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 214,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Of late, you as a film distributor have been having problems in exporting Indian feature films to certain countries because of an ambiguity in the policy on export of feature films. Who of the following authorities would you represent to for review of the policy?\",\r\n    options: [\r\n      \"Director General of Foreign Trade\",\r\n      \"Department of Industrial Policy and Promotion\",\r\n      \"Ministry of Information and Broadcasting\",\r\n      \"Ministry of Culture\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 215,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"You are associated with a Non-Governmental Organization (NGO) engaged in protection of the marine environment on the high seas. You want to explore the possibility of obtaining some financial assistance from the Government. Who would you take up the matter with?\",\r\n    options: [\r\n      \"Ministry of Shipping\",\r\n      \"Ministry of Finance\",\r\n      \"Ministry of Environment, Forest and Climate Change\",\r\n      \"Ministry of Earth Sciences\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 216,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Suppose you want to set up a chain of open-air theatres in the rural areas and various State capitals to promote folk music and dances. Who would you approach with your proposal?\",\r\n    options: [\r\n      \"The State Governments concerned\",\r\n      \"Ministry of Panchayati Raj\",\r\n      \"Ministry of Rural Development\",\r\n      \"Ministry of Culture\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 217,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"The Ex-Servicemen Contributory Health Scheme (ECHS) is administered by which one of the following organizations\/ministries?\",\r\n    options: [\r\n      \"Directorate General Resettlement\",\r\n      \"Department of Ex-Servicemen Welfare\",\r\n      \"Ministry of Health and Family Welfare\",\r\n      \"Ministry of Chemicals and Fertilizers\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 218,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following Acts administered by the Department of Industrial Policy and Promotion does not relate to protection of the Intellectual Property Rights in India?\",\r\n    options: [\r\n      \"The Trade and Merchandise Marks Act, 1958 (43 of 1958)\",\r\n      \"The Patents Act, 1970 (39 of 1970)\",\r\n      \"The Essential Commodities Act, 1955 (10 of 1955)\",\r\n      \"The Designs Act, 2000 (16 of 2000)\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 219,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following statements with regard to the Mazagon Dock Limited, Garden Reach Shipbuilders and Engineers Limited, Goa Shipyard Limited, and Hindustan Shipyard Limited is not correct?\",\r\n    options: [\r\n      \"They are public sector undertakings.\",\r\n      \"They are capable of making certain types of ships and other marine vessels.\",\r\n      \"They receive regular budgetary support from the Ministry of Defence.\",\r\n      \"They are subject to audit by the Comptroller and Auditor General of India.\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 220,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Which ministry\/office is piloting the initiative on development of Smart Cities in India?\",\r\n    options: [\r\n      \"Ministry of Urban Development\",\r\n      \"Ministry of Social Justice and Empowerment\",\r\n      \"Prime Minister's Office\",\r\n      \"Ministry of Finance\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 221,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Suppose, an issue concerning the celebration of some traditional festivals in Puducherry (Pondicherry) and Goa has cropped up. It has the potential of affecting India's relations with France and Portugal respectively. Which one of the following would handle the issue?\",\r\n    options: [\r\n      \"Ministry of External Affairs\",\r\n      \"Ministry of Culture\",\r\n      \"Cabinet Secretariat\",\r\n      \"Ministry of Home Affairs\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 222,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following ministries would you apply to for obtaining an industrial license under the provisions of the Industries (Development and Regulation) Act, 1951 (65 of 1951)?\",\r\n    options: [\r\n      \"Ministry of Heavy Industries and Public Enterprises\",\r\n      \"Ministry of Micro, Small and Medium Enterprises\",\r\n      \"Ministry of Labour and Employment\",\r\n      \"Ministry of Commerce and Industry\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 223,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"You want to obtain some information under the Right to Information Act, 2005 regarding the Direct Benefits Transfer Scheme. The Public Information Officer (PIO) of which ministry\/department should you address your application to?\",\r\n    options: [\r\n      \"Ministry of Labour and Employment\",\r\n      \"Department of Revenue\",\r\n      \"Department of Expenditure\",\r\n      \"Department of Disinvestment\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 224,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following is not a part of the responsibility of the Department of Defence Production?\",\r\n    options: [\r\n      \"Defence Public Sector Undertakings\",\r\n      \"Ordnance Factory Board\",\r\n      \"Defence Quality Assurance Organization\",\r\n      \"Advising the Defence Minister on the impact of developments in science and technology on national security\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 225,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following is not under the administrative control of the Ministry of Home Affairs?\",\r\n    options: [\r\n      \"Assam Rifles\",\r\n      \"Coast Guard\",\r\n      \"National Security Guard\",\r\n      \"Sashastra Seema Bal\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 226,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Matters related to the Central Vigilance Commission are dealt with by\",\r\n    options: [\r\n      \"Ministry of Law and Justice\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Cabinet Secretariat\",\r\n      \"None of the above\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 227,\r\n    year: '2015',\r\n    chapter: 'Table of Precedence',\r\n    question: \"Which one of the following statements is correct?\",\r\n    options: [\r\n      \"India has a Chief of Defence Staff\",\r\n      \"India has a permanent Chairman of the Chiefs of Staff Committee\",\r\n      \"India has a Chairman of the Chiefs of Staff Committee\",\r\n      \"India has all the three mentioned above\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 228,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"The Tata Institute of Fundamental Research is under the administrative control of the Department of\",\r\n    options: [\r\n      \"Space\",\r\n      \"Defence Research and Development\",\r\n      \"Higher Education\",\r\n      \"Atomic Energy\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 229,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Development of manganese and chrome ore mines is the responsibility of the Ministry of\",\r\n    options: [\r\n      \"Mines\",\r\n      \"Steel\",\r\n      \"Power\",\r\n      \"Earth Sciences\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 230,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following is not administratively controlled by the Department of Internal Security?\",\r\n    options: [\r\n      \"Rashtriya Rifles\",\r\n      \"Indo-Tibetan Border Police\",\r\n      \"Border Security Force\",\r\n      \"Central Industrial Security Force\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 231,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"The Ministry of Development of North-Eastern Region (NER) is not responsible for\",\r\n    options: [\r\n      \"Hill Area Development Programme in NER\",\r\n      \"Non-lapsable Fund for NER\",\r\n      \"North-Eastern Council\",\r\n      \"North-Eastern Space Applications Centre\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 232,\r\n    year: '2015',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following is not included in the responsibility of the Department of Defence?\",\r\n    options: [\r\n      \"Hydrographic surveys and preparation of navigational charts\",\r\n      \"Matters concerning diving and related activities in the country\",\r\n      \"Matters related to National Remote Sensing Agency (NRSA)\",\r\n      \"Remounts, veterinary, and farms organization\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 233,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following Ministries\/Departments handles matters related to private air transport (including Cargo) Industry?\",\r\n    options: [\r\n      \"Department of Heavy Industries\",\r\n      \"Department of Defence Production\",\r\n      \"Ministry of Civil Aviation\",\r\n      \"Ministry of Tourism\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 234,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"The Commission of Railway Safety functions under the administrative control of the Ministry of\",\r\n    options: [\r\n      \"Labour and Employment\",\r\n      \"Railways\",\r\n      \"Commerce and Industries\",\r\n      \"Civil Aviation\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 235,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following Ministries\/Departments is concerned with matters related to the Hotel Corporation of India?\",\r\n    options: [\r\n      \"Ministry of Civil Aviation\",\r\n      \"Ministry of Tourism\",\r\n      \"Department of Public Enterprises\",\r\n      \"Department of Commerce\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 236,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Minerals and Metals Trading Corporation functions under the administrative control of which one of the following Ministries\/Departments?\",\r\n    options: [\r\n      \"Ministry of Mines\",\r\n      \"Department of Commerce\",\r\n      \"Department of Heavy Industries\",\r\n      \"Ministry of Earth Sciences\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 237,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following cadres is not managed by the Ministry of Commerce and Industry?\",\r\n    options: [\r\n      \"Indian Economic Service\",\r\n      \"Indian Trade Service\",\r\n      \"Indian Supply Service\",\r\n      \"Indian Inspection Service\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 238,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"The Department of Commerce can decide matters relating to grant of fiscal concessions in Special Economic Zones with the concurrence of\",\r\n    options: [\r\n      \"the Minister-in-charge of the Department\",\r\n      \"the Department of Economic Affairs\",\r\n      \"the Department of Revenue\",\r\n      \"the Parliament\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 239,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following organisations is not under the administrative control of the Department of Commerce?\",\r\n    options: [\r\n      \"Directorate General of Commercial Intelligence and Statistics\",\r\n      \"Marine Products Export Development Authority\",\r\n      \"Agricultural and Processed Food Products Export Development Authority\",\r\n      \"Competition Commission of India\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 240,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following Acts is not directly related to the protection of Intellectual Property Rights?\",\r\n    options: [\r\n      \"The Transfer of Property Act, 1882\",\r\n      \"The Semiconductor Integrated Circuits Layout Designs Act, 2000\",\r\n      \"The Trade and Merchandise Marks Act, 1958\",\r\n      \"The Patents Act, 1970\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 241,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Drafting of Bills is the responsibility of\",\r\n    options: [\r\n      \"the Ministry\/Department concerned\",\r\n      \"the Ministry of Law and Justice\",\r\n      \"the Cabinet Secretariat\",\r\n      \"the Ministry of Home Affairs\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 242,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Bharat Wagon and Engineering Company Limited, Burn Standard Company Limited, and the Lagan Jute Machinery Company Limited are subsidiary companies under the administrative control of which one of the following Ministries?\",\r\n    options: [\r\n      \"Ministry of Railways\",\r\n      \"Ministry of Textiles\",\r\n      \"Ministry of Micro, Small and Medium Enterprises\",\r\n      \"Ministry of Heavy Industries and Public Enterprises\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 243,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Public Enterprises Selection Board, which advises the Government on appointments to the top management posts in the Central Public Sector Enterprises, functions under the administrative control of\",\r\n    options: [\r\n      \"Ministry of Corporate Affairs\",\r\n      \"Ministry of Personnel, Public Grievances and Pensions\",\r\n      \"Prime Minister's Office\",\r\n      \"Competition Commission\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 244,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Monitoring of the Members of Parliament Local Area Development Scheme (MPLADS) is the responsibility of\",\r\n    options: [\r\n      \"the Lok Sabha and the Rajya Sabha Secretariats\",\r\n      \"the Ministry of Finance\",\r\n      \"the Ministry of Statistics and Programme Implementation\",\r\n      \"the Ministry of Home Affairs\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 245,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Assistance to institutions engaged in scientific work and to universities for the advancement of study and research in nuclear sciences is the responsibility of\",\r\n    options: [\r\n      \"Department of Atomic Energy\",\r\n      \"Ministry of New and Renewable Energy\",\r\n      \"Ministry of Power\",\r\n      \"Ministry of Science and Technology\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 246,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Centre for Development of Telematics (C-DOT) is\",\r\n    options: [\r\n      \"non-existent\",\r\n      \"a private sector entity\",\r\n      \"under the administrative control of different Ministries\",\r\n      \"under the administrative control of Ministry of Communications\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 247,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Entering into treaties and agreements with foreign countries relating to trade and commerce in food grains and other foodstuffs is the responsibility of\",\r\n    options: [\r\n      \"Ministry of Consumer Affairs, Food and Public Distribution\",\r\n      \"Directorate General of Foreign Trade\",\r\n      \"Ministry of Agriculture and Farmers Welfare\",\r\n      \"Ministry of Foreign Affairs\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 248,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Serious Frauds Investigation Office functions under\",\r\n    options: [\r\n      \"Ministry of Corporate Affairs\",\r\n      \"Reserve Bank of India\",\r\n      \"Central Bureau of Investigation\",\r\n      \"Securities & Exchange Board of India\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 249,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"A non-governmental organisation wants to set up a chain of open-air theatres in 50 rural areas across the entire country. Which one of the following Ministries should it approach with the proposal?\",\r\n    options: [\r\n      \"Ministry of Information and Broadcasting\",\r\n      \"Ministry of Culture\",\r\n      \"Ministry of Rural Development\",\r\n      \"Ministry of Home Affairs\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 250,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following is not under the purview of the Ministry of Development of North Eastern Region?\",\r\n    options: [\r\n      \"The Sikkim Mining Corporation Limited\",\r\n      \"Planning of road and inland waterways transport\",\r\n      \"Border Roads Organisation\",\r\n      \"North Eastern Council\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 251,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Department of Pharmaceuticals (Aushadh Vibhag) is a part of which one of the following Ministries?\",\r\n    options: [\r\n      \"Ministry of Chemicals and Fertilizers\",\r\n      \"Ministry of Health and Family Welfare\",\r\n      \"Ministry of Science and Technology\",\r\n      \"Ministry of Consumer Affairs, Food and Public Distribution\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 252,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"All matters relating to survey to map, locate, and assess living and non-living marine resources fall within the purview of which of the following?\",\r\n    options: [\r\n      \"National Institute of Oceanography\",\r\n      \"Ministry of Earth Sciences\",\r\n      \"Department of Animal Husbandry, Dairying and Fisheries\",\r\n      \"Coast Guard Organisation\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 253,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Conservation, development, management, and abatement of pollution of rivers, excluding the river Ganga and its tributaries, is the responsibility of\",\r\n    options: [\r\n      \"Ministry of Jal Shakti\",\r\n      \"Ministry of Earth Sciences\",\r\n      \"Ministry of Environment, Forest and Climate Change\",\r\n      \"Ministry of Science and Technology\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 254,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Matters relating to Himalayan expeditions are handled by which one of the following Ministries?\",\r\n    options: [\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Human Resource Development\",\r\n      \"Ministry of Youth Affairs and Sports\",\r\n      \"Ministry of External Affairs\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 255,\r\n    year: '2016-17',\r\n    chapter: 'AOBR',\r\n    question: \"Matters related to which one of the following subjects are not handled by the Ministry of External Affairs?\",\r\n    options: [\r\n      \"Notification regarding commencement or cessation of a state of war\",\r\n      \"World Health Organisation\",\r\n      \"Demarcation of the land frontiers of India\",\r\n      \"Indian Council of Cultural Relations\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 256,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Department of Pharmaceuticals?\",\r\n    options: [\r\n      \"Promotion and coordination of basic, applied and other research in areas related to the Pharmaceutical sector\",\r\n      \"Development of infrastructure, manpower, and skills for the pharmaceutical sector and management of related information\",\r\n      \"Technical support for dealing with national hazards in the pharmaceutical sector\",\r\n      \"Bhopal Chemicals and Pharmaceuticals Limited\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 257,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Ministry of Civil Aviation?\",\r\n    options: [\r\n      \"Public Air Transport (including Cargo Industry)\",\r\n      \"Commonwealth Air Transport Council\",\r\n      \"International Air Transport Association\",\r\n      \"International Civil Aviation Organisation\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 258,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Department of Posts?\",\r\n    options: [\r\n      \"Execution of works, including purchase of land debitable to the Capital Budget pertaining to the Department of Posts\",\r\n      \"Promotion of feasibility survey, research, and development in the field of activities allotted to the Department\",\r\n      \"Commonwealth Postal Communications Union\",\r\n      \"Post Office Life Insurance Fund (Administration)\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 259,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Ministry of Corporate Affairs?\",\r\n    options: [\r\n      \"Administration of Insolvency and Bankruptcy Code\",\r\n      \"Administration of Competition Act, 1932\",\r\n      \"Competition Commission of India\",\r\n      \"Collection of Statistics relating to Companies\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 260,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Department of Defence Research and Development?\",\r\n    options: [\r\n      \"Aeronautical Development Agency\",\r\n      \"Apprising, assessing, and advising Raksha Mantri on the influence on National Security of emerging developments in Science and Technology\",\r\n      \"Formulation and execution of programmes of scientific research and design, development, test, and evaluation in fields of relevance to national security\",\r\n      \"To deal with reference made under Section 25 of the Patents Act, 1960\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 261,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Ministry of Earth Sciences?\",\r\n    options: [\r\n      \"Atmospheric Technology and Sciences\",\r\n      \"Earth System Science Organisation\",\r\n      \"Marine Environment on the high seas\",\r\n      \"Research related to Earth System Sciences\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 262,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Ministry of Electronics and Information Technology?\",\r\n    options: [\r\n      \"Promotion of Internet, IT, and IT-enabled services\",\r\n      \"Electronics and Computer Council of India\",\r\n      \"Promotion of Information Technology education and Information Technology-based education\",\r\n      \"Matters relating to Cyber Laws\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 263,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Department of Expenditure?\",\r\n    options: [\r\n      \"Financial rules and regulations and delegation of financial powers\",\r\n      \"Indian Audit and Accounts Department\",\r\n      \"Policies relating to exchange rates of Rupee\",\r\n      \"Matters relating to the Controller General of Accounts\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 264,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Ministry of Food Processing Industries?\",\r\n    options: [\r\n      \"Central Food and Standardisation Laboratory\",\r\n      \"Beer including non-alcoholic beer\",\r\n      \"Aerated water and soft drinks\",\r\n      \"Food grains milling industry\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 265,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Ministry of Health and Family Welfare, with which the Central Government deals in a legislative capacity only for the Union and in both legislative and executive capacities for all Union Territories?\",\r\n    options: [\r\n      \"The medical profession, and medical education\",\r\n      \"Mental health\",\r\n      \"Drugs standards\",\r\n      \"National Commission on Population\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 266,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Department of Heavy Industry?\",\r\n    options: [\r\n      \"Residual work relating to erstwhile Bureau of Public Enterprises including Industrial Management Pool\",\r\n      \"Bharat Ophthalmic Glass Limited\",\r\n      \"Bharat Leather Corporation\",\r\n      \"Bharat Heavy Electricals Limited\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 267,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Department of Official Language?\",\r\n    options: [\r\n      \"Implementation of the provisions of the Constitution relating to Official Language\",\r\n      \"Matters relating to Kendriya Hindi Samiti including its up-samitis\",\r\n      \"Constitution and Cadre management of the Central Secretariat Official Language Service\",\r\n      \"Implementation of model rules of business in Official Language for State Governments\/Union Territory Administrations\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 268,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Department of Justice?\",\r\n    options: [\r\n      \"Legal aid to the poor\",\r\n      \"Court fees and Stamp duties in the Union Territories\",\r\n      \"Trusts and Trustees, Administrators General, and Official Trustees\",\r\n      \"Creation of All India Judicial Service\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 269,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Ministry of Mines?\",\r\n    options: [\r\n      \"Geological Survey of India\",\r\n      \"Indian Bureau of Mines\",\r\n      \"Metallurgical Grade Silicon\",\r\n      \"National Mines and Small Industries Corporation Limited\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 270,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Ministry of Minority Affairs?\",\r\n    options: [\r\n      \"All matters relating to minority communities except matters relating to law and order\",\r\n      \"Matters relating to the National Commission for Minorities Act\",\r\n      \"District Minorities Planning Committees\",\r\n      \"Representation of the Anglo-Indian Community\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 271,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"The business of the Government of India allocated to Cabinet Secretariat is and shall always be deemed to have been allotted to\",\r\n    options: [\r\n      \"the President\",\r\n      \"the Prime Minister\",\r\n      \"the Home Minister\",\r\n      \"the Vice President\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 272,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall within List-I of the Seventh Schedule to the Constitution of India under the control of the Department of Agricultural Research and Education?\",\r\n    options: [\r\n      \"Cess for financing to the Indian Council of Agricultural Research and the Commodity Research Programmes other than those relating to tea, coffee, and rubber\",\r\n      \"Coordination and determination of standards in institutions for higher education or research and scientific and technical institutions in so far as they relate to food and agriculture including animal husbandry, dairying, and fisheries\",\r\n      \"Liaison and cooperation with international organizations in matters relating to livestock, poultry, and fisheries development\",\r\n      \"Sugarcane research\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 273,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall within List-I of the Seventh Schedule to the Constitution of India under the control of the Department of Animal Husbandry, Dairying, and Fisheries?\",\r\n    options: [\r\n      \"Matters relating to loss of livestock due to natural calamities\",\r\n      \"Livestock Census\",\r\n      \"Fishing and fisheries (inland, marine, and beyond territorial waters)\",\r\n      \"Central Council of Fisheries\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 274,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Department of Chemicals and Petrochemicals?\",\r\n    options: [\r\n      \"Synthetic rubber\",\r\n      \"Plastics including fabrications of plastic and moulded goods\",\r\n      \"Administrative responsibility for the Indian Potash Limited\",\r\n      \"Dye-stuffs and dye-intermediates\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 275,\r\n    year: '2018',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following subjects does not fall under the control of the Department of Fertilizers?\",\r\n    options: [\r\n      \"Administrative responsibility for fertilizer production of Indian Farmers Cooperative Limited\",\r\n      \"Industries relating to the production of non-cellulosic synthetic fibres\",\r\n      \"Allocation and supply linkages for movement and distribution of urea in terms of assessment made by the Department of Agriculture, Cooperation and Farmers Welfare\",\r\n      \"Planning for fertilizer production including import of fertilizer through a designated canalising agency\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 276,\r\n    year: '2019-20',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following is not a wing of Cabinet Secretariat?\",\r\n    options: [\r\n      \"Civil Wing\",\r\n      \"Military Wing\",\r\n      \"Administrative Wing\",\r\n      \"Intelligence Wing\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 277,\r\n    year: '2019-20',\r\n    chapter: 'AOBR',\r\n    question: \"Which among the following Ministries of the Government of India is conducting the decennial census which rests with the Office of the Registrar General and Census Commissioner?\",\r\n    options: [\r\n      \"The Ministry of Home Affairs\",\r\n      \"The Ministry of Information and Broadcasting\",\r\n      \"The Ministry of Education\",\r\n      \"The Ministry of Law and Justice\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 278,\r\n    year: '2019-20',\r\n    chapter: 'AOBR',\r\n    question: \"Which Union Ministry is responsible for the administration of Central Armed Police Forces (CAPF)?\",\r\n    options: [\r\n      \"The Ministry of Defence\",\r\n      \"The Ministry of Home Affairs\",\r\n      \"The Ministry of External Affairs\",\r\n      \"The Ministry of Finance\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 279,\r\n    year: '2019-20',\r\n    chapter: 'TOBR',\r\n    question: \"Which one of the following statements is correct pertaining to the eligibility for the appointment of the Chief of Defence Staff in India?\",\r\n    options: [\r\n      \"An officer must be either serving or retired Lieutenant General\",\r\n      \"An officer must be either serving or retired Air Marshal\",\r\n      \"An officer must be either serving or retired Vice Admiral\",\r\n      \"An officer must be either serving or retired JCO ranks\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 280,\r\n    year: '2019-20',\r\n    chapter: 'AOBR',\r\n    question: \"The 'Foreign Direct Investment' policy in India is regulated by\",\r\n    options: [\r\n      \"The Ministry of Commerce and Industry\",\r\n      \"The Reserve Bank of India\",\r\n      \"The Ministry of External Affairs\",\r\n      \"The Securities and Exchange Board of India\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 281,\r\n    year: '2019-20',\r\n    chapter: 'AOBR',\r\n    question: \"Which Government agency is responsible for conducting the 'Economic Census' in India?\",\r\n    options: [\r\n      \"The Reserve Bank of India\",\r\n      \"The Ministry of Finance\",\r\n      \"The Ministry of Corporate Affairs\",\r\n      \"The Ministry of Statistics and Programme Implementation\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 282,\r\n    year: '2021-22',\r\n    chapter: 'AOBR',\r\n    question: \"The Economic Survey of India is published annually by\",\r\n    options: [\r\n      \"Reserve Bank of India\",\r\n      \"Ministry of Finance\",\r\n      \"Planning Commission of India\",\r\n      \"Ministry of Commerce and Industry\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 283,\r\n    year: '2019-20',\r\n    chapter: 'AOBR',\r\n    question: \"Consider the following statements:\\n\\nThe Ministry of Law and Justice comprises three departments, namely the Department of Legal Affairs, the Legislative Department, and the Department of Justice.\\nThe Indian Legal System comprises four components, namely the basic values and principles enshrined in the constitution; rights and obligations conferred by ordinary statutes; organizational set-up to enforce these rights and obligations within the constitutional norms; and the legal and judicial personnel.\\n\\nWhich of the above statements are correct?\",\r\n    options: [\r\n      \"1 only\",\r\n      \"2 only\",\r\n      \"Both 1 and 2\",\r\n      \"Neither 1 nor 2\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 284,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"Which Union Ministry has notified the 'National Bioenergy Programme'?\",\r\n    options: [\r\n      \"Ministry of New and Renewable Energy\",\r\n      \"Ministry of Power\",\r\n      \"Ministry of Commerce and Industry\",\r\n      \"Ministry of MSME\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 285,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"Which Union Ministry implements the Faster Adoption and Manufacturing of Electric Vehicles?\",\r\n    options: [\r\n      \"Ministry of Heavy Industries\",\r\n      \"Ministry of Power\",\r\n      \"Ministry of MSME\",\r\n      \"Ministry of Science and Technology\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 286,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"Via which of the following Ministries is the Ministry of Finance required to review every quarter the trends in Receipts and Expenditure in relation to the Budget and place it before both Houses of Parliament?\",\r\n    options: [\r\n      \"Ministry of Finance\",\r\n      \"Ministry of Commerce and Industry\",\r\n      \"Ministry of Statistics and Programme Implementation\",\r\n      \"Ministry of Consumer Affairs, Food and Public Distribution\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 287,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following ministries is responsible for calculating GDP in India?\",\r\n    options: [\r\n      \"Ministry of Finance\",\r\n      \"Ministry of Commerce and Industry\",\r\n      \"Ministry of Statistics and Programme Implementation\",\r\n      \"Ministry of Consumer Affairs, Food and Public Distribution\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 288,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following Acts provided for private investment in roadways?\",\r\n    options: [\r\n      \"National Highways Act, 1956\",\r\n      \"National Highways Act, 1988\",\r\n      \"National Highways Act, 1981\",\r\n      \"National Highways Act, 1994\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 289,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"NABARD listed 'Social Bonds' on the Bombay Stock Exchange and the funds raised would be used to refinance which one of the following schemes?\",\r\n    options: [\r\n      \"PMAY\",\r\n      \"PM SVANidhi\",\r\n      \"Jal Jeevan Mission\",\r\n      \"PMGSY\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 290,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"'Jharia Master Plan' is associated with which Union Ministry?\",\r\n    options: [\r\n      \"Ministry of Coal\",\r\n      \"Ministry of MSME\",\r\n      \"Ministry of Steel\",\r\n      \"Ministry of Jal Shakti\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 291,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"'GREAT' grant is associated with which Union Ministry?\",\r\n    options: [\r\n      \"Ministry of Textiles\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of MSME\",\r\n      \"Ministry of Rural Development\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 292,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"Which Union Ministry launched the 'eSARAS mobile App'?\",\r\n    options: [\r\n      \"Ministry of Rural Development\",\r\n      \"Ministry of MSME\",\r\n      \"Ministry of Power\",\r\n      \"Ministry of External Affairs\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 293,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"The Monument Mitra Scheme was transferred from the Ministry of Tourism to which Ministry?\",\r\n    options: [\r\n      \"Ministry of Culture\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of External Affairs\",\r\n      \"Ministry of Finance\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 294,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"Which is the regulatory authority for civil aviation security in India?\",\r\n    options: [\r\n      \"BCAS\",\r\n      \"NITI Aayog\",\r\n      \"DRDO\",\r\n      \"ISRO\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 295,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"The New Integrated Food Security Scheme subsumes two current schemes of which Ministry?\",\r\n    options: [\r\n      \"Ministry of Agriculture and Farmers' Welfare\",\r\n      \"Ministry of Consumer Affairs, Food and Public Distribution\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Rural Development\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 296,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"Which Ministry notified officials to act as members of Grievance Appellate Committees?\",\r\n    options: [\r\n      \"Ministry of Electronics and Information Technology\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Finance\",\r\n      \"Ministry of Agriculture and Farmers' Welfare\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 297,\r\n    year: '2023',\r\n    chapter: 'AOBR',\r\n    question: \"As per the proposed 'National Data Governance Policy,' India Data Management Office will be formed under which Ministry?\",\r\n    options: [\r\n      \"Ministry of Electronics and Information Technology\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Science and Technology\",\r\n      \"Ministry of External Affairs\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Explanation will be added soon\"\r\n  },\r\n  {\r\n    id: 298,\r\n    year: '2024',\r\n    chapter: 'AOBR',\r\n    question: \"Border Roads Organization comes under which one of the following ministries of the Government of India?\",\r\n    options: [\r\n      \"Ministry of Civil Aviation\",\r\n      \"Ministry of Earth Sciences\",\r\n      \"Ministry of Road Transport and Highways\",\r\n      \"Ministry of Defence\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"The Border Roads Organisation (BRO) is responsible for developing and maintaining road networks in India's border areas and comes under the Ministry of Defence.\"\r\n  },\r\n  {\r\n    id: 299,\r\n    year: '2024',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following ministries of the Government of India has taken a significant step towards promoting environmental sustainability by launching Swachhata Pakhwada?\",\r\n    options: [\r\n      \"Ministry of Cleanliness and Development\",\r\n      \"Ministry of Health and Family Welfare\",\r\n      \"Ministry of Environment, Forest and Climate Change\",\r\n      \"Ministry of Rural Development\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"The Ministry of Environment, Forest and Climate Change (MoEFCC) launched the Swachhata Pakhwada initiative to promote cleanliness, waste management, and environmental sustainability across various sectors in India.\"\r\n  },\r\n  {\r\n    id: 300,\r\n    year: '2024',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following ministries of the Government of India has proposed new rules for radar speed guns used to measure vehicle speeds on roads?\",\r\n    options: [\r\n      \"Ministry of Consumer Affairs\",\r\n      \"Ministry of MSME\",\r\n      \"Ministry of Road Transport and Highways\",\r\n      \"Ministry of Defence\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"The Ministry of Road Transport and Highways (MoRTH) has proposed new rules for radar speed guns to ensure accuracy and standardization in measuring vehicle speeds, which helps in road safety and law enforcement.\"\r\n  },\r\n  {\r\n    id: 301,\r\n    year: '2024',\r\n    chapter: 'AOBR',\r\n    question: \"Special Olympics Bharat is a national sports federation recognized by which one of the following ministries of the Government of India?\",\r\n    options: [\r\n      \"Ministry of Youth Affairs and Sports\",\r\n      \"Ministry of Home Affairs\",\r\n      \"Ministry of Power\",\r\n      \"Ministry of Defence\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"Special Olympics Bharat is recognized by the Ministry of Youth Affairs and Sports and is responsible for promoting sports activities for individuals with intellectual disabilities.\"\r\n  },\r\n  {\r\n    id: 302,\r\n    year: '2024',\r\n    chapter: 'AOBR',\r\n    question: \"Which one of the following ministries of the Government of India has issued the directive to eliminate commercial dealing in organs, especially those involving foreign citizens?\",\r\n    options: [\r\n      \"Ministry of Agriculture and Farmers Welfare\",\r\n      \"Ministry of Health and Family Welfare\",\r\n      \"Ministry of Housing and Urban Affairs\",\r\n      \"Ministry of Power\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"The Ministry of Health and Family Welfare has issued guidelines to prevent the commercial trade of human organs, particularly involving foreign citizens, to curb unethical medical practices.\"\r\n  },\r\n  {\r\n    id: 303,\r\n    year: '2024',\r\n    chapter: 'AOBR',\r\n    question: \"A Non-Resident Indian wants to get approval under the Government route for FDI in 'Single Brand' product retailing in India. Which among the following would be the appropriate agency to approach for this application?\",\r\n    options: [\r\n      \"Regional Office of the Reserve Bank of India\",\r\n      \"Head Office of the Reserve Bank of India\",\r\n      \"Department of Economic Affairs\",\r\n      \"Department of Industrial Policy and Promotion\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"A Non-Resident Indian (NRI) seeking Foreign Direct Investment (FDI) approval for Single Brand Retail under the Government route must apply through the Department of Industrial Policy and Promotion (DIPP), now part of the Department for Promotion of Industry and Internal Trade (DPIIT).\"\r\n  },\r\n  {\r\n    id: 304,\r\n    year: '2024',\r\n    chapter: 'AOBR',\r\n    question: \"NOTTO comes under which one of the following ministries of the Government of India?\",\r\n    options: [\r\n      \"Ministry of Water Resources\",\r\n      \"Ministry of Housing and Urban Affairs\",\r\n      \"Ministry of Health and Family Welfare\",\r\n      \"Ministry of Power\"\r\n    ],\r\n    correct: 2,\r\n    explanation: \"NOTTO (National Organ and Tissue Transplant Organisation) is under the Ministry of Health and Family Welfare, and it regulates and promotes organ donation and transplantation across India.\"\r\n  },\r\n  {\r\n    id: 305,\r\n    year: '2024',\r\n    chapter: 'AOBR',\r\n    question: \"Genetic Engineering Appraisal Committee (GEAC) works under which one of the following ministries of the Government of India?\",\r\n    options: [\r\n      \"Ministry of Agriculture and Farmers Welfare\",\r\n      \"Ministry of Environment, Forest and Climate Change\",\r\n      \"Ministry of Science and Technology\",\r\n      \"Ministry of Rural Development\"\r\n    ],\r\n    correct: 1,\r\n    explanation: \"The Genetic Engineering Appraisal Committee (GEAC) functions under the Ministry of Environment, Forest and Climate Change (MoEFCC) and is responsible for regulating the use and release of genetically modified organisms (GMOs) in India.\"\r\n  }\r\n    ];\r\n\r\n\/\/ ==========================================\r\n\/\/ STATE\r\n\/\/ ==========================================\r\nlet initDone = false;\r\nlet currentMode = 'all';\r\nlet currentFilter = null;\r\nlet filteredQuestions = [...allQuestions];\r\nlet currentQuestionIndex = 0;\r\nlet selectedOption = null;\r\nlet answerChecked = false;\r\nlet sessionStats = { attempted: 0, correct: 0, incorrect: 0 };\r\nlet sessionStartTs = Date.now();\r\nlet sessionAnswers = {};\r\nlet progress = { questionStats: {}, weakAreas: [], lastQuestionId: null, lastMode: 'all', lastFilter: null, attemptLog: [] };\r\n\r\nconst $id = (x) => document.getElementById(x);\r\nconst CHAPTERS = [...new Set(allQuestions.map(q => q.chapter))];\r\nconst YEARS = [...new Set(allQuestions.map(q => q.year))];\r\n\/\/ Case-insensitive helpers: work for \"Ch 1:\", \"CH 1:\", \"ch 1:\" alike.\r\nconst chShort = (c) => c.replace(\/^CH\\s*(\\d+):.*$\/i, 'CH $1').replace('ANNEXURE\/Appendices', 'Annexures').replace('Manual of Procurement', 'Manual of Proc.');\r\nconst chFull = (c) => { const m = c.match(\/^CH\\s*\\d+:\\s*(.+)$\/i); return m ? m[1] : c; };\r\n\/\/ One label, printed once (fixes the earlier \"name: name\" doubling).\r\nconst chLabel = (c) => \/^CH\\s*\\d+:\/i.test(c) ? (chShort(c) + ': ' + chFull(c)) : c;\r\n\r\n\/\/ ==========================================\r\n\/\/ PERSISTENCE (localStorage)\r\n\/\/ ==========================================\r\nfunction loadProgress() {\r\n    try {\r\n        const saved = localStorage.getItem('quiz_progress_' + quizConfig.quizId);\r\n        if (saved) {\r\n            const p = JSON.parse(saved);\r\n            progress = Object.assign(progress, p);\r\n            if (!progress.questionStats) progress.questionStats = {};\r\n            if (!Array.isArray(progress.weakAreas)) progress.weakAreas = [];\r\n            if (!Array.isArray(progress.attemptLog)) progress.attemptLog = [];\r\n        }\r\n    } catch (e) { console.warn('Progress load failed', e); }\r\n}\r\nfunction saveProgress() {\r\n    try {\r\n        if (progress.attemptLog.length > 500) progress.attemptLog = progress.attemptLog.slice(-500);\r\n        localStorage.setItem('quiz_progress_' + quizConfig.quizId, JSON.stringify(progress));\r\n    } catch (e) { console.warn('Progress save failed', e); }\r\n}\r\nfunction getQStat(qid) {\r\n    if (!progress.questionStats[qid]) progress.questionStats[qid] = { correct: 0, incorrect: 0, lastAttempt: null, lastCorrect: null };\r\n    return progress.questionStats[qid];\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ TOAST\r\n\/\/ ==========================================\r\nlet toastTimer = null;\r\nfunction showToast(msg, type) {\r\n    const t = $id('warningToast');\r\n    $id('toastMessage').textContent = msg;\r\n    t.classList.toggle('success', type === 'success');\r\n    t.classList.add('show');\r\n    clearTimeout(toastTimer);\r\n    toastTimer = setTimeout(() => t.classList.remove('show'), 2600);\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ TAB NAVIGATION\r\n\/\/ ==========================================\r\nfunction switchView(view) {\r\n    document.querySelectorAll('.gfr-portal .gp-tab').forEach(b => b.classList.toggle('active', b.dataset.view === view));\r\n    document.querySelectorAll('.gfr-portal .gp-view').forEach(v => v.classList.toggle('active', v.id === 'view-' + view));\r\n    if (view === 'analytics') renderAnalytics();\r\n    if (view === 'performance') renderAI();\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ MODE \/ FILTERS\r\n\/\/ ==========================================\r\nfunction setMode(mode, filter) {\r\n    currentMode = mode;\r\n    currentFilter = filter || null;\r\n    document.querySelectorAll('.gfr-portal .mode-tab').forEach(t => t.classList.toggle('active', t.dataset.mode === mode));\r\n    $id('yearFilterCard').style.display = (mode === 'year') ? '' : 'none';\r\n    $id('chapterFilterCard').style.display = (mode === 'chapter') ? '' : 'none';\r\n    $id('weakAreasCard').style.display = (mode === 'weak') ? '' : 'none';\r\n    applyFilters();\r\n    progress.lastMode = mode; progress.lastFilter = currentFilter; saveProgress();\r\n}\r\nfunction applyFilters() {\r\n    if (currentMode === 'all') filteredQuestions = [...allQuestions];\r\n    else if (currentMode === 'year') filteredQuestions = currentFilter ? allQuestions.filter(q => q.year === currentFilter) : [...allQuestions];\r\n    else if (currentMode === 'chapter') filteredQuestions = currentFilter ? allQuestions.filter(q => q.chapter === currentFilter) : [...allQuestions];\r\n    else if (currentMode === 'weak') {\r\n        filteredQuestions = allQuestions.filter(q => progress.weakAreas.includes(q.id));\r\n        if (!filteredQuestions.length) { showToast('No weak areas yet \u2014 great going!', 'success'); filteredQuestions = [...allQuestions]; setMode('all'); return; }\r\n    }\r\n    currentQuestionIndex = 0;\r\n    sessionStats = { attempted: 0, correct: 0, incorrect: 0 };\r\n    sessionStartTs = Date.now();\r\n    sessionAnswers = {};\r\n    renderFilters(); renderGrid(); loadQuestion(); updateStats();\r\n}\r\nfunction renderFilters() {\r\n    $id('yearList').innerHTML = YEARS.map(y => {\r\n        const n = allQuestions.filter(q => q.year === y).length;\r\n        return '<div class=\"filter-item' + (currentMode === 'year' && currentFilter === y ? ' active' : '') + '\" data-year=\"' + y + '\"><span class=\"filter-text\">' + y + '<\/span><span class=\"filter-count\">' + n + '<\/span><\/div>';\r\n    }).join('');\r\n    $id('chapterList').innerHTML = CHAPTERS.map(c => {\r\n        const n = allQuestions.filter(q => q.chapter === c).length;\r\n        return '<div class=\"filter-item' + (currentMode === 'chapter' && currentFilter === c ? ' active' : '') + '\" data-chapter=\"' + encodeURIComponent(c) + '\" title=\"' + c + '\"><span class=\"filter-text\">' + chLabel(c) + '<\/span><span class=\"filter-count\">' + n + '<\/span><\/div>';\r\n    }).join('');\r\n    renderWeakList();\r\n}\r\nfunction renderWeakList() {\r\n    const list = $id('weakQuestionList');\r\n    const weak = allQuestions.filter(q => progress.weakAreas.includes(q.id));\r\n    list.innerHTML = weak.length ? weak.map(q => {\r\n        const s = getQStat(q.id);\r\n        return '<div class=\"weak-question-item\" data-goto=\"' + q.id + '\"><span class=\"q-num\">Q' + q.id + '<\/span><span class=\"q-text\">' + q.question.replace(\/<br\\s*\\\/?>|\\n\/gi, ' ').substring(0, 60) + '\u2026<\/span><span class=\"wrong-count\">' + s.incorrect + '\u2717<\/span><\/div>';\r\n    }).join('') : '<p style=\"font-size:12.5px;color:var(--mut);text-align:center;padding:14px 4px;\">No weak areas. Keep practising!<\/p>';\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ QUESTION RENDERING\r\n\/\/ ==========================================\r\nfunction loadQuestion() {\r\n    const q = filteredQuestions[currentQuestionIndex];\r\n    if (!q) {\r\n        $id('questionText').innerHTML = '<b>No questions loaded yet.<\/b> Paste your MCQ objects into the <code>allQuestions<\/code> array in this file (format documented at the array) and reload.';\r\n        $id('optionsList').innerHTML = '';\r\n        $id('questionNumber').textContent = 'Question 0 of 0';\r\n        return;\r\n    }\r\n    selectedOption = null; answerChecked = false;\r\n    $id('questionNumber').textContent = 'Question ' + (currentQuestionIndex + 1) + ' of ' + filteredQuestions.length;\r\n    $id('currentQuestionYear').textContent = q.year;\r\n    $id('currentQuestionChapter').textContent = chLabel(q.chapter);\r\n    $id('weakBadge').style.display = progress.weakAreas.includes(q.id) ? '' : 'none';\r\n    $id('questionText').innerHTML = formatQuestion(q);\r\n    $id('explanationBox').classList.remove('show');\r\n    renderOptions(q);\r\n    renderMastery(q);\r\n    const prior = sessionAnswers[q.id];\r\n    if (prior !== undefined) revealAnswer(q, prior, true);\r\n    $id('prevBtn').disabled = currentQuestionIndex === 0;\r\n    $id('nextBtn').disabled = currentQuestionIndex === filteredQuestions.length - 1;\r\n    $id('checkBtn').disabled = prior !== undefined;\r\n    renderGrid();\r\n    progress.lastQuestionId = q.id; saveProgress();\r\n    if (initDone && window.innerWidth <= 900) {\r\n        const p = document.querySelector('.gfr-portal .question-panel');\r\n        if (p) p.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n    }\r\n}\r\n\/\/ UPSC exam-paper formatting: numbered statements get their own spaced rows,\r\n\/\/ the \"Select the correct answer \/ Which of the above\" lead sits on its own line.\r\n\/\/ Splits on BOTH \"\\n\" and \"<br>\" so either style works in pasted data.\r\nfunction formatQuestion(q) {\r\n    const parts = q.question.split(\/<br\\s*\\\/?>|\\n\/i);\r\n    let html = '<span class=\"q-stem\"><b>Q' + q.id + '.<\/b> ' + (parts[0] || '') + '<\/span>';\r\n    for (let i = 1; i < parts.length; i++) {\r\n        const seg = parts[i].trim();\r\n        if (!seg) continue;\r\n        const m = seg.match(\/^(\\d+)\\.\\s*(.*)$\/s);\r\n        if (m) html += '<span class=\"q-stmt\"><span class=\"sn\">' + m[1] + '.<\/span><span>' + m[2] + '<\/span><\/span>';\r\n        else if (\/^(select the correct|which of the (above|following|statements)|choose the correct|consider the following)\/i.test(seg))\r\n            html += '<span class=\"q-lead\">' + seg + '<\/span>';\r\n        else html += '<span class=\"q-lead\" style=\"font-style:normal\">' + seg + '<\/span>';\r\n    }\r\n    return html;\r\n}\r\nfunction renderOptions(q) {\r\n    $id('optionsList').innerHTML = q.options.map((opt, i) =>\r\n        '<div class=\"option-item\" data-opt=\"' + i + '\"><span class=\"option-letter\">(' + String.fromCharCode(97 + i) + ')<\/span><span class=\"option-text\">' + opt + '<\/span><i class=\"option-icon\" style=\"margin-top:4px\"><\/i><\/div>'\r\n    ).join('');\r\n}\r\nfunction renderMastery(q) {\r\n    const s = getQStat(q.id);\r\n    const mi = $id('masteryIndicator');\r\n    if (s.correct + s.incorrect === 0) { mi.classList.remove('show'); return; }\r\n    mi.classList.add('show');\r\n    const stars = $id('masteryStars').querySelectorAll('i');\r\n    stars.forEach((st, i) => st.classList.toggle('filled', i < Math.min(s.correct, 5)));\r\n}\r\nfunction checkAnswer() {\r\n    if (answerChecked || selectedOption === null) { if (selectedOption === null) showToast('Select an option first'); return; }\r\n    const q = filteredQuestions[currentQuestionIndex];\r\n    const isCorrect = selectedOption === q.correct;\r\n    sessionAnswers[q.id] = selectedOption;\r\n    sessionStats.attempted++; isCorrect ? sessionStats.correct++ : sessionStats.incorrect++;\r\n    updateQuestionStats(q, isCorrect);\r\n    revealAnswer(q, selectedOption, false);\r\n    updateStats(); renderGrid(); renderWeakList(); updateHeader();\r\n}\r\nfunction revealAnswer(q, chosen, restoring) {\r\n    answerChecked = true;\r\n    const items = $id('optionsList').querySelectorAll('.option-item');\r\n    items.forEach((it, i) => {\r\n        it.classList.add('disabled');\r\n        if (i === q.correct) { it.classList.add('correct'); const oi=it.querySelector('.option-icon'); oi.textContent='\\u2713'; oi.style.fontStyle='normal'; }\r\n        else if (i === chosen) { it.classList.add('incorrect'); const oj=it.querySelector('.option-icon'); oj.textContent='\\u2717'; oj.style.fontStyle='normal'; }\r\n    });\r\n    $id('explanationText').innerHTML = q.explanation;\r\n    $id('explanationBox').classList.add('show');\r\n    $id('checkBtn').disabled = true;\r\n    renderMastery(q);\r\n    if (!restoring) showToast(chosen === q.correct ? 'Correct! Well done.' : 'Incorrect \u2014 read the explanation.', chosen === q.correct ? 'success' : '');\r\n}\r\nfunction updateQuestionStats(q, isCorrect) {\r\n    const s = getQStat(q.id);\r\n    isCorrect ? s.correct++ : s.incorrect++;\r\n    s.lastAttempt = Date.now(); s.lastCorrect = isCorrect;\r\n    progress.attemptLog.push({ qid: q.id, correct: isCorrect, ts: Date.now() });\r\n    const isWeak = progress.weakAreas.includes(q.id);\r\n    if (!isCorrect && s.incorrect >= quizConfig.weakThreshold && !isWeak) progress.weakAreas.push(q.id);\r\n    if (isCorrect && isWeak && s.correct >= quizConfig.masteryThreshold) progress.weakAreas = progress.weakAreas.filter(id => id !== q.id);\r\n    saveProgress();\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ GRID + STATS\r\n\/\/ ==========================================\r\nfunction renderGrid() {\r\n    $id('questionGrid').innerHTML = filteredQuestions.map((q, i) => {\r\n        let cls = 'unattempted';\r\n        const ans = sessionAnswers[q.id];\r\n        if (ans !== undefined) cls = (ans === q.correct) ? 'correct-answered' : 'incorrect-answered';\r\n        else { const s = progress.questionStats[q.id]; if (s && (s.correct + s.incorrect) > 0) cls = 'attempted'; }\r\n        if (i === currentQuestionIndex) cls = 'current';\r\n        const weak = progress.weakAreas.includes(q.id) ? ' weak-marked' : '';\r\n        return '<div class=\"grid-item ' + cls + weak + '\" data-idx=\"' + i + '\" title=\"Q' + q.id + '\">' + (i + 1) + '<\/div>';\r\n    }).join('');\r\n}\r\nfunction masteredCount() { return allQuestions.filter(q => { const s = progress.questionStats[q.id]; return s && s.correct >= quizConfig.masteryThreshold; }).length; }\r\nfunction updateStats() {\r\n    $id('totalQuestions').textContent = filteredQuestions.length;\r\n    $id('attemptedCount').textContent = sessionStats.attempted;\r\n    $id('correctCount').textContent = sessionStats.correct;\r\n    $id('incorrectCount').textContent = sessionStats.incorrect;\r\n    const mastered = masteredCount();\r\n    const pct = allQuestions.length ? Math.round(mastered \/ allQuestions.length * 100) : 0;\r\n    $id('progressPercentage').textContent = pct + '%';\r\n    $id('progressRingFill').style.strokeDashoffset = 264 - (264 * pct \/ 100);\r\n    $id('totalCorrectProgress').textContent = Object.values(progress.questionStats).reduce((a, s) => a + s.correct, 0);\r\n    $id('totalWeakProgress').textContent = progress.weakAreas.length;\r\n    $id('allCount').textContent = allQuestions.length;\r\n    $id('weakModeCount').textContent = progress.weakAreas.length;\r\n}\r\nfunction updateHeader() {\r\n    $id('hdrTotalQ').textContent = allQuestions.length;\r\n    $id('hdrCycles').textContent = YEARS.length;\r\n    const pct = allQuestions.length ? Math.round(masteredCount() \/ allQuestions.length * 100) : 0;\r\n    $id('hdrMastered').textContent = pct + '%';\r\n    const w = progress.weakAreas.length;\r\n    $id('weakBadgeHeader').style.display = w ? '' : 'none';\r\n    $id('weakCountHeader').textContent = w;\r\n    const r = computeReadiness();\r\n    $id('hdrReadiness').textContent = r.attempted ? r.score + '%' : '\u2014';\r\n    $id('perfPill').style.display = w >= 5 ? '' : 'none';\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ SUBMIT \/ RESULT \/ RESETS\r\n\/\/ ==========================================\r\nfunction submitExam() {\r\n    if (!sessionStats.attempted) { showToast('Attempt at least one question first'); return; }\r\n    const pct = Math.round(sessionStats.correct \/ sessionStats.attempted * 100);\r\n    $id('resultCorrect').textContent = sessionStats.correct;\r\n    $id('resultIncorrect').textContent = sessionStats.incorrect;\r\n    $id('resultScore').textContent = pct + '%';\r\n    $id('resultIcon').textContent = pct >= 80 ? '\ud83c\udfc6' : pct >= 60 ? '\ud83c\udf89' : pct >= 40 ? '\ud83d\udcd6' : '\ud83d\udcaa';\r\n    $id('resultTitle').textContent = pct >= 80 ? 'Outstanding!' : pct >= 60 ? 'Great Job!' : pct >= 40 ? 'Keep Practising!' : 'Needs Revision';\r\n    $id('resultMessage').textContent = 'You attempted ' + sessionStats.attempted + ' of ' + filteredQuestions.length + ' questions in this session.';\r\n    $id('practiceWeakBtn').style.display = progress.weakAreas.length ? '' : 'none';\r\n    $id('resultModal').classList.add('show');\r\n    if (quizConfig.useWordPressSync && typeof window.cssaddaSaveQuizResult === 'function') {\r\n        window.cssaddaSaveQuizResult({\r\n            quiz_id: quizConfig.quizId,\r\n            score: sessionStats.correct,\r\n            total_questions: sessionStats.attempted,\r\n            percentage: pct,\r\n            time_taken: Math.round((Date.now() - sessionStartTs) \/ 1000),\r\n            answers: sessionAnswers\r\n        });\r\n    }\r\n}\r\nfunction reviewAnswers() { $id('resultModal').classList.remove('show'); currentQuestionIndex = 0; loadQuestion(); }\r\nfunction retryQuiz() { $id('resultModal').classList.remove('show'); sessionStats = { attempted: 0, correct: 0, incorrect: 0 }; sessionAnswers = {}; currentQuestionIndex = 0; loadQuestion(); updateStats(); }\r\n\/\/ SESSION RESET (Practice tab): clears ONLY this session's answers\/score.\r\n\/\/ Lifetime performance (mastery, weak areas, attempt history) is preserved.\r\nfunction resetSession() {\r\n    if (!confirm('Reset this session? Only the current answers and session score are cleared \u2014 your lifetime performance and mastery are kept.')) return;\r\n    sessionStats = { attempted: 0, correct: 0, incorrect: 0 };\r\n    sessionAnswers = {};\r\n    sessionStartTs = Date.now();\r\n    currentQuestionIndex = 0;\r\n    loadQuestion(); updateStats(); renderGrid();\r\n    showToast('Session reset \u2014 performance data kept', 'success');\r\n}\r\n\/\/ PERFORMANCE RESET (My Performance tab): wipes lifetime data after confirm.\r\nfunction resetPerformance() {\r\n    if (!confirm('Permanently erase ALL lifetime performance for this quiz?\\n\\nThis clears mastery stars, weak areas, accuracy history and the readiness score. This cannot be undone.')) return;\r\n    progress = { questionStats: {}, weakAreas: [], lastQuestionId: null, lastMode: 'all', lastFilter: null, attemptLog: [] };\r\n    saveProgress();\r\n    sessionStats = { attempted: 0, correct: 0, incorrect: 0 };\r\n    sessionAnswers = {};\r\n    sessionStartTs = Date.now();\r\n    setMode('all');\r\n    updateHeader();\r\n    renderAI();\r\n    showToast('Lifetime performance erased', 'success');\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ TAB 2 \u2014 DYNAMIC EXAM ANALYTICS\r\n\/\/ ==========================================\r\nfunction chapterCounts() {\r\n    const map = {};\r\n    allQuestions.forEach(q => { map[q.chapter] = (map[q.chapter] || 0) + 1; });\r\n    return Object.entries(map).sort((a, b) => b[1] - a[1]);\r\n}\r\nlet analyticsRendered = false;\r\nfunction renderAnalytics() {\r\n    if (analyticsRendered) return; analyticsRendered = true;\r\n    const total = allQuestions.length;\r\n    if (!total) {\r\n        $id('rankedBars').innerHTML = '<div class=\"ai-empty\"><div class=\"big\">No questions loaded yet<\/div><p>Paste your MCQs into the <b>allQuestions<\/b> array and reload \u2014 the analytics build themselves from the data.<\/p><\/div>';\r\n        return;\r\n    }\r\n    const ranked = chapterCounts();\r\n    const max = ranked[0][1];\r\n    \/\/ FIXED: chapter name printed ONCE (was chShort + ': ' + chFull which doubled\r\n    \/\/ the name whenever the helpers couldn't parse the prefix). Wraps via CSS.\r\n    $id('rankedBars').innerHTML = ranked.map(([c, n], i) => {\r\n        const pct = (n \/ total * 100).toFixed(1);\r\n        const grad = n >= 15 ? 'linear-gradient(90deg,var(--gold-l),var(--gold))' : 'linear-gradient(90deg,#93c5fd,var(--navy))';\r\n        return '<div class=\"bar-row\"><span class=\"bar-rank\">' + (i + 1) + '<\/span><span class=\"bar-name\" title=\"' + c + '\">' + chLabel(c) + '<\/span><div class=\"bar-track\"><div class=\"bar-fill\" style=\"width:' + (n \/ max * 100) + '%;background:' + grad + '\"><\/div><\/div><span class=\"bar-val\">' + n + '<span class=\"pct\">' + pct + '%<\/span><\/span><\/div>';\r\n    }).join('');\r\n\r\n    \/\/ Heatmap\r\n    const shade = (n) => n === 0 ? '#fff' : n === 1 ? '#fdf6e3' : n === 2 ? '#f6e7b8' : n <= 4 ? '#e9cf7f' : n <= 6 ? '#d8b23f' : '#c9992a';\r\n    const fg = (n) => n >= 5 ? '#fff' : 'inherit';\r\n    let thead = '<tr><th>Chapter<\/th>' + YEARS.map(y => '<th>' + y + '<\/th>').join('') + '<th>Total<\/th><\/tr>';\r\n    let tbody = chapterCounts().map(([c]) => {\r\n        const cells = YEARS.map(y => {\r\n            const n = allQuestions.filter(q => q.chapter === c && q.year === y).length;\r\n            return '<td style=\"background:' + shade(n) + ';color:' + fg(n) + ';font-weight:' + (n ? '600' : '400') + '\">' + (n || '\u00b7') + '<\/td>';\r\n        }).join('');\r\n        const tot = allQuestions.filter(q => q.chapter === c).length;\r\n        return '<tr><td class=\"rn\" title=\"' + c + '\">' + chLabel(c) + '<\/td>' + cells + '<td class=\"rt\">' + tot + '<\/td><\/tr>';\r\n    }).join('');\r\n    let tfoot = '<tr><td>Total<\/td>' + YEARS.map(y => '<td>' + allQuestions.filter(q => q.year === y).length + '<\/td>').join('') + '<td>' + total + '<\/td><\/tr>';\r\n    $id('heatmapContainer').innerHTML = '<table class=\"matrix\"><thead>' + thead + '<\/thead><tbody>' + tbody + '<\/tbody><tfoot>' + tfoot + '<\/tfoot><\/table>';\r\n\r\n    \/\/ Cycle chart\r\n    const yMax = Math.max(...YEARS.map(y => allQuestions.filter(q => q.year === y).length));\r\n    $id('cycleChart').innerHTML = YEARS.map(y => {\r\n        const n = allQuestions.filter(q => q.year === y).length;\r\n        return '<div class=\"yb\"><div class=\"yb-bar\" style=\"height:' + Math.max(8, n \/ yMax * 100) + '%\"><span>' + n + '<\/span><\/div><div class=\"yb-lab\">' + y + '<\/div><\/div>';\r\n    }).join('');\r\n\r\n    \/\/ Takeaways (guarded for quizzes with fewer than 3 chapters)\r\n    const [c1, n1] = ranked[0];\r\n    const second = ranked[1], third = ranked[2];\r\n    const latest = YEARS[YEARS.length - 1];\r\n    const latestN = allQuestions.filter(q => q.year === latest).length;\r\n    let takeaways = '<div class=\"ins\"><h4><span class=\"ic\">\ud83d\udd25<\/span> Highest-Yield Chapter<\/h4><p><b>' + chLabel(c1) + '<\/b> alone contributes <b>' + n1 + ' questions (' + (n1 \/ total * 100).toFixed(1) + '%)<\/b> \u2014 master it first.<\/p><\/div>';\r\n    if (second && third) {\r\n        const top3pct = Math.round((n1 + second[1] + third[1]) \/ total * 100);\r\n        takeaways += '<div class=\"ins\"><h4><span class=\"ic\">\ud83d\uddc2\ufe0f<\/span> Top-3 Concentration<\/h4><p><b>' + chShort(c1) + ', ' + chShort(second[0]) + ' &amp; ' + chShort(third[0]) + '<\/b> together cover <b>' + top3pct + '%<\/b> of all PYQs \u2014 prioritise these before anything else.<\/p><\/div>';\r\n    }\r\n    takeaways += \r\n        '<div class=\"ins\"><h4><span class=\"ic\">\ud83c\udfaf<\/span> Strategy<\/h4><p>Use <b>By Chapter<\/b> mode for high-weight chapters, then switch to <b>Weak Areas<\/b> mode until every question shows <b>' + quizConfig.masteryThreshold + '\u2605 mastery<\/b>.<\/p><\/div>';\r\n    $id('takeaways').innerHTML = takeaways;\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ TAB 3 \u2014 AI COACH ENGINE (rule-based, client-side)\r\n\/\/ ==========================================\r\nfunction chapterStats() {\r\n    const total = allQuestions.length;\r\n    return chapterCounts().map(([c, n]) => {\r\n        const qs = allQuestions.filter(q => q.chapter === c);\r\n        let attempted = 0, correct = 0, incorrect = 0, scoreSum = 0;\r\n        qs.forEach(q => {\r\n            const s = progress.questionStats[q.id];\r\n            if (s && (s.correct + s.incorrect) > 0) { attempted++; correct += s.correct; incorrect += s.incorrect; }\r\n            scoreSum += s ? Math.min(s.correct \/ quizConfig.masteryThreshold, 1) : 0;\r\n        });\r\n        const acc = (correct + incorrect) ? correct \/ (correct + incorrect) : null;\r\n        const weight = n \/ total;\r\n        const coverage = attempted \/ n;\r\n        const mastery = scoreSum \/ n;\r\n        const priority = weight * (acc === null ? 0.85 : (1 - acc)) * (0.5 + 0.5 * (1 - coverage));\r\n        return { chapter: c, count: n, weight, attempted, coverage, acc, mastery, priority };\r\n    });\r\n}\r\nfunction computeReadiness() {\r\n    const stats = chapterStats();\r\n    const score = Math.round(stats.reduce((a, s) => a + s.weight * s.mastery, 0) * 100);\r\n    const attempted = Object.values(progress.questionStats).some(s => (s.correct + s.incorrect) > 0);\r\n    return { score, attempted, stats };\r\n}\r\nfunction renderAI() {\r\n    if (!allQuestions.length) {\r\n        $id('aiEmptyState').style.display = '';\r\n        $id('aiContent').style.display = 'none';\r\n        return;\r\n    }\r\n    const { score, attempted, stats } = computeReadiness();\r\n    $id('aiEmptyState').style.display = attempted ? 'none' : '';\r\n    $id('aiContent').style.display = attempted ? '' : 'none';\r\n    if (!attempted) return;\r\n\r\n    \/\/ Readiness ring\r\n    $id('aiScore').textContent = score;\r\n    $id('aiRingFill').style.strokeDashoffset = 402 - (402 * score \/ 100);\r\n    const verdict = score >= 80 ? '<b>Exam-ready.<\/b> Maintain with the revision queue and weak-area drills.'\r\n        : score >= 60 ? '<b>Strong base.<\/b> Close the gaps in your top-weight chapters to cross 80.'\r\n        : score >= 35 ? '<b>Building up.<\/b> Focus on the priority chapters below \u2014 they move your score fastest.'\r\n        : '<b>Early stage.<\/b> Start with the highest-weight chapters; every mastered question compounds.';\r\n    $id('aiVerdict').innerHTML = verdict + '<br><span style=\"font-size:11.8px;opacity:.8\">Score = \u03a3 (chapter exam-weight \u00d7 your mastery), computed from ' + YEARS.length + ' cycles of PYQ data.<\/span>';\r\n\r\n    \/\/ KPIs\r\n    const totalAttempted = allQuestions.filter(q => { const s = progress.questionStats[q.id]; return s && (s.correct + s.incorrect) > 0; }).length;\r\n    const allC = Object.values(progress.questionStats).reduce((a, s) => a + s.correct, 0);\r\n    const allI = Object.values(progress.questionStats).reduce((a, s) => a + s.incorrect, 0);\r\n    const accAll = (allC + allI) ? Math.round(allC \/ (allC + allI) * 100) : 0;\r\n    const recent = progress.attemptLog.slice(-20);\r\n    const accRecent = recent.length ? Math.round(recent.filter(a => a.correct).length \/ recent.length * 100) : 0;\r\n    const trendArrow = recent.length >= 5 ? (accRecent > accAll ? ' <span style=\"color:var(--green)\">\\u2197<\/span>' : accRecent < accAll ? ' <span style=\"color:var(--red)\">\\u2198<\/span>' : '') : '';\r\n    $id('aiKpis').innerHTML =\r\n        '<div class=\"ai-kpi\"><div class=\"n\">' + totalAttempted + '\/' + allQuestions.length + '<\/div><div class=\"l\">Coverage<\/div><\/div>' +\r\n        '<div class=\"ai-kpi\"><div class=\"n ' + (accAll >= 70 ? 'g' : accAll >= 45 ? 'a' : 'r') + '\">' + accAll + '%<\/div><div class=\"l\">Lifetime Accuracy<\/div><\/div>' +\r\n        '<div class=\"ai-kpi\"><div class=\"n ' + (accRecent >= 70 ? 'g' : accRecent >= 45 ? 'a' : 'r') + '\">' + accRecent + '%' + trendArrow + '<\/div><div class=\"l\">Last 20 Attempts<\/div><\/div>' +\r\n        '<div class=\"ai-kpi\"><div class=\"n g\">' + masteredCount() + '<\/div><div class=\"l\">Mastered (' + quizConfig.masteryThreshold + '\u2605)<\/div><\/div>' +\r\n        '<div class=\"ai-kpi\"><div class=\"n r\">' + progress.weakAreas.length + '<\/div><div class=\"l\">Weak Questions<\/div><\/div>';\r\n\r\n    \/\/ Smart study plan\r\n    const byPriority = [...stats].sort((a, b) => b.priority - a.priority);\r\n    const recos = [];\r\n    byPriority.slice(0, 3).forEach(s => {\r\n        if (s.acc === null) recos.push({ ic: 'warm', icon: '\ud83e\udded', txt: '<b>' + chShort(s.chapter) + '<\/b> carries <b>' + Math.round(s.weight * 100) + '%<\/b> of the paper but you haven\\u2019t attempted it yet \u2014 begin here.', ch: s.chapter });\r\n        else if (s.acc < 0.6) recos.push({ ic: 'hot', icon: '\ud83d\udd25', txt: '<b>' + chShort(s.chapter) + '<\/b>: exam weight <b>' + Math.round(s.weight * 100) + '%<\/b>, your accuracy only <b>' + Math.round(s.acc * 100) + '%<\/b> \u2014 highest payoff zone right now.', ch: s.chapter });\r\n        else if (s.coverage < 0.6) recos.push({ ic: 'cool', icon: '\ud83d\udd0d', txt: '<b>' + chShort(s.chapter) + '<\/b>: accuracy is fine (' + Math.round(s.acc * 100) + '%) but you\\u2019ve only covered <b>' + Math.round(s.coverage * 100) + '%<\/b> of its PYQs \u2014 finish the set.', ch: s.chapter });\r\n    });\r\n    if (progress.weakAreas.length >= 3) recos.push({ ic: 'hot', icon: '\u26a0\ufe0f', txt: 'You have <b>' + progress.weakAreas.length + ' weak questions<\/b> flagged. One focused Weak-Areas session will clear the backlog.', weak: true });\r\n    const due = revisionDue();\r\n    if (due.length) recos.push({ ic: 'warm', icon: '\ud83d\udd01', txt: '<b>' + due.length + ' mastered questions<\/b> haven\\u2019t been touched in over ' + quizConfig.revisionGapDays + ' days \u2014 revise before they fade.' });\r\n    const best = [...stats].filter(s => s.acc !== null).sort((a, b) => b.acc - a.acc)[0];\r\n    if (best && best.acc >= 0.75) recos.push({ ic: 'good', icon: '\ud83c\udfc5', txt: 'Strongest area: <b>' + chShort(best.chapter) + '<\/b> at <b>' + Math.round(best.acc * 100) + '%<\/b> accuracy \u2014 bank these marks on exam day.' });\r\n    $id('aiRecoList').innerHTML = recos.map(r =>\r\n        '<div class=\"ai-reco\"><span class=\"ic ' + r.ic + '\">' + r.icon + '<\/span><p>' + r.txt + '<\/p>' +\r\n        (r.ch ? '<button class=\"go\" data-practice-ch=\"' + encodeURIComponent(r.ch) + '\">Practice \\u2192<\/button>' : r.weak ? '<button class=\"go\" data-practice-weak=\"1\">Start \\u2192<\/button>' : '') + '<\/div>'\r\n    ).join('');\r\n\r\n    \/\/ Performance table\r\n    $id('perfTableBody').innerHTML = byPriority.map(s => {\r\n        const accPct = s.acc === null ? null : Math.round(s.acc * 100);\r\n        const tag = s.acc === null ? '<span class=\"tag na\">Not started<\/span>'\r\n            : accPct < 45 ? '<span class=\"tag hot\">Critical<\/span>'\r\n            : accPct < 65 ? '<span class=\"tag warm\">Needs work<\/span>'\r\n            : accPct < 85 ? '<span class=\"tag ok\">On track<\/span>'\r\n            : '<span class=\"tag good\">Strong<\/span>';\r\n        const accBar = s.acc === null ? '\u2014' : '<div class=\"mini-track\"><div class=\"mini-fill\" style=\"width:' + accPct + '%;background:' + (accPct < 45 ? 'var(--red)' : accPct < 65 ? 'var(--amber)' : 'var(--green)') + '\"><\/div><\/div><span style=\"font-size:11.5px\">' + accPct + '%<\/span>';\r\n        return '<tr><td title=\"' + s.chapter + '\">' + chLabel(s.chapter) + '<\/td><td><b>' + Math.round(s.weight * 100) + '%<\/b> <span style=\"color:var(--faint);font-size:11.2px\">(' + s.count + ' Qs)<\/span><\/td><td>' + s.attempted + '\/' + s.count + '<\/td><td>' + accBar + '<\/td><td>' + tag + '<\/td><td><button class=\"mini-go\" data-practice-ch=\"' + encodeURIComponent(s.chapter) + '\">Practice<\/button><\/td><\/tr>';\r\n    }).join('');\r\n\r\n    \/\/ Revision queue\r\n    $id('revisionQueue').innerHTML = due.length ? due.slice(0, 8).map(({ q, days }) =>\r\n        '<div class=\"rev-item\" data-goto=\"' + q.id + '\"><span class=\"q-num\">Q' + q.id + '<\/span><span class=\"q-text\">' + q.question.replace(\/<br\\s*\\\/?>|\\n\/gi, ' ').substring(0, 55) + '\u2026<\/span><span class=\"days\">' + days + 'd ago<\/span><\/div>'\r\n    ).join('') : '<div class=\"ai-empty\" style=\"padding:18px\"><p style=\"font-size:13.3px\">Nothing due for revision. Mastered questions reappear here after ' + quizConfig.revisionGapDays + ' days.<\/p><\/div>';\r\n\r\n    \/\/ Mastery distribution\r\n    const buckets = [0, 0, 0, 0]; \/\/ untouched, learning, close, mastered\r\n    allQuestions.forEach(q => {\r\n        const s = progress.questionStats[q.id];\r\n        if (!s || (s.correct + s.incorrect) === 0) buckets[0]++;\r\n        else if (s.correct >= quizConfig.masteryThreshold) buckets[3]++;\r\n        else if (s.correct >= 2) buckets[2]++;\r\n        else buckets[1]++;\r\n    });\r\n    const labels = ['Untouched', 'Learning (0\u20131\u2605)', 'Almost there (2\u2605)', 'Mastered (' + quizConfig.masteryThreshold + '\u2605+)'];\r\n    const colors = ['#cbd5e1', 'var(--amber)', 'var(--navy-l)', 'var(--green)'];\r\n    $id('masteryDist').innerHTML = buckets.map((n, i) =>\r\n        '<div class=\"bar-row\" style=\"grid-template-columns:minmax(130px,1fr) 2fr auto\"><span class=\"bar-name\">' + labels[i] + '<\/span><div class=\"bar-track\"><div class=\"bar-fill\" style=\"width:' + (allQuestions.length ? n \/ allQuestions.length * 100 : 0) + '%;background:' + colors[i] + '\"><\/div><\/div><span class=\"bar-val\">' + n + '<\/span><\/div>'\r\n    ).join('');\r\n}\r\nfunction revisionDue() {\r\n    const now = Date.now(), gap = quizConfig.revisionGapDays * 86400000;\r\n    return allQuestions.map(q => {\r\n        const s = progress.questionStats[q.id];\r\n        if (s && s.correct >= quizConfig.masteryThreshold && s.lastAttempt && (now - s.lastAttempt) > gap)\r\n            return { q, days: Math.floor((now - s.lastAttempt) \/ 86400000) };\r\n        return null;\r\n    }).filter(Boolean).sort((a, b) => b.days - a.days);\r\n}\r\nfunction gotoQuestion(qid) {\r\n    switchView('practice');\r\n    let idx = filteredQuestions.findIndex(q => q.id === qid);\r\n    if (idx === -1) { setMode('all'); idx = filteredQuestions.findIndex(q => q.id === qid); }\r\n    if (idx !== -1) { currentQuestionIndex = idx; loadQuestion(); }\r\n}\r\nfunction practiceChapter(ch) {\r\n    switchView('practice');\r\n    setMode('chapter', ch);\r\n    showToast('Filtered to ' + chShort(ch), 'success');\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ EVENT DELEGATION (single listener)\r\n\/\/ ==========================================\r\ndocument.addEventListener('click', function (e) {\r\n    const w = e.target.closest('.gfr-portal');\r\n    if (!w) return;\r\n    const tab = e.target.closest('.gp-tab'); if (tab) { switchView(tab.dataset.view); return; }\r\n    const mode = e.target.closest('.mode-tab'); if (mode) { setMode(mode.dataset.mode); return; }\r\n    const yf = e.target.closest('.filter-item[data-year]'); if (yf) { setMode('year', currentFilter === yf.dataset.year ? null : yf.dataset.year); return; }\r\n    const cf = e.target.closest('.filter-item[data-chapter]'); if (cf) { const c = decodeURIComponent(cf.dataset.chapter); setMode('chapter', currentFilter === c ? null : c); return; }\r\n    const gi = e.target.closest('.grid-item'); if (gi) { currentQuestionIndex = parseInt(gi.dataset.idx, 10); loadQuestion(); return; }\r\n    const go = e.target.closest('[data-goto]'); if (go) { gotoQuestion(parseInt(go.dataset.goto, 10)); return; }\r\n    const pc = e.target.closest('[data-practice-ch]'); if (pc) { practiceChapter(decodeURIComponent(pc.dataset.practiceCh)); return; }\r\n    const pw = e.target.closest('[data-practice-weak]'); if (pw) { switchView('practice'); setMode('weak'); return; }\r\n    const opt = e.target.closest('.option-item'); if (opt && !answerChecked) {\r\n        $id('optionsList').querySelectorAll('.option-item').forEach(o => o.classList.remove('selected'));\r\n        opt.classList.add('selected'); selectedOption = parseInt(opt.dataset.opt, 10); return;\r\n    }\r\n    switch (e.target.closest('button') ? e.target.closest('button').id : '') {\r\n        case 'checkBtn': checkAnswer(); break;\r\n        case 'prevBtn': if (currentQuestionIndex > 0) { currentQuestionIndex--; loadQuestion(); } break;\r\n        case 'nextBtn': if (currentQuestionIndex < filteredQuestions.length - 1) { currentQuestionIndex++; loadQuestion(); } break;\r\n        case 'submitBtn': submitExam(); break;\r\n        case 'resetBtn': resetSession(); break;\r\n        case 'resetPerfBtn': resetPerformance(); break;\r\n        case 'reviewBtn': reviewAnswers(); break;\r\n        case 'retryBtn': retryQuiz(); break;\r\n        case 'practiceWeakBtn': $id('resultModal').classList.remove('show'); setMode('weak'); break;\r\n        case 'practiceWeakAreasBtn': setMode('weak'); break;\r\n        case 'resumeBtn': {\r\n            const qid = progress.lastQuestionId;\r\n            if (progress.lastMode) setMode(progress.lastMode, progress.lastFilter);\r\n            if (qid) gotoQuestion(qid);\r\n            $id('sessionInfo').style.display = 'none';\r\n            break;\r\n        }\r\n    }\r\n});\r\n\r\n\/\/ Screenshot \/ copy deterrents (as in original)\r\ndocument.addEventListener('contextmenu', function (e) { if (e.target.closest('.gfr-portal')) { e.preventDefault(); showToast('Right-click is disabled to protect content'); } });\r\ndocument.addEventListener('keydown', function (e) {\r\n    if ((e.ctrlKey || e.metaKey) && ['c', 's', 'p', 'u'].includes(e.key.toLowerCase()) && document.querySelector('.gfr-portal')) {\r\n        e.preventDefault(); showToast('Copying is disabled to protect content');\r\n    }\r\n    if (e.key === 'PrintScreen') showToast('Screenshots are discouraged \u2014 content is protected');\r\n});\r\n\r\n\/\/ ==========================================\r\n\/\/ INIT\r\n\/\/ ==========================================\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n    $id('topicName').textContent = quizConfig.topic;\r\n    $id('topicSubtitle').textContent = quizConfig.subtitle;\r\n    loadProgress();\r\n    renderFilters();\r\n    setMode(progress.lastMode || 'all', progress.lastFilter || null);\r\n    updateHeader();\r\n    if (progress.lastQuestionId) {\r\n        const q = allQuestions.find(x => x.id === progress.lastQuestionId);\r\n        if (q) { $id('sessionInfo').style.display = ''; $id('sessionText').textContent = 'Last session: Q' + q.id + ' (' + q.year + ')'; }\r\n    }\r\n    initDone = true;\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u26a0\ufe0f Message \ud83c\udf89 Great Job! You have completed the quiz. 0 Correct 0 Incorrect 0% Score \ud83d\udc41 Review \u26a0\ufe0f Practice [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"disabled","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"disabled","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[44],"tags":[],"class_list":["post-5713","page","type-page","status-publish","hentry","category-pyq"],"_links":{"self":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/5713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5713"}],"version-history":[{"count":64,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/5713\/revisions"}],"predecessor-version":[{"id":13491,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/5713\/revisions\/13491"}],"wp:attachment":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}