localp={}functionp.replyto(frame)localorigArgs=frame:getParent().argslocalargs={}localmaxArg=1localusernames=0fork,vinpairs(origArgs)doiftype(k)=='number'thenifmw.ustring.match(v,'%S')thenifk>maxArgthenmaxArg=kendusernames=usernames+1localtitle=mw.title.new(v)ifnottitlethenreturn'<strong class="error">Error in [[Template:Reply to]]: Input contains forbidden characters.</strong>'endargs[k]=title.rootTextendelseifv==''andk:sub(0,5)=='label'thenargs[k]='​'elseargs[k]=vendendifusernames>(tonumber(frame.args.max)or50)thenreturnstring.format('<strong class="error">Error in [[Template:Reply to]]: More than %s names specified.</strong>',tostring(frame.args.maxor50))elseifusernames<1thenifframe.args.examplethenargs[1]=frame.args.exampleelsereturn'<strong class="error">Error in [[Template:Reply to]]: Username not given.</strong>'endendlocalisfirst=truelocaloutStr=''fori=1,maxArgdoifargs[i]thenifisfirstthenoutStr=string.format('<span class="template-ping">%s[[User:%s|%s]]',args['prefix']or'@',args[i],(args['label1']orargs['label'])orargs[i])isfirst=falseelseif((usernames>2)or((usernames==2)and(args['c']=='')))thenoutStr=outStr..','endifi==maxArgthenoutStr=outStr..' '..(args['c']or'and')endoutStr=string.format('%s [[User:%s|%s]]',outStr,args[i],args['label'..tostring(i)]orargs[i])endendendoutStr=outStr..(args['p']or':')..'</span>'returnoutStrendendreturnp