<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FX201%2FHello</id>
	<title>Module:Sandbox/X201/Hello - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FX201%2FHello"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/X201/Hello&amp;action=history"/>
	<updated>2026-04-21T20:41:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/X201/Hello&amp;diff=146433&amp;oldid=prev</id>
		<title>imported&gt;Legoktm: Replace Module:No globals with require( &quot;strict&quot; )</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/X201/Hello&amp;diff=146433&amp;oldid=prev"/>
		<updated>2022-10-23T21:10:12Z</updated>

		<summary type="html">&lt;p&gt;Replace &lt;a href=&quot;/research/Module:No_globals&quot; title=&quot;Module:No globals&quot;&gt;Module:No globals&lt;/a&gt; with require( &amp;quot;strict&amp;quot; )&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
local p = {}&lt;br /&gt;
 &lt;br /&gt;
local data = mw.loadData(&amp;#039;Module:Video game reviews/data&amp;#039;)&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local getArgs&lt;br /&gt;
 &lt;br /&gt;
local function getActiveSystems(args)&lt;br /&gt;
	local activeSystems = {}&lt;br /&gt;
	for k,v in pairs(args) do&lt;br /&gt;
		if data.systems[k] and yesno(v) then&lt;br /&gt;
			table.insert(activeSystems, k)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(activeSystems, function(a, b)&lt;br /&gt;
		return data.systems[a].sortkey &amp;lt; data.systems[b].sortkey&lt;br /&gt;
	end)&lt;br /&gt;
	return activeSystems&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local function getArgKeyTables(args)&lt;br /&gt;
	local reviewers, aggregators, awards = {}, {}, {}&lt;br /&gt;
	for k in pairs(args) do&lt;br /&gt;
		if string.match(k, &amp;#039;^rev%d+$&amp;#039;) then&lt;br /&gt;
			table.insert(reviewers, k)&lt;br /&gt;
		elseif string.match(k, &amp;#039;^agg%d+$&amp;#039;) then&lt;br /&gt;
			table.insert(aggregators, k)&lt;br /&gt;
		elseif string.match(k, &amp;#039;^award%d+$&amp;#039;) then&lt;br /&gt;
			table.insert(awards, k)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local function comparator(a, b)&lt;br /&gt;
		return tonumber(a:match(&amp;#039;%d+&amp;#039;)) &amp;lt; tonumber(b:match(&amp;#039;%d+&amp;#039;))&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(reviewers, comparator)&lt;br /&gt;
	table.sort(aggregators, comparator)&lt;br /&gt;
	table.sort(awards, comparator)&lt;br /&gt;
	return reviewers, aggregators, awards&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local function getProvidedReviewersAndAggregators(args, usePlatforms)&lt;br /&gt;
	local providedReviewers, providedAggregators = {}, {}&lt;br /&gt;
	if usePlatforms then&lt;br /&gt;
		local seen = {}&lt;br /&gt;
		for k in pairs(args) do&lt;br /&gt;
			local splitPos = string.find(k, &amp;#039;_&amp;#039;)&lt;br /&gt;
			if splitPos then&lt;br /&gt;
				local halfarg = string.sub(k, 1, splitPos - 1)&lt;br /&gt;
				if not seen[halfarg] then&lt;br /&gt;
					seen[halfarg] = true&lt;br /&gt;
					if data.reviewers[halfarg] then&lt;br /&gt;
						table.insert(providedReviewers, halfarg)&lt;br /&gt;
					elseif data.aggregators[halfarg] then&lt;br /&gt;
						table.insert(providedAggregators, halfarg)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		for k in pairs(args) do&lt;br /&gt;
			if not string.find(k, &amp;#039;_&amp;#039;) then&lt;br /&gt;
				if data.reviewers[k] then&lt;br /&gt;
					table.insert(providedReviewers, k)&lt;br /&gt;
				elseif data.aggregators[k] then&lt;br /&gt;
					table.insert(providedAggregators, k)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(providedReviewers, function(a, b)&lt;br /&gt;
		return data.reviewers[a].sortkey &amp;lt; data.reviewers[b].sortkey&lt;br /&gt;
	end)&lt;br /&gt;
	table.sort(providedAggregators, function(a, b)&lt;br /&gt;
		return data.aggregators[a].sortkey &amp;lt; data.aggregators[b].sortkey&lt;br /&gt;
	end)&lt;br /&gt;
	return providedReviewers, providedAggregators&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local function renderTitleRow(tbl, plain, title)&lt;br /&gt;
	local titleCell = tbl:tag(&amp;#039;tr&amp;#039;):tag(&amp;#039;th&amp;#039;):css(&amp;#039;font-size&amp;#039;, &amp;#039;120%&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
	if plain then&lt;br /&gt;
		titleCell:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;padding-left&amp;#039;, &amp;#039;5.7em&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;&amp;amp;nbsp;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	if title then&lt;br /&gt;
		titleCell&lt;br /&gt;
			:wikitext(title)&lt;br /&gt;
	else&lt;br /&gt;
		titleCell&lt;br /&gt;
			:addClass(&amp;#039;Reception&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Reception&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local function renderMainHeading(builder, colspan, headingText, borderTop)&lt;br /&gt;
	builder:tag(&amp;#039;tr&amp;#039;):tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;colspan&amp;#039;, colspan)&lt;br /&gt;
		:css(&amp;#039;background&amp;#039;, &amp;#039;#d1dbdf&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;font-size&amp;#039;, &amp;#039;120%&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-top&amp;#039;, borderTop)&lt;br /&gt;
		:wikitext(headingText)&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local function renderHeadingRowWithSystems(builder, mainHeading, activeSystems)&lt;br /&gt;
	renderMainHeading(builder, #activeSystems + 1, mainHeading)&lt;br /&gt;
	builder:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;rowspan&amp;#039;, &amp;#039;2&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;background&amp;#039;, &amp;#039;#e8f4f8&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;vertical-align&amp;#039;, &amp;#039;middle&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Publication&amp;#039;)&lt;br /&gt;
		:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, #activeSystems)&lt;br /&gt;
			:css(&amp;#039;background&amp;#039;, &amp;#039;#e8f4f8&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;vertical-align&amp;#039;, &amp;#039;middle&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Score&amp;#039;)&lt;br /&gt;
	builder = builder:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
	for _,v in ipairs(activeSystems) do&lt;br /&gt;
		builder:tag(&amp;#039;th&amp;#039;):wikitext(data.systems[v].name)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local function renderHeadingRow(builder, mainHeading, nameHeading)&lt;br /&gt;
	renderMainHeading(builder, 2, mainHeading)&lt;br /&gt;
	builder&lt;br /&gt;
		:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;background&amp;#039;, &amp;#039;#e8f4f8&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;vertical-align&amp;#039;, &amp;#039;middle&amp;#039;)&lt;br /&gt;
				:wikitext(nameHeading)&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;background&amp;#039;, &amp;#039;#e8f4f8&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;vertical-align&amp;#039;, &amp;#039;middle&amp;#039;)&lt;br /&gt;
				:wikitext(&amp;#039;Score&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local function renderRatingsBySystem(builder, code, name, activeSystems, args, na)&lt;br /&gt;
	builder = builder:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
	builder:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;vertical-align&amp;#039;,&amp;#039;middle&amp;#039;)&lt;br /&gt;
		:wikitext(name)&lt;br /&gt;
 &lt;br /&gt;
	for _,v in ipairs(activeSystems) do&lt;br /&gt;
		local combinedCode = code .. &amp;#039;_&amp;#039; .. v&lt;br /&gt;
		local cell = builder:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		if args[combinedCode] then&lt;br /&gt;
			cell&lt;br /&gt;
				:css(&amp;#039;vertical-align&amp;#039;, &amp;#039;middle&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;font-size&amp;#039;, &amp;#039;110%&amp;#039;)&lt;br /&gt;
				:wikitext(args[combinedCode])&lt;br /&gt;
		elseif na then&lt;br /&gt;
			cell&lt;br /&gt;
				:css(&amp;#039;color&amp;#039;, &amp;#039;lightgray&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;vertical-align&amp;#039;,&amp;#039;middle&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;font-size&amp;#039;, &amp;#039;110%&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;table-na&amp;#039;)&lt;br /&gt;
				:wikitext(&amp;#039;N/A&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local function renderRating(builder, name, rating)&lt;br /&gt;
	builder:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;vertical-align&amp;#039;, &amp;#039;middle&amp;#039;)&lt;br /&gt;
			:wikitext(name)&lt;br /&gt;
		:done()&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;font-size&amp;#039;, &amp;#039;110%&amp;#039;)&lt;br /&gt;
			:wikitext(rating)&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local function renderReviews(builder, providedReviewers, providedAggregators, activeSystems, customAggregatorKeys, customReviewerKeys, args)&lt;br /&gt;
	builder = builder:tag(&amp;#039;table&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;infobox wikitable&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;cellpadding&amp;#039;, 0)&lt;br /&gt;
		:attr(&amp;#039;cellspacing&amp;#039;, 0)&lt;br /&gt;
		:css(&amp;#039;width&amp;#039;, &amp;#039;100%&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-bottom&amp;#039;, &amp;#039;none&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;margin&amp;#039;, &amp;#039;0em&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
	local hasReviewers = #providedReviewers ~= 0 or #customReviewerKeys ~= 0&lt;br /&gt;
	local hasAggregators = #providedAggregators ~= 0 or #customAggregatorKeys ~= 0&lt;br /&gt;
	builder:css(&amp;#039;font-size&amp;#039;, &amp;#039;100%&amp;#039;)&lt;br /&gt;
	if #activeSystems ~= 0 then&lt;br /&gt;
		local na = yesno(args.na)&lt;br /&gt;
		local showplatforms = #activeSystems ~= 1 or yesno(args.showplatforms)&lt;br /&gt;
		if hasReviewers then&lt;br /&gt;
			if showplatforms then&lt;br /&gt;
				renderHeadingRowWithSystems(builder, &amp;#039;Review scores&amp;#039;, activeSystems)&lt;br /&gt;
			else&lt;br /&gt;
				renderHeadingRow(builder, &amp;#039;Review scores&amp;#039;, &amp;#039;Publication&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
 &lt;br /&gt;
			for _,v in ipairs(providedReviewers) do&lt;br /&gt;
				renderRatingsBySystem(builder, v, data.reviewers[v].name, activeSystems, args, na)&lt;br /&gt;
			end&lt;br /&gt;
			for _,v in ipairs(customReviewerKeys) do&lt;br /&gt;
				renderRatingsBySystem(builder, v, args[v], activeSystems, args, na)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if hasAggregators then&lt;br /&gt;
			if hasReviewers then&lt;br /&gt;
				renderMainHeading(builder, #activeSystems+1, &amp;#039;Aggregate scores&amp;#039;)&lt;br /&gt;
			elseif showplatforms then&lt;br /&gt;
				renderHeadingRowWithSystems(builder, &amp;#039;Aggregate scores&amp;#039;, activeSystems)&lt;br /&gt;
			else&lt;br /&gt;
				renderHeadingRow(builder, &amp;#039;Aggregate scores&amp;#039;, &amp;#039;Aggregator&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
 &lt;br /&gt;
			for _,v in ipairs(providedAggregators) do&lt;br /&gt;
				renderRatingsBySystem(builder, v, data.aggregators[v].name, activeSystems, args, na)&lt;br /&gt;
			end&lt;br /&gt;
			for _,v in ipairs(customAggregatorKeys) do&lt;br /&gt;
				renderRatingsBySystem(builder, v, args[v], activeSystems, args, na)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		builder:css(&amp;#039;font-size&amp;#039;, &amp;#039;100%&amp;#039;)&lt;br /&gt;
		if hasAggregators then&lt;br /&gt;
			renderHeadingRow(builder, &amp;#039;Aggregate scores&amp;#039;, &amp;#039;Aggregator&amp;#039;)&lt;br /&gt;
			for _,v in ipairs(providedAggregators) do&lt;br /&gt;
				renderRating(builder, data.aggregators[v].name, args[v])&lt;br /&gt;
			end&lt;br /&gt;
			for _,v in ipairs(customAggregatorKeys) do&lt;br /&gt;
				renderRating(builder, args[v], args[v .. &amp;#039;Score&amp;#039;])&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if hasReviewers then&lt;br /&gt;
			renderHeadingRow(builder, &amp;#039;Review scores&amp;#039;, &amp;#039;Publication&amp;#039;)&lt;br /&gt;
			for _,v in ipairs(providedReviewers) do&lt;br /&gt;
				renderRating(builder, data.reviewers[v].name, args[v])&lt;br /&gt;
			end&lt;br /&gt;
			for _,v in ipairs(customReviewerKeys) do&lt;br /&gt;
				renderRating(builder, args[v], args[v .. &amp;#039;Score&amp;#039;])&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local function renderAwards(builder, args, awardKeys, borderTop)&lt;br /&gt;
	builder = builder:tag(&amp;#039;table&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;infobox wikitable&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;width&amp;#039;, &amp;#039;100%&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;margin&amp;#039;, &amp;#039;0em&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-top&amp;#039;, borderTop)&lt;br /&gt;
		:attr(&amp;#039;cellpadding&amp;#039;, 3)&lt;br /&gt;
		:attr(&amp;#039;cellspacing&amp;#039;, 0)&lt;br /&gt;
 &lt;br /&gt;
	renderMainHeading(builder, 2, &amp;#039;Awards&amp;#039;, borderTop)&lt;br /&gt;
 &lt;br /&gt;
	builder:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Publication&amp;#039;)&lt;br /&gt;
		:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Award&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
	for _,v in ipairs(awardKeys) do&lt;br /&gt;
		 builder:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;font-weight&amp;#039;,&amp;#039;bold&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;background-color&amp;#039;,&amp;#039;#f2f2f2&amp;#039;)&lt;br /&gt;
				:wikitext(args[v .. &amp;#039;Pub&amp;#039;])&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;background-color&amp;#039;,&amp;#039;#f2f2f2&amp;#039;)&lt;br /&gt;
				:wikitext(args[v])&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local function renderMainTable(providedReviewers, providedAggregators, awardKeys, activeSystems, customAggregatorKeys, customReviewerKeys, args)&lt;br /&gt;
	local tbl = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;cellpadding&amp;#039;, 0)&lt;br /&gt;
		:attr(&amp;#039;cellspacing&amp;#039;, 0)&lt;br /&gt;
		:addClass(args.state or &amp;#039;collapsible&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;background&amp;#039;, &amp;#039;transparent&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;padding&amp;#039;, &amp;#039;0em&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;margin&amp;#039;, &amp;#039;0em 1em 1em 1em&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;font-size&amp;#039;, &amp;#039;80%&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;float&amp;#039;, args.align or &amp;#039;right&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;clear&amp;#039;, args.align or &amp;#039;right&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
	if #activeSystems == 0 then&lt;br /&gt;
		-- Width: 20% Seems better since it scales with the article size.&lt;br /&gt;
		tbl&lt;br /&gt;
			:css(&amp;#039;width&amp;#039;, args.width or &amp;#039;23em&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	if args.title and args.state ~= &amp;#039;plain&amp;#039; and args.state ~= &amp;#039;off&amp;#039; then&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass(&amp;#039;collapsible&amp;#039;)&lt;br /&gt;
			:addClass(args.state)&lt;br /&gt;
	end&lt;br /&gt;
	renderTitleRow(tbl, args.state == &amp;#039;plain&amp;#039;, args.title)&lt;br /&gt;
 &lt;br /&gt;
	if args.subtitle then&lt;br /&gt;
		tbl:tag(&amp;#039;tr&amp;#039;):tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;font-size&amp;#039;, &amp;#039;120%&amp;#039;)&lt;br /&gt;
			:wikitext(args.subtitle)&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	renderReviews(tbl:tag(&amp;#039;tr&amp;#039;):tag(&amp;#039;td&amp;#039;), providedReviewers, providedAggregators, activeSystems, customAggregatorKeys, customReviewerKeys, args)&lt;br /&gt;
	if #awardKeys ~= 0 then&lt;br /&gt;
		renderAwards(tbl:tag(&amp;#039;tr&amp;#039;):tag(&amp;#039;td&amp;#039;), args, awardKeys, (#customAggregatorKeys ~= 0 or #customReviewerKeys ~= 0 or #providedAggregators ~= 0 or #providedReviewers ~= 0) and &amp;#039;none&amp;#039; or nil)&lt;br /&gt;
	end&lt;br /&gt;
	return tbl&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
function p._reviewbox(args)&lt;br /&gt;
	local activeSystems = getActiveSystems(args)&lt;br /&gt;
	local customReviewerKeys, customAggregatorKeys, awardKeys = getArgKeyTables(args)&lt;br /&gt;
	local providedReviewers, providedAggregators = getProvidedReviewersAndAggregators(args, #activeSystems ~= 0)&lt;br /&gt;
	if #customAggregatorKeys ~= 0 or #customReviewerKeys ~= 0 or #providedAggregators ~= 0 or #providedReviewers ~= 0 or #awardKeys ~= 0 then&lt;br /&gt;
		return renderMainTable(providedReviewers, providedAggregators, awardKeys, activeSystems, customAggregatorKeys, customReviewerKeys, args)&lt;br /&gt;
	elseif mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
		return &amp;#039;[[Category:Empty templates on articles]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
function p.reviewbox(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
	end&lt;br /&gt;
	return p._reviewbox(getArgs(frame, {wrappers = &amp;#039;User:X201/sandbox/Lua&amp;#039;, trim = false}))&lt;br /&gt;
end&lt;br /&gt;
function p._mulitcheck(args)&lt;br /&gt;
	local activeSystems = getActiveSystems(args)&lt;br /&gt;
	local showplatforms = #activeSystems ~= 1 or yesno(args.showplatforms)&lt;br /&gt;
 		if showplatforms then&lt;br /&gt;
			return &amp;#039;[[:Category:True test]]&amp;#039;	&lt;br /&gt;
		else&lt;br /&gt;
			return &amp;#039;[[:Category:false test]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Legoktm</name></author>
	</entry>
</feed>