From 1eed7476390fa723a6246f467a0a8ce2319bf11f Mon Sep 17 00:00:00 2001 From: Talhadeveloperr <23021519-005@uog.edu.pk> Date: Wed, 9 Sep 2026 18:07:19 +0500 Subject: [PATCH] commands --- app/template_generator.py | 182 ++- app/template_logger.py | 13 +- controller/template_controller.py | 33 + logs/template_generator.log | 14 +- result/schedule_state.json | 1027 +++++++++++++++++ result/templates/batch-wise/25021519.xlsx | Bin 5668 -> 5667 bytes result/templates/batch-wise/25021520.xlsx | Bin 5678 -> 5677 bytes result/templates/batch-wise/25031519.xlsx | Bin 5634 -> 5633 bytes result/templates/batch-wise/26021519.xlsx | Bin 5677 -> 5676 bytes result/templates/batch-wise/26021520.xlsx | Bin 5680 -> 5679 bytes result/templates/batch-wise/26031519.xlsx | Bin 5634 -> 5633 bytes result/templates/department-wise/CS.xlsx | Bin 5844 -> 5843 bytes result/templates/department-wise/EE.xlsx | Bin 5732 -> 5731 bytes result/templates/room-wise/A-101.xlsx | Bin 5663 -> 5662 bytes result/templates/room-wise/A-102.xlsx | Bin 5569 -> 5568 bytes result/templates/room-wise/A-103.xlsx | Bin 5589 -> 5588 bytes result/templates/room-wise/A-201.xlsx | Bin 5543 -> 5542 bytes result/templates/room-wise/A-L01.xlsx | Bin 5602 -> 5601 bytes result/templates/room-wise/A-L02.xlsx | Bin 5646 -> 5645 bytes .../templates/student-wise/25021519-001.xlsx | Bin 5689 -> 5688 bytes .../templates/student-wise/25021519-002.xlsx | Bin 5692 -> 5691 bytes .../templates/student-wise/25021519-003.xlsx | Bin 5690 -> 5689 bytes .../templates/student-wise/25021519-004.xlsx | Bin 5692 -> 5691 bytes .../templates/student-wise/25021519-005.xlsx | Bin 5692 -> 5691 bytes .../templates/student-wise/25021520-001.xlsx | Bin 5696 -> 5695 bytes .../templates/student-wise/25021520-002.xlsx | Bin 5698 -> 5697 bytes .../templates/student-wise/25021520-003.xlsx | Bin 5698 -> 5697 bytes .../templates/student-wise/25021520-004.xlsx | Bin 5697 -> 5696 bytes .../templates/student-wise/25021520-005.xlsx | Bin 5697 -> 5696 bytes .../templates/student-wise/25031519-001.xlsx | Bin 5656 -> 5655 bytes .../templates/student-wise/25031519-002.xlsx | Bin 5657 -> 5656 bytes .../templates/student-wise/25031519-003.xlsx | Bin 5657 -> 5656 bytes .../templates/student-wise/25031519-004.xlsx | Bin 5656 -> 5655 bytes .../templates/student-wise/25031519-005.xlsx | Bin 5656 -> 5655 bytes .../templates/student-wise/26021519-001.xlsx | Bin 5700 -> 5699 bytes .../templates/student-wise/26021519-002.xlsx | Bin 5700 -> 5699 bytes .../templates/student-wise/26021519-003.xlsx | Bin 5700 -> 5699 bytes .../templates/student-wise/26021519-004.xlsx | Bin 5700 -> 5699 bytes .../templates/student-wise/26021519-005.xlsx | Bin 5698 -> 5697 bytes .../templates/student-wise/26021520-001.xlsx | Bin 5701 -> 5700 bytes .../templates/student-wise/26021520-002.xlsx | Bin 5701 -> 5700 bytes .../templates/student-wise/26021520-003.xlsx | Bin 5699 -> 5698 bytes .../templates/student-wise/26021520-004.xlsx | Bin 5699 -> 5698 bytes .../templates/student-wise/26021520-005.xlsx | Bin 5701 -> 5700 bytes .../templates/student-wise/26031519-001.xlsx | Bin 5656 -> 5655 bytes .../templates/student-wise/26031519-002.xlsx | Bin 5657 -> 5656 bytes .../templates/student-wise/26031519-003.xlsx | Bin 5656 -> 5655 bytes .../templates/student-wise/26031519-004.xlsx | Bin 5656 -> 5655 bytes .../templates/student-wise/26031519-005.xlsx | Bin 5658 -> 5657 bytes result/templates/teacher-wise/1001.xlsx | Bin 5632 -> 5631 bytes result/templates/teacher-wise/1002.xlsx | Bin 5709 -> 5708 bytes result/templates/teacher-wise/1004.xlsx | Bin 5590 -> 5589 bytes result/templates/teacher-wise/1006.xlsx | Bin 5561 -> 5560 bytes 53 files changed, 1213 insertions(+), 56 deletions(-) create mode 100644 result/schedule_state.json diff --git a/app/template_generator.py b/app/template_generator.py index 6dbdca9..4fb9caa 100644 --- a/app/template_generator.py +++ b/app/template_generator.py @@ -1,12 +1,20 @@ """ -Main entry point: builds a clash-free dummy schedule and renders all five -timetable views (batch/department/room/student/teacher -wise) as .xlsx -files under result/templates//. +Main entry point: runs the three scheduling phases (general courses, labs, +remaining courses) and renders all five timetable views (batch/department/ +room/student/teacher -wise) as .xlsx files under result/templates//. -Run: - python app/template_generator.py +Each phase is its own subcommand so it can be run and inspected as a +separate step; each phase's placements are persisted to +result/schedule_state.json and loaded back in by the next phase's command. + +Usage: + python app/template_generator.py phase_1 # general courses (Tue/Thu preferred) + python app/template_generator.py phase_2 # labs, on top of phase_1 + python app/template_generator.py phase_3 # remaining courses, batch by batch + python app/template_generator.py clear_all # wipe state/results/log to start over """ +import json import os import shutil import sys @@ -35,8 +43,43 @@ from student_wise_template import generate_student_wise_templates # noqa: E402 from teacher_wise_template import generate_teacher_wise_templates # noqa: E402 RESULT_DIR = os.path.join(ROOT_DIR, "result", "templates") +STATE_FILE = os.path.join(ROOT_DIR, "result", "schedule_state.json") VIEW_NAMES = ["batch-wise", "department-wise", "room-wise", "student-wise", "teacher-wise"] +PHASE_ORDER = ["phase_1", "phase_2", "phase_3"] + +GENERATORS = [ + ("batch-wise", generate_batch_wise_templates), + ("department-wise", generate_department_wise_templates), + ("room-wise", generate_room_wise_templates), + ("student-wise", generate_student_wise_templates), + ("teacher-wise", generate_teacher_wise_templates), +] + + +# --------------------------------------------------------------------------- +# State persistence +# --------------------------------------------------------------------------- + +def load_state(): + """Returns the saved schedule state dict, or None if none exists yet.""" + if not os.path.exists(STATE_FILE): + return None + with open(STATE_FILE, encoding="utf-8") as f: + return json.load(f) + + +def save_state(scheduler, phases_completed): + state = scheduler.to_state() + state["phases_completed"] = phases_completed + os.makedirs(os.path.dirname(STATE_FILE), exist_ok=True) + with open(STATE_FILE, "w", encoding="utf-8") as f: + json.dump(state, f, indent=2) + + +# --------------------------------------------------------------------------- +# Shared helpers +# --------------------------------------------------------------------------- def _check_and_log(sessions, label): """Runs student + teacher conflict checks over `sessions` and logs the result.""" @@ -64,10 +107,7 @@ def clear_result_dir(): os.makedirs(output_dir, exist_ok=True) -def main(): - reset_log() - clear_result_dir() - +def ensure_dummy_data(): data_csv_marker = os.path.join(ROOT_DIR, "data", "dummy", "blocks", "rooms.csv") if not os.path.exists(data_csv_marker): print("Dummy data not found — generating it first...") @@ -76,49 +116,101 @@ def main(): generate_dummy_data() print() - log_info("Loading data...") - data = load_data() - scheduler = Scheduler(data) - - # --- Phase 1: general courses (Tue/Thu preferred), self-repaired until clash-free --- - log_info("Phase 1/3: scheduling general courses...") - phase1_sessions = scheduler.phase_1_general_courses() - _check_and_log(phase1_sessions, "Phase 1 (general courses)") - - # --- Phase 2: labs, scheduled against Phase 1's fixed placements --- - log_info("Phase 2/3: scheduling labs...") - phase2_sessions = scheduler.phase_2_labs() - _check_and_log(phase1_sessions + phase2_sessions, "Phase 2 (general courses + labs)") - - # --- Phase 3: remaining theory courses, batch by batch --- - log_info("Phase 3/3: scheduling remaining courses (batch by batch)...") - phase3_sessions = scheduler.phase_3_remaining_courses() - - sessions = phase1_sessions + phase2_sessions + phase3_sessions - log_info( - f"Scheduling complete: {len(phase1_sessions)} general, {len(phase2_sessions)} lab, " - f"{len(phase3_sessions)} remaining = {len(sessions)} total session(s)." - ) - - log_info("Running final conflict check (student/batch and teacher) over the full schedule...") - _check_and_log(sessions, "Final (full schedule)") - - generators = [ - ("batch-wise", generate_batch_wise_templates), - ("department-wise", generate_department_wise_templates), - ("room-wise", generate_room_wise_templates), - ("student-wise", generate_student_wise_templates), - ("teacher-wise", generate_teacher_wise_templates), - ] +def regenerate_templates(sessions, data): + clear_result_dir() total_files = 0 - for view_name, generate_fn in generators: + for view_name, generate_fn in GENERATORS: output_dir = os.path.join(RESULT_DIR, view_name) written = generate_fn(sessions, data, output_dir) total_files += len(written) print(f"[{view_name}] generated {len(written)} file(s) -> {output_dir}") + print(f"\n{total_files} timetable file(s) written under {RESULT_DIR}") - print(f"\nDone. {total_files} timetable file(s) written under {RESULT_DIR}") + +# --------------------------------------------------------------------------- +# Commands +# --------------------------------------------------------------------------- + +def cmd_clear_all(): + if os.path.exists(STATE_FILE): + os.remove(STATE_FILE) + clear_result_dir() + reset_log() + log_info("clear_all: schedule state, result templates, and log have been reset. Run phase_1 to start over.") + + +def cmd_phase(phase_name): + ensure_dummy_data() + data = load_data() + + state = load_state() + completed = state["phases_completed"] if state else [] + + if phase_name in completed: + log_error( + f"{phase_name} has already been run (completed phases: {completed}). " + f"Run 'python app/template_generator.py clear_all' first if you want to redo it." + ) + return + + phase_index = PHASE_ORDER.index(phase_name) + required_prior = PHASE_ORDER[:phase_index] + missing = [p for p in required_prior if p not in completed] + if missing: + log_error( + f"Cannot run {phase_name} yet — missing prior phase(s) {missing}. " + f"Run them in order: {', '.join(PHASE_ORDER)} (or 'clear_all' to start over)." + ) + return + + if state is None: + scheduler = Scheduler(data) + else: + scheduler = Scheduler.from_state(data, state) + + if phase_name == "phase_1": + log_info("Phase 1/3: scheduling general courses (Tue/Thu preferred)...") + new_sessions = scheduler.phase_1_general_courses() + elif phase_name == "phase_2": + log_info("Phase 2/3: scheduling labs (on top of phase_1's fixed placements)...") + new_sessions = scheduler.phase_2_labs() + else: + log_info("Phase 3/3: scheduling remaining courses (batch by batch)...") + new_sessions = scheduler.phase_3_remaining_courses() + + label = { + "phase_1": "Phase 1 (general courses)", + "phase_2": "Phase 2 (general courses + labs)", + "phase_3": "Phase 3 (full schedule)", + }[phase_name] + _check_and_log(scheduler.sessions, label) + + completed = completed + [phase_name] + save_state(scheduler, completed) + log_info( + f"{phase_name} complete: {len(new_sessions)} session(s) added this phase, " + f"{len(scheduler.sessions)} total so far. State saved to {STATE_FILE}." + ) + + regenerate_templates(scheduler.sessions, data) + + +def print_usage(): + print(__doc__) + + +def main(): + args = sys.argv[1:] + if not args or args[0] not in ("phase_1", "phase_2", "phase_3", "clear_all"): + print_usage() + return + + command = args[0] + if command == "clear_all": + cmd_clear_all() + else: + cmd_phase(command) if __name__ == "__main__": diff --git a/app/template_logger.py b/app/template_logger.py index 4edbc76..37be571 100644 --- a/app/template_logger.py +++ b/app/template_logger.py @@ -40,8 +40,19 @@ def log_info(message): def _write(level, message): + global _log_path if _log_path is None: - reset_log() + os.makedirs(LOGS_DIR, exist_ok=True) + _log_path = LOG_FILE + if not os.path.exists(_log_path): + # First-ever write with no prior reset_log() call in this + # process (e.g. a phase_N command run without a preceding + # clear_all): create the file fresh, but never truncate an + # existing log — separate process invocations of phase_1/2/3 + # must all append to the same ongoing log. + with open(_log_path, "w", encoding="utf-8") as f: + f.write(f"Timetable generation log - started {datetime.datetime.now().isoformat()}\n") + f.write("=" * 80 + "\n") line = f"[{datetime.datetime.now().strftime('%H:%M:%S')}] {level}: {message}" with open(_log_path, "a", encoding="utf-8") as f: f.write(line + "\n") diff --git a/controller/template_controller.py b/controller/template_controller.py index e829c31..9203dce 100644 --- a/controller/template_controller.py +++ b/controller/template_controller.py @@ -121,6 +121,39 @@ class Scheduler: self.sessions = [] + def to_state(self): + """ + Serializes this scheduler's accumulated sessions and busy-maps to a + JSON-able dict, so a later process can resume exactly where this + one left off (used to run each phase as a separate CLI command). + """ + def _dump_busy(busy_map): + return {f"{day}|{slot_index}": sorted(values) for (day, slot_index), values in busy_map.items()} + + return { + "sessions": self.sessions, + "room_busy": _dump_busy(self.room_busy), + "instructor_busy": _dump_busy(self.instructor_busy), + "batch_busy": _dump_busy(self.batch_busy), + } + + @classmethod + def from_state(cls, data, state): + """Rebuilds a Scheduler from a dict previously produced by to_state().""" + def _load_busy(dumped): + busy = {} + for key, values in dumped.items(): + day, slot_index = key.rsplit("|", 1) + busy[(day, int(slot_index))] = set(values) + return busy + + scheduler = cls(data) + scheduler.sessions = list(state["sessions"]) + scheduler.room_busy = _load_busy(state["room_busy"]) + scheduler.instructor_busy = _load_busy(state["instructor_busy"]) + scheduler.batch_busy = _load_busy(state["batch_busy"]) + return scheduler + def _is_free(self, day, slot_index, room_id, instructor_code, batch_codes): key = (day, slot_index) if room_id in self.room_busy.get(key, set()): diff --git a/logs/template_generator.log b/logs/template_generator.log index 1122fd3..f6c440e 100644 --- a/logs/template_generator.log +++ b/logs/template_generator.log @@ -1,11 +1,5 @@ -Timetable generation log - started 2026-09-09T18:02:42.384468 +Timetable generation log - started 2026-09-09T18:06:49.239332 ================================================================================ -[18:02:42] INFO: Loading data... -[18:02:42] INFO: Phase 1/3: scheduling general courses... -[18:02:42] INFO: [Phase 1 (general courses)] No conflicts found — clash-free. -[18:02:42] INFO: Phase 2/3: scheduling labs... -[18:02:42] INFO: [Phase 2 (general courses + labs)] No conflicts found — clash-free. -[18:02:42] INFO: Phase 3/3: scheduling remaining courses (batch by batch)... -[18:02:42] INFO: Scheduling complete: 6 general, 10 lab, 20 remaining = 36 total session(s). -[18:02:42] INFO: Running final conflict check (student/batch and teacher) over the full schedule... -[18:02:42] INFO: [Final (full schedule)] No conflicts found — clash-free. +[18:06:49] INFO: Phase 3/3: scheduling remaining courses (batch by batch)... +[18:06:49] INFO: [Phase 3 (full schedule)] No conflicts found — clash-free. +[18:06:49] INFO: phase_3 complete: 20 session(s) added this phase, 36 total so far. State saved to D:\projects\UORM\timetable\result\schedule_state.json. diff --git a/result/schedule_state.json b/result/schedule_state.json new file mode 100644 index 0000000..c031f1f --- /dev/null +++ b/result/schedule_state.json @@ -0,0 +1,1027 @@ +{ + "sessions": [ + { + "day": "Tuesday", + "slot_indices": [ + 0 + ], + "start": "08:30", + "end": "10:00", + "course_id": "GEN101", + "course_name": "Functional English", + "course_type": "theory", + "is_general": true, + "section_id": "A", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-103", + "room_name": "Room 103", + "batch_codes": [ + "25021519", + "25021520", + "25031519" + ] + }, + { + "day": "Tuesday", + "slot_indices": [ + 1 + ], + "start": "10:00", + "end": "11:30", + "course_id": "GEN101", + "course_name": "Functional English", + "course_type": "theory", + "is_general": true, + "section_id": "A", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-103", + "room_name": "Room 103", + "batch_codes": [ + "25021519", + "25021520", + "25031519" + ] + }, + { + "day": "Tuesday", + "slot_indices": [ + 2 + ], + "start": "11:30", + "end": "13:00", + "course_id": "GEN102", + "course_name": "Islamic Studies", + "course_type": "theory", + "is_general": true, + "section_id": "A", + "instructor_code": "1006", + "instructor_name": "Ms. Hira Shah", + "room_id": "A-103", + "room_name": "Room 103", + "batch_codes": [ + "25021519", + "25021520", + "25031519" + ] + }, + { + "day": "Tuesday", + "slot_indices": [ + 2 + ], + "start": "11:30", + "end": "13:00", + "course_id": "GEN101", + "course_name": "Functional English", + "course_type": "theory", + "is_general": true, + "section_id": "B", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-101", + "room_name": "Room 101", + "batch_codes": [ + "26021519", + "26021520", + "26031519" + ] + }, + { + "day": "Tuesday", + "slot_indices": [ + 4 + ], + "start": "13:30", + "end": "15:00", + "course_id": "GEN101", + "course_name": "Functional English", + "course_type": "theory", + "is_general": true, + "section_id": "B", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-103", + "room_name": "Room 103", + "batch_codes": [ + "26021519", + "26021520", + "26031519" + ] + }, + { + "day": "Tuesday", + "slot_indices": [ + 0 + ], + "start": "08:30", + "end": "10:00", + "course_id": "GEN102", + "course_name": "Islamic Studies", + "course_type": "theory", + "is_general": true, + "section_id": "B", + "instructor_code": "1006", + "instructor_name": "Ms. Hira Shah", + "room_id": "A-101", + "room_name": "Room 101", + "batch_codes": [ + "26021519", + "26021520", + "26031519" + ] + }, + { + "day": "Monday", + "slot_indices": [ + 0, + 1 + ], + "start": "08:30", + "end": "11:30", + "course_id": "CS101", + "course_name": "Programming Fundamentals", + "course_type": "lab", + "is_general": false, + "section_id": "A", + "instructor_code": "1001", + "instructor_name": "Dr. Ahsan Raza", + "room_id": "A-L01", + "room_name": "Computer Lab 1", + "batch_codes": [ + "25021519" + ] + }, + { + "day": "Monday", + "slot_indices": [ + 4, + 5 + ], + "start": "13:30", + "end": "16:30", + "course_id": "CS201", + "course_name": "Data Structures", + "course_type": "lab", + "is_general": false, + "section_id": "A", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-L01", + "room_name": "Computer Lab 1", + "batch_codes": [ + "25021519" + ] + }, + { + "day": "Monday", + "slot_indices": [ + 4, + 5 + ], + "start": "13:30", + "end": "16:30", + "course_id": "CS101", + "course_name": "Programming Fundamentals", + "course_type": "lab", + "is_general": false, + "section_id": "B", + "instructor_code": "1001", + "instructor_name": "Dr. Ahsan Raza", + "room_id": "A-L02", + "room_name": "Computer Lab 2", + "batch_codes": [ + "25021520" + ] + }, + { + "day": "Monday", + "slot_indices": [ + 0, + 1 + ], + "start": "08:30", + "end": "11:30", + "course_id": "CS201", + "course_name": "Data Structures", + "course_type": "lab", + "is_general": false, + "section_id": "B", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-L02", + "room_name": "Computer Lab 2", + "batch_codes": [ + "25021520" + ] + }, + { + "day": "Tuesday", + "slot_indices": [ + 4, + 5 + ], + "start": "13:30", + "end": "16:30", + "course_id": "EE101", + "course_name": "Basic Electronics", + "course_type": "lab", + "is_general": false, + "section_id": "A", + "instructor_code": "1004", + "instructor_name": "Dr. Farah Iqbal", + "room_id": "A-L02", + "room_name": "Computer Lab 2", + "batch_codes": [ + "25031519" + ] + }, + { + "day": "Wednesday", + "slot_indices": [ + 0, + 1 + ], + "start": "08:30", + "end": "11:30", + "course_id": "CS101", + "course_name": "Programming Fundamentals", + "course_type": "lab", + "is_general": false, + "section_id": "C", + "instructor_code": "1001", + "instructor_name": "Dr. Ahsan Raza", + "room_id": "A-L01", + "room_name": "Computer Lab 1", + "batch_codes": [ + "26021519" + ] + }, + { + "day": "Wednesday", + "slot_indices": [ + 4, + 5 + ], + "start": "13:30", + "end": "16:30", + "course_id": "CS201", + "course_name": "Data Structures", + "course_type": "lab", + "is_general": false, + "section_id": "C", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-L01", + "room_name": "Computer Lab 1", + "batch_codes": [ + "26021519" + ] + }, + { + "day": "Wednesday", + "slot_indices": [ + 4, + 5 + ], + "start": "13:30", + "end": "16:30", + "course_id": "CS101", + "course_name": "Programming Fundamentals", + "course_type": "lab", + "is_general": false, + "section_id": "D", + "instructor_code": "1001", + "instructor_name": "Dr. Ahsan Raza", + "room_id": "A-L02", + "room_name": "Computer Lab 2", + "batch_codes": [ + "26021520" + ] + }, + { + "day": "Wednesday", + "slot_indices": [ + 0, + 1 + ], + "start": "08:30", + "end": "11:30", + "course_id": "CS201", + "course_name": "Data Structures", + "course_type": "lab", + "is_general": false, + "section_id": "D", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-L02", + "room_name": "Computer Lab 2", + "batch_codes": [ + "26021520" + ] + }, + { + "day": "Thursday", + "slot_indices": [ + 0, + 1 + ], + "start": "08:30", + "end": "11:30", + "course_id": "EE101", + "course_name": "Basic Electronics", + "course_type": "lab", + "is_general": false, + "section_id": "B", + "instructor_code": "1004", + "instructor_name": "Dr. Farah Iqbal", + "room_id": "A-L02", + "room_name": "Computer Lab 2", + "batch_codes": [ + "26031519" + ] + }, + { + "day": "Monday", + "slot_indices": [ + 2 + ], + "start": "11:30", + "end": "13:00", + "course_id": "CS101", + "course_name": "Programming Fundamentals", + "course_type": "theory", + "is_general": false, + "section_id": "A", + "instructor_code": "1001", + "instructor_name": "Dr. Ahsan Raza", + "room_id": "A-101", + "room_name": "Room 101", + "batch_codes": [ + "25021519" + ] + }, + { + "day": "Tuesday", + "slot_indices": [ + 4 + ], + "start": "13:30", + "end": "15:00", + "course_id": "CS101", + "course_name": "Programming Fundamentals", + "course_type": "theory", + "is_general": false, + "section_id": "A", + "instructor_code": "1001", + "instructor_name": "Dr. Ahsan Raza", + "room_id": "A-101", + "room_name": "Room 101", + "batch_codes": [ + "25021519" + ] + }, + { + "day": "Tuesday", + "slot_indices": [ + 5 + ], + "start": "15:00", + "end": "16:30", + "course_id": "CS201", + "course_name": "Data Structures", + "course_type": "theory", + "is_general": false, + "section_id": "A", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-102", + "room_name": "Room 102", + "batch_codes": [ + "25021519" + ] + }, + { + "day": "Wednesday", + "slot_indices": [ + 2 + ], + "start": "11:30", + "end": "13:00", + "course_id": "CS201", + "course_name": "Data Structures", + "course_type": "theory", + "is_general": false, + "section_id": "A", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-102", + "room_name": "Room 102", + "batch_codes": [ + "25021519" + ] + }, + { + "day": "Tuesday", + "slot_indices": [ + 5 + ], + "start": "15:00", + "end": "16:30", + "course_id": "CS101", + "course_name": "Programming Fundamentals", + "course_type": "theory", + "is_general": false, + "section_id": "B", + "instructor_code": "1001", + "instructor_name": "Dr. Ahsan Raza", + "room_id": "A-101", + "room_name": "Room 101", + "batch_codes": [ + "25021520" + ] + }, + { + "day": "Wednesday", + "slot_indices": [ + 2 + ], + "start": "11:30", + "end": "13:00", + "course_id": "CS101", + "course_name": "Programming Fundamentals", + "course_type": "theory", + "is_general": false, + "section_id": "B", + "instructor_code": "1001", + "instructor_name": "Dr. Ahsan Raza", + "room_id": "A-101", + "room_name": "Room 101", + "batch_codes": [ + "25021520" + ] + }, + { + "day": "Monday", + "slot_indices": [ + 2 + ], + "start": "11:30", + "end": "13:00", + "course_id": "CS201", + "course_name": "Data Structures", + "course_type": "theory", + "is_general": false, + "section_id": "B", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-102", + "room_name": "Room 102", + "batch_codes": [ + "25021520" + ] + }, + { + "day": "Thursday", + "slot_indices": [ + 0 + ], + "start": "08:30", + "end": "10:00", + "course_id": "CS201", + "course_name": "Data Structures", + "course_type": "theory", + "is_general": false, + "section_id": "B", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-102", + "room_name": "Room 102", + "batch_codes": [ + "25021520" + ] + }, + { + "day": "Monday", + "slot_indices": [ + 0 + ], + "start": "08:30", + "end": "10:00", + "course_id": "EE101", + "course_name": "Basic Electronics", + "course_type": "theory", + "is_general": false, + "section_id": "A", + "instructor_code": "1004", + "instructor_name": "Dr. Farah Iqbal", + "room_id": "A-201", + "room_name": "Room 201", + "batch_codes": [ + "25031519" + ] + }, + { + "day": "Monday", + "slot_indices": [ + 1 + ], + "start": "10:00", + "end": "11:30", + "course_id": "EE101", + "course_name": "Basic Electronics", + "course_type": "theory", + "is_general": false, + "section_id": "A", + "instructor_code": "1004", + "instructor_name": "Dr. Farah Iqbal", + "room_id": "A-201", + "room_name": "Room 201", + "batch_codes": [ + "25031519" + ] + }, + { + "day": "Tuesday", + "slot_indices": [ + 1 + ], + "start": "10:00", + "end": "11:30", + "course_id": "CS101", + "course_name": "Programming Fundamentals", + "course_type": "theory", + "is_general": false, + "section_id": "C", + "instructor_code": "1001", + "instructor_name": "Dr. Ahsan Raza", + "room_id": "A-101", + "room_name": "Room 101", + "batch_codes": [ + "26021519" + ] + }, + { + "day": "Thursday", + "slot_indices": [ + 0 + ], + "start": "08:30", + "end": "10:00", + "course_id": "CS101", + "course_name": "Programming Fundamentals", + "course_type": "theory", + "is_general": false, + "section_id": "C", + "instructor_code": "1001", + "instructor_name": "Dr. Ahsan Raza", + "room_id": "A-101", + "room_name": "Room 101", + "batch_codes": [ + "26021519" + ] + }, + { + "day": "Thursday", + "slot_indices": [ + 1 + ], + "start": "10:00", + "end": "11:30", + "course_id": "CS201", + "course_name": "Data Structures", + "course_type": "theory", + "is_general": false, + "section_id": "C", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-102", + "room_name": "Room 102", + "batch_codes": [ + "26021519" + ] + }, + { + "day": "Thursday", + "slot_indices": [ + 2 + ], + "start": "11:30", + "end": "13:00", + "course_id": "CS201", + "course_name": "Data Structures", + "course_type": "theory", + "is_general": false, + "section_id": "C", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-102", + "room_name": "Room 102", + "batch_codes": [ + "26021519" + ] + }, + { + "day": "Thursday", + "slot_indices": [ + 1 + ], + "start": "10:00", + "end": "11:30", + "course_id": "CS101", + "course_name": "Programming Fundamentals", + "course_type": "theory", + "is_general": false, + "section_id": "D", + "instructor_code": "1001", + "instructor_name": "Dr. Ahsan Raza", + "room_id": "A-101", + "room_name": "Room 101", + "batch_codes": [ + "26021520" + ] + }, + { + "day": "Thursday", + "slot_indices": [ + 2 + ], + "start": "11:30", + "end": "13:00", + "course_id": "CS101", + "course_name": "Programming Fundamentals", + "course_type": "theory", + "is_general": false, + "section_id": "D", + "instructor_code": "1001", + "instructor_name": "Dr. Ahsan Raza", + "room_id": "A-101", + "room_name": "Room 101", + "batch_codes": [ + "26021520" + ] + }, + { + "day": "Thursday", + "slot_indices": [ + 4 + ], + "start": "13:30", + "end": "15:00", + "course_id": "CS201", + "course_name": "Data Structures", + "course_type": "theory", + "is_general": false, + "section_id": "D", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-102", + "room_name": "Room 102", + "batch_codes": [ + "26021520" + ] + }, + { + "day": "Thursday", + "slot_indices": [ + 5 + ], + "start": "15:00", + "end": "16:30", + "course_id": "CS201", + "course_name": "Data Structures", + "course_type": "theory", + "is_general": false, + "section_id": "D", + "instructor_code": "1002", + "instructor_name": "Ms. Sana Tariq", + "room_id": "A-102", + "room_name": "Room 102", + "batch_codes": [ + "26021520" + ] + }, + { + "day": "Monday", + "slot_indices": [ + 2 + ], + "start": "11:30", + "end": "13:00", + "course_id": "EE101", + "course_name": "Basic Electronics", + "course_type": "theory", + "is_general": false, + "section_id": "B", + "instructor_code": "1004", + "instructor_name": "Dr. Farah Iqbal", + "room_id": "A-201", + "room_name": "Room 201", + "batch_codes": [ + "26031519" + ] + }, + { + "day": "Monday", + "slot_indices": [ + 4 + ], + "start": "13:30", + "end": "15:00", + "course_id": "EE101", + "course_name": "Basic Electronics", + "course_type": "theory", + "is_general": false, + "section_id": "B", + "instructor_code": "1004", + "instructor_name": "Dr. Farah Iqbal", + "room_id": "A-201", + "room_name": "Room 201", + "batch_codes": [ + "26031519" + ] + } + ], + "room_busy": { + "Tuesday|0": [ + "A-101", + "A-103" + ], + "Tuesday|1": [ + "A-101", + "A-103" + ], + "Tuesday|2": [ + "A-101", + "A-103" + ], + "Tuesday|4": [ + "A-101", + "A-103", + "A-L02" + ], + "Monday|0": [ + "A-201", + "A-L01", + "A-L02" + ], + "Monday|1": [ + "A-201", + "A-L01", + "A-L02" + ], + "Monday|4": [ + "A-201", + "A-L01", + "A-L02" + ], + "Monday|5": [ + "A-L01", + "A-L02" + ], + "Tuesday|5": [ + "A-101", + "A-102", + "A-L02" + ], + "Wednesday|0": [ + "A-L01", + "A-L02" + ], + "Wednesday|1": [ + "A-L01", + "A-L02" + ], + "Wednesday|4": [ + "A-L01", + "A-L02" + ], + "Wednesday|5": [ + "A-L01", + "A-L02" + ], + "Thursday|0": [ + "A-101", + "A-102", + "A-L02" + ], + "Thursday|1": [ + "A-101", + "A-102", + "A-L02" + ], + "Monday|2": [ + "A-101", + "A-102", + "A-201" + ], + "Wednesday|2": [ + "A-101", + "A-102" + ], + "Thursday|2": [ + "A-101", + "A-102" + ], + "Thursday|4": [ + "A-102" + ], + "Thursday|5": [ + "A-102" + ] + }, + "instructor_busy": { + "Tuesday|0": [ + "1002", + "1006" + ], + "Tuesday|1": [ + "1001", + "1002" + ], + "Tuesday|2": [ + "1002", + "1006" + ], + "Tuesday|4": [ + "1001", + "1002", + "1004" + ], + "Monday|0": [ + "1001", + "1002", + "1004" + ], + "Monday|1": [ + "1001", + "1002", + "1004" + ], + "Monday|4": [ + "1001", + "1002", + "1004" + ], + "Monday|5": [ + "1001", + "1002" + ], + "Tuesday|5": [ + "1001", + "1002", + "1004" + ], + "Wednesday|0": [ + "1001", + "1002" + ], + "Wednesday|1": [ + "1001", + "1002" + ], + "Wednesday|4": [ + "1001", + "1002" + ], + "Wednesday|5": [ + "1001", + "1002" + ], + "Thursday|0": [ + "1001", + "1002", + "1004" + ], + "Thursday|1": [ + "1001", + "1002", + "1004" + ], + "Monday|2": [ + "1001", + "1002", + "1004" + ], + "Wednesday|2": [ + "1001", + "1002" + ], + "Thursday|2": [ + "1001", + "1002" + ], + "Thursday|4": [ + "1002" + ], + "Thursday|5": [ + "1002" + ] + }, + "batch_busy": { + "Tuesday|0": [ + "25021519", + "25021520", + "25031519", + "26021519", + "26021520", + "26031519" + ], + "Tuesday|1": [ + "25021519", + "25021520", + "25031519", + "26021519" + ], + "Tuesday|2": [ + "25021519", + "25021520", + "25031519", + "26021519", + "26021520", + "26031519" + ], + "Tuesday|4": [ + "25021519", + "25031519", + "26021519", + "26021520", + "26031519" + ], + "Monday|0": [ + "25021519", + "25021520", + "25031519" + ], + "Monday|1": [ + "25021519", + "25021520", + "25031519" + ], + "Monday|4": [ + "25021519", + "25021520", + "26031519" + ], + "Monday|5": [ + "25021519", + "25021520" + ], + "Tuesday|5": [ + "25021519", + "25021520", + "25031519" + ], + "Wednesday|0": [ + "26021519", + "26021520" + ], + "Wednesday|1": [ + "26021519", + "26021520" + ], + "Wednesday|4": [ + "26021519", + "26021520" + ], + "Wednesday|5": [ + "26021519", + "26021520" + ], + "Thursday|0": [ + "25021520", + "26021519", + "26031519" + ], + "Thursday|1": [ + "26021519", + "26021520", + "26031519" + ], + "Monday|2": [ + "25021519", + "25021520", + "26031519" + ], + "Wednesday|2": [ + "25021519", + "25021520" + ], + "Thursday|2": [ + "26021519", + "26021520" + ], + "Thursday|4": [ + "26021520" + ], + "Thursday|5": [ + "26021520" + ] + }, + "phases_completed": [ + "phase_1", + "phase_2", + "phase_3" + ] +} \ No newline at end of file diff --git a/result/templates/batch-wise/25021519.xlsx b/result/templates/batch-wise/25021519.xlsx index 1aab68b0cff237cf0e5075a967e4d23e7d016ee7..64d542382e0196219673ae94b2376c66c10d91cb 100644 GIT binary patch delta 538 zcmZ3Yvsi~az?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6OrX2u(n zABqTX{?45OV#e^l0E)W`q%i_HYXqMFITMAvL7cn7wumsCtSn*%6pIp(WqdHXLPQD3 zo-HEFq{uPZjzfw!z?+dtgaI1%K+|P`(*H$dfTWD5EMvfAD^aN!P;_WFaClfTGB9W} zF);80V+sZu7%c@D7%Fn~%kzt}lk)Sk^(u06Pz(iXR*{>%Xf06351;{3Fr7fUfpNj) c4WgPr%O(m5Pkt-P#n?Leho~Ccd0~(u0EDd0JOBUy delta 536 zcmZ3ivqXnGz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti!R58Av_m zE(cPRqxoL|IW7Wej6lvrQQ^t^1TO*wCJ1?h1nvmiBEoR8l86~lEK)?4@!{lh5hWmd zmWV8q631j)4k_LMZ$>5&258t%egIT-bMikC8K5F*QQ62qeg=m4qSTyXeLWC~q8R8v z?FJ4HD@FzeZ6*c=ph`GsV6+loV5rE^FV8Q^PRh^E)~m?PLD39!vn=Dn$?HWmfi~R~ Wm1SxZn!Hd*bTY4)0NVv&kU;<|t-~$= diff --git a/result/templates/batch-wise/25021520.xlsx b/result/templates/batch-wise/25021520.xlsx index b960112437b1e921bdb8bab0af0dd18110553bb6..9c3bde4736962582c7870df05bfb51e05b78969c 100644 GIT binary patch delta 566 zcmZ3dvsQ;Yz?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6PeW+3&J zyBtVOPUU|A1~aQ9Fy%hq$b}J;Q?CkT11xd;bcxx87q*c z>0P^J4geJiGcho5BWY@2j074JUzD0ttgiQovJUL!emeFZ)t*9K(z&Swn js>!=VHNh@TolrSRl97SoJkTYmF72PpB&No86D$Y-G%wMI delta 566 zcmZ3hvrdOQz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti!RN8A!e1 zE(cPRQ}|y1Ilcnvj6lv-!6!h@EFo_Y=b5lABK#)nh?vQPLKAEh8w0}}bp{4uU_iq_ z1LMQVjUq}4U^Oi@x?Ri+3{m_H3=%K}KzduF631j)4ynm^MR+6BY0B=Sn5e8@^PmU9nWptigBPs_pa5j*= jdh$+DO|VN-Csa<7WMp7C4|EBtOD9Zb6jNin1r`JVu}jAs diff --git a/result/templates/batch-wise/25031519.xlsx b/result/templates/batch-wise/25031519.xlsx index 7a33756855cc4cd95aae372aafd6079186fdaf50..71e28bd2f524c8502b6cb6d89282097daf1511be 100644 GIT binary patch delta 507 zcmZqDY1H8k@MdNaVPIh3V7M`n`w-`i37WD0gGHyjn|Mv3{)mA8yF1oJ-r##=VacZ*snbuce|z`uyT;CCS-Te9TC#a{bX@75 zvd{Z={QIz*D|-3adw-H2cQ1JH@cMp%c%)zehQQ32Im!ZTo4+!evoYS-tjjT#8Au)G zE(21Nt@vL6Im!ZQj6hD8;1eJxU&tH8*)42~2*1gUB4$7_3lUky2b04@lz{9?5m_ch zj>&c$QoI4)j7%a7&~Tr;AE;>i@W@2Cfs)U0EM)ApkqH;h(3PfcY>n8V!Y696iL}i(hg(f!$iB5haD!{f@7^EHm DotVC$ zUjCvi++Euz_}qS=COv85-F0aROs`sJtgcTgX1}3o>AHEz zu|l2WX3sD2neMTD8~15fYvIHt!877q55IgH zwV&;F|NF3;^S0yc=AXxpg*#q6xV~O-9|KZ20E1v=%p7Hb&7T=9*cd}M>u^kE22zK( z%Yf8mOa2!?j*>tcBaqW6_yoww6Y>Ueb_v@e!f%p@8BoYvM3(X4omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6OWW+3%} zy97v0PUU|A zP1Cz}%NzhI5@upx;6~Eaz!(WMCcY>&r&wPPL>GKnxiBYAS1s4Sz?qpnDb`%k*KRfBX7qg*2 zd%SDW{keaYSr3~{_wpBI;qKZ#!RPh^HR(wc@9x`s^G2RvEra6pGk-pvHJ{*Dxvs6@ zeBuX*6A61}=e$=6uRH7KGLPA%)JZ#erjVW~zw?GkmrP|2dVf{y=kN_(dqBxk*YgmM z&L5|gMVGr)H%w|PIGDZl!Qb>3#y<7h2jq0Ex&o$~8W{S2dA{=f1GX87EeDUiXL{8- zV|9H}G5ZZwOV`ayjuq-0H+z1G&vcLN+qh4=S_>yG37!$>didp=!n5lp$KO8txbCz| zu<7bWRUYZ_+xKMssQqlW``?G%oVOikH~&0-EZp(p!S(fu`xuY{1sEPPH@|1JVPg#4 ztiy4L8A!e7E&)=LQ}|y1IlcmEj6lv7!6!h@Od)R&=c%wQCp;i0Ym1o4gLpGz<|qrW zF)++gXJ8Np1}_XWFg~2zAfg0Tqi@uCzn7VTA&Q@YK?0@#NN;OYntV`19ccDT5!vvk z+zbpAIr_yVl{u-!dKI}j0p5&EA`H-I1X?w{Yq!h+pf+J(3mQWBLl;EpxaR0-ako9jqN5_3;vtEZgz?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6OGW+3&6 zy97v0PUn9CBojr2Hzx~(Fanu71fKw9=L&g)I4^~55n(u4U&Krv6rvFG7#QZLGcX7P z0~-b!7#~b-5m5r_TP`BYq{uPZjzenl0}&pez*`Yn#%GhcMP-0&4N+N{XnqEU_@dOD zVtqXj8Q{&xB*FlVIG}4}8C@pVi^>5N&jYg8Ox`1^3AQIqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4H8AyHP zE&)=L)A(NiIsO9aj6lwI!6!h@93gKI=Y_B>BK#)niI~ZQLKAEh8w0}}bp{4uU_iq_ z1LMQV%_2$)AT{3U8=L!?85pAY85ksB3V`&sMkS8Pwj5HE?~CvNE%?YSJo&!}7vuBE zT%s~SzPhNaObk#8yF1oJ-r##=VacZ*snbuce|z`uyT;CCS-Te9TC#a{bX@75 zvd{Z={QIz*D|-3adw-H2cQ1JH@cMp%c%)zehQQ32Im!ZTo4+!evoYS-tjjT-8Au)F zE&)=Lt@vL6Im!ZQj6hD8;1eJxU&tH8*)42~2*1gUB4$7_3lUky2b04@lz{9?5m_ch zj>&c$QoI4)j7%a7&~Tr;AE;>OtVC$ zUjCvi++Euz_}qS=COv85-F0aROs`sJtgcTgX1}3o>AHEz zu|l2WX3sD2neMTD8~15fYvIHt!877q55IgH zwV&;F|NF3;^S0yc=AXxpg*#q6xV~O-9|KZ20E1v=%p7Hb&7T=9*cd}M>u^kG22w}3 zOMuj5Oa2!?j*>tcBaqW6_yoww6Y>Ueb_v@e!f%p@8BoYvM3(X4yLlk0^omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo1#l3*(K+ z6GeqLujEN#1~T~sUI4|v3#2dtIWa;{fE-6*ZxE+f#1;{TlP`;y0mZmPWf>n#)(}+! zvb{xRnG`uD+i^(o26!_vi7-IJ9%#BOW7p*MqB1~5XMk*`$*)AEVnETc`!Q#=1tSB4 z783&lKQN|Xpn>tV00Tosj(&N5QFc;(ezsmkZVrl}K+P(0vlp!e>i7XPKnkW4NH;JB eOimEf1X|`OEIfIx7#E}IIqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tizGP0;Hz$ zlruAiPUaPO0pxrWNMQtW9L0nu=LuZ|3OERRg9Lg+Y!P8N`I3kkP>fSlmhs_abx|cC z+e=iINr_{!Er%3ufHxzP2m>_iCr>Ylt#R0gQ%w5V((vj77_d{JsnvA!ONL{SWM z;O@tq)fS8l3|dSK4E(_8gMkLdH$aUQIr`=KMcGOD`Pq6Exj87Bfo_&%44fPomqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6O^X2u(n z6-9+NTk#}=nDh8w0L9w{QW$}pH-b-qoQp!Fi`D{l`~Vst1=9(n8-OnQ cAgT$p?4pqHWL+^X#-o!h#MIdMLGEDy0Mo(DtpET3 delta 536 zcmaE?^F)U`z?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti$n>8Az$| zlmV&9bNOEYIc)+dj6lvsQQ^t|1TO*wE(m#p1Y|^P5n(tvNyH2&Hd92F@!{m{B1%B^ zEfHBJC639q98$ai-i%Bl4A8KjtRO1OC^OkkR0gOhT2wZ2GCu=Dd{JsnvA!ONL{SWM z;AcK%Qwv501}!EA2B1nfXke@nU|^`o(J#+0%1+A9&(^ER%|X!&bTh~~??p9%Hc5)f VG943|{7^`Avagr`n*hi)3;;nq!<_&C diff --git a/result/templates/room-wise/A-101.xlsx b/result/templates/room-wise/A-101.xlsx index 31d58821b2df749d0f680fbc69311d4b50b7aa8a..bd3dd294a59ff2dda8e3daf5d6db875352419ba8 100644 GIT binary patch delta 542 zcmbQQGf#&*z?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6PeW+3&J zI~7Px4(5LW>6&Fr@P{Fi5}@0O@UwiX4;eIHV?@7vTX~a7RRz@!{lOA~Ha> zxTvg*J5YIiQEE=Hz8;7S@MdHZVSq;FXH-EC>MO56*-D delta 566 zcmbQIGhc^0z?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti!RN8A!e1 zP6bkvgZN(nIo1MMj6lvZ!6!gYw~#l8b6waL5q^_pMa<+up$RsMje%i~Is=0+FrZ=BN1OQ#w$H@Qy diff --git a/result/templates/room-wise/A-102.xlsx b/result/templates/room-wise/A-102.xlsx index f4619adb8e832cc8821c45728b2822af042e5a56..27e89c889ae7a74f5735207536acb60a40f99bec 100644 GIT binary patch delta 507 zcmX@8eL$N#z?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo1#=Gmx6k z9SWo-f8~1txFvP?=slkJ5>C$AP2V9OB( GDF*;RJ;ne4 delta 522 zcmX@0eNdY_z?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiw^r45a39 zhXSd|U-(`C$&Vt!n?LY}GXj|&f=__5xI@9R zz`%xq2F8bzMMRW<`piXSnUpvt+j2-vE)d}X3e<|oGESL1TSNxP-XS6@^NNpwA-*Uz zr&wPPL>GKnxiBM#^qS;otg`9omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo1#~GmzTM z9SWo-bMn6caz62AF#bs23}xnz(51z^2r-SWPqB_0uA~*`L&2t z3@D0{I*Y>W7#SFJnHU)OVTyrt1LHFww<1TsJijPADL+43uOc@G-7*!q*^AZ!75@Ml dAcdkiaB`xkCeX5OQCUW_$ty+G*cyaE3IH%w&Jq9s delta 524 zcmcbjeN~$~z?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti#dD%osX( zqKNS3qufp)CI|lup!i4rEJh$FM(_!c<0#|};`9pJBEoR;WnnX*7?+4Fp0631j)4k_LMZ$>5&258s=O_ya{F?qd+3{cS-Ap76sS0YkC_D6nU4`B3wK?CD+ zeg=k$9R2eAqU@yn{A|67+#D2RfKFGDo4sf)Q27r=1_mjpMiAA&7&JLSR1;{Vqmc0A SxuRT*=95>5somqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo1#{GmvWL z4hK?`Z}YtXa*pt4F#|R^&B!Fe01bDbh09lK9MWZGV2}`EVBiJD1`ISXmUA;OROILvmsIAY7VA~y z=AdYuJYPhX@%-eyB2qx}ZvfdlCVvx=Qvk)Hirnl)Yk}tcU}RvBf|&=T8yJ-ZCp!qr ZOb!s`0cwgBm1X3ZTrH}`79IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiut?45XU4 z!-3S~TYN8ooWuNCj6jZ_;1eK6SjZd1i5Ip-gx}<)!e&6RJHoPz4=4W;RsynRMP!+j zI40Y2NNERnGct)VK*Jqq-}2QOhjf`47$k%k7omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo1#uGmzTF z9R{Q(3-Z4Ja(?mWGXgnTf=_@Pe<5!WXST2{BK#&l6gC5jNr=cYKA3DKq6B0|ipVl4 za!j`4km3#SW@Hj!fQI|z`9MYMChrxI0V)#Y7oPl9gv*MRpMfF1C^e^8Uk^m0XaKrU z?vj_fGb00oF%ts=P$e8RFut2?C@KduC_q$}F>Z36s3wp-LsXW@S!i;Ckm%$yq5^Ea H!XWhkGRwx7 delta 507 zcmaE;{YaZTz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti#d645W5) zhXJX{0{kz4oS*#pj6hDN;1eLnPskg@nI&wC2*1e>gw23r;v%w)4=0<7C;{0KBCFpy57w9#GNx$$La(fQoL4$Xc=SGcd##rREgt>w!oV#X!f&UGh?Q zW@KP6W@2Cfs)U0E#`lvAMCE{n_>0Oi#!t=_)daGqi^?*&2u+R`5}kZnRDi8d7^EHm DhM&7* diff --git a/result/templates/room-wise/A-L02.xlsx b/result/templates/room-wise/A-L02.xlsx index 5a3701bb8d23a672f101c89bb916439f66fbb309..727c1cb92e5301e0fb4bbf8fd9403d30616c717d 100644 GIT binary patch delta 566 zcmeCv>DA#5@MdNaVPIh3V7M`n`w-`i37WD0gGHyjn|Mv3{)mA8yF1oJ-r##=VacZ*snbuce|z`uyT;CCS-Te9TC#a{bX@75 zvd{Z={QIz*D|-3adw-H2cQ1JH@cMp%c%)zehQQ32Im!ZTo4+!evoYS-tjn>38Av_j z4g*q?ZTVjSIcfs=j6lvb!6!gYwU9T6b6nUK5q^_-Ma<+up$RdIfnkn11A{Oypkbha z@xkOI5hVqXnz!*O9nH)P47d3i7$jf{fb_OTMUKgK98#0_iSPg|I4vT}cx&=Y5g99x zrs-X~Wexxp2{SP;a3g7IU^E086JL~?Q>?ECA_Ke`nM4?%kv!R6RF+X{a;&Hv(7+lX kyKC|+QBAN*QzukTl4N9HI1h9Qs!Q`HKN3}A+X)r~0982AV*mgE delta 566 zcmeCx>C@p3@MdNaVPIh3UtVC$ zUjCvi++Euz_}qS=COv85-F0aROs`sJtgcTgX1}3o>AHEz zu|l2WX3sD2neMTD8~15fYvIHt!877q55IgH zwV&;F|NF3;^S0yc=AXxpg*#q6xV~O-9|KZ20E1v=%p7Hb&7T=9*cd}M>u~H~22xMC z!+_Le8~ztSj;cUDBakyy@ClGpCFBj_922%hgx_Qy5i@yEXo8JmV_=x0&cGlH3}_f= zV0<_^QA9}rq~>jWN=Gv@1H)~81_lY30wBGuQHf)+Er-m1GTxs2LPW+2 zq-lEBZkYo>MZ!!B4BSYX8W@d$#>5w;<`nDefye-FMkWykXe3Xz6P0C@o*W}82Q;u6 k$nKszQ&bb|($oo+lO!1#7|sJ-g6h(O$qz-<*mi*h0n${)_y7O^ diff --git a/result/templates/student-wise/25021519-001.xlsx b/result/templates/student-wise/25021519-001.xlsx index 64558071e810eb33dcae1e0ff8fa3c9683cf7239..0a711f5f8d504c53319cc8cc18fe18205b2afaf9 100644 GIT binary patch delta 499 zcmdm~vqOhFz?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6PRW+3&I zyBtVOHWU?}+`xYoC=e!)#RwEQDEI`(StjHS;(QXeMTFsG3lTG*SiXoX z12m?9j*w+coa`?u1vD}X$o87tAu0!C9~2axyi1geaqHxxqMAVdd!XE`$-H7}Y)^zi Gh64cYh{?zR delta 532 zcmdm?vr~sVz?+#xgn@y9gCTVCM`7WKa_c!mCuqjz9$2XIe&RKSdS*j`_ITH#`*Z&) zvmQ2^?&UAa!rirfg3s*-YSNP?-rcwN=8ZhTS_Z}GXa0OTYd*oRa$Q@)`NR(rCldC| z&UvpCUU$~dWgfFjsgri{Od&l}e&-F7E}6<4^!}>Y&*2-o_JES7uIC{hoj*<~i!OJq zZkW_oa4>u8gTLu7jD55Z$m!Nwbp=c}H8Ax5@_gm{2W&GETMiz3&-AKw#_IZ{V)h%V zmadzZ94pj0Zua~VpXnakw{f3#wH8iX5`O`*!-E%f{ihBvku2` zW+3&2yBtVO&f$Ln_VHlWyKkxZIMmc84&T1~*gI~!L9&Xame2Y{4@*AnNS%Ii{oA{L-!*nF z%i6W*){@PuqvJ~dlzrZ}5ihu8ND#3O|XFgRw$Z2rh-&Bl0R zvo6O;W+3&QyBtVO&gXvtD4iFKkKRfBX7qg*2 zd%SDW{keaYSr3~{_wpBI;qKZ#!RPh^HR(wc@9x`s^G2RvEra6pGk-pvHJ{*Dxvs6@ zeBuX*6A61}=e$=6uRH7KGLPA%)JZ#erjVW~zw?GkmrP|2dVf{y=kN_(dqBxk*YgmM z&L5|gMVGr)H%w|PIGDZl!Qb>3#y<7h2jq0Ex&o$~8W{S2dA{=f1GX87EeDUiXL{8- zV|9H}G5ZZwOV`ayjuq-0H+z1G&vcLN+qh4=S_>yG37!$>didp=!n5lp$KO8txbCz| zu<7bWRUYZ_+xKMssQqlW``?G%oVOikH~&0-EZp(p!S(fu`xuY{1sEPPCzp!wZ~n)q z%f=YGS%>2!Gm!emT@Ius=kdP)a>50&8G)R`f=__tM^WL;yM-)30$+q}IpG01*-FF= zC{`#U%lL3|zlf4NNM@CmP4pCI28J4b1_lXWki)>XMy1IYMAU)me~8H1yy0eGsL0VT zE~(5(E!L~Z%?a>kWD;S3MjOzW>0P^J4gmEE17i%R77iL1Qzi$BN&$_@5tU{1o!liV e2V}1VvUg5CE~*J+e+07UP39LomqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9S@F+u{>ohrq$cO`zW{Q=1hN@{oI`?7fSlz*-XP9rVOvBPPPP;=1Bw-h$TB{d+$W+0 zWN!qr6(^q;Q3tZWi^$r%!=*Eh@|CHMvt%4#-{sWN({%OjHxd{s3gpp3Env#`aVgqzwQg CLds|W delta 499 zcmdm~vrC6Nz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4f8AyHM zE(cPR4Ml|~*YjTm3WN$|GXez;3O)gHmI---IG==V5n(vlLc|OxmM_VHlWyKkxZIMmc84&T1~*gI~!L9&Xame2Y{4@*AnNS%Ii{oA{L-!*nF z%i6W*){@PuqvJ~dlzrZ}5ihu8ND#3O|XFgRw$Z2rh-&Bl0R zvo6O;W+3&QyBtVO&gXvt4B1gZtq%tS9Sg#^CC%~JLNrV9!jXD4iFKkKRfBX7qg*2 zd%SDW{keaYSr3~{_wpBI;qKZ#!RPh^HR(wc@9x`s^G2RvEra6pGk-pvHJ{*Dxvs6@ zeBuX*6A61}=e$=6uRH7KGLPA%)JZ#erjVW~zw?GkmrP|2dVf{y=kN_(dqBxk*YgmM z&L5|gMVGr)H%w|PIGDZl!Qb>3#y<7h2jq0Ex&o$~8W{S2dA{=f1GX87EeDUiXL{8- zV|9H}G5ZZwOV`ayjuq-0H+z1G&vcLN+qh4=S_>yG37!$>didp=!n5lp$KO8txbCz| zu<7bWRUYZ_+xKMssQqlW``?G%oVOikH~&0-EZp(p!S(fu`xuY{1sEPPCzp!wZ~n)q z%f=YGS%>2!Gm!emT@Ius=kdP)a>50&8G)R`f=__tM^WL;yM-)30$+q}IpG01*-FF= zC{`#U%lL3|zlf4NNG2-j+<_^~3=B2=3=9&$Acui%jY^X*h^PbA{}7S2dBe@XP?4iw zTvC~nTC7)*n-k#8$Rxr5jW(b$)4O)d902MS2F4grEgUp3rc4eLl>!=*BPz@2JGo0# e4#-{!Wbd4OTvQXt{s?5xo6Ik!#`Z!OqzwSt-p4Kg diff --git a/result/templates/student-wise/25021519-005.xlsx b/result/templates/student-wise/25021519-005.xlsx index c6e0cbdb05d43518f877e33e7c7b2400b9f2849c..d56ffee36b1c9cca2818bc2cf1f0256d32c6b407 100644 GIT binary patch delta 593 zcmdm^vs;Hdz?+#xgn@y9gW<+R?n8n%CTPa~4;G#B4k)C}#K0gpIZ#BT{_LdlUPlZB z+T&e|@|V{y*|2bS_ajfo0>_VHlWyKkxZIMmc84&T1~*gI~!L9&Xame2Y{4@*AnNS%Ii{oA{L-!*nF z%i6W*){@PuqvJ~dlzrZ}5ihu8ND#3O|XFgRw$Z2rh-&Bl0R zvo6O;W+3&QyBtVO&gXvt4B1gZtq%tS9Sg#^CC%~JLNrV9!jXn+a delta 532 zcmdn3vqy(Jz?+#xgn@y9gCTSx_aVX137WCF2NtTl2MTF3F)#>D4iFKkKRfBX7qg*2 zd%SDW{keaYSr3~{_wpBI;qKZ#!RPh^HR(wc@9x`s^G2RvEra6pGk-pvHJ{*Dxvs6@ zeBuX*6A61}=e$=6uRH7KGLPA%)JZ#erjVW~zw?GkmrP|2dVf{y=kN_(dqBxk*YgmM z&L5|gMVGr)H%w|PIGDZl!Qb>3#y<7h2jq0Ex&o$~8W{S2dA{=f1GX87EeDUiXL{8- zV|9H}G5ZZwOV`ayjuq-0H+z1G&vcLN+qh4=S_>yG37!$>didp=!n5lp$KO8txbCz| zu<7bWRUYZ_+xKMssQqlW``?G%oVOikH~&0-EZp(p!S(fu`xuY{1sEPPCzp!wZ~n)q z%f=YGS%>2!Gm!emT@Ius=kdP)a>50&8G)R`f=__tM^WL;yM-)30$+q}IpG01*-FF= zC{`#U%lL3|zlf4NNT#T6=I<%Y3=B2=3=9&$Acui%jY^X*h^PbA{}7S2dBe@XP?4iw zTvC~nTC7)*n-k#8$Rxr5jW(b$)4O)d902MS2F4grEgUp3rc4eLl>!=*BPz@2JGo0# e4#-{!Wbd4OTvQXt{s?5xo6Ik!#`Z!OqzwT3RmW%m diff --git a/result/templates/student-wise/25021520-001.xlsx b/result/templates/student-wise/25021520-001.xlsx index f18224963007c557f397c48a6beb30b8d4c78bd2..a597e907b84de420acd5f4482f287de0d41f0ffe 100644 GIT binary patch delta 522 zcmX@0vtNfhz?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6P3W+3&O zyBtVOF6Ms$Bnw4_H|GmPFant;1fKw9*9v)qI6sAL5n(vlUc^iu6rvFG7#QZLGcX7P z0~-b!7#~cYBBBJ;w_QY*Ns(i+9f#E944m7NW8;>HG`~@kOaQ z#rk?6GQgXWNrV9!aX{C|G6qcU7nK7lUI%3FnS4f66Kr$pgvv>hj0_CtnbB=tI9WtY JjqNqqIRH)n%?khk delta 542 zcmdn5b3lhXz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4Z8A$!& zE(cPRi}+svIne^yj6lwD!6!h@8X<2G=ZCN@BK#)XiI~ZQLKAEh8w0}}bp{4uU_iq_ z1LMQVlSPyiKx$^R2Rxd=%)n5?&%hu7Qvjs5H7apTw&jqT{9c3yXu%&5S;h~Or9@?b zY;#drnGB%v_@dODVtqXj8Q{&xB*FlV%*h3!vW$U~`$Xk{iq`_!dncb3)dagJbwcGN XNk#^S^FSL>U9@Pju$UU#8?Yb%2W-Xh diff --git a/result/templates/student-wise/25021520-002.xlsx b/result/templates/student-wise/25021520-002.xlsx index a023d40b6b14e17db04dc951a8aae7bfe96829fd..e28fe70fa2ac432c6f8e454cc0cf0e5e59b1b51f 100644 GIT binary patch delta 507 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 KQ)7Dzb`Ahkn8LFF diff --git a/result/templates/student-wise/25021520-005.xlsx b/result/templates/student-wise/25021520-005.xlsx index 49278a01ddba1969654e9fa65cd535231440fc20..8f662b4c59d266818136aea56d469dca9a1b6665 100644 GIT binary patch delta 507 zcmX@8b3lhXz?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6P3W+3&O zyBtVOF6Ms$x8^PoL|DWi13^2AYuj-D;JSvd@y;ch!T*!LqwKI zkz=wQhZJvsHzSh>12o(x{{t#|KUqdp2B^qVRMsk;pMfF1C^e^8Uk^m0CFC;oyTTFoMjW9?( E09q!>H2?qr delta 522 zcmX@0b5Msnz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4Z8A$!& zE(cPRi}+sv$wE=#&3OWmj6miI!6!i3wL;z?&QD=mL>NxC7cr9ug(%oKHU@?{>I@9R zz`%xq2F8bzr-^=%iCWm4jpY|9}v`GW`#P~fkKEaQjC(xNgzwuPvyOa?y#Lwr$c zPO-iohz#&%WD;S3MjX&JvW$U~`$gq|iq`?z`zD_e)dbs|I-zosBqIaEd1iE*7f%)u KQ)7Dzb`Ahkn8LFF diff --git a/result/templates/student-wise/25031519-001.xlsx b/result/templates/student-wise/25031519-001.xlsx index c8c30ea97808e76f77ddbaaf74333b6361bc8be8..b6acb66461fbee9d7cec5f26e5b34d1f53b060d6 100644 GIT binary patch delta 532 zcmbQCGhK%}z?+#xgn@y9gW<;Hi^9Sa<<@iFn4lT^KUj3iyNTBn>W>%*w8y&^MiQ`YTGiSe zTpA}^jpJ5}zPCR-Au)=PFQc%22}fxpv+!w``dRIA>l#?yBy#@fEr{#f`AglbykYL- zVw3EwS<8yDiuK+G9KL<|v3J~dgJcy;EuZy^9+rICkvje4`nPxgzH97UmbGiqttFdR zN5_@^Df_%{$G;D|xuTb!z4s^iarc5353lbRh(`(vU#&Jm>C#ifib`fj06~HU_8mqz)+E+UtCg|lUl4-k((3X&B!Fe z0E;OBQCUWZ$$FwvKqEbYY|Y8(qH+o#BUR*PFIo#U=LaJLgA~j>Al<+?MR4*)K^b0D TgU$gpS5AH-s>XI$7^E5iAxg`i delta 520 zcmbQPGed_vz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti!RK8Ax5> zE(21Nz4>1NIVJ*Gj6lwO!6!gYi;y>nb3xb^5q^`!M9hF7*0#U+(Fsl|E~xj6yej7%a7&{&$x zFDlFEI9XRz3TUJUkgYX2O;k<+WTcAR>_uyV=KNq}V32~D2c#PqrwUHqASg5WfG7`8 T(^;UVs>!cK)!2>*gH!omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6PSW*~Ky zy9`K878Dhp9M69hC}1j(%?K1&DEI`(X%q4WaV`nlBEoR8goqhX%wI&7@xkO=5hWmd z0+6jZd7X&54Jf2{6wYz>VP;^61;zj`FcM&(f$=0a14BiQesM` z12m?9j*w+^n5-`<1vJtN$kv>kAu0!CFBBA>JWG^|aq8ryqMAVdd7xa?Y&*2-o_JES7uIC{hoj*<~i!OJq zZkW_oa4>u8gTLu7jD55Z$m!Nwbp=c}H8Ax5@_gm{2W&GETMiz3&-AKw#_IZ{V)h%V zmadzZ94pj0Zua~VpXnakw{f3#wH8iX5`O`*!-E%f{ihBvku2{ zW*~Kiy9`K8_U3;97cm2h`H9FfKAfB*q6B33 z1KCQG*NUjyfI@jk;T&flW(I~>U<~jABLM~)7*BCCFjVB|7nfA#q!#N{omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6PSW*~Ky zy9`K878Dhp9M69hC}1j(%?K1&DEI`(X%q4WaV`nlBEoR8goqhX%wI&7@xkO=5hWmd z0+6jZd7X&54Jf2{6wYz>VP;^61;zj`FcM&(f$=0a14BiQesM` z12m?9j*w+^n5-`<1vJtN$kv>kAu0!CFBBA>JWG^|aq8ryqMAVdd7xa?Y&*2-o_JES7uIC{hoj*<~i!OJq zZkW_oa4>u8gTLu7jD55Z$m!Nwbp=c}H8Ax5@_gm{2W&GETMiz3&-AKw#_IZ{V)h%V zmadzZ94pj0Zua~VpXnakw{f3#wH8iX5`O`*!-E%f{ihBvku2{ zW*~Kiy9`K8_U3;97cm2h`H9FfKAfB*q6B33 z1KCQG*NUjyfI@jk;T&flW(I~>U<~jABLM~)7*BCCFjVB|7nfA#q!#N{W>%*w8y&^MiQ`YTGiSe zTpA}^jpJ5}zPCR-Au)=PFQc%22}fxpv+!w``dRIA>l#?yBy#@fEr{#f`AglbykYL- zVw3EwS<8yDiuK+G9KL<|v3J~dgJcy;EuZy^9+rICkvje4`nPxgzH97UmbGiqttFdR zN5_@^Df_%{$G;D|xuTb!z4s^iarc5353lbRh(`(vU#&Jm>C#ifib`fj06~HU_8Oiz)+E+UtCg|lUl4-k((3X&B!Fe z0E;OBQCUX&$$FwvKqEbYY>mn3qH+o#BUR*PFIo#U=LaJLgA~j>Al<+?MR4*)K^b0D TgU$gpS5AH-s>XI$7^E5i9g)kK delta 520 zcmbQPGed_vz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti!R48Ax5` zE(21Nz4%`MImQCnj6lwO!6!gYi;y>nb3xb^5q^`!M9hF7*0#U+(Fsl|E~xj6yej7%a7&{&$x zFDlFEFj-er3TUJUkgYj6O;k<+WTcAR>_uyV=KNq}V32~D2c#PqrwUHqASg5WfG7`8 T(^;UVs>!cK)!2>*gH!W>%*w8y&^MiQ`YTGiSe zTpA}^jpJ5}zPCR-Au)=PFQc%22}fxpv+!w``dRIA>l#?yBy#@fEr{#f`AglbykYL- zVw3EwS<8yDiuK+G9KL<|v3J~dgJcy;EuZy^9+rICkvje4`nPxgzH97UmbGiqttFdR zN5_@^Df_%{$G;D|xuTb!z4s^iarc5353lbRh(`(vU#&Jm>C#ifib`fj06~HU_8Oiz)+E+UtCg|lUl4-k((3X&B!Fe z0E;OBQCUX&$$FwvKqEbYY>mn3qH+o#BUR*PFIo#U=LaJLgA~j>Al<+?MR4*)K^b0D TgU$gpS5AH-s>XI$7^E5i9g)kK delta 520 zcmbQPGed_vz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti!R48Ax5` zE(21Nz4%`MImQCnj6lwO!6!gYi;y>nb3xb^5q^`!M9hF7*0#U+(Fsl|E~xj6yej7%a7&{&$x zFDlFEFj-er3TUJUkgYj6O;k<+WTcAR>_uyV=KNq}V32~D2c#PqrwUHqASg5WfG7`8 T(^;UVs>!cK)!2>*gH!omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6O~X2u(n z8AXLRi}56am=*jlfZ~Y)S&Tr=8Nnw&&PE|`5a+M3Eg}pjJByeB#i~SP86QlZA)*9i z?-r3|QskIy$05ZV;LXS+!T=3>py{%V-zUq9$^aGF0NFW{qeP{E>_h=!4`B3wK?7r` z00Tosj(&N5QFc;(ezsmkZVrkuK)0*N&0e$?sQd>b1A`P)BZz8XJTUo!s3y?JjY7hc TdBwOGmrj-tQ)7EC43Y%^B6`X! delta 535 zcmX@Cb3}(bz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4Y8Avhl zlmMy8<@_&zoCJX^Mj&USsPN=_f){}T8-%<;0)K>U5n(vlNyH2&Rw*LO_;B)c5hWmd zmxwHr631j)4k_LMZ$>5&258t%5|w5AFomqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6OKX2u(n z8AXLRi}ECbnC1L0fZ_=P*^EHW8Nnw&&PE|`5a+M3Eg}pjJByeB#i~SP86QlZA)*9i z?-r3|QskIy$05ZV;LXS+!T=3>py{%V-zLk8$^aGF0NL4-qeP`*K+$n3sI|?}b5%05K}e(EtDd delta 546 zcmX@Cb3}(bz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4I8Avhm zlmMy8W&AIIoOpq3Mj&USsPN=_f){}T8-%<;0)K>U5n(vlNyH2&Rw*LO_;B)c5hWmd zmxwHr631j)4k_LMZ$>5&258t%X5omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6OKX2u(n z8AXLRi}ECbnC1L0fZ_=P*^EHW8Nnw&&PE|`5a+M3Eg}pjJByeB#i~SP86QlZA)*9i z?-r3|QskIy$05ZV;LXS+!T=3>py{%V-zLk8$^aGF0NL4-qeP`*K+)kDyY`?xBLjmW z69WT3Fs5LjfiXmYfuSNtzdXMvJ1IXuTdyKF2gOjJW)->Fi`D{l`~Vst1=9(n8yF8v dz96azv}~i0@MK;wF2<#kCB)R&-V1{i0RS$Q%+3G+ delta 546 zcmX@Cb3}(bz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4I8Avhm zlmMy8W&AIIoOpq3Mj&USsPN=_f){}T8-%<;0)K>U5n(vlNyH2&Rw*LO_;B)c5hWmd zmxwHr631j)4k_LMZ$>5&258t%X5zPXRpjQNXa>4omhs@^ d^P-wSn|_MQGA$FDd{9VqvaXl_+XrEgK>%nI#Wnx{ diff --git a/result/templates/student-wise/26021519-004.xlsx b/result/templates/student-wise/26021519-004.xlsx index 2184a3a715ad8bb4bcd0dadae01822ad6e1f004e..b16e05b72e2a42197128569edbc4b0fc355fcce3 100644 GIT binary patch delta 538 zcmX@2b6AHvz?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6OKX2u(n z8AXLRi}ECbnC1L0fZ_=P*^EHW8Nnw&&PE|`5a+M3Eg}pjJByeB#i~SP86QlZA)*9i z?-r3|QskIy$05ZV;LXS+!T=3>py{%V-zLk8$^aGF0NL4-qeP`*K+)k;KfTDFk%7UG ziGhJ17*jCNz!)OHz)+E+U!Gr-os^%StyhtogJLL9vx?m8MQedNegF-Sg6Ra(4U7jS cUl7#?}b5%01i&fga7~l delta 546 zcmX@Cb3}(bz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4I8Avhm zlmMy8W&AIIoOpq3Mj&USsPN=_f){}T8-%<;0)K>U5n(vlNyH2&Rw*LO_;B)c5hWmd zmxwHr631j)4k_LMZ$>5&258t%X5omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6OaX2u(v zcuIie+69?6vaTt9W2;? z)Si)n!H|i80jLrV8W@8nPZX5{8nQuDmT}+YbE29+_7726ro}>&4+x1)))5n6dn*i5 F4*(wp$$|g? delta 507 zcmX@8b4Z6fz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4M8A$!- zE&)=LOZZ;^Ik5uSj6lvw!6!h@Iw5Zm=a;Z8BK#&hh?oJz%0*-uA5NYsq6B2`5Rqk4 z;+Sm9A;lZu&B!Fe01fxa|A30VPL>gs0V=W-m9@&^XJCjgO3f+O*8`C#ih+(hSg`-7 zJtG5yArk`wP$e8RFa}SaASwqmWWA^?omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6O~W+27P zQv#$WSMa|8auNly8G)R$f=_^)O+wxv&Oc#WMEFg15itXbRg1_nKA1dHLy zvJ(Y_JrF8F1sE7Aa`emdi?WmQ^Rx9Ta&yp)SCN~&Xf0634@L$CDVRIqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4YnK5)S zqp0v^QJzE)vz-40P&`2(n-R!4BlrZ!*(l@<;`|l1MTFsGXAv`?Se1w@%Xf06351;{3Fr7fUf$`Af c3!<7p%QgxLPv#ZlVq891LQIYAqcBJj09t**B>(^b diff --git a/result/templates/student-wise/26021520-002.xlsx b/result/templates/student-wise/26021520-002.xlsx index 14bf818415d61413b96e0bebc04390d80c41eaac..d679f753727ba609a37f58447f0838fe4bd77bf4 100644 GIT binary patch delta 554 zcmX@Ab3}(bz?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6OKW+27H zQv#$Wm-D{>auNh`7=fI#f=_^)O+wxv&Oc#WMEFg15itXbRg1_nKA1dHL0u}!N e8X$$D`QYS>qMAUIqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4I8Avhm zlmMy8W&AIIoOpp8Mj+>m;1eKcqmVa<^HAB91R0I3SWxc~qF diff --git a/result/templates/student-wise/26021520-003.xlsx b/result/templates/student-wise/26021520-003.xlsx index d449b423adbba84650281628a7d38e5dfca3a776..0ad2f8e19894e7e07cf0113bb9a615fa6f95b908 100644 GIT binary patch delta 534 zcmX@Cb4Z6fz?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6OaX2u(v zcuIie~k-Z4p5@*-69kS>HGww$ X6qRLKA~gA+kmzJxF#)!B!XSeH^JdQZ delta 507 zcmX@4b6AHvz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4M8A$!- zE&)=LOZZ;^Ik5scj6lvQ!6!h@dLeHR=eMveBK#&hikJb#Dnw)%A5NYoq6B2`6p>|8 z;+Sm9A;lZu&B!Fe01fxa|AC6WPL>sw0V=W*m9@&^XJCjgO3f+O*8`C#ih+)kwLAXU zfsuj1kcoi-s1gnu7=tHI6qN%SvO!dq@xbJBqMAVV4^dgBr9zVr2#HSC5ffm0FAP!- E0J;XhdjJ3c diff --git a/result/templates/student-wise/26021520-004.xlsx b/result/templates/student-wise/26021520-004.xlsx index e7c449970db2e4824f9bb0d86ffd9585c4a708b2..ddafb1c3aac455a62ba2a19aac6df54c6a8c23c7 100644 GIT binary patch delta 534 zcmX@Cb4Z6fz?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6OaX2u(v zcuIie~k-Z4p5@*-69I$4%+|K#(cnn0U= XipnxA5t@8ZNOZEUm;l>5VUR%p#I4SA delta 507 zcmX@4b6AHvz?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4M8A$!- zE&)=LOZZ;^Ik5scj6lvQ!6!h@dLeHR=eMveBK#&hikJb#Dnw)%A5NYoq6B2`6p>|8 z;+Sm9A;lZu&B!Fe01fxa|AC6WPL>sw0V=W*m9@&^XJCjgO3f+O*8`C#ih+(3lldFq zz{tR0$i%<^R0#(SjKPy9ipl{E*&r&*cwq85QB5HGho~&mQlZHQghVInhzYR07Y3;Z E0GMOG^#A|> diff --git a/result/templates/student-wise/26021520-005.xlsx b/result/templates/student-wise/26021520-005.xlsx index 74ac343db168bbb53ef7232bd6fd12787bea1578..5ab8794727179b1ea6be518599c66be1a93a5770 100644 GIT binary patch delta 554 zcmX@Ab3}(bz?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6OKW+27H zQv#$Wm-D{>auNh`7=fI#f=_^)O+wxv&Oc#WMEFg15itXbRg1_nKA1dHLIqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiy4I8Avhm zlmMy8W&AIIoOpp8Mj+>m;1eKcqmVa<^HFi`D{l`~Vst1=9(n8yF8wz96az Zv}~i0@MK;wF2?1PCB)R&J_>^r0RYT-!V3TZ diff --git a/result/templates/student-wise/26031519-001.xlsx b/result/templates/student-wise/26031519-001.xlsx index 9d6ebbadff893075dcde531afef5dfe89cecefe2..bdf79f1e19a1a7d55dba580121fd88fc2154c98b 100644 GIT binary patch delta 532 zcmbQCGhK%}z?+#xgn@y9gW<;Hi^9Sa<<@iFn4lT^KUj3iyNTBn>W>%*w8y&^MiQ`YTGiSe zTpA}^jpJ5}zPCR-Au)=PFQc%22}fxpv+!w``dRIA>l#?yBy#@fEr{#f`AglbykYL- zVw3EwS<8yDiuK+G9KL<|v3J~dgJcy;EuZy^9+rICkvje4`nPxgzH97UmbGiqttFdR zN5_@^Df_%{$G;D|xuTb!z4s^iarc5353lbRh(`(vUb znSs=G?h+t1*@yoHkYg&4#R%jq5PSmUvIqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti!RA8Ax5@ zE&)=Lz4>1NIVJ*Gj6lwO!6!gYi;y>nb3xb^5q^`!M9hF?U z7nNmnoUAJ<1vJtF$kv*iCMu@@GEzlu_M){wbAB)~Fi6471JVtQQw1k)5R{pGK$Hil S=`2uF)#TTrYHUY@L8<`7pui#k diff --git a/result/templates/student-wise/26031519-002.xlsx b/result/templates/student-wise/26031519-002.xlsx index a0dbe46efb4a16543be0666930618293701e336f..74f0b80bd4e45b554cb07da69d1d31069ecc02cf 100644 GIT binary patch delta 499 zcmbQKGed_vz?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6O@|gwj;tI F!vS@s$DRNH delta 532 zcmbQCGgF5Y&*2-o_JES7uIC{hoj*<~i!OJq zZkW_oa4>u8gTLu7jD55Z$m!Nwbp=c}H8Ax5@_gm{2W&GETMiz3&-AKw#_IZ{V)h%V zmadzZ94pj0Zua~VpXnakw{f3#wH8iX5`O`*!-E%f{ihBvku2f zW*~Kqy97v0_U3;97cm2h`H9FfKAfB*q6B33 z1KCQG*NUjyfI@ktPg9;3GXp~`Fa~&mkpKe?jAytR7%Fn~i%TkVQj7H}a&rQ_8JR>F zU@;{iD$D3NSx;07Xrw2Qtu;AaR89e8q>9|^MQefP{9t5Ykb;>9q#GEg2~OT9D8q|t T&^e&y>d9|J)!2>-gH!_myNbal diff --git a/result/templates/student-wise/26031519-003.xlsx b/result/templates/student-wise/26031519-003.xlsx index d05ddce2c715a9e5371f5124982f294e6fe98c76..da1beead845485d41fc00a223b4587b35beb1747 100644 GIT binary patch delta 532 zcmbQCGhK%}z?+#xgn@y9gW<;Hi^9Sa<<@iFn4lT^KUj3iyNTBn>W>%*w8y&^MiQ`YTGiSe zTpA}^jpJ5}zPCR-Au)=PFQc%22}fxpv+!w``dRIA>l#?yBy#@fEr{#f`AglbykYL- zVw3EwS<8yDiuK+G9KL<|v3J~dgJcy;EuZy^9+rICkvje4`nPxgzH97UmbGiqttFdR zN5_@^Df_%{$G;D|xuTb!z4s^iarc5353lbRh(`(vUb zn1R$a?h+t1*_;0bkYgf{%?RWy5PSmUvIqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti!Q_8Ax5_ zE&)=Lz4%`MImQCnj6lwO!6!gYi;y>nb3xb^5q^`!M9hF?U z7nNmnn5-)*1vJtF$kv>kCMu@@GEzlu_M){wbAB)~Fi6471JVtQQw1k)5R{pGK$Hil S=`2uF)#TTrYHUY@L8<`47r-0< diff --git a/result/templates/student-wise/26031519-004.xlsx b/result/templates/student-wise/26031519-004.xlsx index 869988ada58a1602745e63435a554d87382189ec..07e9230ad11e4e455afda2dc0baa3183955545ac 100644 GIT binary patch delta 532 zcmbQCGhK%}z?+#xgn@y9gW<;Hi^9Sa<<@iFn4lT^KUj3iyNTBn>W>%*w8y&^MiQ`YTGiSe zTpA}^jpJ5}zPCR-Au)=PFQc%22}fxpv+!w``dRIA>l#?yBy#@fEr{#f`AglbykYL- zVw3EwS<8yDiuK+G9KL<|v3J~dgJcy;EuZy^9+rICkvje4`nPxgzH97UmbGiqttFdR zN5_@^Df_%{$G;D|xuTb!z4s^iarc5353lbRh(`(vUb zn1R$a?h+t1*_;0bkYgf{%?RWy5PSmUvIqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti!Q_8Ax5_ zE&)=Lz4%`MImQCnj6lwO!6!gYi;y>nb3xb^5q^`!M9hF?U z7nNmnn5-)*1vJtF$kv>kCMu@@GEzlu_M){wbAB)~Fi6471JVtQQw1k)5R{pGK$Hil S=`2uF)#TTrYHUY@L8<`47r-0< diff --git a/result/templates/student-wise/26031519-005.xlsx b/result/templates/student-wise/26031519-005.xlsx index 3023bd4e97f8fb27c523c7d8abe92434bfd9c085..4becbc59b29228f40ac9fc67888b3f71a4ed1486 100644 GIT binary patch delta 495 zcmbQGGgF5omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9S@>s93D1b8zti7-H81n89MUAtut0OLoP ziGcyA77iL19VZ)zN&$`W7L{exnw%*r2V{2u+0!O36V(K=F96xqli!J|u^kl#X#)Un CWyj3` delta 499 zcmbQKGfRg%z?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3ti!R28Ax5{ zE&)=L1x1A?$MatW3YZFHGXez`3O)gH+JwA8oJ+#Ch%lTiAz}s;^B0k2d^kB*LmWF1MsCxx3xGcXzCdyu%4q|Mu?Rca5FPvUV-HwPf?^=(y59 zWuN!$`1fHqSM>6;_x>b5?q2ZX;r0Cj@kqe{41t+3bCdP8}PpXl7^zfn{@=D8G+0W!6!i3Tp@1|XQ!|&A`B=07dDdzg($>428KE63=G1+ zz=nYa#s`x_M3jK~%0*(2VQ%wu*bb<$3rDWqr0@4R8sB~zJ$-d`2_IebIc9#Hbs^*qF*^T#P=(dDky4U^gm z4rXtC@HhR1v5)ovIo*1zu7K&L28RA$p09lWfNe%%%fVysnO?QdSY4k~%zi`F(slEa zV}&}$&7NQ4Gu>nRHty4|*20NPf@j3J9)9_z@a($D@wd-Dt~>1#Y`S_;l}CE~_B~lY zYCqfU{`X-w=WWN?%|DMH3wOMDaDBbvJ_e+400zO#m^sPi*5R1V45UtQ zrva(S`us0|90`FuMj)qM@ClHUBjgR@>=3p^gx}%eZgyEfEomqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo6PVW+27N zQx2pi*Ydvra?%9y7=fItf=_^)T|(X<4x5NABK#)%h?vQPLK9*Z1H&A31_ohZK*K-- z0hg#O zP1Cz}%NzhI5@upx;6~Eaz*xx7zz|=Qnp3Q=2OFppiVe4roZ!DP81QTKRfBX7qg*2 zd%SDW{keaYSr3~{_wpBI;qKZ#!RPh^HR(wc@9x`s^G2RvEra6pGk-pvHJ{*Dxvs6@ zeBuX*6A61}=e$=6uRH7KGLPA%)JZ#erjVW~zw?GkmrP|2dVf{y=kN_(dqBxk*YgmM z&L5|gMVGr)H%w|PIGDZl!Qb>3#y<7h2jq0Ex&o$~8W{S2dA{=f1GX87EeDUiXL{8- zV|9H}G5ZZwOV`ayjuq-0H+z1G&vcLN+qh4=S_>yG37!$>didp=!n5lp$KO8txbCz| zu<7bWRUYZ_+xKMssQqlW``?G%oVOikH~&0-EZp(p!S(fu`xuY{1sEPPH@|1JVPg#4 ztiy4g8A!44lmn^BHT*AtoK%54Mj+>k;1eKcr;s;@!zyCS2@lB0-Xdo5Al}TFIm!ZT z3=DJB85o3t!3zToj1MO-5K#iF@oi%Gw}_d6VX+_sg9J{F9(h-!k}l{%qvk|ZMo!+D_FP~EomqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo1#gGmx6c zod%>Pv+}5q^`e3Y!7Nctm6wA57K~Q3A4kMP!*2 zIVRh2NNERnGct)VK*Jqq;ldvOP#b0j25Vsk23}xnz(51zq{$maWPqB_0S)>&`HhGa zkj*YCYyXI!fuSNtzdXMvJ1IXuTdyKF2i;H=x!H@>0!{kC$iN^4GZ9EPFa`-u&KH!K ZTrbK4G_6NemeG9jDp57IMxgBs3;>4-%m4rY delta 554 zcmcbreNCG?z?+#xgn@y9gCTSx_aV;E37WCF2NtTlpLk87p4m{KJ>IqG{@lOHtcT5} zd-;p9aCdE=;B)(dn)IZJclYhRc_UA-mO*j)nLnS-nosbnT-VlcKJkOZiG)3~bKWb3 z*PZoqnaAu>>ZF}KQ%KL0-+9BNOQtdhy}v5N>v@Pr=Z{m$qRU;Y8z!|C z9L(PO;BWd1V;}7Ua=P_aT>;Zg4GjIiJYV_#0o#nkmV?LMGrek^vARB~nEi&TrR(M; z#|m|hn?1k8XS&DsZQQ3_t%Vbp1kZ?bJ^b=b;n{VQ<8PmRTzA?f*mU)xDv$K|?R&C* z)PA{m!Hh*TcU}Fs3tiw^j45a3A zrva(SEc`EkoVWb>j6hDT;1eLnNyr<-=@Yg^gx};V!e&4*ZV_3=hm$o$lz?m>5m_cB zj>)zhQrZFDj7%a7&~OLZx3I@Q)P|XX!CIJsffpDXFwnp_dGZDk8KCB~K!biwek~#u z1BxQwpW7mw85tOinHU)OVTyrt1LI>Lw<1TsJijPADL+43uOc@G-7*!q*^AZ!75@Ml fAcdkicygksCeX5OQCUWd$ty+G*qVS2VqgFO05`-K diff --git a/result/templates/teacher-wise/1006.xlsx b/result/templates/teacher-wise/1006.xlsx index 13d983631fb0802bbf9435e38ec9099500540587..0c7a431d2ce8ebe57e5e402003bbe355e5268468 100644 GIT binary patch delta 499 zcmdm~y+fNjz?+#xgn@y9gW<+R?n9h6CTPa~4;G#BZsIkC`XdGc?eVTf`OE8omqPSs2Uq-4sL99r+9R<(8qm&VCf z>an=AX&vy%V+(fhb5nOq)tD%{_Wkr?;1OoW$jvYYsu!-(Q&1J z%0BPg@$bWKuIS}w@BK-B+`Zt%!|VG6;*o*@7y>h6<|qrWZT`w=&c=9Svo1$EGmx6f z9SWo-Zxj)p{EzP{P~ZxG4kJ*&QSb?nqbB4H;uHznBEoR;4q-E(*n44F#s`ymMU;SS z0})w9#mRmm>NcQ|uJ=9Eqs`2~AR)xSzzd877-(SZ7m)%Q`3lHBF_}YD4#;*C6rOA)%Ef3p*;P~%$j=v*Wt5uSE2_qp IA`CJd08{3#y;8yyG37!$>didp=!n5lp$KO8txbCz|u<7bWRUYZ_ z+xKMssQqlW``?G%oVOikH~&0-EZp(p!S(fu`xubI0vH4{W9BFeZ2rt>!NwT6S%)K? z8Awgx4h2$^U-7*FaxU}dFakLaf=_@PRUvN>r%>1y5q^`m3!4GO-U-VxKAg-Wq6B2? zi^wu6P4*R0w*iH6z3-tOZDs}r2_XgsUSK4^Km%hJHv>aOj(%}TWln0bUPW$BfHxzP z2m>spHUN!zF!`K_6wt_*K=#SW?4oiCAR|@eW-nR`H0K8+1A`RIJRse`XeKy0P*8>! U)u234Sw`u}J)&xCslp)D0Jzw|r2qf`