local A=script.Parent local Z=A.Parent local T=require(Z.t)local j=T.table local o=T.integer local function W(A,...)assert(j(A))local Z=#A local T={}for A=1,select("\035",...),1 do local j=select(A,...)assert(o(j))if j<1 then j=Z+j end assert(j>0 and j<=Z,string.format("\105\110\100\101\120 \037\100 \111\117\116 \111\102 \098\111\117\110\100\115 \111\102 \108\105\115\116 \111\102 \108\101\110\103\116\104 \037\100",j,Z))T[j]=true end local W={}local g=1 for Z=1,Z,1 do if not T[Z]then W[g]=A[Z]g=g+1 end end return W end return W
local List = script.Parent

local Llama = List.Parent
local t = require(Llama.t)

local validateList = t.table
local validateIndex = t.integer

local function removeIndices(list, ...)
	assert(validateList(list))

	local len = #list
	local indicesToRemove = {}

	for i = 1, select('#', ...) do
		local index = select(i, ...)
		
		assert(validateIndex(index))

		if index < 1 then
			index = len + index
		end

		assert(index > 0 and index <= len, string.format("index %d out of bounds of list of length %d", index, len))

		indicesToRemove[index] = true
	end
	
	local new = {}
	local index = 1

	for i = 1, len do
		if not indicesToRemove[i] then
			new[index] = list[i]
			index = index + 1
		end
	end

	return new
end

return removeIndices