nkmp_assign_tech_sharing_group = {
	# If not a vassal and overlord has no group, find first available group (Groups 1-20)
	if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_1
						is_in_tech_sharing_group = nkmp_vassal_research_group_1
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_1
		set_country_flag = nkmp_in_research_group_1
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_1
			set_country_flag = nkmp_in_research_group_1
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_2
						is_in_tech_sharing_group = nkmp_vassal_research_group_2
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_2
		set_country_flag = nkmp_in_research_group_2
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_2
			set_country_flag = nkmp_in_research_group_2
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_3
						is_in_tech_sharing_group = nkmp_vassal_research_group_3
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_3
		set_country_flag = nkmp_in_research_group_3
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_3
			set_country_flag = nkmp_in_research_group_3
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_4
						is_in_tech_sharing_group = nkmp_vassal_research_group_4
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_4
		set_country_flag = nkmp_in_research_group_4
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_4
			set_country_flag = nkmp_in_research_group_4
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_5
						is_in_tech_sharing_group = nkmp_vassal_research_group_5
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_5
		set_country_flag = nkmp_in_research_group_5
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_5
			set_country_flag = nkmp_in_research_group_5
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_6
						is_in_tech_sharing_group = nkmp_vassal_research_group_6
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_6
		set_country_flag = nkmp_in_research_group_6
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_6
			set_country_flag = nkmp_in_research_group_6
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_7
						is_in_tech_sharing_group = nkmp_vassal_research_group_7
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_7
		set_country_flag = nkmp_in_research_group_7
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_7
			set_country_flag = nkmp_in_research_group_7
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_8
						is_in_tech_sharing_group = nkmp_vassal_research_group_8
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_8
		set_country_flag = nkmp_in_research_group_8
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_8
			set_country_flag = nkmp_in_research_group_8
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_9
						is_in_tech_sharing_group = nkmp_vassal_research_group_9
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_9
		set_country_flag = nkmp_in_research_group_9
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_9
			set_country_flag = nkmp_in_research_group_9
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_10
						is_in_tech_sharing_group = nkmp_vassal_research_group_10
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_10
		set_country_flag = nkmp_in_research_group_10
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_10
			set_country_flag = nkmp_in_research_group_10
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_11
						is_in_tech_sharing_group = nkmp_vassal_research_group_11
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_11
		set_country_flag = nkmp_in_research_group_11
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_11
			set_country_flag = nkmp_in_research_group_11
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_12
						is_in_tech_sharing_group = nkmp_vassal_research_group_12
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_12
		set_country_flag = nkmp_in_research_group_12
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_12
			set_country_flag = nkmp_in_research_group_12
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_13
						is_in_tech_sharing_group = nkmp_vassal_research_group_13
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_13
		set_country_flag = nkmp_in_research_group_13
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_13
			set_country_flag = nkmp_in_research_group_13
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_14
						is_in_tech_sharing_group = nkmp_vassal_research_group_14
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_14
		set_country_flag = nkmp_in_research_group_14
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_14
			set_country_flag = nkmp_in_research_group_14
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_15
						is_in_tech_sharing_group = nkmp_vassal_research_group_15
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_15
		set_country_flag = nkmp_in_research_group_15
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_15
			set_country_flag = nkmp_in_research_group_15
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_16
						is_in_tech_sharing_group = nkmp_vassal_research_group_16
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_16
		set_country_flag = nkmp_in_research_group_16
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_16
			set_country_flag = nkmp_in_research_group_16
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_17
						is_in_tech_sharing_group = nkmp_vassal_research_group_17
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_17
		set_country_flag = nkmp_in_research_group_17
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_17
			set_country_flag = nkmp_in_research_group_17
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_18
						is_in_tech_sharing_group = nkmp_vassal_research_group_18
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_18
		set_country_flag = nkmp_in_research_group_18
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_18
			set_country_flag = nkmp_in_research_group_18
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_19
						is_in_tech_sharing_group = nkmp_vassal_research_group_19
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_19
		set_country_flag = nkmp_in_research_group_19
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_19
			set_country_flag = nkmp_in_research_group_19
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			NOT = {
				any_country = {
					OR = {
						has_country_flag = nkmp_in_research_group_20
						is_in_tech_sharing_group = nkmp_vassal_research_group_20
					}
				}
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_20
		set_country_flag = nkmp_in_research_group_20
		add_ideas = nkmp_vassal_tech_group_idea
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_20
			set_country_flag = nkmp_in_research_group_20
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	# Then try to assign overlord's group to vassals if the group is already created (Groups 1-20)
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_1
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_1
			set_country_flag = nkmp_in_research_group_1
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_2
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_2
			set_country_flag = nkmp_in_research_group_2
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_3
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_3
			set_country_flag = nkmp_in_research_group_3
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_4
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_4
			set_country_flag = nkmp_in_research_group_4
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_5
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_5
			set_country_flag = nkmp_in_research_group_5
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_6
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_6
			set_country_flag = nkmp_in_research_group_6
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_7
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_7
			set_country_flag = nkmp_in_research_group_7
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_8
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_8
			set_country_flag = nkmp_in_research_group_8
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_9
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_9
			set_country_flag = nkmp_in_research_group_9
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_10
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_10
			set_country_flag = nkmp_in_research_group_10
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_11
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_11
			set_country_flag = nkmp_in_research_group_11
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_12
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_12
			set_country_flag = nkmp_in_research_group_12
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_13
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_13
			set_country_flag = nkmp_in_research_group_13
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_14
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_14
			set_country_flag = nkmp_in_research_group_14
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_15
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_15
			set_country_flag = nkmp_in_research_group_15
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_16
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_16
			set_country_flag = nkmp_in_research_group_16
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_17
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_17
			set_country_flag = nkmp_in_research_group_17
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_18
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_18
			set_country_flag = nkmp_in_research_group_18
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_19
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_19
			set_country_flag = nkmp_in_research_group_19
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
	else_if = {
		limit = {
			ROOT = {
				has_country_flag = nkmp_in_research_group_20
			}
		}
		every_subject_country = {
			limit = {
				is_subject_of = ROOT
			}
			add_to_tech_sharing_group = nkmp_vassal_research_group_20
			set_country_flag = nkmp_in_research_group_20
			add_ideas = nkmp_vassal_tech_group_idea
		}
	}
}

# Vassal update effect (for on_actions)
nkmp_update_vassal_research_group = {
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_1
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_1
		set_country_flag = nkmp_in_research_group_1
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_2
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_2
		set_country_flag = nkmp_in_research_group_2
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_3
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_3
		set_country_flag = nkmp_in_research_group_3
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_4
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_4
		set_country_flag = nkmp_in_research_group_4
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_5
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_5
		set_country_flag = nkmp_in_research_group_5
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_6
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_6
		set_country_flag = nkmp_in_research_group_6
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_7
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_7
		set_country_flag = nkmp_in_research_group_7
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_8
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_8
		set_country_flag = nkmp_in_research_group_8
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_9
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_9
		set_country_flag = nkmp_in_research_group_9
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_10
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_10
		set_country_flag = nkmp_in_research_group_10
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_11
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_11
		set_country_flag = nkmp_in_research_group_11
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_12
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_12
		set_country_flag = nkmp_in_research_group_12
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_13
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_13
		set_country_flag = nkmp_in_research_group_13
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_14
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_14
		set_country_flag = nkmp_in_research_group_14
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_15
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_15
		set_country_flag = nkmp_in_research_group_15
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_16
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_16
		set_country_flag = nkmp_in_research_group_16
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_17
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_17
		set_country_flag = nkmp_in_research_group_17
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_18
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_18
		set_country_flag = nkmp_in_research_group_18
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_19
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_19
		set_country_flag = nkmp_in_research_group_19
		add_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			OVERLORD = {
				has_country_flag = nkmp_in_research_group_20
			}
		}
		add_to_tech_sharing_group = nkmp_vassal_research_group_20
		set_country_flag = nkmp_in_research_group_20
		add_ideas = nkmp_vassal_tech_group_idea
	}
}

