<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.tachyony.co.uk/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ACOVID-19_data</id>
	<title>Module:COVID-19 data - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tachyony.co.uk/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ACOVID-19_data"/>
	<link rel="alternate" type="text/html" href="https://wiki.tachyony.co.uk/w/index.php?title=Module:COVID-19_data&amp;action=history"/>
	<updated>2026-05-15T10:13:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://wiki.tachyony.co.uk/w/index.php?title=Module:COVID-19_data&amp;diff=10724&amp;oldid=prev</id>
		<title>Tachyony: Created page with &quot;local p = {}  local data_title = mw.title.new( 	&#039;Template:COVID-19 data/data&#039; ) local data_content = data_title:getContent() local data = mw.text.jsonDecode(data_content)  local function format_num(number) 	if not number then 		return &#039;&#039; 	end 	local _, _, minus, int, _ = tostring(number):find(&#039;([-]?)(%d+)([.]?%d*)&#039;) 	int = int:reverse():gsub(&quot;(%d%d%d)&quot;, &quot;%1,&quot;) 	int = int:reverse():gsub(&quot;^,&quot;, &quot;&quot;) 	int = minus .. int 	return int end  function p.main() 	local out = &#039;&#039; 	loca...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.tachyony.co.uk/w/index.php?title=Module:COVID-19_data&amp;diff=10724&amp;oldid=prev"/>
		<updated>2022-02-02T16:25:27Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {}  local data_title = mw.title.new( 	&amp;#039;Template:COVID-19 data/data&amp;#039; ) local data_content = data_title:getContent() local data = mw.text.jsonDecode(data_content)  local function format_num(number) 	if not number then 		return &amp;#039;&amp;#039; 	end 	local _, _, minus, int, _ = tostring(number):find(&amp;#039;([-]?)(%d+)([.]?%d*)&amp;#039;) 	int = int:reverse():gsub(&amp;quot;(%d%d%d)&amp;quot;, &amp;quot;%1,&amp;quot;) 	int = int:reverse():gsub(&amp;quot;^,&amp;quot;, &amp;quot;&amp;quot;) 	int = minus .. int 	return int end  function p.main() 	local out = &amp;#039;&amp;#039; 	loca...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local data_title = mw.title.new(&lt;br /&gt;
	&amp;#039;Template:COVID-19 data/data&amp;#039;&lt;br /&gt;
)&lt;br /&gt;
local data_content = data_title:getContent()&lt;br /&gt;
local data = mw.text.jsonDecode(data_content)&lt;br /&gt;
&lt;br /&gt;
local function format_num(number)&lt;br /&gt;
	if not number then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local _, _, minus, int, _ = tostring(number):find(&amp;#039;([-]?)(%d+)([.]?%d*)&amp;#039;)&lt;br /&gt;
	int = int:reverse():gsub(&amp;quot;(%d%d%d)&amp;quot;, &amp;quot;%1,&amp;quot;)&lt;br /&gt;
	int = int:reverse():gsub(&amp;quot;^,&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	int = minus .. int&lt;br /&gt;
	return int&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main()&lt;br /&gt;
	local out = &amp;#039;&amp;#039;&lt;br /&gt;
	local data_s = {}&lt;br /&gt;
	local has_notelist = false&lt;br /&gt;
	local count_row = 0&lt;br /&gt;
	local count_col = 0&lt;br /&gt;
	-- Build new table&lt;br /&gt;
	local locations = {}&lt;br /&gt;
	if mw.getCurrentFrame().args[&amp;#039;locations&amp;#039;] then&lt;br /&gt;
		for location in string.gmatch(&lt;br /&gt;
			mw.getCurrentFrame().args[&amp;#039;locations&amp;#039;],&lt;br /&gt;
			&amp;#039;([^,]+)&amp;#039;&lt;br /&gt;
		) do&lt;br /&gt;
			locations[location] = true&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		locations = nil&lt;br /&gt;
	end&lt;br /&gt;
	for key, value in pairs(data) do&lt;br /&gt;
		local index&lt;br /&gt;
		if mw.getCurrentFrame().args[&amp;#039;sort&amp;#039;] then&lt;br /&gt;
			if value[mw.getCurrentFrame().args[&amp;#039;sort&amp;#039;]] then&lt;br /&gt;
				index = value[mw.getCurrentFrame().args[&amp;#039;sort&amp;#039;]]&lt;br /&gt;
			else&lt;br /&gt;
				index = 0&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			if value.cases then&lt;br /&gt;
				index = value.cases&lt;br /&gt;
			elseif value.deaths then&lt;br /&gt;
				index = value.deaths&lt;br /&gt;
			elseif value.vaccine_doses then&lt;br /&gt;
				index = value.vaccine_doses&lt;br /&gt;
			elseif value.total_vaccinated then&lt;br /&gt;
				index = value.total_vaccinated&lt;br /&gt;
			elseif value.fully_vaccinated then&lt;br /&gt;
				index = value.fully_vaccinated&lt;br /&gt;
			else index = 0&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if (not locations) or locations[key] then&lt;br /&gt;
			data_s[#data_s+1] = value&lt;br /&gt;
			data_s[#data_s][&amp;#039;_index&amp;#039;] = index&lt;br /&gt;
			data_s[#data_s][&amp;#039;_code&amp;#039;] = key&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Sort the new table&lt;br /&gt;
	table.sort(&lt;br /&gt;
		data_s,&lt;br /&gt;
		function(x, y)&lt;br /&gt;
			if x._code == &amp;#039;XW&amp;#039; then&lt;br /&gt;
				return true&lt;br /&gt;
			elseif y._code == &amp;#039;XW&amp;#039; then&lt;br /&gt;
				return false&lt;br /&gt;
			else&lt;br /&gt;
				return (x._index &amp;gt; y._index)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	)&lt;br /&gt;
	-- Get columns&lt;br /&gt;
	local columns = {&lt;br /&gt;
		cases = false,&lt;br /&gt;
		deaths = false,&lt;br /&gt;
		recoveries = false,&lt;br /&gt;
		total_vaccinated = false,&lt;br /&gt;
		vaccine_doses = false,&lt;br /&gt;
		fully_vaccinated = false,&lt;br /&gt;
		percent_vaccinated = false,&lt;br /&gt;
		deaths_per_million = false&lt;br /&gt;
	}&lt;br /&gt;
	local columns_index = {}&lt;br /&gt;
	if mw.getCurrentFrame().args[&amp;#039;columns&amp;#039;] then&lt;br /&gt;
		for column in string.gmatch(&lt;br /&gt;
			mw.getCurrentFrame().args[&amp;#039;columns&amp;#039;],&lt;br /&gt;
			&amp;#039;([^,]+)&amp;#039;&lt;br /&gt;
		) do&lt;br /&gt;
			columns[column] = true&lt;br /&gt;
			columns_index[#columns_index+1] = column&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		columns = {&lt;br /&gt;
			cases = true,&lt;br /&gt;
			deaths = true,&lt;br /&gt;
			recoveries = false,&lt;br /&gt;
			total_vaccinated = true,&lt;br /&gt;
			vaccine_doses = true,&lt;br /&gt;
			fully_vaccinated = true,&lt;br /&gt;
			percent_vaccinated = false,&lt;br /&gt;
			deaths_per_million = false&lt;br /&gt;
		}&lt;br /&gt;
		columns_index = {&lt;br /&gt;
			&amp;#039;cases&amp;#039;,&lt;br /&gt;
			&amp;#039;deaths&amp;#039;,&lt;br /&gt;
			&amp;#039;recoveries&amp;#039;,&lt;br /&gt;
			&amp;#039;total_vaccinated&amp;#039;,&lt;br /&gt;
			&amp;#039;vaccine_doses&amp;#039;,&lt;br /&gt;
			&amp;#039;fully_vaccinated&amp;#039;,&lt;br /&gt;
			&amp;#039;percent_vaccinated&amp;#039;,&lt;br /&gt;
			&amp;#039;deaths_per_million&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	-- Generate wikitext content&lt;br /&gt;
	for _, row in ipairs(data_s) do&lt;br /&gt;
		-- Test for empty rows&lt;br /&gt;
		local has_data = false&lt;br /&gt;
		for _, column in pairs(columns_index) do&lt;br /&gt;
			if columns[column] and row[column] then&lt;br /&gt;
				has_data = true&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if has_data then -- Only add row if it has data&lt;br /&gt;
			count_row = count_row + 1&lt;br /&gt;
			out = out .. &amp;#039;\n|-&amp;#039;&lt;br /&gt;
			if row._code == &amp;#039;XW&amp;#039; then&lt;br /&gt;
				out = out .. &amp;#039;class=&amp;quot;sorttop static-row-header&amp;quot;&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			-- Add the flag&lt;br /&gt;
			if not mw.getCurrentFrame().args[&amp;#039;noflag&amp;#039;] then&lt;br /&gt;
				if count_row == 1 then&lt;br /&gt;
					count_col = count_col + 1&lt;br /&gt;
				end&lt;br /&gt;
				out = out .. &amp;#039;\n| class=&amp;quot;image&amp;quot; data-sort-value=&amp;quot;&amp;#039; .. row.name .. &amp;#039;&amp;quot; | &amp;#039;&lt;br /&gt;
				if row._code == &amp;#039;XW&amp;#039; then&lt;br /&gt;
					out = out ..&lt;br /&gt;
						&amp;#039;[[File:OOjs UI icon globe.svg|16px|alt=|link=]]&amp;#039;&lt;br /&gt;
				else&lt;br /&gt;
					flag_params = {row.name}&lt;br /&gt;
					-- So that it&amp;#039;s not too large&lt;br /&gt;
					if row.name == &amp;#039;New Caledonia&amp;#039; then&lt;br /&gt;
						flag_params[2] = &amp;#039;merged&amp;#039;&lt;br /&gt;
					end&lt;br /&gt;
					out = out ..&lt;br /&gt;
						mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
							title = &amp;#039;Flagicon&amp;#039;,&lt;br /&gt;
							args = flag_params&lt;br /&gt;
						}&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			-- Add country name&lt;br /&gt;
			if count_row == 1 then&lt;br /&gt;
				count_col = count_col + 1&lt;br /&gt;
			end&lt;br /&gt;
			if mw.getCurrentFrame().args[&amp;#039;noflag&amp;#039;] then&lt;br /&gt;
				out = out .. &amp;#039;\n! scope=&amp;quot;row&amp;quot; data-sort-value=&amp;quot;&amp;#039; .. row.name .. &amp;#039;&amp;quot; | &amp;#039;&lt;br /&gt;
			else&lt;br /&gt;
				out = out .. &amp;#039;\n! scope=&amp;quot;row&amp;quot; |&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			if row._code == &amp;#039;XW&amp;#039; then&lt;br /&gt;
				out = out .. &amp;#039;[[COVID-19 pandemic|&amp;#039; .. row.name .. &amp;#039;]]&amp;#039;&lt;br /&gt;
			elseif row._code == &amp;#039;GE&amp;#039; then&lt;br /&gt;
				out = out ..&lt;br /&gt;
					&amp;#039;[[COVID-19 pandemic in Georgia (country)&amp;#039; ..&lt;br /&gt;
					&amp;#039;|&amp;#039; .. row.name .. &amp;#039;]]&amp;#039;&lt;br /&gt;
			else&lt;br /&gt;
				out = out ..&lt;br /&gt;
					&amp;#039;[[COVID-19 pandemic in &amp;#039; .. row.name ..&lt;br /&gt;
					&amp;#039;|&amp;#039; .. row.name .. &amp;#039;]]&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			-- Add notes&lt;br /&gt;
			if row.note then&lt;br /&gt;
				has_notelist = true&lt;br /&gt;
				out = out ..&lt;br /&gt;
					mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
						title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
						args = {row.note}&lt;br /&gt;
					}&lt;br /&gt;
			end&lt;br /&gt;
			-- Fill out columns&lt;br /&gt;
			for _, column in ipairs(columns_index) do&lt;br /&gt;
				if columns[column] then&lt;br /&gt;
					if count_row == 1 then&lt;br /&gt;
						count_col = count_col + 1&lt;br /&gt;
					end&lt;br /&gt;
					if row[column] then&lt;br /&gt;
						out = out .. &amp;#039;\n| data-sort-value=&amp;#039; ..&lt;br /&gt;
							tostring(row[column]) ..&lt;br /&gt;
							&amp;#039;|&amp;#039;&lt;br /&gt;
						if column:find(&amp;#039;^percent&amp;#039;) then&lt;br /&gt;
							out = out .. string.format(&amp;#039;%.2f&amp;#039;, row[column]) .. &amp;#039;%&amp;#039;&lt;br /&gt;
						else&lt;br /&gt;
							out = out .. format_num(row[column])&lt;br /&gt;
						end&lt;br /&gt;
					else&lt;br /&gt;
						out = out ..&lt;br /&gt;
							&amp;#039;\n| style=&amp;quot;background: #cccccc;&amp;quot;&amp;#039; ..&lt;br /&gt;
							&amp;#039; data-sort-value=0 | —&amp;#039;&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if has_notelist then&lt;br /&gt;
		out = out .. &amp;#039;\n|- class=&amp;quot;sortbottom static-row-header&amp;quot;&amp;#039; ..&lt;br /&gt;
			&amp;#039;\n| colspan=&amp;quot;&amp;#039; .. count_col .. &amp;#039;&amp;quot; style=&amp;quot;width: 0;&amp;quot; |&amp;#039; ..&lt;br /&gt;
			mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
				title = &amp;#039;Notelist&amp;#039;&lt;br /&gt;
			}&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.vac()&lt;br /&gt;
	local out = &amp;#039;&amp;#039;&lt;br /&gt;
	local data_s = {}&lt;br /&gt;
	local has_country_num_doses = false&lt;br /&gt;
	local has_country_num_fully = false&lt;br /&gt;
	local count_row = 0&lt;br /&gt;
	local count_col = 0&lt;br /&gt;
	-- Build new table&lt;br /&gt;
	for key, value in pairs(data) do&lt;br /&gt;
		if value.total_vaccinated then&lt;br /&gt;
			data_s[#data_s+1] = value&lt;br /&gt;
			data_s[#data_s][&amp;#039;index&amp;#039;] = value.total_vaccinated&lt;br /&gt;
		elseif value.vaccine_doses then&lt;br /&gt;
			data_s[#data_s+1] = value&lt;br /&gt;
			data_s[#data_s][&amp;#039;index&amp;#039;] = value.vaccine_doses&lt;br /&gt;
		elseif value.fully_vaccinated then&lt;br /&gt;
			data_s[#data_s+1] = value&lt;br /&gt;
			data_s[#data_s][&amp;#039;index&amp;#039;] = value.fully_vaccinated&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Sort the new table&lt;br /&gt;
	table.sort(&lt;br /&gt;
		data_s,&lt;br /&gt;
		function(x, y)&lt;br /&gt;
			return (x.index &amp;gt; y.index)&lt;br /&gt;
		end&lt;br /&gt;
	)&lt;br /&gt;
	-- Generate wikitext content&lt;br /&gt;
	for _, row in pairs(data_s) do&lt;br /&gt;
		count_row = count_row + 1&lt;br /&gt;
		out = out .. &amp;#039;\n|-&amp;#039;&lt;br /&gt;
		-- Add the flag&lt;br /&gt;
		if count_row == 1 then&lt;br /&gt;
			count_col = count_col + 2&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;World&amp;#039; then&lt;br /&gt;
			out = out ..&lt;br /&gt;
				&amp;#039;class=&amp;quot;sorttop static-row-header&amp;quot;&amp;#039; ..&lt;br /&gt;
				&amp;#039;\n| class=&amp;quot;image&amp;quot; data-sort-value=&amp;quot;&amp;#039; .. row.name .. &amp;#039;&amp;quot; | &amp;#039; ..&lt;br /&gt;
				&amp;#039;[[File:OOjs UI icon globe.svg|16px|alt=|link=]]&amp;#039; ..&lt;br /&gt;
				&amp;#039;\n! scope=&amp;quot;row&amp;quot; data-sort-value=&amp;quot;&amp;#039; .. row.name .. &amp;#039;&amp;quot; | &amp;#039; ..&lt;br /&gt;
				&amp;#039;[[Deployment of COVID-19 vaccines|World]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			flag_params = {row.name}&lt;br /&gt;
			-- So that it&amp;#039;s not too large&lt;br /&gt;
			if row.name == &amp;#039;New Caledonia&amp;#039; then&lt;br /&gt;
				flag_params[2] = &amp;#039;merged&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			out = out ..&lt;br /&gt;
				&amp;#039;\n| class=&amp;quot;image&amp;quot; data-sort-value=&amp;quot;&amp;#039; .. row.name .. &amp;#039;&amp;quot; | &amp;#039; ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Flagicon&amp;#039;,&lt;br /&gt;
					args = flag_params&lt;br /&gt;
				} ..&lt;br /&gt;
				&amp;#039;\n! scope=&amp;quot;row&amp;quot; data-sort-value=&amp;quot;&amp;#039; .. row.name .. &amp;#039;&amp;quot; | &amp;#039; ..&lt;br /&gt;
				&amp;#039;[[COVID-19 vaccination in &amp;#039; .. row.name .. &amp;#039;|&amp;#039; .. row.name .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		-- Add note&lt;br /&gt;
		if row.note_vaccination then&lt;br /&gt;
			out = out ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
					args = {row.note_vaccination}&lt;br /&gt;
				}&lt;br /&gt;
		end&lt;br /&gt;
		-- Add the number&lt;br /&gt;
		if count_row == 1 then&lt;br /&gt;
			count_col = count_col + 1&lt;br /&gt;
		end&lt;br /&gt;
		if row.total_vaccinated then&lt;br /&gt;
			out = out .. &amp;#039;\n| data-sort-value=&amp;#039; ..&lt;br /&gt;
				tostring(row.total_vaccinated) ..&lt;br /&gt;
				&amp;#039;|&amp;#039; .. format_num(row.total_vaccinated)&lt;br /&gt;
		elseif row.vaccine_doses then&lt;br /&gt;
			has_country_num_doses = true&lt;br /&gt;
			out = out .. &amp;#039;\n| data-sort-value=&amp;#039; ..&lt;br /&gt;
				tostring(row.vaccine_doses) ..&lt;br /&gt;
				&amp;#039;|&amp;#039; ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Font color&amp;#039;,&lt;br /&gt;
					args = {&amp;#039;darkred&amp;#039;, format_num(row.vaccine_doses)}&lt;br /&gt;
				} ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
					args = {name = &amp;#039;country_num_doses&amp;#039;}&lt;br /&gt;
				}&lt;br /&gt;
		elseif row.fully_vaccinated then&lt;br /&gt;
			has_country_num_fully = true&lt;br /&gt;
			out = out .. &amp;#039;\n| data-sort-value=&amp;#039; ..&lt;br /&gt;
				tostring(row.fully_vaccinated) ..&lt;br /&gt;
				&amp;#039;|&amp;#039; ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Font color&amp;#039;,&lt;br /&gt;
					args = {&amp;#039;darkorange&amp;#039;, format_num(row.fully_vaccinated)}&lt;br /&gt;
				} ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
					args = {name = &amp;#039;country_num_fully&amp;#039;}&lt;br /&gt;
				}&lt;br /&gt;
		end&lt;br /&gt;
		-- Add the percentage&lt;br /&gt;
		if count_row == 1 then&lt;br /&gt;
			count_col = count_col + 1&lt;br /&gt;
		end&lt;br /&gt;
		if row.percent_vaccinated then&lt;br /&gt;
			out = out .. &amp;#039;\n| data-sort-value=&amp;#039; ..&lt;br /&gt;
				tostring(row.percent_vaccinated) ..&lt;br /&gt;
				&amp;#039;|&amp;#039; .. string.format(&amp;quot;%.1f&amp;quot;, row.percent_vaccinated) .. &amp;#039;%&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			out = out .. &amp;#039;\n| style=&amp;quot;background: #cccccc;&amp;quot; data-sort-value=0 | —&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if has_country_num_doses or has_country_num_fully then&lt;br /&gt;
		notelist_refs = &amp;#039;&amp;#039;&lt;br /&gt;
		if has_country_num_doses then&lt;br /&gt;
			notelist_refs = notelist_refs ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
					args = {&lt;br /&gt;
						name = &amp;#039;country_num_doses&amp;#039;,&lt;br /&gt;
						&amp;#039;This country\&amp;#039;s data are the &amp;#039; ..&lt;br /&gt;
							mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
								title = &amp;#039;Font color&amp;#039;,&lt;br /&gt;
								args = {&lt;br /&gt;
									&amp;#039;darkred&amp;#039;,&lt;br /&gt;
									&amp;#039;number of vaccine doses administered&amp;#039;&lt;br /&gt;
								}&lt;br /&gt;
							} ..&lt;br /&gt;
							&amp;#039;, not the first dose only.&amp;#039;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
		end&lt;br /&gt;
		if has_country_num_fully then&lt;br /&gt;
			notelist_refs = notelist_refs ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
					args = {&lt;br /&gt;
						name = &amp;#039;country_num_fully&amp;#039;,&lt;br /&gt;
						&amp;#039;This country\&amp;#039;s data are the &amp;#039; ..&lt;br /&gt;
							mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
								title = &amp;#039;Font color&amp;#039;,&lt;br /&gt;
								args = {&lt;br /&gt;
									&amp;#039;darkorange&amp;#039;,&lt;br /&gt;
									&amp;#039;number of people fully vaccinated&amp;#039;&lt;br /&gt;
								}&lt;br /&gt;
							} ..&lt;br /&gt;
							&amp;#039;, not the number of people &amp;#039; ..&lt;br /&gt;
							&amp;#039;who have received at least one dose.&amp;#039;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
		end&lt;br /&gt;
		out = out .. &amp;#039;\n|- class=&amp;quot;sortbottom  static-row-header&amp;quot;&amp;#039; ..&lt;br /&gt;
			&amp;#039;\n| colspan=&amp;quot;&amp;#039; .. count_col .. &amp;#039;&amp;quot; style=&amp;quot;width: 0;&amp;quot; |&amp;#039; ..&lt;br /&gt;
			mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
				title = &amp;#039;Notelist&amp;#039;,&lt;br /&gt;
				args = {refs = notelist_refs}&lt;br /&gt;
			}&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.text()&lt;br /&gt;
	local location = mw.getCurrentFrame().args[&amp;#039;location&amp;#039;]&lt;br /&gt;
	local column = mw.getCurrentFrame().args[&amp;#039;column&amp;#039;]&lt;br /&gt;
	return data[location][column]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Tachyony</name></author>
	</entry>
</feed>