-- Dumping data for table `innodb_table_stats`
--

INSERT  IGNORE INTO `innodb_table_stats` VALUES ('RpgSeaonsAlpha_db','achievements','2026-01-31 13:36:12',2,1,1),('RpgSeaonsAlpha_db','admin_users','2026-01-25 22:28:57',0,1,1),('RpgSeaonsAlpha_db','announcement_deliveries','2026-02-14 12:06:07',12,1,2),('RpgSeaonsAlpha_db','announcement_reads','2026-02-02 23:17:10',0,1,1),('RpgSeaonsAlpha_db','announcements','2026-02-07 08:52:44',3,1,1),('RpgSeaonsAlpha_db','auth_throttle','2026-02-02 02:30:23',0,1,1),('RpgSeaonsAlpha_db','characters','2026-02-14 21:25:41',0,1,1),('RpgSeaonsAlpha_db','content_pages','2026-02-06 06:06:35',6,1,1),('RpgSeaonsAlpha_db','email_verification_tokens','2026-02-02 23:16:35',0,1,2),('RpgSeaonsAlpha_db','envokation_fragments','2026-02-17 01:33:26',60,1,3),('RpgSeaonsAlpha_db','envokation_recipe_requirements','2026-02-17 01:32:52',0,1,2),('RpgSeaonsAlpha_db','envokation_recipes','2026-02-17 01:33:16',40,1,3),('RpgSeaonsAlpha_db','envokation_study_sessions','2026-02-17 01:32:53',0,1,2),('RpgSeaonsAlpha_db','hotspots','2026-01-29 03:35:13',0,1,0),('RpgSeaonsAlpha_db','installs','2026-02-15 23:32:34',0,1,2),('RpgSeaonsAlpha_db','logs','2026-01-25 22:28:58',0,1,0),('RpgSeaonsAlpha_db','lore_entities','2026-04-22 19:32:31',8,1,0),('RpgSeaonsAlpha_db','password_reset_tokens','2026-02-02 23:16:51',0,1,2),('RpgSeaonsAlpha_db','patch_notes','2026-02-04 08:58:53',3,1,2),('RpgSeaonsAlpha_db','points_log','2026-01-31 13:10:02',0,1,3),('RpgSeaonsAlpha_db','rate_limits','2026-01-25 20:19:02',4,1,0),('RpgSeaonsAlpha_db','resonance_edges','2026-02-01 01:32:08',0,1,1),('RpgSeaonsAlpha_db','resonance_nodes','2026-02-02 01:42:48',3,1,1),('RpgSeaonsAlpha_db','resonance_paths','2026-02-02 01:37:01',44,4,1),('RpgSeaonsAlpha_db','roadmap_items','2026-02-22 16:08:43',7,1,2),('RpgSeaonsAlpha_db','settings','2026-01-25 22:28:59',2,1,1),('RpgSeaonsAlpha_db','site_pages','2026-02-06 05:07:30',11,1,2),('RpgSeaonsAlpha_db','site_settings','2026-02-03 07:27:42',3,1,0),('RpgSeaonsAlpha_db','site_updates_applied','2026-02-08 00:20:41',0,1,1),('RpgSeaonsAlpha_db','site_versions','2026-02-15 23:50:24',1,1,0),('RpgSeaonsAlpha_db','skill_edges','2026-01-31 21:59:26',8,1,2),('RpgSeaonsAlpha_db','skill_node_effects','2026-01-31 21:59:15',0,1,1),('RpgSeaonsAlpha_db','skill_nodes','2026-01-31 21:59:36',9,1,1),('RpgSeaonsAlpha_db','themes','2026-01-28 02:11:15',2,1,1),('RpgSeaonsAlpha_db','user_achievements','2026-02-02 09:24:57',2,1,2),('RpgSeaonsAlpha_db','user_character_skill_nodes','2026-02-14 22:37:55',0,1,3),('RpgSeaonsAlpha_db','user_character_skill_unlocks','2026-02-02 11:47:09',2,1,1),('RpgSeaonsAlpha_db','user_character_stats','2026-01-31 21:29:28',0,1,0),('RpgSeaonsAlpha_db','user_characters','2026-02-17 01:32:53',2,1,3),('RpgSeaonsAlpha_db','user_email_verifications','2026-02-03 09:15:35',0,1,2),('RpgSeaonsAlpha_db','user_envokations','2026-02-17 01:32:52',0,1,4),('RpgSeaonsAlpha_db','user_password_resets','2026-02-14 06:58:30',0,1,2),('RpgSeaonsAlpha_db','user_points','2026-02-09 02:53:12',3,1,0),('RpgSeaonsAlpha_db','user_points_ledger','2026-02-08 12:37:44',2,1,2),('RpgSeaonsAlpha_db','user_profile','2026-02-14 06:58:20',4,1,0),('RpgSeaonsAlpha_db','user_resonance_unlocks','2026-02-01 01:32:09',0,1,2),('RpgSeaonsAlpha_db','user_sessions','2026-02-17 02:41:22',103,4,2),('RpgSeaonsAlpha_db','user_skill_unlocks','2026-01-31 21:18:24',0,1,1),('RpgSeaonsAlpha_db','user_status','2026-02-14 18:03:23',4,1,0),('RpgSeaonsAlpha_db','user_vouchers','2026-02-09 03:03:09',1,1,4),('RpgSeaonsAlpha_db','users','2026-02-14 11:49:09',5,1,2),('RpgSeaonsAlpha_db','voucher_pool_items','2026-02-09 02:42:12',0,1,2),('RpgSeaonsAlpha_db','voucher_pools','2026-02-09 03:02:34',2,1,2),('RpgSeaonsAlpha_db','voucher_types','2026-02-08 22:33:56',2,1,2),('animemangastudio_db','ad_zones','2026-06-26 00:10:52',4,1,1),('animemangastudio_db','animation_episodes','2026-06-26 00:10:27',0,1,1),('animemangastudio_db','characters','2026-06-26 00:10:28',0,1,1),('animemangastudio_db','email_logs','2026-06-26 00:10:30',0,1,0),('animemangastudio_db','feedback','2026-06-26 00:10:29',0,1,4),('animemangastudio_db','manga_chapters','2026-06-27 12:16:01',0,1,1),('animemangastudio_db','manga_pages','2026-06-26 00:10:27',0,1,1),('animemangastudio_db','media','2026-06-27 12:07:22',0,1,0),('animemangastudio_db','media_library','2026-06-26 00:10:28',0,1,1),('animemangastudio_db','pages','2026-06-26 00:10:25',0,1,2),('animemangastudio_db','plugins','2026-06-26 00:10:29',0,1,1),('animemangastudio_db','posts','2026-06-26 00:10:25',0,1,2),('animemangastudio_db','project_support','2026-06-26 00:10:30',0,1,1),('animemangastudio_db','projects','2026-06-28 01:40:05',1,1,2),('animemangastudio_db','settings','2026-06-26 02:33:33',26,1,1),('animemangastudio_db','themes','2026-06-27 11:45:08',4,1,1),('animemangastudio_db','users','2026-06-26 00:10:23',0,1,2),('mysql','component','2026-06-03 06:38:54',0,1,0),('phpmyadmin','pma__bookmark','2025-11-14 07:41:36',0,1,0),('phpmyadmin','pma__central_columns','2025-11-14 07:41:42',0,1,0),('phpmyadmin','pma__column_info','2025-11-14 07:41:37',0,1,1),('phpmyadmin','pma__designer_settings','2025-11-14 07:41:43',0,1,0),('phpmyadmin','pma__export_templates','2025-11-14 07:41:43',0,1,1),('phpmyadmin','pma__favorite','2025-11-14 07:41:39',0,1,0),('phpmyadmin','pma__history','2025-11-14 07:41:37',0,1,1),('phpmyadmin','pma__navigationhiding','2025-11-14 07:41:42',0,1,0),('phpmyadmin','pma__pdf_pages','2025-11-14 07:41:38',0,1,1),('phpmyadmin','pma__recent','2025-11-14 07:41:38',0,1,0),('phpmyadmin','pma__relation','2025-11-14 07:41:40',0,1,1),('phpmyadmin','pma__savedsearches','2025-11-14 07:41:42',0,1,1),('phpmyadmin','pma__table_coords','2025-11-14 07:41:40',0,1,0),('phpmyadmin','pma__table_info','2025-11-14 07:41:40',0,1,0),('phpmyadmin','pma__table_uiprefs','2025-12-02 07:44:59',2,1,0),('phpmyadmin','pma__tracking','2025-11-14 07:41:40',0,1,0),('phpmyadmin','pma__userconfig','2025-11-14 07:41:41',0,1,0),('phpmyadmin','pma__usergroups','2025-11-14 07:41:41',0,1,0),('phpmyadmin','pma__users','2025-11-14 07:41:41',0,1,0),('repair_training_lab','academy_badges','2026-06-17 00:09:51',5,1,1),('repair_training_lab','ap_objectives','2026-06-17 00:10:01',6,1,0),('repair_training_lab','certificates','2026-06-14 12:13:20',0,1,1),('repair_training_lab','courses','2026-06-21 14:52:59',0,1,0),('repair_training_lab','interactive_events','2026-06-17 00:09:40',0,1,0),('repair_training_lab','lab_assignments','2026-06-21 15:36:16',8,1,1),('repair_training_lab','lab_submissions','2026-06-14 12:13:19',0,1,2),('repair_training_lab','lesson_ap_objectives','2026-06-17 00:09:40',0,1,1),('repair_training_lab','lesson_labs','2026-06-21 15:25:59',0,1,0),('repair_training_lab','lesson_quizzes','2026-06-21 17:49:07',72,4,0),('repair_training_lab','lesson_slides','2026-06-21 17:31:57',64,4,0),('repair_training_lab','lessons','2026-06-21 17:05:57',24,3,2),('repair_training_lab','modules','2026-06-15 11:00:42',32,1,0),('repair_training_lab','progress','2026-06-14 12:13:18',0,1,1),('repair_training_lab','quiz_attempts','2026-06-14 12:13:19',0,1,2),('repair_training_lab','quiz_questions','2026-06-21 16:57:12',24,1,1),('repair_training_lab','user_course_progress','2026-06-15 05:50:40',0,1,1),('repair_training_lab','user_lesson_progress','2026-06-21 15:25:49',0,1,1),('repair_training_lab','user_module_progress','2026-06-15 05:51:14',0,1,1),('repair_training_lab','user_quiz_attempts','2026-06-21 17:49:59',4,1,0),('repair_training_lab','user_slide_progress','2026-06-21 17:32:55',8,1,1),('repair_training_lab','users','2026-06-14 22:04:44',4,1,1),('repairstudio_db','blog_comments','2025-11-20 13:18:48',0,1,1),('repairstudio_db','blog_posts','2025-11-20 13:18:48',0,1,2),('repairstudio_db','pages','2025-11-20 13:18:47',0,1,2),('repairstudio_db','products','2025-11-20 16:40:37',0,1,0),('repairstudio_db','technicians','2025-11-20 13:18:46',0,1,1),('repairstudio_db','themes','2025-11-20 13:18:47',0,1,1),('repairstudio_db','tickets','2025-11-20 13:18:48',0,1,2),('repairstudio_db','users','2025-11-20 13:18:46',0,1,1),('studioexceliazer0_it','ad_zones','2026-07-05 12:20:18',5,1,1),('studioexceliazer0_it','ads','2026-07-05 12:20:08',0,1,3),('studioexceliazer0_it','chat_messages','2026-07-05 16:43:10',2,1,2),('studioexceliazer0_it','chat_rooms','2026-06-28 22:36:54',3,1,2),('studioexceliazer0_it','client_devices','2026-07-03 01:22:15',0,1,2),('studioexceliazer0_it','client_subscriptions','2026-06-28 22:36:21',0,1,2),('studioexceliazer0_it','computer_bids','2026-07-08 23:33:22',1,1,4),('studioexceliazer0_it','computer_inventory','2026-07-05 05:30:23',1,1,6),('studioexceliazer0_it','customer_terms_notices','2026-07-03 03:30:28',0,1,6),('studioexceliazer0_it','device_service_history','2026-07-03 01:22:16',0,1,5),('studioexceliazer0_it','email_logs','2026-06-28 23:39:23',2,1,0),('studioexceliazer0_it','invoices','2026-07-03 01:19:06',0,1,4),('studioexceliazer0_it','products_services','2026-07-04 14:41:53',9,1,1),('studioexceliazer0_it','service_agreements','2026-07-03 03:30:27',0,1,4),('studioexceliazer0_it','service_terms_changes','2026-07-03 03:30:27',0,1,3),('studioexceliazer0_it','settings','2026-07-05 05:30:24',30,1,1),('studioexceliazer0_it','subscription_plans','2026-06-28 22:36:24',3,1,1),('studioexceliazer0_it','themes','2026-06-28 22:36:24',0,1,1),('studioexceliazer0_it','ticket_replies','2026-06-28 22:36:22',0,1,2),('studioexceliazer0_it','tickets','2026-06-28 22:36:21',0,1,3),('studioexceliazer0_it','users','2026-06-28 23:39:23',2,1,1),('sys','sys_config','2025-11-12 00:54:50',6,1,0),('zpanelomega_db','blog_posts','2025-11-25 04:24:02',0,1,2),('zpanelomega_db','build_parts','2025-12-02 22:09:52',0,1,1),('zpanelomega_db','build_settings','2025-12-10 02:10:47',1,1,1),('zpanelomega_db','builds','2026-01-11 04:27:17',3,1,0),('zpanelomega_db','categories','2025-11-26 07:17:22',1,1,1),('zpanelomega_db','certificates','2025-11-26 07:10:23',0,1,1),('zpanelomega_db','certifications','2025-11-24 04:21:14',5,1,1),('zpanelomega_db','chat_messages','2026-01-07 00:45:58',0,1,0),('zpanelomega_db','chat_rooms','2025-11-28 19:08:52',0,1,1),('zpanelomega_db','comments','2025-11-25 04:16:05',0,1,2),('zpanelomega_db','customer_subscriptions','2026-04-01 00:41:22',0,1,2),('zpanelomega_db','customers','2026-01-20 03:50:07',2,1,0),('zpanelomega_db','editable_pages','2026-01-02 18:36:14',0,1,1),('zpanelomega_db','friends','2025-11-29 01:15:51',0,1,2),('zpanelomega_db','inquiries','2025-12-02 22:40:48',0,1,1),('zpanelomega_db','inquiry_messages','2025-12-02 22:40:49',0,1,1),('zpanelomega_db','messages','2026-01-11 19:11:15',35,1,2),('zpanelomega_db','password_resets','2026-01-13 05:49:13',0,1,0),('zpanelomega_db','plugin_twitch_channels','2026-01-14 13:01:52',4,1,0),('zpanelomega_db','plugin_twitch_videos','2026-01-15 12:07:21',9,1,0),('zpanelomega_db','plugins','2026-01-17 11:30:40',2,1,0),('zpanelomega_db','posts','2025-12-01 08:54:00',1,1,3),('zpanelomega_db','private_room_members','2026-01-11 21:21:31',6,1,1),('zpanelomega_db','products','2025-12-09 18:03:46',1916,21,0),('zpanelomega_db','profiles','2025-11-24 02:11:55',0,1,1),('zpanelomega_db','project_members','2026-01-11 21:38:14',0,1,1),('zpanelomega_db','project_parts','2026-01-13 05:43:44',6,1,1),('zpanelomega_db','projects','2026-01-11 21:39:28',0,1,0),('zpanelomega_db','remote_audit_logs','2026-05-24 01:39:16',0,1,2),('zpanelomega_db','remote_connections','2026-05-24 01:39:15',0,1,0),('zpanelomega_db','remote_screenshare_sessions','2026-05-24 01:46:14',0,1,4),('zpanelomega_db','remote_screenshare_signals','2026-05-24 01:46:14',0,1,1),('zpanelomega_db','remote_sessions','2026-05-24 01:39:16',0,1,5),('zpanelomega_db','room_members','2025-11-28 19:09:06',0,1,2),('zpanelomega_db','rooms','2026-01-11 21:21:44',4,1,0),('zpanelomega_db','sales_activity','2026-01-17 13:14:18',0,1,0),('zpanelomega_db','sales_inquiries','2026-01-08 06:08:59',14,1,0),('zpanelomega_db','sales_notes','2026-01-17 13:14:00',0,1,0),('zpanelomega_db','sales_queue','2026-01-23 00:06:15',0,1,0),('zpanelomega_db','services','2026-01-20 12:07:00',0,1,0),('zpanelomega_db','settings','2026-06-02 23:33:31',0,1,1),('zpanelomega_db','site_settings','2026-06-02 23:35:36',0,1,0),('zpanelomega_db','subscription_billing','2026-04-01 00:41:22',0,1,1),('zpanelomega_db','subscription_features','2026-04-01 00:41:33',6,1,1),('zpanelomega_db','subscription_plans','2026-04-01 00:41:22',3,1,0),('zpanelomega_db','system_versions','2026-01-18 14:03:51',0,1,0),('zpanelomega_db','task_comments','2026-01-11 21:38:15',0,1,0),('zpanelomega_db','tasks','2026-01-11 21:38:15',0,1,0),('zpanelomega_db','technician_certificates','2025-11-24 04:18:54',0,1,1),('zpanelomega_db','technician_certifications','2025-11-24 04:20:42',0,1,1),('zpanelomega_db','technician_events','2025-11-24 04:15:08',0,1,1),('zpanelomega_db','technicians','2025-11-24 04:26:36',0,1,2),('zpanelomega_db','themes','2026-03-28 16:04:34',13,1,1),('zpanelomega_db','ticket_comments','2025-12-01 00:45:49',0,1,2),('zpanelomega_db','ticket_replies','2026-01-10 01:50:36',0,1,2),('zpanelomega_db','tickets','2026-05-30 22:20:05',8,1,2),('zpanelomega_db','tos_acceptance','2026-01-20 12:07:38',0,1,1),('zpanelomega_db','tos_versions','2026-05-25 21:27:48',0,1,0),('zpanelomega_db','twitch_settings','2026-01-14 12:32:10',1,1,0),('zpanelomega_db','users','2026-01-20 03:49:57',7,1,1),('zpanelomega_db','vendor_sources','2025-12-02 23:08:39',0,1,0);

--
-- Table structure for table `password_history`
--