# Remove from all possible groups and clear flags
nkmp_leave_tech_sharing_group = {
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_1
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_1
		clr_country_flag = nkmp_in_research_group_1
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_2
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_2
		clr_country_flag = nkmp_in_research_group_2
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_3
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_3
		clr_country_flag = nkmp_in_research_group_3
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_4
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_4
		clr_country_flag = nkmp_in_research_group_4
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_5
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_5
		clr_country_flag = nkmp_in_research_group_5
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_6
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_6
		clr_country_flag = nkmp_in_research_group_6
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_7
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_7
		clr_country_flag = nkmp_in_research_group_7
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_8
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_8
		clr_country_flag = nkmp_in_research_group_8
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_9
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_9
		clr_country_flag = nkmp_in_research_group_9
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_10
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_10
		clr_country_flag = nkmp_in_research_group_10
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_11
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_11
		clr_country_flag = nkmp_in_research_group_11
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_12
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_12
		clr_country_flag = nkmp_in_research_group_12
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_13
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_13
		clr_country_flag = nkmp_in_research_group_13
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_14
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_14
		clr_country_flag = nkmp_in_research_group_14
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_15
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_15
		clr_country_flag = nkmp_in_research_group_15
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_16
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_16
		clr_country_flag = nkmp_in_research_group_16
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_17
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_17
		clr_country_flag = nkmp_in_research_group_17
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_18
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_18
		clr_country_flag = nkmp_in_research_group_18
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_19
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_19
		clr_country_flag = nkmp_in_research_group_19
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	if = {
		limit = {
			has_country_flag = nkmp_in_research_group_20
		}
		remove_from_tech_sharing_group = nkmp_vassal_research_group_20
		clr_country_flag = nkmp_in_research_group_20
		remove_ideas = nkmp_vassal_tech_group_idea
	}
	# For overlords: also remove all vassals from the group
	every_subject_country = {
		limit = {
			is_subject_of = ROOT
			OR = {
				has_country_flag = nkmp_in_research_group_1
				has_country_flag = nkmp_in_research_group_2
				has_country_flag = nkmp_in_research_group_3
				has_country_flag = nkmp_in_research_group_4
				has_country_flag = nkmp_in_research_group_5
				has_country_flag = nkmp_in_research_group_6
				has_country_flag = nkmp_in_research_group_7
				has_country_flag = nkmp_in_research_group_8
				has_country_flag = nkmp_in_research_group_9
				has_country_flag = nkmp_in_research_group_10
				has_country_flag = nkmp_in_research_group_11
				has_country_flag = nkmp_in_research_group_12
				has_country_flag = nkmp_in_research_group_13
				has_country_flag = nkmp_in_research_group_14
				has_country_flag = nkmp_in_research_group_15
				has_country_flag = nkmp_in_research_group_16
				has_country_flag = nkmp_in_research_group_17
				has_country_flag = nkmp_in_research_group_18
				has_country_flag = nkmp_in_research_group_19
				has_country_flag = nkmp_in_research_group_20
			}
		}
		nkmp_leave_tech_sharing_group = yes
		remove_ideas = nkmp_vassal_tech_group_idea
		clr_country_flag = nkmp_in_research_group_1
		clr_country_flag = nkmp_in_research_group_2
		clr_country_flag = nkmp_in_research_group_3
		clr_country_flag = nkmp_in_research_group_4
		clr_country_flag = nkmp_in_research_group_5
		clr_country_flag = nkmp_in_research_group_6
		clr_country_flag = nkmp_in_research_group_7
		clr_country_flag = nkmp_in_research_group_8
		clr_country_flag = nkmp_in_research_group_9
		clr_country_flag = nkmp_in_research_group_10
		clr_country_flag = nkmp_in_research_group_11
		clr_country_flag = nkmp_in_research_group_12
		clr_country_flag = nkmp_in_research_group_13
		clr_country_flag = nkmp_in_research_group_14
		clr_country_flag = nkmp_in_research_group_15
		clr_country_flag = nkmp_in_research_group_16
		clr_country_flag = nkmp_in_research_group_17
		clr_country_flag = nkmp_in_research_group_18
		clr_country_flag = nkmp_in_research_group_19
		clr_country_flag = nkmp_in_research_group_20
	}
}
