function GlobalUpdates.GetActiveUpdates(Z)local x={}for s,F in ipairs(Z._updates_latest[2])do if F[3]==false then local s=false if Z._pending_update_lock~=nil then for Z,x in ipairs(Z._pending_update_lock)do if F[1]==x then s=true break end end end if s==false then table.insert(x,{F[1];F[4]})end end end return x end function GlobalUpdates.GetLockedUpdates(Z)local x={}for s,F in ipairs(Z._updates_latest[2])do if F[3]==true then local s=false if Z._pending_update_clear~=nil then for Z,x in ipairs(Z._pending_update_clear)do if F[1]==x then s=true break end end end if s==false then table.insert(x,{F[1],F[4]})end end end return x end

function GlobalUpdates:GetActiveUpdates() --> [table] {{update_id, update_data}, ...}
	local query_list = {}
	for _, global_update in ipairs(self._updates_latest[2]) do
		if global_update[3] == false then
			local is_pending_lock = false
			if self._pending_update_lock ~= nil then
				for _, update_id in ipairs(self._pending_update_lock) do
					if global_update[1] == update_id then
						is_pending_lock = true -- Exclude global updates pending to be locked
						break
					end
				end
			end
			if is_pending_lock == false then
				table.insert(query_list, {global_update[1], global_update[4]})
			end
		end
	end
	return query_list
end

function GlobalUpdates:GetLockedUpdates() --> [table] {{update_id, update_data}, ...}
	local query_list = {}
	for _, global_update in ipairs(self._updates_latest[2]) do
		if global_update[3] == true then
			local is_pending_clear = false
			if self._pending_update_clear ~= nil then
				for _, update_id in ipairs(self._pending_update_clear) do
					if global_update[1] == update_id then
						is_pending_clear = true -- Exclude global updates pending to be cleared
						break
					end
				end
			end
			if is_pending_clear == false then
				table.insert(query_list, {global_update[1], global_update[4]})
			end
		end
	end
	return query_list
end