CREATE TABLE `password_history` (
  `Host` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
  `User` char(32) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `Password_timestamp` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
  `Password` text COLLATE utf8mb3_bin,
  PRIMARY KEY (`Host`,`User`,`Password_timestamp` DESC)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Password history for user accounts';

--
-- Dumping data for table `password_history`
--


--
-- Table structure for table `plugin`
--

CREATE TABLE `plugin` (
  `name` varchar(64) NOT NULL DEFAULT '',
  `dl` varchar(128) NOT NULL DEFAULT '',
  PRIMARY KEY (`name`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='MySQL plugins';

--
-- Dumping data for table `plugin`
--

INSERT INTO `plugin` VALUES ('auth_socket','auth_socket.so');

--
-- Table structure for table `procs_priv`
--

CREATE TABLE `procs_priv` (
  `Host` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
  `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `User` char(32) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `Routine_name` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '',
  `Routine_type` enum('FUNCTION','PROCEDURE') COLLATE utf8mb3_bin NOT NULL,
  `Grantor` varchar(288) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '',
  `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`Host`,`User`,`Db`,`Routine_name`,`Routine_type`),
  KEY `Grantor` (`Grantor`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Procedure privileges';

--
-- Dumping data for table `procs_priv`
--


--
-- Table structure for table `proxies_priv`
--

CREATE TABLE `proxies_priv` (
  `Host` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
  `User` char(32) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `Proxied_host` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
  `Proxied_user` char(32) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `With_grant` tinyint(1) NOT NULL DEFAULT '0',
  `Grantor` varchar(288) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`Host`,`User`,`Proxied_host`,`Proxied_user`),
  KEY `Grantor` (`Grantor`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='User proxy privileges';

--
-- Dumping data for table `proxies_priv`
--

INSERT INTO `proxies_priv` VALUES ('localhost','root','','',1,'boot@','2025-11-12 00:54:46');

--
-- Table structure for table `replication_asynchronous_connection_failover`
--

CREATE TABLE `replication_asynchronous_connection_failover` (
  `Channel_name` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT 'The replication channel name that connects source and replica.',
  `Host` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT 'The source hostname that the replica will attempt to switch over the replication connection to in case of a failure.',
  `Port` int unsigned NOT NULL COMMENT 'The source port that the replica will attempt to switch over the replication connection to in case of a failure.',
  `Network_namespace` char(64) NOT NULL COMMENT 'The source network namespace that the replica will attempt to switch over the replication connection to in case of a failure. If its value is empty, connections use the default (global) namespace.',
  `Weight` tinyint unsigned NOT NULL COMMENT 'The order in which the replica shall try to switch the connection over to when there are failures. Weight can be set to a number between 1 and 100, where 100 is the highest weight and 1 the lowest.',
  `Managed_name` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT 'The name of the group which this server belongs to.',
  PRIMARY KEY (`Channel_name`,`Host`,`Port`,`Network_namespace`,`Managed_name`),
  KEY `Channel_name` (`Channel_name`,`Managed_name`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='The source configuration details';

--
-- Dumping data for table `replication_asynchronous_connection_failover`
--


--
-- Table structure for table `replication_asynchronous_connection_failover_managed`
--

CREATE TABLE `replication_asynchronous_connection_failover_managed` (
  `Channel_name` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT 'The replication channel name that connects source and replica.',
  `Managed_name` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT 'The name of the source which needs to be managed.',
  `Managed_type` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT 'Determines the managed type.',
  `Configuration` json DEFAULT NULL COMMENT 'The data to help manage group. For Managed_type = GroupReplication, Configuration value should contain {"Primary_weight": 80, "Secondary_weight": 60}, so that it assigns weight=80 to PRIMARY of the group, and weight=60 for rest of the members in mysql.replication_asynchronous_connection_failover table.',
  PRIMARY KEY (`Channel_name`,`Managed_name`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='The managed source configuration details';

--
-- Dumping data for table `replication_asynchronous_connection_failover_managed`
--


--
-- Table structure for table `replication_group_configuration_version`
--

CREATE TABLE `replication_group_configuration_version` (
  `name` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT 'The configuration name.',
  `version` bigint unsigned NOT NULL COMMENT 'The version of the configuration name.',
  PRIMARY KEY (`name`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='The group configuration version.';

--
-- Dumping data for table `replication_group_configuration_version`
--

INSERT INTO `replication_group_configuration_version` VALUES ('replication_group_member_actions',1);

--
-- Table structure for table `replication_group_member_actions`
--

CREATE TABLE `replication_group_member_actions` (
  `name` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT 'The action name.',
  `event` char(64) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT 'The event that will trigger the action.',
  `enabled` tinyint(1) NOT NULL COMMENT 'Whether the action is enabled.',
  `type` char(64) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT 'The action type.',
  `priority` tinyint unsigned NOT NULL COMMENT 'The order on which the action will be run, value between 1 and 100, lower values first.',
  `error_handling` char(64) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT 'On errors during the action will be handled: IGNORE, CRITICAL.',
  PRIMARY KEY (`name`,`event`),
  KEY `event` (`event`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='The member actions configuration.';

--
-- Dumping data for table `replication_group_member_actions`
--

INSERT INTO `replication_group_member_actions` VALUES ('mysql_disable_super_read_only_if_primary','AFTER_PRIMARY_ELECTION',1,'INTERNAL',1,'IGNORE'),('mysql_start_failover_channels_if_primary','AFTER_PRIMARY_ELECTION',1,'INTERNAL',10,'CRITICAL');

--
-- Table structure for table `role_edges`
--

CREATE TABLE `role_edges` (
  `FROM_HOST` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
  `FROM_USER` char(32) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `TO_HOST` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
  `TO_USER` char(32) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `WITH_ADMIN_OPTION` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  PRIMARY KEY (`FROM_HOST`,`FROM_USER`,`TO_HOST`,`TO_USER`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Role hierarchy and role grants';

--
-- Dumping data for table `role_edges`
--


--
-- Table structure for table `server_cost`
--

CREATE TABLE `server_cost` (
  `cost_name` varchar(64) NOT NULL,
  `cost_value` float DEFAULT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `comment` varchar(1024) DEFAULT NULL,
  `default_value` float GENERATED ALWAYS AS ((case `cost_name` when _utf8mb3'disk_temptable_create_cost' then 20.0 when _utf8mb3'disk_temptable_row_cost' then 0.5 when _utf8mb3'key_compare_cost' then 0.05 when _utf8mb3'memory_temptable_create_cost' then 1.0 when _utf8mb3'memory_temptable_row_cost' then 0.1 when _utf8mb3'row_evaluate_cost' then 0.1 else NULL end)) VIRTUAL,
  PRIMARY KEY (`cost_name`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC;

--
-- Dumping data for table `server_cost`
--

INSERT INTO `server_cost` (`cost_name`, `cost_value`, `last_update`, `comment`) VALUES ('disk_temptable_create_cost',NULL,'2025-11-12 00:54:46',NULL),('disk_temptable_row_cost',NULL,'2025-11-12 00:54:46',NULL),('key_compare_cost',NULL,'2025-11-12 00:54:46',NULL),('memory_temptable_create_cost',NULL,'2025-11-12 00:54:46',NULL),('memory_temptable_row_cost',NULL,'2025-11-12 00:54:46',NULL),('row_evaluate_cost',NULL,'2025-11-12 00:54:46',NULL);

--
-- Table structure for table `servers`
--

CREATE TABLE `servers` (
  `Server_name` char(64) NOT NULL DEFAULT '',
  `Host` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
  `Db` char(64) NOT NULL DEFAULT '',
  `Username` char(64) NOT NULL DEFAULT '',
  `Password` char(64) NOT NULL DEFAULT '',
  `Port` int NOT NULL DEFAULT '0',
  `Socket` char(64) NOT NULL DEFAULT '',
  `Wrapper` char(64) NOT NULL DEFAULT '',
  `Owner` char(64) NOT NULL DEFAULT '',
  PRIMARY KEY (`Server_name`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='MySQL Foreign Servers table';

--
-- Dumping data for table `servers`
--


--
-- Table structure for table `slave_master_info`
--

CREATE TABLE IF NOT EXISTS `slave_master_info` (
  `Number_of_lines` int unsigned NOT NULL COMMENT 'Number of lines in the file.',
  `Master_log_name` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'The name of the master binary log currently being read from the master.',
  `Master_log_pos` bigint unsigned NOT NULL COMMENT 'The master log position of the last read event.',
  `Host` varchar(255) CHARACTER SET ascii COLLATE ascii_general_ci DEFAULT NULL COMMENT 'The host name of the source.',
  `User_name` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The user name used to connect to the master.',
  `User_password` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The password used to connect to the master.',
  `Port` int unsigned NOT NULL COMMENT 'The network port used to connect to the master.',
  `Connect_retry` int unsigned NOT NULL COMMENT 'The period (in seconds) that the slave will wait before trying to reconnect to the master.',
  `Enabled_ssl` tinyint(1) NOT NULL COMMENT 'Indicates whether the server supports SSL connections.',
  `Ssl_ca` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The file used for the Certificate Authority (CA) certificate.',
  `Ssl_capath` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The path to the Certificate Authority (CA) certificates.',
  `Ssl_cert` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The name of the SSL certificate file.',
  `Ssl_cipher` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The name of the cipher in use for the SSL connection.',
  `Ssl_key` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The name of the SSL key file.',
  `Ssl_verify_server_cert` tinyint(1) NOT NULL COMMENT 'Whether to verify the server certificate.',
  `Heartbeat` float NOT NULL,
  `Bind` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'Displays which interface is employed when connecting to the MySQL server',
  `Ignored_server_ids` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The number of server IDs to be ignored, followed by the actual server IDs',
  `Uuid` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The master server uuid.',
  `Retry_count` bigint unsigned NOT NULL COMMENT 'Number of reconnect attempts, to the master, before giving up.',
  `Ssl_crl` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The file used for the Certificate Revocation List (CRL)',
  `Ssl_crlpath` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The path used for Certificate Revocation List (CRL) files',
  `Enabled_auto_position` tinyint(1) NOT NULL COMMENT 'Indicates whether GTIDs will be used to retrieve events from the master.',
  `Channel_name` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT 'The channel on which the replica is connected to a source. Used in Multisource Replication',
  `Tls_version` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'Tls version',
  `Public_key_path` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The file containing public key of master server.',
  `Get_public_key` tinyint(1) NOT NULL COMMENT 'Preference to get public key from master.',
  `Network_namespace` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'Network namespace used for communication with the master server.',
  `Master_compression_algorithm` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'Compression algorithm supported for data transfer between source and replica.',
  `Master_zstd_compression_level` int unsigned NOT NULL COMMENT 'Compression level associated with zstd compression algorithm.',
  `Tls_ciphersuites` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'Ciphersuites used for TLS 1.3 communication with the master server.',
  `Source_connection_auto_failover` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Indicates whether the channel connection failover is enabled.',
  `Gtid_only` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Indicates if this channel only uses GTIDs and does not persist positions.',
  PRIMARY KEY (`Channel_name`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Master Information';

--
-- Table structure for table `slave_relay_log_info`
--

CREATE TABLE IF NOT EXISTS `slave_relay_log_info` (
  `Number_of_lines` int unsigned NOT NULL COMMENT 'Number of lines in the file or rows in the table. Used to version table definitions.',
  `Relay_log_name` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The name of the current relay log file.',
  `Relay_log_pos` bigint unsigned DEFAULT NULL COMMENT 'The relay log position of the last executed event.',
  `Master_log_name` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'The name of the master binary log file from which the events in the relay log file were read.',
  `Master_log_pos` bigint unsigned DEFAULT NULL COMMENT 'The master log position of the last executed event.',
  `Sql_delay` int DEFAULT NULL COMMENT 'The number of seconds that the slave must lag behind the master.',
  `Number_of_workers` int unsigned DEFAULT NULL,
  `Id` int unsigned DEFAULT NULL COMMENT 'Internal Id that uniquely identifies this record.',
  `Channel_name` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT 'The channel on which the replica is connected to a source. Used in Multisource Replication',
  `Privilege_checks_username` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'Username part of PRIVILEGE_CHECKS_USER.',
  `Privilege_checks_hostname` varchar(255) CHARACTER SET ascii COLLATE ascii_general_ci DEFAULT NULL COMMENT 'Hostname part of PRIVILEGE_CHECKS_USER.',
  `Require_row_format` tinyint(1) NOT NULL COMMENT 'Indicates whether the channel shall only accept row based events.',
  `Require_table_primary_key_check` enum('STREAM','ON','OFF','GENERATE') NOT NULL DEFAULT 'STREAM' COMMENT 'Indicates what is the channel policy regarding tables without primary keys on create and alter table queries',
  `Assign_gtids_to_anonymous_transactions_type` enum('OFF','LOCAL','UUID') NOT NULL DEFAULT 'OFF' COMMENT 'Indicates whether the channel will generate a new GTID for anonymous transactions. OFF means that anonymous transactions will remain anonymous. LOCAL means that anonymous transactions will be assigned a newly generated GTID based on server_uuid. UUID indicates that anonymous transactions will be assigned a newly generated GTID based on Assign_gtids_to_anonymous_transactions_value',
  `Assign_gtids_to_anonymous_transactions_value` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 'Indicates the UUID used while generating GTIDs for anonymous transactions',
  PRIMARY KEY (`Channel_name`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Relay Log Information';

--
-- Table structure for table `slave_worker_info`
--

CREATE TABLE `slave_worker_info` (
  `Id` int unsigned NOT NULL,
  `Relay_log_name` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
  `Relay_log_pos` bigint unsigned NOT NULL,
  `Master_log_name` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
  `Master_log_pos` bigint unsigned NOT NULL,
  `Checkpoint_relay_log_name` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
  `Checkpoint_relay_log_pos` bigint unsigned NOT NULL,
  `Checkpoint_master_log_name` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
  `Checkpoint_master_log_pos` bigint unsigned NOT NULL,
  `Checkpoint_seqno` int unsigned NOT NULL,
  `Checkpoint_group_size` int unsigned NOT NULL,
  `Checkpoint_group_bitmap` blob NOT NULL,
  `Channel_name` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT 'The channel on which the replica is connected to a source. Used in Multisource Replication',
  PRIMARY KEY (`Channel_name`,`Id`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Worker Information';

--
-- Dumping data for table `slave_worker_info`
--


--
-- Table structure for table `tables_priv`
--

CREATE TABLE `tables_priv` (
  `Host` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
  `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `User` char(32) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `Table_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `Grantor` varchar(288) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '',
  `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`Host`,`User`,`Db`,`Table_name`),
  KEY `Grantor` (`Grantor`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Table privileges';

--
-- Dumping data for table `tables_priv`
--

INSERT INTO `tables_priv` VALUES ('localhost','mysql','mysql.session','user','boot@','2025-11-12 00:54:48','Select',''),('localhost','sys','mysql.sys','sys_config','root@localhost','2025-11-12 00:54:49','Select','');

--
-- Table structure for table `time_zone`
--

CREATE TABLE `time_zone` (
  `Time_zone_id` int unsigned NOT NULL AUTO_INCREMENT,
  `Use_leap_seconds` enum('Y','N') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  PRIMARY KEY (`Time_zone_id`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Time zones';

--
-- Dumping data for table `time_zone`
--


--
-- Table structure for table `time_zone_leap_second`
--

CREATE TABLE `time_zone_leap_second` (
  `Transition_time` bigint NOT NULL,
  `Correction` int NOT NULL,
  PRIMARY KEY (`Transition_time`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Leap seconds information for time zones';

--
-- Dumping data for table `time_zone_leap_second`
--


--
-- Table structure for table `time_zone_name`
--

CREATE TABLE `time_zone_name` (
  `Name` char(64) NOT NULL,
  `Time_zone_id` int unsigned NOT NULL,
  PRIMARY KEY (`Name`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Time zone names';

--
-- Dumping data for table `time_zone_name`
--


--
-- Table structure for table `time_zone_transition`
--

CREATE TABLE `time_zone_transition` (
  `Time_zone_id` int unsigned NOT NULL,
  `Transition_time` bigint NOT NULL,
  `Transition_type_id` int unsigned NOT NULL,
  PRIMARY KEY (`Time_zone_id`,`Transition_time`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Time zone transitions';

--
-- Dumping data for table `time_zone_transition`
--


--
-- Table structure for table `time_zone_transition_type`
--

CREATE TABLE `time_zone_transition_type` (
  `Time_zone_id` int unsigned NOT NULL,
  `Transition_type_id` int unsigned NOT NULL,
  `Offset` int NOT NULL DEFAULT '0',
  `Is_DST` tinyint unsigned NOT NULL DEFAULT '0',
  `Abbreviation` char(8) NOT NULL DEFAULT '',
  PRIMARY KEY (`Time_zone_id`,`Transition_type_id`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Time zone transition types';

--
-- Dumping data for table `time_zone_transition_type`
--


--
-- Table structure for table `user`
--

CREATE TABLE `user` (
  `Host` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
  `User` char(32) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `Select_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Insert_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Update_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Delete_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Create_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Drop_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Reload_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Shutdown_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Process_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `File_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Grant_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `References_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Index_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Alter_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Show_db_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Super_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Execute_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Repl_client_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Create_view_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Show_view_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Create_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Create_user_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Event_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Trigger_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '',
  `ssl_cipher` blob NOT NULL,
  `x509_issuer` blob NOT NULL,
  `x509_subject` blob NOT NULL,
  `max_questions` int unsigned NOT NULL DEFAULT '0',
  `max_updates` int unsigned NOT NULL DEFAULT '0',
  `max_connections` int unsigned NOT NULL DEFAULT '0',
  `max_user_connections` int unsigned NOT NULL DEFAULT '0',
  `plugin` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT 'caching_sha2_password',
  `authentication_string` text COLLATE utf8mb3_bin,
  `password_expired` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `password_last_changed` timestamp NULL DEFAULT NULL,
  `password_lifetime` smallint unsigned DEFAULT NULL,
  `account_locked` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Create_role_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Drop_role_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Password_reuse_history` smallint unsigned DEFAULT NULL,
  `Password_reuse_time` smallint unsigned DEFAULT NULL,
  `Password_require_current` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `User_attributes` json DEFAULT NULL,
  PRIMARY KEY (`Host`,`User`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC COMMENT='Users and global privileges';

--
-- Dumping data for table `user`
--

INSERT INTO `user` VALUES ('localhost','admin','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'caching_sha2_password','$A$005$>V%y60.N<#3![HSncG30.nLq67yphgYrElKFa5O1NpIwV2nafuZE21P/6','N','2025-11-14 19:01:13',NULL,'N','Y','Y',NULL,NULL,NULL,NULL),('localhost','debian-sys-maint','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'caching_sha2_password','$A$005$TIdzB/3[M;vr*y> 1qb3mEPY4Odb/qjixhVsoiTgh3xsTeVGfcBwnzEIEdb3','N','2025-11-12 00:54:58',NULL,'N','Y','Y',NULL,NULL,NULL,NULL),('localhost','mysql.infoschema','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0,'caching_sha2_password','$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED','N','2025-11-12 00:54:49',NULL,'Y','N','N',NULL,NULL,NULL,NULL),('localhost','mysql.session','N','N','N','N','N','N','N','Y','N','N','N','N','N','N','N','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0,'caching_sha2_password','$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED','N','2025-11-12 00:54:48',NULL,'Y','N','N',NULL,NULL,NULL,NULL),('localhost','mysql.sys','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0,'caching_sha2_password','$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED','N','2025-11-12 00:54:49',NULL,'Y','N','N',NULL,NULL,NULL,NULL),('localhost','phpmyadmin','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0,'caching_sha2_password','$A$005$|,Y)&7Z4C=*,0Z>m0gFVi.8spWM4FoZ4be3F33CRS6dosA8HgeUFR7W7F/','N','2025-11-14 07:41:36',NULL,'N','N','N',NULL,NULL,NULL,NULL),('localhost','phpmyadminuser','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'caching_sha2_password','$A$005$`=A	v?=zuQfe\\CjjGDSVKk.TIK7ctS3NsBcnl2sNqOPLIw7wwDXIYyqy23','N','2026-06-28 22:32:17',NULL,'N','Y','Y',NULL,NULL,NULL,NULL),('localhost','root','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'auth_socket','','N','2025-11-12 00:54:46',NULL,'N','Y','Y',NULL,NULL,NULL,NULL),('localhost','sez0_it_user','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0,'caching_sha2_password','$A$005$S!e<Mv%\nhL_Q[_)4WR8GNZCwhiZ.7coFL1Tn93GCTfHonf5EiZN3EXdU.3','N','2026-06-28 22:35:14',NULL,'N','N','N',NULL,NULL,NULL,NULL),('localhost','studioadmin','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'caching_sha2_password','$A$005$HDiH%>;{HrKX D(liWdJ/U/g.9poXZwF02zngJVu/Lz1jT6cyv3uMtI/z22','N','2025-11-13 00:11:36',NULL,'N','Y','Y',NULL,NULL,NULL,NULL);

--
-- Dumping events for database 'mysql'
--

--
-- Dumping routines for database 'mysql'
--

--
-- Table structure for table `general_log`
--

CREATE TABLE IF NOT EXISTS `general_log` (
  `event_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
  `user_host` mediumtext NOT NULL,
  `thread_id` bigint unsigned NOT NULL,
  `server_id` int unsigned NOT NULL,
  `command_type` varchar(64) NOT NULL,
  `argument` mediumblob NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='General log';

--
-- Table structure for table `slow_log`
--

CREATE TABLE IF NOT EXISTS `slow_log` (
  `start_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
  `user_host` mediumtext NOT NULL,
  `query_time` time(6) NOT NULL,
  `lock_time` time(6) NOT NULL,
  `rows_sent` int NOT NULL,
  `rows_examined` int NOT NULL,
  `db` varchar(512) NOT NULL,
  `last_insert_id` int NOT NULL,
  `insert_id` int NOT NULL,
  `server_id` int unsigned NOT NULL,
  `sql_text` mediumblob NOT NULL,
  `thread_id` bigint unsigned NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log';

--
-- Current Database: `RpgSeaonsAlpha_db`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `RpgSeaonsAlpha_db` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;

USE `RpgSeaonsAlpha_db`;

--
-- Table structure for table `achievements`
--

CREATE TABLE `achievements` (
  `id` int NOT NULL AUTO_INCREMENT,
  `code` varchar(64) NOT NULL,
  `name` varchar(120) NOT NULL,
  `description` text,
  `points` int NOT NULL DEFAULT '0',
  `icon_path` varchar(255) DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `achievements`
--

INSERT INTO `achievements` VALUES (1,'Opening_the_book','Opening_the_book','Earned for createing an account for the first time welcome!',60,NULL,1,'2026-01-31 13:31:58'),(2,'First_Echo','First_Echo','Interacted with your first echo of another world/time',10,NULL,1,'2026-01-31 13:36:12'),(3,'those_that_watch','those_that_watch','earned for alerting Teshia Rothaman Envala shadow guards...',105,NULL,1,'2026-02-02 09:24:26');

--
-- Table structure for table `admin_users`
--

CREATE TABLE `admin_users` (
  `id` int NOT NULL AUTO_INCREMENT,
  `username` varchar(64) NOT NULL,
  `password_hash` varchar(255) NOT NULL,
  `role` enum('admin','editor') NOT NULL DEFAULT 'admin',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `admin_users`
--

INSERT INTO `admin_users` VALUES (1,'admin','JollyERoger@84','admin','2026-01-25 22:37:14');

--
-- Table structure for table `announcement_deliveries`
--

CREATE TABLE `announcement_deliveries` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `announcement_id` bigint unsigned NOT NULL,
  `user_id` bigint unsigned NOT NULL,
  `error` text,
  `sent_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `status` varchar(20) NOT NULL DEFAULT 'pending',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_announce_user` (`announcement_id`,`user_id`),
  KEY `fk_deliv_user` (`user_id`),
  CONSTRAINT `fk_deliv_announce` FOREIGN KEY (`announcement_id`) REFERENCES `announcements` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_deliv_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `announcement_deliveries`
--

INSERT INTO `announcement_deliveries` VALUES (7,1,1,'SMTP Error: Could not authenticate.','2026-02-07 08:28:27','error'),(8,1,2,'SMTP Error: Could not authenticate.','2026-02-07 08:28:28','error'),(12,1,6,'SMTP Error: Could not authenticate.','2026-02-07 08:28:30','error'),(13,2,1,NULL,'2026-02-07 08:48:17','sent'),(14,2,2,NULL,'2026-02-07 08:48:18','sent'),(18,2,6,NULL,'2026-02-07 08:48:22','sent'),(19,3,1,NULL,'2026-02-07 08:52:53','sent'),(20,3,2,NULL,'2026-02-07 08:52:54','sent'),(22,3,6,NULL,'2026-02-07 08:52:57','sent'),(23,4,1,NULL,'2026-02-14 12:06:05','sent'),(24,4,2,NULL,'2026-02-14 12:06:06','sent'),(25,4,6,NULL,'2026-02-14 12:06:07','sent'),(26,4,7,NULL,'2026-02-14 12:06:08','sent'),(27,4,9,NULL,'2026-02-14 12:06:10','sent');

--
-- Table structure for table `announcement_reads`
--

CREATE TABLE `announcement_reads` (
  `announcement_id` bigint unsigned NOT NULL,
  `user_id` bigint unsigned NOT NULL,
  `read_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`announcement_id`,`user_id`),
  KEY `idx_ar_user` (`user_id`),
  CONSTRAINT `fk_ar_ann` FOREIGN KEY (`announcement_id`) REFERENCES `announcements` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_ar_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `announcement_reads`
--


--
-- Table structure for table `announcements`
--

CREATE TABLE `announcements` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(160) NOT NULL,
  `body` mediumtext NOT NULL,
  `is_published` tinyint(1) NOT NULL DEFAULT '0',
  `published_at` datetime DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `starts_at` datetime DEFAULT NULL,
  `ends_at` datetime DEFAULT NULL,
  `created_by` bigint unsigned DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_ann_pub` (`is_published`,`published_at`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `announcements`
--

INSERT INTO `announcements` VALUES (1,'Security Team removed bad user accounts','Security Team removed bad user accounts',0,NULL,'2026-02-07 07:28:16',1,'2026-02-07 02:28:00','2026-02-14 02:28:00',1),(2,'test','test',0,NULL,'2026-02-07 08:47:59',1,'2026-02-07 03:47:00','2026-02-08 03:47:00',1),(3,'Security Team removed bad user accounts','Security Team removed bad user accounts',0,NULL,'2026-02-07 08:52:44',1,'2026-02-07 03:52:00','2026-02-07 03:55:00',1),(4,'Security-Account-Verification','account verification update 98% completed. Currently admin must approve any registered accounts once verified by email.',0,NULL,'2026-02-14 12:05:47',1,'2026-02-14 07:04:00','2026-02-21 07:04:00',1);

--
-- Table structure for table `auth_throttle`
--

CREATE TABLE `auth_throttle` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `action` varchar(32) NOT NULL,
  `ip_hash` char(64) NOT NULL,
  `identity_hash` char(64) DEFAULT NULL,
  `attempts` int NOT NULL DEFAULT '0',
  `locked_until` datetime DEFAULT NULL,
  `last_attempt_at` datetime NOT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_action_ip_ident` (`action`,`ip_hash`,`identity_hash`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `auth_throttle`
--


--
-- Table structure for table `characters`
--

CREATE TABLE `characters` (
  `id` int NOT NULL AUTO_INCREMENT,
  `slug` varchar(80) NOT NULL,
  `name` varchar(120) NOT NULL,
  `bio` text,
  `portrait_url` varchar(255) DEFAULT NULL,
  `base_hp` int NOT NULL DEFAULT '100',
  `base_mp` int NOT NULL DEFAULT '30',
  `base_atk` int NOT NULL DEFAULT '10',
  `base_def` int NOT NULL DEFAULT '10',
  `base_agi` int NOT NULL DEFAULT '10',
  `base_luck` int NOT NULL DEFAULT '10',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `base_alignment` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`),
  UNIQUE KEY `uniq_characters_slug` (`slug`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `characters`
--

INSERT INTO `characters` VALUES (1,'echo_vallerie_initiate','echo_vallerie','From another facet of fate and reality she stood beside her friends as they lost a great battle however she herself was not giving up; now in this era she has gained more than she has ever lost and brings a stead fast aura.','',100,30,10,10,10,10,1,'2026-02-01 22:05:39',0),(2,'forge_guard_shield_type','Forge Shield Guard','','',200,20,15,50,9,10,1,'2026-02-14 21:34:17',0);

--
-- Table structure for table `content_pages`
--

CREATE TABLE `content_pages` (
  `id` int NOT NULL AUTO_INCREMENT,
  `slug` varchar(80) NOT NULL,
  `title` varchar(160) NOT NULL,
  `content` mediumtext,
  `is_published` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `content_pages`
--

INSERT INTO `content_pages` VALUES (1,'features','Features','      <h2>World Systems</h2>\r\n      <p>Echoes, balance, corruption, and the Resonance Tree shape every run.</p>\r\n      <ul>\r\n        <li>Branching lore and character incarnations</li>\r\n        <li>Two-sided tree progression (light/abyss)</li>\r\n        <li>Secrets and long-form discovery</li>\r\n      </ul>\r\n\r\n      <h2>Community & Events</h2>\r\n      <p>Participation can grant points, unlock quests, and reveal new echoes.</p>\r\n\r\n      <h2>Device Integration (Optional)</h2>\r\n      <p>ESP32 companions can unlock dungeons, puzzles, quests, and spell grammar inputs.</p>\r\n    ',1,'2026-01-31 18:23:24','2026-02-06 06:00:30'),(2,'world','World','<h2>World</h2><p>glossary\r\n\r\nKasavan: any people from desert region descendant \r\nGeesian: any people of Caucasian  descendant.\r\nSpesic: Hispanic origin\r\nMontuni: Forest people descendant\r\nHasa: Tropics descendant \r\nElf: Elf race\r\nDwarves: not necessarily a race but people born of much shorter stature than normal.\r\n</p><br>\r\n<h1>Atlier City Region( North South East and West):</h1><br><br><br>\r\n\r\nAtlier city governed by The holy church who serve to bring light into the darkness of others lives and their own. This Section is strictly under the Pope and Cardinal all other sections report here. <br><br>\r\nEastern Atlier: Govered by De Atlier LeCeon VII and De Atlier Monta II along with the sanctuary of priests and preistesses',1,'2026-01-31 18:48:29','2026-04-22 19:51:27'),(5,'terms','Terms of Service','    <h2 style=\"margin:0 0 10px;\">Terms of Service</h2>\r\n    <p class=\"muted\" style=\"margin:0 0 14px;\">\r\n      Effective date: \r\n    </p>\r\n\r\n    \r\n      <p>\r\n        These Terms govern your access to and use of <strong></strong> (“Service”).\r\n        By using the Service, you agree to these Terms.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Accounts</h3>\r\n      <ul>\r\n        <li>You are responsible for maintaining the confidentiality of your credentials.</li>\r\n        <li>You agree not to share or sell accounts, or attempt to access accounts you don’t own.</li>\r\n        <li>We may suspend accounts for abuse, fraud, or violations of these Terms.</li>\r\n      </ul>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Community rules</h3>\r\n      <ul>\r\n        <li>No harassment, hate speech, threats, or doxxing.</li>\r\n        <li>No spam, automation abuse, or malicious linking.</li>\r\n        <li>No cheating, exploits, or attempts to bypass security.</li>\r\n      </ul>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Game content & rewards</h3>\r\n      <ul>\r\n        <li>Points, achievements, and rewards are subject to change for balance and fairness.</li>\r\n        <li>We may reset or adjust progression if required to address exploits or bugs.</li>\r\n        <li>Optional companion device features may be updated, limited, or discontinued.</li>\r\n      </ul>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Purchases (if enabled)</h3>\r\n      <p>\r\n        If you enable purchases later, you agree that digital items may not be refundable except where required by law.\r\n        We will present purchase terms at checkout.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Intellectual property</h3>\r\n      <p>\r\n        The Service, including artwork, code, design, and story content, is owned by us or our licensors.\r\n        You may not copy, distribute, or reverse engineer the Service except where permitted by law.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">User-generated content</h3>\r\n      <p>\r\n        If you submit content (chat, feedback, custom spell names, etc.), you grant us a non-exclusive license to use it\r\n        to operate and improve the Service. You are responsible for ensuring you have rights to what you submit.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Disclaimers</h3>\r\n      <p>\r\n        The Service is provided “as is” without warranties of any kind. We do not guarantee uninterrupted or error-free operation.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Limitation of liability</h3>\r\n      <p>\r\n        To the fullest extent permitted by law, we are not liable for indirect, incidental, special, consequential, or punitive\r\n        damages arising from your use of the Service.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Termination</h3>\r\n      <p>\r\n        We may suspend or terminate access to the Service at any time for violations of these Terms or to protect the Service.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Changes</h3>\r\n      <p>\r\n        We may update these Terms. Continued use after changes means you accept the updated Terms.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Contact</h3>\r\n      <p>\r\n        Contact us at: <strong>studio&excelia&zero@&gmail&.&com</strong> .(email is coded for bot protection)\r\n      </p>\r\n    \r\n  ',1,'2026-01-31 20:43:26','2026-02-14 22:20:17'),(6,'privacy','Privacy Policy','    <h2 style=\"margin:0 0 10px;\">Privacy Policy</h2>\r\n    <p class=\"muted\" style=\"margin:0 0 14px;\">\r\n      Effective date: \r\n    </p>\r\n\r\n    \r\n      <p>\r\n        This Privacy Policy explains how <strong></strong> (“we”, “us”) collects, uses,\r\n        and protects information when you use our website, game services, and community features.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Information we collect</h3>\r\n      <ul>\r\n        <li><strong>Account info:</strong> username, email address, password hash (never your raw password).</li>\r\n        <li><strong>Session/auth data:</strong> login tokens (stored as hashes), session expiry, and optional hashes of IP/user-agent.</li>\r\n        <li><strong>Gameplay/community data:</strong> participation points, achievements, progression flags (as enabled).</li>\r\n        <li><strong>Support communications:</strong> information you send us if you contact support.</li>\r\n      </ul>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">How we use information</h3>\r\n      <ul>\r\n        <li>To create and manage accounts, sign-in sessions, and role-based access.</li>\r\n        <li>To operate game/community features (points, rewards, achievements, event participation).</li>\r\n        <li>To prevent abuse and secure the platform (rate limits, fraud prevention, security auditing).</li>\r\n        <li>To communicate service updates and respond to support requests.</li>\r\n      </ul>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Cookies & local storage</h3>\r\n      <p>\r\n        We use cookies/session storage necessary for authentication and basic site functionality.\r\n        We do not sell personal information.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Sharing</h3>\r\n      <p>\r\n        We do not sell your personal data. We may share information only when required to operate the service\r\n        (e.g., hosting/security providers) or when required by law.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Data retention</h3>\r\n      <p>\r\n        We retain account and gameplay/community data as long as your account remains active or as needed to provide\r\n        the service. You may request deletion, subject to legitimate interests (security logs, legal obligations).\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Security</h3>\r\n      <p>\r\n        We use reasonable measures to protect information, including hashed passwords, hashed session tokens, and\r\n        access control. No system is 100% secure; use strong passwords and keep them private.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Your choices</h3>\r\n      <ul>\r\n        <li>You can update account details (where enabled) and log out to end sessions.</li>\r\n        <li>You can request access or deletion of your data by contacting us.</li>\r\n      </ul>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Children</h3>\r\n      <p>\r\n        This service is not directed to children under 13. If you believe a child has provided personal data, contact us.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Changes</h3>\r\n      <p>\r\n        We may update this policy. If changes are material, we’ll provide a notice on the site.\r\n      </p>\r\n\r\n      <h3 style=\"margin:16px 0 8px;color:rgba(233,238,252,.92);font-size:13px;\">Contact</h3>\r\n      <p>\r\n        Contact us at: <strong>support@exodusblue.com</strong> (replace with your preferred address).\r\n      </p>\r\n    \r\n  ',0,'2026-01-31 20:43:30','2026-02-05 11:18:53'),(17,'factions','Factions','<p>New page. Edit me.</p>',1,'2026-02-06 05:33:51','2026-02-06 05:34:10'),(25,'skill-tree','skill-tree','',1,'2026-02-06 06:06:35','2026-02-07 07:22:56'),(27,'echoartifact','Echoartifact','<p>Echo Artifact EP32 Peripheral </p>',1,'2026-02-06 06:08:34','2026-02-06 06:13:47');

--
-- Table structure for table `email_verification_tokens`
--

CREATE TABLE `email_verification_tokens` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned NOT NULL,
  `token_hash` char(64) NOT NULL,
  `expires_at` datetime NOT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_evt_user` (`user_id`),
  KEY `idx_evt_token` (`token_hash`),
  CONSTRAINT `fk_evt_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `email_verification_tokens`
--


--
-- Table structure for table `envokation_fragments`
--

CREATE TABLE `envokation_fragments` (
  `id` int NOT NULL AUTO_INCREMENT,
  `fragment_type` enum('core','element','form','modifier','binding') NOT NULL,
  `slug` varchar(80) NOT NULL,
  `name` varchar(120) NOT NULL,
  `description` text,
  `glyph` varchar(64) DEFAULT NULL,
  `power` int NOT NULL DEFAULT '0',
  `cost` int NOT NULL DEFAULT '0',
  `instability` int NOT NULL DEFAULT '0',
  `mastery_required` int NOT NULL DEFAULT '0',
  `meta_json` json DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_frag_slug` (`slug`),
  KEY `idx_frag_type` (`fragment_type`),
  KEY `idx_frag_active` (`is_active`)
) ENGINE=InnoDB AUTO_INCREMENT=62 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `envokation_fragments`
--

INSERT INTO `envokation_fragments` VALUES (1,'core','ink_pulse','Ink Pulse','A heartbeat of sigils that carries intent through the air.','glyph_01.png',6,3,1,0,NULL,1,'2026-02-17 01:33:06'),(2,'core','veil','Veil','A soft fold of perception; hides, mutes, blurs.','glyph_02.svg',2,2,0,0,NULL,1,'2026-02-17 01:33:06'),(3,'core','rift','Rift','A tear of distance; opens paths and shortens space.','glyph_03.svg',5,5,3,10,NULL,1,'2026-02-17 01:33:06'),(4,'core','sigil','Sigil','A written anchor that persists and repeats.','glyph_04.svg',3,2,1,5,NULL,1,'2026-02-17 01:33:06'),(5,'core','lance','Lance','A focused thrust of force, precise and fast.','glyph_05.svg',7,3,1,0,NULL,1,'2026-02-17 01:33:06'),(6,'core','chorus','Chorus','A sympathetic resonance; buffs and harmonizes.','glyph_06.svg',2,3,0,5,NULL,1,'2026-02-17 01:33:06'),(7,'core','ward','Ward','A geometric refusal; blocks and deflects.','glyph_07.svg',1,3,0,0,NULL,1,'2026-02-17 01:33:06'),(8,'core','brand','Brand','A mark that clings; amplifies subsequent effects.','glyph_08.svg',3,3,1,5,NULL,1,'2026-02-17 01:33:06'),(9,'core','graft','Graft','A stitch of living change; heals, mutates, sustains.','glyph_09.svg',2,4,2,10,NULL,1,'2026-02-17 01:33:06'),(10,'core','echo','Echo','Repetition and afterimage; doubles, delays, mimics.','glyph_10.svg',3,3,2,10,NULL,1,'2026-02-17 01:33:06'),(11,'core','harrow','Harrow','A jagged curse; drains and destabilizes.','glyph_11.svg',6,4,3,10,NULL,1,'2026-02-17 01:33:06'),(12,'core','sanctum','Sanctum','A boundary of calm; cleanses, protects, steadies.','glyph_12.svg',2,4,0,10,NULL,1,'2026-02-17 01:33:06'),(13,'element','wind','Wind','Motion, lift, whispering paths.','glyph_13.svg',2,1,0,0,NULL,1,'2026-02-17 01:33:06'),(14,'element','water','Water','Flow, memory, passage across thresholds.','glyph_14.svg',1,1,0,0,NULL,1,'2026-02-17 01:33:06'),(15,'element','fire','Fire','Heat, hunger, acceleration.','glyph_15.svg',3,2,1,0,NULL,1,'2026-02-17 01:33:06'),(16,'element','earth','Earth','Weight, shelter, endurance.','glyph_16.svg',1,2,0,0,NULL,1,'2026-02-17 01:33:06'),(17,'element','light','Light','Truth, warmth, cleansing clarity.','glyph_17.svg',2,2,0,5,NULL,1,'2026-02-17 01:33:06'),(18,'element','dark','Dark','Silence, shade, soft erasure.','glyph_18.svg',2,2,1,5,NULL,1,'2026-02-17 01:33:06'),(19,'element','storm','Storm','Violent wind-light; burst and stun.','glyph_19.svg',4,3,2,10,NULL,1,'2026-02-17 01:33:06'),(20,'element','frost','Frost','Stillness, slow, brittle edges.','glyph_20.svg',2,2,1,5,NULL,1,'2026-02-17 01:33:06'),(21,'element','metal','Metal','Keenness, resonance, armor-splitting.','glyph_01.svg',3,2,1,10,NULL,1,'2026-02-17 01:33:06'),(22,'element','void','Void','Absence, severance, impossible angles.','glyph_02.svg',4,4,3,20,NULL,1,'2026-02-17 01:33:06'),(23,'form','self','Self','Bind the effect to the caster.','glyph_03.svg',0,0,0,0,NULL,1,'2026-02-17 01:33:06'),(24,'form','touch','Touch','Deliver through contact.','glyph_04.svg',1,0,0,0,NULL,1,'2026-02-17 01:33:06'),(25,'form','bolt','Bolt','A fast projectile with low spread.','glyph_05.svg',1,1,0,0,NULL,1,'2026-02-17 01:33:06'),(26,'form','line','Line','A straight path; pierces in sequence.','glyph_06.svg',2,1,1,5,NULL,1,'2026-02-17 01:33:06'),(27,'form','cone','Cone','A widening sweep in front.','glyph_07.svg',2,2,1,5,NULL,1,'2026-02-17 01:33:06'),(28,'form','sphere','Sphere','A centered burst around a point.','glyph_08.svg',3,2,2,10,NULL,1,'2026-02-17 01:33:06'),(29,'form','field','Field','A lingering zone that alters space.','glyph_09.svg',1,3,2,10,NULL,1,'2026-02-17 01:33:06'),(30,'form','glyphfield','Glyphfield','A placed rune that triggers or persists.','glyph_10.svg',0,3,1,10,NULL,1,'2026-02-17 01:33:06'),(31,'form','chain','Chain','Leaps between targets or anchors.','glyph_11.svg',2,2,2,10,NULL,1,'2026-02-17 01:33:06'),(32,'form','ritual','Ritual','Long-cast, high-impact, world-scale.','glyph_12.svg',0,5,3,20,NULL,1,'2026-02-17 01:33:06'),(33,'modifier','sustained','Sustained','Extends duration; costs more the longer it holds.','glyph_13.svg',0,2,1,5,NULL,1,'2026-02-17 01:33:06'),(34,'modifier','silent','Silent','No sound, minimal trace; harder to detect.','glyph_14.svg',0,1,0,5,NULL,1,'2026-02-17 01:33:06'),(35,'modifier','swift','Swift','Reduced cast time; slightly destabilizing.','glyph_15.svg',0,0,1,5,NULL,1,'2026-02-17 01:33:06'),(36,'modifier','piercing','Piercing','Cuts resistances; sharper impact.','glyph_16.svg',2,1,1,10,NULL,1,'2026-02-17 01:33:06'),(37,'modifier','anchored','Anchored','Locks effect to a point; stable but slower.','glyph_17.svg',0,1,-1,10,NULL,1,'2026-02-17 01:33:06'),(38,'modifier','overcharge','Overcharge','Pushes beyond safe thresholds.','glyph_18.svg',3,2,3,15,NULL,1,'2026-02-17 01:33:06'),(39,'modifier','woven','Woven','Interlaces with other effects; synergy bonus.','glyph_19.svg',1,1,1,10,NULL,1,'2026-02-17 01:33:06'),(40,'modifier','mirror','Mirror','Creates an afterimage copy with reduced power.','glyph_20.svg',1,2,2,15,NULL,1,'2026-02-17 01:33:06'),(41,'modifier','rebound','Rebound','Returns to sender/boomerang; tactical angles.','glyph_01.png',1,1,1,10,NULL,1,'2026-02-17 01:33:06'),(42,'modifier','hollow','Hollow','Reduces cost but increases instability.','glyph_02.svg',0,-1,2,10,NULL,1,'2026-02-17 01:33:06'),(43,'modifier','aegis','Aegis','Adds protective layer to any effect.','glyph_03.svg',0,2,0,10,NULL,1,'2026-02-17 01:33:06'),(44,'modifier','mending','Mending','Converts some power into healing.','glyph_04.svg',-1,1,0,10,NULL,1,'2026-02-17 01:33:06'),(45,'modifier','hexed','Hexed','Adds curse component; risky and potent.','glyph_05.svg',2,1,2,15,NULL,1,'2026-02-17 01:33:06'),(46,'modifier','luminous','Luminous','Reveals hidden things; harms shades.','glyph_06.svg',1,1,0,10,NULL,1,'2026-02-17 01:33:06'),(47,'modifier','dread','Dread','Induces fear/avoidance; social pressure.','glyph_07.svg',0,2,1,10,NULL,1,'2026-02-17 01:33:06'),(48,'modifier','tempest','Tempest','Adds knockback and scatter.','glyph_08.svg',2,1,2,15,NULL,1,'2026-02-17 01:33:06'),(49,'modifier','rooted','Rooted','Adds slow/snare; stable.','glyph_09.svg',0,1,0,5,NULL,1,'2026-02-17 01:33:06'),(50,'modifier','resonant','Resonant','Amplifies with bond/party presence.','glyph_10.svg',1,1,1,10,NULL,1,'2026-02-17 01:33:06'),(51,'binding','blood_oath','Blood Oath','Spend HP as part of the cost; steadies the weave.','glyph_11.svg',2,-1,-1,20,NULL,1,'2026-02-17 01:33:06'),(52,'binding','calm_vow','Calm Vow','No aggression while active; stability increases.','glyph_12.svg',0,0,-2,15,NULL,1,'2026-02-17 01:33:06'),(53,'binding','storm_bargain','Storm Bargain','Power spikes when moving; unstable when still.','glyph_13.svg',2,0,2,15,NULL,1,'2026-02-17 01:33:06'),(54,'binding','shadow_pact','Shadow Pact','Stronger in darkness; weaker in light.','glyph_14.svg',1,0,1,15,NULL,1,'2026-02-17 01:33:06'),(55,'binding','sun_seal','Sun Seal','Cleansing, safe; reduced raw damage.','glyph_15.svg',-1,1,-1,10,NULL,1,'2026-02-17 01:33:06'),(56,'binding','iron_geas','Iron Geas','Must complete a condition; huge stability.','glyph_16.svg',0,2,-3,20,NULL,1,'2026-02-17 01:33:06'),(57,'binding','echo_clause','Echo Clause','Effect repeats later; costly but planned.','glyph_17.svg',1,2,1,15,NULL,1,'2026-02-17 01:33:06'),(58,'binding','hollow_vow','Hollow Vow','Lower cost, higher misfire chance.','glyph_18.svg',0,-2,3,10,NULL,1,'2026-02-17 01:33:06'),(59,'binding','anchor_rune','Anchor Rune','Cannot move while active; very stable.','glyph_19.svg',0,0,-3,10,NULL,1,'2026-02-17 01:33:06'),(60,'binding','rift_tithe','Rift Tithe','Consumes rare focus; allows traversal effects.','glyph_20.svg',0,3,1,20,NULL,1,'2026-02-17 01:33:06'),(61,'core','SaVeritasEnvala','SaVeritasEnvala','Truth Of Light use this to see Veil hidden items','glyph_13.svg',2,2,1,0,NULL,1,'2026-02-17 02:50:28');

--
-- Table structure for table `envokation_recipe_requirements`
--

CREATE TABLE `envokation_recipe_requirements` (
  `id` int NOT NULL AUTO_INCREMENT,
  `recipe_id` int NOT NULL,
  `required_character_id` int NOT NULL,
  `min_bond` int NOT NULL DEFAULT '0',
  `require_in_roster` tinyint(1) NOT NULL DEFAULT '1',
  `require_in_party` tinyint(1) NOT NULL DEFAULT '0',
  `require_leader` tinyint(1) NOT NULL DEFAULT '0',
  `min_level` int NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  KEY `idx_req_recipe` (`recipe_id`),
  KEY `idx_req_char` (`required_character_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `envokation_recipe_requirements`
--


--
-- Table structure for table `envokation_recipes`
--

CREATE TABLE `envokation_recipes` (
  `id` int NOT NULL AUTO_INCREMENT,
  `slug` varchar(80) NOT NULL,
  `name` varchar(120) NOT NULL,
  `description` text,
  `context` enum('combat','exploration','social','ritual','hybrid') NOT NULL DEFAULT 'combat',
  `core_fragment_id` int NOT NULL,
  `element_fragment_id` int NOT NULL,
  `form_fragment_id` int NOT NULL,
  `modifier_fragment_id` int DEFAULT NULL,
  `binding_fragment_id` int DEFAULT NULL,
  `base_power_bonus` int NOT NULL DEFAULT '0',
  `base_cost_bonus` int NOT NULL DEFAULT '0',
  `base_instability_bonus` int NOT NULL DEFAULT '0',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_recipe_slug` (`slug`),
  KEY `idx_recipe_ctx` (`context`),
  KEY `idx_recipe_active` (`is_active`)
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `envokation_recipes`
--

INSERT INTO `envokation_recipes` VALUES (1,'windstep','Windstep','Ride a thin sheet of wind to cross gaps and climb ledges.','exploration',1,13,23,35,53,1,1,1,1,'2026-02-17 01:33:06'),(2,'sky_latch','Sky Latch','Latch to air and pull upward to unreachable ledges.','exploration',4,13,24,37,59,0,1,-1,1,'2026-02-17 01:33:06'),(3,'water_tread','Water Tread','Walk on water as if it were glass.','exploration',4,14,23,33,52,0,1,-1,1,'2026-02-17 01:33:06'),(4,'undertow_slide','Undertow Slide','Slip through currents to pass narrow grates or bars.','exploration',3,14,23,34,60,0,2,1,1,'2026-02-17 01:33:06'),(5,'stone_stride','Stone Stride','Harden your steps; traverse crumbling terrain safely.','exploration',7,16,23,37,56,0,2,-2,1,'2026-02-17 01:33:06'),(6,'cinder_leap','Cinder Leap','Burst forward on heated air; leaves a brief trail of flame.','exploration',1,15,23,48,53,2,1,2,1,'2026-02-17 01:33:06'),(7,'veil_of_quiet','Veil of Quiet','Invisibility that muffles sound and scent.','exploration',2,18,23,34,54,0,1,1,1,'2026-02-17 01:33:06'),(8,'shadow_skin','Shadow Skin','Blend into dim light; stronger in darkness.','exploration',2,18,23,33,54,0,2,1,1,'2026-02-17 01:33:06'),(9,'unseen_enemy','Unseen Enemy','Reveal hidden foes and illusions; outlines them in pale light.','exploration',12,17,29,46,55,1,1,0,1,'2026-02-17 01:33:06'),(10,'lantern_of_truth','Lantern of Truth','Creates a floating light that exposes traps and secret ink.','exploration',4,17,30,46,NULL,0,1,-1,1,'2026-02-17 01:33:06'),(11,'unseen_door','Unseen Door','Etch a temporary doorway through thin walls.','exploration',3,22,24,39,60,0,3,3,1,'2026-02-17 01:33:06'),(12,'unseen_bridge','Unseen Bridge','Draw an invisible bridge across a gap.','exploration',4,13,29,37,59,0,2,0,1,'2026-02-17 01:33:06'),(13,'unseen_wall','Unseen Wall','Summon a transparent barrier that blocks passage or projectiles.','hybrid',7,13,29,43,59,0,2,-1,1,'2026-02-17 01:33:06'),(14,'torchless_flame','Torchless Flame','Conjure a cold flame that lights without burning.','exploration',4,15,30,46,55,0,0,0,1,'2026-02-17 01:33:06'),(15,'shade_lens','Shade Lens','Dim the area; reduces sight range of enemies.','exploration',2,18,29,47,52,0,1,1,1,'2026-02-17 01:33:06'),(16,'raincall','Raincall','Summon a brief rain to douse fires and slick stone.','exploration',6,14,29,33,NULL,0,1,0,1,'2026-02-17 01:33:06'),(17,'stone_bloom','Stone Bloom','Raise stepping stones from earth to form platforms.','exploration',4,16,29,37,59,0,2,0,1,'2026-02-17 01:33:06'),(18,'hush_circle','Hush Circle','A field that suppresses sound; stealth zone.','exploration',12,18,29,34,52,0,1,-1,1,'2026-02-17 01:33:06'),(19,'regen','Regen','Slow regeneration over time.','combat',9,14,23,44,52,0,1,-1,1,'2026-02-17 01:33:06'),(20,'wind_regen','Wind Regen','Regeneration that scales while moving.','combat',9,13,23,50,53,1,1,1,1,'2026-02-17 01:33:06'),(21,'fire_regen','Fire Regen','Aggressive regen; heals and ignites attackers lightly.','combat',9,15,23,45,51,2,1,2,1,'2026-02-17 01:33:06'),(22,'fire_heal','Ember Mend','Instant heal with a short warmth shield.','combat',12,15,24,44,55,1,1,0,1,'2026-02-17 01:33:06'),(23,'light_heal','Luminous Mend','Cleanse + heal; removes one minor debuff.','combat',12,17,24,44,55,1,2,-1,1,'2026-02-17 01:33:06'),(24,'dark_heal','Umbral Suture','Heal by borrowing shadow; may leave a brief weakness.','combat',9,18,24,42,54,2,0,2,1,'2026-02-17 01:33:06'),(25,'wind_ward','Wind Ward','A deflecting swirl that reduces ranged damage.','combat',7,13,23,43,59,0,1,-1,1,'2026-02-17 01:33:06'),(26,'stone_armor','Stone Armor','Temporary armor plating; heavy but strong.','combat',7,16,23,37,56,0,2,-2,1,'2026-02-17 01:33:06'),(27,'mirror_shroud','Mirror Shroud','Creates an afterimage that can take one hit.','combat',10,17,23,40,57,1,2,2,1,'2026-02-17 01:33:06'),(28,'null_shell','Null Shell','Briefly reduces magic impact; risky void buffering.','combat',7,22,23,37,60,2,3,3,1,'2026-02-17 01:33:06'),(29,'gust_lance','Gust Lance','A piercing lance of compressed wind.','combat',5,13,26,36,NULL,1,0,0,1,'2026-02-17 01:33:06'),(30,'tidal_bolt','Tidal Bolt','Water bolt that pushes targets back.','combat',1,14,25,48,NULL,0,0,0,1,'2026-02-17 01:33:06'),(31,'cinder_lance','Cinder Lance','Fire lance that leaves a burning mark.','combat',5,15,26,45,NULL,2,1,1,1,'2026-02-17 01:33:06'),(32,'earth_spike','Earth Spike','A jagged spike erupts from below.','combat',8,16,24,49,NULL,1,0,0,1,'2026-02-17 01:33:06'),(33,'radiant_arc','Radiant Arc','A cone of light that harms shadows and reveals.','combat',6,17,27,46,55,1,1,0,1,'2026-02-17 01:33:06'),(34,'umbral_dart','Umbral Dart','A silent bolt that weakens the target.','combat',11,18,25,34,54,1,0,1,1,'2026-02-17 01:33:06'),(35,'storm_chain','Storm Chain','Lightning-wind that leaps between foes.','combat',10,19,31,48,53,2,1,2,1,'2026-02-17 01:33:06'),(36,'frost_ring','Frost Ring','A sphere burst that slows and chills.','combat',4,20,28,49,NULL,0,1,1,1,'2026-02-17 01:33:06'),(37,'metal_sunder','Metal Sunder','A line strike that breaks armor.','combat',5,21,26,36,56,2,1,1,1,'2026-02-17 01:33:06'),(38,'chorus_haste','Chorus: Haste','Party speed and agility resonance.','combat',6,13,29,50,NULL,0,2,0,1,'2026-02-17 01:33:06'),(39,'chorus_guard','Chorus: Guard','Party defense harmony; reduces incoming damage.','combat',6,16,29,43,NULL,0,2,0,1,'2026-02-17 01:33:06'),(40,'chorus_clarity','Chorus: Clarity','Boost accuracy and reveal weak points.','combat',6,17,29,46,55,0,2,-1,1,'2026-02-17 01:33:06');

--
-- Table structure for table `envokation_study_sessions`
--

CREATE TABLE `envokation_study_sessions` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_character_id` int NOT NULL,
  `study_type` enum('focus','deep','ritual') NOT NULL DEFAULT 'focus',
  `mastery_gain` int NOT NULL DEFAULT '0',
  `cost_skill_points` int NOT NULL DEFAULT '0',
  `notes` varchar(255) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_uc` (`user_character_id`),
  KEY `idx_created` (`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `envokation_study_sessions`
--

INSERT INTO `envokation_study_sessions` VALUES (1,1,'focus',1,1,'Focused study','2026-02-17 02:46:39');

--
-- Table structure for table `hotspots`
--

CREATE TABLE `hotspots` (
  `id` int NOT NULL AUTO_INCREMENT,
  `x` decimal(6,3) NOT NULL DEFAULT '0.000',
  `y` decimal(6,3) NOT NULL DEFAULT '0.000',
  `w` decimal(6,3) NOT NULL DEFAULT '5.000',
  `h` decimal(6,3) NOT NULL DEFAULT '5.000',
  `title` varchar(120) DEFAULT NULL,
  `entity_type` varchar(40) DEFAULT 'unknown',
  `lore` text,
  `image` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `hotspots`
--


--
-- Table structure for table `installs`
--

CREATE TABLE `installs` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `current_version` varchar(32) NOT NULL DEFAULT '0.0.0',
  `installed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `last_updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_user_install` (`user_id`),
  KEY `idx_user` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `installs`
--

INSERT INTO `installs` VALUES (1,1,'0.0.0','2026-02-15 23:35:20',NULL,1);

--
-- Table structure for table `logs`
--

CREATE TABLE `logs` (
  `id` int NOT NULL AUTO_INCREMENT,
  `type` varchar(64) NOT NULL,
  `message` text NOT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `logs`
--


--
-- Table structure for table `lore_entities`
--

CREATE TABLE `lore_entities` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(100) DEFAULT NULL,
  `description` text,
  `x` float DEFAULT NULL,
  `y` float DEFAULT NULL,
  `w` float DEFAULT NULL,
  `h` float DEFAULT NULL,
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `lore_entities`
--

INSERT INTO `lore_entities` VALUES (1,'Karma – The Cursed Matriarch','Sex:Female\nAge:1000???\nThe dark elf bound to rebirth across fractured timelines.',40.73,2.484,19.219,23.767,1,'2026-01-29 01:56:02'),(2,'Cassandra','sex:female\nage:?????\nvibrant intelligent observant of her surroundings. Cassandra youngest female of the children by nature she is calculating and tactful.',85.543,51.869,9.186,9.974,1,'2026-01-30 07:27:05'),(3,'Monta','sex:Male\nAge:15\nSecond Oldest son',23.005,50.536,11.439,11.118,1,'2026-01-31 08:29:00'),(4,'Luna Es ','sex:female\nAge: 300?\nKarma\'s Biological daughter who has been raised in her elf clan years after her mother left to search for the children in her dreams. Her and her mother share similar features they could almost pass as sisters. Her powers are much stronger during a full moon.',43.666,36.713,13.698,13.816,1,'2026-01-31 11:46:25'),(5,'Asriel','sex:female\nAge:17\nLoyal to her mother and brother Kara; they often would play hide and go seek. As she would later grow into the curse maiden. She would become a paradox of treacherous and uncertain acts of loyalty. One never knows if she can be trusted fully but she always follows through with her word for good or bad.\n',56.492,53.248,8.722,9.204,1,'2026-04-21 21:41:10'),(6,'Locked','Sex:Male\nAge:14\nLore locked...',44.872,55.685,11.484,11.655,1,'2026-04-21 21:48:36'),(7,'Untamed Seigil','Asriel birth sigil',84.513,75.673,11.484,11.655,1,'2026-04-21 21:49:08'),(8,'Kara','Sex:Male\nAge:12',10.815,49.52,11.809,11.873,1,'2026-04-22 19:32:31'),(9,'???','Sex:Female\nAge:18',76.756,51.813,10.473,8.792,1,'2026-04-22 19:34:22'),(10,'Seanna (The White Wolf)','Sex:Female\nAge: 18??',34.032,51.565,11.904,11.936,1,'2026-04-22 19:36:15');

--
-- Table structure for table `password_reset_tokens`
--

CREATE TABLE `password_reset_tokens` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned NOT NULL,
  `token_hash` char(64) NOT NULL,
  `expires_at` datetime NOT NULL,
  `used_at` datetime DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_prt_user` (`user_id`),
  KEY `idx_prt_token` (`token_hash`),
  CONSTRAINT `fk_prt_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `password_reset_tokens`
--


--
-- Table structure for table `patch_notes`
--

CREATE TABLE `patch_notes` (
  `id` int NOT NULL AUTO_INCREMENT,
  `version` varchar(32) NOT NULL,
  `title` varchar(140) NOT NULL,
  `body` mediumtext NOT NULL,
  `channel` enum('game','device','web','api') NOT NULL DEFAULT 'game',
  `is_published` tinyint(1) NOT NULL DEFAULT '1',
  `published_at` datetime DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_published` (`is_published`,`published_at`),
  KEY `idx_channel` (`channel`,`is_published`,`published_at`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `patch_notes`
--

INSERT INTO `patch_notes` VALUES (1,'0.1.0','First Resonance Build','- Added account system\n- Added resonance tree UI\n- Added patch notes page','web',1,'2026-01-26 08:27:30','2026-01-26 08:27:30','2026-01-26 08:27:30'),(2,'alpha 0.2','Site Stabalization Recovery after security update.','recovery at 40 percent','web',1,'2026-02-04 08:58:27','2026-02-04 08:58:27','2026-02-04 08:58:27'),(3,'alpha 0.2','Site Stabalization Recovery after security update.','recovery at 40 percent','web',1,'2026-02-04 08:58:53','2026-02-04 08:58:53','2026-02-04 08:58:53'),(4,'0.2.1','Security and Ease of use Patch.','We have updated some of our security and login features as well as we now require validation upon registration. Terms of service agreement will also be recorded upon first login is next patch in the works.','web',1,'2026-02-15 16:14:41','2026-02-15 16:14:41','2026-02-15 16:14:41');

--
-- Table structure for table `points_log`
--

CREATE TABLE `points_log` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `source` varchar(64) NOT NULL,
  `amount` int NOT NULL,
  `note` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `source` (`source`),
  KEY `created_at` (`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `points_log`
--

INSERT INTO `points_log` VALUES (1,4,'admin',106,'assisting with security','2026-02-02 09:20:29');

--
-- Table structure for table `rate_limits`
--

CREATE TABLE `rate_limits` (
  `k` varchar(128) NOT NULL,
  `count` int NOT NULL,
  `window_start` timestamp NOT NULL,
  PRIMARY KEY (`k`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `rate_limits`
--

INSERT INTO `rate_limits` VALUES ('reg:afaee94e9163130ae1a3a0ca2d809a644cc9f471742182424cd9e4dae3bef68b',1,'2026-01-25 20:10:51'),('reg:c1c4bb54793332876cd6061cd5670237968a9d1734e55a559b15f5041a310f95',1,'2026-01-25 20:07:49'),('reg:ce1d3daf96cb06afda9c3b8e2912f06938b3d38971c53e0f0b9ac96f1d549ba2',1,'2026-01-25 20:14:21'),('reg:d5b4fa4c19ec02e25d3e4687f7e94ea9a2f5026598ca6a84147c4d34ebd87819',1,'2026-01-25 20:19:02');

--
-- Table structure for table `resonance_edges`
--

CREATE TABLE `resonance_edges` (
  `id` int NOT NULL AUTO_INCREMENT,
  `from_slug` varchar(80) NOT NULL,
  `to_slug` varchar(80) NOT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_edge` (`from_slug`,`to_slug`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `resonance_edges`
--

INSERT INTO `resonance_edges` VALUES (1,'glyph_example','node_20260202_014247','2026-02-14 22:43:45');

--
-- Table structure for table `resonance_nodes`
--

CREATE TABLE `resonance_nodes` (
  `id` int NOT NULL AUTO_INCREMENT,
  `slug` varchar(80) NOT NULL,
  `name` varchar(120) NOT NULL,
  `description` text,
  `node_type` varchar(32) NOT NULL DEFAULT 'glyph',
  `x` float NOT NULL DEFAULT '50',
  `y` float NOT NULL DEFAULT '50',
  `cost_points` int NOT NULL DEFAULT '0',
  `prereq_json` json DEFAULT NULL,
  `unlock_payload` json DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `side` varchar(16) NOT NULL DEFAULT 'root',
  `path_group` varchar(48) DEFAULT NULL,
  `t` float DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `resonance_nodes`
--

INSERT INTO `resonance_nodes` VALUES (1,'glyph_example','Echo Glyph','test','glyph',49.999,50,0,NULL,NULL,1,'2026-02-01 01:52:28','root','branchA',0.0000155265),(2,'node_20260202_014247','New Node','','glyph',50,50,1,'[]','{}',1,'2026-02-02 01:42:47','root',NULL,NULL),(3,'node_20260202_014248','New Node','','glyph',50,50,1,'[]','{}',1,'2026-02-02 01:42:48','root',NULL,NULL);

--
-- Table structure for table `resonance_paths`
--

CREATE TABLE `resonance_paths` (
  `id` int NOT NULL AUTO_INCREMENT,
  `path_group` varchar(32) NOT NULL,
  `svg_d` text NOT NULL,
  `points_json` mediumtext,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_path_group` (`path_group`)
) ENGINE=InnoDB AUTO_INCREMENT=207 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `resonance_paths`
--

INSERT INTO `resonance_paths` VALUES (162,'branchA','M 49.902 46.081 L 50.0 44.851 L 50.086 43.623 L 50.16 42.394 L 50.223 41.165 L 50.275 39.937 L 50.316 38.708 L 50.348 37.479 L 50.369 36.25 L 50.38 35.02 L 50.383 33.79 L 50.377 32.559 L 50.362 31.327 L 50.339 30.094 L 50.308 28.861 L 50.27 27.626 L 50.225 26.389 L 50.173 25.152 L 50.115 23.913 L 50.051 22.672 L 49.981 21.429 L 49.906 20.185 L 49.826 18.939 L 49.742 17.69 L 49.653 16.44 L 49.561 15.187 L 49.464 13.932 L 49.365 12.674','[[49.902,46.081],[50.0,44.851],[50.086,43.623],[50.16,42.394],[50.223,41.165],[50.275,39.937],[50.316,38.708],[50.348,37.479],[50.369,36.25],[50.38,35.02],[50.383,33.79],[50.377,32.559],[50.362,31.327],[50.339,30.094],[50.308,28.861],[50.27,27.626],[50.225,26.389],[50.173,25.152],[50.115,23.913],[50.051,22.672],[49.981,21.429],[49.906,20.185],[49.826,18.939],[49.742,17.69],[49.653,16.44],[49.561,15.187],[49.464,13.932],[49.365,12.674]]','2026-02-02 01:37:01'),(163,'trunk','M 49.902 46.081 L 49.93 46.796 L 49.954 47.512 L 49.974 48.228 L 49.992 48.945 L 50.007 49.661 L 50.019 50.378 L 50.028 51.096 L 50.035 51.814 L 50.039 52.533 L 50.041 53.252 L 50.041 53.973 L 50.038 54.694 L 50.033 55.416 L 50.027 56.139 L 50.019 56.864 L 50.009 57.59 L 49.997 58.317 L 49.984 59.045 L 49.97 59.775 L 49.955 60.506 L 49.938 61.239 L 49.921 61.974 L 49.902 62.711','[[49.902,46.081],[49.93,46.796],[49.954,47.512],[49.974,48.228],[49.992,48.945],[50.007,49.661],[50.019,50.378],[50.028,51.096],[50.035,51.814],[50.039,52.533],[50.041,53.252],[50.041,53.973],[50.038,54.694],[50.033,55.416],[50.027,56.139],[50.019,56.864],[50.009,57.59],[49.997,58.317],[49.984,59.045],[49.97,59.775],[49.955,60.506],[49.938,61.239],[49.921,61.974],[49.902,62.711]]','2026-02-01 21:44:13'),(164,'roots','M 49.902 62.711 L 49.875 63.201 L 49.852 63.692 L 49.833 64.183 L 49.819 64.674 L 49.808 65.166 L 49.801 65.658 L 49.798 66.151 L 49.797 66.644 L 49.8 67.139 L 49.805 67.634 L 49.813 68.13 L 49.823 68.628 L 49.836 69.126 L 49.85 69.626 L 49.866 70.128 L 49.884 70.631 L 49.902 71.136','[[49.902,62.711],[49.875,63.201],[49.852,63.692],[49.833,64.183],[49.819,64.674],[49.808,65.166],[49.801,65.658],[49.798,66.151],[49.797,66.644],[49.8,67.139],[49.805,67.634],[49.813,68.13],[49.823,68.628],[49.836,69.126],[49.85,69.626],[49.866,70.128],[49.884,70.631],[49.902,71.136]]','2026-02-01 21:44:13'),(165,'roots','M 49.902 71.136 L 49.934 71.484 L 49.96 71.832 L 49.981 72.18 L 49.996 72.529 L 50.006 72.878 L 50.011 73.228 L 50.012 73.578 L 50.009 73.929 L 50.002 74.28 L 49.992 74.632 L 49.979 74.986 L 49.963 75.34 L 49.945 75.696 L 49.924 76.052 L 49.902 76.41','[[49.902,71.136],[49.934,71.484],[49.96,71.832],[49.981,72.18],[49.996,72.529],[50.006,72.878],[50.011,73.228],[50.012,73.578],[50.009,73.929],[50.002,74.28],[49.992,74.632],[49.979,74.986],[49.963,75.34],[49.945,75.696],[49.924,76.052],[49.902,76.41]]','2026-02-01 21:44:13'),(166,'upper','M 49.902 46.081 L 47.507 46.309 L 45.169 46.339 L 42.886 46.177 L 40.654 45.832 L 38.473 45.31 L 36.338 44.619 L 34.249 43.766 L 32.201 42.759 L 30.193 41.606 L 28.223 40.313 L 26.287 38.889 L 24.384 37.341 L 22.51 35.676 L 20.664 33.901 L 18.843 32.025 L 17.045 30.054 L 15.266 27.997 L 13.505 25.86 L 11.758 23.651 L 10.024 21.378 L 8.301 19.048','[[49.902,46.081],[47.507,46.309],[45.169,46.339],[42.886,46.177],[40.654,45.832],[38.473,45.31],[36.338,44.619],[34.249,43.766],[32.201,42.759],[30.193,41.606],[28.223,40.313],[26.287,38.889],[24.384,37.341],[22.51,35.676],[20.664,33.901],[18.843,32.025],[17.045,30.054],[15.266,27.997],[13.505,25.86],[11.758,23.651],[10.024,21.378],[8.301,19.048]]','2026-02-01 21:44:13'),(167,'upper','M 49.902 46.081 L 47.661 46.932 L 45.45 47.579 L 43.269 48.031 L 41.115 48.295 L 38.988 48.379 L 36.885 48.29 L 34.806 48.036 L 32.748 47.625 L 30.711 47.064 L 28.693 46.363 L 26.693 45.527 L 24.708 44.565 L 22.738 43.484 L 20.781 42.293 L 18.835 40.998 L 16.9 39.609 L 14.973 38.132 L 13.054 36.575 L 11.14 34.945 L 9.231 33.252 L 7.324 31.502','[[49.902,46.081],[47.661,46.932],[45.45,47.579],[43.269,48.031],[41.115,48.295],[38.988,48.379],[36.885,48.29],[34.806,48.036],[32.748,47.625],[30.711,47.064],[28.693,46.363],[26.693,45.527],[24.708,44.565],[22.738,43.484],[20.781,42.293],[18.835,40.998],[16.9,39.609],[14.973,38.132],[13.054,36.575],[11.14,34.945],[9.231,33.252],[7.324,31.502]]','2026-02-01 21:44:13'),(168,'upper','M 49.902 46.081 L 48.329 46.507 L 46.784 46.795 L 45.264 46.95 L 43.77 46.977 L 42.3 46.882 L 40.852 46.67 L 39.426 46.345 L 38.02 45.914 L 36.633 45.382 L 35.263 44.752 L 33.909 44.032 L 32.571 43.226 L 31.246 42.339 L 29.934 41.377 L 28.634 40.344 L 27.343 39.247 L 26.061 38.089 L 24.787 36.878 L 23.519 35.616 L 22.255 34.311 L 20.996 32.967','[[49.902,46.081],[48.329,46.507],[46.784,46.795],[45.264,46.95],[43.77,46.977],[42.3,46.882],[40.852,46.67],[39.426,46.345],[38.02,45.914],[36.633,45.382],[35.263,44.752],[33.909,44.032],[32.571,43.226],[31.246,42.339],[29.934,41.377],[28.634,40.344],[27.343,39.247],[26.061,38.089],[24.787,36.878],[23.519,35.616],[22.255,34.311],[20.996,32.967]]','2026-02-01 21:44:13'),(169,'upper','M 49.902 46.081 L 47.759 45.942 L 45.68 45.634 L 43.661 45.165 L 41.7 44.539 L 39.794 43.763 L 37.942 42.844 L 36.139 41.788 L 34.383 40.601 L 32.672 39.29 L 31.003 37.86 L 29.373 36.318 L 27.78 34.67 L 26.221 32.923 L 24.693 31.082 L 23.194 29.155 L 21.72 27.147 L 20.27 25.064 L 18.841 22.914 L 17.429 20.702 L 16.032 18.434 L 14.648 16.117','[[49.902,46.081],[47.759,45.942],[45.68,45.634],[43.661,45.165],[41.7,44.539],[39.794,43.763],[37.942,42.844],[36.139,41.788],[34.383,40.601],[32.672,39.29],[31.003,37.86],[29.373,36.318],[27.78,34.67],[26.221,32.923],[24.693,31.082],[23.194,29.155],[21.72,27.147],[20.27,25.064],[18.841,22.914],[17.429,20.702],[16.032,18.434],[14.648,16.117]]','2026-02-01 21:44:13'),(170,'upper','M 49.902 46.081 L 52.218 46.423 L 54.483 46.569 L 56.7 46.528 L 58.87 46.305 L 60.995 45.909 L 63.079 45.346 L 65.123 44.625 L 67.13 43.753 L 69.101 42.736 L 71.04 41.583 L 72.947 40.3 L 74.826 38.895 L 76.679 37.376 L 78.507 35.75 L 80.314 34.023 L 82.101 32.204 L 83.871 30.3 L 85.625 28.318 L 87.367 26.265 L 89.098 24.149 L 90.82 21.978','[[49.902,46.081],[52.218,46.423],[54.483,46.569],[56.7,46.528],[58.87,46.305],[60.995,45.909],[63.079,45.346],[65.123,44.625],[67.13,43.753],[69.101,42.736],[71.04,41.583],[72.947,40.3],[74.826,38.895],[76.679,37.376],[78.507,35.75],[80.314,34.023],[82.101,32.204],[83.871,30.3],[85.625,28.318],[87.367,26.265],[89.098,24.149],[90.82,21.978]]','2026-02-01 21:44:13'),(171,'upper','M 49.902 46.081 L 51.697 46.589 L 53.461 46.94 L 55.196 47.138 L 56.903 47.191 L 58.583 47.102 L 60.238 46.88 L 61.869 46.529 L 63.479 46.056 L 65.067 45.467 L 66.636 44.767 L 68.186 43.963 L 69.72 43.061 L 71.239 42.066 L 72.744 40.985 L 74.236 39.824 L 75.718 38.588 L 77.189 37.283 L 78.653 35.917 L 80.11 34.494 L 81.561 33.02 L 83.008 31.502','[[49.902,46.081],[51.697,46.589],[53.461,46.94],[55.196,47.138],[56.903,47.191],[58.583,47.102],[60.238,46.88],[61.869,46.529],[63.479,46.056],[65.067,45.467],[66.636,44.767],[68.186,43.963],[69.72,43.061],[71.239,42.066],[72.744,40.985],[74.236,39.824],[75.718,38.588],[77.189,37.283],[78.653,35.917],[80.11,34.494],[81.561,33.02],[83.008,31.502]]','2026-02-01 21:44:13'),(172,'upper','M 49.902 46.081 L 52.007 47.044 L 54.088 47.813 L 56.148 48.393 L 58.187 48.792 L 60.206 49.019 L 62.207 49.08 L 64.192 48.982 L 66.16 48.733 L 68.113 48.342 L 70.053 47.814 L 71.98 47.157 L 73.896 46.38 L 75.802 45.489 L 77.699 44.492 L 79.588 43.396 L 81.47 42.209 L 83.346 40.938 L 85.219 39.591 L 87.088 38.174 L 88.954 36.697 L 90.82 35.165','[[49.902,46.081],[52.007,47.044],[54.088,47.813],[56.148,48.393],[58.187,48.792],[60.206,49.019],[62.207,49.08],[64.192,48.982],[66.16,48.733],[68.113,48.342],[70.053,47.814],[71.98,47.157],[73.896,46.38],[75.802,45.489],[77.699,44.492],[79.588,43.396],[81.47,42.209],[83.346,40.938],[85.219,39.591],[87.088,38.174],[88.954,36.697],[90.82,35.165]]','2026-02-01 21:44:13'),(173,'upper','M 49.902 46.081 L 51.591 46.9 L 53.263 47.562 L 54.92 48.071 L 56.561 48.434 L 58.188 48.657 L 59.802 48.746 L 61.404 48.708 L 62.994 48.547 L 64.573 48.27 L 66.142 47.883 L 67.703 47.392 L 69.255 46.803 L 70.801 46.123 L 72.34 45.356 L 73.873 44.51 L 75.402 43.59 L 76.927 42.603 L 78.45 41.553 L 79.97 40.448 L 81.489 39.294 L 83.008 38.095','[[49.902,46.081],[51.591,46.9],[53.263,47.562],[54.92,48.071],[56.561,48.434],[58.188,48.657],[59.802,48.746],[61.404,48.708],[62.994,48.547],[64.573,48.27],[66.142,47.883],[67.703,47.392],[69.255,46.803],[70.801,46.123],[72.34,45.356],[73.873,44.51],[75.402,43.59],[76.927,42.603],[78.45,41.553],[79.97,40.448],[81.489,39.294],[83.008,38.095]]','2026-02-01 21:44:13'),(174,'lower','M 49.902 62.711 L 48.56 64.035 L 47.214 65.192 L 45.866 66.185 L 44.514 67.024 L 43.16 67.712 L 41.802 68.258 L 40.441 68.668 L 39.077 68.948 L 37.709 69.105 L 36.338 69.145 L 34.963 69.075 L 33.584 68.901 L 32.202 68.629 L 30.815 68.267 L 29.425 67.821 L 28.031 67.297 L 26.633 66.701 L 25.23 66.041 L 23.823 65.322 L 22.412 64.552 L 20.996 63.736','[[49.902,62.711],[48.56,64.035],[47.214,65.192],[45.866,66.185],[44.514,67.024],[43.16,67.712],[41.802,68.258],[40.441,68.668],[39.077,68.948],[37.709,69.105],[36.338,69.145],[34.963,69.075],[33.584,68.901],[32.202,68.629],[30.815,68.267],[29.425,67.821],[28.031,67.297],[26.633,66.701],[25.23,66.041],[23.823,65.322],[22.412,64.552],[20.996,63.736]]','2026-02-01 21:44:13'),(175,'lower','M 49.902 62.711 L 48.862 64.377 L 47.793 65.888 L 46.699 67.251 L 45.578 68.472 L 44.432 69.557 L 43.263 70.511 L 42.07 71.34 L 40.855 72.051 L 39.619 72.65 L 38.362 73.143 L 37.086 73.535 L 35.791 73.833 L 34.478 74.042 L 33.148 74.169 L 31.802 74.22 L 30.441 74.201 L 29.065 74.117 L 27.676 73.975 L 26.275 73.781 L 24.861 73.541 L 23.438 73.26','[[49.902,62.711],[48.862,64.377],[47.793,65.888],[46.699,67.251],[45.578,68.472],[44.432,69.557],[43.263,70.511],[42.07,71.34],[40.855,72.051],[39.619,72.65],[38.362,73.143],[37.086,73.535],[35.791,73.833],[34.478,74.042],[33.148,74.169],[31.802,74.22],[30.441,74.201],[29.065,74.117],[27.676,73.975],[26.275,73.781],[24.861,73.541],[23.438,73.26]]','2026-02-01 21:44:13'),(176,'lower','M 49.902 62.711 L 51.259 64.048 L 52.618 65.216 L 53.98 66.219 L 55.346 67.065 L 56.714 67.761 L 58.085 68.312 L 59.46 68.725 L 60.839 69.008 L 62.22 69.165 L 63.605 69.205 L 64.994 69.134 L 66.387 68.958 L 67.783 68.683 L 69.183 68.317 L 70.588 67.865 L 71.996 67.335 L 73.408 66.733 L 74.825 66.066 L 76.246 65.339 L 77.672 64.561 L 79.102 63.736','[[49.902,62.711],[51.259,64.048],[52.618,65.216],[53.98,66.219],[55.346,67.065],[56.714,67.761],[58.085,68.312],[59.46,68.725],[60.839,69.008],[62.22,69.165],[63.605,69.205],[64.994,69.134],[66.387,68.958],[67.783,68.683],[69.183,68.317],[70.588,67.865],[71.996,67.335],[73.408,66.733],[74.825,66.066],[76.246,65.339],[77.672,64.561],[79.102,63.736]]','2026-02-01 21:44:13'),(177,'lower','M 49.902 62.711 L 50.98 64.411 L 52.085 65.953 L 53.217 67.341 L 54.374 68.584 L 55.557 69.685 L 56.763 70.653 L 57.993 71.492 L 59.245 72.209 L 60.518 72.811 L 61.812 73.303 L 63.125 73.692 L 64.458 73.984 L 65.808 74.185 L 67.175 74.301 L 68.558 74.339 L 69.957 74.304 L 71.37 74.203 L 72.796 74.042 L 74.236 73.827 L 75.687 73.564 L 77.148 73.26','[[49.902,62.711],[50.98,64.411],[52.085,65.953],[53.217,67.341],[54.374,68.584],[55.557,69.685],[56.763,70.653],[57.993,71.492],[59.245,72.209],[60.518,72.811],[61.812,73.303],[63.125,73.692],[64.458,73.984],[65.808,74.185],[67.175,74.301],[68.558,74.339],[69.957,74.304],[71.37,74.203],[72.796,74.042],[74.236,73.827],[75.687,73.564],[77.148,73.26]]','2026-02-01 21:44:13'),(178,'upper_offshoots','M 30.193 41.606 L 29.94 42.906 L 29.618 44.09 L 29.231 45.167 L 28.783 46.142 L 28.278 47.025 L 27.72 47.823 L 27.114 48.543 L 26.464 49.194 L 25.774 49.782 L 25.047 50.316 L 24.29 50.803 L 23.505 51.251 L 22.696 51.667','[[30.193,41.606],[29.94,42.906],[29.618,44.09],[29.231,45.167],[28.783,46.142],[28.278,47.025],[27.72,47.823],[27.114,48.543],[26.464,49.194],[25.774,49.782],[25.047,50.316],[24.29,50.803],[23.505,51.251],[22.696,51.667]]','2026-02-01 21:44:13'),(179,'upper_offshoots','M 38.473 45.31 L 38.315 45.301 L 38.163 45.273 L 38.017 45.227 L 37.876 45.165 L 37.739 45.088 L 37.607 44.997 L 37.479 44.893 L 37.354 44.777 L 37.232 44.65 L 37.113 44.514 L 36.996 44.37 L 36.88 44.218 L 36.766 44.061','[[38.473,45.31],[38.315,45.301],[38.163,45.273],[38.017,45.227],[37.876,45.165],[37.739,45.088],[37.607,44.997],[37.479,44.893],[37.354,44.777],[37.232,44.65],[37.113,44.514],[36.996,44.37],[36.88,44.218],[36.766,44.061]]','2026-02-01 21:44:13'),(180,'upper_offshoots','M 28.693 46.363 L 28.498 46.439 L 28.309 46.484 L 28.123 46.501 L 27.942 46.492 L 27.765 46.458 L 27.591 46.402 L 27.42 46.325 L 27.252 46.228 L 27.085 46.115 L 26.921 45.987 L 26.758 45.846 L 26.597 45.694 L 26.436 45.532','[[28.693,46.363],[28.498,46.439],[28.309,46.484],[28.123,46.501],[27.942,46.492],[27.765,46.458],[27.591,46.402],[27.42,46.325],[27.252,46.228],[27.085,46.115],[26.921,45.987],[26.758,45.846],[26.597,45.694],[26.436,45.532]]','2026-02-01 21:44:13'),(181,'upper_offshoots','M 22.738 43.484 L 22.803 44.234 L 22.82 44.956 L 22.792 45.655 L 22.722 46.33 L 22.613 46.984 L 22.468 47.62 L 22.289 48.238 L 22.081 48.842 L 21.846 49.432 L 21.586 50.011 L 21.305 50.581 L 21.006 51.143 L 20.693 51.7','[[22.738,43.484],[22.803,44.234],[22.82,44.956],[22.792,45.655],[22.722,46.33],[22.613,46.984],[22.468,47.62],[22.289,48.238],[22.081,48.842],[21.846,49.432],[21.586,50.011],[21.305,50.581],[21.006,51.143],[20.693,51.7]]','2026-02-01 21:44:13'),(182,'upper_offshoots','M 31.246 42.339 L 30.909 43.047 L 30.545 43.691 L 30.157 44.274 L 29.747 44.801 L 29.314 45.276 L 28.861 45.704 L 28.39 46.088 L 27.902 46.433 L 27.398 46.744 L 26.88 47.024 L 26.349 47.278 L 25.807 47.51 L 25.255 47.724','[[31.246,42.339],[30.909,43.047],[30.545,43.691],[30.157,44.274],[29.747,44.801],[29.314,45.276],[28.861,45.704],[28.39,46.088],[27.902,46.433],[27.398,46.744],[26.88,47.024],[26.349,47.278],[25.807,47.51],[25.255,47.724]]','2026-02-01 21:44:13'),(183,'upper_offshoots','M 40.852 46.67 L 40.697 46.937 L 40.533 47.174 L 40.361 47.381 L 40.181 47.561 L 39.993 47.717 L 39.799 47.849 L 39.598 47.961 L 39.391 48.054 L 39.179 48.13 L 38.962 48.191 L 38.74 48.239 L 38.514 48.277 L 38.285 48.305','[[40.852,46.67],[40.697,46.937],[40.533,47.174],[40.361,47.381],[40.181,47.561],[39.993,47.717],[39.799,47.849],[39.598,47.961],[39.391,48.054],[39.179,48.13],[38.962,48.191],[38.74,48.239],[38.514,48.277],[38.285,48.305]]','2026-02-01 21:44:13'),(184,'upper_offshoots','M 20.27 25.064 L 19.632 25.542 L 18.993 25.922 L 18.351 26.211 L 17.707 26.414 L 17.06 26.538 L 16.411 26.589 L 15.759 26.574 L 15.104 26.498 L 14.447 26.368 L 13.786 26.19 L 13.123 25.97 L 12.456 25.715 L 11.786 25.43','[[20.27,25.064],[19.632,25.542],[18.993,25.922],[18.351,26.211],[17.707,26.414],[17.06,26.538],[16.411,26.589],[15.759,26.574],[15.104,26.498],[14.447,26.368],[13.786,26.19],[13.123,25.97],[12.456,25.715],[11.786,25.43]]','2026-02-01 21:44:13'),(185,'upper_offshoots','M 39.794 43.763 L 39.448 44.119 L 39.096 44.42 L 38.737 44.67 L 38.371 44.873 L 38.0 45.032 L 37.622 45.151 L 37.24 45.233 L 36.852 45.282 L 36.46 45.301 L 36.062 45.293 L 35.661 45.263 L 35.256 45.213 L 34.847 45.148','[[39.794,43.763],[39.448,44.119],[39.096,44.42],[38.737,44.67],[38.371,44.873],[38.0,45.032],[37.622,45.151],[37.24,45.233],[36.852,45.282],[36.46,45.301],[36.062,45.293],[35.661,45.263],[35.256,45.213],[34.847,45.148]]','2026-02-01 21:44:13'),(186,'upper_offshoots','M 78.507 35.75 L 78.549 36.988 L 78.676 38.109 L 78.882 39.122 L 79.163 40.033 L 79.512 40.851 L 79.925 41.583 L 80.396 42.237 L 80.921 42.821 L 81.494 43.341 L 82.109 43.807 L 82.763 44.226 L 83.448 44.604 L 84.161 44.951','[[78.507,35.75],[78.549,36.988],[78.676,38.109],[78.882,39.122],[79.163,40.033],[79.512,40.851],[79.925,41.583],[80.396,42.237],[80.921,42.821],[81.494,43.341],[82.109,43.807],[82.763,44.226],[83.448,44.604],[84.161,44.951]]','2026-02-01 21:44:13'),(187,'upper_offshoots','M 69.101 42.736 L 69.362 43.158 L 69.63 43.499 L 69.904 43.766 L 70.184 43.963 L 70.47 44.096 L 70.761 44.169 L 71.058 44.188 L 71.359 44.158 L 71.665 44.083 L 71.975 43.97 L 72.289 43.822 L 72.606 43.646 L 72.927 43.446','[[69.101,42.736],[69.362,43.158],[69.63,43.499],[69.904,43.766],[70.184,43.963],[70.47,44.096],[70.761,44.169],[71.058,44.188],[71.359,44.158],[71.665,44.083],[71.975,43.97],[72.289,43.822],[72.606,43.646],[72.927,43.446]]','2026-02-01 21:44:13'),(188,'upper_offshoots','M 71.239 42.066 L 71.368 42.53 L 71.519 42.943 L 71.692 43.309 L 71.884 43.629 L 72.095 43.909 L 72.323 44.151 L 72.567 44.358 L 72.825 44.534 L 73.096 44.682 L 73.379 44.806 L 73.673 44.909 L 73.975 44.994 L 74.285 45.065','[[71.239,42.066],[71.368,42.53],[71.519,42.943],[71.692,43.309],[71.884,43.629],[72.095,43.909],[72.323,44.151],[72.567,44.358],[72.825,44.534],[73.096,44.682],[73.379,44.806],[73.673,44.909],[73.975,44.994],[74.285,45.065]]','2026-02-01 21:44:13'),(189,'upper_offshoots','M 71.239 42.066 L 71.48 43.106 L 71.769 44.075 L 72.105 44.977 L 72.484 45.817 L 72.902 46.6 L 73.358 47.332 L 73.847 48.016 L 74.369 48.657 L 74.918 49.261 L 75.493 49.832 L 76.09 50.375 L 76.706 50.895 L 77.34 51.396','[[71.239,42.066],[71.48,43.106],[71.769,44.075],[72.105,44.977],[72.484,45.817],[72.902,46.6],[73.358,47.332],[73.847,48.016],[74.369,48.657],[74.918,49.261],[75.493,49.832],[76.09,50.375],[76.706,50.895],[77.34,51.396]]','2026-02-01 21:44:13'),(190,'upper_offshoots','M 62.207 49.08 L 62.294 49.354 L 62.393 49.599 L 62.504 49.815 L 62.626 50.006 L 62.759 50.172 L 62.901 50.316 L 63.052 50.44 L 63.212 50.545 L 63.378 50.635 L 63.552 50.71 L 63.731 50.772 L 63.916 50.825 L 64.104 50.869','[[62.207,49.08],[62.294,49.354],[62.393,49.599],[62.504,49.815],[62.626,50.006],[62.759,50.172],[62.901,50.316],[63.052,50.44],[63.212,50.545],[63.378,50.635],[63.552,50.71],[63.731,50.772],[63.916,50.825],[64.104,50.869]]','2026-02-01 21:44:13'),(191,'upper_offshoots','M 73.896 46.38 L 73.759 47.181 L 73.693 47.929 L 73.693 48.625 L 73.755 49.275 L 73.875 49.882 L 74.047 50.449 L 74.268 50.98 L 74.534 51.48 L 74.839 51.95 L 75.179 52.396 L 75.55 52.82 L 75.948 53.227 L 76.368 53.62','[[73.896,46.38],[73.759,47.181],[73.693,47.929],[73.693,48.625],[73.755,49.275],[73.875,49.882],[74.047,50.449],[74.268,50.98],[74.534,51.48],[74.839,51.95],[75.179,52.396],[75.55,52.82],[75.948,53.227],[76.368,53.62]]','2026-02-01 21:44:13'),(192,'upper_offshoots','M 70.801 46.123 L 70.923 46.256 L 71.044 46.357 L 71.163 46.429 L 71.281 46.473 L 71.398 46.492 L 71.514 46.487 L 71.629 46.46 L 71.744 46.414 L 71.858 46.351 L 71.972 46.271 L 72.085 46.178 L 72.199 46.074 L 72.312 45.96','[[70.801,46.123],[70.923,46.256],[71.044,46.357],[71.163,46.429],[71.281,46.473],[71.398,46.492],[71.514,46.487],[71.629,46.46],[71.744,46.414],[71.858,46.351],[71.972,46.271],[72.085,46.178],[72.199,46.074],[72.312,45.96]]','2026-02-01 21:44:13'),(193,'upper_offshoots','M 62.994 48.547 L 62.661 49.019 L 62.387 49.505 L 62.17 50.005 L 62.005 50.518 L 61.888 51.044 L 61.816 51.581 L 61.785 52.13 L 61.791 52.688 L 61.83 53.257 L 61.898 53.834 L 61.992 54.419 L 62.107 55.011 L 62.24 55.61','[[62.994,48.547],[62.661,49.019],[62.387,49.505],[62.17,50.005],[62.005,50.518],[61.888,51.044],[61.816,51.581],[61.785,52.13],[61.791,52.688],[61.83,53.257],[61.898,53.834],[61.992,54.419],[62.107,55.011],[62.24,55.61]]','2026-02-01 21:44:13'),(194,'lower_offshoots','M 30.815 68.267 L 30.933 69.061 L 30.986 69.809 L 30.978 70.514 L 30.912 71.179 L 30.792 71.808 L 30.624 72.402 L 30.41 72.966 L 30.156 73.503 L 29.865 74.016 L 29.541 74.508 L 29.188 74.982 L 28.81 75.441 L 28.413 75.889','[[30.815,68.267],[30.933,69.061],[30.986,69.809],[30.978,70.514],[30.912,71.179],[30.792,71.808],[30.624,72.402],[30.41,72.966],[30.156,73.503],[29.865,74.016],[29.541,74.508],[29.188,74.982],[28.81,75.441],[28.413,75.889]]','2026-02-01 21:44:13'),(195,'lower_offshoots','M 30.815 68.267 L 30.89 68.922 L 30.909 69.524 L 30.878 70.076 L 30.798 70.582 L 30.674 71.046 L 30.509 71.471 L 30.306 71.861 L 30.069 72.218 L 29.801 72.548 L 29.506 72.853 L 29.187 73.136 L 28.847 73.402 L 28.49 73.654','[[30.815,68.267],[30.89,68.922],[30.909,69.524],[30.878,70.076],[30.798,70.582],[30.674,71.046],[30.509,71.471],[30.306,71.861],[30.069,72.218],[29.801,72.548],[29.506,72.853],[29.187,73.136],[28.847,73.402],[28.49,73.654]]','2026-02-01 21:44:13'),(196,'lower_offshoots','M 37.086 73.535 L 37.058 73.557 L 37.03 73.572 L 37.003 73.581 L 36.978 73.584 L 36.953 73.582 L 36.928 73.576 L 36.905 73.565 L 36.881 73.549 L 36.859 73.531 L 36.836 73.509 L 36.814 73.484 L 36.793 73.457 L 36.771 73.428','[[37.086,73.535],[37.058,73.557],[37.03,73.572],[37.003,73.581],[36.978,73.584],[36.953,73.582],[36.928,73.576],[36.905,73.565],[36.881,73.549],[36.859,73.531],[36.836,73.509],[36.814,73.484],[36.793,73.457],[36.771,73.428]]','2026-02-01 21:44:13'),(197,'lower_offshoots','M 38.362 73.143 L 38.703 73.39 L 39.003 73.672 L 39.266 73.987 L 39.495 74.333 L 39.691 74.707 L 39.858 75.108 L 39.998 75.533 L 40.114 75.981 L 40.208 76.449 L 40.283 76.935 L 40.341 77.438 L 40.385 77.955 L 40.418 78.484','[[38.362,73.143],[38.703,73.39],[39.003,73.672],[39.266,73.987],[39.495,74.333],[39.691,74.707],[39.858,75.108],[39.998,75.533],[40.114,75.981],[40.208,76.449],[40.283,76.935],[40.341,77.438],[40.385,77.955],[40.418,78.484]]','2026-02-01 21:44:13'),(198,'lower_offshoots','M 60.839 69.008 L 60.662 69.293 L 60.522 69.581 L 60.416 69.871 L 60.342 70.164 L 60.298 70.459 L 60.281 70.756 L 60.289 71.055 L 60.32 71.356 L 60.37 71.66 L 60.439 71.966 L 60.524 72.273 L 60.621 72.583 L 60.73 72.895','[[60.839,69.008],[60.662,69.293],[60.522,69.581],[60.416,69.871],[60.342,70.164],[60.298,70.459],[60.281,70.756],[60.289,71.055],[60.32,71.356],[60.37,71.66],[60.439,71.966],[60.524,72.273],[60.621,72.583],[60.73,72.895]]','2026-02-01 21:44:13'),(199,'lower_offshoots','M 63.605 69.205 L 63.427 69.464 L 63.282 69.731 L 63.168 70.004 L 63.082 70.283 L 63.023 70.568 L 62.988 70.858 L 62.976 71.154 L 62.984 71.455 L 63.01 71.761 L 63.052 72.071 L 63.108 72.384 L 63.176 72.702 L 63.253 73.022','[[63.605,69.205],[63.427,69.464],[63.282,69.731],[63.168,70.004],[63.082,70.283],[63.023,70.568],[62.988,70.858],[62.976,71.154],[62.984,71.455],[63.01,71.761],[63.052,72.071],[63.108,72.384],[63.176,72.702],[63.253,73.022]]','2026-02-01 21:44:13'),(200,'lower_offshoots','M 55.557 69.685 L 55.114 69.602 L 54.687 69.582 L 54.275 69.623 L 53.877 69.72 L 53.491 69.87 L 53.117 70.068 L 52.754 70.309 L 52.4 70.591 L 52.054 70.909 L 51.714 71.26 L 51.381 71.638 L 51.052 72.041 L 50.726 72.464','[[55.557,69.685],[55.114,69.602],[54.687,69.582],[54.275,69.623],[53.877,69.72],[53.491,69.87],[53.117,70.068],[52.754,70.309],[52.4,70.591],[52.054,70.909],[51.714,71.26],[51.381,71.638],[51.052,72.041],[50.726,72.464]]','2026-02-01 21:44:13'),(201,'lower_offshoots','M 65.808 74.185 L 65.548 74.35 L 65.312 74.543 L 65.098 74.762 L 64.905 75.005 L 64.73 75.271 L 64.573 75.558 L 64.432 75.864 L 64.305 76.189 L 64.191 76.529 L 64.089 76.884 L 63.995 77.252 L 63.91 77.631 L 63.832 78.019','[[65.808,74.185],[65.548,74.35],[65.312,74.543],[65.098,74.762],[64.905,75.005],[64.73,75.271],[64.573,75.558],[64.432,75.864],[64.305,76.189],[64.191,76.529],[64.089,76.884],[63.995,77.252],[63.91,77.631],[63.832,78.019]]','2026-02-01 21:44:13'),(202,'branchA','M 50.111 13.629 L 49.936 21.751',NULL,'2026-02-01 21:46:54'),(203,'branchA','M 49.761 29.873 C 49.761 28.519, 49.790 24.633, 49.761 21.751 C 49.732 18.869, 49.615 14.109, 49.586 12.581',NULL,'2026-02-01 21:51:52'),(204,'branchA','M 50.111 13.105 C 50.111 14.240, 50.169 17.384, 50.111 19.917 C 50.052 22.450, 49.790 25.463, 49.761 28.301 C 49.732 31.139, 49.965 33.585, 49.936 36.947 C 49.907 40.309, 49.644 46.554, 49.586 48.475',NULL,'2026-02-01 21:54:07'),(205,'branchB','M 49.936 28.563 C 50.548 27.864, 52.472 25.419, 53.609 24.371 C 54.745 23.323, 55.678 22.886, 56.757 22.275 C 57.835 21.664, 59.001 21.140, 60.080 20.703 C 61.158 20.266, 62.003 19.655, 63.228 19.655 C 64.452 19.655, 66.084 20.397, 67.425 20.703 C 68.766 21.009, 69.728 21.227, 71.273 21.489 C 72.817 21.751, 75.353 21.751, 76.694 22.275 C 78.035 22.799, 78.152 24.240, 79.318 24.633 C 80.484 25.026, 82.378 24.895, 83.690 24.633 C 85.002 24.371, 86.051 23.716, 87.188 23.061 C 88.325 22.406, 89.957 21.096, 90.511 20.703','[[49.936 28.563],[50.548 27.864],[52.472 25.419],[53.609 24.371],[54.745 23.323],[ 55.678 22.886],[56.757 22.275],[57.835 21.664],[59.001 21.140],[60.080 20.703],[ 61.158 20.266], 62.003 19.655, 63.228 19.655 C 64.452 19.655, 66.084 20.397, 67.425 20.703 C 68.766 21.009, 69.728 21.227, 71.273 21.489 C 72.817 21.751, 75.353 21.751, 76.694 22.275 C 78.035 22.799, 78.152 24.240, 79.318 24.633 C 80.484 25.026, 82.378 24.895, 83.690 24.633 C 85.002 24.371, 86.051 23.716, 87.188 23.061 C 88.325 22.406, 89.957 21.096, 90.511 20.703','2026-02-01 22:00:05'),(206,'branchA','M 50.067 61.307 L 50.427 65.885',NULL,'2026-02-02 01:38:10');

--
-- Table structure for table `roadmap_items`
--

CREATE TABLE `roadmap_items` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(150) NOT NULL,
  `summary` varchar(255) DEFAULT NULL,
  `details` text,
  `status` enum('planned','in_progress','blocked','complete') NOT NULL DEFAULT 'planned',
  `priority` enum('low','medium','high','critical') NOT NULL DEFAULT 'medium',
  `percent` tinyint unsigned NOT NULL DEFAULT '0',
  `sort_order` int NOT NULL DEFAULT '0',
  `target_date` date DEFAULT NULL,
  `is_public` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_public_status` (`is_public`,`status`),
  KEY `idx_sort` (`sort_order`,`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `roadmap_items`
--

INSERT INTO `roadmap_items` VALUES (1,'Server Community Hub','the backbone of the system and commuity','The server that hosts the various connections and systems for the game demo. We will make further progress and updates as we near completion of the demo.','in_progress','low',50,0,'2026-03-31',1,'2026-02-14 23:13:49','2026-02-14 23:13:49'),(2,'Phase 1 — Core Foundation','Core foundation: Envokation engine, PNG glyph UI, mastery progression, initial fragment library, internal alpha milestone.','## RPG Core System (RPGMaker MZ)\n- Core character progression system\n- Fragment-based Envokation engine\n- Glyph selection UI (PNG-based)\n- 100 base fragments implemented\n- Spell combination logic framework\n- Mastery progression system\n- Save/load integration\n- Basic combat + exploration mechanics\n\n## Glyph Asset Library\n- 50–100 unique glyph PNGs\n- Consistent arcane design language\n- Hover + glow animation effects\n- Visual mastery evolution states\n\n## Milestone\n- Internal Alpha: working spell creation loop + ~20 spell combos + performance benchmark testing','in_progress','low',35,10,NULL,1,'2026-02-22 16:08:33','2026-02-22 16:08:33'),(3,'Phase 2 — System Expansion','Expand regions, traversal spells, combat depth, mastery evolution, and deliver a playable digital-only beta.','## World & Gameplay Expansion\n- 3–5 explorable regions\n- Environmental interaction spells\n- Hidden objects: Unseen Door / Bridge / Enemy\n- Travel mechanics: Wind / Water traversal\n\n## Combat Depth\n- Offensive spell categories\n- Defensive spell categories\n- Regenerative & environmental effects\n- Status modifiers via fragment stacking\n\n## Mastery Evolution\n- Glyph visual upgrades per level\n- Passive enhancements\n- Rare fragment unlock conditions\n\n## Milestone\n- Playable Beta (Digital Only)','planned','medium',0,20,NULL,1,'2026-02-22 16:08:33','2026-02-22 16:08:33'),(4,'Phase 3 — Companion Device Integration','ESP32-S3 companion prototype with real-time sync, on-device spell crafting UI, audio feedback, and OTA updates.','## ESP32 Companion Hardware\n- ESP32-S3 + 4.3\" capacitive touch display\n- Real-time WiFi synchronization\n- Spell crafting interface\n- Audio feedback system\n- Firmware OTA updates\n\n## Live Sync System\n- Game ↔ Device communication API\n- Real-time glyph slot mirroring\n- Spell activation trigger support\n\n## Hardware Expansion Model\n- Downloadable fragment packs\n- Collectible physical glyph overlays\n- Future device skins / limited editions\n\n## Milestone\n- Functional Companion Prototype','planned','medium',0,30,NULL,1,'2026-02-22 16:08:33','2026-02-22 16:08:33'),(5,'Phase 4 — Polish & Market Launch','Polish visuals/audio, refine UX, harden saves, and produce marketing assets for demo + Kickstarter/public launch.','## Visual & Audio Polish\n- Cinematic lighting pass\n- Spell particle enhancements\n- Sound design per fragment type\n- Master orchestral theme\n\n## UX Refinement\n- Improve glyph picker clarity\n- PNG optimization\n- Mastery feedback indicators\n- Save system stability\n\n## Marketing Assets\n- Kickstarter campaign\n- Trailer production\n- Demo release\n- Press kit & website launch\n\n## Milestone\n- Public Launch Build + Kickstarter Campaign','planned','medium',0,40,NULL,1,'2026-02-22 16:08:33','2026-02-22 16:08:33'),(6,'Post-Launch Expansion Model','Quarterly fragment packs, mastery tiers, new regions, boss challenges, and scalable monetization streams.','## Ongoing Content Updates\n- New fragment sets (Quarterly)\n- Advanced mastery tiers\n- New regions\n- Boss Envokation challenges\n\n## Revenue Streams\n- Digital fragment DLC\n- Premium glyph cosmetic packs\n- Limited hardware editions\n- Expansion chapters','planned','high',0,50,NULL,1,'2026-02-22 16:08:33','2026-02-22 16:08:33'),(7,'Long-Term Vision (Year 2+)','Evolve into a platform: trading, arena modes, mobile companion app, V2 device, and expanded lore chapters.','## Long-Term Vision\n- Multiplayer fragment trading\n- Competitive spellcraft arena\n- Mobile companion app version\n- Advanced hardware iteration (V2 device)\n- Expanded lore chapters','planned','high',0,60,NULL,1,'2026-02-22 16:08:33','2026-02-22 16:08:33');

--
-- Table structure for table `settings`
--

CREATE TABLE `settings` (
  `id` int NOT NULL AUTO_INCREMENT,
  `setting_key` varchar(128) NOT NULL,
  `setting_value` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `setting_key` (`setting_key`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `settings`
--

INSERT INTO `settings` VALUES (1,'site_name','Project Resonance-RPG game'),(2,'site_tagline','Follow the path of the lost or forge your own. Seek the truth or feed the lie where will your story take you?');

--
-- Table structure for table `site_pages`
--

CREATE TABLE `site_pages` (
  `id` int NOT NULL AUTO_INCREMENT,
  `slug` varchar(80) NOT NULL,
  `link_type` enum('file','db') NOT NULL DEFAULT 'file',
  `title` varchar(140) NOT NULL,
  `content` mediumtext,
  `nav_group` varchar(40) NOT NULL DEFAULT 'main',
  `nav_order` int NOT NULL DEFAULT '100',
  `show_in_nav` tinyint(1) NOT NULL DEFAULT '1',
  `is_enabled` tinyint(1) NOT NULL DEFAULT '1',
  `is_header_only` tinyint(1) NOT NULL DEFAULT '0',
  `requires_login` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`),
  KEY `idx_nav` (`nav_group`,`show_in_nav`,`is_enabled`,`nav_order`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `site_pages`
--

INSERT INTO `site_pages` VALUES (1,'play','file','Play','','main',10,1,1,0,0,'2026-01-27 05:34:21','2026-01-27 05:34:21'),(2,'patch-notes','file','Patch Notes','','main',20,1,1,0,0,'2026-01-27 05:34:21','2026-01-27 05:34:21'),(3,'privacy','file','Privacy','','footer',10,1,1,0,0,'2026-01-27 05:34:21','2026-01-27 05:34:21'),(4,'terms','file','Terms','','footer',20,1,1,0,0,'2026-01-27 05:34:21','2026-01-27 05:34:21'),(5,'community','db','Commuity','Community Quests\r\nTime windows unlock special branches: dungeons, quests, and rare recruits that shift the world’s balance.','main',10,1,1,0,0,'2026-01-27 06:13:32','2026-01-27 06:14:14'),(6,'features','file','Features','Features overview...','features',10,1,1,0,0,'2026-01-27 06:20:46','2026-02-04 02:49:03'),(7,'skill-tree','db','Resonance Tree','<div id=\"skillTree\"></div>\r\n<script src=\"https://asongforthelost.exodusblue.com/assets/js/skill_tree.js\"></script>\r\n','features',20,1,1,0,0,'2026-01-27 06:20:46','2026-02-07 06:53:39'),(8,'leaderboard','db','Leaderboard','Leaderboard coming soon...','community',20,1,1,0,0,'2026-01-27 06:20:46','2026-01-27 06:20:46'),(10,'world','db','World Overview','World page...','world',10,1,1,0,0,'2026-01-27 06:24:21','2026-01-27 06:24:21'),(12,'resonance-tree','db','Echoes','Echoes of another time world or place effected or ineffected by the presence of individuals','features',20,1,1,0,0,'2026-01-27 06:24:21','2026-01-27 06:27:21'),(14,'factions','file','factions','factions overview...','world',10,1,0,0,0,'2026-01-27 06:20:46','2026-02-06 05:52:49'),(18,'echoartifact','db','echoartifact','factions overview...','world',10,1,0,0,0,'2026-01-27 06:20:46','2026-02-06 06:12:37');

--
-- Table structure for table `site_settings`
--

CREATE TABLE `site_settings` (
  `skey` varchar(64) NOT NULL,
  `svalue` text,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`skey`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `site_settings`
--

INSERT INTO `site_settings` VALUES ('current_version','0.0.2','2026-02-15 23:21:27','2026-02-08 07:56:19'),('maintenance_bypass_roles','admin,moderator','2026-01-26 11:08:53','2026-02-03 07:27:41'),('maintenance_enabled','0','2026-02-03 08:52:29','2026-02-03 07:27:41'),('maintenance_message','We are performing maintenance. Please check back shortly.','2026-02-08 00:20:42','2026-02-03 07:27:41');

--
-- Table structure for table `site_updates_applied`
--

CREATE TABLE `site_updates_applied` (
  `id` int NOT NULL AUTO_INCREMENT,
  `version` varchar(50) NOT NULL,
  `package_name` varchar(190) NOT NULL,
  `applied_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_version` (`version`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `site_updates_applied`
--


--
-- Table structure for table `site_versions`
--

CREATE TABLE `site_versions` (
  `id` int NOT NULL AUTO_INCREMENT,
  `current_version` varchar(32) NOT NULL DEFAULT '0.0.0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `version` varchar(40) NOT NULL,
  `notes` text,
  `installed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `site_versions`
--

INSERT INTO `site_versions` VALUES (1,'0.0.2','2026-02-08 00:20:42','0.0.2',NULL,'2026-02-08 07:55:41'),(2,'0.0.0','2026-02-15 23:50:34','0.0.2','','2026-02-15 23:50:34');

--
-- Table structure for table `skill_edges`
--

CREATE TABLE `skill_edges` (
  `id` int NOT NULL AUTO_INCREMENT,
  `from_id` int NOT NULL,
  `to_id` int NOT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_edge` (`from_id`,`to_id`),
  KEY `fk_edge_to` (`to_id`),
  CONSTRAINT `fk_edge_from` FOREIGN KEY (`from_id`) REFERENCES `skill_nodes` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_edge_to` FOREIGN KEY (`to_id`) REFERENCES `skill_nodes` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `skill_edges`
--

INSERT INTO `skill_edges` VALUES (1,1,2,'2026-01-31 21:59:15'),(2,2,3,'2026-01-31 21:59:16'),(3,2,4,'2026-01-31 21:59:16'),(4,4,5,'2026-01-31 21:59:16'),(5,5,6,'2026-01-31 21:59:16'),(6,2,7,'2026-01-31 21:59:16'),(7,7,8,'2026-01-31 21:59:16'),(8,8,9,'2026-01-31 21:59:16');

--
-- Table structure for table `skill_node_effects`
--

CREATE TABLE `skill_node_effects` (
  `id` int NOT NULL AUTO_INCREMENT,
  `node_id` int NOT NULL,
  `effect_key` varchar(64) NOT NULL,
  `effect_value` decimal(10,3) NOT NULL,
  `stack_mode` enum('add','mul') NOT NULL DEFAULT 'add',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `node_id` (`node_id`),
  CONSTRAINT `fk_sne_node` FOREIGN KEY (`node_id`) REFERENCES `skill_nodes` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `skill_node_effects`
--


--
-- Table structure for table `skill_nodes`
--

CREATE TABLE `skill_nodes` (
  `id` int NOT NULL AUTO_INCREMENT,
  `slug` varchar(80) NOT NULL,
  `name` varchar(120) NOT NULL,
  `description` text,
  `side` enum('good','evil','shared') NOT NULL DEFAULT 'shared',
  `x` float NOT NULL DEFAULT '50',
  `y` float NOT NULL DEFAULT '50',
  `cost_points` int NOT NULL DEFAULT '1',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `skill_nodes`
--

INSERT INTO `skill_nodes` VALUES (1,'trunk_root','Resonance Core','The point where all echoes intersect.','shared',50,55,0,1,'2026-01-31 21:59:15'),(2,'trunk_memory','Memory Thread','Recall fragments to unlock deeper branches.','shared',50,42,1,1,'2026-01-31 21:59:15'),(3,'trunk_bind','Echo Bind','Stabilize an echo; improves synthesis across trees.','shared',50,30,2,1,'2026-01-31 21:59:15'),(4,'good_light','Vala (Light)','Radiant alignment. Healing, clarity, warding.','good',30,38,1,1,'2026-01-31 21:59:15'),(5,'good_mercy','Mercy Loop','Protect allies when balance is maintained.','good',22,26,2,1,'2026-01-31 21:59:15'),(6,'good_sanctum','Sanctum Sigil','Create a safe zone node in certain dungeons.','good',34,20,3,1,'2026-01-31 21:59:15'),(7,'evil_dark','Eeyh (Dark)','Umbral alignment. Debilitation, fear, shadowcraft.','evil',70,38,1,1,'2026-01-31 21:59:15'),(8,'evil_hunger','Hunger Spiral','Convert echoes into power at a cost.','evil',78,26,2,1,'2026-01-31 21:59:15'),(9,'evil_abyss','Abyss Mark','Open forbidden routes; increases corruption gain.','evil',66,20,3,1,'2026-01-31 21:59:15');

--
-- Table structure for table `themes`
--

CREATE TABLE `themes` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(80) NOT NULL,
  `slug` varchar(80) NOT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `version` varchar(20) DEFAULT '1.0.0',
  `author` varchar(100) DEFAULT '',
  `description` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=InnoDB AUTO_INCREMENT=75 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `themes`
--

INSERT INTO `themes` VALUES (1,'Resonance','Resonance',1,'2026-01-26 00:40:01','1.0.0','',NULL),(18,'Echoes','Echoes',0,'2026-01-28 02:08:05','1.0.0','ExodusBlue','Echoes are incarnations of characters across time, memory, and fate.'),(37,'KarmasLament','KarmasLament',0,'2026-01-28 02:08:05','1.0.0','ExodusBlue','Echoes are incarnations of characters across time, memory, and fate.');

--
-- Table structure for table `user_achievements`
--

CREATE TABLE `user_achievements` (
  `user_id` int NOT NULL,
  `achievement_id` int NOT NULL,
  `awarded_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`user_id`,`achievement_id`),
  KEY `achievement_id` (`achievement_id`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_achievements`
--

INSERT INTO `user_achievements` VALUES (2,1,'2026-01-31 13:38:02'),(4,3,'2026-02-02 09:24:57');

--
-- Table structure for table `user_character_skill_nodes`
--

CREATE TABLE `user_character_skill_nodes` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_character_id` int NOT NULL,
  `node_id` int NOT NULL,
  `unlocked_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_uc_node` (`user_character_id`,`node_id`),
  KEY `idx_uc` (`user_character_id`),
  KEY `idx_node` (`node_id`),
  CONSTRAINT `fk_ucsn_node` FOREIGN KEY (`node_id`) REFERENCES `skill_nodes` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_ucsn_uc` FOREIGN KEY (`user_character_id`) REFERENCES `user_characters` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_character_skill_nodes`
--


--
-- Table structure for table `user_character_skill_unlocks`
--

CREATE TABLE `user_character_skill_unlocks` (
  `user_character_id` int NOT NULL,
  `node_id` int NOT NULL,
  `unlocked_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`user_character_id`,`node_id`),
  KEY `fk_ucsu_node` (`node_id`),
  CONSTRAINT `fk_ucsu_node` FOREIGN KEY (`node_id`) REFERENCES `skill_nodes` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_ucsu_uc` FOREIGN KEY (`user_character_id`) REFERENCES `user_characters` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_character_skill_unlocks`
--

INSERT INTO `user_character_skill_unlocks` VALUES (1,1,'2026-02-02 11:38:59'),(1,2,'2026-02-02 11:47:09'),(1,4,'2026-02-02 11:47:32');

--
-- Table structure for table `user_character_stats`
--

CREATE TABLE `user_character_stats` (
  `user_character_id` int NOT NULL,
  `hp_base` int NOT NULL DEFAULT '0',
  `mp_base` int NOT NULL DEFAULT '0',
  `atk_base` int NOT NULL DEFAULT '0',
  `def_base` int NOT NULL DEFAULT '0',
  `agi_base` int NOT NULL DEFAULT '0',
  `luck_base` int NOT NULL DEFAULT '0',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`user_character_id`),
  CONSTRAINT `fk_ucs_uc` FOREIGN KEY (`user_character_id`) REFERENCES `user_characters` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_character_stats`
--


--
-- Table structure for table `user_characters`
--

CREATE TABLE `user_characters` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `character_id` int NOT NULL,
  `nickname` varchar(120) DEFAULT NULL,
  `is_in_party` tinyint(1) NOT NULL DEFAULT '1',
  `party_slot` int NOT NULL DEFAULT '1',
  `level` int NOT NULL DEFAULT '1',
  `xp` int NOT NULL DEFAULT '0',
  `skill_points` int NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `bond` int NOT NULL DEFAULT '0',
  `is_leader` tinyint(1) NOT NULL DEFAULT '0',
  `arcane_mastery` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_user_char` (`user_id`,`character_id`),
  KEY `user_id` (`user_id`,`is_in_party`,`party_slot`),
  KEY `fk_uc_char` (`character_id`),
  CONSTRAINT `fk_uc_char` FOREIGN KEY (`character_id`) REFERENCES `characters` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_characters`
--

INSERT INTO `user_characters` VALUES (1,1,1,'',1,1,1,0,0,'2026-02-02 11:38:06',0,0,1),(2,1,2,'',1,2,1,0,3,'2026-02-14 21:40:07',0,0,0);

--
-- Table structure for table `user_email_verifications`
--

CREATE TABLE `user_email_verifications` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned NOT NULL,
  `token_hash` char(64) NOT NULL,
  `expires_at` datetime NOT NULL,
  `used_at` datetime DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_verify_token` (`token_hash`),
  KEY `idx_verify_user` (`user_id`),
  CONSTRAINT `fk_verify_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_email_verifications`
--

INSERT INTO `user_email_verifications` VALUES (1,9,'5884d2de604a43ef926a7538d723f0c20bbeedabfc4e2a95d3712822de3b11bc','2026-02-14 13:49:09','2026-02-14 11:51:58','2026-02-14 11:49:09'),(2,10,'13817e1ece418dbb21eed0d00f1c1033d550e625716398cc5e066e32781d7e66','2026-04-22 21:39:44','2026-04-22 19:39:54','2026-04-22 19:39:44');

--
-- Table structure for table `user_envokations`
--

CREATE TABLE `user_envokations` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_character_id` int NOT NULL,
  `recipe_id` int DEFAULT NULL,
  `name` varchar(120) NOT NULL,
  `context` enum('combat','exploration','social','ritual','hybrid') NOT NULL DEFAULT 'combat',
  `core_fragment_id` int NOT NULL,
  `element_fragment_id` int NOT NULL,
  `form_fragment_id` int NOT NULL,
  `modifier_fragment_id` int DEFAULT NULL,
  `binding_fragment_id` int DEFAULT NULL,
  `computed_power` int NOT NULL DEFAULT '0',
  `computed_cost` int NOT NULL DEFAULT '0',
  `instability` int NOT NULL DEFAULT '0',
  `bonded_user_character_id` int DEFAULT NULL,
  `is_equipped` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_uc_env_name` (`user_character_id`,`name`),
  KEY `idx_uc` (`user_character_id`),
  KEY `idx_equipped` (`is_equipped`),
  KEY `idx_ctx` (`context`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_envokations`
--


--
-- Table structure for table `user_password_resets`
--

CREATE TABLE `user_password_resets` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned NOT NULL,
  `token_hash` char(64) NOT NULL,
  `expires_at` datetime NOT NULL,
  `used_at` datetime DEFAULT NULL,
  `ip_hash` char(64) DEFAULT NULL,
  `user_agent_hash` char(64) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_reset_user` (`user_id`),
  KEY `idx_reset_token` (`token_hash`),
  CONSTRAINT `fk_reset_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_password_resets`
--


--
-- Table structure for table `user_points`
--

CREATE TABLE `user_points` (
  `user_id` bigint unsigned NOT NULL,
  `balance` int NOT NULL DEFAULT '0',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `points` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_points`
--

INSERT INTO `user_points` VALUES (1,314,'2026-02-09 02:54:20',214),(2,230,'2026-02-09 02:53:37',230),(6,379,'2026-02-09 02:53:37',379);

--
-- Table structure for table `user_points_ledger`
--

CREATE TABLE `user_points_ledger` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned NOT NULL,
  `delta` int NOT NULL,
  `balance_after` int NOT NULL,
  `reason` varchar(190) NOT NULL,
  `ref_type` varchar(60) DEFAULT NULL,
  `ref_id` varchar(64) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_upl_user` (`user_id`),
  KEY `idx_upl_created` (`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_points_ledger`
--

INSERT INTO `user_points_ledger` VALUES (1,6,379,379,'Admin grant for joining and collab project','admin',NULL,'2026-02-08 12:37:12'),(2,2,230,230,'Admin grant for colab and joining','admin',NULL,'2026-02-08 12:37:34'),(3,1,314,314,'Admin grant','admin',NULL,'2026-02-08 12:37:53');

--
-- Table structure for table `user_profile`
--

CREATE TABLE `user_profile` (
  `user_id` bigint unsigned NOT NULL,
  `participation_points` int NOT NULL DEFAULT '0',
  `corruption` decimal(4,3) NOT NULL DEFAULT '0.000',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`user_id`),
  CONSTRAINT `fk_profile_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_profile`
--

INSERT INTO `user_profile` VALUES (1,0,0.000,'2026-01-26 08:09:47'),(2,50,0.000,'2026-02-05 23:57:12'),(6,60,0.000,'2026-02-05 23:56:49'),(7,0,0.000,'2026-02-14 00:11:08');

--
-- Table structure for table `user_resonance_unlocks`
--

CREATE TABLE `user_resonance_unlocks` (
  `user_id` int NOT NULL,
  `node_id` int NOT NULL,
  `unlocked_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`user_id`,`node_id`),
  KEY `idx_user` (`user_id`),
  KEY `idx_node` (`node_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_resonance_unlocks`
--


--
-- Table structure for table `user_sessions`
--

CREATE TABLE `user_sessions` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned NOT NULL,
  `token_hash` char(64) NOT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `expires_at` timestamp NOT NULL,
  `last_seen_at` timestamp NULL DEFAULT NULL,
  `ip_hash` char(64) DEFAULT NULL,
  `user_agent_hash` char(64) DEFAULT NULL,
  `revoked_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_token_hash` (`token_hash`),
  KEY `user_id` (`user_id`),
  CONSTRAINT `fk_sessions_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=123 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_sessions`
--

INSERT INTO `user_sessions` VALUES (1,1,'fc2dc1778baf158c8a79c950e1bd2761569d3db95bcf7575c9d22dee477ee087','2026-01-26 08:09:47','2026-02-25 08:09:47',NULL,'a95c150287161c921c60e15f1c51d76b12c37677b570aff213493212978f497b','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-01-26 08:12:05'),(2,1,'220577f3a7e1c317901a8a26b4f5cd5cddf4b0afa94c4600f2ca158c675d696f','2026-01-26 08:12:11','2026-02-25 08:12:11',NULL,'5108b00c68eeb4ef54fade9144ce4684e30a991a779a7a74dc8283cae52fd9d7','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(3,1,'363a1a29ba88355a77ea5b4653522e64c235961e6122407e0df6775249a1ea07','2026-01-26 08:40:35','2026-02-25 08:40:35',NULL,'779c5a8efd7e570da5c4e3978c860d4701580ac1447960e757375aecda8a4fd9','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(4,1,'8c0baa1c4aefe1296b7e2cf00f9a2a5a1771d064e2beb7f848e76c41b2223cb5','2026-01-26 10:38:48','2026-02-25 10:38:48',NULL,'6ca9b5f600c31e889040d8d50613cb48306a85652dd43c87f9f53e1517f14f35','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(5,1,'b053341c3bd7c8a8a20f53928a3795fa45d1e22b98abf29f13d916cb0af36a24','2026-01-26 23:30:39','2026-02-25 23:30:39',NULL,'7078a51bef717a612774e4e94b7fef94c44d75f225c1091f92b4d5c8e91efa48','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(6,1,'58033a9b77ac6ed922b55251f99e629b2cbda6a651b805e51c1df439c5eb0cf0','2026-01-27 05:43:21','2026-02-26 05:43:21',NULL,'affa8bf6ef3b3c855a759b5cb18d6337e28db2bd6c5d367df62ea598df5b4e61','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(7,1,'b19012f6f4d808929495a9bca724f71c4afd8bbd96e4992f6d678560db6b06e2','2026-01-27 06:11:42','2026-02-26 06:11:42',NULL,'f1567cd161ec3ade0c143516ae6f1da10fdae58613d916906881eaeeaebb08f6','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(8,1,'1f426e1ff231d800861e63486f0ffb57a7ee3250b3500bed01ba0989f4a61dda','2026-01-28 01:14:54','2026-02-27 01:14:54',NULL,'4f27feaa9408009c069fbc23d65566e02662cc898589985c73134a8ffa285117','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(9,1,'b1fbe25569181ff2da2c10513c0f6dca9d7e585d6311632c692f850482707f71','2026-01-28 01:29:01','2026-02-27 01:29:01',NULL,'44bc38ee8af04559209f0852257840a135842baf1a70e785c50933489115f691','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(10,1,'cb4f642815363b50b630b357f5494033c637dfbe3c9c103d3534009ddda180de','2026-01-28 01:55:22','2026-02-27 01:55:22',NULL,'831339f25c4fc54602818152f4d6bafa14a42ccbf0aeb7feec2a281ac271be32','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(11,1,'19e0d91aed554ee25413d67cd3430fce014ddb85f233d6bda04c1e2a105e8436','2026-01-28 16:52:19','2026-02-27 16:52:19',NULL,'41fec3f08ac3067f735a7865a65852a45dc23258662fad4a0e99e10c73c304b8','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(12,2,'5dac8035821e5d317c9c99a6ee4724ba2eddc233381297fb6096421b0a34be88','2026-01-29 21:06:39','2026-02-28 21:06:39',NULL,'44bc38ee8af04559209f0852257840a135842baf1a70e785c50933489115f691','36709a46e19405c3706894c673dbb5b2b55893ebfc03ce488a370fab29ef487a',NULL),(13,1,'011f499a5f855db501984e5cc2daa2ab6038b49d29c09887730825086e518c63','2026-01-31 11:54:03','2026-03-02 11:54:03',NULL,'bb0ee04fa0d982f7a379d1424fcaf54c300c3bc32d3e6119ac4481f63d782bc4','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(14,1,'fbc3a394d3525350648214f24f17d27b7532c272dc40666431a9791da8ed9a65','2026-01-31 13:09:56','2026-03-02 13:09:56',NULL,'5fb78e53979d8de178fb75ca743998650c72144280ddeeef2c2a53bad2349971','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(15,1,'5d46ea7ba2c994bffe113797d9b070fa392865768a5f1dbcd5b295a89e4470d8','2026-01-31 15:30:30','2026-03-02 15:30:30',NULL,'d53c908eab85653932330e71c22a317466b14e8ff32f84ac6f26835ac1a266ac','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(16,1,'26969a131307ffb2043e3e9d3a6e5db21ab2d35dda956c348b4ed1de0c79d9a9','2026-01-31 18:22:35','2026-03-02 18:22:35',NULL,'5fb78e53979d8de178fb75ca743998650c72144280ddeeef2c2a53bad2349971','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(17,1,'1df87462c9a5a95aa161640214a5abda34235027d36adcf8ecd3118655a151fc','2026-01-31 20:43:57','2026-03-02 20:43:57',NULL,'71a4b573bc41e395b5c836c9c56fb0cc82ba3b61158b455d530415d2e78a2207','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(18,1,'f8f94feae9ce1ae9c80e5dbf7907108f21ef415120de0b615b800cbb6d22b298','2026-01-31 22:00:45','2026-03-02 22:00:45',NULL,'414b6193213c1183bfab374d5a682be48dc3006f724c38d6d0ffe96b1d45cd18','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(19,1,'b4d2296e05ecb05f190f5689a1b7f3e3a63b7bf442a5f7951a71929f5d51fe07','2026-02-01 01:30:00','2026-03-03 01:30:00',NULL,'af47f3a90430e9d147ee952603dc38807301d01a18a3cbaab118e867ccb897c6','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(20,1,'76a16a4ceb233c3ab8ce9020fff7b9c0bb6f0cb7ce83f71c77ac3773f141d62f','2026-02-01 16:08:56','2026-03-03 16:08:56',NULL,'6588a9db72fa08df8ff5793c15475202d33c8a955e97fa078c9c7fddd339e56c','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(21,1,'79542a9b3c0758dbe5c7971d27a828868b8f19a2d610ee603a7d70749c7dab7f','2026-02-01 18:31:11','2026-03-03 18:31:11',NULL,'f1567cd161ec3ade0c143516ae6f1da10fdae58613d916906881eaeeaebb08f6','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(22,1,'bd2daef93f2c53b02c3a488b343545f80b1f3e04ef4ee5906704d843b60fd7b9','2026-02-01 19:19:58','2026-03-03 19:19:58',NULL,'e370c99a5085e79fdd32399c8e17b6d578e9971ec506396d7e557f34f4106a92','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(23,1,'d1e4ad0e394a9131f899097c86604fc6225ee8a4588f4ff9e6d8e6b5467f963c','2026-02-01 20:48:06','2026-03-03 20:48:06',NULL,'0f7a222a3201328975bbe585e817aff292a6d81a197f68fe41f268ea3a55cf7b','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(26,1,'f580e89d04f044172f66cee8104e7847bd8fc4bca0baa91b1ca65ae942cdf5aa','2026-02-02 01:37:12','2026-03-04 01:37:12',NULL,'ab69e38aa299736cea5a874f67312df3b16be89e8aa51a431389abf4a84caa98','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-02 02:36:15'),(27,1,'a740101e16ea5f8d9d8d688cafe2802e10ba0524bdfd5e1a91c441201e0516b3','2026-02-02 02:40:08','2026-03-04 02:40:08',NULL,'4b6a5dccc8f40aad38756e4c465b300ea830a8b09fac0729cf83eb3d97a9ce8a','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-02 02:40:13'),(28,1,'288273dee846a6677d9e63daf5b3bb8e21849eee021dd4a9ffea0a57ddcd2e7e','2026-02-02 09:08:48','2026-03-04 09:08:48',NULL,'c1125cd9d0a69e1f52af317943b7842f149a251c3e0db5d5f104464c4f40b28b','86acc63eeb312d9b50cf3bd08e81df351cb2c141ce38a7002e0c5e7df8fa0731',NULL),(29,1,'aac968c09f65deb0d639b0edcaef9334d507b6de7019a7a583526a6759b6383f','2026-02-02 09:17:45','2026-03-04 09:17:45',NULL,'71a4b573bc41e395b5c836c9c56fb0cc82ba3b61158b455d530415d2e78a2207','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-02 09:26:43'),(30,1,'0dfee82a1c71089aa9d17a510b692a53335cb0bfc285461abf177379d8454025','2026-02-02 09:26:57','2026-03-04 09:26:57',NULL,'831339f25c4fc54602818152f4d6bafa14a42ccbf0aeb7feec2a281ac271be32','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(31,1,'ac6c719db1c8c8ed83898c7f3f32af321f4ddf4e8ebe65c43878e1f61a11e057','2026-02-02 11:37:01','2026-03-04 11:37:01',NULL,'71a4b573bc41e395b5c836c9c56fb0cc82ba3b61158b455d530415d2e78a2207','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(32,1,'e7dac19823c2010d1e9702f85a4ffc9a587540550991534e7753a0dcc83c8777','2026-02-02 13:58:24','2026-03-04 13:58:24',NULL,'831339f25c4fc54602818152f4d6bafa14a42ccbf0aeb7feec2a281ac271be32','2bf039ee060747d8e49b862966e6c9f8fe6252e71c3c597f43b70f6a0e500d2a',NULL),(33,1,'bca82b99e6c5318284861111ae72497d133f1ed64c9521e6d96089d1be1ed0f7','2026-02-02 13:58:48','2026-03-04 13:58:48',NULL,'831339f25c4fc54602818152f4d6bafa14a42ccbf0aeb7feec2a281ac271be32','2bf039ee060747d8e49b862966e6c9f8fe6252e71c3c597f43b70f6a0e500d2a',NULL),(34,1,'e9e10151ae50c0c0e7e38ebf0f11c6d98b31d0ffb42e439ebf614af18ee60c0b','2026-02-02 23:07:21','2026-03-04 23:07:21',NULL,'5108b00c68eeb4ef54fade9144ce4684e30a991a779a7a74dc8283cae52fd9d7','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(36,1,'7e5ceecd027b02e0d3e99c8157903c08aa1d549702b63adad1c79ff62dc5bbc5','2026-02-03 03:12:30','2026-03-05 03:12:30',NULL,'8e1438c607bfda2a9fd3b47bf8bf94eeb31ff2fb542fbbf126befcec096cf174','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(37,1,'bc0a134ccf4c694e96cfb090e7a217a802ff754d8307653445d36acef5f0bef6','2026-02-03 06:43:45','2026-03-05 06:43:45',NULL,'7bce147075a0d2415a33c7f6f6323c3cffc0f5526f345e6276addb4ad5319470','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(38,1,'ec6728de6e6b1fc68ffc950f887dd88b7ae39eb606827b3668e985b7404be789','2026-02-03 07:20:35','2026-03-05 07:20:35',NULL,'e370c99a5085e79fdd32399c8e17b6d578e9971ec506396d7e557f34f4106a92','86acc63eeb312d9b50cf3bd08e81df351cb2c141ce38a7002e0c5e7df8fa0731',NULL),(39,1,'cd62c4c966e832cabb29d4c5f9dac1a1c40a0c38503c77c79a1ac15426b6f45c','2026-02-04 00:04:45','2026-03-06 00:04:45',NULL,'779c5a8efd7e570da5c4e3978c860d4701580ac1447960e757375aecda8a4fd9','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(40,1,'c8257372d302247bf24a35595adbf3afadb627885567769c2e8ebbbe2777aced','2026-02-04 00:05:47','2026-03-06 00:05:47',NULL,'0ef046d6896cdc1d8afad568575278089935298f8635634989bd1f524a3fc93c','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-04 00:16:42'),(41,1,'f0f96452b395571466fe156a7e0fb4ba0e3407c7f3cf321d06bbf24f84aa2cb0','2026-02-04 00:07:04','2026-03-06 00:07:04',NULL,'924c3f62f6946927f8652dde619be732a6ba0e1f23516089b5e69843527e118d','86acc63eeb312d9b50cf3bd08e81df351cb2c141ce38a7002e0c5e7df8fa0731',NULL),(42,1,'e7425b044b32c9af961aa8ae2214cacdacb4bbb33f1dbf7dac72a8235b994c9c','2026-02-04 00:07:27','2026-03-06 00:07:27',NULL,'e370c99a5085e79fdd32399c8e17b6d578e9971ec506396d7e557f34f4106a92','86acc63eeb312d9b50cf3bd08e81df351cb2c141ce38a7002e0c5e7df8fa0731',NULL),(43,1,'b47c8890ac02d3f980455a731294ddd1e83bb6502c9e122fb65b7620f65c0610','2026-02-04 00:19:59','2026-03-06 00:19:59',NULL,'c96750b586b61f1ee47593287b3dc56af154790b7be901c5fe8bd86ea3e49fd7','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(44,1,'b5e66ee522b7751e7b45665c29c59d17995be316479412eacb9bfcbd75ce3183','2026-02-04 00:35:55','2026-03-06 00:35:55',NULL,'9ed239404364758cd4dbdbc8a9459adced2c5f45b12c36e7c992a1af0ba7ef83','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(45,1,'6021a397f62184f0c5c24a5afe893bf68d1693cde9cf92425843106f6ea4b54d','2026-02-04 02:20:26','2026-03-06 02:20:26',NULL,'e370c99a5085e79fdd32399c8e17b6d578e9971ec506396d7e557f34f4106a92','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-04 02:20:32'),(46,1,'15140ddc9a6559b9dec4ea6314737a1ba2cca105ed53ae6ba5aef1125b6de99e','2026-02-04 02:20:37','2026-03-06 02:20:37',NULL,'e370c99a5085e79fdd32399c8e17b6d578e9971ec506396d7e557f34f4106a92','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(47,1,'858029841dc80614fbc70dd7d284e35d1070bb2299a7ba13bac5257f199a4a84','2026-02-04 08:53:26','2026-03-06 08:53:26',NULL,'a95c150287161c921c60e15f1c51d76b12c37677b570aff213493212978f497b','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(48,1,'13e0372995e2eb549bf837bdd1be42323fc66580cf211f15e101ce827cfe269b','2026-02-04 08:56:51','2026-03-06 08:56:51',NULL,'4f27feaa9408009c069fbc23d65566e02662cc898589985c73134a8ffa285117','86acc63eeb312d9b50cf3bd08e81df351cb2c141ce38a7002e0c5e7df8fa0731',NULL),(49,1,'037c5b55d726c514ff8279424f5c80a1654468f8b24acc7c24b4982822311e0e','2026-02-04 09:23:11','2026-03-06 09:23:11',NULL,'edcc00d2a219e4cd263648e939f7d819bdef8ccb2072c21813bb6b7e1d3a6d2f','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-04 09:29:17'),(50,1,'e42733edea99e2c9ac2a38b9507ba444a5920934718f58f91fdc1efad61d5832','2026-02-05 02:18:47','2026-03-07 02:18:47',NULL,'4972f8e009cdb5d8dee3d43b73326d4bea1506c235445ff7fc51cfed73967647','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-05 02:19:12'),(51,1,'f3fce41b08f27610d9e12b1b126571347dd6f7afa2dd30d3c8e6581e5fd22f25','2026-02-05 02:19:49','2026-03-07 02:19:49',NULL,'6a60c4735b5e5dd3697c9c4ecc27b189627bb1719654f0ff41746e05377285b8','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-05 02:25:18'),(52,1,'790838dc884efe22f31e214f7af7311c972195055061031412b8a5da0ef13bc8','2026-02-05 02:28:42','2026-03-07 02:28:42',NULL,'0f7a222a3201328975bbe585e817aff292a6d81a197f68fe41f268ea3a55cf7b','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-05 02:31:37'),(53,1,'bb4e70d035ad48715a5a654042ff366c64327df37ab2f3b6cf66476c40f297b8','2026-02-05 11:05:21','2026-03-07 11:05:21',NULL,'c96750b586b61f1ee47593287b3dc56af154790b7be901c5fe8bd86ea3e49fd7','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-05 11:05:27'),(54,1,'e475c6b1c06a5116e712ea23536c7a54fe023a9b21fdd015154c7f235f2097eb','2026-02-05 11:06:04','2026-03-07 11:06:04',NULL,'01f54a934d6ad547777309e99aad27d193f05e4dfb38734eb5a28f3bf3871441','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(55,6,'e0ecc0b51d8e69d0a6bdfc218c77b14961ecd04da486aba015673963176dc179','2026-02-05 23:30:52','2026-03-07 23:30:52',NULL,'506cf3aa40903b07da7c167672d2823598b4013ee32b9ff9a4aea1a8d98f7c76','ff9b6d5d995c1983bdeff028fb2abdfca05db296c62989f1dd230e821d593b9b',NULL),(56,1,'57f967689f5e8a8501b708941a55025a9d640559220aeb0c0e0e301134549bea','2026-02-05 23:54:37','2026-03-07 23:54:37',NULL,'71e33ae7cd4ab4f1a66ba976f5841659cff989c0e03646e1b359e2729fba007d','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(57,1,'f66a8da81d1632e53e084de1dc9029bee0485447d3ab219b8d3f2305c6344ba8','2026-02-06 00:42:08','2026-03-08 00:42:08',NULL,'5108b00c68eeb4ef54fade9144ce4684e30a991a779a7a74dc8283cae52fd9d7','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(58,1,'b8ac85d269c31ce5bf641c86120112522f77dfb8723f1053e35aa5e494a9bfde','2026-02-06 02:31:23','2026-03-08 02:31:23',NULL,'c96750b586b61f1ee47593287b3dc56af154790b7be901c5fe8bd86ea3e49fd7','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(59,1,'c3a3e6afcfc1f3b7caab0ca896c01c1406d3209fd1900f4c6b90ec6f74782be9','2026-02-06 03:33:21','2026-03-08 03:33:21',NULL,'007c47351e61faa69b1c4d565e44495e58b74246f2ffa5b610d90c8f5315cad3','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(60,1,'c7cc5fc17f2d9a6cdb8536e2b77f0f9f3f9fbd635b213bdc7b805d8ed7d0c763','2026-02-06 04:44:37','2026-03-08 04:44:37',NULL,'c96750b586b61f1ee47593287b3dc56af154790b7be901c5fe8bd86ea3e49fd7','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(61,1,'4681b558d2b3dc865846757a60318233606d0cf6079cb27633a3bf006db42958','2026-02-06 11:01:36','2026-03-08 11:01:36',NULL,'5b6bff4b93a75171a519672157c062de427a5d536f12c5d5898362d71e5e5697','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(62,1,'403c7fcb024a7a1f5fd574991a78dff7ce7a5c84ca07e6049ebe7ec8e942af85','2026-02-07 06:38:10','2026-03-09 06:38:10',NULL,'506cf3aa40903b07da7c167672d2823598b4013ee32b9ff9a4aea1a8d98f7c76','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(63,1,'17fb4c114a6b72d8f01031068b4c36f01cf5e9fde9cd7848e2cc5264c5750a8a','2026-02-07 13:24:49','2026-03-09 13:24:49',NULL,'bb0ee04fa0d982f7a379d1424fcaf54c300c3bc32d3e6119ac4481f63d782bc4','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(64,1,'9525b55683a9931c0608f4434c9d1bca5fac1804573e4014842b48d2dbc2c530','2026-02-07 13:37:21','2026-03-09 13:37:21',NULL,'779c5a8efd7e570da5c4e3978c860d4701580ac1447960e757375aecda8a4fd9','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(65,1,'c055f871e5b248e12dcbff8ef050e7a2730f5513c5aac9a29cdecd0c54557613','2026-02-08 00:05:50','2026-03-10 00:05:50',NULL,'b61ed38db2e99e51bee860dcfc7a36e35d4844d74f3566626661b2b22bfef6dc','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(66,1,'70b93034191558e769d52f345a2523b47e8429d674b282880a239973b07cff62','2026-02-08 07:40:21','2026-03-10 07:40:21',NULL,'0f7a222a3201328975bbe585e817aff292a6d81a197f68fe41f268ea3a55cf7b','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(67,1,'d31371ac1f27eae0d399884dafac2ca507cc392cc1f0e1e8d7b038ffadd427da','2026-02-08 09:19:28','2026-03-10 09:19:28',NULL,'7bce147075a0d2415a33c7f6f6323c3cffc0f5526f345e6276addb4ad5319470','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(68,1,'2395962850eb803c247e112e02cb32c6c077ce7084879445b6b1dc4b89078a4e','2026-02-08 12:02:55','2026-03-10 12:02:55',NULL,'5108b00c68eeb4ef54fade9144ce4684e30a991a779a7a74dc8283cae52fd9d7','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(69,1,'2a9771a64dffd08e87689ada8aa0b1ac7b09652cd9f6345dba5cd3fe55145984','2026-02-08 13:09:41','2026-03-10 13:09:41',NULL,'007c47351e61faa69b1c4d565e44495e58b74246f2ffa5b610d90c8f5315cad3','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(70,1,'8a8036776cc072d0d1867df68c3727426abe2a5cce6164632759345559251f2b','2026-02-08 14:15:42','2026-03-10 14:15:42',NULL,'0f7a222a3201328975bbe585e817aff292a6d81a197f68fe41f268ea3a55cf7b','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(71,1,'6be6e789c05c482117893082d57e20340602a990508cd37ef84da2b2d602ee34','2026-02-08 19:31:28','2026-03-10 19:31:28',NULL,'71a4b573bc41e395b5c836c9c56fb0cc82ba3b61158b455d530415d2e78a2207','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(72,1,'40b1441b1b56458e425d52c1e39c88aa5daaca1fc02478226531e65f50ee5e6e','2026-02-08 22:13:56','2026-03-10 22:13:56',NULL,'af02d77bbe0da62d2a52932ec189b65dcd59e95ee3162c873e86b690f41f9a4d','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(73,1,'f1583d8f78ffd657694e5f7f5fe211d3eb1eaeb39f6e282be5cfb2b0e2dcb677','2026-02-09 01:55:35','2026-03-11 01:55:35',NULL,'af47f3a90430e9d147ee952603dc38807301d01a18a3cbaab118e867ccb897c6','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(74,1,'85e66d80585b6a7f1cfa5f718cbe352c8565b51985e53c9de7bb75df7a5b7bed','2026-02-09 02:43:09','2026-03-11 02:43:09',NULL,'045a7f130f96ad1f7c0280ba9a70c3b9141c200474b5386b8c99ffb4412967f3','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(75,1,'75ef2f7e0882a56d0d8885139ac915a7f16acb98048832b6b17e66d25bd3b23b','2026-02-09 08:06:35','2026-03-11 08:06:35',NULL,'d53c908eab85653932330e71c22a317466b14e8ff32f84ac6f26835ac1a266ac','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(76,1,'2f79f323c712a7325bfeb82bda96105ca58f43ee04c1323e94b6f000958a7b35','2026-02-09 23:48:15','2026-03-11 23:48:15',NULL,'44bc38ee8af04559209f0852257840a135842baf1a70e785c50933489115f691','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(77,1,'e9ad02a67986b86b147d24e39cd5cafd180935e182cf679c544d61ab74903b62','2026-02-10 12:00:10','2026-03-12 12:00:10',NULL,'7bce147075a0d2415a33c7f6f6323c3cffc0f5526f345e6276addb4ad5319470','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(78,1,'dbb9b97925edea7281ebbbe3f65a473b8501a9779343027ffae27b590692a5f4','2026-02-10 23:26:18','2026-03-12 23:26:18',NULL,'5e4135eb7c71c9dcdb275af7166bfd282416698f336a928ecd53a9a4e9faa724','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(79,1,'655400a134c0ae010ec5a34289f557a1d7504ec863cf89a1a5134d9e87ef12aa','2026-02-11 05:40:00','2026-03-13 05:40:00',NULL,'c3fbdfd622d3ec861c797823e692dde1b74f7e2c45b2f733670c7e927182c909','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(80,1,'86854ac9566bb6fa80c9aa65a279c8a23bab7e0d65b9071d20c88cafc519f69a','2026-02-13 13:07:35','2026-03-15 13:07:35',NULL,'491b8a8d3f09059c40d51523a9f7844a5b894a2aa1420175e8c36aa9573f9c2c','2bf039ee060747d8e49b862966e6c9f8fe6252e71c3c597f43b70f6a0e500d2a',NULL),(81,1,'cce34f5343c2b14beaa2f3db0686c352f585967953c83b5ed5421db952165b00','2026-02-13 23:51:04','2026-03-15 23:51:04',NULL,'c053ad1ce7039b67fb44fe966a4d66dbefad4bf48d2bbb7837c49c613b9374a2','2bf039ee060747d8e49b862966e6c9f8fe6252e71c3c597f43b70f6a0e500d2a','2026-02-13 23:51:11'),(82,1,'1430e78b1d340cd54c19d00bad7ba4a0d3a708cb40435d173530a3acf685da00','2026-02-13 23:51:33','2026-03-15 23:51:33',NULL,'5fb78e53979d8de178fb75ca743998650c72144280ddeeef2c2a53bad2349971','86acc63eeb312d9b50cf3bd08e81df351cb2c141ce38a7002e0c5e7df8fa0731','2026-02-14 00:06:40'),(83,7,'1747bc4253225c1192c7800feaaea0a7f874de01314ad6b98f58237f8d9a4c97','2026-02-14 00:11:08','2026-03-16 00:11:08',NULL,'71a4b573bc41e395b5c836c9c56fb0cc82ba3b61158b455d530415d2e78a2207','86acc63eeb312d9b50cf3bd08e81df351cb2c141ce38a7002e0c5e7df8fa0731','2026-02-14 00:37:51'),(84,1,'604655b26d7136609f7a2124759c24b21f81fe6e01e9110ec830c98992186063','2026-02-14 01:06:30','2026-03-16 01:06:30',NULL,'7541b65b0d79ad6f0a7243eaccd3b39dae3f09afa83b3bebae2ada870aecb89d','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(85,1,'25e245a9064a8edd9ad30385ed7792ed70ff3edc96dd1bab7f1391dc0efd4f22','2026-02-14 06:39:45','2026-03-16 06:39:45',NULL,'bb0ee04fa0d982f7a379d1424fcaf54c300c3bc32d3e6119ac4481f63d782bc4','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-14 06:39:50'),(86,1,'1465e9bd7c9cae8b17b30e4d15790c94dc50cd1960baab13d21863a464e75ff9','2026-02-14 06:40:42','2026-03-16 06:40:42',NULL,'7436cfc0baab9388bb2132ded19bfc8137245ba697f407300118eeae306cb339','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-14 06:52:42'),(87,1,'b4aa96d06479ea2e8e5bc78516acafb79373b3dab0b168d742d178170b146259','2026-02-14 07:04:52','2026-03-16 07:04:52',NULL,'5108b00c68eeb4ef54fade9144ce4684e30a991a779a7a74dc8283cae52fd9d7','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-14 07:04:56'),(88,1,'f2f48cf8578d3988be214b593530d4d32517f3ad5c449b6cfe9a6c546d41d238','2026-02-14 07:05:28','2026-03-16 07:05:28',NULL,'5108b00c68eeb4ef54fade9144ce4684e30a991a779a7a74dc8283cae52fd9d7','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-14 07:05:38'),(89,1,'55e5aae5ea0d60e7ce9092a58760770114dc55a312c9bebb0fad83d59bc995c0','2026-02-14 07:59:39','2026-03-16 07:59:39',NULL,'6588a9db72fa08df8ff5793c15475202d33c8a955e97fa078c9c7fddd339e56c','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(90,1,'d4f82f0cf3bc267c549006bfe7833d683ed5d7edfd6cf6d5d170998e8f342559','2026-02-14 11:45:38','2026-03-16 11:45:38',NULL,'5108b00c68eeb4ef54fade9144ce4684e30a991a779a7a74dc8283cae52fd9d7','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-14 11:45:45'),(91,1,'c2794fa2e576643394152a33157872919fb68c289c5960fb1d9da592029002f5','2026-02-14 11:46:00','2026-03-16 11:46:00',NULL,'7078a51bef717a612774e4e94b7fef94c44d75f225c1091f92b4d5c8e91efa48','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-14 11:47:32'),(92,1,'ba1399c6fe51f8fa99045cbe8318382c40c6f7ce81566df7d7095448ad66902d','2026-02-14 11:52:22','2026-03-16 11:52:22',NULL,'44bc38ee8af04559209f0852257840a135842baf1a70e785c50933489115f691','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(93,1,'c8fdb2844f3ae33e2d0a9ae108b2dea37d97c342ff4eb3a2f1a7577feebad42b','2026-02-14 17:36:01','2026-03-16 17:36:01',NULL,'831339f25c4fc54602818152f4d6bafa14a42ccbf0aeb7feec2a281ac271be32','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(94,1,'39644a4102b18fe2b738abc46d704a9123cb6b139d81bc0afbd3eb65759f5b08','2026-02-14 21:12:59','2026-03-16 21:12:59',NULL,'5108b00c68eeb4ef54fade9144ce4684e30a991a779a7a74dc8283cae52fd9d7','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(95,7,'957564975dc2c4abebbe884054a65d8307921911859dd086888a036beee2986a','2026-02-14 22:06:44','2026-03-16 22:06:44',NULL,'4fe7c5b54cd899d8fe4265ea6d15015794d6c890b2efa79005db11ecea7bf0eb','86acc63eeb312d9b50cf3bd08e81df351cb2c141ce38a7002e0c5e7df8fa0731','2026-02-14 22:07:19'),(96,1,'f67f70cddd2d2b72537c52ee999d4fee926697b0ea95e2d6bddaaae316f6b8b8','2026-02-14 23:10:31','2026-03-16 23:10:31',NULL,'0f7a222a3201328975bbe585e817aff292a6d81a197f68fe41f268ea3a55cf7b','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(97,1,'59e51eec8dc4cf91c96e788c86063d5b9ebf3b6aebafc911ca6560ad17fb8fd5','2026-02-15 02:16:35','2026-03-17 02:16:35',NULL,'924c3f62f6946927f8652dde619be732a6ba0e1f23516089b5e69843527e118d','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(98,1,'88204a8b4b801613c245654bb74fa2068f6c42dc8da6bde95828f971539e13b3','2026-02-15 15:57:41','2026-03-17 15:57:41',NULL,'7078a51bef717a612774e4e94b7fef94c44d75f225c1091f92b4d5c8e91efa48','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2','2026-02-15 16:10:41'),(99,1,'94fa5afac60520093a298bc34c36e2b65195fba47546c8630f46144f618e7ddb','2026-02-15 16:10:49','2026-03-17 16:10:49',NULL,'924c3f62f6946927f8652dde619be732a6ba0e1f23516089b5e69843527e118d','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(100,1,'a875ec5c821c2ed5af5a9a3192389910813da152587d885162e8e5a3d4682404','2026-02-15 19:31:52','2026-03-17 19:31:52',NULL,'6ca9b5f600c31e889040d8d50613cb48306a85652dd43c87f9f53e1517f14f35','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(101,1,'95aac0553b20a3061c2b58dc301ea0db702a03cb2503b14390fead1bedb867d7','2026-02-15 22:52:21','2026-03-17 22:52:21',NULL,'9ed239404364758cd4dbdbc8a9459adced2c5f45b12c36e7c992a1af0ba7ef83','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(102,1,'10be3e5e049d506e24e134230d2f0e17d30e5cc6ca17bb8d292dc27b3d4235c6','2026-02-17 01:32:50','2026-03-19 01:32:50',NULL,'ed1b437e8351fa34288342bc50c917d8b77e73e2b8b1cd2a445c270929d5c75b','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(103,1,'8bd625d7c0f4324302f533c3824f1a669d707a53f1b153e2903028ec4513d5c7','2026-02-17 01:48:26','2026-03-19 01:48:26',NULL,'e370c99a5085e79fdd32399c8e17b6d578e9971ec506396d7e557f34f4106a92','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(104,1,'fc93514df443575af0e83ff47db3b6b85d27b054b522693ca1758b472f0a46c9','2026-02-17 02:00:05','2026-03-19 02:00:05',NULL,'41fec3f08ac3067f735a7865a65852a45dc23258662fad4a0e99e10c73c304b8','f6806aaa5542082348e936dfb19ef03cf9d419119d82266f48bfc7eaec986613',NULL),(105,1,'2fa96df30415d408106bac669d95c14f7c28a003465daed80e3e31f6dfd49388','2026-02-17 02:40:15','2026-03-19 02:40:15',NULL,'c1125cd9d0a69e1f52af317943b7842f149a251c3e0db5d5f104464c4f40b28b','f6806aaa5542082348e936dfb19ef03cf9d419119d82266f48bfc7eaec986613',NULL),(106,1,'01be9d19e989630ff200fd7d332e618d84bd6d3a7fd6f572ac0f59a855a8723e','2026-02-17 02:41:22','2026-03-19 02:41:22',NULL,'41fec3f08ac3067f735a7865a65852a45dc23258662fad4a0e99e10c73c304b8','f6806aaa5542082348e936dfb19ef03cf9d419119d82266f48bfc7eaec986613',NULL),(107,1,'804f8ceb1f27f91fbdcb51f6a4b51cc97b1b730a829ff6429ab970280acaaf6b','2026-02-17 13:24:51','2026-03-19 13:24:51',NULL,'49f912c05526bb71ce3cac93e52ccb00719d935b6dbc4f61a0e0bdf39b32f30d','2bf039ee060747d8e49b862966e6c9f8fe6252e71c3c597f43b70f6a0e500d2a',NULL),(108,1,'216bfb449a7a2b89975171b5cb943d8d162554b4e3e72b25b5f832821907e074','2026-02-18 01:40:53','2026-03-20 01:40:53',NULL,'71e33ae7cd4ab4f1a66ba976f5841659cff989c0e03646e1b359e2729fba007d','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(109,1,'03c97d167b5b410c382717fb6f9fab4946f8285cd36099ac3c157894fe9e9417','2026-02-18 01:49:36','2026-03-20 01:49:36',NULL,'01f54a934d6ad547777309e99aad27d193f05e4dfb38734eb5a28f3bf3871441','f6806aaa5542082348e936dfb19ef03cf9d419119d82266f48bfc7eaec986613',NULL),(110,1,'dacde26ff774fd2950ae7ff9e63f88c6f831eefe9253f7c9cf341cd86c195dc1','2026-02-22 02:26:09','2026-03-24 02:26:09',NULL,'9ed239404364758cd4dbdbc8a9459adced2c5f45b12c36e7c992a1af0ba7ef83','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(111,1,'bcf43d98383e5aab5ea843e59f1242966971b257c3036bb7e877445ec74f7d31','2026-02-22 16:08:51','2026-03-24 16:08:51',NULL,'9ed239404364758cd4dbdbc8a9459adced2c5f45b12c36e7c992a1af0ba7ef83','816147bedd84317a66534e444e60842858f0f2a3b3fa43710b4ef836da4252d2',NULL),(112,1,'1f306b586ada06629049f854537574261e768b471e3b3fe0bce7fe933dc04796','2026-02-26 11:54:36','2026-03-28 11:54:36',NULL,'7f240c4a231ddc5ea1ff5571dfb331e63a88ffd95e2ab191d2c4a89da22b5146','53304b2e8c092ed66b5666499bea55dc9f17570f682a0413aeaf69034cef3f69',NULL),(113,1,'318ead85dcd184bf17e67807dc86e89512541672a3b8c43d305a226fea84f1c8','2026-03-07 08:02:36','2026-04-06 08:02:36',NULL,'01f54a934d6ad547777309e99aad27d193f05e4dfb38734eb5a28f3bf3871441','53304b2e8c092ed66b5666499bea55dc9f17570f682a0413aeaf69034cef3f69',NULL),(114,1,'676006fd3082546f0f2e55c5a5dd1a3d81167551b434132ce1fa4bad9272c6fb','2026-03-07 11:06:04','2026-04-06 11:06:04',NULL,'831339f25c4fc54602818152f4d6bafa14a42ccbf0aeb7feec2a281ac271be32','53304b2e8c092ed66b5666499bea55dc9f17570f682a0413aeaf69034cef3f69',NULL),(115,1,'786acbfb2fe1fc53b81040d915a42fd9f9ab56c3d4180f490a0a6bc24b826881','2026-03-08 23:10:47','2026-04-07 23:10:47',NULL,'bfd97aff71ec5f2b2c6db0b86a1f05ccfc60179138054cf469d0ca5dada9a5cd','53304b2e8c092ed66b5666499bea55dc9f17570f682a0413aeaf69034cef3f69',NULL),(116,1,'5d5acf7227fa23c8f9bee956aafa5c1a5d7842f7e8c3571eb6c2726a9a2f7d20','2026-03-23 01:16:01','2026-04-22 01:16:01',NULL,'1c3774024ad766ed1be6b28e4d0c1eaff63227176cd237c09f507c267552d26c','7526c00e18367b920e093b58c42973f7ef17b0623f24232159ddf110f63f8cbf',NULL),(117,1,'63a5740806aaadd7fd313fc095e28db6d86bf61974aa8008f4a80811ec07eda4','2026-03-27 01:50:20','2026-04-26 01:50:20',NULL,'71a4b573bc41e395b5c836c9c56fb0cc82ba3b61158b455d530415d2e78a2207','7526c00e18367b920e093b58c42973f7ef17b0623f24232159ddf110f63f8cbf',NULL),(118,1,'9071488ff25ab0cd02df1fe41d83384937483bd3d05179a1c7858c223a285ef7','2026-04-21 21:37:10','2026-05-21 21:37:10',NULL,'f57571113aedc7a7a9383083564afa4765e161d8c13706a75e689d0eafc48e71','0bd344b0c35df6194768cf96fa21de8bf7729ee8f2bbb2e21eeba7b741b53119',NULL),(119,1,'c9c08f473d48700c09fd9afef24e906cc906ce6c6410806654728c02bde4067f','2026-04-22 19:37:54','2026-05-22 19:37:54',NULL,'accaea0146021990e90147095e737d11421cbb2b72ab5681ae5e82a586100124','a75dc788f4cac4e8cc73de22d1a9d18622d0af8607216bdef0a1b34e7380308f','2026-04-22 19:39:07'),(120,1,'ab90896b3bdfa46aee8dbac55f897707fae5f7f477428aea589eb3fc41a600f3','2026-04-22 19:41:04','2026-05-22 19:41:04',NULL,'accaea0146021990e90147095e737d11421cbb2b72ab5681ae5e82a586100124','a75dc788f4cac4e8cc73de22d1a9d18622d0af8607216bdef0a1b34e7380308f',NULL),(121,1,'9ccc098c7d32f05b2e4e42aa9250e790fd5d575a0b56c52c09a2d0d0a93f37a0','2026-04-28 22:50:51','2026-05-28 22:50:51',NULL,'72c638005de52bcf8c0748b64d9a72b478abde1c296fe6a8c06b57d356e2ebec','1667ff80f9c32f8fc2ef206e89aec023debca38b9d45564a566589045392b831',NULL),(122,1,'c68690c63bf3b102d568283a07989a3581307a4b05ead14d7963e0b253a5f8a2','2026-05-24 13:56:17','2026-06-23 13:56:17',NULL,'39802b8aa8292b09bb08841bbb74957899299ff13833b2a64128b3f4eabb55bc','2efe31d10f76c485332c7bf4dba8fe8272eb4cb7f5e35d544dc126eb3bf993be',NULL);

--
-- Table structure for table `user_skill_unlocks`
--

CREATE TABLE `user_skill_unlocks` (
  `user_id` int NOT NULL,
  `node_id` int NOT NULL,
  `unlocked_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`user_id`,`node_id`),
  KEY `fk_unlock_node` (`node_id`),
  CONSTRAINT `fk_unlock_node` FOREIGN KEY (`node_id`) REFERENCES `skill_nodes` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_skill_unlocks`
--


--
-- Table structure for table `user_status`
--

CREATE TABLE `user_status` (
  `user_id` bigint unsigned NOT NULL,
  `email_verified` tinyint(1) NOT NULL DEFAULT '0',
  `admin_approved` tinyint(1) NOT NULL DEFAULT '0',
  `is_active` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `approved_by_admin` tinyint(1) NOT NULL DEFAULT '0',
  `banned_reason` varchar(255) DEFAULT NULL,
  `is_banned` tinyint(1) NOT NULL DEFAULT '0',
  `banned_at` datetime DEFAULT NULL,
  `ban_reason` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`user_id`),
  CONSTRAINT `fk_user_status_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_status`
--

INSERT INTO `user_status` VALUES (1,1,1,1,'2026-02-14 02:46:53','2026-02-14 06:56:29',1,NULL,0,NULL,NULL),(2,0,0,0,'2026-02-14 18:03:30','2026-02-14 18:03:30',1,NULL,0,NULL,NULL),(6,1,0,1,'2026-02-14 18:03:23','2026-02-14 18:03:41',1,NULL,0,NULL,NULL),(7,1,0,1,'2026-02-14 18:03:19','2026-02-14 18:03:46',1,NULL,0,NULL,NULL),(9,1,0,1,'2026-02-14 11:49:09','2026-02-14 11:53:01',1,NULL,0,NULL,NULL),(10,1,0,1,'2026-04-22 19:39:44','2026-04-22 19:42:53',1,NULL,0,NULL,NULL);

--
-- Table structure for table `user_vouchers`
--

CREATE TABLE `user_vouchers` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned NOT NULL,
  `voucher_type_id` int unsigned NOT NULL,
  `status` enum('owned','redeemed','void') NOT NULL DEFAULT 'owned',
  `acquired_via` enum('shop','admin','code') NOT NULL DEFAULT 'shop',
  `acquired_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `redeemed_at` datetime DEFAULT NULL,
  `reward_type` varchar(60) DEFAULT NULL,
  `reward_key` varchar(120) DEFAULT NULL,
  `reward_payload_json` json DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_uv_user` (`user_id`),
  KEY `idx_uv_status` (`status`),
  KEY `idx_uv_type` (`voucher_type_id`),
  KEY `idx_uv_acquired` (`acquired_at`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `user_vouchers`
--

INSERT INTO `user_vouchers` VALUES (1,1,1,'redeemed','shop','2026-02-09 02:54:20','2026-02-09 03:03:09','character','character:forge_guard_shield_type','{\"meta\": null, \"pool_id\": 2, \"reward_name\": \"Forge Shield Guard\"}');

--
-- Table structure for table `users`
--

CREATE TABLE `users` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(32) NOT NULL,
  `email` varchar(255) NOT NULL,
  `password_hash` varchar(255) NOT NULL,
  `role` enum('admin','moderator','user') NOT NULL DEFAULT 'user',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `last_login_at` timestamp NULL DEFAULT NULL,
  `is_banned` tinyint(1) NOT NULL DEFAULT '0',
  `is_verified` tinyint(1) NOT NULL DEFAULT '0',
  `verified_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `users`
--

INSERT INTO `users` VALUES (1,'admin','bluecometspt@gmail.com','$2y$10$X2iIz2DaZRzykG4BgXYZLeIg9ZAvDSLjhQG9iZ5ySZRcNUrWvr/9C','admin','2026-01-26 08:09:47','2026-05-24 13:56:17',0,1,'2026-02-01 01:51:59'),(2,'ThaTank56','Datdude.ab0216@gmail.com','$2y$10$YoPw1nsaoUM9T5VRkykgoOS1.0QQFNfw3D/1ZA20T45.19dd4Mw62','user','2026-01-29 21:06:39',NULL,0,1,NULL),(6,'NekroTechie','nekrotechie@gmail.com','$2y$10$ucxwgtSl/uzlGkI6C86I5eaPqQ.P1uvuy9yapjCxjmlk5yd1x1WKe','admin','2026-02-05 23:30:52',NULL,0,1,'2026-02-14 18:03:41'),(7,'gandolf07','ccoullette1@ftc-i.net','$2y$10$rhrn8gO5/TvSot2/XP8qL.lDogglEggkwIl5ccNAzezqKePPTp9OW','user','2026-02-14 00:11:08','2026-02-14 22:06:44',0,1,'2026-02-14 18:03:46'),(9,'Admin2','studio.excelia.zero@gmail.com','$2y$10$IjmLFCZqgszEr5xkHd1uGufeFyLn7mePYhFGnbKVU0.BpuKE7V4OC','user','2026-02-14 11:49:09',NULL,0,1,'2026-02-14 11:51:58'),(10,'jasonmccoy82','jmonta82@gmail.com','$2y$10$6MpL2Pz57KjY7Pm1.IKUSO0.o9EqAar8uzDqkh8cfVkTbfvDnG2ae','admin','2026-04-22 19:39:44',NULL,0,1,'2026-04-22 19:39:54');

--
-- Table structure for table `voucher_pool_items`
--

CREATE TABLE `voucher_pool_items` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `voucher_type_id` int unsigned NOT NULL,
  `reward_type` varchar(60) NOT NULL,
  `reward_key` varchar(120) NOT NULL,
  `weight` int NOT NULL DEFAULT '1',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `payload_json` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_vpi_type` (`voucher_type_id`),
  KEY `idx_vpi_active` (`is_active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `voucher_pool_items`
--


--
-- Table structure for table `voucher_pools`
--

CREATE TABLE `voucher_pools` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `voucher_type_id` int unsigned NOT NULL,
  `reward_type` enum('character','weapon','dungeon','style','item') NOT NULL,
  `reward_key` varchar(120) NOT NULL,
  `reward_name` varchar(190) NOT NULL,
  `weight` int unsigned NOT NULL DEFAULT '1',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `meta_json` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_vp_type` (`voucher_type_id`),
  KEY `idx_vp_active` (`is_active`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `voucher_pools`
--

INSERT INTO `voucher_pools` VALUES (1,2,'character','forge_guard_shield_type','Forge Shield Guard',1,1,'{\"character_id\": 2}','2026-02-09 02:58:27'),(2,1,'character','forge_guard_shield_type','Forge Shield Guard',1,1,'{\"character_id\": 2}','2026-02-09 03:02:34');

--
-- Table structure for table `voucher_types`
--

CREATE TABLE `voucher_types` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `slug` varchar(80) NOT NULL,
  `name` varchar(120) NOT NULL,
  `description` text,
  `price_points` int NOT NULL DEFAULT '0',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `category` varchar(50) NOT NULL DEFAULT 'misc',
  `rarity` varchar(20) NOT NULL DEFAULT 'common',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_vt_slug` (`slug`),
  KEY `idx_vt_active` (`is_active`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `voucher_types`
--

INSERT INTO `voucher_types` VALUES (1,'chraracter-echo-release-bronze','chraracter-echo-release-bronze','grants a character you connect to through your fate line through the ethereal',100,1,'2026-02-08 12:05:39','misc','common'),(2,'character-echo-release-silver','character-echo-release-silver','grants a character via the ethereal fate line you hear the voice faintly',200,1,'2026-02-08 12:06:37','misc','common');

--
-- Dumping events for database 'RpgSeaonsAlpha_db'
--

--
-- Dumping routines for database 'RpgSeaonsAlpha_db'
--

--
-- Current Database: `animemangastudio_db`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `animemangastudio_db` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;

USE `animemangastudio_db`;

--
-- Table structure for table `ad_zones`
--

CREATE TABLE `ad_zones` (
  `id` int NOT NULL AUTO_INCREMENT,
  `zone_key` varchar(80) NOT NULL,
  `title` varchar(150) NOT NULL,
  `ad_type` enum('html','image','script') DEFAULT 'html',
  `content` longtext,
  `image_path` varchar(255) DEFAULT NULL,
  `link_url` varchar(500) DEFAULT NULL,
  `is_enabled` tinyint(1) DEFAULT '1',
  `is_closeable` tinyint(1) DEFAULT '1',
  `open_new_tab` tinyint(1) DEFAULT '1',
  `sort_order` int DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `zone_key` (`zone_key`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `ad_zones`
--

INSERT INTO `ad_zones` VALUES (1,'header_banner','Header Banner','html','<strong>Ad Space:</strong> Promote a new manga release, sponsor, merch drop, or Patreon goal here.',NULL,NULL,0,1,1,10,'2026-06-26 00:10:31',NULL),(2,'sidebar_square','Sidebar Square','html','<strong>Support the Studio</strong><br>Place a sponsor card, affiliate banner, or Patreon callout here.',NULL,NULL,0,1,1,20,'2026-06-26 00:10:31',NULL),(3,'footer_banner','Footer Banner','html','<strong>Footer Ad Space</strong> — optional sponsor/support area.',NULL,NULL,0,1,1,30,'2026-06-26 00:10:32',NULL),(4,'floating_slider','Floating Slider','html','<strong>Help fund our next chapter!</strong><br><a href=\"#\">Become a supporter</a> and get updates.',NULL,NULL,0,1,1,40,'2026-06-26 00:10:32',NULL);

--
-- Table structure for table `animation_episodes`
--

CREATE TABLE `animation_episodes` (
  `id` int NOT NULL AUTO_INCREMENT,
  `project_id` int NOT NULL,
  `title` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `episode_number` decimal(6,2) DEFAULT '1.00',
  `description` text,
  `video_url` varchar(500) DEFAULT NULL,
  `video_file` varchar(255) DEFAULT NULL,
  `thumbnail` varchar(255) DEFAULT NULL,
  `status` enum('draft','published') DEFAULT 'draft',
  `published_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_project_episode_slug` (`project_id`,`slug`),
  CONSTRAINT `animation_episodes_ibfk_1` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `animation_episodes`
--

INSERT INTO `animation_episodes` VALUES (3,3,'Hunting through hunger','hunting-through-hunger',0.00,'Jordan Vance is a vampire who works for the police in a city of neon lights. She is able to walk the streets by day and night.','https://www.studioexceliazer0.com/assets/uploads/Videos/EnnShiZo3rdT/ennshizo-the-3rd-touch-ep-1.mp4',NULL,'','published','2026-06-28 01:43:31','2026-06-28 01:42:21');

--
-- Table structure for table `characters`
--

CREATE TABLE `characters` (
  `id` int NOT NULL AUTO_INCREMENT,
  `project_id` int DEFAULT NULL,
  `name` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `role` varchar(100) DEFAULT NULL,
  `bio` longtext,
  `avatar` varchar(255) DEFAULT NULL,
  `full_image` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `project_id` (`project_id`),
  CONSTRAINT `characters_ibfk_1` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `characters`
--


--
-- Table structure for table `email_logs`
--

CREATE TABLE `email_logs` (
  `id` int NOT NULL AUTO_INCREMENT,
  `recipient` varchar(190) NOT NULL,
  `subject` varchar(255) NOT NULL,
  `body` longtext,
  `status` varchar(50) DEFAULT NULL,
  `sent_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `email_logs`
--


--
-- Table structure for table `feedback`
--

CREATE TABLE `feedback` (
  `id` int NOT NULL AUTO_INCREMENT,
  `project_id` int DEFAULT NULL,
  `chapter_id` int DEFAULT NULL,
  `episode_id` int DEFAULT NULL,
  `user_id` int DEFAULT NULL,
  `visitor_name` varchar(150) DEFAULT NULL,
  `visitor_email` varchar(190) DEFAULT NULL,
  `rating` int DEFAULT NULL,
  `comment` text NOT NULL,
  `status` enum('pending','approved','rejected') DEFAULT 'pending',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `project_id` (`project_id`),
  KEY `chapter_id` (`chapter_id`),
  KEY `episode_id` (`episode_id`),
  KEY `user_id` (`user_id`),
  CONSTRAINT `feedback_ibfk_1` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE,
  CONSTRAINT `feedback_ibfk_2` FOREIGN KEY (`chapter_id`) REFERENCES `manga_chapters` (`id`) ON DELETE CASCADE,
  CONSTRAINT `feedback_ibfk_3` FOREIGN KEY (`episode_id`) REFERENCES `animation_episodes` (`id`) ON DELETE CASCADE,
  CONSTRAINT `feedback_ibfk_4` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `feedback`
--

INSERT INTO `feedback` VALUES (1,NULL,NULL,NULL,NULL,'test','administration@studioexceliazer0.com',3,'test','pending','2026-06-26 00:48:50');

--
-- Table structure for table `manga_chapters`
--

CREATE TABLE `manga_chapters` (
  `id` int NOT NULL AUTO_INCREMENT,
  `project_id` int NOT NULL,
  `title` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `chapter_number` decimal(6,2) DEFAULT '1.00',
  `content` longtext,
  `cover_image` varchar(255) DEFAULT NULL,
  `status` enum('draft','published') DEFAULT 'draft',
  `published_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `summary` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_project_chapter_slug` (`project_id`,`slug`),
  CONSTRAINT `manga_chapters_ibfk_1` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `manga_chapters`
--


--
-- Table structure for table `manga_pages`
--

CREATE TABLE `manga_pages` (
  `id` int NOT NULL AUTO_INCREMENT,
  `chapter_id` int NOT NULL,
  `image_path` varchar(255) NOT NULL,
  `page_number` int NOT NULL DEFAULT '1',
  `caption` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `chapter_id` (`chapter_id`),
  CONSTRAINT `manga_pages_ibfk_1` FOREIGN KEY (`chapter_id`) REFERENCES `manga_chapters` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `manga_pages`
--


--
-- Table structure for table `media`
--

CREATE TABLE `media` (
  `id` int NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `filename` varchar(500) NOT NULL,
  `mime_type` varchar(150) DEFAULT NULL,
  `alt_text` varchar(255) DEFAULT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `media`
--


--
-- Table structure for table `media_library`
--

CREATE TABLE `media_library` (
  `id` int NOT NULL AUTO_INCREMENT,
  `file_name` varchar(255) NOT NULL,
  `file_path` varchar(255) NOT NULL,
  `file_type` varchar(100) DEFAULT NULL,
  `uploaded_by` int DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `uploaded_by` (`uploaded_by`),
  CONSTRAINT `media_library_ibfk_1` FOREIGN KEY (`uploaded_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `media_library`
--


--
-- Table structure for table `pages`
--

CREATE TABLE `pages` (
  `id` int NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `content` longtext,
  `status` enum('draft','published') DEFAULT 'draft',
  `created_by` int DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`),
  KEY `created_by` (`created_by`),
  CONSTRAINT `pages_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `pages`
--


--
-- Table structure for table `plugins`
--

CREATE TABLE `plugins` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(150) NOT NULL,
  `folder` varchar(150) NOT NULL,
  `is_enabled` tinyint(1) DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `folder` (`folder`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `plugins`
--


--
-- Table structure for table `posts`
--

CREATE TABLE `posts` (
  `id` int NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `excerpt` text,
  `content` longtext,
  `featured_image` varchar(255) DEFAULT NULL,
  `status` enum('draft','published') DEFAULT 'draft',
  `created_by` int DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`),
  KEY `created_by` (`created_by`),
  CONSTRAINT `posts_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `posts`
--


--
-- Table structure for table `project_support`
--

CREATE TABLE `project_support` (
  `id` int NOT NULL AUTO_INCREMENT,
  `project_id` int NOT NULL,
  `funding_enabled` tinyint(1) DEFAULT '0',
  `funding_goal` decimal(12,2) DEFAULT '0.00',
  `funding_current` decimal(12,2) DEFAULT '0.00',
  `funding_currency` varchar(12) DEFAULT 'USD',
  `support_url` varchar(500) DEFAULT NULL,
  `support_label` varchar(120) DEFAULT 'Support on Patreon',
  `progress_enabled` tinyint(1) DEFAULT '0',
  `progress_percent` int DEFAULT '0',
  `progress_label` varchar(180) DEFAULT 'Development Progress',
  `progress_note` text,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `project_id` (`project_id`),
  CONSTRAINT `project_support_ibfk_1` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `project_support`
--


--
-- Table structure for table `projects`
--

CREATE TABLE `projects` (
  `id` int NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `project_type` enum('anime','manga','animation','visual_novel','other') DEFAULT 'manga',
  `summary` text,
  `description` longtext,
  `cover_image` varchar(255) DEFAULT NULL,
  `banner_image` varchar(255) DEFAULT NULL,
  `status` enum('concept','in_development','active','completed','paused') DEFAULT 'concept',
  `visibility` enum('public','private') DEFAULT 'public',
  `created_by` int DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT NULL,
  `funding_goal` decimal(12,2) DEFAULT '0.00',
  `funding_current` decimal(12,2) DEFAULT '0.00',
  `funding_currency` varchar(10) DEFAULT 'USD',
  `support_url` varchar(500) DEFAULT NULL,
  `support_label` varchar(150) DEFAULT 'Support Project',
  `progress_percent` int DEFAULT '0',
  `progress_note` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`),
  KEY `created_by` (`created_by`),
  CONSTRAINT `projects_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `projects`
--

INSERT INTO `projects` VALUES (3,'En\'nShiZo:3rd Touch','3rdtouch','animation','Jordan a detective who is also a vampire','','','','concept','public',NULL,'2026-06-28 01:40:05','2026-06-28 01:40:05',0.00,0.00,'USD','https://trimz.tv/ennshizo-the-3rd-touch','Support Project',0,NULL);

--
-- Table structure for table `settings`
--

CREATE TABLE `settings` (
  `id` int NOT NULL AUTO_INCREMENT,
  `setting_key` varchar(100) NOT NULL,
  `setting_value` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `setting_key` (`setting_key`)
) ENGINE=InnoDB AUTO_INCREMENT=134 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `settings`
--

INSERT INTO `settings` VALUES (1,'site_name','StudioExceliaZer0 Anime & Manga'),(2,'site_tagline','Original anime, manga, and animation development.'),(3,'site_url','https://www.studioexceliazer0.com'),(4,'active_theme','otakuflare-ignition'),(5,'allow_feedback','1'),(6,'moderate_feedback','1'),(7,'homepage_mode','projects'),(8,'logo',''),(9,'accent_color','#8b5cff'),(10,'email_enabled','0'),(11,'mail_from_email','noreply@studioexceliazer0.com'),(12,'mail_from_name','StudioExceliaZer0 Anime & Manga'),(13,'admin_notice_email','administration@studioexceliazer0.com'),(14,'require_email_verification','1'),(15,'ads_enabled','1'),(16,'floating_ads_enabled','1'),(17,'funding_enabled','1'),(35,'captcha_enabled','1'),(36,'captcha_on_login','0'),(37,'captcha_on_register','1'),(38,'captcha_on_feedback','0'),(39,'captcha_on_admin_login','0'),(52,'from_email','noreply@studioexceliazer0.com'),(53,'from_name','StudioExceliaZer0 Anime & Manga'),(62,'support_url',''),(63,'support_label','Support on Patreon');

--
-- Table structure for table `themes`
--

CREATE TABLE `themes` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(150) NOT NULL,
  `folder` varchar(150) NOT NULL,
  `is_active` tinyint(1) DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `folder` (`folder`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `themes`
--

INSERT INTO `themes` VALUES (1,'Neon Manga','neon-manga',0,'2026-06-26 00:10:31'),(2,'Dark Studio','dark-studio',0,'2026-06-26 00:10:31'),(7,'OtakuFlare Stream','otakuflare-stream',0,'2026-06-26 02:30:14'),(8,'OtakuFlare Ignition','otakuflare-ignition',1,'2026-06-27 11:45:08'),(12,'Excelia Chronicle','excelia-chronicle',0,'2026-06-27 12:32:09');

--
-- Table structure for table `users`
--

CREATE TABLE `users` (
  `id` int NOT NULL AUTO_INCREMENT,
  `username` varchar(100) NOT NULL,
  `email` varchar(190) NOT NULL,
  `password_hash` varchar(255) NOT NULL,
  `role` enum('admin','editor','author','member') DEFAULT 'member',
  `display_name` varchar(150) DEFAULT NULL,
  `avatar` varchar(255) DEFAULT NULL,
  `is_active` tinyint(1) DEFAULT '1',
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `verification_token` varchar(128) DEFAULT NULL,
  `verification_expires` timestamp NULL DEFAULT NULL,
  `email_notice_opt_in` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `users`
--

INSERT INTO `users` VALUES (1,'admin','administration@studioexceliazer0.com','$2y$10$yUmE83dK4r0EnhmZZpEg1.cvkJyzFpoaSDDspTaNHF1a.2QoUG5X6','admin','Studio Admin',NULL,1,'2026-06-26 00:10:32',NULL,NULL,1,'2026-06-26 00:10:32');

--
-- Dumping events for database 'animemangastudio_db'
--

--
-- Dumping routines for database 'animemangastudio_db'
--

--
-- Current Database: `phpmyadmin`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `phpmyadmin` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;

USE `phpmyadmin`;

--
-- Table structure for table `pma__bookmark`
--

CREATE TABLE `pma__bookmark` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `dbase` varchar(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `user` varchar(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `label` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '',
  `query` text COLLATE utf8mb3_bin NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Bookmarks';

--
-- Dumping data for table `pma__bookmark`
--


--
-- Table structure for table `pma__central_columns`
--

CREATE TABLE `pma__central_columns` (
  `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `col_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `col_type` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `col_length` text COLLATE utf8mb3_bin,
  `col_collation` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `col_isNull` tinyint(1) NOT NULL,
  `col_extra` varchar(255) COLLATE utf8mb3_bin DEFAULT '',
  `col_default` text COLLATE utf8mb3_bin,
  PRIMARY KEY (`db_name`,`col_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Central list of columns';

--
-- Dumping data for table `pma__central_columns`
--


--
-- Table structure for table `pma__column_info`
--

CREATE TABLE `pma__column_info` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `column_name` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `comment` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '',
  `mimetype` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '',
  `transformation` varchar(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `transformation_options` varchar(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `input_transformation` varchar(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `input_transformation_options` varchar(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `db_name` (`db_name`,`table_name`,`column_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Column information for phpMyAdmin';

--
-- Dumping data for table `pma__column_info`
--


--
-- Table structure for table `pma__designer_settings`
--

CREATE TABLE `pma__designer_settings` (
  `username` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `settings_data` text COLLATE utf8mb3_bin NOT NULL,
  PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Settings related to Designer';

--
-- Dumping data for table `pma__designer_settings`
--


--
-- Table structure for table `pma__export_templates`
--

CREATE TABLE `pma__export_templates` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `export_type` varchar(10) COLLATE utf8mb3_bin NOT NULL,
  `template_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `template_data` text COLLATE utf8mb3_bin NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `u_user_type_template` (`username`,`export_type`,`template_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Saved export templates';

--
-- Dumping data for table `pma__export_templates`
--


--
-- Table structure for table `pma__favorite`
--

CREATE TABLE `pma__favorite` (
  `username` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `tables` text COLLATE utf8mb3_bin NOT NULL,
  PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Favorite tables';

--
-- Dumping data for table `pma__favorite`
--


--
-- Table structure for table `pma__history`
--

CREATE TABLE `pma__history` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `db` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `table` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `timevalue` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `sqlquery` text COLLATE utf8mb3_bin NOT NULL,
  PRIMARY KEY (`id`),
  KEY `username` (`username`,`db`,`table`,`timevalue`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='SQL history for phpMyAdmin';

--
-- Dumping data for table `pma__history`
--


--
-- Table structure for table `pma__navigationhiding`
--

CREATE TABLE `pma__navigationhiding` (
  `username` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `item_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `item_type` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  PRIMARY KEY (`username`,`item_name`,`item_type`,`db_name`,`table_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Hidden items of navigation tree';

--
-- Dumping data for table `pma__navigationhiding`
--


--
-- Table structure for table `pma__pdf_pages`
--

CREATE TABLE `pma__pdf_pages` (
  `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `page_nr` int unsigned NOT NULL AUTO_INCREMENT,
  `page_descr` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`page_nr`),
  KEY `db_name` (`db_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='PDF relation pages for phpMyAdmin';

--
-- Dumping data for table `pma__pdf_pages`
--


--
-- Table structure for table `pma__recent`
--

CREATE TABLE `pma__recent` (
  `username` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `tables` text COLLATE utf8mb3_bin NOT NULL,
  PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Recently accessed tables';

--
-- Dumping data for table `pma__recent`
--

INSERT INTO `pma__recent` VALUES ('phpmyadmin','[{\"db\":\"phpmyadmin\",\"table\":\"pma__userconfig\"},{\"db\":\"phpmyadmin\",\"table\":\"pma__users\"}]'),('phpmyadminuser','[{\"db\":\"animemangastudio_db\",\"table\":\"projects\"},{\"db\":\"animemangastudio_db\",\"table\":\"users\"},{\"db\":\"repair_training_lab\",\"table\":\"users\"},{\"db\":\"repair_training_lab\",\"table\":\"lesson_slides\"},{\"db\":\"animemangastudio_db\",\"table\":\"settings\"},{\"db\":\"repair_training_lab\",\"table\":\"modules\"},{\"db\":\"repair_training_lab\",\"table\":\"lesson_quizzes\"},{\"db\":\"repair_training_lab\",\"table\":\"lesson_ap_objectives\"},{\"db\":\"repair_training_lab\",\"table\":\"lessons\"},{\"db\":\"repair_training_lab\",\"table\":\"courses\"}]');

--
-- Table structure for table `pma__relation`
--

CREATE TABLE `pma__relation` (
  `master_db` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `master_table` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `master_field` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `foreign_db` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `foreign_table` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `foreign_field` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  PRIMARY KEY (`master_db`,`master_table`,`master_field`),
  KEY `foreign_field` (`foreign_db`,`foreign_table`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Relation table';

--
-- Dumping data for table `pma__relation`
--


--
-- Table structure for table `pma__savedsearches`
--

CREATE TABLE `pma__savedsearches` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `search_name` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `search_data` text COLLATE utf8mb3_bin NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `u_savedsearches_username_dbname` (`username`,`db_name`,`search_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Saved searches';

--
-- Dumping data for table `pma__savedsearches`
--


--
-- Table structure for table `pma__table_coords`
--

CREATE TABLE `pma__table_coords` (
  `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `pdf_page_number` int NOT NULL DEFAULT '0',
  `x` float unsigned NOT NULL DEFAULT '0',
  `y` float unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`db_name`,`table_name`,`pdf_page_number`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Table coordinates for phpMyAdmin PDF output';

--
-- Dumping data for table `pma__table_coords`
--


--
-- Table structure for table `pma__table_info`
--

CREATE TABLE `pma__table_info` (
  `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `display_field` varchar(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  PRIMARY KEY (`db_name`,`table_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Table information for phpMyAdmin';

--
-- Dumping data for table `pma__table_info`
--


--
-- Table structure for table `pma__table_uiprefs`
--

CREATE TABLE `pma__table_uiprefs` (
  `username` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `prefs` text COLLATE utf8mb3_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`username`,`db_name`,`table_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Tables'' UI preferences';

--
-- Dumping data for table `pma__table_uiprefs`
--

INSERT INTO `pma__table_uiprefs` VALUES ('phpmyadminuser','RpgSeaonsAlpha_db','lore_entities','{\"CREATE_TIME\":\"2026-01-29 01:55:27\",\"col_order\":[0,1,2,3,4,5,6,7,8],\"col_visib\":[1,1,1,1,1,1,1,1,1]}','2026-01-31 08:44:07'),('phpmyadminuser','zpanelomega_db','plugins','{\"CREATE_TIME\":\"2025-11-26 11:46:06\"}','2026-01-10 02:27:16'),('phpmyadminuser','zpanelomega_db','twitch_settings','{\"sorted_col\":\"id ASC\",\"CREATE_TIME\":\"2026-01-13 01:12:35\"}','2026-01-14 12:44:57'),('phpmyadminuser','zpanelomega_db','users','{\"CREATE_TIME\":\"2025-11-26 02:58:41\"}','2025-11-29 18:42:10');

--
-- Table structure for table `pma__tracking`
--

CREATE TABLE `pma__tracking` (
  `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `version` int unsigned NOT NULL,
  `date_created` datetime NOT NULL,
  `date_updated` datetime NOT NULL,
  `schema_snapshot` text COLLATE utf8mb3_bin NOT NULL,
  `schema_sql` text COLLATE utf8mb3_bin,
  `data_sql` longtext COLLATE utf8mb3_bin,
  `tracking` set('UPDATE','REPLACE','INSERT','DELETE','TRUNCATE','CREATE DATABASE','ALTER DATABASE','DROP DATABASE','CREATE TABLE','ALTER TABLE','RENAME TABLE','DROP TABLE','CREATE INDEX','DROP INDEX','CREATE VIEW','ALTER VIEW','DROP VIEW') COLLATE utf8mb3_bin DEFAULT NULL,
  `tracking_active` int unsigned NOT NULL DEFAULT '1',
  PRIMARY KEY (`db_name`,`table_name`,`version`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Database changes tracking for phpMyAdmin';

--
-- Dumping data for table `pma__tracking`
--


--
-- Table structure for table `pma__userconfig`
--

CREATE TABLE `pma__userconfig` (
  `username` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `timevalue` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `config_data` text COLLATE utf8mb3_bin NOT NULL,
  PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='User preferences storage for phpMyAdmin';

--
-- Dumping data for table `pma__userconfig`
--

INSERT INTO `pma__userconfig` VALUES ('phpmyadmin','2025-12-22 21:33:56','{\"Console\\/Mode\":\"collapse\"}'),('phpmyadminuser','2026-06-28 21:38:12','{\"Console\\/Mode\":\"collapse\",\"NavigationWidth\":206,\"lang\":\"en_GB\"}');

--
-- Table structure for table `pma__usergroups`
--

CREATE TABLE `pma__usergroups` (
  `usergroup` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `tab` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `allowed` enum('Y','N') COLLATE utf8mb3_bin NOT NULL DEFAULT 'N',
  PRIMARY KEY (`usergroup`,`tab`,`allowed`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='User groups with configured menu items';

--
-- Dumping data for table `pma__usergroups`
--


--
-- Table structure for table `pma__users`
--

CREATE TABLE `pma__users` (
  `username` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  `usergroup` varchar(64) COLLATE utf8mb3_bin NOT NULL,
  PRIMARY KEY (`username`,`usergroup`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Users and their assignments to user groups';

--
-- Dumping data for table `pma__users`
--


--
-- Dumping events for database 'phpmyadmin'
--

--
-- Dumping routines for database 'phpmyadmin'
--

--
-- Current Database: `repair_training_lab`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `repair_training_lab` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;

USE `repair_training_lab`;

--
-- Table structure for table `academy_badges`
--

CREATE TABLE `academy_badges` (
  `id` int NOT NULL AUTO_INCREMENT,
  `badge_key` varchar(80) NOT NULL,
  `title` varchar(160) NOT NULL,
  `description` text,
  `icon` varchar(20) DEFAULT 0xF09F8F86,
  PRIMARY KEY (`id`),
  UNIQUE KEY `badge_key` (`badge_key`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `academy_badges`
--

INSERT INTO `academy_badges` VALUES (1,'hardware_specialist','Hardware Specialist','Completed core hardware visual labs and lessons.','🧰'),(2,'windows_technician','Windows Technician','Completed Windows repair lessons and scenarios.','🪟'),(3,'network_apprentice','Network Apprentice','Completed networking diagrams and troubleshooting labs.','🌐'),(4,'security_ready','Security Ready','Completed phishing and security operations scenarios.','🛡️'),(5,'endpoint_operator','Endpoint Operator','Completed Action1 endpoint management simulations.','💻');

--
-- Table structure for table `ap_objectives`
--

CREATE TABLE `ap_objectives` (
  `id` int NOT NULL AUTO_INCREMENT,
  `exam_code` varchar(40) NOT NULL,
  `domain` varchar(255) NOT NULL,
  `objective_code` varchar(40) NOT NULL,
  `objective_title` varchar(255) NOT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `ap_objectives`
--

INSERT INTO `ap_objectives` VALUES (1,'A+ Core 1','Hardware','HW-1','PC components, storage, RAM, power, and troubleshooting','2026-06-17 00:09:41'),(2,'A+ Core 1','Networking','NET-1','Basic networking, IP addressing, DHCP, DNS, Wi-Fi, and cabling','2026-06-17 00:09:41'),(3,'A+ Core 1','Mobile/Cloud','CLD-1','Virtualization, cloud concepts, and modern device support','2026-06-17 00:09:41'),(4,'A+ Core 2','Operating Systems','OS-1','Windows configuration, tools, repair, and troubleshooting','2026-06-17 00:09:41'),(5,'A+ Core 2','Security','SEC-1','Security best practices, malware, phishing, and account protection','2026-06-17 00:09:41'),(6,'A+ Core 2','Operational Procedures','OPS-1','Documentation, communication, change management, and safety','2026-06-17 00:09:41');

--
-- Table structure for table `certificates`
--

CREATE TABLE `certificates` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `certificate_level` varchar(80) NOT NULL,
  `issued_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_user_level` (`user_id`,`certificate_level`),
  CONSTRAINT `certificates_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `certificates`
--


--
-- Table structure for table `courses`
--

CREATE TABLE `courses` (
  `id` int NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `slug` varchar(255) DEFAULT NULL,
  `summary` text,
  `description` text,
  `image` varchar(500) DEFAULT NULL,
  `difficulty` varchar(50) DEFAULT 'Beginner',
  `estimated_hours` varchar(50) DEFAULT NULL,
  `sort_order` int NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `course_number` int NOT NULL DEFAULT '0',
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `courses`
--


--
-- Table structure for table `interactive_events`
--

CREATE TABLE `interactive_events` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `event_type` varchar(80) NOT NULL,
  `item_key` varchar(120) NOT NULL,
  `score` int DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `interactive_events`
--


--
-- Table structure for table `lab_assignments`
--

CREATE TABLE `lab_assignments` (
  `id` int NOT NULL AUTO_INCREMENT,
  `module_id` int NOT NULL,
  `title` varchar(180) NOT NULL,
  `summary` text NOT NULL,
  `instructions` text NOT NULL,
  PRIMARY KEY (`id`),
  KEY `module_id` (`module_id`),
  CONSTRAINT `lab_assignments_ibfk_1` FOREIGN KEY (`module_id`) REFERENCES `modules` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `lab_assignments`
--

INSERT INTO `lab_assignments` VALUES (1,1,'Training Rules Acknowledgment','Acknowledge the lab safety rules.','Create a ticket note acknowledging the rules. Include the hostname of one training endpoint and confirm it is not a live client machine.'),(2,2,'Hardware Inventory and Upgrade Plan','Inspect a test PC and write an upgrade recommendation.','Record CPU, RAM, storage, Windows version, disk health, and one practical upgrade recommendation. Upload screenshots.'),(3,3,'Network Diagram and Connectivity Test','Build a simple training network map.','Record router, switch, endpoint IPs. Run ipconfig, ping gateway, ping 8.8.8.8, and test DNS. Upload evidence.'),(4,4,'Action1 Inventory and Patch Report','Use Action1 against TRAINING endpoints only.','Open TRAINING - Lab PCs. Export or screenshot inventory, missing patches, and installed software. Do not touch production groups.'),(5,5,'Security Cleanup Simulation','Practice the safe malware response workflow.','On a test machine, review startup apps, browser extensions, Defender status, and installed apps. Document findings and cleanup.'),(6,6,'Final Mock Client Maintenance Report','Complete a client-style report.','Inspect one lab endpoint, patch it, resolve one issue, and submit a client-friendly maintenance summary with before/after evidence.'),(7,7,'Client Intake and Quote Practice','Practice business intake workflow.','Complete a mock service intake, device checklist, quote summary, and client approval note.'),(8,8,'Capstone Maintenance Cycle','Complete all core MSP tasks in one lab.','Inventory, patch, security review, notes, recommendation, and final maintenance report.');

--
-- Table structure for table `lab_submissions`
--

CREATE TABLE `lab_submissions` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `lab_id` int NOT NULL,
  `notes` text NOT NULL,
  `evidence_file` varchar(255) DEFAULT NULL,
  `status` enum('submitted','approved','needs_revision') NOT NULL DEFAULT 'submitted',
  `grade_notes` text,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `lab_id` (`lab_id`),
  CONSTRAINT `lab_submissions_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  CONSTRAINT `lab_submissions_ibfk_2` FOREIGN KEY (`lab_id`) REFERENCES `lab_assignments` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `lab_submissions`
--


--
-- Table structure for table `lesson_ap_objectives`
--

CREATE TABLE `lesson_ap_objectives` (
  `id` int NOT NULL AUTO_INCREMENT,
  `lesson_id` int NOT NULL,
  `objective_id` int NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_lesson_objective` (`lesson_id`,`objective_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `lesson_ap_objectives`
--


--
-- Table structure for table `lesson_labs`
--

CREATE TABLE `lesson_labs` (
  `id` int NOT NULL AUTO_INCREMENT,
  `lesson_id` int NOT NULL,
  `title` varchar(255) NOT NULL,
  `instructions` longtext NOT NULL,
  `sort_order` int DEFAULT '1',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=241 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Dumping data for table `lesson_labs`
--


--
-- Table structure for table `lesson_quizzes`
--

CREATE TABLE `lesson_quizzes` (
  `id` int NOT NULL AUTO_INCREMENT,
  `lesson_id` int NOT NULL,
  `question` text NOT NULL,
  `option_a` text NOT NULL,
  `option_b` text NOT NULL,
  `option_c` text NOT NULL,
  `correct_option` char(1) NOT NULL,
  `sort_order` int DEFAULT '1',
  `answer_a` varchar(255) DEFAULT NULL,
  `answer_b` varchar(255) DEFAULT NULL,
  `answer_c` varchar(255) DEFAULT NULL,
  `correct_answer` varchar(255) DEFAULT NULL,
  `explanation` text,
  `choices_json` longtext,
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=321 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
