localp={}functionp.main(frame)localargs=require('Module:Arguments').getArgs(frame,{wrappers='Template:If empty',removeBlanks=false})-- For backwards compatibility reasons, the first 8 parameters can be unset instead of being blank,-- even though there's really no legitimate use case for this. At some point, this will be removed.locallowestNil=math.hugefori=8,1,-1doifargs[i]==nilthenargs[i]=''lowestNil=iendendfork,vinipairs(args)doifv~=''theniflowestNil<kthen-- If any uses of this template depend on the behavior above, add them to a tracking category.-- This is a rather fragile, convoluted, hacky way to do it, but it ensures that this module's output won't be modified-- by it.frame:extensionTag('ref','[[Category:Instances of Template:If_empty missing arguments]]',{group='TrackingCategory'})frame:extensionTag('references','',{group='TrackingCategory'})endreturnvendendendreturnp