	.file	"45449258.c"
	.intel_syntax noprefix
	.text
	.globl	builtin_scripts
	.section	.rodata
	.align 8
.LC0:
	.ascii	"function os.executef(n,...)n=string.format(n,unpack(arg))ret"
	.ascii	"urn os.execute(n)end\nlocal function i(n)local e,t\nlocal o="
	.ascii	"{}local n=io.open(n)if n==nil then\nreturn o\nend\nfor n in "
	.ascii	"n:lines()do\ne=n:find(\"#\",1,true)if e~=nil then\nn=n:sub(1"
	.ascii	",e-1)end\nif n~=\"\"then\ne,t=n:find(\"include%s+\")if e~=ni"
	.ascii	"l then\nlocal n=n:sub(t+1)local n=os.matchfiles(n)for e,n in"
	.ascii	" ipairs(n)do\no=table.join(o,i(n))end\nelse\ntable.insert(o,"
	.ascii	"n)end\nend\nend\nreturn o\nend\nfunction os.findlib(e)local "
	.ascii	"n,o\nif os.is(\"windows\")then\no={\"%s.dll\",\"%s\"}n=os.ge"
	.ascii	"tenv(\"PATH\")elseif os.is(\"haiku\")then\no={\"lib%s.so\",\""
	.ascii	"%s.so\"}n=os.getenv(\"LIBRARY_PATH\")else\nif os.is(\"macosx"
	.ascii	"\")then\no={\"lib%s.dylib\",\"%s.dylib\"}n=os.getenv(\"DYLD_"
	.ascii	"LIBRARY_PATH\")else\no={\"lib%s.so\",\"%s.so\"}n=os.getenv(\""
	.ascii	"LD_LIBRARY_PATH\")or\"\"for e,o in ipairs(i(\"/etc/ld.so.con"
	.ascii	"f\"))do\nn=n..\":\"..o\nend\nend\ntable.insert(o,\"%s\")n=n "
	.ascii	"or\"\"if os.is64bit()then\nn=n..\":/lib64:/usr/lib64/:usr/lo"
	.ascii	"cal/lib64\"end\nn=n..\":/lib:/usr/lib:/usr/local/lib\"end\nf"
	.ascii	"or i,o in ipairs(o)do\nlocal o=string.format(o,e)local n=os."
	.ascii	"pathsearch(o,n)if n then return n end\nend\nend\nfunction os"
	.ascii	".get()return _OPTIONS.os or _OS\nend\nfunction os.is(n)retur"
	.ascii	"n(os.get():lower()==n:lower())end\nlocal o={\"x86_64\",\"ia6"
	.ascii	"4\",\"amd64\",\"ppc64\",\"powerpc64\",\"sparc64\"}function o"
	.ascii	"s.is64bit()if(os._is64bit())then\nreturn true\nend\nlocal n\n"
	.ascii	"if _OS==\"windows\"then\nn=os.getenv(\"PROCESSOR_ARCHITECTUR"
	.ascii	"E\")elseif _OS==\"macosx\"then\nn=os.outputof(\"echo $HOSTTY"
	.ascii	"PE\")else\nn=os.outputof(\"uname -m\")end\nn=n:lower()for e,"
	.ascii	"o in ipairs(o)do\nif n:find(o)then\nreturn true\nend\nend\nr"
	.ascii	"eturn false\nend\nlocal function l(l,n,i)if n:startswith(\"."
	.ascii	"/\")then\nn=n:sub(3)end\nlocal e=n\nlocal o=n:find(\"%*\")if"
	.ascii	" o then\ne=e:sub(1,o-1)end\ne=path.getdirectory(e)if(e==\".\""
	.ascii	")then e=\"\"end\nlocal a=n:find(\"**\",nil,true)n=path.wildc"
	.ascii	"ards(n)local function t(e)local s=path.join(e,\"*\")local o="
	.ascii	"os.matchstart(s)while(os.matchnext(o))do\nlocal t=os.matchis"
	.ascii	"file(o)if((i and t)or(not i and not t))then\nlocal i=os.matc"
	.ascii	"hname(o)local o=path.join(e,i)if i~=\"..\"and o:match(n)==o "
	.ascii	"then\ntable.insert(l,o)end\nend\nend\nos.matchd"
	.ascii	"one(o)if a then\no=os.matchstart(s)while(os.matchnext(o))do\n"
	.ascii	"if not os.matchisfile(o)then\nlocal n=os.matchname(o)if(not "
	.ascii	"n:startswith(\".\"))then\nt(path.join(e,n))end\nend\nend\nos"
	.ascii	".matchdone(o)end\nend\nt(e)end\nfunction os.matchdirs(...)lo"
	.ascii	"cal n={}for e,o in ipairs(arg)do\nl(n,o,false)end\nreturn n\n"
	.ascii	"end\nfunction os.matchfiles(...)local n={}for e,o in ipairs("
	.ascii	"arg)do\nl(n,o,true)end\nreturn n\nend\nlocal e=os.mkdir\nfun"
	.ascii	"ction os.mkdir(o)local n=iif(o:startswith(\"/\"),\"/\",\"\")"
	.ascii	"for o in o:gmatch(\"[^/]+\")do\nn=n..o\nif(o~=\"\"and not pa"
	.ascii	"th.isabsolute(o)and not os.isdir(n))then\nlocal n,o=e(n)if(n"
	.ascii	"ot n)then\nreturn nil,o\nend\nend\nn=n..\"/\"end\nreturn tru"
	.ascii	"e\nend\nfunction"
	.string	" os.outputof(n)local n=io.popen(n)local o=n:read('*a')n:close()return o\nend\nlocal e=os.rmdir\nfunction os.rmdir(n)local o=os.matchdirs(n..\"/*\")for o,n in ipairs(o)do\nos.rmdir(n)end\nlocal o=os.matchfiles(n..\"/*\")for o,n in ipairs(o)do\nos.remove(n)end\ne(n)end"
	.align 8
.LC1:
	.ascii	"function path.getbasename(e)local e=path.getname(e)local n=e"
	.ascii	":findlast(\".\",true)if(n)then\nreturn e:sub(1,n-1)else\nret"
	.ascii	"urn e\nend\nend\nfunction path.getdirectory(n)local e=n:find"
	.ascii	"last(\"/\",true)if(e)then\nif e>1 then e=e-1 end\nreturn n:s"
	.ascii	"ub(1,e)else\nreturn\".\"end\nend\nfunction path.getdrive(e)l"
	.ascii	"ocal n=e:sub(1,1)local e=e:sub(2,2)if e==\":\"then\nreturn n"
	.ascii	"\nend\nend\nfunction path.getextension(e)local n=e:findlast("
	.ascii	"\".\",true)if(n)then\nreturn e:sub(n)else\nreturn\"\"end\nen"
	.ascii	"d\nfunction path.getname(e)local n=e:findlast(\"[/\\\\]\")if"
	.ascii	"(n)then\nreturn e:sub(n+1)else\nreturn e\nend\nend\nfunction"
	.ascii	" path.iscfile(e)local n={\".c\",\".s\",\".m\"}local e=path.g"
	.ascii	"etextension(e):lower()return table.contains(n,e)end\nfunctio"
	.ascii	"n path.iscppfile(e)local n={\".cc\",\".cpp\",\".cxx\",\".c\""
	.ascii	",\".s\",\".m\",\".mm\"}local e=path.getextension(e):lower()r"
	.ascii	"eturn table.contains(n,e)end\nfunction path.iscppheader(e)lo"
	.ascii	"cal n={\".h\",\".hh\",\".hpp\",\".hxx\"}local e=path.getexte"
	.ascii	"nsion(e):lower()return table.contains(n,e)end\nfunction path"
	.ascii	".isresourcefile(e)local n={\".rc\"}local e=path.getextension"
	.ascii	"(e):lower()return table.contains(n,e)end\nfunction path.reba"
	.ascii	"se(e,t,n)e=path.getabsolute(path.join(t,e))e=path.getrelativ"
	.ascii	"e(n,e)return e\nend\nlocal n=path.translate\nfunction "
	.string	"path.translate(t,e)if not e then\nif os.is(\"windows\")then\ne=\"\\\\\"else\ne=\"/\"end\nend\nreturn n(t,e)end\nfunction path.wildcards(e)e=e:gsub(\"([%+%.%-%^%$%(%)%%])\",\"%%%1\")e=e:gsub(\"%*%*\",\"\\1\")e=e:gsub(\"%*\",\"\\2\")e=e:gsub(\"\\1\",\".*\")e=e:gsub(\"\\2\",\"[^/]*\")return e\nend"
	.align 8
.LC2:
	.ascii	"function string.explode(e,i,r)if(i=='')then return false end"
	.ascii	"\nlocal n=0\nlocal t={}for r,i in function()return e:find(i,"
	.ascii	"n,r)end do\ntable.inse"
	.string	"rt(t,e:sub(n,r-1))n=i+1\nend\ntable.insert(t,e:sub(n))return t\nend\nfunction string.findlast(i,e,t)local n=0\nrepeat\nlocal t=i:find(e,n+1,t)if(t)then n=t end\nuntil(not t)if(n>0)then\nreturn n\nend\nend\nfunction string.startswith(n,t)return(n:find(t,1,true)==1)end"
	.align 8
.LC3:
	.ascii	"function table.contains(n,e)for t,n in pairs(n)do\nif(n==e)t"
	.ascii	"hen\nreturn true\nend\nend\nreturn false\nend\nfunction tabl"
	.ascii	"e.extract(n,t)local e={}for i,n in ipairs(n)do\ntable.insert"
	.ascii	"(e,n[t])end\nreturn e\nend\nfunction table.flatten(i)local n"
	.ascii	"={}local function t(e)for i,e in ipairs(e)do\nif type(e)==\""
	.ascii	"table\"then\nt(e)else\ntable.insert(n,e)end\nend\nend\nt(i)r"
	.ascii	"eturn n\nend\nfunction table.implode(r,t,i,n)local e=\"\"for"
	.ascii	" a,r in ipairs(r)do\nif(e~=\"\"and n)then\ne=e..n\nend\ne=e."
	.ascii	".t..r..i\nend\nreturn e\nend\nfunction table.insertflat(n,e)"
	.ascii	"if type(e)==\"table\"then\nfor t,e in ipairs(e)do\ntable.ins"
	.ascii	"ertflat(n,e)end\nelse\ntable.insert(n,e)end\nend\nfunction t"
	.ascii	"able.isempty(e)return next(e)==nil\nend\nfunction table.join"
	.ascii	"(...)local e={}for t,n in ipairs(arg)do\nif type(n)==\"table"
	.ascii	"\"then\nfor t,n in ipairs(n)do\ntable.insert(e,n)end\nelse\n"
	.ascii	"table.insert(e,n)end\nend\nreturn e\nend\nfunction table.key"
	.ascii	"s(n)local e={}for n,t in pairs(n)do\ntable.insert(e,n)end\nr"
	.ascii	"eturn e\nend\nfunction table.merge(...)local n={}for t,e in "
	.ascii	"ipairs(arg)do\nif type(e)==\"t"
	.string	"able\"then\nfor e,t in pairs(e)do\nn[e]=t\nend\nelse\nerror(\"invalid value\")end\nend\nreturn n\nend\nfunction table.translate(e,n)local i={}for e,t in ipairs(e)do\nlocal e\nif type(n)==\"function\"then\ne=n(t)else\ne=n[t]end\nif(e)then\ntable.insert(i,e)end\nend\nreturn i\nend"
	.align 8
.LC4:
	.ascii	"function io.capture()io.captured=''end\nfunction io.endcaptu"
	.ascii	"re()local e=io.captured\nio.captured=nil\nreturn e\nend\nloc"
	.ascii	"al i=io.open\nfunction io.open(n,e)if(e)then\nif(e:find(\"w\""
	.ascii	"))then\nlocal e=path.getdirectory(n)ok,err=os.mkdir(e)if(not"
	.ascii	" ok)then\nerror(err,0)end\nend\nend\nreturn i(n,e)end\nfunct"
	.ascii	"ion io.printf(e,...)if not io.eol then\nio.eol=\"\\n\"end\ni"
	.ascii	"f not i"
	.string	"o.indent then\nio.indent=\"\\t\"end\nif type(e)==\"number\"then\ns=string.rep(io.indent,e)..string.format(unpack(arg))else\ns=string.format(e,unpack(arg))end\nif io.captured then\nio.captured=io.captured..s..io.eol\nelse\nio.write(s)io.write(io.eol)end\nend\n_p=io.printf"
	.align 8
.LC5:
	.ascii	"premake={}premake.platforms={Native={cfgsuffix=\"\",},x32={c"
	.ascii	"fgsuffix=\"32\",},x64={cfgsuffix=\"64\",},Universal={cfgsuff"
	.ascii	"ix=\"univ\",},Universal32={cfgsuffix=\"univ32\",},Universal6"
	.ascii	"4={cfgsuffix=\"univ64\",},PS3={cfgsuffix=\"ps3\",iscrosscomp"
	.ascii	"iler=true,nosharedlibs=true,namestyle=\"PS3\",},WiiDev={cfgs"
	.ascii	"uffix=\"wii\",iscrosscompiler=true,namestyle=\"PS3\",},Xbox3"
	.ascii	"60={cfgsuffix=\"xbox360\",iscrosscompiler=true,namestyle=\"w"
	.ascii	"indows\",},}local n=dofile\nfunction dofile(e)local f=os.get"
	.ascii	"cwd()local t=_SCRIPT\nif(not os.isfile(e))then\nlocal i=os.p"
	.ascii	"athsearch(e,_OPTIONS[\"scripts\"],os.getenv(\"PREMAKE_PATH\""
	.ascii	"))if(i)then\ne=i..\"/\"..e\nend\nend\n_SCRIPT=path.getabsolu"
	.ascii	"te(e)local e=path.getdirectory(_SCRIPT)os.chdir(e)local o,r,"
	.ascii	"n,i,s,e=n(_SCRIPT)_SCRIPT=t\nos.chdir(f)return o,r,n,i,s,e\n"
	.ascii	"end\nfunction iif(i,e,n)if(i)then\nreturn e\n"
	.string	"else\nreturn n\nend\nend\nfunction include(e)return dofile(e..\"/premake4.lua\")end\nfunction printf(e,...)print(string.format(e,unpack(arg)))end\nlocal n=type\nfunction type(i)local e=getmetatable(i)if(e)then\nif(e.__type)then\nreturn e.__type\nend\nend\nreturn n(i)end"
	.align 8
.LC6:
	.ascii	"premake.action={}premake.action.list={}function premake.acti"
	.ascii	"on.add(e)local n\nfor i,t in ipairs({\"description\",\"trigg"
	.ascii	"er\"})do\nif(not e[t])then\nn=t\nend\nend\nif(n)then\nerror("
	.ascii	"\"action needs a \"..n,3)end\npremake.action.list[e.trigger]"
	.ascii	"=e\nend\nfunction premake.action.call(e)local e=premake.acti"
	.ascii	"on.list[e]for n in premake.solution.each()do\nif e.onsolutio"
	.ascii	"n then\ne.onsolution(n)end\nfor n in premake.solution.eachpr"
	.ascii	"oject(n)do\nif e.onproject then\ne.onproject(n)end\nend\nend"
	.ascii	"\nif e.execute then\ne.execute()end\nend\nfunction premake.a"
	.ascii	"ction.current()return premake.action.get(_ACTION)end\nfuncti"
	.ascii	"on premake.action.get(e)return premake.action.list[e]end\nfu"
	.ascii	"nction premake.action.each()local n={}for t,e in pairs(prema"
	.ascii	"ke.action.list)do\ntable.insert(n,e.trigger)end\ntable.sort("
	.ascii	"n)local e=0\nreturn function()e=e+1\nreturn premake.action.l"
	.ascii	"ist[n[e]]end\nend\nfunction premake.action.set(e)_ACTION=e\n"
	.ascii	"local e=premake.action.get(e)if e then\n_OS=e.os or _OS\nend"
	.ascii	"\nen"
	.string	"d\nfunction premake.action.supports(e,n)if not e then\nreturn false\nend\nif e.valid_languages then\nif table.contains(e.valid_languages,n)then\nreturn true\nend\nend\nif e.valid_kinds then\nif table.contains(e.valid_kinds,n)then\nreturn true\nend\nend\nreturn false\nend"
	.align 8
.LC7:
	.ascii	"premake.option={}premake.option.list={}function premake.opti"
	.ascii	"on.add(e)local n\nfor t,o in ipairs({\"description\",\"trigg"
	.ascii	"er\"})do\nif(not e[o])then\nn=o\nend\nend\nif(n)then\nerror("
	.ascii	"\"option needs a \"..n,3)end\npremake.option.list[e.trigger]"
	.ascii	"=e\nend\nfunction premake.option.get(e)return premake.option"
	.ascii	".list[e]end\nfunction premake.option.each()local e={}for o,n"
	.ascii	" in pairs(premake.option.list)do\ntable.insert(e,n.trigger)e"
	.ascii	"nd\ntable.sort(e)local n=0\nreturn function()n=n+1\nreturn p"
	.ascii	"remake.option.list[e[n]]end\nend\nfunction premake.option.va"
	.ascii	"lidate(e)for n,o in pairs(e)do\nlocal e=premake.option.get(n"
	.ascii	")if(not e)then\nreturn false,\"invalid option '\"..n..\"'\"e"
	.ascii	"nd\nif(e.value and o==\"\")then\nreturn fals"
	.string	"e,\"no value specified for option '\"..n..\"'\"end\nif e.allowed then\nlocal t=false\nfor n,e in ipairs(e.allowed)do\nif e[1]==o then\nt=true\nbreak\nend\nend\nif not t then\nreturn false,string.format(\"invalid value '%s' for option '%s'\",o,n)end\nend\nend\nreturn true\nend"
	.align 8
.LC8:
	.ascii	"premake.tree={}local t=premake.tree\nfunction premake.tree.n"
	.ascii	"ew(e)local e={name=e,children={}}return e\nend\nfunction pre"
	.ascii	"make.tree.add(e,n,a)if n==\".\"then\nreturn e\nend\nlocal d="
	.ascii	"t.add(e,path.getdirectory(n),a)local r=path.getname(n)if r=="
	.ascii	"\"..\"then\nreturn d\nend\nlocal e=d.children[r]if not e or "
	.ascii	"e.path~=n then\ne=t.insert(d,t.new(r))e.path=n\nif a then\na"
	.ascii	"(e)end\nend\nreturn e\nend\nfunction premake.tree.insert(n,e"
	.ascii	")table.insert(n.children,e)if e.name then\nn.children[e.name"
	.ascii	"]=e\nend\ne.parent=n\nreturn e\nend\nfunction premake.tree.g"
	.ascii	"etlocalpath(e)if e.parent.path then\nreturn e.name\nelseif e"
	.ascii	".cfg then\nreturn e.cfg.name\nelse\nreturn e.path\nend\nend\n"
	.ascii	"function premake.tree.remove(n)local e=n.parent.children\nfo"
	.ascii	"r t=1,#e do\nif e[t]==n then\ntable.remove(e,t)end\nend\nn.c"
	.ascii	"hildren={}end\nfunction premake.tree.sort(e)t.traverse(e,{on"
	.ascii	"node=function(e)table.sort(e.children,function(e,n)return e."
	.ascii	"name<n.name\nend)end},true)end\nfunction premake.tree.traver"
	.ascii	"se(o,i,h,r)local d,a\nd=function(n,e,t)if n.isremoved then\n"
	.ascii	"return\nend\nif e.onnode then\ne.onnode(n,t)end\nif#n.childr"
	.ascii	"en>0 then\nif e.onbranchenter then\ne.onbranchenter(n,t)end\n"
	.ascii	"if e.onbranch then\ne.onbranch(n,t)end\na(n,e,t+1)if e.onbra"
	.ascii	"nchexit t"
	.string	"hen\ne.onbranchexit(n,t)end\nelse\nif e.onleaf then\ne.onleaf(n,t)end\nend\nend\na=function(n,a,r)local e=1\nwhile e<=#n.children do\nlocal t=n.children[e]d(t,a,r)if t==n.children[e]then\ne=e+1\nend\nend\nend\nif not r then\nr=0\nend\nif h then\nd(o,i,r)else\na(o,i,r)end\nend"
	.align 8
.LC9:
	.ascii	"premake.solution={}premake.solution.list={}function premake."
	.ascii	"solution.new(n)local e={}table.insert(premake.solution.list,"
	.ascii	"e)premake.solution.list[n]=e\nsetmetatable(e,{__type=\"solut"
	.ascii	"ion\"})e.name=n\ne.basedir=os.getcwd()e.projects={}e.blocks="
	.ascii	"{}e.configurations={}return e\nend\nfunction premake.solutio"
	.ascii	"n.each()local e=0\nreturn function()e=e+1\nif e<=#premake.so"
	.ascii	"lution.list then\nreturn premake.solution.list[e]end\nend\ne"
	.ascii	"nd\nfunction premake.solution.eachproject(n)local e=0\nretur"
	.ascii	"n function()e=e+1\ni"
	.string	"f(e<=#n.projects)then\nreturn premake.solution.getproject(n,e)end\nend\nend\nfunction premake.solution.get(e)return premake.solution.list[e]end\nfunction premake.solution.getproject(n,e)local e=n.projects[e]local n=premake.getconfig(e)n.name=e.name\nreturn n\nend"
	.align 8
.LC10:
	.ascii	"premake.project={}function premake.project.buildsourcetree(e"
	.ascii	")local n=premake.tree.new(e.name)n.project=e\nlocal t\nlocal"
	.ascii	" function a(e)e.isvpath=t\nend\nfor e in premake.project.eac"
	.ascii	"hfile(e)do\nt=(e.name~=e.vpath)local n=premake.tree.add(n,e."
	.ascii	"vpath,a)n.cfg=e\nend\npremake.tree.sort(n)return n\nend\nfun"
	.ascii	"ction premake.eachconfig(e,a)if e.project then e=e.project e"
	.ascii	"nd\nlocal t=e.solution.configurations\nlocal n=0\nreturn fun"
	.ascii	"ction()n=n+1\nif n<=#t then\nreturn premake.getconfig(e,t[n]"
	.ascii	",a)end\nend\nend\nfunction premake.project.eachfile(e)if not"
	.ascii	" e.project then e=premake.getconfig(e)end\nlocal n=0\nlocal "
	.ascii	"t=e.files\nreturn function()n=n+1\nif(n<=#t)then\nlocal n=e."
	.ascii	"__fileconfigs[t[n]]n.vpath=premake.project.getvpath(e,n.name"
	.ascii	")return n\nend\nend\nend\nfunction premake.esc(e)if(type(e)="
	.ascii	"=\"table\")then\nlocal n={}for t,e in ipairs(e)do\ntable.ins"
	.ascii	"ert(n,premake.esc(e))end\nreturn n\nelse\ne=e:gsub('&',\"&am"
	.ascii	"p;\")e=e:gsub('\"',\"&quot;\")e=e:gsub(\"'\",\"&apos;\")e=e:"
	.ascii	"gsub('<',\"&lt;\")e=e:gsub('>',\"&gt;\")e=e:gsub('\\r',\"&#x"
	.ascii	"0D;\")e=e:gsub('\\n',\"&#x0A;\")return e\nend\nend\nfunction"
	.ascii	" premake.filterplatforms(n,t,r)local e={}local a={}if n.plat"
	.ascii	"forms then\nfor r,n in ipairs(n.platforms)do\nif t[n]and not"
	.ascii	" table.contains(a,t[n])then\ntable.insert(e,n)table.insert(a"
	.ascii	",t[n])end\nend\nend\nif#e==0 and r then\ntable.insert(e,r)en"
	.ascii	"d\nreturn e\nend\nfunction premake.findproject(n)for e in pr"
	.ascii	"emake.solution.each()do\nfor e in premake.solution.eachproje"
	.ascii	"ct(e)do\nif(e.name==n)then\nreturn e\nend\nend\nend\nend\nfu"
	.ascii	"nction premake.findfile(e,n)for t,e in ipairs(e.files)do\nif"
	.ascii	" e:endswith(n)then return e end\nend\nend\nfunction premake."
	.ascii	"getconfig(e,t,n)e=e.project or e\nif n==\"Native\"or not tab"
	.ascii	"le.contains(e.solution.platforms or{},n)then\nn=nil\nend\nlo"
	.ascii	"cal t=(t or\"\")if n then t=t..n end\nreturn e.__configs[t]e"
	.ascii	"nd\nfunction premake.getconfigname(e,n,t)if e then\nlocal e="
	.ascii	"e\nif n and n~=\"Native\"then\nif t then\ne=e..premake.platf"
	.ascii	"orms[n].cfgsuffix\nelse\ne=e..\"|\"..n\nend\nend\nreturn iif"
	.ascii	"(t,e:lower(),e)end\nend\nfunction premake.getdependencies(e)"
	.ascii	"e=e.project or e\nlocal n={}for t,e in pairs(e.__configs)do\n"
	.ascii	"for"
	.ascii	" t,e in ipairs(e.links)do\nlocal e=premake.findproject(e)if "
	.ascii	"e and not table.contains(n,e)then\ntable.insert(n,e)end\nend"
	.ascii	"\nend\nreturn n\nend\nfunction premake.project.getbasename(e"
	.ascii	",n)return n:gsub(\"%%%%\",e)end\nfunction premake.project.ge"
	.ascii	"tfilename(n,e)local e=premake.project.getbasename(n.name,e)e"
	.ascii	"=path.join(n.location,e)return path.getrelative(os.getcwd(),"
	.ascii	"e)end\nfunction premake.getlinks(n,i,t)local l=iif(t==\"dire"
	.ascii	"ctory\"and i==\"all\",n.libdirs,{})local a=iif(n.name==n.pro"
	.ascii	"ject.name,\"\",n.name)local p=premake.getpathstyle(n)local d"
	.ascii	"=premake.getnamestyle(n)local function c(n,e)if(e.kind~=\"Sh"
	.ascii	"aredLib\"and e.kind~=\"StaticLib\")then\nreturn false\nend\n"
	.ascii	"if premake.iscppproject(n)then\nreturn premake.iscppproject("
	.ascii	"e)elseif premake.isdotnetproject(n)then\nreturn premake.isdo"
	.ascii	"tnetproject(e)end\nend\nfor e,r in ipairs(n.links)do\nlocal "
	.ascii	"e\nlocal o=premake.findproject(r)if o and i~=\"system\"then\n"
	.ascii	"local a=premake.getconfig(o,a,n.platform)if i==\"dependencie"
	.ascii	"s\"or c(n,a)then\nif(t==\"directory\")then\ne=path.rebase(a."
	.ascii	"linktarget.directory,a.location,n.location)elseif(t==\"basen"
	.ascii	"ame\")then\ne=a.linktarget.basename\nelseif(t==\"fullpath\")"
	.ascii	"then\ne=path.rebase(a.linktarget.fullpath,a.location,n.locat"
	.ascii	"ion)elseif(t==\"object\")then\ne=a\nend\nend\nelseif not o a"
	.ascii	"nd(i==\"system\"or i==\"all\")then\nif(t==\"directory\")then"
	.ascii	"\ne=path.getdirectory(r)elseif(t==\"fullpath\")then\ne=r\nif"
	.ascii	" d==\"windows\"then\nif premake.iscppproject(n)then\ne=e..\""
	.ascii	".lib\"elseif premake.isdotnetproject(n)then\ne=e..\".dll\"en"
	.ascii	"d\nend\nelseif t==\"name\"then\ne=path.getname(r)elseif t==\""
	.ascii	"basename\"then\ne=path.getbasename(r)else\ne=r\nend\nif e:fi"
	.ascii	"nd(\"/\",nil,true)then\ne=path.getrelative(n.project.locatio"
	.ascii	"n,e)end\nend\nif e then\nif p==\"windows\"and t~=\"object\"t"
	.ascii	"hen\ne=path.translate(e,\"\\\\\")end\nif not table.contains("
	.ascii	"l,e)then\ntable.insert(l,e)end\nend\nend\nreturn l\nend\nfun"
	.ascii	"ction premake.getnamestyle(e)return premake.platforms[e.plat"
	.ascii	"form].namestyle or premake.gettool(e).namestyle or\"posix\"e"
	.ascii	"nd\nfunction premake.getpathstyle(e)if premake.action.curren"
	.ascii	"t().os==\"windows\"then\nreturn\"windows\"else\nreturn\"posi"
	.ascii	"x\"end\nend\nfunc"
	.ascii	"tion premake.gettarget(e,t,f,i,r)if r==\"bsd\"or r==\"solari"
	.ascii	"s\"then\nr=\"linux\"end\nlocal n=e.kind\nif premake.iscpppro"
	.ascii	"ject(e)then\nif(i==\"windows\"or r==\"windows\")and n==\"Sha"
	.ascii	"redLib\"and t==\"link\"and not e.flags.NoImportLib\nthen\nn="
	.ascii	"\"StaticLib\"end\nif i==\"posix\"and r==\"windows\"and n~=\""
	.ascii	"StaticLib\"then\ni=\"windows\"end\nend\nlocal o=\"build\"if "
	.ascii	"t==\"link\"and e.kind==\"SharedLib\"then\no=\"implib\"end\nl"
	.ascii	"ocal c=e[o..\"name\"]or e.targetname or e.project.name\nloca"
	.ascii	"l d=e[o..\"dir\"]or e.targetdir or path.getrelative(e.locati"
	.ascii	"on,e.basedir)local a=\"\"local l=\"\"local t=\"\"local p,s\n"
	.ascii	"if i==\"windows\"then\nif n==\"ConsoleApp\"or n==\"WindowedA"
	.ascii	"pp\"then\nt=\".exe\"elseif n==\"SharedLib\"then\nt=\".dll\"e"
	.ascii	"lseif n==\"StaticLib\"then\nt=\".lib\"end\nelseif i==\"posix"
	.ascii	"\"then\nif n==\"WindowedApp\"and r==\"macosx\"then\ns=c..\"."
	.ascii	"app\"p=path.join(d,s)d=path.join(p,\"Contents/MacOS\")elseif"
	.ascii	" n==\"SharedLib\"then\na=\"lib\"t=iif(r==\"macosx\",\".dylib"
	.ascii	"\",\".so\")elseif n==\"StaticLib\"then\na=\"lib\"t=\".a\"end"
	.ascii	"\nelseif i==\"PS3\"then\nif n==\"ConsoleApp\"or n==\"Windowe"
	.ascii	"dApp\"then\nt=\".elf\"elseif n==\"StaticLib\"then\na=\"lib\""
	.ascii	"t=\".a\"end\nend\na=e[o..\"prefix\"]or e.targetprefix or a\n"
	.ascii	"l=e[o..\"suffix\"]or e.targetsuffix or l\nt=e[o..\"extension"
	.ascii	"\"]or e.targetextension or t\nlocal e={}e.basename=c..l\ne.n"
	.ascii	"ame=a..c..l..t\ne.directory=d\ne.prefix=a\ne.suffix=l\ne.ful"
	.ascii	"lpath=path.join(e.directory,e.name)e.bundlepath=p or e.fullp"
	.ascii	"ath\nif f==\"windows\"then\ne.directory=path.translate(e.dir"
	.ascii	"ectory,\"\\\\\")e.fullpath=path.translate(e.fullpath,\"\\\\\""
	.ascii	")end\nreturn e\nend\nfunction premake.gettool(e)if premake.i"
	.ascii	"scppproject(e)then\nif _OPTIONS.cc then\nreturn premake[_OPT"
	.ascii	"IONS.cc]end\nlocal e=premake.action.current()if e.valid_tool"
	.ascii	"s then\nreturn premake[e.valid_tools.cc[1]]end\nreturn prema"
	.ascii	"ke.gcc\nelse\nreturn premake.dotnet\nend\nend\nfunction prem"
	.ascii	"ake.project.getvpath(e,t)local n=t\nlocal i=path.getname(t)l"
	.ascii	"ocal o=t:len()-i:len()for r,e in pairs(e.vpaths or{})do\nfor"
	.ascii	" a,e in ipairs(e)do\nlocal a=t:find(path.wildcards(e))if a=="
	.ascii	"1 then\na=e:find(\"*\",1,true)or(e:len()+1)local e\nif a<o t"
	.ascii	"hen\ne=t:sub(a)else\ne=i\nend\nif e:startswith(\"/\")then\ne"
	.ascii	"=e:sub(2)end\nlocal "
	.ascii	"t=\"\"if r:len()>0 then\nt,stars=r:gsub(\"%*\",\"\")if stars"
	.ascii	"==0 then\ne=path.getname(e)end\nelse\ne=path.getname(e)end\n"
	.ascii	"n=path.join(t,e)end\nend\nend\nlocal e\nrepeat\ne=true\nif n"
	.ascii	":startswith(\"./\")then\nn=n:sub(3)elseif n:startswith(\"../"
	.ascii	"\")then\nn=n:sub(4)else\ne=false\nend\nuntil not e\nreturn n"
	.ascii	"\nend\nfunction premake.hascppproject(e)for e in premake.sol"
	.ascii	"ution.eachproject(e)do\nif premake.iscppproject(e)then\nretu"
	.ascii	"rn true\nend\nend\nend\nfunction premake.hasdotnetproject(e)"
	.ascii	"for e in premake.solution.eachproject(e)do\nif prem"
	.string	"ake.isdotnetproject(e)then\nreturn true\nend\nend\nend\nfunction premake.project.iscproject(e)return e.language==\"C\"end\nfunction premake.iscppproject(e)return(e.language==\"C\"or e.language==\"C++\")end\nfunction premake.isdotnetproject(e)return(e.language==\"C#\")end"
	.align 8
.LC11:
	.ascii	"premake.config={}local i=premake.config\nfunction premake.co"
	.ascii	"nfig.isdebugbuild(e)if e.flags.Optimize or e.flags.OptimizeS"
	.ascii	"ize or e.flags.OptimizeSpeed then\nreturn false\nend\nif not"
	.ascii	" e.flags.Symbols then\nreturn false\nend\nreturn true\nend\n"
	.ascii	"function"
	.string	" premake.config.isincrementallink(e)if e.kind==\"StaticLib\"or i.isoptimizedbuild(e.flags)or e.flags.NoIncrementalLink then\nreturn false\nend\nreturn true\nend\nfunction premake.config.isoptimizedbuild(e)return e.Optimize or e.OptimizeSize or e.OptimizeSpeed\nend"
	.align 8
.LC12:
	.ascii	"premake.bake={}local p=premake.bake\nlocal l={blocks=true,ke"
	.ascii	"ywords=true,projects=true,__configs=true,}local e={makesetti"
	.ascii	"ngs=true,}local a={basedir=true,location=true,}function prem"
	.ascii	"ake.getactiveterms()local e={_action=_ACTION:lower(),os=os.g"
	.ascii	"et()}for o,n in pairs(_OPTIONS)do\nif n~=\"\"then\ntable.ins"
	.ascii	"ert(e,n:lower())else\ntable.insert(e,o:lower())end\nend\nret"
	.ascii	"urn e\nend\nfunction premake.iskeywordmatch(e,n)if e:startsw"
	.ascii	"ith(\"not \")then\nreturn not premake.iskeywordmatch(e:sub(5"
	.ascii	"),n)end\nfor e,o in ipairs(e:explode(\" or \"))do\nfor n,e i"
	.ascii	"n pairs(n)do\nif e:match(o)==e then\nreturn n\nend\nend\nend"
	.ascii	"\nend\nfunction premake.iskeywordsmatch(o,e)local n=false\nf"
	.ascii	"or i,o in ipairs(o)do\nlocal e=premake.iskeywordmatch(o,e)if"
	.ascii	" not e then\nreturn false\nend\nif e==\"required\"then\nn=tr"
	.ascii	"ue\nend\nend\nif e.required and not n then\nreturn false\nel"
	.ascii	"se\nreturn true\nend\nend\nlocal function d(r,i)function adj"
	.ascii	"ustpathlist(e)for n,o in ipairs(e)do\ne[n]=path.getrelative("
	.ascii	"r,o)end\nend\nfor o,n in pairs(i)do\nlocal e=premake.fields["
	.ascii	"o]if e and n and not a[o]then\nif e.kind==\"path\"then\ni[o]"
	.ascii	"=path.getrelative(r,n)elseif e.kind==\"dirlist\"or e.kind==\""
	.ascii	"filelist\"then\nadjustpathlist(n)elseif e.kind==\"keypath\"t"
	.ascii	"hen\nfor n,e in pairs(n)do\nadjustpathlist(e)end\nend\nend\n"
	.ascii	"end\nend\nlocal function t(o,e,n)local e=e or{}if o==\"keyva"
	.ascii	"lue\"or o==\"keypath\"then\nfor n,o in pairs(n)do\ne[n]=t(\""
	.ascii	"list\",e[n],o)end\nelse\nfor o,n in ipairs(n)do\nif not e[n]"
	.ascii	"then\ntable.insert(e,n)e[n]=n\nend\nend\nend\nreturn e\nend\n"
	.ascii	"local function r(o,e)if not e then\nreturn\nend\nfor e,n in "
	.ascii	"pairs(e)do\nif not l[e]then\nlocal i=premake.fields[e]if i t"
	.ascii	"hen\nif type(n)==\"table\"then\no[e]=t(i.kind,o[e],n)else\no"
	.ascii	"[e]=n\nend\nelse\no[e]=n\nend\nend\nend\nend\nlocal function"
	.ascii	" l(s,t,l,n,a,o)local i=a or\"\"o=o or\"Native\"if o~=\"Nativ"
	.ascii	"e\"then\ni=i..o\nend\nn.config=(a or\"\"):lower()n.platform="
	.ascii	"o:lower()local e={}r(e,l[i])d(t.location,e)r(e,t)if(e.kind)t"
	.ascii	"hen\nn['kind']=e.kind:lower()end\nfor i,o in ipairs(t.blocks"
	.ascii	")do\nif(premake.iskeywordsmatch(o.keywords,n))then\nr(e,o)if"
	.ascii	"(e.kind and not e.terms.kind)then\ne.terms['kind']=e.kind:lo"
	.ascii	"wer()n['kind'"
	.ascii	"]=e.kind:lower()end\nend\nend\ne.name=a\ne.platform=o\nfor o"
	.ascii	",n in pairs(n)do\ne.terms[o]=n\nend\ns[i]=e\nend\nlocal func"
	.ascii	"tion c(n,e)local o={}e=e or{}local r=n.solution or n\nlocal "
	.ascii	"t=premake.getactiveterms()l(o,n,e,t)for i,a in ipairs(r.conf"
	.ascii	"igurations)do\nlocal i={}for n,e in pairs(t)do i[n]=e end\nl"
	.ascii	"(o,n,e,i,a,\"Native\")for t,r in ipairs(r.platforms or{})do\n"
	.ascii	"if r~=\"Native\"then\nl(o,n,e,i,a,r)end\nend\nend\nreturn o\n"
	.ascii	"end\nlocal function k()local r=4\nlocal i={}local o={}for e "
	.ascii	"in premake.solution.each()do\nfor n,e in ipairs(e.projects)d"
	.ascii	"o\nfor n,e in pairs(e.__configs)do\nlocal n={}n[1]=path.geta"
	.ascii	"bsolute(path.join(e.location,e.objdir or e.project.objdir or"
	.ascii	"\"obj\"))n[2]=path.join(n[1],iif(e.platform==\"Native\",\"\""
	.ascii	",e.platform))n[3]=path.join(n[2],e.name)n[4]=path.join(n[3],"
	.ascii	"e.project.name)i[e]=n\nlocal e=iif(e.name,2,1)for e=e,r do\n"
	.ascii	"local e=n[e]o[e]=(o[e]or 0)+1\nend\nend\nend\nend\nfor e in "
	.ascii	"premake.solution.each()do\nfor n,e in ipairs(e.projects)do\n"
	.ascii	"for n,e in pairs(e.__configs)do\nlocal n\nlocal t=iif(e.name"
	.ascii	",2,1)for r=t,r do\nn=i[e][r]if o[n]==1 then break end\nend\n"
	.ascii	"e.objectsdir=path.getrelative(e.location,n)end\nend\nend\nen"
	.ascii	"d\nlocal function h()for e in premake.solution.each()do\nfor"
	.ascii	" n,e in ipairs(e.projects)do\nfor n,e in pairs(e.__configs)d"
	.ascii	"o\nlocal n=premake.getpathstyle(e)local o=premake.getnamesty"
	.ascii	"le(e)e.buildtarget=premake.gettarget(e,\"build\",n,o,e.syste"
	.ascii	"m)e.linktarget=premake.gettarget(e,\"link\",n,o,e.system)if "
	.ascii	"n==\"windows\"then\ne.objectsdir=path.translate(e.objectsdir"
	.ascii	",\"\\\\\")end\nend\nend\nend\nend\nlocal function s(e)if(e.k"
	.ascii	"ind)then\nreturn e.kind;end\nif(e.project.__configs[\"\"]and"
	.ascii	" e.project.__configs[\"\"].kind)then\nreturn e.project.__con"
	.ascii	"figs[\"\"].kind;end\nreturn nil\nend\nlocal function t(d,r,n"
	.ascii	",a,i,l)if(not n)then return end\nlocal f={};for o,e in ipair"
	.ascii	"s(n[i])do\nlocal e=e:lower();if((not r[e]))then\nlocal i=nil"
	.ascii	";local o=nil;for r,n in ipairs(n.project.solution.projects)d"
	.ascii	"o\nif(n.name:lower()==e)then\nif(n.usage)then\no=n;else\ni=n"
	.ascii	";end\nend\nend\nif(o)then\nr[e]=true;local n={name=e,proj=i,"
	.ascii	"usageProj=o,bLinkageOnly=l,};d[e]=n;table.insert(f,o"
	.ascii	");end\nend\nend\nfor n,e in ipairs(f)do\nif((i~=\"links\")or"
	.ascii	"(s(e.__configs[a])==\"StaticLib\"))then\nt(d,r,e.__configs[a"
	.ascii	"],a,i,l);end\nend\nend\nlocal function f(i,o)local e={};loca"
	.ascii	"l n={};n[i.project.name:lower()]=true;t(e,n,i,o,\"uses\",fal"
	.ascii	"se);local i={};for r,e in pairs(e)do\nt(i,n,e.usageProj.__co"
	.ascii	"nfigs[o],o,\"links\",true);end\nfor o,n in pairs(i)do\ne[o]="
	.ascii	"n;end\nreturn e;end\nlocal function l(n,e)local o=n.project."
	.ascii	"solution;local n=e:lower();for o,e in ipairs(o.projects)do\n"
	.ascii	"if(e.name:lower()==n)then\nreturn true;end\nend\nreturn fals"
	.ascii	"e;end\nlocal function t(n,o,e)local r=premake.fields[e];loca"
	.ascii	"l i=e;if type(n[e])==\"table\"then\nif(r.kind==\"dirlist\"or"
	.ascii	" r.kind==\"filelist\")and(not a[e])then\nfor r,e in ipairs(n"
	.ascii	"[e])do\ntable.insert(o[i],path.rebase(e,n.project.location,o"
	.ascii	".project.location))end\nelse\nif(e==\"links\")then\nfor r,e "
	.ascii	"in ipairs(n[e])do\nif(not l(o,e))then\ntable.insert(o[i],e)e"
	.ascii	"lse\nprintf(\"Failed to copy '%s' from proj '%s'.\",e,n.proj"
	.ascii	"ect.name);end\nend\nelse\nfor n,e in ipairs(n[e])do\ntable.i"
	.ascii	"nsert(o[i],e)end\nend\nend\nelse\nif(r.kind==\"path\"and(not"
	.ascii	" a[e]))then\no[i]=path.rebase(n[e],prj.location,o.project.lo"
	.ascii	"cation);else\no[i]=n[e];end\nend\nend\nlocal function l(n,i,"
	.ascii	"e)local o=n.project;local r=(s(n)==\"StaticLib\");for o,e in"
	.ascii	" pairs(e)do\nlocal o=e.usageProj;local i=o.__configs[i];for "
	.ascii	"o,a in pairs(premake.fields)do\nif(i[o])then\nif(a.usagecopy"
	.ascii	")then\nif(not e.bLinkageOnly)then\nt(i,n,o)end\nelseif(a.lin"
	.ascii	"kagecopy)then\nif((not r)and(not e.proj))then\nt(i,n,o)end\n"
	.ascii	"end\nend\nend\nif((not r)and e.proj)then\ntable.insert(n.lin"
	.ascii	"ks,e.proj.name);end\nend\nend\nfunction premake.bake.buildco"
	.ascii	"nfigs()for n in premake.solution.each()do\nfor o,e in ipairs"
	.ascii	"(n.projects)do\ne.location=e.location or n.location or e.bas"
	.ascii	"edir\nd(e.location,e)for o,n in ipairs(e.blocks)do\nd(e.loca"
	.ascii	"tion,n)end\nend\nn.location=n.location or n.basedir\nend\nfo"
	.ascii	"r e in premake.solution.each()do\nlocal n=c(e)for o,e in ipa"
	.ascii	"irs(e.projects)do\ne.__configs=c(e,n)for o,n in pairs(e.__co"
	.ascii	"nfigs)do\np.postprocess(e,n)end\nend\nend\nfor e in premake."
	.ascii	"solution.each()do\nfor n,e in ipairs(e.projects)do\nif"
	.ascii	"(not e.usage)then\nfor n,e in pairs(e.__configs)do\nlocal o="
	.ascii	"f(e,n);l(e,n,o)end\nend\nend\nend\nfor n in premake.solution"
	.ascii	".each()do\nlocal e={};for n,o in ipairs(n.projects)do\nif(o."
	.ascii	"usage)then\ntable.insert(e,1,n);end\nend\nfor o,e in ipairs("
	.ascii	"e)do\ntable.remove(n.projects,e);end\nend\nk()h(cfg)end\nfun"
	.ascii	"ction premake.bake.postprocess(n,e)e.project=n\ne.shortname="
	.ascii	"premake.getconfigname(e.name,e.platform,true)e.longname=prem"
	.ascii	"ake.getconfigname(e.name,e.platform)e.location=e.location or"
	.ascii	" e.basedir\nlocal n=premake.platforms[e.platform]if n.iscros"
	.ascii	"scompiler then\ne.system=e.platform\nelse\ne.system=os.get()"
	.ascii	"end\nif e.kind==\"SharedLib\"and n.nosharedlibs then\ne.kind"
	.ascii	"=\"StaticLib\"end\nlocal o={}for n,i in ipairs(e.files)do\nl"
	.ascii	"ocal n=false\nfor o,e in ipairs(e.excludes)do\nn=(i==e)if(n)"
	.ascii	"then break end\nend\nif(not n)then\ntable.insert(o,i)end\nen"
	.ascii	"d\ne.files=o\nfor n,o in pairs(premake.fields)do\nif o.isfla"
	.ascii	"gs then\nlocal e=e[n]for o,n in ipairs(e)do e[n]=true end\ne"
	.ascii	"nd\nend"
	.string	"\ne.__fileconfigs={}for n,o in ipairs(e.files)do\ne.terms.required=o:lower()local n={}for i,o in ipairs(e.project.blocks)do\nif(premake.iskeywordsmatch(o.keywords,e.terms))then\nr(n,o)end\nend\nn.name=o\ne.__fileconfigs[o]=n\ntable.insert(e.__fileconfigs,n)end\nend"
	.align 8
.LC13:
	.ascii	"premake.fields={basedir={kind=\"path\",scope=\"container\",}"
	.ascii	",buildaction={kind=\"string\",scope=\"config\",allowed={\"Co"
	.ascii	"mpile\",\"Copy\",\"Embed\",\"None\"}},buildoptions={kind=\"l"
	.ascii	"ist\",scope=\"config\",},configurations={kind=\"list\",scope"
	.ascii	"=\"solution\",},debugargs={kind=\"list\",scope=\"config\",},"
	.ascii	"debugdir={kind=\"path\",scope=\"config\",},debugenvs={kind=\""
	.ascii	"list\",scope=\"config\",},defines={kind=\"list\",scope=\"con"
	.ascii	"fig\",},deploymentoptions={kind=\"list\",scope=\"config\",us"
	.ascii	"agecopy=true,},excludes={kind=\"filelist\",scope=\"config\","
	.ascii	"},files={kind=\"filelist\",scope=\"config\",},flags={kind=\""
	.ascii	"list\",scope=\"config\",isflags=true,usagecopy=true,allowed="
	.ascii	"function(e)local n={ATL=1,DebugEnvsDontMerge=1,DebugEnvsInhe"
	.ascii	"rit=1,EnableSSE=1,EnableSSE2=1,ExtraWarnings=1,FatalWarnings"
	.ascii	"=1,FloatFast=1,FloatStrict=1,Managed=1,MFC=1,NativeWChar=1,N"
	.ascii	"o64BitChecks=1,NoEditAndContinue=1,NoExceptions=1,NoFramePoi"
	.ascii	"nter=1,NoImportLib=1,NoIncrementalLink=1,NoManifest=1,NoMini"
	.ascii	"malRebuild=1,NoNativeWChar=1,NoPCH=1,NoRTTI=1,Optimize=1,Opt"
	.ascii	"imizeSize=1,OptimizeSpeed=1,SEH=1,StaticATL=1,StaticRuntime="
	.ascii	"1,Symbols=1,Unicode=1,Unsafe=1,WinMain=1}local t={optimise='"
	.ascii	"optimize',optimisesize='optimizesize',optimisespeed='optimiz"
	.ascii	"espeed',}local e=e:lower()e=t[e]or e\nfor n,t in pairs(n)do\n"
	.ascii	"if n:lower()==e then\nreturn n\nend\nend\nreturn nil,\"inval"
	.ascii	"id flag\"end,},framework={kind=\"string\",scope=\"container\""
	.ascii	",allowed={\"1.0\",\"1.1\",\"2.0\",\"3.0\",\"3.5\",\"4.0\",\""
	.ascii	"4.5\",}},imagepath={kind=\"path\",scope=\"config\",},imageop"
	.ascii	"tions={kind=\"list\",scope=\"config\",},implibdir={kind=\"pa"
	.ascii	"th\",scope=\"config\",},implibextension={kind=\"string\",sco"
	.ascii	"pe=\"config\",},implibname={kind=\"string\",scope=\"config\""
	.ascii	",},implibprefix={kind=\"string\",scope=\"config\",},implibsu"
	.ascii	"ffix={kind=\"string\",scope=\"config\",},includedirs={kind=\""
	.ascii	"dirlist\",scope=\"config\",usagecopy=true,},kind={kind=\"str"
	.ascii	"ing\",scope=\"config\",allowed={\"ConsoleApp\",\"WindowedApp"
	.ascii	"\",\"StaticLib\",\"SharedLib\"}},language={kind=\"string\",s"
	.ascii	"cope=\"container\",allowed={\"C\",\"C++\",\"C#\"}},libdirs={"
	.ascii	"kind=\"dirlist\",scope=\"config\",linkagecopy=true,},linkopt"
	.ascii	"ions={kind=\"list\",scope=\"config\",},l"
	.ascii	"inks={kind=\"list\",scope=\"config\",allowed=function(e)if e"
	.ascii	":find('/',nil,true)then\ne=path.getabsolute(e)end\nreturn e\n"
	.ascii	"end,linkagecopy=true,},location={kind=\"path\",scope=\"conta"
	.ascii	"iner\",},makesettings={kind=\"list\",scope=\"config\",},objd"
	.ascii	"ir={kind=\"path\",scope=\"config\",},pchheader={kind=\"strin"
	.ascii	"g\",scope=\"config\",},pchsource={kind=\"path\",scope=\"conf"
	.ascii	"ig\",},platforms={kind=\"list\",scope=\"solution\",allowed=t"
	.ascii	"able.keys(premake.platforms),},postbuildcommands={kind=\"lis"
	.ascii	"t\",scope=\"config\",},prebuildcommands={kind=\"list\",scope"
	.ascii	"=\"config\",},prelinkcommands={kind=\"list\",scope=\"config\""
	.ascii	",},resdefines={kind=\"list\",scope=\"config\",},resincludedi"
	.ascii	"rs={kind=\"dirlist\",scope=\"config\",},resoptions={kind=\"l"
	.ascii	"ist\",scope=\"config\",},targetdir={kind=\"path\",scope=\"co"
	.ascii	"nfig\",},targetextension={kind=\"string\",scope=\"config\",}"
	.ascii	",targetname={kind=\"string\",scope=\"config\",},targetprefix"
	.ascii	"={kind=\"string\",scope=\"config\",},targetsuffix={kind=\"st"
	.ascii	"ring\",scope=\"config\",},trimpaths={kind=\"dirlist\",scope="
	.ascii	"\"config\",},uuid={kind=\"string\",scope=\"container\",allow"
	.ascii	"ed=function(e)local n=true\nif(#e~=36)then n=false end\nfor "
	.ascii	"t=1,36 do\nlocal e=e:sub(t,t)if(not e:find(\"[ABCDEFabcdef01"
	.ascii	"23456789-]\"))then n=false end\nend\nif(e:sub(9,9)~=\"-\")th"
	.ascii	"en n=false end\nif(e:sub(14,14)~=\"-\")then n=false end\nif("
	.ascii	"e:sub(19,19)~=\"-\")then n=false end\nif(e:sub(24,24)~=\"-\""
	.ascii	")then n=false end\nif(not n)then\nreturn nil,\"invalid UUID\""
	.ascii	"end\nreturn e:upper()end},uses={kind=\"list\",scope=\"config"
	.ascii	"\",},vpaths={kind=\"keypath\",scope=\"container\",},}functio"
	.ascii	"n premake.checkvalue(e,n)if(n)then\nif(type(n)==\"function\""
	.ascii	")then\nreturn n(e)else\nfor t,n in ipairs(n)do\nif(e:lower()"
	.ascii	"==n:lower())then\nreturn n\nend\nend\nreturn nil,\"invalid v"
	.ascii	"alue '\"..e..\"'\"end\nelse\nreturn e\nend\nend\nfunction pr"
	.ascii	"emake.getobject(n)local e\nif(n==\"container\"or n==\"soluti"
	.ascii	"on\")then\ne=premake.CurrentContainer\nelse\ne=premake.Curre"
	.ascii	"ntConfiguration\nend\nif n==\"solution\"then\nif type(e)==\""
	.ascii	"project\"then\ne=e.solution\nend\nif type(e)~=\"solution\"th"
	.ascii	"en\ne=nil\nend\nend\nlocal t\nif(not e)then\nif(n==\"contain"
	.ascii	"er\")then\nt=\"no active solution or project\"elseif(n==\"so"
	.ascii	"lu"
	.ascii	"tion\")then\nt=\"no active solution\"else\nt=\"no active sol"
	.ascii	"ution, project, or configuration\"end\nend\nreturn e,t\nend\n"
	.ascii	"function premake.setarray(e,t,a,s)local n,i=premake.getobjec"
	.ascii	"t(e)if(not n)then\nerror(i,4)end\nif(not n[t])then\nn[t]={}e"
	.ascii	"nd\nlocal function r(e,o)if(type(e)==\"table\")then\nfor n,e"
	.ascii	" in ipairs(e)do\nr(e,o+1)end\nelse\ne,i=premake.checkvalue(e"
	.ascii	",s)if(not e)then\nerror(i,o)end\ntable.insert(n[t],e)end\nen"
	.ascii	"d\nif(a)then\nr(a,5)end\nreturn n[t]end\nlocal function i(i,"
	.ascii	"r,o,a)local t={}function makeabsolute(e,n)if(type(e)==\"tabl"
	.ascii	"e\")then\nfor t,e in ipairs(e)do\nmakeabsolute(e,n+1)end\nel"
	.ascii	"seif type(e)==\"string\"then\nif e:find(\"*\")then\nmakeabso"
	.ascii	"lute(a(e),n+1)else\ntable.insert(t,path.getabsolute(e))end\n"
	.ascii	"else\nerror(\"Invalid value in list: expected string, got \""
	.ascii	"..type(e),n)end\nend\nmakeabsolute(o,3)return premake.setarr"
	.ascii	"ay(i,r,t)end\nfunction premake.setdirarray(n,e,t)return i(n,"
	.ascii	"e,t,os.matchdirs)end\nfunction premake.setfilearray(t,e,n)re"
	.ascii	"turn i(t,e,n,os.matchfiles)end\nfunction premake.setkeyvalue"
	.ascii	"(e,n,t)local e,i=premake.getobject(e)if not e then\nerror(i,"
	.ascii	"4)end\nif not e[n]then\ne[n]={}end\nif type(t)~=\"table\"the"
	.ascii	"n\nerror(\"invalid value; table expected\",4)end\nlocal e=e["
	.ascii	"n]for n,t in pairs(t)do\nif not e[n]then\ne[n]={}end\ntable."
	.ascii	"insertflat(e[n],t)end\nreturn e\nend\nfunction premake.setst"
	.ascii	"ring(n,i,e,r)local n,t=premake.getobject(n)if(not n)then\ner"
	.ascii	"ror(t,4)end\nif(e)then\ne,t=premake.checkvalue(e,r)if(not e)"
	.ascii	"then\nerror(t,4)end\nn[i]=e\nend\nreturn n[i]end\nlocal func"
	.ascii	"tion o(n,e)local t=premake.fields[n].kind\nlocal i=premake.f"
	.ascii	"ields[n].scope\nlocal r=premake.fields[n].allowed\nif(t==\"s"
	.ascii	"tring\"or t==\"path\")and e then\nif type(e)~=\"string\"then"
	.ascii	"\nerror(\"string value expected\",3)end\nend\nif t==\"string"
	.ascii	"\"then\nreturn premake.setstring(i,n,e,r)elseif t==\"path\"t"
	.ascii	"hen\nif e then e=path.getabsolute(e)end\nreturn premake.sets"
	.ascii	"tring(i,n,e)elseif t==\"list\"then\nreturn premake.setarray("
	.ascii	"i,n,e,r)elseif t==\"dirlist\"then\nreturn premake.setdirarra"
	.ascii	"y(i,n,e)elseif t==\"filelist\"then\nreturn premake.setfilear"
	.ascii	"ray(i,n,e)elseif t==\"keyvalue\"or t==\"keypath\"then\nretur"
	.ascii	"n premak"
	.ascii	"e.setkeyvalue(i,n,e)end\nend\nfor e,n in pairs(premake.field"
	.ascii	"s)do\n_G[e]=function(n)return o(e,n)end\nend\nfunction confi"
	.ascii	"guration(t)if not t then\nreturn premake.CurrentConfiguratio"
	.ascii	"n\nend\nlocal n,e=premake.getobject(\"container\")if(not n)t"
	.ascii	"hen\nerror(e,2)end\nlocal e={}e.terms=table.flatten({t})tabl"
	.ascii	"e.insert(n.blocks,e)premake.CurrentConfiguration=e\ne.keywor"
	.ascii	"ds={}for t,n in ipairs(e.terms)do\ntable.insert(e.keywords,p"
	.ascii	"ath.wildcards(n):lower())end\nfor t,n in pairs(premake.field"
	.ascii	"s)do\nif(n.kind~=\"string\"and n.kind~=\"path\")then\ne[t]={"
	.ascii	"}end\nend\nreturn e\nend\nlocal function r(t,n,i)local e={}s"
	.ascii	"etmetatable(e,{__type=\"project\",})table.insert(n.projects,"
	.ascii	"e)if(i)then\nif(n.projects[t])then\nn.projects[t].usageProj="
	.ascii	"e;else\nn.projects[t]=e\nend\nelse\nif(n.projects[t])then\ne"
	.ascii	".usageProj=n.projects[t];end\nn.projects[t]=e\nend\ne.soluti"
	.ascii	"on=n\ne.name=t\ne.basedir=os.getcwd()e.uuid=os.uuid()e.block"
	.ascii	"s={}e.usage=i;return e;end\nfunction usage(n)if(not n)then\n"
	.ascii	"if(type(premake.CurrentContainer)~=\"project\")then return n"
	.ascii	"il end\nif(not premake.CurrentContainer.usage)then return ni"
	.ascii	"l end\nreturn premake.CurrentContainer\nend\nlocal e\nif(typ"
	.ascii	"e(premake.CurrentContainer)==\"project\")then\ne=premake.Cur"
	.ascii	"rentContainer.solution\nelse\ne=premake.CurrentContainer\nen"
	.ascii	"d\nif(type(e)~=\"solution\")then\nerror(\"no active solution"
	.ascii	"\",2)end\nif((not e.projects[n])or((not e.projects[n].usage)"
	.ascii	"and(not e.projects[n].usageProj)))then\npremake.CurrentConta"
	.ascii	"iner=r(n,e,true)else\npremake.CurrentContainer=iff(e.project"
	.ascii	"s[n].usage,e.projects[n],e.projects[n].usageProj)end\nconfig"
	.ascii	"uration{}return premake.CurrentContainer\nend\nfunction proj"
	.ascii	"ect(n)if(not n)then\nif(type(premake.CurrentContainer)~=\"pr"
	.ascii	"oject\")then return nil end\nif(premake.CurrentContainer.usa"
	.ascii	"ge)then return nil end\nreturn premake.CurrentContainer\nend"
	.ascii	"\nlocal e\nif(type(premake.CurrentContainer)==\"project\")th"
	.ascii	"en\ne=premake.CurrentContainer.solution\nelse\ne=premake.Cur"
	.ascii	"rentContainer\nend\nif(type(e)~=\"solution\")then\nerror(\"n"
	.ascii	"o active solution\",2)end\nif((not e.projects[n])or e.projec"
	.ascii	"ts[n].usage)then\npremake.CurrentContainer=r(n,e"
	.ascii	")else\npremake.CurrentContainer=e.projects[n];end\nconfigura"
	.ascii	"tion{}return premake.CurrentContainer\nend\nfunction solutio"
	.ascii	"n(e)if not e then\nif type(premake.CurrentContainer)==\"proj"
	.ascii	"ect\"then\nreturn premake.CurrentContainer.solution\nelse\nr"
	.ascii	"eturn premake.CurrentContainer\nend\nend\npremake.CurrentCon"
	.ascii	"taine"
	.string	"r=premake.solution.get(e)if(not premake.CurrentContainer)then\npremake.CurrentContainer=premake.solution.new(e)end\nconfiguration{}return premake.CurrentContainer\nend\nfunction newaction(e)premake.action.add(e)end\nfunction newoption(e)premake.option.add(e)end"
	.align 8
.LC14:
	.ascii	"newoption{trigger=\"cc\",value=\"VALUE\",description=\"Choos"
	.ascii	"e a C/C++ compiler set\",allowed={{\"gcc\",\"GNU GCC (gcc/g+"
	.ascii	"+)\"},{\"ow\",\"OpenWatcom\"},}}newoption{trigger=\"dotnet\""
	.ascii	",value=\"VALUE\",description=\"Choose a .NET compiler set\","
	.ascii	"allowed={{\"msnet\",\"Microsoft .NET (csc)\"},{\"mono\",\"No"
	.ascii	"vell Mono (mcs)\"},{\"pnet\",\"Portable.NET (cscc)\"},}}newo"
	.ascii	"ption{trigger=\"file\",value=\"FILE\",description=\"Read FIL"
	.ascii	"E as a Premake script; default is 'premake4.lua'\"}newoption"
	.ascii	"{trigger=\"help\",description=\"Display this information\"}n"
	.ascii	"ewoption{trigger=\"os\",value=\"VALUE\",description=\"Genera"
	.ascii	"te files for a different operating system\",allowed={{\"bsd\""
	.ascii	",\"OpenBSD, NetBSD, or FreeBSD\"},{\"haiku\",\"Haiku\"},{\"l"
	.ascii	"inux\",\"Linux\"},{\"macosx\",\"Apple Mac OS X\"},{\"solaris"
	.ascii	"\",\"Solaris\"},{\"windows\",\"Microsoft Windows\"},}}newopt"
	.ascii	"ion{trigger=\"platform\",value=\"VALUE\",description=\"Add t"
	.ascii	"arget architecture (if supported by action)\",allowed={{\"x3"
	.ascii	"2\",\"32-bit\"},{\"x64\",\"64-bit\"},{\"universal\",\"Mac OS"
	.ascii	" X Universal, 32- and 64-bit\"},{\"universal32\",\"Mac OS X "
	.ascii	"Universal, 32-bit only\"},{\"universal64\",\"Mac OS X Univer"
	.ascii	"sal, 64-bit only\"},{\"ps3\",\"Playstation 3 (experimental)\""
	.ascii	"},{\"xbox360\",\"Xbox 360 (experimental)\"},}}newoption{trig"
	.ascii	"ger=\"sc"
	.string	"ripts\",value=\"path\",description=\"Search for additional scripts on the given path\"}newoption{trigger=\"version\",description=\"Display version information\"}newoption{trigger=\"generate_user\",description=\"Generate (and remove when cleaning) .user VStudio files\"}"
	.align 8
.LC15:
	.ascii	"premake.dotnet={}premake.dotnet.namestyle=\"windows\"local t"
	.ascii	"={FatalWarning=\"/warnaserror\",Optimize=\"/optimize\",Optim"
	.ascii	"izeSize=\"/optimize\",OptimizeSpeed=\"/optimize\",Symbols=\""
	.ascii	"/debug\",Unsafe=\"/unsafe\"}function premake.dotnet.getbuild"
	.ascii	"action(e)local n=path.getextension(e.name):lower()if e.build"
	.ascii	"action==\"Compile\"or n==\".cs\"then\nreturn\"Compile\"elsei"
	.ascii	"f e.buildaction==\"Embed\"or n==\".resx\"then\nreturn\"Embed"
	.ascii	"dedResource\"elseif e.buildaction==\"Copy\"or n==\".asax\"or"
	.ascii	" n==\".aspx\"then\nreturn\"Content\"elseif e.buildaction==\""
	.ascii	"Page\"or n==\".xaml\"then\nif(path.getname(e.name)==\"App.xa"
	.ascii	"ml\")then\nreturn\"ApplicationDefinition\"else\nreturn\"Page"
	.ascii	"\"end\nelse\nreturn\"None\"end\nend\nfunction premake.dotnet"
	.ascii	".getcompilervar(e)if(_OPTIONS.dotnet==\"msnet\")then\nreturn"
	.ascii	"\"csc\"elseif(_OPTIONS.dotnet==\"mono\")then\nif(e.framework"
	.ascii	"<=\"1.1\")then\nreturn\"mcs\"elseif(e.framework>=\"4.0\")the"
	.ascii	"n\nreturn\"dmcs\"else\nreturn\"gmcs\"end\nelse\nreturn\"cscc"
	.ascii	"\"end\nend\nfu"
	.string	"nction premake.dotnet.getflags(e)local e=table.translate(e.flags,t)return e\nend\nfunction premake.dotnet.getkind(e)if(e.kind==\"ConsoleApp\")then\nreturn\"Exe\"elseif(e.kind==\"WindowedApp\")then\nreturn\"WinExe\"elseif(e.kind==\"SharedLib\")then\nreturn\"Library\"end\nend"
	.align 8
.LC16:
	.ascii	"premake.gcc={}premake.gcc.cc=\"gcc\"premake.gcc.cxx=\"g++\"p"
	.ascii	"remake.gcc.ar=\"ar\"local n={EnableSSE=\"-msse\",EnableSSE2="
	.ascii	"\"-msse2\",ExtraWarnings=\"-Wall -Wextra\",FatalWarnings=\"-"
	.ascii	"Werror\",FloatFast=\"-ffast-math\",FloatStrict=\"-ffloat-sto"
	.ascii	"re\",NoFramePointer=\"-fomit-frame-pointer\",Optimize=\"-O2\""
	.ascii	",OptimizeSize=\"-Os\",OptimizeSpeed=\"-O3\",Symbols=\"-g\",}"
	.ascii	"local l={NoExceptions=\"-fno-exceptions\",NoRTTI=\"-fno-rtti"
	.ascii	"\",}premake.gcc.platforms={Native={cppflags=\"-MMD\",},x32={"
	.ascii	"cppflags=\"-MMD\",flags=\"-m32\",ldflags=\"-L/usr/lib32\",},"
	.ascii	"x64={cppflags=\"-MMD\",flags=\"-m64\",ldflags=\"-L/usr/lib64"
	.ascii	"\",},Universal={cppflags=\"\",flags=\"-arch i386 -arch x86_6"
	.ascii	"4 -arch ppc -arch ppc64\",},Universal32={cppflags=\"\",flags"
	.ascii	"=\"-arch i386 -arch ppc\",},Universal64={cppflags=\"\",flags"
	.ascii	"=\"-arch x86_64 -arch ppc64\",},PS3={cc=\"ppu-lv2-g++\",cxx="
	.ascii	"\"ppu-lv2-g++\",ar=\"ppu-lv2-ar\",cppflags=\"-MMD\",},WiiDev"
	.ascii	"={cppflags=\"-MMD -MP -I$(LIBOGC_INC) $(MACHDEP)\",ldflags=\""
	.ascii	"-L$(LIBOGC_LIB) $(MACHDEP)\",cfgsettings=[[\n  ifeq ($(strip"
	.ascii	" $(DEVKITPPC)),)\n\t$(error \"DEVKITPPC environment variable"
	.ascii	" is not set\")'\n  endif\n  include $(DEVKITPPC)/wii_rules']"
	.ascii	"],},}local t=premake.gcc.platforms\nfunction premake.gcc.get"
	.ascii	"cppflags(a)local e={}table.insert(e,t[a.platform].cppflags)i"
	.ascii	"f e[1]:startswith(\"-MMD\")and a.system~=\"haiku\"then\ntabl"
	.ascii	"e.insert(e,\"-MP\")end\nreturn e\nend\nfunction premake.gcc."
	.ascii	"getcflags(e)local a=table.translate(e.flags,n)table.insert(a"
	.ascii	",t[e.platform].flags)if e.system~=\"windows\"and e.kind==\"S"
	.ascii	"haredLib\"then\ntable.insert(a,\"-fPIC\")end\nreturn a\nend\n"
	.ascii	"function premake.gcc.getcxxflags(e)local e=table.translate(e"
	.ascii	".flags,l)return e\nend\nfunction premake.gcc.getldflags(e)lo"
	.ascii	"cal a={}if not e.flags.Symbols then\nif e.system==\"macosx\""
	.ascii	"then\ntable.insert(a,\"-Wl,-x\")else\ntable.insert(a,\"-s\")"
	.ascii	"end\nend\nif e.kind==\"SharedLib\"then\nif e.system==\"macos"
	.ascii	"x\"then\ntable.insert(a,\"-dynamiclib\")else\ntable.insert(a"
	.ascii	",\"-shared\")end\nif e.system==\"windows\"and not e.flags.No"
	.ascii	"ImportLib then\ntable.insert(a,'-Wl,--out-implib=\"'..e.link"
	.ascii	"target.fullpath..'\"')end\nend\nif e.kind==\"WindowedApp\"an"
	.ascii	"d e.system==\"windows\"then\ntab"
	.ascii	"le.insert(a,\"-mwindows\")end\nlocal e=t[e.platform]table.in"
	.ascii	"sert(a,e.flags)table.insert(a,e.ldflags)return a\nend\nfunct"
	.ascii	"ion premake.gcc.getlibdirflags(a)local e={}for t,a in ipairs"
	.ascii	"(premake.getlinks(a,\"all\",\"directory\"))do\ntable.insert("
	.ascii	"e,'-L'.._MAKE.esc(a))end\nreturn e\nend\nfunction premake.gc"
	.ascii	"c.getlinkflags(a)local e={}for t,a in ipairs(premake.getlink"
	.ascii	"s(a,\"system\",\"name\"))do\nif path.getextension(a)==\".fra"
	.ascii	"mework\"then\ntable.insert(e,'-framework '.._MAKE.esc(path.g"
	.ascii	"etbasename(a)))else\ntable.insert(e,'-l'.._MAKE.esc(a))end\n"
	.ascii	"end\nreturn e\nend\nfunction premake.gcc.getdefines(a)local "
	.ascii	"e={}for"
	.string	" t,a in ipairs(a)do\ntable.insert(e,'-D'..a)end\nreturn e\nend\nfunction premake.gcc.getincludedirs(a)local e={}for t,a in ipairs(a)do\ntable.insert(e,\"-I\".._MAKE.esc(a))end\nreturn e\nend\nfunction premake.gcc.getcfgsettings(e)return t[e.platform].cfgsettings\nend"
	.align 8
.LC17:
	.string	"premake.msc={}premake.msc.namestyle=\"windows\""
	.align 8
.LC18:
	.ascii	"premake.ow={}premake.ow.namestyle=\"windows\"premake.ow.cc=\""
	.ascii	"WCL386\"premake.ow.cxx=\"WCL386\"premake.ow.ar=\"ar\"local e"
	.ascii	"={ExtraWarnings=\"-wx\",FatalWarning=\"-we\",FloatFast=\"-om"
	.ascii	"n\",FloatStrict=\"-op\",Optimize=\"-ox\",OptimizeSize=\"-os\""
	.ascii	",OptimizeSpeed=\"-ot\",Symbols=\"-d2\",}local n={NoException"
	.ascii	"s=\"-xd\",NoRTTI=\"-xr\",}premake.ow.platforms={Native={flag"
	.ascii	"s=\"\"},}function premake.ow.getcppflags(e)return{}end\nfunc"
	.ascii	"tion premake.ow.getcflags(a)local e=table.translate(a.flags,"
	.ascii	"e)if(a.flags.Symbols)then\ntable.insert(e,\"-hw\")end\nretur"
	.ascii	"n e\nend\nfunction premake.ow.getcxxflags(e)local e=table.tr"
	.ascii	"anslate(e.flags,n)return e\nend\nfunction premake.ow.getldfl"
	.ascii	"ags(a)local e={}if(a.flags.Symbols)then\ntable.insert(e,\"op"
	.ascii	" symf\")end\nreturn e\nend\nfunction premake.ow.getl"
	.string	"inkflags(e)local e={}return e\nend\nfunction premake.ow.getdefines(a)local e={}for n,a in ipairs(a)do\ntable.insert(e,'-D'..a)end\nreturn e\nend\nfunction premake.ow.getincludedirs(a)local e={}for n,a in ipairs(a)do\ntable.insert(e,'-I \"'..a..'\"')end\nreturn e\nend"
	.align 8
.LC19:
	.ascii	"premake.snc={}premake.snc.cc=\"snc\"premake.snc.cxx=\"g++\"p"
	.ascii	"remake.snc.ar=\"ar\"local n={ExtraWarnings=\"-Xdiag=2\",Fata"
	.ascii	"lWarnings=\"-Xquit=2\",}local t={NoExceptions=\"\",NoRTTI=\""
	.ascii	"-Xc-=rtti\",}premake.snc.platforms={PS3={cc=\"ppu-lv2-g++\","
	.ascii	"cxx=\"ppu-lv2-g++\",ar=\"ppu-lv2-ar\",cppflags=\"-MMD -MP\","
	.ascii	"}}local a=premake.snc.platforms\nfunction premake.snc.getcpp"
	.ascii	"flags(n)local e={}table.insert(e,a[n.platform].cppflags)retu"
	.ascii	"rn e\nend\nfunction premake.snc.getcflags(e)local n=table.tr"
	.ascii	"anslate(e.flags,n)table.insert(n,a[e.platform].flags)if e.ki"
	.ascii	"nd==\"SharedLib\"then\ntable.insert(n,\"-fPIC\")end\nreturn "
	.ascii	"n\nend\nfunction premake.snc.getcxxflags(e)local e=table.tra"
	.ascii	"nslate(e.flags,t)return e\nend\nfunction premake.snc.getldfl"
	.ascii	"ags(n)local e={}if not n.flags.Symbols then\ntable.insert(e,"
	.ascii	"\"-s\")end\nif n.kind==\"SharedLib\"then\ntable.insert(e,\"-"
	.ascii	"shared\")if not n.flags.NoImportLib then\ntable.insert(e,'-W"
	.ascii	"l,--out-implib=\"'..n.linktarget.fullpath..'\"')end\nend\nlo"
	.ascii	"cal n=a[n.platform]table.insert(e,n.flags)table.insert(e,n.l"
	.ascii	"dflags)return e\nend\nfunction premake.snc.getlibdirflags(n)"
	.ascii	"local e={}for a,n in ipairs(premake.getlinks(n,\"all\",\"dir"
	.ascii	"ectory\"))do\ntable.insert(e,'-L'.._MAKE.esc(n))end\nreturn "
	.ascii	"e\nend\nfunction premake.snc.getlinkflags(n)local e={}for a,"
	.ascii	"n in ipairs(premake.getlinks(n,\"system\",\"name\"))do\ntabl"
	.ascii	"e.insert(e,'-l'.._M"
	.string	"AKE.esc(n))end\nreturn e\nend\nfunction premake.snc.getdefines(n)local e={}for a,n in ipairs(n)do\ntable.insert(e,'-D'..n)end\nreturn e\nend\nfunction premake.snc.getincludedirs(n)local e={}for a,n in ipairs(n)do\ntable.insert(e,\"-I\".._MAKE.esc(n))end\nreturn e\nend"
	.align 8
.LC20:
	.ascii	"function premake.checkprojects()local n=premake.action.curre"
	.ascii	"nt()for e in premake.solution.each()do\nif(#e.projects==0)th"
	.ascii	"en\nreturn nil,\"solution '\"..e.name..\"' needs at least on"
	.ascii	"e project\"end\nif(#e.configurations==0)then\nreturn nil,\"s"
	.ascii	"olution '\"..e.name..\"' needs configurations\"end\nfor e in"
	.ascii	" premake.solution.eachproject(e)do\nif(not e.language)then\n"
	.ascii	"return nil,\"project '\"..e.name..\"' needs a language\"end\n"
	.ascii	"if(n.valid_languages)then\nif(not table.contains(n.valid_lan"
	.ascii	"guages,e.language))then\nreturn nil,\"the \"..n.shortname..\""
	.ascii	" action does not support \"..e.language..\" projects\"end\ne"
	.ascii	"nd\nfor t in premake.eachconfig(e)do\nif(not t.kind)then\nre"
	.ascii	"turn nil,\"project '\"..e.name..\"' needs a kind in configur"
	.ascii	"ation '\"..t.name..\"'\"end\nif(n.valid_kinds)then\nif(not t"
	.ascii	"able.contains(n.valid_kinds,t.kind))then\nreturn nil,\"the \""
	.ascii	"..n.shortname..\" action does not support \"..t.kind..\" pro"
	.ascii	"jects\"end\nend\nend\nif n.oncheckproject then\nn.oncheckpro"
	.ascii	"ject(e)end\nend\nend\nreturn true\nend\nfunction premake.che"
	.ascii	"cktools()local e=premake.action.current()if(not e.valid_tool"
	.ascii	"s)"
	.string	"then\nreturn true\nend\nfor n,t in pairs(e.valid_tools)do\nif(_OPTIONS[n])then\nif(not table.contains(t,_OPTIONS[n]))then\nreturn nil,\"the \"..e.shortname..\" action does not support /\"..n..\"=\".._OPTIONS[n]..\" (yet)\"end\nelse\n_OPTIONS[n]=t[1]end\nend\nreturn true\nend"
	.align 8
.LC21:
	.ascii	"function premake.showhelp()printf(\"Premake %s, a build scri"
	.ascii	"pt generator\",_PREMAKE_VERSION)printf(_PREMAKE_COPYRIGHT)pr"
	.ascii	"intf(\"%s %s\",_VERSION,_COPYRIGHT)printf(\"\")printf(\"Usag"
	.ascii	"e: premake4 [options] action [arguments]\")printf(\"\")print"
	.ascii	"f(\"OPTIONS\")printf(\"\")for n in premake.option.each()do\n"
	.ascii	"local i=n.trigger\nlocal e=n.description\nif(n.value)then i="
	.ascii	"i..\"=\"..n.value end\nif(n.allowed)then e=e..\"; one of:\"e"
	.ascii	"nd\nprintf(\" --%-15s %s\",i,e)if(n.allowed)then\nfor i,n in"
	.ascii	" ipairs(n.allow"
	.string	"ed)do\nprintf(\"     %-14s %s\",n[1],n[2])end\nend\nprintf(\"\")end\nprintf(\"ACTIONS\")printf(\"\")for n in premake.action.each()do\nprintf(\" %-17s %s\",n.trigger,n.description)end\nprintf(\"\")printf(\"For additional information, see http://industriousone.com/premake\")end"
	.align 8
.LC22:
	.string	"function premake.generate(n,e,t)e=premake.project.getfilename(n,e)printf(\"Generating %s...\",e)local e,o=io.open(e,\"wb\")if(not e)then\nerror(o,0)end\nio.output(e)t(n)e:close()end"
	.align 8
.LC23:
	.ascii	"premake.codeblocks={}newaction{trigger=\"codeblocks\",shortn"
	.ascii	"ame=\"Code::Blocks\",description=\"Generate Code::Blocks pro"
	.ascii	"ject files\",valid_kinds={\"ConsoleApp\",\"WindowedApp\",\"S"
	.ascii	"taticLib\",\"SharedLib\"},valid_languages={\"C\",\"C++\"},va"
	.ascii	"lid_tools={cc={\"gcc\",\"ow\"},},onsolution=function(e)prema"
	.ascii	"ke.generate(e,\"%%.workspace\",premake.codeblocks.workspace)"
	.ascii	"end,onproject=fun"
	.string	"ction(e)premake.generate(e,\"%%.cbp\",premake.codeblocks.cbp)end,oncleansolution=function(e)premake.clean.file(e,\"%%.workspace\")end,oncleanproject=function(e)premake.clean.file(e,\"%%.cbp\")premake.clean.file(e,\"%%.depend\")premake.clean.file(e,\"%%.layout\")end}"
	.align 8
.LC24:
	.ascii	"function premake.codeblocks.workspace(e)_p('<?xml version=\""
	.ascii	"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>')_p('<CodeBlo"
	.ascii	"cks_workspace_file>')_p(1,'<Workspace title=\"%s\">',e.name)"
	.ascii	"for o in premake.solution.eachproject(e)do\nlocal p=path.joi"
	.ascii	"n(path.getrelative(e.location,o.location),o.name)local a=iif"
	.ascii	"(o.project==e.projects[1],' active=\"1\"','')_p(2,'<Proj"
	.string	"ect filename=\"%s.cbp\"%s>',p,a)for a,o in ipairs(premake.getdependencies(o))do\n_p(3,'<Depends filename=\"%s.cbp\" />',path.join(path.getrelative(e.location,o.location),o.name))end\n_p(2,'</Project>')end\n_p(1,'</Workspace>')_p('</CodeBlocks_workspace_file>')end"
	.align 8
.LC25:
	.ascii	"local p=premake.codeblocks\nfunction p.files(e)local o\nif(e"
	.ascii	".pchheader)then\no=path.getrelative(e.location,e.pchheader)e"
	.ascii	"nd\nfor i in premake.project.eachfile(e)do\n_p(2,'<Unit file"
	.ascii	"name=\"%s\">',premake.esc(i.name))if i.name~=i.vpath then\n_"
	.ascii	"p(3,'<Option virtualFolder=\"%s\" />',path.getdirectory(i.vp"
	.ascii	"ath))end\nif path.isresourcefile(i.name)then\n_p(3,'<Option "
	.ascii	"compilerVar=\"WINDRES\" />')elseif path.iscfile(i.name)and e"
	.ascii	".language==\"C++\"then\n_p(3,'<Option compilerVar=\"CC\" />'"
	.ascii	")end\nif not e.flags.NoPCH and i.name==o then\n_p(3,'<Option"
	.ascii	" compilerVar=\"%s\" />',iif(e.language==\"C\",\"CC\",\"CPP\""
	.ascii	"))_p(3,'<Option compile=\"1\" />')_p(3,'<Option weight=\"0\""
	.ascii	" />')_p(3,'<Add option=\"-x c++-header\" />')end\n_p(2,'</Un"
	.ascii	"it>')end\nend\nfunction premake.codeblocks.debugenvs(i)if pr"
	.ascii	"emake.gettool(i)==premake.gcc then\n_p(3,'<debugger>')_p(4,'"
	.ascii	"<remote_debugging target=\"%s\">',premake.esc(i.longname))lo"
	.ascii	"cal e=''local n=#i.debugenvs\nfor o,i in ipairs(i.debugenvs)"
	.ascii	"do\ne=e..'set env '..i\nif n~=o then e=e..'&#x0A;'end\nend\n"
	.ascii	"_p(5,'<options additional_cmds_before=\"%s\" />',e)_p(4,'</r"
	.ascii	"emote_debugging>')_p(3,'</debugger>')else\nerror('Sorry at t"
	.ascii	"his moment there is no support for debug environment variabl"
	.ascii	"es with this debugger and codeblocks')end\nend\nfunction pre"
	.ascii	"make.codeblocks.cbp(i)local o=premake.gettool(i)_p('<?xml ve"
	.ascii	"rsion=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>')_p('"
	.ascii	"<CodeBlocks_project_file>')_p(1,'<FileVersion major=\"1\" mi"
	.ascii	"nor=\"6\" />')_p(1,'<Project>')_p(2,'<Option title=\"%s\" />"
	.ascii	"',premake.esc(i.name))_p(2,'<Option pch_mode=\"2\" />')_p(2,"
	.ascii	"'<Option compiler=\"%s\" />',_OPTIONS.cc)local n=premake.fil"
	.ascii	"terplatforms(i.solution,o.platforms,\"Native\")for e=#n,1,-1"
	.ascii	" do\nif premake.platforms[n[e]].iscrosscompiler then\ntable."
	.ascii	"remove(n,e)end\nend\n_p(2,'<Build>')for n,e in ipairs(n)do\n"
	.ascii	"for e in premake.eachconfig(i,e)do\n_p(3,'<Target title=\"%s"
	.ascii	"\">',premake.esc(e.longname))_p(4,'<Option output=\"%s\" pre"
	.ascii	"fix_auto=\"0\" extension_auto=\"0\" />',premake.esc(e.buildt"
	.ascii	"arget.fullpath))if e.debugdir then\n_p(4,'<Option working_di"
	.ascii	"r=\"%s\" />',premake.esc(e.debugdir))end\n_p(4,"
	.ascii	"'<Option object_output=\"%s\" />',premake.esc(e.objectsdir))"
	.ascii	"local i={WindowedApp=0,ConsoleApp=1,StaticLib=2,SharedLib=3}"
	.ascii	"_p(4,'<Option type=\"%d\" />',i[e.kind])_p(4,'<Option compil"
	.ascii	"er=\"%s\" />',_OPTIONS.cc)if(e.kind==\"SharedLib\")then\n_p("
	.ascii	"4,'<Option createDefFile=\"0\" />')_p(4,'<Option createStati"
	.ascii	"cLib=\"%s\" />',iif(e.flags.NoImportLib,0,1))end\n_p(4,'<Com"
	.ascii	"piler>')for i,e in ipairs(table.join(o.getcflags(e),o.getcxx"
	.ascii	"flags(e),o.getdefines(e.defines),e.buildoptions))do\n_p(5,'<"
	.ascii	"Add option=\"%s\" />',premake.esc(e))end\nif not e.flags.NoP"
	.ascii	"CH and e.pchheader then\n_p(5,'<Add option=\"-Winvalid-pch\""
	.ascii	" />')_p(5,'<Add option=\"-include &quot;%s&quot;\" />',prema"
	.ascii	"ke.esc(e.pchheader))end\nfor i,e in ipairs(e.includedirs)do\n"
	.ascii	"_p(5,'<Add directory=\"%s\" />',premake.esc(e))end\n_p(4,'</"
	.ascii	"Compiler>')_p(4,'<Linker>')for i,e in ipairs(table.join(o.ge"
	.ascii	"tldflags(e),e.linkoptions))do\n_p(5,'<Add option=\"%s\" />',"
	.ascii	"premake.esc(e))end\nfor i,e in ipairs(premake.getlinks(e,\"a"
	.ascii	"ll\",\"directory\"))do\n_p(5,'<Add directory=\"%s\" />',prem"
	.ascii	"ake.esc(e))end\nfor i,e in ipairs(premake.getlinks(e,\"all\""
	.ascii	",\"basename\"))do\n_p(5,'<Add library=\"%s\" />',premake.esc"
	.ascii	"(e))end\n_p(4,'</Linker>')if premake.findfile(e,\".rc\")then"
	.ascii	"\n_p(4,'<ResourceCompiler>')for i,e in ipairs(e.includedirs)"
	.ascii	"do\n_p(5,'<Add directory=\"%s\" />',premake.esc(e))end\nfor "
	.ascii	"i,e in ipairs(e.resincludedirs)do\n_p(5,'<Add directory=\"%s"
	.ascii	"\" />',premake.esc(e))end\n_p(4,'</ResourceCompiler>')end\ni"
	.ascii	"f#e.prebuildcommands>0 or#e.postbuildcommands>0 then\n_p(4,'"
	.ascii	"<ExtraCommands>')for i,e in ipairs(e.prebuildcommands)do\n_p"
	.ascii	"(5,'<Add before=\"%s\" />',premake.esc(e))end\nfor i,e in ip"
	.ascii	"airs(e.postbuildcommands)do\n_p(5,'<Add after=\"%s\" />',pre"
	.ascii	"make.esc(e))end\n_p(4,'</ExtraCommands>')end\n_p(3,'</Target"
	.ascii	">')end\nend\n_p(2,'</B"
	.string	"uild>')p.files(i)_p(2,'<Extensions>')for o,e in ipairs(n)do\nfor e in premake.eachconfig(i,e)do\nif e.debugenvs and#e.debugenvs>0 then\npremake.codeblocks.debugenvs(e)end\nend\nend\n_p(2,'</Extensions>')_p(1,'</Project>')_p('</CodeBlocks_project_file>')_p('')end"
	.align 8
.LC26:
	.ascii	"premake.codelite={}newaction{trigger=\"codelite\",shortname="
	.ascii	"\"CodeLite\",description=\"Generate CodeLite project files\""
	.ascii	",valid_kinds={\"ConsoleApp\",\"WindowedApp\",\"StaticLib\",\""
	.ascii	"SharedLib\"},valid_languages={\"C\",\"C++\"},valid_tools={cc"
	.ascii	"={\"gcc\"},},onsolution=function(e)premake.generate(e,\"%%.w"
	.ascii	"orkspace\",premake.codelite.workspace)end,onproject=function"
	.ascii	"(e)premake.generate(e,\"%%.project\",premake.codelite.projec"
	.ascii	"t)end,oncleansolution=function(e)pr"
	.string	"emake.clean.file(e,\"%%.workspace\")premake.clean.file(e,\"%%_wsp.mk\")premake.clean.file(e,\"%%.tags\")end,oncleanproject=function(e)premake.clean.file(e,\"%%.project\")premake.clean.file(e,\"%%.mk\")premake.clean.file(e,\"%%.list\")premake.clean.file(e,\"%%.out\")end}"
	.align 8
.LC27:
	.ascii	"function premake.codelite.workspace(e)_p('<?xml version=\"1."
	.ascii	"0\" encoding=\"utf-8\"?>')_p('<CodeLite_Workspace Name=\"%s\""
	.ascii	" Database=\"./%s.tags\">',premake.esc(e.name),premake.esc(e."
	.ascii	"name))for o,a in ipairs(e.projects)do\nlocal i=premake.esc(a"
	.ascii	".name)local a=path.join(path.getrelative(e.location,a.locati"
	.ascii	"on),a.name)local e=iif(o==1,\"Yes\",\"No\")_p('  <Project Na"
	.ascii	"me=\"%s\" Path=\"%s.project\" Active=\"%s\" />',i,a,e)end\nl"
	.ascii	"ocal a=premake.filterplatforms(e,premake[_OPTIONS.cc].platfo"
	.ascii	"rms,\"Native\")for e=#a,1,-1 do\nif premake.platforms[a[e]]."
	.ascii	"iscrosscompiler then\ntable.remove(a,e)end\nend\n_p('  <Buil"
	.ascii	"dMatrix>')for a,o in ipairs(a)do\nfor i,a in ipairs(e.config"
	.ascii	"urations)do\nlocal a=premake.getconfigname(a,o):gsub(\""
	.string	"|\",\"_\")_p('    <WorkspaceConfiguration Name=\"%s\" Selected=\"yes\">',a)for o,e in ipairs(e.projects)do\n_p('      <Project Name=\"%s\" ConfigName=\"%s\"/>',e.name,a)end\n_p('    </WorkspaceConfiguration>')end\nend\n_p('  </BuildMatrix>')_p('</CodeLite_Workspace>')end"
	.align 8
.LC28:
	.ascii	"local e=premake.codelite\nlocal i=premake.tree\nfunction e.f"
	.ascii	"iles(e)local e=premake.project.buildsourcetree(e)i.traverse("
	.ascii	"e,{onbranchenter=function(i,e)_p(e,'<VirtualDirectory Name=\""
	.ascii	"%s\">',i.name)end,onbranchexit=function(i,e)_p(e,'</VirtualD"
	.ascii	"irectory>')end,onleaf=function(i,e)_p(e,'<File Name=\"%s\"/>"
	.ascii	"',i.cfg.name)end,},true,1)end\nfunction premake.codelite.pro"
	.ascii	"ject(i)io.indent=\"  \"_p('<?xml version=\"1.0\" encoding=\""
	.ascii	"utf-8\"?>')_p('<CodeLite_Project Name=\"%s\">',premake.esc(i"
	.ascii	".name))e.files(i)local n={ConsoleApp=\"Executable\",Windowed"
	.ascii	"App=\"Executable\",StaticLib=\"Static Library\",SharedLib=\""
	.ascii	"Dynamic Library\",}_p('  <Settings Type=\"%s\">',n[i.kind])l"
	.ascii	"ocal o=premake.filterplatforms(i.solution,premake[_OPTIONS.c"
	.ascii	"c].platforms,\"Native\")for e=#o,1,-1 do\nif premake.platfor"
	.ascii	"ms[o[e]].iscrosscompiler then\ntable.remove(o,e)end\nend\nfo"
	.ascii	"r o,e in ipairs(o)do\nfor e in premake.eachconfig(i,e)do\nlo"
	.ascii	"cal o=premake.esc(e.longname):gsub(\"|\",\"_\")local i=iif(e"
	.ascii	".language==\"C\",\"gcc\",\"g++\")_p('    <Configuration Name"
	.ascii	"=\"%s\" CompilerType=\"gnu %s\" DebuggerType=\"GNU gdb debug"
	.ascii	"ger\" Type=\"%s\">',o,i,n[e.kind])local r=premake.esc(e.buil"
	.ascii	"dtarget.fullpath)local l=premake.esc(e.objectsdir)local n=e."
	.ascii	"buildtarget.name\nlocal o=e.debugdir or e.buildtarget.direct"
	.ascii	"ory\nlocal i=table.concat(e.debugargs,\" \")local a=iif(e.ki"
	.ascii	"nd==\"WindowedApp\",\"no\",\"yes\")_p('      <General Output"
	.ascii	"File=\"%s\" IntermediateDirectory=\"%s\" Command=\"./%s\" Co"
	.ascii	"mmandArguments=\"%s\" WorkingDirectory=\"%s\" PauseExecWhenP"
	.ascii	"rocTerminates=\"%s\"/>',r,l,n,i,o,a)local i=premake.esc(tabl"
	.ascii	"e.join(premake.gcc.getcflags(e),premake.gcc.getcxxflags(e),e"
	.ascii	".buildoptions))_p('      <Compiler Required=\"yes\" Options="
	.ascii	"\"%s\">',table.concat(i,\";\"))for i,e in ipairs(e.includedi"
	.ascii	"rs)do\n_p('        <IncludePath Value=\"%s\"/>',premake.esc("
	.ascii	"e))end\nfor i,e in ipairs(e.defines)do\n_p('        <Preproc"
	.ascii	"essor Value=\"%s\"/>',premake.esc(e))end\n_p('      </Compil"
	.ascii	"er>')i=premake.esc(table.join(premake.gcc.getldflags(e),e.li"
	.ascii	"nkoptions))_p('      <Linker Required=\"yes\" Options=\"%s\""
	.ascii	">',table.concat(i,\";\"))for i,e in ipairs(premake.g"
	.ascii	"etlinks(e,\"all\",\"directory\"))do\n_p('        <LibraryPat"
	.ascii	"h Value=\"%s\" />',premake.esc(e))end\nfor i,e in ipairs(pre"
	.ascii	"make.getlinks(e,\"siblings\",\"basename\"))do\n_p('        <"
	.ascii	"Library Value=\"%s\" />',premake.esc(e))end\nfor i,e in ipai"
	.ascii	"rs(premake.getlinks(e,\"system\",\"name\"))do\n_p('        <"
	.ascii	"Library Value=\"%s\" />',premake.esc(e))end\n_p('      </Lin"
	.ascii	"ker>')if premake.findfile(e,\".rc\")then\nlocal i=table.impl"
	.ascii	"ode(table.join(e.defines,e.resdefines),\"-D\",\";\",\"\")loc"
	.ascii	"al o=table.concat(e.resoptions,\";\")_p('      <ResourceComp"
	.ascii	"iler Required=\"yes\" Options=\"%s%s\">',i,o)for i,e in ipai"
	.ascii	"rs(table.join(e.includedirs,e.resincludedirs))do\n_p('      "
	.ascii	"  <IncludePath Value=\"%s\"/>',premake.esc(e))end\n_p('     "
	.ascii	" </ResourceCompiler>')else\n_p('      <ResourceCompiler Requ"
	.ascii	"ired=\"no\" Options=\"\"/>')end\nif#e.prebuildcommands>0 the"
	.ascii	"n\n_p('      <PreBuild>')for i,e in ipairs(e.prebuildcommand"
	.ascii	"s)do\n_p('        <Command Enabled=\"yes\">%s</Command>',pre"
	.ascii	"make.esc(e))end\n_p('      </PreBuild>')end\nif#e.postbuildc"
	.ascii	"ommands>0 then\n_p('      <PostBuild>')for i,e in ipairs(e.p"
	.ascii	"ostbuildcommands)do\n_p('        <Command Enabled=\"yes\">%s"
	.ascii	"</Command>',premake.esc(e))end\n_p('      </PostBuild>')end\n"
	.ascii	"_p('      <CustomBuild Enabled=\"no\">')_p('        <CleanCo"
	.ascii	"mmand></CleanCommand>')_p('        <BuildCommand></BuildComm"
	.ascii	"and>')_p('        <SingleFileCommand></SingleFileCommand>')_"
	.ascii	"p('        <MakefileGenerationCommand></MakefileGenerationCo"
	.ascii	"mmand>')_p('        <ThirdPartyToolName>None</ThirdPartyTool"
	.ascii	"Name>')_p('        <WorkingDirectory></WorkingDirectory>')_p"
	.ascii	"('      </CustomBuild>')_p('      <AdditionalRules>')_p('   "
	.ascii	"     <CustomPostBuild></CustomPostBuild>')_p('        <Custo"
	.ascii	"mPreBuild></CustomPreBuild>')_p('      </AdditionalRules>')_"
	.ascii	"p('    </Configuration>')end\nend\n_p('  </Settings>')for o,"
	.ascii	"e"
	.string	" in ipairs(o)do\nfor e in premake.eachconfig(i,e)do\n_p('  <Dependencies name=\"%s\">',e.longname:gsub(\"|\",\"_\"))for i,e in ipairs(premake.getdependencies(i))do\n_p('    <Project Name=\"%s\"/>',e.name)end\n_p('  </Dependencies>')end\nend\n_p('</CodeLite_Project>')end"
	.align 8
.LC29:
	.ascii	"_MAKE={}premake.make={}local t=premake.make\nfunction _MAKE."
	.ascii	"esc(n)local e\nif(type(n)==\"table\")then\ne={}for t,n in ip"
	.ascii	"airs(n)do\ntable.insert(e,_MAKE.esc(n))end\nreturn e\nelse\n"
	.ascii	"e=n:gsub(\"\\\\\",\"\\\\\\\\\")e=e:gsub(\" \",\"\\\\ \")e=e:"
	.ascii	"gsub(\"%(\",\"\\\\%(\")e=e:gsub(\"%)\",\"\\\\%)\")e=e:gsub(\""
	.ascii	"$\\\\%((.-)\\\\%)\",\"$%(%1%)\")return e\nend\nend\nfunction"
	.ascii	" premake.make_copyrule(n,e)_p('%s: %s',e,n)_p('\\t@echo Copy"
	.ascii	"ing $(notdir %s)',e)_p('ifeq (posix,$(SHELLTYPE))')_p('\\t$("
	.ascii	"SILENT) cp -fR %s %s',n,e)_p('else')_p('\\t$(SILENT) copy /Y"
	.ascii	" $(subst /,\\\\\\\\,%s) $(subst /,\\\\\\\\,%s)',n,e)_p('endi"
	.ascii	"f')end\nfunction premake.make_mkdirrule(e)_p('\\t@echo Creat"
	.ascii	"ing %s',e)_p('ifeq (posix,$(SHELLTYPE))')_p('\\t$(SILENT) mk"
	.ascii	"dir -p %s',e)_p('else')_p('\\t$(SILENT) mkdir $(subst /,\\\\"
	.ascii	"\\\\,%s)',e)_p('endif')_p('')end\nfunction t.list(e)if#e>0 t"
	.ascii	"hen\nreturn\" \"..table.concat(e,\" \")else\nreturn\"\"end\n"
	.ascii	"end\nfunction _MAKE.getmakefilename(n,a)local e=0\nfor t in "
	.ascii	"premake.solution.each()do\nif(t.location==n.location)then e="
	.ascii	"e+1 end\nif(a)then\nfor a,t in ipairs(t.projects)do\nif(t.lo"
	.ascii	"cation==n.location)then e=e+1 end\nend\nend\nend\nif(e==1)th"
	.ascii	"en\nreturn\"Makefile\"else\nreturn n.name..\".make\"end\nend"
	.ascii	"\nfunction _MAKE.getnames(e)local e=table.extract(e,\"name\""
	.ascii	")for t,n in pairs(e)do\ne[t]=_MAKE.esc(n)end\nreturn e\nend\n"
	.ascii	"function t.settings(e,n)if#e.makesettings>0 then\nfor n,e in"
	.ascii	" ipairs(e.makesettings)do\n_p(e)end\nend\nlocal e=n.platform"
	.ascii	"s[e.platform].cfgsettings\nif e then\n_p(e)end\nend\nnewacti"
	.ascii	"on{trigger=\"gmake\",shortname=\"GNU Make\",description=\"Ge"
	.ascii	"nerate GNU makefiles for POSIX, MinGW, and Cygwin\",valid_ki"
	.ascii	"nds={\"ConsoleApp\",\"WindowedApp\",\"StaticLib\",\"SharedLi"
	.ascii	"b\"},valid_languages={\"C\",\"C++\",\"C#\"},valid_tools={cc="
	.ascii	"{\"gcc\"},dotnet={\"mono\",\"msnet\",\"pnet\"},},onsolution="
	.ascii	"function(e)premake.generate(e,_MAKE.getmakefilename(e,false)"
	.ascii	",premake.make_solution)end,onproject=function(e)local n=_MAK"
	.ascii	"E.getmakefilename(e,true)if premake.isdotnetproject(e)then\n"
	.ascii	"premake.generate(e,n,premake.make_csharp)else\npremake.gener"
	.ascii	"ate(e,n,premake.make_cpp)end\nend,oncleansolution=function(e"
	.ascii	")premake.clean.file(e,_MAKE.getmakefil"
	.string	"ename(e,false))end,oncleanproject=function(e)premake.clean.file(e,_MAKE.getmakefilename(e,true))end}"
	.align 8
.LC30:
	.ascii	"function premake.make_solution(e)local o=premake[_OPTIONS.cc"
	.ascii	"]local a=premake.filterplatforms(e,o.platforms,\"Native\")_p"
	.ascii	"('# %s solution makefile autogenerated by Premake',premake.a"
	.ascii	"ction.current().shortname)_p('# Type \"make help\" for usage"
	.ascii	" help')_p('')_p('ifndef config')_p('  config=%s',_MAKE.esc(p"
	.ascii	"remake.getconfigname(e.configurations[1],a[1],true)))_p('end"
	.ascii	"if')_p('export config')_p('')_p('PROJECTS := %s',table.conca"
	.ascii	"t(_MAKE.esc(table.extract(e.projects,\"name\")),\" \"))_p(''"
	.ascii	")_p('.PHONY: all clean help $(PROJECTS)')_p('')_p('all: $(PR"
	.ascii	"OJECTS)')_p('')for a,o in ipairs(e.projects)do\n_p('%s: %s',"
	.ascii	"_MAKE.esc(o.name),table.concat(_MAKE.esc(table.extract(prema"
	.ascii	"ke.getdependencies(o),\"name\")),\" \"))_p('\\t@echo \"==== "
	.ascii	"Building %s ($(config)) ====\"',o.name)_p('\\t@${MAKE} --no-"
	.ascii	"print-directory -C %s -f %s',_MAKE.esc(path.getrelative(e.lo"
	.ascii	"cation,o.location)),_MAKE.esc(_MAKE.getmakefilename(o,true))"
	.ascii	")_p('')end\n_p('clean:')for a,o in ipairs(e.projects)do\n_p("
	.ascii	"'\\t@${MAKE} --no-print-directory -C %s -f %s clean',_MAKE.e"
	.ascii	"sc(path.getrelative(e.location,o.location)),_MAKE.esc(_MAKE."
	.ascii	"getmakefilename(o,true)))end\n_p('')_p('help:')_p(1,'@echo \""
	.ascii	"Usage: make [config=name] [target]\"')_p(1,'@echo \"\"')_p(1"
	.ascii	",'@echo \"CONFIGURATIONS:\"')local o={}for a,o in ipairs(a)d"
	.ascii	"o\nfor a,e in ipairs(e.configurations)do\n_p(1,'@echo \"   %"
	.ascii	"s\"',premake.getconfigname(e,o,true))end\nend\n_p(1,'@ech"
	.string	"o \"\"')_p(1,'@echo \"TARGETS:\"')_p(1,'@echo \"   all (default)\"')_p(1,'@echo \"   clean\"')for o,e in ipairs(e.projects)do\n_p(1,'@echo \"   %s\"',e.name)end\n_p(1,'@echo \"\"')_p(1,'@echo \"For more information, see http://industriousone.com/premake/quick-start\"')end"
	.align 8
.LC31:
	.ascii	"premake.make.cpp={}local p=premake.make.cpp\nlocal i=premake"
	.ascii	".make\nfunction premake.make_cpp(e)local i=premake.gettool(e"
	.ascii	")local n=premake.filterplatforms(e.solution,i.platforms,\"Na"
	.ascii	"tive\")premake.gmake_cpp_header(e,i,n)for n,p in ipairs(n)do"
	.ascii	"\nfor e in premake.eachconfig(e,p)do\npremake.gmake_cpp_conf"
	.ascii	"ig(e,i)end\nend\n_p('OBJECTS := \\\\')for p,e in ipairs(e.fi"
	.ascii	"les)do\nif path.iscppfile(e)then\n_p('\\t$(OBJDIR)/%s.o \\\\"
	.ascii	"',_MAKE.esc(path.getbasename(e)))end\nend\n_p('')_p('RESOURC"
	.ascii	"ES := \\\\')for p,e in ipairs(e.files)do\nif path.isresource"
	.ascii	"file(e)then\n_p('\\t$(OBJDIR)/%s.res \\\\',_MAKE.esc(path.ge"
	.ascii	"tbasename(e)))end\nend\n_p('')_p('SHELLTYPE := msdos')_p('if"
	.ascii	"eq (,$(ComSpec)$(COMSPEC))')_p('  SHELLTYPE := posix')_p('en"
	.ascii	"dif')_p('ifeq (/bin,$(findstring /bin,$(SHELL)))')_p('  SHEL"
	.ascii	"LTYPE := posix')_p('endif')_p('')_p('.PHONY: clean prebuild "
	.ascii	"prelink')_p('')if os.is(\"MacOSX\")and e.kind==\"WindowedApp"
	.ascii	"\"then\n_p('all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(T"
	.ascii	"ARGET) $(dir $(TARGETDIR))PkgInfo $(dir $(TARGETDIR))Info.pl"
	.ascii	"ist')else\n_p('all: $(TARGETDIR) $(OBJDIR) prebuild prelink "
	.ascii	"$(TARGET)')end\n_p('\\t@:')_p('')_p('$(TARGET): $(GCH) $(OBJ"
	.ascii	"ECTS) $(LDDEPS) $(RESOURCES)')_p('\\t@echo Linking %s',e.nam"
	.ascii	"e)_p('\\t$(SILENT) $(LINKCMD)')_p('\\t$(POSTBUILDCMDS)')_p('"
	.ascii	"')_p('$(TARGETDIR):')premake.make_mkdirrule(\"$(TARGETDIR)\""
	.ascii	")_p('$(OBJDIR):')premake.make_mkdirrule(\"$(OBJDIR)\")if os."
	.ascii	"is(\"MacOSX\")and e.kind==\"WindowedApp\"then\n_p('$(dir $(T"
	.ascii	"ARGETDIR))PkgInfo:')_p('$(dir $(TARGETDIR))Info.plist:')_p('"
	.ascii	"')end\n_p('clean:')_p('\\t@echo Cleaning %s',e.name)_p('ifeq"
	.ascii	" (posix,$(SHELLTYPE))')_p('\\t$(SILENT) rm -f  $(TARGET)')_p"
	.ascii	"('\\t$(SILENT) rm -rf $(OBJDIR)')_p('else')_p('\\t$(SILENT) "
	.ascii	"if exist $(subst /,\\\\\\\\,$(TARGET)) del $(subst /,\\\\\\\\"
	.ascii	",$(TARGET))')_p('\\t$(SILENT) if exist $(subst /,\\\\\\\\,$("
	.ascii	"OBJDIR)) rmdir /s /q $(subst /,\\\\\\\\,$(OBJDIR))')_p('endi"
	.ascii	"f')_p('')_p('prebuild:')_p('\\t$(PREBUILDCMDS)')_p('')_p('pr"
	.ascii	"elink:')_p('\\t$(PRELINKCMDS)')_p('')p.pchrules(e)p.fileRule"
	.ascii	"s(e)_p('-include $(OBJECTS:%%.o=%%.d)')_p('ifneq (,$(PCH))')"
	.ascii	"_p('  -include $(OBJDIR)/$(no"
	.ascii	"tdir $(PCH)).d')_p('endif')end\nfunction premake.gmake_cpp_h"
	.ascii	"eader(p,e,i)_p('# %s project makefile autogenerated by Prema"
	.ascii	"ke',premake.action.current().shortname)_p('ifndef config')_p"
	.ascii	"('  config=%s',_MAKE.esc(premake.getconfigname(p.solution.co"
	.ascii	"nfigurations[1],i[1],true)))_p('endif')_p('')_p('ifndef verb"
	.ascii	"ose')_p('  SILENT = @')_p('endif')_p('')_p('CC = %s',e.cc)_p"
	.ascii	"('CXX = %s',e.cxx)_p('AR = %s',e.ar)_p('')_p('ifndef RESCOMP"
	.ascii	"')_p('  ifdef WINDRES')_p('    RESCOMP = $(WINDRES)')_p('  e"
	.ascii	"lse')_p('    RESCOMP = windres')_p('  endif')_p('endif')_p('"
	.ascii	"')end\nfunction premake.gmake_cpp_config(e,n)_p('ifeq ($(con"
	.ascii	"fig),%s)',_MAKE.esc(e.shortname))p.platformtools(e,n)_p('  O"
	.ascii	"BJDIR     = %s',_MAKE.esc(e.objectsdir))_p('  TARGETDIR  = %"
	.ascii	"s',_MAKE.esc(e.buildtarget.directory))_p('  TARGET     = $(T"
	.ascii	"ARGETDIR)/%s',_MAKE.esc(e.buildtarget.name))_p('  DEFINES   "
	.ascii	"+=%s',i.list(n.getdefines(e.defines)))_p('  INCLUDES  +=%s',"
	.ascii	"i.list(n.getincludedirs(e.includedirs)))p.pchconfig(e)p.flag"
	.ascii	"s(e,n)p.linker(e,n)_p('  define PREBUILDCMDS')if#e.prebuildc"
	.ascii	"ommands>0 then\n_p('\\t@echo Running pre-build commands')_p("
	.ascii	"'\\t%s',table.implode(e.prebuildcommands,\"\",\"\",\"\\n\\t\""
	.ascii	"))end\n_p('  endef')_p('  define PRELINKCMDS')if#e.prelinkco"
	.ascii	"mmands>0 then\n_p('\\t@echo Running pre-link commands')_p('\\"
	.ascii	"t%s',table.implode(e.prelinkcommands,\"\",\"\",\"\\n\\t\"))e"
	.ascii	"nd\n_p('  endef')_p('  define POSTBUILDCMDS')if#e.postbuildc"
	.ascii	"ommands>0 then\n_p('\\t@echo Running post-build commands')_p"
	.ascii	"('\\t%s',table.implode(e.postbuildcommands,\"\",\"\",\"\\n\\"
	.ascii	"t\"))end\n_p('  endef')i.settings(e,n)_p('endif')_p('')end\n"
	.ascii	"function p.platformtools(e,p)local e=p.platforms[e.platform]"
	.ascii	"if e.cc then\n_p('  CC         = %s',e.cc)end\nif e.cxx then"
	.ascii	"\n_p('  CXX        = %s',e.cxx)end\nif e.ar then\n_p('  AR  "
	.ascii	"       = %s',e.ar)end\nend\nfunction p.flags(e,p)if e.pchhea"
	.ascii	"der and not e.flags.NoPCH then\n_p('  FORCE_INCLUDE += -incl"
	.ascii	"ude $(OBJDIR)/$(notdir $(PCH))')end\n_p('  ALL_CPPFLAGS  += "
	.ascii	"$(CPPFLAGS) %s $(DEFINES) $(INCLUDES)',table.concat(p.getcpp"
	.ascii	"flags(e),\" \"))_p('  ALL_CFLAGS    += $(CFLAGS) $(ALL_CPPFL"
	.ascii	"AGS)%s',"
	.ascii	"i.list(table.join(p.getcflags(e),e.buildoptions)))_p('  ALL_"
	.ascii	"CXXFLAGS  += $(CXXFLAGS) $(ALL_CFLAGS)%s',i.list(p.getcxxfla"
	.ascii	"gs(e)))_p('  ALL_RESFLAGS  += $(RESFLAGS) $(DEFINES) $(INCLU"
	.ascii	"DES)%s',i.list(table.join(p.getdefines(e.resdefines),p.getin"
	.ascii	"cludedirs(e.resincludedirs),e.resoptions)))end\nfunction p.l"
	.ascii	"inker(e,p)_p('  ALL_LDFLAGS   += $(LDFLAGS)%s',i.list(table."
	.ascii	"join(p.getlibdirflags(e),p.getldflags(e),e.linkoptions)))_p("
	.ascii	"'  LDDEPS    +=%s',i.list(_MAKE.esc(premake.getlinks(e,\"sib"
	.ascii	"lings\",\"fullpath\"))))_p('  LIBS      += $(LDDEPS)%s',i.li"
	.ascii	"st(p.getlinkflags(e)))if e.kind==\"StaticLib\"then\nif e.pla"
	.ascii	"tform:startswith(\"Universal\")then\n_p('  LINKCMD    = libt"
	.ascii	"ool -o $(TARGET) $(OBJECTS)')else\n_p('  LINKCMD    = $(AR) "
	.ascii	"-rcs $(TARGET) $(OBJECTS)')end\nelse\nlocal e=iif(e.language"
	.ascii	"==\"C\",\"CC\",\"CXX\")_p('  LINKCMD    = $(%s) -o $(TARGET)"
	.ascii	" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)',e)end\nend\n"
	.ascii	"function p.pchconfig(e)if not e.pchheader or e.flags.NoPCH t"
	.ascii	"hen\nreturn\nend\nlocal p=e.pchheader\nfor n,i in ipairs(e.i"
	.ascii	"ncludedirs)do\nlocal i=path.getabsolute(path.join(e.project."
	.ascii	"location,i))local i=path.join(i,p)if os.isfile(i)then\np=pat"
	.ascii	"h.getrelative(e.location,i)break\nend\nend\n_p('  PCH       "
	.ascii	" = %s',_MAKE.esc(p))_p('  GCH        = $(OBJDIR)/$(notdir $("
	.ascii	"PCH)).gch')end\nfunction p.pchrules(e)_p('ifneq (,$(PCH))')_"
	.ascii	"p('.NOTPARALLEL: $(GCH) $(PCH)')_p('$(GCH): $(PCH)')_p('\\t@"
	.ascii	"echo $(notdir $<)')local e=iif(e.language==\"C\",\"$(CC) -x "
	.ascii	"c-header $(ALL_CFLAGS)\",\"$(CXX) -x c++-header $(ALL_CXXFLA"
	.ascii	"GS)\")_p('\\t$(SILENT) %s -MMD -MP $(DEFINES) $(INCLUDES) -o"
	.ascii	" \"$@\" -MF \"$(@:%%.gch=%%.d)\" -c \"$<\"',e)_p('endif')_p("
	.ascii	"'')end\nfunction p.fileRules(e)for i,e in ipairs(e.files or{"
	.ascii	"})do\nif path.iscppfile(e)then\n_p('$(OBJDIR)/%s.o: %s',_MAK"
	.ascii	"E.esc(path.getbasename(e)),_MAKE.esc(e))_p('\\t@echo $(notdi"
	.ascii	"r $<)')p.buildcommand(path.iscfile(e),\"o\")_p('')elseif(pat"
	.ascii	"h.getextension(e)==\".rc\")then\n_p('$(OBJDIR)/%s.res: %s',_"
	.ascii	"MAKE.esc(path.getbasename(e)),_MAKE.esc(e))_p('\\t@echo $(no"
	.ascii	"tdir $<)')_p('\\t$(SILENT) $(RESCOMP) $< -O coff -o \"$@\" $"
	.ascii	"(ALL_RESFLAGS)')_p"
	.string	"('')end\nend\nend\nfunction p.buildcommand(e,p)local e=iif(e,'$(CC) $(ALL_CFLAGS)','$(CXX) $(ALL_CXXFLAGS)')_p('\\t$(SILENT) %s $(FORCE_INCLUDE) -o \"$@\" -MF \"$(@:%%.%s=%%.d)\" -c \"$<\"',e,p)end"
	.align 8
.LC32:
	.ascii	"local function o(n,e)if path.getextension(e)==\".resx\"then\n"
	.ascii	"local n=n.buildtarget.basename..\".\"local i=path.getdirecto"
	.ascii	"ry(e)if i~=\".\"then\nn=n..path.translate(i,\".\")..\".\"end"
	.ascii	"\nreturn\"$(OBJDIR)/\".._MAKE.esc(n..path.getbasename(e))..\""
	.ascii	".resources\"else\nreturn e\nend\nend\nfunction premake.make_"
	.ascii	"csharp(e)local p=premake.dotnet\nlocal s={}local i={}local l"
	.ascii	"\nfor e in premake.eachconfig(e)do\nl=e\ns[e]=premake.getlin"
	.ascii	"ks(e,\"siblings\",\"fullpath\")i[e]={}for p,n in ipairs(s[e]"
	.ascii	")do\nif path.getdirectory(n)~=e.buildtarget.directory then\n"
	.ascii	"i[e][\"$(TARGETDIR)/\".._MAKE.esc(path.getname(n))]=_MAKE.es"
	.ascii	"c(n)end\nend\nend\nlocal r={}local a={}local n={}for e in pr"
	.ascii	"emake.project.eachfile(e)do\nlocal i=p.getbuildaction(e)if i"
	.ascii	"==\"Compile\"then\ntable.insert(r,e.name)elseif i==\"Embedde"
	.ascii	"dResource\"then\ntable.insert(a,e.name)elseif i==\"Content\""
	.ascii	"then\nn[\"$(TARGETDIR)/\".._MAKE.esc(path.getname(e.name))]="
	.ascii	"_MAKE.esc(e.name)elseif path.getname(e.name):lower()==\"app."
	.ascii	"config\"then\nn[\"$(TARGET).config\"]=_MAKE.esc(e.name)end\n"
	.ascii	"end\nlocal t=table.translate(e.libdirs,function(n)return pat"
	.ascii	"h.join(e.basedir,n)end)t=table.join({e.basedir},t)for p,i in"
	.ascii	" ipairs(premake.getlinks(e,\"system\",\"fullpath\"))do\nloca"
	.ascii	"l p=os.pathsearch(i..\".dll\",unpack(t))if(p)then\nlocal t=\""
	.ascii	"$(TARGETDIR)/\".._MAKE.esc(path.getname(i))local e=path.getr"
	.ascii	"elative(e.basedir,path.join(p,i))..\".dll\"n[t]=_MAKE.esc(e)"
	.ascii	"end\nend\n_p('# %s project makefile autogenerated by Premake"
	.ascii	"',premake.action.current().shortname)_p('')_p('ifndef config"
	.ascii	"')_p('  config=%s',_MAKE.esc(e.configurations[1]:lower()))_p"
	.ascii	"('endif')_p('')_p('ifndef verbose')_p('  SILENT = @')_p('end"
	.ascii	"if')_p('')_p('ifndef CSC')_p('  CSC=%s',p.getcompilervar(e))"
	.ascii	"_p('endif')_p('')_p('ifndef RESGEN')_p('  RESGEN=resgen')_p("
	.ascii	"'endif')_p('')local t=premake.filterplatforms(e.solution,pre"
	.ascii	"make[_OPTIONS.cc].platforms)table.insert(t,1,\"\")for e in p"
	.ascii	"remake.eachconfig(e)do\npremake.gmake_cs_config(e,p,s)end\n_"
	.ascii	"p('# To maintain compatibility with VS.NET, these values mus"
	.ascii	"t be set at the project level')_p('TARGET     := $(TARGETDIR"
	.ascii	")/%s',_MAKE.esc(e.buildtarget."
	.ascii	"name))_p('FLAGS      += /t:%s %s',p.getkind(e):lower(),table"
	.ascii	".implode(_MAKE.esc(e.libdirs),\"/lib:\",\"\",\" \"))_p('REFE"
	.ascii	"RENCES += %s',table.implode(_MAKE.esc(premake.getlinks(e,\"s"
	.ascii	"ystem\",\"basename\")),\"/r:\",\".dll\",\" \"))_p('')_p('SOU"
	.ascii	"RCES := \\\\')for n,e in ipairs(r)do\n_p('\\t%s \\\\',_MAKE."
	.ascii	"esc(path.translate(e)))end\n_p('')_p('EMBEDFILES := \\\\')fo"
	.ascii	"r i,n in ipairs(a)do\n_p('\\t%s \\\\',o(e,n))end\n_p('')_p('"
	.ascii	"COPYFILES += \\\\')for e,n in pairs(i[l])do\n_p('\\t%s \\\\'"
	.ascii	",e)end\nfor e,n in pairs(n)do\n_p('\\t%s \\\\',e)end\n_p('')"
	.ascii	"_p('SHELLTYPE := msdos')_p('ifeq (,$(ComSpec)$(COMSPEC))')_p"
	.ascii	"('  SHELLTYPE := posix')_p('endif')_p('ifeq (/bin,$(findstri"
	.ascii	"ng /bin,$(SHELL)))')_p('  SHELLTYPE := posix')_p('endif')_p("
	.ascii	"'')_p('.PHONY: clean prebuild prelink')_p('')_p('all: $(TARG"
	.ascii	"ETDIR) $(OBJDIR) prebuild $(EMBEDFILES) $(COPYFILES) prelink"
	.ascii	" $(TARGET)')_p('')_p('$(TARGET): $(SOURCES) $(EMBEDFILES) $("
	.ascii	"DEPENDS)')_p('\\t$(SILENT) $(CSC) /nologo /out:$@ $(FLAGS) $"
	.ascii	"(REFERENCES) $(SOURCES) $(patsubst %%,/resource:%%,$(EMBEDFI"
	.ascii	"LES))')_p('\\t$(POSTBUILDCMDS)')_p('')_p('$(TARGETDIR):')pre"
	.ascii	"make.make_mkdirrule(\"$(TARGETDIR)\")_p('$(OBJDIR):')premake"
	.ascii	".make_mkdirrule(\"$(OBJDIR)\")_p('clean:')_p('\\t@echo Clean"
	.ascii	"ing %s',e.name)_p('ifeq (posix,$(SHELLTYPE))')_p('\\t$(SILEN"
	.ascii	"T) rm -f $(TARGETDIR)/%s.* $(COPYFILES)',e.buildtarget.basen"
	.ascii	"ame)_p('\\t$(SILENT) rm -rf $(OBJDIR)')_p('else')_p('\\t$(SI"
	.ascii	"LENT) if exist $(subst /,\\\\\\\\,$(TARGETDIR)/%s.*) del $(s"
	.ascii	"ubst /,\\\\\\\\,$(TARGETDIR)/%s.*)',e.buildtarget.basename,e"
	.ascii	".buildtarget.basename)for e,n in pairs(i[l])do\n_p('\\t$(SIL"
	.ascii	"ENT) if exist $(subst /,\\\\\\\\,%s) del $(subst /,\\\\\\\\,"
	.ascii	"%s)',e,e)end\nfor e,n in pairs(n)do\n_p('\\t$(SILENT) if exi"
	.ascii	"st $(subst /,\\\\\\\\,%s) del $(subst /,\\\\\\\\,%s)',e,e)en"
	.ascii	"d\n_p('\\t$(SILENT) if exist $(subst /,\\\\\\\\,$(OBJDIR)) r"
	.ascii	"mdir /s /q $(subst /,\\\\\\\\,$(OBJDIR))')_p('endif')_p('')_"
	.ascii	"p('prebuild:')_p('\\t$(PREBUILDCMDS)')_p('')_p('prelink:')_p"
	.ascii	"('\\t$(PRELINKCMDS)')_p('')_p('# Per-configuration copied fi"
	.ascii	"le rules')for e in premake.eachconfig(e)do\n_p('ifneq (,$(fi"
	.ascii	"ndstring %s,$(config)))',_MAKE.esc(e.name:lower()))for"
	.ascii	" e,n in pairs(i[e])do\npremake.make_copyrule(n,e)end\n_p('en"
	.ascii	"dif')_p('')end\n_p('# Copied file rules')for e,n in pairs(n)"
	.ascii	"do\npremake.make_copyrule(n,e)end\n_p('# Embedded file rules"
	.ascii	"')for i,n in ipairs(a)do\nif path.getextension(n)==\".resx\""
	.ascii	"then\n_p('%s: %s',o(e,n),_MAKE.esc(n))_p('\\t$(SILENT) $(RES"
	.ascii	"GEN) $^ $@')end\n_p('')end\nend\nfunction premake.gmake_cs_c"
	.ascii	"onfig(e,i,n)_p('ifneq (,$(findstring %s,$(config)))',_MAKE.e"
	.ascii	"sc(e.name:lower()))_p('  TARGETDIR  := %s',_MAKE.esc(e.build"
	.ascii	"target.directory))_p('  OBJDIR     := %s',_MAKE.esc(e.object"
	.ascii	"sdir))_p('  DEPENDS    := %s',table.concat(_MAKE.esc(premake"
	.ascii	".getlinks(e,\"dependencies\",\"fullpath\")),\" \"))_p('  REF"
	.ascii	"ERENCES := %s',table.implode(_MAKE.esc(n[e]),\"/r:\",\"\",\""
	.ascii	" \"))_p('  FLAGS      += %s %s',table.implode(e.defines,\"/d"
	.ascii	":\",\"\",\" \"),table.concat(table.join(i.getflags(e),e.buil"
	.ascii	"doptions),\" \"))_p('  define PREBUILDCMDS')if#e.prebuildcom"
	.ascii	"mands>0 then\n_p('\\t@echo Running pre-build commands')_p('\\"
	.ascii	"t%s',table.implode(e.prebuildcommands,\"\",\"\",\"\\n\\t\"))"
	.ascii	"end\n_p('  endef')_p('  define PRELINKCMDS')if#e.prelinkcomm"
	.ascii	"ands>0 then\n_p('\\t@echo Running pre-link commands')_p('\\t"
	.ascii	"%s',t"
	.string	"able.implode(e.prelinkcommands,\"\",\"\",\"\\n\\t\"))end\n_p('  endef')_p('  define POSTBUILDCMDS')if#e.postbuildcommands>0 then\n_p('\\t@echo Running post-build commands')_p('\\t%s',table.implode(e.postbuildcommands,\"\",\"\",\"\\n\\t\"))end\n_p('  endef')_p('endif')_p('')end"
	.align 8
.LC33:
	.ascii	"premake.vstudio={}local e=premake.vstudio\ne.platforms={any="
	.ascii	"\"Any CPU\",mixed=\"Mixed Platforms\",Native=\"Win32\",x86=\""
	.ascii	"x86\",x32=\"Win32\",x64=\"x64\",PS3=\"PS3\",Xbox360=\"Xbox 3"
	.ascii	"60\",}function e.arch(e)if(e.language==\"C#\")then\nif(_ACTI"
	.ascii	"ON<\"vs2005\")then\nreturn\".NET\"else\nreturn\"Any CPU\"end"
	.ascii	"\nelse\nreturn\"Win32\"end\nend\nfunction e.buildconfigs(r)l"
	.ascii	"ocal s={}local n=premake.filterplatforms(r,e.platforms,\"Nat"
	.ascii	"ive\")local o=premake.hascppproject(r)local a=premake.hasdot"
	.ascii	"netproject(r)if a and(_ACTION>\"vs2008\"or o)then\ntable.ins"
	.ascii	"ert(n,1,\"mixed\")end\nif a and(_ACTION<\"vs2010\"or not o)t"
	.ascii	"hen\ntable.insert(n,1,\"any\")end\nif _ACTION>\"vs2008\"then"
	.ascii	"\nlocal r={}for s,t in ipairs(n)do\nif e.platforms[t]==\"Win"
	.ascii	"32\"then\nif o then\ntable.insert(r,t)end\nif a then\ntable."
	.ascii	"insert(r,\"x86\")end\nelse\ntable.insert(r,t)end\nend\nn=r\n"
	.ascii	"end\nfor r,o in ipairs(r.configurations)do\nfor n,r in ipair"
	.ascii	"s(n)do\nlocal n={}n.src_buildcfg=o\nn.src_platform=r\nif r~="
	.ascii	"\"PS3\"or _ACTION>\"vs2008\"then\nn.buildcfg=o\nn.platform=e"
	.ascii	".platforms[r]else\nn.buildcfg=r..\" \"..o\nn.platform=\"Win3"
	.ascii	"2\"end\nn.name=n.buildcfg..\"|\"..n.platform\nn.isreal=(r~=\""
	.ascii	"any\"and r~=\"mixed\")table.insert(s,n)end\nend\nreturn s\ne"
	.ascii	"nd\nfunction e.cleansolution(e)premake.clean.file(e,\"%%.sln"
	.ascii	"\")premake.clean.file(e,\"%%.suo\")premake.clean.file(e,\"%%"
	.ascii	".ncb\")premake.clean.file(e,\"%%.userprefs\")premake.clean.f"
	.ascii	"ile(e,\"%%.usertasks\")end\nfunction e.cleanproject(e)local "
	.ascii	"e=premake.project.getfilename(e,\"%%\")os.remove(e..\".vcpro"
	.ascii	"j\")os.remove(e..\".vcxproj\")os.remove(e..\".vcxproj.filter"
	.ascii	"s\")os.remove(e..\".csproj\")os.remove(e..\".pidb\")os.remov"
	.ascii	"e(e..\".sdf\")if _OPTIONS.generate_user then\nos.remove(e..\""
	.ascii	".vcproj.user\")os.remove(e..\".vcxproj.user\")os.remove(e..\""
	.ascii	".csproj.user\")end\nend\nfunction e.cleantarget(e)os.remove("
	.ascii	"e..\".pdb\")os.remove(e..\".idb\")os.remove(e..\".ilk\")os.r"
	.ascii	"emove(e..\".vshost.exe\")os.remove(e..\".exe.manifest\")end\n"
	.ascii	"function e.projectfile(n)local e\nif n.language==\"C#\"then\n"
	.ascii	"e=\"%%.csproj\"else\ne=iif(_ACTION>\"vs2008\",\"%%.vcxproj\""
	.ascii	",\"%%.vcproj\")end\nlocal e=premake.project.getbasename(n.na"
	.ascii	"me,e)e=path.join(n.location,e)return e\nend\nfunc"
	.ascii	"tion e.tool(e)if(e.language==\"C#\")then\nreturn\"FAE04EC0-3"
	.ascii	"01F-11D3-BF4B-00C04F79EFBC\"else\nreturn\"8BC9CEB8-8B4A-11D0"
	.ascii	"-8D11-00A0C91BC942\"end\nend\nnewaction{trigger=\"vs2002\",s"
	.ascii	"hortname=\"Visual Studio 2002\",description=\"Generate Micro"
	.ascii	"soft Visual Studio 2002 project files\",os=\"windows\",valid"
	.ascii	"_kinds={\"ConsoleApp\",\"WindowedApp\",\"StaticLib\",\"Share"
	.ascii	"dLib\"},valid_languages={\"C\",\"C++\",\"C#\"},valid_tools={"
	.ascii	"cc={\"msc\"},dotnet={\"msnet\"},},onsolution=function(n)prem"
	.ascii	"ake.generate(n,\"%%.sln\",e.sln2002.generate)end,onproject=f"
	.ascii	"unction(n)if premake.isdotnetproject(n)then\npremake.generat"
	.ascii	"e(n,\"%%.csproj\",e.cs2002.generate)if _OPTIONS.generate_use"
	.ascii	"r then\npremake.generate(n,\"%%.csproj.user\",e.cs2002.gener"
	.ascii	"ate_user)end\nelse\npremake.generate(n,\"%%.vcproj\",e.vc200"
	.ascii	"x.generate)if _OPTIONS.generate_user then\npremake.generate("
	.ascii	"n,\"%%.vcproj.user\",e.vc200x.generate_user)end\nend\nend,on"
	.ascii	"cleansolution=premake.vstudio.cleansolution,oncleanproject=p"
	.ascii	"remake.vstudio.cleanproject,oncleantarget=premake.vstudio.cl"
	.ascii	"eantarget,vstudio={}}newaction{trigger=\"vs2003\",shortname="
	.ascii	"\"Visual Studio 2003\",description=\"Generate Microsoft Visu"
	.ascii	"al Studio 2003 project files\",os=\"windows\",valid_kinds={\""
	.ascii	"ConsoleApp\",\"WindowedApp\",\"StaticLib\",\"SharedLib\"},va"
	.ascii	"lid_languages={\"C\",\"C++\",\"C#\"},valid_tools={cc={\"msc\""
	.ascii	"},dotnet={\"msnet\"},},onsolution=function(n)premake.generat"
	.ascii	"e(n,\"%%.sln\",e.sln2003.generate)end,onproject=function(n)i"
	.ascii	"f premake.isdotnetproject(n)then\npremake.generate(n,\"%%.cs"
	.ascii	"proj\",e.cs2002.generate)if _OPTIONS.generate_user then\npre"
	.ascii	"make.generate(n,\"%%.csproj.user\",e.cs2002.generate_user)en"
	.ascii	"d\nelse\npremake.generate(n,\"%%.vcproj\",e.vc200x.generate)"
	.ascii	"if _OPTIONS.generate_user then\npremake.generate(n,\"%%.vcpr"
	.ascii	"oj.user\",e.vc200x.generate_user)end\nend\nend,oncleansoluti"
	.ascii	"on=premake.vstudio.cleansolution,oncleanproject=premake.vstu"
	.ascii	"dio.cleanproject,oncleantarget=premake.vstudio.cleantarget,v"
	.ascii	"studio={}}newaction{trigger=\"vs2005\",shortname=\"Visual St"
	.ascii	"udio 2005\",description=\"Generate Microsoft Visual Studio 2"
	.ascii	"005 project files\",os=\"windows\",valid_kinds={\"ConsoleApp"
	.ascii	"\",\""
	.ascii	"WindowedApp\",\"StaticLib\",\"SharedLib\"},valid_languages={"
	.ascii	"\"C\",\"C++\",\"C#\"},valid_tools={cc={\"msc\"},dotnet={\"ms"
	.ascii	"net\"},},onsolution=function(n)premake.generate(n,\"%%.sln\""
	.ascii	",e.sln2005.generate)end,onproject=function(n)if premake.isdo"
	.ascii	"tnetproject(n)then\npremake.generate(n,\"%%.csproj\",e.cs200"
	.ascii	"5.generate)if _OPTIONS.generate_user then\npremake.generate("
	.ascii	"n,\"%%.csproj.user\",e.cs2005.generate_user)end\nelse\nprema"
	.ascii	"ke.generate(n,\"%%.vcproj\",e.vc200x.generate)if _OPTIONS.ge"
	.ascii	"nerate_user then\npremake.generate(n,\"%%.vcproj.user\",e.vc"
	.ascii	"200x.generate_user)end\nend\nend,oncleansolution=e.cleansolu"
	.ascii	"tion,oncleanproject=e.cleanproject,oncleantarget=e.cleantarg"
	.ascii	"et,vstudio={productVersion=\"8.0.50727\",solutionVersion=\"9"
	.ascii	"\",}}newaction{trigger=\"vs2008\",shortname=\"Visual Studio "
	.ascii	"2008\",description=\"Generate Microsoft Visual Studio 2008 p"
	.ascii	"roject files\",os=\"windows\",valid_kinds={\"ConsoleApp\",\""
	.ascii	"WindowedApp\",\"StaticLib\",\"SharedLib\"},valid_languages={"
	.ascii	"\"C\",\"C++\",\"C#\"},valid_tools={cc={\"msc\"},dotnet={\"ms"
	.ascii	"net\"},},onsolution=function(n)premake.generate(n,\"%%.sln\""
	.ascii	",e.sln2005.generate)end,onproject=function(n)if premake.isdo"
	.ascii	"tnetproject(n)then\npremake.generate(n,\"%%.csproj\",e.cs200"
	.ascii	"5.generate)if _OPTIONS.generate_user then\npremake.generate("
	.ascii	"n,\"%%.csproj.user\",e.cs2005.generate_user)end\nelse\nprema"
	.ascii	"ke.generate(n,\"%%.vcproj\",e.vc200x.generate)if _OPTIONS.ge"
	.ascii	"nerate_user then\npremake.generate(n,\"%%.vcproj.user\",e.vc"
	.ascii	"200x.generate_user)end\nend\nend,oncleansolution=e.cleansolu"
	.ascii	"tion,oncleanproject=e.cleanproject,oncleantarget=e.cleantarg"
	.ascii	"et,vstudio={productVersion=\"9.0.21022\",solutionVersion=\"1"
	.ascii	"0\",toolsVersion=\"3.5\",}}newaction{trigger=\"vs2010\",shor"
	.ascii	"tname=\"Visual Studio 2010\",description=\"Generate Microsof"
	.ascii	"t Visual Studio 2010 project files\",os=\"windows\",valid_ki"
	.ascii	"nds={\"ConsoleApp\",\"WindowedApp\",\"StaticLib\",\"SharedLi"
	.ascii	"b\"},valid_languages={\"C\",\"C++\",\"C#\"},valid_tools={cc="
	.ascii	"{\"msc\"},dotnet={\"msnet\"},},onsolution=function(n)premake"
	.ascii	".generate(n,\"%%.sln\",e.sln2005.generate)end,onproject=func"
	.ascii	"tion(n)if premake.isdotnetproject(n)then\npremake.generate(n"
	.ascii	",\"%%.csproj\",e"
	.ascii	".cs2005.generate)if _OPTIONS.generate_user then\npremake.gen"
	.ascii	"erate(n,\"%%.csproj.user\",e.cs2005.generate_user)end\nelse\n"
	.ascii	"premake.generate(n,\"%%.vcxproj\",premake.vs2010_vcxproj)if "
	.ascii	"_OPTIONS.generate_user then\npremake.generate(n,\"%%.vcxproj"
	.ascii	".user\",premake.vs2010_vcxproj_user)end\npremake.generate(n,"
	.ascii	"\"%%.vcxproj.filters\",e.vc2010.g"
	.string	"enerate_filters)end\nend,oncleansolution=premake.vstudio.cleansolution,oncleanproject=premake.vstudio.cleanproject,oncleantarget=premake.vstudio.cleantarget,vstudio={productVersion=\"8.0.30703\",solutionVersion=\"11\",targetFramework=\"4.0\",toolsVersion=\"4.0\",}}"
	.align 8
.LC34:
	.ascii	"premake.vstudio.sln2002={}local i=premake.vstudio\nlocal o=p"
	.ascii	"remake.vstudio.sln2002\nfunction o.generate(o)io.indent=nil\n"
	.ascii	"io.eol='\\r\\n'o.vstudio_configs=premake.vstudio.buildconfig"
	.ascii	"s(o)_p('Microsoft Visual Studio Solution File, Format Versio"
	.ascii	"n 7.00')for n in premake.solution.eachproject(o)do\nlocal o="
	.ascii	"path.translate(path.getrelative(o.location,i.projectfile(n))"
	.ascii	")_p('Project(\"{%s}\") = \"%s\", \"%s\", \"{%s}\"',i.tool(n)"
	.ascii	",n.name,o,n.uuid)_p('EndProject')end\n_p('Global')_p(1,'Glob"
	.ascii	"alSection(SolutionConfiguration) = preSolution')for o,i in i"
	.ascii	"pairs(o.configurations)do\n_p(2,'ConfigName.%d = %s',o-1,i)e"
	.ascii	"nd\n_p(1,'EndGlobalSection')_p(1,'GlobalSection(ProjectDepen"
	.ascii	"dencies) = postSolution')_p(1,'EndGlobalSection')_p(1,'Globa"
	.ascii	"lSection(ProjectConfiguration) = postSolution')for n in prem"
	.ascii	"ake.solution.eachproject(o)do\nfor e,o in ipairs(o.configura"
	.ascii	"tions)do\n_p(2,'{%s}.%s.ActiveCfg = %s|%s',n.uuid,o,o,i.arch"
	.ascii	"(n))_p(2,'{%s"
	.string	"}.%s.Build.0 = %s|%s',n.uuid,o,o,i.arch(n))end\nend\n_p(1,'EndGlobalSection')_p(1,'GlobalSection(ExtensibilityGlobals) = postSolution')_p(1,'EndGlobalSection')_p(1,'GlobalSection(ExtensibilityAddIns) = postSolution')_p(1,'EndGlobalSection')_p('EndGlobal')end"
	.align 8
.LC35:
	.ascii	"premake.vstudio.cs2002={}local s=premake.vstudio\nlocal a=pr"
	.ascii	"emake.vstudio.cs2002\nlocal function n(a,t,e)if t==\"Compile"
	.ascii	"\"and e:endswith(\".cs\")then\nreturn\"SubTypeCode\"end\nif "
	.ascii	"t==\"EmbeddedResource\"and e:endswith(\".resx\")then\nlocal "
	.ascii	"e=e:sub(1,-6)local e=path.getname(e..\".cs\")if premake.find"
	.ascii	"file(a,e)then\nreturn\"Dependency\",e\nend\nend\nreturn\"Non"
	.ascii	"e\"end\nfunction a.Files(a)local e=premake.project.buildsour"
	.ascii	"cetree(a)premake.tree.traverse(e,{onleaf=function(e)local t="
	.ascii	"premake.dotnet.getbuildaction(e.cfg)local s=path.translate(p"
	.ascii	"remake.esc(e.cfg.name),\"\\\\\")local a,e=n(a,t,e.path)_p(4,"
	.ascii	"'<File')_p(5,'RelPath = \"%s\"',s)_p(5,'BuildAction = \"%s\""
	.ascii	"',t)if e then\n_p(5,'DependentUpon = \"%s\"',premake.esc(pat"
	.ascii	"h.translate(e,\"\\\\\")))end\nif a==\"SubTypeCode\"then\n_p("
	.ascii	"5,'SubType = \"Code\"')end\n_p(4,'/>')end},false)end\nfuncti"
	.ascii	"on a.generate(t)io.eol=\"\\r\\n\"_p('<VisualStudioProject>')"
	.ascii	"_p(1,'<CSHARP')_p(2,'ProjectType = \"Local\"')_p(2,'ProductV"
	.ascii	"ersion = \"%s\"',iif(_ACTION==\"vs2002\",\"7.0.9254\",\"7.10"
	.ascii	".3077\"))_p(2,'SchemaVersion = \"%s\"',iif(_ACTION==\"vs2002"
	.ascii	"\",\"1.0\",\"2.0\"))_p(2,'ProjectGuid = \"{%s}\"',t.uuid)_p("
	.ascii	"1,'>')_p(2,'<Build>')_p(3,'<Settings')_p(4,'ApplicationIcon "
	.ascii	"= \"\"')_p(4,'AssemblyKeyContainerName = \"\"')_p(4,'Assembl"
	.ascii	"yName = \"%s\"',t.buildtarget.basename)_p(4,'AssemblyOrigina"
	.ascii	"torKeyFile = \"\"')_p(4,'DefaultClientScript = \"JScript\"')"
	.ascii	"_p(4,'DefaultHTMLPageLayout = \"Grid\"')_p(4,'DefaultTargetS"
	.ascii	"chema = \"IE50\"')_p(4,'DelaySign = \"false\"')if _ACTION==\""
	.ascii	"vs2002\"then\n_p(4,'NoStandardLibraries = \"false\"')end\n_p"
	.ascii	"(4,'OutputType = \"%s\"',premake.dotnet.getkind(t))if _ACTIO"
	.ascii	"N==\"vs2003\"then\n_p(4,'PreBuildEvent = \"\"')_p(4,'PostBui"
	.ascii	"ldEvent = \"\"')end\n_p(4,'RootNamespace = \"%s\"',t.buildta"
	.ascii	"rget.basename)if _ACTION==\"vs2003\"then\n_p(4,'RunPostBuild"
	.ascii	"Event = \"OnBuildSuccess\"')end\n_p(4,'StartupObject = \"\"'"
	.ascii	")_p(3,'>')for e in premake.eachconfig(t)do\n_p(4,'<Config')_"
	.ascii	"p(5,'Name = \"%s\"',premake.esc(e.name))_p(5,'AllowUnsafeBlo"
	.ascii	"cks = \"%s\"',iif(e.flags.Unsafe,\"true\",\"false\"))_p(5,'B"
	.ascii	"aseAddress = \"285212672\"')_p(5,'CheckForOverflowUnderflow "
	.ascii	"= \"false\"')_p(5,'Configur"
	.ascii	"ationOverrideFile = \"\"')_p(5,'DefineConstants = \"%s\"',pr"
	.ascii	"emake.esc(table.concat(e.defines,\";\")))_p(5,'Documentation"
	.ascii	"File = \"\"')_p(5,'DebugSymbols = \"%s\"',iif(e.flags.Symbol"
	.ascii	"s,\"true\",\"false\"))_p(5,'FileAlignment = \"4096\"')_p(5,'"
	.ascii	"IncrementalBuild = \"false\"')if _ACTION==\"vs2003\"then\n_p"
	.ascii	"(5,'NoStdLib = \"false\"')_p(5,'NoWarn = \"\"')end\n_p(5,'Op"
	.ascii	"timize = \"%s\"',iif(e.flags.Optimize or e.flags.OptimizeSiz"
	.ascii	"e or e.flags.OptimizeSpeed,\"true\",\"false\"))_p(5,'OutputP"
	.ascii	"ath = \"%s\"',premake.esc(e.buildtarget.directory))_p(5,'Reg"
	.ascii	"isterForComInterop = \"false\"')_p(5,'RemoveIntegerChecks = "
	.ascii	"\"false\"')_p(5,'TreatWarningsAsErrors = \"%s\"',iif(e.flags"
	.ascii	".FatalWarnings,\"true\",\"false\"))_p(5,'WarningLevel = \"4\""
	.ascii	"')_p(4,'/>')end\n_p(3,'</Settings>')_p(3,'<References>')for "
	.ascii	"t,e in ipairs(premake.getlinks(t,\"siblings\",\"object\"))do"
	.ascii	"\n_p(4,'<Reference')_p(5,'Name = \"%s\"',e.buildtarget.basen"
	.ascii	"ame)_p(5,'Project = \"{%s}\"',e.uuid)_p(5,'Package = \"{%s}\""
	.ascii	"',s.tool(e))_p(4,'/>')end\nfor t,e in ipairs(premake.getlink"
	.ascii	"s(t,\"system\",\"fullpath\"))do\n_p(4,'<Reference')_p(5,'Nam"
	.ascii	"e = \"%s\"',path.getbasename(e))_p(5,'AssemblyName = \"%s\"'"
	.ascii	",path.getname(e))if"
	.string	" path.getdirectory(e)~=\".\"then\n_p(5,'HintPath = \"%s\"',path.translate(e,\"\\\\\"))end\n_p(4,'/>')end\n_p(3,'</References>')_p(2,'</Build>')_p(2,'<Files>')_p(3,'<Include>')a.Files(t)_p(3,'</Include>')_p(2,'</Files>')_p(1,'</CSHARP>')_p('</VisualStudioProject>')end"
	.align 8
.LC36:
	.ascii	"local e=premake.vstudio.cs2002\nfunction e.generate_user(e)i"
	.ascii	"o.eol=\"\\r\\n\"_p('<VisualStudioProject>')_p(1,'<CSHARP>')_"
	.ascii	"p(2,'<Build>')local t=table.translate(e.libdirs,function(t)r"
	.ascii	"eturn path.getabsolute(e.location..\"/\"..t)end)_p(3,'<Setti"
	.ascii	"ngs ReferencePath = \"%s\">',path.translate(table.concat(t,\""
	.ascii	";\"),\"\\\\\"))for e in premake.eachconfig(e)do\n_p(4,'<Conf"
	.ascii	"ig')_p(5,'Name = \"%s\"',premake.esc(e.name))_p(5,'EnableASP"
	.ascii	"Debugging = \"false\"')_p(5,'EnableASPXDebugging = \"false\""
	.ascii	"')_p(5,'EnableUnmanagedDebugging = \"false\"')_p(5,'EnableSQ"
	.ascii	"LServerDebugging = \"false\"')_p(5,'RemoteDebugEnabled = \"f"
	.ascii	"alse\"')_p(5,'RemoteDebugMachine = \"\"')_p(5,'StartAction ="
	.ascii	" \"Project\"')_p(5,'StartArguments = \"\"')_p(5,'StartPage ="
	.ascii	" \"\"')_p(5,'StartProgram = \"\"')_p(5,'StartURL = \"\"')_p("
	.ascii	"5,'StartWorkingDirectory = \"\"')_p(5,'StartWithIE = \"false"
	.ascii	"\"')_p(4,'/>')end\n_p(3,'</Settings>')_p(2,'</Buil"
	.string	"d>')_p(2,'<OtherProjectSettings')_p(3,'CopyProjectDestinationFolder = \"\"')_p(3,'CopyProjectUncPath = \"\"')_p(3,'CopyProjectOption = \"0\"')_p(3,'ProjectView = \"ProjectFiles\"')_p(3,'ProjectTrust = \"0\"')_p(2,'/>')_p(1,'</CSHARP>')_p('</VisualStudioProject>')end"
	.align 8
.LC37:
	.ascii	"premake.vstudio.vc200x={}local o=premake.vstudio.vc200x\nloc"
	.ascii	"al s=premake.tree\nlocal function n(e)if(_ACTION<\"vs2005\")"
	.ascii	"then\nreturn iif(e,\"TRUE\",\"FALSE\")else\nreturn iif(e,\"t"
	.ascii	"rue\",\"false\")end\nend\nfunction o.optimization(o)local e="
	.ascii	"0\nfor n,o in ipairs(o.flags)do\nif(o==\"Optimize\")then\ne="
	.ascii	"3\nelseif(o==\"OptimizeSize\")then\ne=1\nelseif(o==\"Optimiz"
	.ascii	"eSpeed\")then\ne=2\nend\nend\nreturn e\nend\nfunction o.head"
	.ascii	"er(e)io.eol=\"\\r\\n\"_p('<?xml version=\"1.0\" encoding=\"W"
	.ascii	"indows-1252\"?>')_p('<%s',e)_p(1,'ProjectType=\"Visual C++\""
	.ascii	"')if _ACTION==\"vs2002\"then\n_p(1,'Version=\"7.00\"')elseif"
	.ascii	" _ACTION==\"vs2003\"then\n_p(1,'Version=\"7.10\"')elseif _AC"
	.ascii	"TION==\"vs2005\"then\n_p(1,'Version=\"8.00\"')elseif _ACTION"
	.ascii	"==\"vs2008\"then\n_p(1,'Version=\"9.00\"')end\nend\nfunction"
	.ascii	" o.Configuration(o,e)_p(2,'<Configuration')_p(3,'Name=\"%s\""
	.ascii	"',premake.esc(o))_p(3,'OutputDirectory=\"%s\"',premake.esc(e"
	.ascii	".buildtarget.directory))_p(3,'IntermediateDirectory=\"%s\"',"
	.ascii	"premake.esc(e.objectsdir))local o\nif(e.kind==\"SharedLib\")"
	.ascii	"then\no=2\nelseif(e.kind==\"StaticLib\")then\no=4\nelse\no=1"
	.ascii	"\nend\n_p(3,'ConfigurationType=\"%s\"',o)if(e.flags.MFC)then"
	.ascii	"\n_p(3,'UseOfMFC=\"%d\"',iif(e.flags.StaticRuntime,1,2))end\n"
	.ascii	"if(e.flags.ATL or e.flags.StaticATL)then\n_p(3,'UseOfATL=\"%"
	.ascii	"d\"',iif(e.flags.StaticATL,1,2))end\n_p(3,'CharacterSet=\"%s"
	.ascii	"\"',iif(e.flags.Unicode,1,2))if e.flags.Managed then\n_p(3,'"
	.ascii	"ManagedExtensions=\"1\"')end\n_p(3,'>')end\nfunction o.indiv"
	.ascii	"idualSourceFile(n,e,t,l)for o,i in ipairs(n.solution.vstudio"
	.ascii	"_configs)do\nif i.isreal then\nlocal o=premake.getconfig(n,i"
	.ascii	".src_buildcfg,i.src_platform)local l=(not n.flags.NoPCH and "
	.ascii	"n.pchsource==l.cfg.name)local a=path.iscppfile(t)local n=(pa"
	.ascii	"th.iscfile(t)~=premake.project.iscproject(n))if l or(a and n"
	.ascii	")then\n_p(e,'<FileConfiguration')_p(e,'\\tName=\"%s\"',i.nam"
	.ascii	"e)_p(e,'\\t>')_p(e,'\\t<Tool')_p(e,'\\t\\tName=\"%s\"',iif(o"
	.ascii	".system==\"Xbox360\",\"VCCLX360CompilerTool\",\"VCCLCompiler"
	.ascii	"Tool\"))if n then\n_p(e,'\\t\\tCompileAs=\"%s\"',iif(path.is"
	.ascii	"cfile(t),1,2))end\nif l then\nif o.system==\"PS3\"then\nloca"
	.ascii	"l o=table.join(premake.snc.getcflags(o),premake.snc.getcxxfl"
	.ascii	"ags(o),o.buildoptions)o=tabl"
	.ascii	"e.concat(o,\" \");o=o..' --create_pch=\"$(IntDir)/$(TargetNa"
	.ascii	"me).pch\"'_p(e,'\\t\\tAdditionalOptions=\"%s\"',premake.esc("
	.ascii	"o))else\n_p(e,'\\t\\tUsePrecompiledHeader=\"1\"')end\nend\n_"
	.ascii	"p(e,'\\t/>')_p(e,'</FileConfiguration>')end\nend\nend\nend\n"
	.ascii	"function o.Files(n)local e=premake.project.buildsourcetree(n"
	.ascii	")s.traverse(e,{onbranchenter=function(o,e)_p(e,'<Filter')_p("
	.ascii	"e,'\\tName=\"%s\"',o.name)_p(e,'\\tFilter=\"\"')_p(e,'\\t>')"
	.ascii	"end,onbranchexit=function(o,e)_p(e,'</Filter>')end,onleaf=fu"
	.ascii	"nction(t,e)local i=t.cfg.name\n_p(e,'<File')_p(e,'\\tRelativ"
	.ascii	"ePath=\"%s\"',path.translate(i,\"\\\\\"))_p(e,'\\t>')e=e+1\n"
	.ascii	"o.individualSourceFile(n,e,i,t)e=e-1\n_p(e,'</File>')end,},f"
	.ascii	"alse,2)end\nfunction o.Platforms(e)local o={}_p(1,'<Platform"
	.ascii	"s>')for n,e in ipairs(e.solution.vstudio_configs)do\nif e.is"
	.ascii	"real and not table.contains(o,e.platform)then\ntable.insert("
	.ascii	"o,e.platform)_p(2,'<Platform')_p(3,'Name=\"%s\"',e.platform)"
	.ascii	"_p(2,'/>')end\nend\n_p(1,'</Platforms>')end\nfunction o.Symb"
	.ascii	"ols(e)if(not e.flags.Symbols)then\nreturn 0\nelse\nif e.flag"
	.ascii	"s.NoEditAndContinue or\no.optimization(e)~=0 or\ne.flags.Man"
	.ascii	"aged or\ne.platform==\"x64\"then\nreturn 3\nelse\nreturn 4\n"
	.ascii	"end\nend\nend\nfunction o.VCCLCompilerTool(e)_p(3,'<Tool')_p"
	.ascii	"(4,'Name=\"%s\"',iif(e.platform~=\"Xbox360\",\"VCCLCompilerT"
	.ascii	"ool\",\"VCCLX360CompilerTool\"))if#e.buildoptions>0 then\n_p"
	.ascii	"(4,'AdditionalOptions=\"%s\"',table.concat(premake.esc(e.bui"
	.ascii	"ldoptions),\" \"))end\n_p(4,'Optimization=\"%s\"',o.optimiza"
	.ascii	"tion(e))if e.flags.NoFramePointer then\n_p(4,'OmitFramePoint"
	.ascii	"ers=\"%s\"',n(true))end\nif#e.includedirs>0 then\n_p(4,'Addi"
	.ascii	"tionalIncludeDirectories=\"%s\"',premake.esc(path.translate("
	.ascii	"table.concat(e.includedirs,\";\"),'\\\\')))end\nif#e.defines"
	.ascii	">0 then\n_p(4,'PreprocessorDefinitions=\"%s\"',premake.esc(t"
	.ascii	"able.concat(e.defines,\";\")))end\nif premake.config.isdebug"
	.ascii	"build(e)and not e.flags.NoMinimalRebuild and not e.flags.Man"
	.ascii	"aged then\n_p(4,'MinimalRebuild=\"%s\"',n(true))end\nif e.fl"
	.ascii	"ags.NoExceptions then\n_p(4,'ExceptionHandling=\"%s\"',iif(_"
	.ascii	"ACTION<\"vs2005\",\"FALSE\",0))elseif e.flags.SEH and _ACTIO"
	.ascii	"N>\"vs2003\"then\n_p(4,'ExceptionHandling=\"2\"')end\nif o.o"
	.ascii	"ptimization("
	.ascii	"e)==0 and not e.flags.Managed then\n_p(4,'BasicRuntimeChecks"
	.ascii	"=\"3\"')end\nif o.optimization(e)~=0 then\n_p(4,'StringPooli"
	.ascii	"ng=\"%s\"',n(true))end\nlocal i\nif premake.config.isdebugbu"
	.ascii	"ild(e)then\ni=iif(e.flags.StaticRuntime,1,3)else\ni=iif(e.fl"
	.ascii	"ags.StaticRuntime,0,2)end\n_p(4,'RuntimeLibrary=\"%s\"',i)_p"
	.ascii	"(4,'EnableFunctionLevelLinking=\"%s\"',n(true))if _ACTION>\""
	.ascii	"vs2003\"and e.platform~=\"Xbox360\"and e.platform~=\"x64\"th"
	.ascii	"en\nif e.flags.EnableSSE then\n_p(4,'EnableEnhancedInstructi"
	.ascii	"onSet=\"1\"')elseif e.flags.EnableSSE2 then\n_p(4,'EnableEnh"
	.ascii	"ancedInstructionSet=\"2\"')end\nend\nif _ACTION<\"vs2005\"th"
	.ascii	"en\nif e.flags.FloatFast then\n_p(4,'ImproveFloatingPointCon"
	.ascii	"sistency=\"%s\"',n(false))elseif e.flags.FloatStrict then\n_"
	.ascii	"p(4,'ImproveFloatingPointConsistency=\"%s\"',n(true))end\nel"
	.ascii	"se\nif e.flags.FloatFast then\n_p(4,'FloatingPointModel=\"2\""
	.ascii	"')elseif e.flags.FloatStrict then\n_p(4,'FloatingPointModel="
	.ascii	"\"1\"')end\nend\nif _ACTION<\"vs2005\"and not e.flags.NoRTTI"
	.ascii	" then\n_p(4,'RuntimeTypeInfo=\"%s\"',n(true))elseif _ACTION>"
	.ascii	"\"vs2003\"and e.flags.NoRTTI and not e.flags.Managed then\n_"
	.ascii	"p(4,'RuntimeTypeInfo=\"%s\"',n(false))end\nif e.flags.Native"
	.ascii	"WChar then\n_p(4,'TreatWChar_tAsBuiltInType=\"%s\"',n(true))"
	.ascii	"elseif e.flags.NoNativeWChar then\n_p(4,'TreatWChar_tAsBuilt"
	.ascii	"InType=\"%s\"',n(false))end\nif not e.flags.NoPCH and e.pchh"
	.ascii	"eader then\n_p(4,'UsePrecompiledHeader=\"%s\"',iif(_ACTION<\""
	.ascii	"vs2005\",3,2))_p(4,'PrecompiledHeaderThrough=\"%s\"',e.pchhe"
	.ascii	"ader)else\n_p(4,'UsePrecompiledHeader=\"%s\"',iif(_ACTION>\""
	.ascii	"vs2003\"or e.flags.NoPCH,0,2))end\n_p(4,'WarningLevel=\"%s\""
	.ascii	"',iif(e.flags.ExtraWarnings,4,3))if e.flags.FatalWarnings th"
	.ascii	"en\n_p(4,'WarnAsError=\"%s\"',n(true))end\nif _ACTION<\"vs20"
	.ascii	"08\"and not e.flags.Managed then\n_p(4,'Detect64BitPortabili"
	.ascii	"tyProblems=\"%s\"',n(not e.flags.No64BitChecks))end\n_p(4,'P"
	.ascii	"rogramDataBaseFileName=\"$(OutDir)\\\\%s.pdb\"',path.getbase"
	.ascii	"name(e.buildtarget.name))_p(4,'DebugInformationFormat=\"%s\""
	.ascii	"',o.Symbols(e))if e.language==\"C\"then\n_p(4,'CompileAs=\"1"
	.ascii	"\"')end\n_p(3,'/>')end\nfunction o.VCLinkerTool(e)_p(3,'<Too"
	.ascii	"l')if e.kind~=\"StaticLib\"then\n_p(4,'Name=\"%s\"',iif(e.pl"
	.ascii	"atform~=\""
	.ascii	"Xbox360\",\"VCLinkerTool\",\"VCX360LinkerTool\"))if e.flags."
	.ascii	"NoImportLib then\n_p(4,'IgnoreImportLibrary=\"%s\"',n(true))"
	.ascii	"end\nif#e.linkoptions>0 then\n_p(4,'AdditionalOptions=\"%s\""
	.ascii	"',table.concat(premake.esc(e.linkoptions),\" \"))end\nif#e.l"
	.ascii	"inks>0 then\n_p(4,'AdditionalDependencies=\"%s\"',table.conc"
	.ascii	"at(premake.getlinks(e,\"all\",\"fullpath\"),\" \"))end\n_p(4"
	.ascii	",'OutputFile=\"$(OutDir)\\\\%s\"',e.buildtarget.name)_p(4,'L"
	.ascii	"inkIncremental=\"%s\"',iif(premake.config.isincrementallink("
	.ascii	"e),2,1))_p(4,'AdditionalLibraryDirectories=\"%s\"',table.con"
	.ascii	"cat(premake.esc(path.translate(e.libdirs,'\\\\')),\";\"))loc"
	.ascii	"al i=premake.findfile(e,\".def\")if i then\n_p(4,'ModuleDefi"
	.ascii	"nitionFile=\"%s\"',i)end\nif e.flags.NoManifest then\n_p(4,'"
	.ascii	"GenerateManifest=\"%s\"',n(false))end\n_p(4,'GenerateDebugIn"
	.ascii	"formation=\"%s\"',n(o.Symbols(e)~=0))if o.Symbols(e)~=0 then"
	.ascii	"\n_p(4,'ProgramDataBaseFileName=\"$(OutDir)\\\\%s.pdb\"',pat"
	.ascii	"h.getbasename(e.buildtarget.name))end\n_p(4,'SubSystem=\"%s\""
	.ascii	"',iif(e.kind==\"ConsoleApp\",1,2))if o.optimization(e)~=0 th"
	.ascii	"en\n_p(4,'OptimizeReferences=\"2\"')_p(4,'EnableCOMDATFoldin"
	.ascii	"g=\"2\"')end\nif(e.kind==\"ConsoleApp\"or e.kind==\"Windowed"
	.ascii	"App\")and not e.flags.WinMain then\n_p(4,'EntryPointSymbol=\""
	.ascii	"%s\"',iif(e.flags.Unicode,\"wmainCRTStartup\",\"mainCRTStart"
	.ascii	"up\"))end\nif e.kind==\"SharedLib\"then\nlocal o=e.linktarge"
	.ascii	"t.fullpath\n_p(4,'ImportLibrary=\"%s\"',iif(e.flags.NoImport"
	.ascii	"Lib,e.objectsdir..\"\\\\\"..path.getname(o),o))end\n_p(4,'Ta"
	.ascii	"rgetMachine=\"%d\"',iif(e.platform==\"x64\",17,1))else\n_p(4"
	.ascii	",'Name=\"VCLibrarianTool\"')if#e.links>0 then\n_p(4,'Additio"
	.ascii	"nalDependencies=\"%s\"',table.concat(premake.getlinks(e,\"al"
	.ascii	"l\",\"fullpath\"),\" \"))end\n_p(4,'OutputFile=\"$(OutDir)\\"
	.ascii	"\\%s\"',e.buildtarget.name)if#e.libdirs>0 then\n_p(4,'Additi"
	.ascii	"onalLibraryDirectories=\"%s\"',premake.esc(path.translate(ta"
	.ascii	"ble.concat(e.libdirs,\";\"))))end\nlocal o={}if e.platform=="
	.ascii	"\"x32\"then\ntable.insert(o,\"/MACHINE:X86\")elseif e.platfo"
	.ascii	"rm==\"x64\"then\ntable.insert(o,\"/MACHINE:X64\")end\no=tabl"
	.ascii	"e.join(o,e.linkoptions)if#o>0 then\n_p(4,'AdditionalOptions="
	.ascii	"\"%s\"',table.concat(premake.esc(o),\" \"))end\nend\n_p(3,'/"
	.ascii	">')end\nfunction o.VCCLCompilerT"
	.ascii	"ool_PS3(e)_p(3,'<Tool')_p(4,'Name=\"VCCLCompilerTool\"')loca"
	.ascii	"l o=table.join(premake.snc.getcflags(e),premake.snc.getcxxfl"
	.ascii	"ags(e),e.buildoptions)if not e.flags.NoPCH and e.pchheader t"
	.ascii	"hen\n_p(4,'UsePrecompiledHeader=\"%s\"',iif(_ACTION<\"vs2005"
	.ascii	"\",3,2))_p(4,'PrecompiledHeaderThrough=\"%s\"',path.getname("
	.ascii	"e.pchheader))table.insert(o,'--use_pch=\"$(IntDir)/$(TargetN"
	.ascii	"ame).pch\"')else\n_p(4,'UsePrecompiledHeader=\"%s\"',iif(_AC"
	.ascii	"TION>\"vs2003\"or e.flags.NoPCH,0,2))end\n_p(4,'AdditionalOp"
	.ascii	"tions=\"%s\"',premake.esc(table.concat(o,\" \")))if#e.includ"
	.ascii	"edirs>0 then\n_p(4,'AdditionalIncludeDirectories=\"%s\"',pre"
	.ascii	"make.esc(path.translate(table.concat(e.includedirs,\";\"),'\\"
	.ascii	"\\')))end\nif#e.defines>0 then\n_p(4,'PreprocessorDefinition"
	.ascii	"s=\"%s\"',table.concat(premake.esc(e.defines),\";\"))end\n_p"
	.ascii	"(4,'ProgramDataBaseFileName=\"$(OutDir)\\\\%s.pdb\"',path.ge"
	.ascii	"tbasename(e.buildtarget.name))_p(4,'DebugInformationFormat=\""
	.ascii	"0\"')_p(4,'CompileAs=\"0\"')_p(3,'/>')end\nfunction o.VCLink"
	.ascii	"erTool_PS3(e)_p(3,'<Tool')if e.kind~=\"StaticLib\"then\n_p(4"
	.ascii	",'Name=\"VCLinkerTool\"')local o=table.join(premake.snc.getl"
	.ascii	"dflags(e),e.linkoptions)if#o>0 then\n_p(4,'AdditionalOptions"
	.ascii	"=\"%s\"',premake.esc(table.concat(o,\" \")))end\nif#e.links>"
	.ascii	"0 then\n_p(4,'AdditionalDependencies=\"%s\"',table.concat(pr"
	.ascii	"emake.getlinks(e,\"all\",\"fullpath\"),\" \"))end\n_p(4,'Out"
	.ascii	"putFile=\"$(OutDir)\\\\%s\"',e.buildtarget.name)_p(4,'LinkIn"
	.ascii	"cremental=\"0\"')_p(4,'AdditionalLibraryDirectories=\"%s\"',"
	.ascii	"table.concat(premake.esc(path.translate(e.libdirs,'\\\\')),\""
	.ascii	";\"))_p(4,'GenerateManifest=\"%s\"',n(false))_p(4,'ProgramDa"
	.ascii	"tabaseFile=\"\"')_p(4,'RandomizedBaseAddress=\"1\"')_p(4,'Da"
	.ascii	"taExecutionPrevention=\"0\"')else\n_p(4,'Name=\"VCLibrarianT"
	.ascii	"ool\"')local o=table.join(premake.snc.getldflags(e),e.linkop"
	.ascii	"tions)if#o>0 then\n_p(4,'AdditionalOptions=\"%s\"',premake.e"
	.ascii	"sc(table.concat(o,\" \")))end\nif#e.links>0 then\n_p(4,'Addi"
	.ascii	"tionalDependencies=\"%s\"',table.concat(premake.getlinks(e,\""
	.ascii	"all\",\"fullpath\"),\" \"))end\n_p(4,'OutputFile=\"$(OutDir)"
	.ascii	"\\\\%s\"',e.buildtarget.name)if#e.libdirs>0 then\n_p(4,'Addi"
	.ascii	"tionalLibraryDirectories=\"%s\"',premake.esc(path.translate("
	.ascii	"table.c"
	.ascii	"oncat(e.libdirs,\";\"))))end\nend\n_p(3,'/>')end\nfunction o"
	.ascii	".VCResourceCompilerTool(e)_p(3,'<Tool')_p(4,'Name=\"VCResour"
	.ascii	"ceCompilerTool\"')if#e.resoptions>0 then\n_p(4,'AdditionalOp"
	.ascii	"tions=\"%s\"',table.concat(premake.esc(e.resoptions),\" \"))"
	.ascii	"end\nif#e.defines>0 or#e.resdefines>0 then\n_p(4,'Preprocess"
	.ascii	"orDefinitions=\"%s\"',table.concat(premake.esc(table.join(e."
	.ascii	"defines,e.resdefines)),\";\"))end\nif#e.includedirs>0 or#e.r"
	.ascii	"esincludedirs>0 then\nlocal e=table.join(e.includedirs,e.res"
	.ascii	"includedirs)_p(4,'AdditionalIncludeDirectories=\"%s\"',prema"
	.ascii	"ke.esc(path.translate(table.concat(e,\";\"),'\\\\')))end\n_p"
	.ascii	"(3,'/>')end\nfunction o.VCManifestTool(o)local e={}for n,o i"
	.ascii	"n ipairs(o.files)do\nif path.getextension(o)==\".manifest\"t"
	.ascii	"hen\ntable.insert(e,o)end\nend\n_p(3,'<Tool')_p(4,'Name=\"VC"
	.ascii	"ManifestTool\"')if#e>0 then\n_p(4,'AdditionalManifestFiles=\""
	.ascii	"%s\"',premake.esc(table.concat(e,\";\")))end\n_p(3,'/>')end\n"
	.ascii	"function o.VCMIDLTool(e)_p(3,'<Tool')_p(4,'Name=\"VCMIDLTool"
	.ascii	"\"')if e.platform==\"x64\"then\n_p(4,'TargetEnvironment=\"3\""
	.ascii	"')end\n_p(3,'/>')end\nfunction o.buildstepsblock(n,e)_p(3,'<"
	.ascii	"Tool')_p(4,'Name=\"%s\"',n)if#e>0 then\n_p(4,'CommandLine=\""
	.ascii	"%s\"',premake.esc(table.implode(e,\"\",\"\",\"\\r\\n\")))end"
	.ascii	"\n_p(3,'/>')end\no.toolmap={VCCLCompilerTool=o.VCCLCompilerT"
	.ascii	"ool,VCCLCompilerTool_PS3=o.VCCLCompilerTool_PS3,VCLinkerTool"
	.ascii	"=o.VCLinkerTool,VCLinkerTool_PS3=o.VCLinkerTool_PS3,VCManife"
	.ascii	"stTool=o.VCManifestTool,VCMIDLTool=o.VCMIDLTool,VCResourceCo"
	.ascii	"mpilerTool=o.VCResourceCompilerTool,VCPreBuildEventTool=func"
	.ascii	"tion(e)o.buildstepsblock(\"VCPreBuildEventTool\",e.prebuildc"
	.ascii	"ommands)end,VCPreLinkEventTool=function(e)o.buildstepsblock("
	.ascii	"\"VCPreLinkEventTool\",e.prelinkcommands)end,VCPostBuildEven"
	.ascii	"tTool=function(e)o.buildstepsblock(\"VCPostBuildEventTool\","
	.ascii	"e.postbuildcommands)end,}local function t(o,e)if o==\"vs2002"
	.ascii	"\"then\nreturn{\"VCCLCompilerTool\",\"VCCustomBuildTool\",\""
	.ascii	"VCLinkerTool\",\"VCMIDLTool\",\"VCPostBuildEventTool\",\"VCP"
	.ascii	"reBuildEventTool\",\"VCPreLinkEventTool\",\"VCResourceCompil"
	.ascii	"erTool\",\"VCWebServiceProxyGeneratorTool\",\"VCWebDeploymen"
	.ascii	"tTool\"}end\nif o==\"vs2003\"then\nreturn{\"VCCLCompilerTo"
	.ascii	"ol\",\"VCCustomBuildTool\",\"VCLinkerTool\",\"VCMIDLTool\",\""
	.ascii	"VCPostBuildEventTool\",\"VCPreBuildEventTool\",\"VCPreLinkEv"
	.ascii	"entTool\",\"VCResourceCompilerTool\",\"VCWebServiceProxyGene"
	.ascii	"ratorTool\",\"VCXMLDataGeneratorTool\",\"VCWebDeploymentTool"
	.ascii	"\",\"VCManagedWrapperGeneratorTool\",\"VCAuxiliaryManagedWra"
	.ascii	"pperGeneratorTool\"}end\nif e==\"Xbox360\"then\nreturn{\"VCP"
	.ascii	"reBuildEventTool\",\"VCCustomBuildTool\",\"VCXMLDataGenerato"
	.ascii	"rTool\",\"VCWebServiceProxyGeneratorTool\",\"VCMIDLTool\",\""
	.ascii	"VCCLCompilerTool\",\"VCManagedResourceCompilerTool\",\"VCRes"
	.ascii	"ourceCompilerTool\",\"VCPreLinkEventTool\",\"VCLinkerTool\","
	.ascii	"\"VCALinkTool\",\"VCX360ImageTool\",\"VCBscMakeTool\",\"VCX3"
	.ascii	"60DeploymentTool\",\"VCPostBuildEventTool\",\"DebuggerTool\""
	.ascii	",}end\nif e==\"PS3\"then\nreturn{\"VCPreBuildEventTool\",\"V"
	.ascii	"CCustomBuildTool\",\"VCXMLDataGeneratorTool\",\"VCWebService"
	.ascii	"ProxyGeneratorTool\",\"VCMIDLTool\",\"VCCLCompilerTool_PS3\""
	.ascii	",\"VCManagedResourceCompilerTool\",\"VCResourceCompilerTool\""
	.ascii	",\"VCPreLinkEventTool\",\"VCLinkerTool_PS3\",\"VCALinkTool\""
	.ascii	",\"VCManifestTool\",\"VCXDCMakeTool\",\"VCBscMakeTool\",\"VC"
	.ascii	"FxCopTool\",\"VCAppVerifierTool\",\"VCWebDeploymentTool\",\""
	.ascii	"VCPostBuildEventTool\"}else\nreturn{\"VCPreBuildEventTool\","
	.ascii	"\"VCCustomBuildTool\",\"VCXMLDataGeneratorTool\",\"VCWebServ"
	.ascii	"iceProxyGeneratorTool\",\"VCMIDLTool\",\"VCCLCompilerTool\","
	.ascii	"\"VCManagedResourceCompilerTool\",\"VCResourceCompilerTool\""
	.ascii	",\"VCPreLinkEventTool\",\"VCLinkerTool\",\"VCALinkTool\",\"V"
	.ascii	"CManifestTool\",\"VCXDCMakeTool\",\"VCBscMakeTool\",\"VCFxCo"
	.ascii	"pTool\",\"VCAppVerifierTool\",\"VCWebDeploymentTool\",\"VCPo"
	.ascii	"stBuildEventTool\"}end\nend\nfunction o.generate(n)o.header("
	.ascii	"'VisualStudioProject')_p(1,'Name=\"%s\"',premake.esc(n.name)"
	.ascii	")_p(1,'ProjectGUID=\"{%s}\"',n.uuid)if _ACTION>\"vs2003\"the"
	.ascii	"n\n_p(1,'RootNamespace=\"%s\"',n.name)end\n_p(1,'Keyword=\"%"
	.ascii	"s\"',iif(n.flags.Managed,\"ManagedCProj\",\"Win32Proj\"))_p("
	.ascii	"1,'>')o.Platforms(n)if _ACTION>\"vs2003\"then\n_p(1,'<ToolFi"
	.ascii	"les>')_p(1,'</ToolFiles>')end\n_p(1,'<Configurations>')for e"
	.ascii	",i in ipairs(n.solution.vstudio_configs)do\nif i.isreal then"
	.ascii	"\nlocal e=premake.getconfig(n,i.src_buildcfg,i.src_platform)"
	.ascii	"o.Configuration(i.name,e)for i,n in ipairs(t(_ACTION,i.src_p"
	.ascii	"latform))do\nif o.toolmap[n]then\no.toolmap[n](e)elseif n==\""
	.ascii	"VCX360DeploymentTool\"then\n_p(3,'<Tool')_p(4,'Name=\"VCX360"
	.ascii	"DeploymentTool\"')_p(4,'DeploymentType=\"0\"')if#e.deploymen"
	.ascii	"toptions>0 then\n_p(4,'AdditionalOptions=\"%s\"',table.conca"
	.ascii	"t(premake.esc(e.deploymentoptions),\" \"))end\n_p(3,'/>')els"
	.ascii	"eif n==\"VCX360ImageTool\"then\n_p(3,'<Tool')_p(4,'Name=\"VC"
	.ascii	"X360ImageTool\"')if#e.imageoptions>0 then\n_p(4,'AdditionalO"
	.ascii	"ptions=\"%s\"',table.concat(premake.esc(e.imageoptions),\" \""
	.ascii	"))end\nif e.imagepath~=nil then\n_p(4,'OutputFileName=\"%s\""
	.ascii	"',premake.esc(path.translate(e.imagepath)))end\n_p(3,'/>')el"
	.ascii	"seif n==\"DebuggerTool\"then\n_p(3,'<DebuggerTool')_p(3,'/>'"
	.ascii	")else"
	.string	"\n_p(3,'<Tool')_p(4,'Name=\"%s\"',n)_p(3,'/>')end\nend\n_p(2,'</Configuration>')end\nend\n_p(1,'</Configurations>')_p(1,'<References>')_p(1,'</References>')_p(1,'<Files>')o.Files(n)_p(1,'</Files>')_p(1,'<Globals>')_p(1,'</Globals>')_p('</VisualStudioProject>')end"
	.align 8
.LC38:
	.ascii	"local e=premake.vstudio.vc200x\nfunction e.generate_user(i)e"
	.ascii	".header('VisualStudioUserFile')_p(1,'ShowAllFiles=\"false\"'"
	.ascii	")_p(1,'>')_p(1,'<Configurations>')for r,n in ipairs(i.soluti"
	.ascii	"on.vstudio_configs)do\nif n.isreal then\nlocal i=premake.get"
	.ascii	"config(i,n.src_buildcfg,n.src_platform)_p(2,'<Configuration'"
	.ascii	")_p(3,'Name=\"%s\"',premake.esc(n.name))_p(3,'>')e.debugdir("
	.ascii	"i)_p(2,'</Configuration>')end\nend\n_p(1,'</Configurations>'"
	.ascii	")_p('</VisualStudioUserFile>')end\nfunction e.environmentarg"
	.ascii	"s(e)if e.environmentargs and#e.environmentargs>0 then\n_p(4,"
	.ascii	"'Environment=\"%s\"',string.gsub(table.concat(e.environmenta"
	.ascii	"rgs,\"&#x0A;\"),'\"','&quot;'))if e.flags.EnvironmentArgsDon"
	.ascii	"tMerge then\n_p(4,'EnvironmentMerge=\"false\"')en"
	.string	"d\nend\nend\nfunction e.debugdir(n)_p(3,'<DebugSettings')if n.debugdir then\n_p(4,'WorkingDirectory=\"%s\"',path.translate(n.debugdir,'\\\\'))end\nif#n.debugargs>0 then\n_p(4,'CommandArguments=\"%s\"',table.concat(n.debugargs,\" \"))end\ne.environmentargs(n)_p(3,'/>')end"
	.align 8
.LC39:
	.ascii	"premake.vstudio.sln2003={}local i=premake.vstudio\nlocal o=p"
	.ascii	"remake.vstudio.sln2003\nfunction o.generate(o)io.indent=nil\n"
	.ascii	"io.eol='\\r\\n'o.vstudio_configs=premake.vstudio.buildconfig"
	.ascii	"s(o)_p('Microsoft Visual Studio Solution File, Format Versio"
	.ascii	"n 8.00')for t in premake.solution.eachproject(o)do\nlocal o="
	.ascii	"path.translate(path.getrelative(o.location,i.projectfile(t))"
	.ascii	")_p('Project(\"{%s}\") = \"%s\", \"%s\", \"{%s}\"',i.tool(t)"
	.ascii	",t.name,o,t.uuid)local o=premake.getdependencies(t)if#o>0 th"
	.ascii	"en\n_p('\\tProjectSection(ProjectDependencies) = postProject"
	.ascii	"')for t,o in ipairs(o)do\n_p('\\t\\t{%s} = {%s}',o.uuid,o.uu"
	.ascii	"id)end\n_p('\\tEndProjectSection')end\n_p('EndProject')end\n"
	.ascii	"_p('Global')_p('\\tGlobalSection(SolutionConfiguration) = pr"
	.ascii	"eSolution')for t,o in ipairs(o.configurations)do\n_p('\\t\\t"
	.ascii	"%s = %s',o,o)end\n_p('\\tEndGlobalSection')_p('\\tGlobalSect"
	.ascii	"ion(ProjectDependencies) = postSolution')_p('\\tEndGlobalSec"
	.ascii	"tion')_p('\\tGlobalSection(ProjectConfiguration) = postSolut"
	.ascii	"ion')for t in premake.solution.eachproject(o)do\nfor e,o in "
	.ascii	"ipairs(o.configurations)do\n_p('\\t\\t{%s}.%s.ActiveCfg = %s"
	.ascii	"|%s',t.uuid,o,o,i.arch(t))_p('\\t\\t{%s"
	.string	"}.%s.Build.0 = %s|%s',t.uuid,o,o,i.arch(t))end\nend\n_p('\\tEndGlobalSection')_p('\\tGlobalSection(ExtensibilityGlobals) = postSolution')_p('\\tEndGlobalSection')_p('\\tGlobalSection(ExtensibilityAddIns) = postSolution')_p('\\tEndGlobalSection')_p('EndGlobal')end"
	.align 8
.LC40:
	.ascii	"premake.vstudio.sln2005={}local t=premake.vstudio\nlocal o=p"
	.ascii	"remake.vstudio.sln2005\nfunction o.generate(e)io.indent=nil\n"
	.ascii	"io.eol='\\r\\n'e.vstudio_configs=premake.vstudio.buildconfig"
	.ascii	"s(e)_p('\357\273\277')o.header(e)for e in premake.solution.e"
	.ascii	"achproject(e)do\no.project(e)end\n_p('Global')o.platforms(e)"
	.ascii	"o.project_platforms(e)o.properties(e)_p('EndGlobal')end\nfun"
	.ascii	"ction o.header(o)local o=premake.action.current()_p('Microso"
	.ascii	"ft Visual Studio Solution File, Format Version %d.00',o.vstu"
	.ascii	"dio.solutionVersion)if o.vstudio.shortSlnVersion~=nil then\n"
	.ascii	"_p('# Visual Studio %s',o.vstudio.shortSlnVersion)else\n_p('"
	.ascii	"# Visual Studio %s',_ACTION:sub(3))end\nend\nfunction o.proj"
	.ascii	"ect(e)local n=path.translate(path.getrelative(e.solution.loc"
	.ascii	"ation,t.projectfile(e)),\"\\\\\")_p('Project(\"{%s}\") = \"%"
	.ascii	"s\", \"%s\", \"{%s}\"',t.tool(e),e.name,n,e.uuid)o.projectde"
	.ascii	"pendencies(e)_p('EndProject')end\nfunction o.projectdependen"
	.ascii	"cies(o)local o=premake.getdependencies(o)if#o>0 then\n_p('\\"
	.ascii	"tProjectSection(ProjectDependencies) = postProject')for e,o "
	.ascii	"in ipairs(o)do\n_p('\\t\\t{%s} = {%s}',o.uuid,o.uuid)end\n_p"
	.ascii	"('\\tEndProjectSection')end\nend\nfunction o.platforms(o)_p("
	.ascii	"'\\tGlobalSection(SolutionConfigurationPlatforms) = preSolut"
	.ascii	"ion')for e,o in ipairs(o.vstudio_configs)do\n_p('\\t\\t%s = "
	.ascii	"%s',o.name,o.name)end\n_p('\\tEndGlobalSection')end\nfunctio"
	.ascii	"n o.project_platforms_sln2prj_mapping(n,t,o,e)_p('\\t\\t{%s}"
	.ascii	".%s.ActiveCfg = %s|%s',t.uuid,o.name,o.buildcfg,e)if e==o.pl"
	.ascii	"atform or o.platform==\"Mixed Platforms\"then\n_p('\\t\\t{%s"
	.ascii	"}.%s.Build.0 = %s|%s',t.uuid,o.name,o.buildcfg,e)end\nend\nf"
	.ascii	"unction o.project_platforms(t)_p('\\tGlobalSection(ProjectCo"
	.ascii	"nfigurationPlatforms) = postSolution')for i in premake.solut"
	.ascii	"ion.eachproject(t)do\nfor e,n in ipairs(t.vstudio_configs)do"
	.ascii	"\nlocal e\nif premake.isdotnetproject(i)then\ne=\"Any CPU\"e"
	.ascii	"lse\nif n.platform==\"Any CPU\"or n.platform==\"Mixed Platfo"
	.ascii	"rms\"then\ne=t.vstudio_configs[3].platform\nelse\ne=n.platfo"
	.ascii	"rm\nend\nend\no.project_platforms_sln2prj_mapping(t,i,n,e)en"
	.ascii	"d\nend\n_p('\\tEndGlobalSection')end\nfunction o.properties("
	.ascii	"o)_p('\\tGlobalSection(SolutionProperties"
	.string	") = preSolution')_p('\\t\\tHideSolutionNode = FALSE')_p('\\tEndGlobalSection')end"
	.align 8
.LC41:
	.ascii	"premake.vstudio.cs2005={}local s=premake.vstudio\nlocal e=pr"
	.ascii	"emake.vstudio.cs2005\nlocal function o(t,r,e)if r==\"Compile"
	.ascii	"\"and e:endswith(\".cs\")then\nif e:endswith(\".Designer.cs\""
	.ascii	")then\nlocal n=e:sub(1,-13)local e=n..\".cs\"if premake.find"
	.ascii	"file(t,e)then\nreturn\"Dependency\",e\nend\ne=n..\".resx\"if"
	.ascii	" premake.findfile(t,e)then\nreturn\"AutoGen\",e\nend\nelseif"
	.ascii	" e:endswith(\".xaml.cs\")then\nlocal e=e:sub(1,-9)local e=e."
	.ascii	".\".xaml\"if premake.findfile(t,e)then\nreturn\"SubTypeCode\""
	.ascii	",e\nend\nelse\nlocal e=e:sub(1,-4)local e=e..\".Designer.cs\""
	.ascii	"if premake.findfile(t,e)then\nreturn\"SubTypeForm\"end\nend\n"
	.ascii	"end\nif r==\"EmbeddedResource\"and e:endswith(\".resx\")then"
	.ascii	"\nlocal n=e:sub(1,-6)local e=path.getname(n..\".cs\")if prem"
	.ascii	"ake.findfile(t,e)then\nif premake.findfile(t,n..\".Designer."
	.ascii	"cs\")then\nreturn\"DesignerType\",e\nelse\nreturn\"Dependenc"
	.ascii	"y\",e\nend\nelse\ne=path.getname(n..\".Designer.cs\")if prem"
	.ascii	"ake.findfile(t,e)then\nreturn\"AutoGenerated\"end\nend\nend\n"
	.ascii	"if e:endswith(\".xaml\")then\nreturn\"XamlDesigner\"end\nif "
	.ascii	"r==\"Content\"then\nreturn\"CopyNewest\"end\nreturn\"None\"e"
	.ascii	"nd\nfunction e.arch(e)return\"AnyCPU\"end\nfunction e.files("
	.ascii	"e)local t=premake.project.buildsourcetree(e)premake.tree.tra"
	.ascii	"verse(t,{onleaf=function(t)local n=premake.dotnet.getbuildac"
	.ascii	"tion(t.cfg)local r=path.translate(premake.esc(t.cfg.name),\""
	.ascii	"\\\\\")local e,o=o(e,n,t.path)if e==\"None\"then\n_p('    <%"
	.ascii	"s Include=\"%s\" />',n,r)else\n_p('    <%s Include=\"%s\">',"
	.ascii	"n,r)if e==\"AutoGen\"then\n_p('      <AutoGen>True</AutoGen>"
	.ascii	"')elseif e==\"AutoGenerated\"then\n_p('      <SubType>Design"
	.ascii	"er</SubType>')_p('      <Generator>ResXFileCodeGenerator</Ge"
	.ascii	"nerator>')_p('      <LastGenOutput>%s.Designer.cs</LastGenOu"
	.ascii	"tput>',premake.esc(path.getbasename(t.name)))elseif e==\"Sub"
	.ascii	"TypeDesigner\"then\n_p('      <SubType>Designer</SubType>')e"
	.ascii	"lseif e==\"SubTypeForm\"then\n_p('      <SubType>Form</SubTy"
	.ascii	"pe>')elseif e==\"SubTypeCode\"then\n_p('      <SubType>Code<"
	.ascii	"/SubType>')elseif e==\"XamlDesigner\"then\n_p('      <SubTyp"
	.ascii	"e>Designer</SubType>')_p('      <Generator>MSBuild:Compile</"
	.ascii	"Generator>')elseif e==\"PreserveNewest\"then\n_p('      <Cop"
	.ascii	"yToOutputDirector"
	.ascii	"y>PreserveNewest</CopyToOutputDirectory>')end\nif o then\n_p"
	.ascii	"('      <DependentUpon>%s</DependentUpon>',path.translate(pr"
	.ascii	"emake.esc(o),\"\\\\\"))end\n_p('    </%s>',n)end\nend},false"
	.ascii	")end\nfunction e.projectelement(e)local t=premake.action.cur"
	.ascii	"rent()local e=''if t.vstudio.toolsVersion then\ne=string.for"
	.ascii	"mat(' ToolsVersion=\"%s\"',t.vstudio.toolsVersion)end\nif _A"
	.ascii	"CTION>\"vs2008\"then\n_p('<?xml version=\"1.0\" encoding=\"u"
	.ascii	"tf-8\"?>')end\n_p('<Project%s DefaultTargets=\"Build\" xmlns"
	.ascii	"=\"http://schemas.microsoft.com/developer/msbuild/2003\">',e"
	.ascii	")end\nfunction e.projectsettings(t)_p('  <PropertyGroup>')_p"
	.ascii	"(\"    <Configuration Condition=\\\" '$(Configuration)' == '"
	.ascii	"' \\\">%s</Configuration>\",premake.esc(t.solution.configura"
	.ascii	"tions[1]))_p(\"    <Platform Condition=\\\" '$(Platform)' =="
	.ascii	" '' \\\">%s</Platform>\",e.arch(t))local e=premake.action.cu"
	.ascii	"rrent()if e.vstudio.productVersion then\n_p('    <ProductVer"
	.ascii	"sion>%s</ProductVersion>',e.vstudio.productVersion)end\nif _"
	.ascii	"ACTION<\"vs2012\"then\n_p('    <SchemaVersion>2.0</SchemaVer"
	.ascii	"sion>')end\n_p('    <ProjectGuid>{%s}</ProjectGuid>',t.uuid)"
	.ascii	"_p('    <OutputType>%s</OutputType>',premake.dotnet.getkind("
	.ascii	"t))_p('    <AppDesignerFolder>Properties</AppDesignerFolder>"
	.ascii	"')_p('    <RootNamespace>%s</RootNamespace>',t.buildtarget.b"
	.ascii	"asename)_p('    <AssemblyName>%s</AssemblyName>',t.buildtarg"
	.ascii	"et.basename)local e=t.framework or e.vstudio.targetFramework"
	.ascii	"\nif e then\n_p('    <TargetFrameworkVersion>v%s</TargetFram"
	.ascii	"eworkVersion>',e)end\nif _ACTION=='vs2010'then\n_p('    <Tar"
	.ascii	"getFrameworkProfile></TargetFrameworkProfile>')end\nif _ACTI"
	.ascii	"ON>=\"vs2010\"then\n_p('    <FileAlignment>512</FileAlignmen"
	.ascii	"t>')end\n_p('  </PropertyGroup>')end\nfunction e.propertygro"
	.ascii	"up(t)_p(\"  <PropertyGroup Condition=\\\" '$(Configuration)|"
	.ascii	"$(Platform)' == '%s|%s' \\\">\",premake.esc(t.name),e.arch(t"
	.ascii	"))if _ACTION>\"vs2008\"then\n_p('    <PlatformTarget>%s</Pla"
	.ascii	"tformTarget>',e.arch(t))end\nend\nfunction e.generate(n)io.e"
	.ascii	"ol=\"\\r\\n\"e.projectelement(n)if _ACTION>\"vs2010\"then\n_"
	.ascii	"p('  <Import Project=\"$(MSBuildExtensionsPath)\\\\$(MSBuild"
	.ascii	"ToolsVersion)\\\\Microsoft.Common.pro"
	.ascii	"ps\" Condition=\"Exists(\\'$(MSBuildExtensionsPath)\\\\$(MSB"
	.ascii	"uildToolsVersion)\\\\Microsoft.Common.props\\')\" />')end\ne"
	.ascii	".projectsettings(n)for t in premake.eachconfig(n)do\ne.prope"
	.ascii	"rtygroup(t)if t.flags.Symbols then\n_p('    <DebugSymbols>tr"
	.ascii	"ue</DebugSymbols>')_p('    <DebugType>full</DebugType>')else"
	.ascii	"\n_p('    <DebugType>pdbonly</DebugType>')end\n_p('    <Opti"
	.ascii	"mize>%s</Optimize>',iif(t.flags.Optimize or t.flags.Optimize"
	.ascii	"Size or t.flags.OptimizeSpeed,\"true\",\"false\"))_p('    <O"
	.ascii	"utputPath>%s</OutputPath>',t.buildtarget.directory)_p('    <"
	.ascii	"DefineConstants>%s</DefineConstants>',table.concat(premake.e"
	.ascii	"sc(t.defines),\";\"))_p('    <ErrorReport>prompt</ErrorRepor"
	.ascii	"t>')_p('    <WarningLevel>4</WarningLevel>')if t.flags.Unsaf"
	.ascii	"e then\n_p('    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>'"
	.ascii	")end\nif t.flags.FatalWarnings then\n_p('    <TreatWarningsA"
	.ascii	"sErrors>true</TreatWarningsAsErrors>')end\n_p('  </PropertyG"
	.ascii	"roup>')end\n_p('  <ItemGroup>')for t,e in ipairs(premake.get"
	.ascii	"links(n,\"siblings\",\"object\"))do\n_p('    <ProjectReferen"
	.ascii	"ce Include=\"%s\">',path.translate(path.getrelative(n.locati"
	.ascii	"on,s.projectfile(e)),\"\\\\\"))_p('      <Project>{%s}</Proj"
	.ascii	"ect>',e.uuid)_p('      <Name>%s</Name>',premake.esc(e.name))"
	.ascii	"_p('    </ProjectReference>')end\nfor t,e in ipairs(premake."
	.ascii	"getlinks(n,\"system\",\"name\"))do\n_p('    <Reference Inclu"
	.ascii	"de=\"%s\" />',premake.esc(e))end\n_p('  </ItemGroup>')_p('  "
	.ascii	"<ItemGroup>')e.files(n)_p('  </ItemGroup>')local e=iif(_ACTI"
	.ascii	"ON<\"vs2012\",\"Bin\",\"Tools\")_p('  <Import Project=\"$(MS"
	.ascii	"Build%sPath)\\\\Microsoft.CSharp.targets\" />',e)_p('  <!-- "
	.ascii	"To modify your build process, add your task inside o"
	.string	"ne of the targets below and uncomment it.')_p('       Other similar extension points exist, see Microsoft.Common.targets.')_p('  <Target Name=\"BeforeBuild\">')_p('  </Target>')_p('  <Target Name=\"AfterBuild\">')_p('  </Target>')_p('  -->')_p('</Project>')end"
	.align 8
.LC42:
	.ascii	"local e=premake.vstudio.cs2005\nfunction e.generate_user(e)i"
	.ascii	"o.eol=\"\\r\\n\"_p('<Project xmlns=\"http://schemas.microsof"
	.ascii	"t.com/developer/ms"
	.string	"build/2003\">')_p('  <PropertyGroup>')local e=table.translate(e.libdirs,function(t)return path.getabsolute(e.location..\"/\"..t)end)_p('    <ReferencePath>%s</ReferencePath>',path.translate(table.concat(e,\";\"),\"\\\\\"))_p('  </PropertyGroup>')_p('</Project>')end"
	.align 8
.LC43:
	.ascii	"premake.vstudio.vc2010={}local e=premake.vstudio.vc2010\nloc"
	.ascii	"al p=premake.vstudio\nlocal function l(e)_p(1,'<ItemGroup La"
	.ascii	"bel=\"ProjectConfigurations\">')for n,e in ipairs(e.solution"
	.ascii	".vstudio_configs)do\n_p(2,'<ProjectConfiguration Include=\"%"
	.ascii	"s\">',premake.esc(e.name))_p(3,'<Configuration>%s</Configura"
	.ascii	"tion>',e.buildcfg)_p(3,'<Platform>%s</Platform>',e.platform)"
	.ascii	"_p(2,'</ProjectConfiguration>')end\n_p(1,'</ItemGroup>')end\n"
	.ascii	"local function s(e)_p(1,'<PropertyGroup Label=\"Globals\">')"
	.ascii	"_p(2,'<ProjectGuid>{%s}</ProjectGuid>',e.uuid)_p(2,'<RootNam"
	.ascii	"espace>%s</RootNamespace>',e.name)if e.flags and e.flags.Man"
	.ascii	"aged then\n_p(2,'<TargetFrameworkVersion>v4.0</TargetFramewo"
	.ascii	"rkVersion>')_p(2,'<Keyword>ManagedCProj</Keyword>')else\n_p("
	.ascii	"2,'<Keyword>Win32Proj</Keyword>')end\n_p(1,'</PropertyGroup>"
	.ascii	"')end\nfunction e.config_type(e)local n={SharedLib=\"Dynamic"
	.ascii	"Library\",StaticLib=\"StaticLibrary\",ConsoleApp=\"Applicati"
	.ascii	"on\",WindowedApp=\"Application\"}return n[e.kind]end\nlocal "
	.ascii	"function i()return\"Condition=\\\"'$(Configuration)|$(Platfo"
	.ascii	"rm)'=='%s'\\\"\"end\nlocal function o(n)local e=\"Disabled\""
	.ascii	"for i,n in ipairs(n.flags)do\nif(n==\"Optimize\")then\ne=\"F"
	.ascii	"ull\"elseif(n==\"OptimizeSize\")then\ne=\"MinSpace\"elseif(n"
	.ascii	"==\"OptimizeSpeed\")then\ne=\"MaxSpeed\"end\nend\nreturn e\n"
	.ascii	"end\nfunction e.configurationPropertyGroup(n,t)_p(1,'<Proper"
	.ascii	"tyGroup '..i()..' Label=\"Configuration\">',premake.esc(t.na"
	.ascii	"me))_p(2,'<ConfigurationType>%s</ConfigurationType>',e.confi"
	.ascii	"g_type(n))_p(2,'<UseDebugLibraries>%s</UseDebugLibraries>',i"
	.ascii	"if(o(n)==\"Disabled\",\"true\",\"false\"))_p(2,'<CharacterSe"
	.ascii	"t>%s</CharacterSet>',iif(n.flags.Unicode,\"Unicode\",\"Multi"
	.ascii	"Byte\"))local e={vs2012=\"v110\",vs2013=\"v120\",vs2015=\"v1"
	.ascii	"40\",vs2017=\"v141\",vs2019=\"v142\"}local e=e[_ACTION]if e "
	.ascii	"then\n_p(2,'<PlatformToolset>%s</PlatformToolset>',e)end\nif"
	.ascii	" n.flags.MFC then\n_p(2,'<UseOfMfc>%s</UseOfMfc>',iif(n.flag"
	.ascii	"s.StaticRuntime,\"Static\",\"Dynamic\"))end\nif n.flags.ATL "
	.ascii	"or n.flags.StaticATL then\n_p(2,'<UseOfAtl>%s</UseOfAtl>',ii"
	.ascii	"f(n.flags.StaticATL,\"Static\",\"Dynamic\"))end\nif n.flags."
	.ascii	"Managed then\n_p(2,'<CLRSupport>true</CLRSupport>"
	.ascii	"')end\n_p(1,'</PropertyGroup>')end\nlocal function r(n)for t"
	.ascii	",e in ipairs(n.solution.vstudio_configs)do\nlocal n=premake."
	.ascii	"getconfig(n,e.src_buildcfg,e.src_platform)_p(1,'<ImportGroup"
	.ascii	" '..i()..' Label=\"PropertySheets\">',premake.esc(e.name))_p"
	.ascii	"(2,'<Import Project=\"$(UserRootDir)\\\\Microsoft.Cpp.$(Plat"
	.ascii	"form).user.props\" Condition=\"exists(\\'$(UserRootDir)\\\\M"
	.ascii	"icrosoft.Cpp.$(Platform).user.props\\')\" Label=\"LocalAppDa"
	.ascii	"taPlatform\" />')_p(1,'</ImportGroup>')end\nend\nfunction e."
	.ascii	"outputProperties(e)for n,t in ipairs(e.solution.vstudio_conf"
	.ascii	"igs)do\nlocal e=premake.getconfig(e,t.src_buildcfg,t.src_pla"
	.ascii	"tform)local n=e.buildtarget\n_p(1,'<PropertyGroup '..i()..'>"
	.ascii	"',premake.esc(t.name))_p(2,'<OutDir>%s\\\\</OutDir>',premake"
	.ascii	".esc(n.directory))if e.platform==\"Xbox360\"then\n_p(2,'<Out"
	.ascii	"putFile>$(OutDir)%s</OutputFile>',premake.esc(n.name))end\n_"
	.ascii	"p(2,'<IntDir>%s\\\\</IntDir>',premake.esc(e.objectsdir))_p(2"
	.ascii	",'<TargetName>%s</TargetName>',premake.esc(path.getbasename("
	.ascii	"n.name)))_p(2,'<TargetExt>%s</TargetExt>',premake.esc(path.g"
	.ascii	"etextension(n.name)))if e.kind==\"SharedLib\"then\nlocal e=("
	.ascii	"e.flags.NoImportLib~=nil)_p(2,'<IgnoreImportLibrary>%s</Igno"
	.ascii	"reImportLibrary>',tostring(e))end\nif e.kind~=\"StaticLib\"t"
	.ascii	"hen\n_p(2,'<LinkIncremental>%s</LinkIncremental>',tostring(p"
	.ascii	"remake.config.isincrementallink(e)))end\nif e.flags.NoManife"
	.ascii	"st then\n_p(2,'<GenerateManifest>false</GenerateManifest>')e"
	.ascii	"nd\n_p(1,'</PropertyGroup>')end\nend\nlocal function d(i)loc"
	.ascii	"al n\nlocal e=i.flags\nif premake.config.isdebugbuild(i)then"
	.ascii	"\nn=iif(e.StaticRuntime and not e.Managed,\"MultiThreadedDeb"
	.ascii	"ug\",\"MultiThreadedDebugDLL\")else\nn=iif(e.StaticRuntime a"
	.ascii	"nd not e.Managed,\"MultiThreaded\",\"MultiThreadedDLL\")end\n"
	.ascii	"return n\nend\nlocal function f(e)if not e.flags.NoPCH and e"
	.ascii	".pchheader then\n_p(3,'<PrecompiledHeader>Use</PrecompiledHe"
	.ascii	"ader>')_p(3,'<PrecompiledHeaderFile>%s</PrecompiledHeaderFil"
	.ascii	"e>',e.pchheader)else\n_p(3,'<PrecompiledHeader></Precompiled"
	.ascii	"Header>')end\nend\nlocal function t(n,e)if#e.defines>0 then\n"
	.ascii	"_p(n,'<PreprocessorDefinitions>%s;%%(PreprocessorDefinitions"
	.ascii	")</PreprocessorDefi"
	.ascii	"nitions>',premake.esc(table.concat(e.defines,\";\")))else\n_"
	.ascii	"p(n,'<PreprocessorDefinitions></PreprocessorDefinitions>')en"
	.ascii	"d\nend\nlocal function P(n,e)if#e.includedirs>0 then\n_p(n,'"
	.ascii	"<AdditionalIncludeDirectories>%s;%%(AdditionalIncludeDirecto"
	.ascii	"ries)</AdditionalIncludeDirectories>',premake.esc(path.trans"
	.ascii	"late(table.concat(e.includedirs,\";\"),'\\\\')))end\nend\nlo"
	.ascii	"cal function n(n,e)if#e.includedirs>0 or#e.resincludedirs>0 "
	.ascii	"then\nlocal e=table.join(e.includedirs,e.resincludedirs)_p(n"
	.ascii	",'<AdditionalIncludeDirectories>%s;%%(AdditionalIncludeDirec"
	.ascii	"tories)</AdditionalIncludeDirectories>',premake.esc(path.tra"
	.ascii	"nslate(table.concat(e,\";\"),'\\\\')))end\nend\nlocal functi"
	.ascii	"on h(e)_p(2,'<ResourceCompile>')t(3,e)n(3,e)_p(2,'</Resource"
	.ascii	"Compile>')end\nlocal function u(e)if e.flags.NoExceptions th"
	.ascii	"en\n_p(2,'<ExceptionHandling>false</ExceptionHandling>')else"
	.ascii	"if e.flags.SEH then\n_p(2,'<ExceptionHandling>Async</Excepti"
	.ascii	"onHandling>')end\nend\nlocal function c(e)if e.flags.NoRTTI "
	.ascii	"and not e.flags.Managed then\n_p(3,'<RuntimeTypeInfo>false</"
	.ascii	"RuntimeTypeInfo>')end\nend\nlocal function m(e)if e.flags.Na"
	.ascii	"tiveWChar then\n_p(3,'<TreatWChar_tAsBuiltInType>true</Treat"
	.ascii	"WChar_tAsBuiltInType>')elseif e.flags.NoNativeWChar then\n_p"
	.ascii	"(3,'<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInT"
	.ascii	"ype>')end\nend\nlocal function g(e)if e.flags.EnableSSE then"
	.ascii	"\n_p(3,'<EnableEnhancedInstructionSet>StreamingSIMDExtension"
	.ascii	"s</EnableEnhancedInstructionSet>')elseif e.flags.EnableSSE2 "
	.ascii	"then\n_p(3,'<EnableEnhancedInstructionSet>StreamingSIMDExten"
	.ascii	"sions2</EnableEnhancedInstructionSet>')end\nend\nlocal funct"
	.ascii	"ion b(e)if e.flags.FloatFast then\n_p(3,'<FloatingPointModel"
	.ascii	">Fast</FloatingPointModel>')elseif e.flags.FloatStrict and n"
	.ascii	"ot e.flags.Managed then\n_p(3,'<FloatingPointModel>Strict</F"
	.ascii	"loatingPointModel>')end\nend\nlocal function a(e)local n=''i"
	.ascii	"f e.flags.Symbols then\nif e.platform==\"x64\"or e.flags.Man"
	.ascii	"aged\nor premake.config.isoptimizedbuild(e.flags)or e.flags."
	.ascii	"NoEditAndContinue\nthen\nn=\"ProgramDatabase\"else\nn=\"Edit"
	.ascii	"AndContinue\"end\nend\n_p(3,'<DebugInformationFormat>%s</Deb"
	.ascii	"ugInformatio"
	.ascii	"nFormat>',n)end\nlocal function n(e)if premake.config.isdebu"
	.ascii	"gbuild(e)and not e.flags.NoMinimalRebuild then\n_p(3,'<Minim"
	.ascii	"alRebuild>true</MinimalRebuild>')else\n_p(3,'<MinimalRebuild"
	.ascii	">false</MinimalRebuild>')end\nend\nlocal function _(e)if e.l"
	.ascii	"anguage==\"C\"then\n_p(3,'<CompileAs>CompileAsC</CompileAs>'"
	.ascii	")end\nend\nlocal function C(e)_p(2,'<ClCompile>')if#e.buildo"
	.ascii	"ptions>0 then\n_p(3,'<AdditionalOptions>%s %%(AdditionalOpti"
	.ascii	"ons)</AdditionalOptions>',table.concat(premake.esc(e.buildop"
	.ascii	"tions),\" \"))end\n_p(3,'<Optimization>%s</Optimization>',o("
	.ascii	"e))P(3,e)t(3,e)n(e)if not premake.config.isoptimizedbuild(e."
	.ascii	"flags)then\nif not e.flags.Managed then\n_p(3,'<BasicRuntime"
	.ascii	"Checks>EnableFastChecks</BasicRuntimeChecks>')end\nif e.flag"
	.ascii	"s.ExtraWarnings then\n_p(3,'<SmallerTypeCheck>true</SmallerT"
	.ascii	"ypeCheck>')end\nelse\n_p(3,'<StringPooling>true</StringPooli"
	.ascii	"ng>')end\n_p(3,'<RuntimeLibrary>%s</RuntimeLibrary>',d(e))_p"
	.ascii	"(3,'<FunctionLevelLinking>true</FunctionLevelLinking>')f(e)i"
	.ascii	"f e.flags.ExtraWarnings then\n_p(3,'<WarningLevel>Level4</Wa"
	.ascii	"rningLevel>')else\n_p(3,'<WarningLevel>Level3</WarningLevel>"
	.ascii	"')end\nif e.flags.FatalWarnings then\n_p(3,'<TreatWarningAsE"
	.ascii	"rror>true</TreatWarningAsError>')end\nu(e)c(e)m(e)g(e)b(e)a("
	.ascii	"e)if e.flags.Symbols then\n_p(3,'<ProgramDataBaseFileName>$("
	.ascii	"OutDir)%s.pdb</ProgramDataBaseFileName>',path.getbasename(e."
	.ascii	"buildtarget.name))end\nif e.flags.NoFramePointer then\n_p(3,"
	.ascii	"'<OmitFramePointers>true</OmitFramePointers>')end\n_(e)_p(2,"
	.ascii	"'</ClCompile>')end\nlocal function c(e)if#e.postbuildcommand"
	.ascii	"s>0 then\n_p(2,'<PostBuildEvent>')_p(3,'<Command>%s</Command"
	.ascii	">',premake.esc(table.implode(e.postbuildcommands,\"\",\"\",\""
	.ascii	"\\r\\n\")))_p(2,'</PostBuildEvent>')end\nif#e.prebuildcomman"
	.ascii	"ds>0 then\n_p(2,'<PreBuildEvent>')_p(3,'<Command>%s</Command"
	.ascii	">',premake.esc(table.implode(e.prebuildcommands,\"\",\"\",\""
	.ascii	"\\r\\n\")))_p(2,'</PreBuildEvent>')end\nif#e.prelinkcommands"
	.ascii	">0 then\n_p(2,'<PreLinkEvent>')_p(3,'<Command>%s</Command>',"
	.ascii	"premake.esc(table.implode(e.prelinkcommands,\"\",\"\",\"\\r\\"
	.ascii	"n\")))_p(2,'</PreLinkEvent>')end\nend\nlocal function o(n,e)"
	.ascii	"if#e.linkoptions>0 t"
	.ascii	"hen\n_p(n,'<AdditionalOptions>%s %%(AdditionalOptions)</Addi"
	.ascii	"tionalOptions>',table.concat(premake.esc(e.linkoptions),\" \""
	.ascii	"))end\nend\nlocal function t(i,e)local n={x32='MachineX86',x"
	.ascii	"64='MachineX64'}if n[e.platform]then\n_p(i,'<TargetMachine>%"
	.ascii	"s</TargetMachine>',n[e.platform])end\nend\nlocal function a("
	.ascii	"e)if e.kind=='StaticLib'and e.platform~=\"Xbox360\"then\n_p("
	.ascii	"1,'<Lib>')_p(2,'<OutputFile>$(OutDir)%s</OutputFile>',e.buil"
	.ascii	"dtarget.name)o(2,e)t(2,e)_p(1,'</Lib>')end\nend\nlocal funct"
	.ascii	"ion d(e)if e.kind==\"SharedLib\"then\nlocal n=e.linktarget.f"
	.ascii	"ullpath\n_p(3,'<ImportLibrary>%s</ImportLibrary>',iif(e.flag"
	.ascii	"s.NoImportLib,e.objectsdir..\"\\\\\"..path.getname(n),n))end"
	.ascii	"\nend\nfunction e.link(n)_p(2,'<Link>')_p(3,'<SubSystem>%s</"
	.ascii	"SubSystem>',iif(n.kind==\"ConsoleApp\",\"Console\",\"Windows"
	.ascii	"\"))_p(3,'<GenerateDebugInformation>%s</GenerateDebugInforma"
	.ascii	"tion>',tostring(n.flags.Symbols~=nil))if premake.config.isop"
	.ascii	"timizedbuild(n.flags)then\n_p(3,'<EnableCOMDATFolding>true</"
	.ascii	"EnableCOMDATFolding>')_p(3,'<OptimizeReferences>true</Optimi"
	.ascii	"zeReferences>')end\nif n.kind~='StaticLib'then\ne.additional"
	.ascii	"Dependencies(n)_p(3,'<OutputFile>$(OutDir)%s</OutputFile>',n"
	.ascii	".buildtarget.name)if#n.libdirs>0 then\n_p(3,'<AdditionalLibr"
	.ascii	"aryDirectories>%s;%%(AdditionalLibraryDirectories)</Addition"
	.ascii	"alLibraryDirectories>',premake.esc(path.translate(table.conc"
	.ascii	"at(n.libdirs,';'),'\\\\')))end\nif e.config_type(n)=='Applic"
	.ascii	"ation'and not n.flags.WinMain and not n.flags.Managed then\n"
	.ascii	"_p(3,'<EntryPointSymbol>%s</EntryPointSymbol>',iif(n.flags.U"
	.ascii	"nicode,\"wmainCRTStartup\",\"mainCRTStartup\"))end\nd(n)loca"
	.ascii	"l e=premake.findfile(n,\".def\")if e then\n_p(3,'<ModuleDefi"
	.ascii	"nitionFile>%s</ModuleDefinitionFile>',e)end\nt(3,n)o(3,n)end"
	.ascii	"\n_p(2,'</Link>')end\nfunction e.additionalDependencies(e)lo"
	.ascii	"cal e=premake.getlinks(e,\"system\",\"fullpath\")if#e>0 then"
	.ascii	"\n_p(3,'<AdditionalDependencies>%s;%%(AdditionalDependencies"
	.ascii	")</AdditionalDependencies>',table.concat(e,\";\"))end\nend\n"
	.ascii	"local function d(n)for o,t in ipairs(n.solution.vstudio_conf"
	.ascii	"igs)do\nlocal n=premake.getconfig(n,t.src_buildcfg,t.src_pla"
	.ascii	"tform)_p(1,'<Item"
	.ascii	"DefinitionGroup '..i()..'>',premake.esc(t.name))C(n)h(n)a(n)"
	.ascii	"e.link(n)c(n)_p(1,'</ItemDefinitionGroup>')end\nend\nfunctio"
	.ascii	"n e.getfilegroup(i,t)local e=i.vc2010sortedfiles\nif not e t"
	.ascii	"hen\ne={ClCompile={},ClInclude={},None={},ResourceCompile={}"
	.ascii	",}for n in premake.project.eachfile(i)do\nif path.iscppfile("
	.ascii	"n.name)then\ntable.insert(e.ClCompile,n)elseif path.iscpphea"
	.ascii	"der(n.name)then\ntable.insert(e.ClInclude,n)elseif path.isre"
	.ascii	"sourcefile(n.name)then\ntable.insert(e.ResourceCompile,n)els"
	.ascii	"e\ntable.insert(e.None,n)end\nend\ni.vc2010sortedfiles=e\nen"
	.ascii	"d\nreturn e[t]end\nfunction e.files(n)e.simplefilesgroup(n,\""
	.ascii	"ClInclude\")e.compilerfilesgroup(n)e.simplefilesgroup(n,\"No"
	.ascii	"ne\")e.simplefilesgroup(n,\"ResourceCompile\")end\nfunction "
	.ascii	"e.simplefilesgroup(i,n)local e=e.getfilegroup(i,n)if#e>0 the"
	.ascii	"n\n_p(1,'<ItemGroup>')for i,e in ipairs(e)do\n_p(2,'<%s Incl"
	.ascii	"ude=\"%s\" />',n,path.translate(e.name,\"\\\\\"))end\n_p(1,'"
	.ascii	"</ItemGroup>')end\nend\nfunction e.individualSourceFile(a,t,"
	.ascii	"n)local e=a.solution.vstudio_configs\nlocal o=path.translate"
	.ascii	"(n.name,\"\\\\\")_p(2,'<ClCompile Include=\"%s\">',o)for n,e"
	.ascii	" in ipairs(e)do\nif t[e]and o==t[e]then\n_p(3,'<PrecompiledH"
	.ascii	"eader '..i()..'>Create</PrecompiledHeader>',premake.esc(e.na"
	.ascii	"me))t[e]=nil\nend\nend\nif path.iscfile(n.name)~=premake.pro"
	.ascii	"ject.iscproject(a)then\n_p(3,'<CompileAs>%s</CompileAs>',iif"
	.ascii	"(path.iscfile(n.name),'CompileAsC','CompileAsCpp'))end\n_p(2"
	.ascii	",'</ClCompile>')end\nfunction e.compilerfilesgroup(n)local i"
	.ascii	"=n.solution.vstudio_configs\nlocal o=e.getfilegroup(n,\"ClCo"
	.ascii	"mpile\")if#o>0 then\nlocal t={}for e,i in ipairs(i)do\nlocal"
	.ascii	" e=premake.getconfig(n,i.src_buildcfg,i.src_platform)if e.pc"
	.ascii	"hheader and e.pchsource and not e.flags.NoPCH then\nt[i]=pat"
	.ascii	"h.translate(e.pchsource,\"\\\\\")end\nend\n_p(1,'<ItemGroup>"
	.ascii	"')for o,i in ipairs(o)do\ne.individualSourceFile(n,t,i)end\n"
	.ascii	"_p(1,'</ItemGroup>')end\nend\nfunction e.header(n)io.eol=\"\\"
	.ascii	"r\\n\"_p('<?xml version=\"1.0\" encoding=\"utf-8\"?>')local "
	.ascii	"e=\"\"if n then\ne=' DefaultTargets=\"'..n..'\"'end\n_p('<Pr"
	.ascii	"oject%s ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsof"
	.ascii	"t.com/developer/msbuild/2003\">',e)end\n"
	.ascii	"function premake.vs2010_vcxproj(n)io.indent=\"  \"e.header(\""
	.ascii	"Build\")l(n)s(n)_p(1,'<Import Project=\"$(VCTargetsPath)\\\\"
	.ascii	"Microsoft.Cpp.Default.props\" />')for t,i in ipairs(n.soluti"
	.ascii	"on.vstudio_configs)do\nlocal n=premake.getconfig(n,i.src_bui"
	.ascii	"ldcfg,i.src_platform)e.configurationPropertyGroup(n,i)end\n_"
	.ascii	"p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.pro"
	.ascii	"ps\" />')_p(1,'<ImportGroup Label=\"ExtensionSettings\">')_p"
	.ascii	"(1,'</ImportGroup>')r(n)_p(1,'<PropertyGroup Label=\"UserMac"
	.ascii	"ros\" />')e.outputProperties(n)d(n)e.files(n)e.projectRefere"
	.ascii	"nces(n)_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft"
	.ascii	".Cpp.targets\" />')_p(1,'<ImportGroup Label=\"ExtensionTarge"
	.ascii	"ts\">')_p(1,'</ImportGroup>')_p('</Project>')end\nfunction e"
	.ascii	".projectReferences(n)local e=premake.getdependencies(n)if#e>"
	.ascii	"0 then\n_p(1,'<ItemGroup>')for i,e in ipairs(e)do\nlocal n=p"
	.ascii	"ath.getrelative(n.location,p.projectfile(e))_p(2,'<ProjectRe"
	.ascii	"ference Include=\"%s\">',path.translate(n,\"\\\\\"))_p(3,'<P"
	.ascii	"roject>{%s}</Project>',e.uuid)_p(2,'</ProjectReference>')end"
	.ascii	"\n_p(1,'</ItemGroup>')end\nend\nfunction e.debugdir(e)if e.d"
	.ascii	"ebugdir then\n_p('    <LocalDebuggerWorkingDirectory>%s</Loc"
	.ascii	"alDebuggerWorkingDirectory>',path.translate(e.debugdir,'\\\\"
	.ascii	"'))_p('    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFla"
	.ascii	"vor>')end\nif e.debugargs then\n_p('    <LocalDebuggerComman"
	.ascii	"dArguments>%s</LocalDebuggerCommandArguments>',table.concat("
	.ascii	"e.debugargs,\" \"))end\nend\nfunction e.debugenvs(e)if e.deb"
	.ascii	"ugenvs and#e.debugenvs>0 then\n_p(2,'<LocalDebuggerEnvironme"
	.ascii	"nt>%s%s</LocalDebuggerEnvironment>',table.concat(e.debugenvs"
	.ascii	",\"\\n\"),iif(e.flags.DebugEnvsInherit,'\\n$(LocalDebuggerEn"
	.ascii	"vironment)',''))if e.flags.DebugEnvsDontMerge then\n_p(2,'<L"
	.ascii	"ocalDebuggerMergeEnvironment>false</LocalDebuggerMergeEnviro"
	.ascii	"nment>')end\nend\nend\nfunction premake.vs2010_vcxproj_user("
	.ascii	"t)io.indent=\"  \"e.header()for o,n in ipairs(t.solution.vst"
	.ascii	"udio_configs)do\nlocal t=premake.getconfig(t,n.src_buildcfg,"
	.ascii	"n.src_platform)_p('  <PropertyGroup '..i()..'>',premake.esc("
	.ascii	"n.name))e.debugdir(t)e.debugenvs(t)_p('  </PropertyGroup>')e"
	.ascii	"nd\n_p('</Project"
	.string	">')end"
	.align 8
.LC44:
	.ascii	"local e=premake.vstudio.vc2010\nlocal i=premake.project\nfun"
	.ascii	"ction e.filteridgroup(e)local l={}local t=false\nfor e in i."
	.ascii	"eachfile(e)do\nlocal i=string.explode(e.vpath,\"/\",true)loc"
	.ascii	"al e=\"\"for n=1,#i-1 do\nif not t then\nt=true\n_p(1,'<Item"
	.ascii	"Group>')end\ne=e..i[n]if not l[e]then\nl[e]=true\n_p(2,'<Fil"
	.ascii	"ter Include=\"%s\">',e)_p(3,'<UniqueIdentifier>{%s}</UniqueI"
	.ascii	"dentifier>',os.uuid())_p(2,'</Filter>')end\ne=e..\"\\\\\"end"
	.ascii	"\nend\nif t then\n_p(1,'</ItemGroup>')end\nend\nfunction e.f"
	.ascii	"ilefiltergroup(l,t)local e=e.getfilegroup(l,t)if#e>0 then\n_"
	.ascii	"p(1,'<ItemGroup>')for l,e in ipairs(e)do\nlocal l\nif e.name"
	.ascii	"~=e.vpath then\nl=path.getdirectory(e.vpath)else\nl=path.get"
	.ascii	"directory(e.name)end\nif l~=\".\"then\n_p(2,'<%s Include=\"%"
	.ascii	"s\">',t,path.translate(e.name,\"\\\\\"))_p(3,'<Filter>%s</Fi"
	.ascii	"lter>',path.translate(l,\"\\\\\"))_p(2,'</%s>',t)else\n_p(2,"
	.ascii	"'<%s Include=\"%s\" />',t,path.translate(e.name,\"\\\\\"))"
	.string	"end\nend\n_p(1,'</ItemGroup>')end\nend\nfunction e.generate_filters(t)io.indent=\"  \"e.header()e.filteridgroup(t)e.filefiltergroup(t,\"None\")e.filefiltergroup(t,\"ClInclude\")e.filefiltergroup(t,\"ClCompile\")e.filefiltergroup(t,\"ResourceCompile\")_p('</Project>')end"
	.align 8
.LC45:
	.ascii	"premake.vstudio.vc2012={}local e=premake.vstudio.vc2012\nloc"
	.ascii	"al r=premake.vstudio\nnewaction{trigger=\"vs2012\",shortname"
	.ascii	"=\"Visual Studio 2012\",description=\"Generate Microsoft Vis"
	.ascii	"ual Studio 2012 project files\",os=\"windows\",valid_kinds={"
	.ascii	"\"ConsoleApp\",\"WindowedApp\",\"StaticLib\",\"SharedLib\"},"
	.ascii	"valid_languages={\"C\",\"C++\",\"C#\"},valid_tools={cc={\"ms"
	.ascii	"c\"},dotnet={\"msnet\"},},onsolution=function(e)premake.gene"
	.ascii	"rate(e,\"%%.sln\",r.sln2005.generate)end,onproject=function("
	.ascii	"e)if premake.isdotnetproject(e)then\npremake.generate(e,\"%%"
	.ascii	".csproj\",r.cs2005.generate)premake.generate(e,\"%%.csproj.u"
	.ascii	"ser\",r.cs2005.generate_user)else\npremake.generate(e,\"%%.v"
	.ascii	"cxproj\",premake.vs2010_vcxproj)premake.generate(e,\"%%.vcxp"
	.ascii	"roj.user\",premake.vs2010_vcxproj_user)premake.generate(e,\""
	.ascii	"%%."
	.string	"vcxproj.filters\",r.vc2010.generate_filters)end\nend,oncleansolution=premake.vstudio.cleansolution,oncleanproject=premake.vstudio.cleanproject,oncleantarget=premake.vstudio.cleantarget,vstudio={solutionVersion=\"12\",targetFramework=\"4.5\",toolsVersion=\"4.0\",}}"
	.align 8
.LC46:
	.ascii	"premake.vstudio.vc2013={}local e=premake.vstudio.vc2013\nloc"
	.ascii	"al r=premake.vstudio\nnewaction{trigger=\"vs2013\",shortname"
	.ascii	"=\"Visual Studio 2013\",description=\"Generate Microsoft Vis"
	.ascii	"ual Studio 2013 project files\",os=\"windows\",valid_kinds={"
	.ascii	"\"ConsoleApp\",\"WindowedApp\",\"StaticLib\",\"SharedLib\"},"
	.ascii	"valid_languages={\"C\",\"C++\",\"C#\"},valid_tools={cc={\"ms"
	.ascii	"c\"},dotnet={\"msnet\"},},onsolution=function(e)premake.gene"
	.ascii	"rate(e,\"%%.sln\",r.sln2005.generate)end,onproject=function("
	.ascii	"e)if premake.isdotnetproject(e)then\npremake.generate(e,\"%%"
	.ascii	".csproj\",r.cs2005.generate)premake.generate(e,\"%%.csproj.u"
	.ascii	"ser\",r.cs2005.generate_user)else\npremake.generate(e,\"%%.v"
	.ascii	"cxproj\",premake.vs2010_vcxproj)premake.generate(e,\"%%.vcxp"
	.ascii	"roj.user\",premake.vs2010_vcxproj_user)premake.generate(e,\""
	.ascii	"%%.v"
	.string	"cxproj.filters\",r.vc2010.generate_filters)end\nend,oncleansolution=premake.vstudio.cleansolution,oncleanproject=premake.vstudio.cleanproject,oncleantarget=premake.vstudio.cleantarget,vstudio={solutionVersion=\"12\",targetFramework=\"4.5\",toolsVersion=\"12.0\",}}"
	.align 8
.LC47:
	.ascii	"premake.vstudio.vc2015={}local e=premake.vstudio.vc2015\nloc"
	.ascii	"al r=premake.vstudio\nnewaction{trigger=\"vs2015\",shortname"
	.ascii	"=\"Visual Studio 2015\",description=\"Generate Microsoft Vis"
	.ascii	"ual Studio 2015 project files\",os=\"windows\",valid_kinds={"
	.ascii	"\"ConsoleApp\",\"WindowedApp\",\"StaticLib\",\"SharedLib\"},"
	.ascii	"valid_languages={\"C\",\"C++\",\"C#\"},valid_tools={cc={\"ms"
	.ascii	"c\"},dotnet={\"msnet\"},},onsolution=function(e)premake.gene"
	.ascii	"rate(e,\"%%.sln\",r.sln2005.generate)end,onproject=function("
	.ascii	"e)if premake.isdotnetproject(e)then\npremake.generate(e,\"%%"
	.ascii	".csproj\",r.cs2005.generate)premake.generate(e,\"%%.csproj.u"
	.ascii	"ser\",r.cs2005.generate_user)else\npremake.generate(e,\"%%.v"
	.ascii	"cxproj\",premake.vs2010_vcxproj)premake.generate(e,\"%%.vcxp"
	.ascii	"roj.user\",premake.vs2010_vcxproj_user)premake.generate(e,\""
	.ascii	"%%.vcxproj.filters\",r.vc201"
	.string	"0.generate_filters)end\nend,oncleansolution=premake.vstudio.cleansolution,oncleanproject=premake.vstudio.cleanproject,oncleantarget=premake.vstudio.cleantarget,vstudio={solutionVersion=\"12\",targetFramework=\"4.5.2\",toolsVersion=\"14.0\",shortSlnVersion=\"14\",}}"
	.align 8
.LC48:
	.ascii	"premake.vstudio.vc2017={}local e=premake.vstudio.vc2017\nloc"
	.ascii	"al r=premake.vstudio\nnewaction{trigger=\"vs2017\",shortname"
	.ascii	"=\"Visual Studio 2017\",description=\"Generate Microsoft Vis"
	.ascii	"ual Studio 2017 project files\",os=\"windows\",valid_kinds={"
	.ascii	"\"ConsoleApp\",\"WindowedApp\",\"StaticLib\",\"SharedLib\"},"
	.ascii	"valid_languages={\"C\",\"C++\",\"C#\"},valid_tools={cc={\"ms"
	.ascii	"c\"},dotnet={\"msnet\"},},onsolution=function(e)premake.gene"
	.ascii	"rate(e,\"%%.sln\",r.sln2005.generate)end,onproject=function("
	.ascii	"e)if premake.isdotnetproject(e)then\npremake.generate(e,\"%%"
	.ascii	".csproj\",r.cs2005.generate)premake.generate(e,\"%%.csproj.u"
	.ascii	"ser\",r.cs2005.generate_user)else\npremake.generate(e,\"%%.v"
	.ascii	"cxproj\",premake.vs2010_vcxproj)premake.generate(e,\"%%.vcxp"
	.ascii	"roj.user\",premake.vs2010_vcxproj_user)premake.generate(e,\""
	.ascii	"%%.vcxproj.filters\",r.vc201"
	.string	"0.generate_filters)end\nend,oncleansolution=premake.vstudio.cleansolution,oncleanproject=premake.vstudio.cleanproject,oncleantarget=premake.vstudio.cleantarget,vstudio={solutionVersion=\"12\",targetFramework=\"4.5.2\",toolsVersion=\"15.0\",shortSlnVersion=\"15\",}}"
	.align 8
.LC49:
	.ascii	"premake.vstudio.vc2019={}local e=premake.vstudio.vc2019\nloc"
	.ascii	"al r=premake.vstudio\nnewaction{trigger=\"vs2019\",shortname"
	.ascii	"=\"Visual Studio 2019\",description=\"Generate Microsoft Vis"
	.ascii	"ual Studio 2019 project files\",os=\"windows\",valid_kinds={"
	.ascii	"\"ConsoleApp\",\"WindowedApp\",\"StaticLib\",\"SharedLib\"},"
	.ascii	"valid_languages={\"C\",\"C++\",\"C#\"},valid_tools={cc={\"ms"
	.ascii	"c\"},dotnet={\"msnet\"},},onsolution=function(e)premake.gene"
	.ascii	"rate(e,\"%%.sln\",r.sln2005.generate)end,onproject=function("
	.ascii	"e)if premake.isdotnetproject(e)then\npremake.generate(e,\"%%"
	.ascii	".csproj\",r.cs2005.generate)premake.generate(e,\"%%.csproj.u"
	.ascii	"ser\",r.cs2005.generate_user)else\npremake.generate(e,\"%%.v"
	.ascii	"cxproj\",premake.vs2010_vcxproj)premake.generate(e,\"%%.vcxp"
	.ascii	"roj.user\",premake.vs2010_vcxproj_user)premake.generate(e,\""
	.ascii	"%%.vcxproj.filters\",r.vc2"
	.string	"010.generate_filters)end\nend,oncleansolution=premake.vstudio.cleansolution,oncleanproject=premake.vstudio.cleanproject,oncleantarget=premake.vstudio.cleantarget,vstudio={solutionVersion=\"12\",targetFramework=\"4.7\",toolsVersion=\"16.0\",shortSlnVersion=\"16\",}}"
	.align 8
.LC50:
	.ascii	"premake.xcode={}newaction{trigger=\"xcode3\",shortname=\"Xco"
	.ascii	"de 3\",description=\"Generate Apple Xcode 3 project files (e"
	.ascii	"xperimental)\",os=\"macosx\",valid_kinds={\"ConsoleApp\",\"W"
	.ascii	"indowedApp\",\"SharedLib\",\"StaticLib\"},valid_languages={\""
	.ascii	"C\",\"C++\"},valid_tools={cc={\"gcc\"},},valid_platforms={Na"
	.ascii	"tive=\"Native\",x32=\"Native 32-bit\",x64=\"Native 64-bit\","
	.ascii	"Universal32=\"32-bit Universal\",Universal64=\"64-bit Univer"
	.ascii	"sal\",Universal=\"Universal\",},default_platform=\"Universal"
	.ascii	"\",onsolution=function(e)premake.xcode.preparesolution(e)end"
	.ascii	",onproject=function(e)premake.generate(e,\"%%.xcodeproj/proj"
	.ascii	"ect.pbxproj\",premake.xcode.project)end,oncleanproject=funct"
	.ascii	"ion(e)premake.clean.directory(e,\"%%.xcodeproj\")end,oncheck"
	.ascii	"project=function(n)local e\nfor o in premake.eachconfig(n)do"
	.ascii	"\nif e and e~=o.kind then\nerror(\"Project '\"..n.name..\"' "
	.ascii	"uses more than one target kind; not supported by Xcode\",0)e"
	.ascii	"nd\ne=o.kind\nend\nend,}newaction{trigger=\"xcode4\",shortna"
	.ascii	"me=\"Xcode 4\",description=\"Generate Apple Xcode 4 project "
	.ascii	"files (experimental)\",os=\"macosx\",valid_kinds={\"ConsoleA"
	.ascii	"pp\",\"WindowedApp\",\"SharedLib\",\"StaticLib\"},valid_lang"
	.ascii	"uages={\"C\",\"C++\"},valid_tools={cc={\"gcc\"},},valid_plat"
	.ascii	"forms={Native=\"Native\",x32=\"Native 32-bit\",x64=\"Native "
	.ascii	"64-bit\",Universal32=\"32-bit Universal\",Universal64=\"64-b"
	.ascii	"it Universal\",Universal=\"Universal\",},default_platform=\""
	.ascii	"Universal\",onsolution=function(e)premake.generate(e,\"%%.xc"
	.ascii	"workspace/contents.xcworkspacedata\",premake.xcode4.workspac"
	.ascii	"e_generate)end,onproject=function(e)premake.generate(e,\"%%."
	.ascii	"xcodeproj/project.pbxproj\",premake.xcode.project)end,onclea"
	.ascii	"nproject=function(e)premake.clean.directory(e,\"%%.xco"
	.string	"deproj\")premake.clean.directory(e,\"%%.xcworkspace\")end,oncheckproject=function(o)local e\nfor n in premake.eachconfig(o)do\nif e and e~=n.kind then\nerror(\"Project '\"..o.name..\"' uses more than one target kind; not supported by Xcode\",0)end\ne=n.kind\nend\nend,}"
	.align 8
.LC51:
	.ascii	"local e=premake.xcode\nlocal i=premake.tree\nfunction e.getb"
	.ascii	"uildcategory(n)local e={[\".a\"]=\"Frameworks\",[\".c\"]=\"S"
	.ascii	"ources\",[\".cc\"]=\"Sources\",[\".cpp\"]=\"Sources\",[\".cx"
	.ascii	"x\"]=\"Sources\",[\".dylib\"]=\"Frameworks\",[\".framework\""
	.ascii	"]=\"Frameworks\",[\".m\"]=\"Sources\",[\".mm\"]=\"Sources\","
	.ascii	"[\".strings\"]=\"Resources\",[\".nib\"]=\"Resources\",[\".xi"
	.ascii	"b\"]=\"Resources\",[\".icns\"]=\"Resources\",[\".bmp\"]=\"Re"
	.ascii	"sources\",[\".wav\"]=\"Resources\",}return e[path.getextensi"
	.ascii	"on(n.name)]end\nfunction e.getconfigname(e)local n=e.name\ni"
	.ascii	"f#e.project.solution.xcode.platforms>1 then\nn=n..\" \"..pre"
	.ascii	"make.action.current().valid_platforms[e.platform]end\nreturn"
	.ascii	" n\nend\nfunction e.getfiletype(n)local e={[\".c\"]=\"source"
	.ascii	"code.c.c\",[\".cc\"]=\"sourcecode.cpp.cpp\",[\".cpp\"]=\"sou"
	.ascii	"rcecode.cpp.cpp\",[\".css\"]=\"text.css\",[\".cxx\"]=\"sourc"
	.ascii	"ecode.cpp.cpp\",[\".framework\"]=\"wrapper.framework\",[\".g"
	.ascii	"if\"]=\"image.gif\",[\".h\"]=\"sourcecode.c.h\",[\".html\"]="
	.ascii	"\"text.html\",[\".lua\"]=\"sourcecode.lua\",[\".m\"]=\"sourc"
	.ascii	"ecode.c.objc\",[\".mm\"]=\"sourcecode.cpp.objc\",[\".nib\"]="
	.ascii	"\"wrapper.nib\",[\".pch\"]=\"sourcecode.c.h\",[\".plist\"]=\""
	.ascii	"text.plist.xml\",[\".strings\"]=\"text.plist.strings\",[\".x"
	.ascii	"ib\"]=\"file.xib\",[\".icns\"]=\"image.icns\",[\".bmp\"]=\"i"
	.ascii	"mage.bmp\",[\".wav\"]=\"audio.wav\",}return e[path.getextens"
	.ascii	"ion(n.path)]or\"text\"end\nfunction e.getproducttype(n)local"
	.ascii	" e={ConsoleApp=\"com.apple.product-type.tool\",WindowedApp=\""
	.ascii	"com.apple.product-type.application\",StaticLib=\"com.apple.p"
	.ascii	"roduct-type.library.static\",SharedLib=\"com.apple.product-t"
	.ascii	"ype.library.dynamic\",}return e[n.cfg.kind]end\nfunction e.g"
	.ascii	"ettargettype(e)local n={ConsoleApp='\"compiled.mach-o.execut"
	.ascii	"able\"',WindowedApp=\"wrapper.application\",StaticLib=\"arch"
	.ascii	"ive.ar\",SharedLib='\"compiled.mach-o.dylib\"',}return n[e.c"
	.ascii	"fg.kind]end\nfunction e.getxcodeprojname(e)local e=premake.p"
	.ascii	"roject.getfilename(e,\"%%.xcodeproj\")return e\nend\nfunctio"
	.ascii	"n e.isframework(e)return(path.getextension(e)==\".framework\""
	.ascii	")end\nfunction e.newid()return string.format(\"%04X%04X%04X%"
	.ascii	"04X%04X%04X\",math.random(0,32767),math.random(0,32767),math"
	.ascii	".random(0,32767),math.random(0,32767),math.random(0,32767),m"
	.ascii	"ath.random(0,3276"
	.ascii	"7))end\nfunction e.preparesolution(e)e.xcode={}e.xcode.platf"
	.ascii	"orms=premake.filterplatforms(e,premake.action.current().vali"
	.ascii	"d_platforms,\"Universal\")for n in premake.solution.eachproj"
	.ascii	"ect(e)do\nlocal i=premake.getconfig(n,n.configurations[1],e."
	.ascii	"xcode.platforms[1])local e=premake.tree.new(path.getname(i.b"
	.ascii	"uildtarget.bundlepath))e.cfg=i\ne.id=premake.xcode.newid(e,\""
	.ascii	"product\")e.targetid=premake.xcode.newid(e,\"target\")n.xcod"
	.ascii	"e={}n.xcode.projectnode=e\nend\nend\nfunction e.printlist(e,"
	.ascii	"n)if#e>0 then\n_p(4,'%s = (',n)for n,e in ipairs(e)do\nlocal"
	.ascii	" e=e:gsub('\"','\\\\\"')_p(5,'\"%s\",',e)end\n_p(4,');')end\n"
	.ascii	"end\nfunction e.Header()_p('// !$*UTF8*$!')_p('{')_p(1,'arch"
	.ascii	"iveVersion = 1;')_p(1,'classes = {')_p(1,'};')_p(1,'objectVe"
	.ascii	"rsion = 45;')_p(1,'objects = {')_p('')end\nfunction e.PBXBui"
	.ascii	"ldFile(n)_p('/* Begin PBXBuildFile section */')i.traverse(n,"
	.ascii	"{onnode=function(n)if n.buildid then\n_p(2,'%s /* %s in %s *"
	.ascii	"/ = {isa = PBXBuildFile; fileRef = %s /* %s */; };',n.buildi"
	.ascii	"d,n.name,e.getbuildcategory(n),n.id,n.name)end\nend})_p('/* "
	.ascii	"End PBXBuildFile section */')_p('')end\nfunction e.PBXContai"
	.ascii	"nerItemProxy(e)if#e.projects.children>0 then\n_p('/* Begin P"
	.ascii	"BXContainerItemProxy section */')for n,e in ipairs(e.project"
	.ascii	"s.children)do\n_p(2,'%s /* PBXContainerItemProxy */ = {',e.p"
	.ascii	"roductproxyid)_p(3,'isa = PBXContainerItemProxy;')_p(3,'cont"
	.ascii	"ainerPortal = %s /* %s */;',e.id,path.getname(e.path))_p(3,'"
	.ascii	"proxyType = 2;')_p(3,'remoteGlobalIDString = %s;',e.project."
	.ascii	"xcode.projectnode.id)_p(3,'remoteInfo = \"%s\";',e.project.x"
	.ascii	"code.projectnode.name)_p(2,'};')_p(2,'%s /* PBXContainerItem"
	.ascii	"Proxy */ = {',e.targetproxyid)_p(3,'isa = PBXContainerItemPr"
	.ascii	"oxy;')_p(3,'containerPortal = %s /* %s */;',e.id,path.getnam"
	.ascii	"e(e.path))_p(3,'proxyType = 1;')_p(3,'remoteGlobalIDString ="
	.ascii	" %s;',e.project.xcode.projectnode.targetid)_p(3,'remoteInfo "
	.ascii	"= \"%s\";',e.project.xcode.projectnode.name)_p(2,'};')end\n_"
	.ascii	"p('/* End PBXContainerItemProxy section */')_p('')end\nend\n"
	.ascii	"function e.PBXFileReference(t)_p('/* Begin PBXFileReference "
	.ascii	"section */')i.traverse(t,{onleaf=function(n)if not n.p"
	.ascii	"ath then\nreturn\nend\nif n.kind==\"product\"then\n_p(2,'%s "
	.ascii	"/* %s */ = {isa = PBXFileReference; explicitFileType = %s; i"
	.ascii	"ncludeInIndex = 0; name = \"%s\"; path = \"%s\"; sourceTree "
	.ascii	"= BUILT_PRODUCTS_DIR; };',n.id,n.name,e.gettargettype(n),n.n"
	.ascii	"ame,path.getname(n.cfg.buildtarget.bundlepath))elseif n.pare"
	.ascii	"nt.parent==t.projects then\nlocal e=path.getrelative(t.proje"
	.ascii	"ct.location,n.parent.project.location)_p(2,'%s /* %s */ = {i"
	.ascii	"sa = PBXFileReference; lastKnownFileType = \"wrapper.pb-proj"
	.ascii	"ect\"; name = \"%s\"; path = \"%s\"; sourceTree = SOURCE_ROO"
	.ascii	"T; };',n.parent.id,n.parent.name,n.parent.name,path.join(e,n"
	.ascii	".parent.name))else\nlocal t,o\nif e.isframework(n.path)then\n"
	.ascii	"local e=n.path\nlocal r,i,n=string.find(e,\"^%$%((.+)%)/\")i"
	.ascii	"f n then\ne=string.sub(e,i+1)end\nif string.find(e,'/')then\n"
	.ascii	"if string.find(e,'^%.')then\nerror('relative paths are not c"
	.ascii	"urrently supported for frameworks')end\nt=e\nelse\nt=\"/Syst"
	.ascii	"em/Library/Frameworks/\"..e\nend\nif n then\no=n\nif string."
	.ascii	"find(t,'^/')then\nt=string.sub(t,2)end\nelse\no=\"<absolute>"
	.ascii	"\"end\nelse\no=\"<group>\"if n.parent.isvpath then\nt=n.cfg."
	.ascii	"name\nelse\nt=i.getlocalpath(n)end\nend\n_p(2,'%s /* %s */ ="
	.ascii	" {isa = PBXFileReference; lastKnownFileType = %s; name = \"%"
	.ascii	"s\"; path = \"%s\"; sourceTree = \"%s\"; };',n.id,n.name,e.g"
	.ascii	"etfiletype(n),n.name,t,o)end\nend})_p('/* End PBXFileReferen"
	.ascii	"ce section */')_p('')end\nfunction e.PBXFrameworksBuildPhase"
	.ascii	"(e)_p('/* Begin PBXFrameworksBuildPhase section */')_p(2,'%s"
	.ascii	" /* Frameworks */ = {',e.products.children[1].fxstageid)_p(3"
	.ascii	",'isa = PBXFrameworksBuildPhase;')_p(3,'buildActionMask = 21"
	.ascii	"47483647;')_p(3,'files = (')i.traverse(e.frameworks,{onleaf="
	.ascii	"function(e)_p(4,'%s /* %s in Frameworks */,',e.buildid,e.nam"
	.ascii	"e)end})i.traverse(e.projects,{onleaf=function(e)_p(4,'%s /* "
	.ascii	"%s in Frameworks */,',e.buildid,e.name)end})_p(3,');')_p(3,'"
	.ascii	"runOnlyForDeploymentPostprocessing = 0;')_p(2,'};')_p('/* En"
	.ascii	"d PBXFrameworksBuildPhase section */')_p('')end\nfunction e."
	.ascii	"PBXGroup(n)_p('/* Begin PBXGroup section */')i.traverse(n,{o"
	.ascii	"nnode=function(e)if(e.path and#e.children==0)or e.kind==\"vg"
	.ascii	"roup\"then\nreturn\ne"
	.ascii	"nd\nif e.parent==n.projects then\n_p(2,'%s /* Products */ = "
	.ascii	"{',e.productgroupid)else\n_p(2,'%s /* %s */ = {',e.id,e.name"
	.ascii	")end\n_p(3,'isa = PBXGroup;')_p(3,'children = (')for n,e in "
	.ascii	"ipairs(e.children)do\n_p(4,'%s /* %s */,',e.id,e.name)end\n_"
	.ascii	"p(3,');')if e.parent==n.projects then\n_p(3,'name = Products"
	.ascii	";')else\n_p(3,'name = \"%s\";',e.name)if e.path and not e.is"
	.ascii	"vpath then\nlocal n=e.path\nif e.parent.path then\nn=path.ge"
	.ascii	"trelative(e.parent.path,e.path)end\n_p(3,'path = \"%s\";',n)"
	.ascii	"end\nend\n_p(3,'sourceTree = \"<group>\";')_p(2,'};')end},tr"
	.ascii	"ue)_p('/* End PBXGroup section */')_p('')end\nfunction e.PBX"
	.ascii	"NativeTarget(i)_p('/* Begin PBXNativeTarget section */')for "
	.ascii	"t,n in ipairs(i.products.children)do\nlocal t=i.project.name"
	.ascii	"\nlocal function o(e)if#i.project[e]>0 then\nreturn true\nen"
	.ascii	"d\nfor i,n in ipairs(i.configs)do\nif#n[e]>0 then\nreturn tr"
	.ascii	"ue\nend\nend\nend\n_p(2,'%s /* %s */ = {',n.targetid,t)_p(3,"
	.ascii	"'isa = PBXNativeTarget;')_p(3,'buildConfigurationList = %s /"
	.ascii	"* Build configuration list for PBXNativeTarget \"%s\" */;',n"
	.ascii	".cfgsection,t)_p(3,'buildPhases = (')if o('prebuildcommands'"
	.ascii	")then\n_p(4,'9607AE1010C857E500CD1376 /* Prebuild */,')end\n"
	.ascii	"_p(4,'%s /* Resources */,',n.resstageid)_p(4,'%s /* Sources "
	.ascii	"*/,',n.sourcesid)if o('prelinkcommands')then\n_p(4,'9607AE35"
	.ascii	"10C85E7E00CD1376 /* Prelink */,')end\n_p(4,'%s /* Frameworks"
	.ascii	" */,',n.fxstageid)if o('postbuildcommands')then\n_p(4,'9607A"
	.ascii	"E3710C85E8F00CD1376 /* Postbuild */,')end\n_p(3,');')_p(3,'b"
	.ascii	"uildRules = (')_p(3,');')_p(3,'dependencies = (')for n,e in "
	.ascii	"ipairs(i.projects.children)do\n_p(4,'%s /* PBXTargetDependen"
	.ascii	"cy */,',e.targetdependid)end\n_p(3,');')_p(3,'name = \"%s\";"
	.ascii	"',t)local i\nif n.cfg.kind==\"ConsoleApp\"then\ni=\"$(HOME)/"
	.ascii	"bin\"elseif n.cfg.kind==\"WindowedApp\"then\ni=\"$(HOME)/App"
	.ascii	"lications\"end\nif i then\n_p(3,'productInstallPath = \"%s\""
	.ascii	";',i)end\n_p(3,'productName = \"%s\";',t)_p(3,'productRefere"
	.ascii	"nce = %s /* %s */;',n.id,n.name)_p(3,'productType = \"%s\";'"
	.ascii	",e.getproducttype(n))_p(2,'};')end\n_p('/* End PBXNativeTarg"
	.ascii	"et section */')_p('')end\nfunction e.PBXProject(e)_p('/* Beg"
	.ascii	"in PBXProject section */')"
	.ascii	"_p(2,'08FB7793FE84155DC02AAC07 /* Project object */ = {')_p("
	.ascii	"3,'isa = PBXProject;')_p(3,'buildConfigurationList = 1DEB928"
	.ascii	"908733DD80010E9CD /* Build configuration list for PBXProject"
	.ascii	" \"%s\" */;',e.name)_p(3,'compatibilityVersion = \"Xcode 3.2"
	.ascii	"\";')_p(3,'hasScannedForEncodings = 1;')_p(3,'mainGroup = %s"
	.ascii	" /* %s */;',e.id,e.name)_p(3,'projectDirPath = \"\";')if#e.p"
	.ascii	"rojects.children>0 then\n_p(3,'projectReferences = (')for n,"
	.ascii	"e in ipairs(e.projects.children)do\n_p(4,'{')_p(5,'ProductGr"
	.ascii	"oup = %s /* Products */;',e.productgroupid)_p(5,'ProjectRef "
	.ascii	"= %s /* %s */;',e.id,path.getname(e.path))_p(4,'},')end\n_p("
	.ascii	"3,');')end\n_p(3,'projectRoot = \"\";')_p(3,'targets = (')fo"
	.ascii	"r n,e in ipairs(e.products.children)do\n_p(4,'%s /* %s */,',"
	.ascii	"e.targetid,e.name)end\n_p(3,');')_p(2,'};')_p('/* End PBXPro"
	.ascii	"ject section */')_p('')end\nfunction e.PBXReferenceProxy(n)i"
	.ascii	"f#n.projects.children>0 then\n_p('/* Begin PBXReferenceProxy"
	.ascii	" section */')i.traverse(n.projects,{onleaf=function(n)_p(2,'"
	.ascii	"%s /* %s */ = {',n.id,n.name)_p(3,'isa = PBXReferenceProxy;'"
	.ascii	")_p(3,'fileType = %s;',e.gettargettype(n))_p(3,'path = \"%s\""
	.ascii	";',n.path)_p(3,'remoteRef = %s /* PBXContainerItemProxy */;'"
	.ascii	",n.parent.productproxyid)_p(3,'sourceTree = BUILT_PRODUCTS_D"
	.ascii	"IR;')_p(2,'};')end})_p('/* End PBXReferenceProxy section */'"
	.ascii	")_p('')end\nend\nfunction e.PBXResourcesBuildPhase(n)_p('/* "
	.ascii	"Begin PBXResourcesBuildPhase section */')for o,t in ipairs(n"
	.ascii	".products.children)do\n_p(2,'%s /* Resources */ = {',t.resst"
	.ascii	"ageid)_p(3,'isa = PBXResourcesBuildPhase;')_p(3,'buildAction"
	.ascii	"Mask = 2147483647;')_p(3,'files = (')i.traverse(n,{onnode=fu"
	.ascii	"nction(n)if e.getbuildcategory(n)==\"Resources\"then\n_p(4,'"
	.ascii	"%s /* %s in Resources */,',n.buildid,n.name)end\nend})_p(3,'"
	.ascii	");')_p(3,'runOnlyForDeploymentPostprocessing = 0;')_p(2,'};'"
	.ascii	")end\n_p('/* End PBXResourcesBuildPhase section */')_p('')en"
	.ascii	"d\nfunction e.PBXShellScriptBuildPhase(r)local t=false\nloca"
	.ascii	"l function i(a,s,p)local o=r.project[p]local n=table.join(o,"
	.ascii	"{})for i,t in ipairs(r.configs)do\nlocal i=t[p]if#i>#o then\n"
	.ascii	"table.insert(n,'if [ \"${CONFIGURATION}\" = \"'..e."
	.ascii	"getconfigname(t)..'\" ]; then')for e=#o+1,#i do\ntable.inser"
	.ascii	"t(n,i[e])end\ntable.insert(n,'fi')end\nend\nif#n>0 then\nif "
	.ascii	"not t then\n_p('/* Begin PBXShellScriptBuildPhase section */"
	.ascii	"')t=true\nend\n_p(2,'%s /* %s */ = {',a,s)_p(3,'isa = PBXShe"
	.ascii	"llScriptBuildPhase;')_p(3,'buildActionMask = 2147483647;')_p"
	.ascii	"(3,'files = (')_p(3,');')_p(3,'inputPaths = (');_p(3,');');_"
	.ascii	"p(3,'name = %s;',s);_p(3,'outputPaths = (');_p(3,');');_p(3,"
	.ascii	"'runOnlyForDeploymentPostprocessing = 0;');_p(3,'shellPath ="
	.ascii	" /bin/sh;');_p(3,'shellScript = \"%s\";',table.concat(n,\"\\"
	.ascii	"\\n\"):gsub('\"','\\\\\"'))_p(2,'};')end\nend\ni(\"9607AE101"
	.ascii	"0C857E500CD1376\",\"Prebuild\",\"prebuildcommands\")i(\"9607"
	.ascii	"AE3510C85E7E00CD1376\",\"Prelink\",\"prelinkcommands\")i(\"9"
	.ascii	"607AE3710C85E8F00CD1376\",\"Postbuild\",\"postbuildcommands\""
	.ascii	")if t then\n_p('/* End PBXShellScriptBuildPhase section */')"
	.ascii	"end\nend\nfunction e.PBXSourcesBuildPhase(n)_p('/* Begin PBX"
	.ascii	"SourcesBuildPhase section */')for o,t in ipairs(n.products.c"
	.ascii	"hildren)do\n_p(2,'%s /* Sources */ = {',t.sourcesid)_p(3,'is"
	.ascii	"a = PBXSourcesBuildPhase;')_p(3,'buildActionMask = 214748364"
	.ascii	"7;')_p(3,'files = (')i.traverse(n,{onleaf=function(n)if e.ge"
	.ascii	"tbuildcategory(n)==\"Sources\"then\n_p(4,'%s /* %s in Source"
	.ascii	"s */,',n.buildid,n.name)end\nend})_p(3,');')_p(3,'runOnlyFor"
	.ascii	"DeploymentPostprocessing = 0;')_p(2,'};')end\n_p('/* End PBX"
	.ascii	"SourcesBuildPhase section */')_p('')end\nfunction e.PBXVaria"
	.ascii	"ntGroup(e)_p('/* Begin PBXVariantGroup section */')i.travers"
	.ascii	"e(e,{onbranch=function(e)if e.kind==\"vgroup\"then\n_p(2,'%s"
	.ascii	" /* %s */ = {',e.id,e.name)_p(3,'isa = PBXVariantGroup;')_p("
	.ascii	"3,'children = (')for n,e in ipairs(e.children)do\n_p(4,'%s /"
	.ascii	"* %s */,',e.id,e.name)end\n_p(3,');')_p(3,'name = %s;',e.nam"
	.ascii	"e)_p(3,'sourceTree = \"<group>\";')_p(2,'};')end\nend})_p('/"
	.ascii	"* End PBXVariantGroup section */')_p('')end\nfunction e.PBXT"
	.ascii	"argetDependency(e)if#e.projects.children>0 then\n_p('/* Begi"
	.ascii	"n PBXTargetDependency section */')i.traverse(e.projects,{onl"
	.ascii	"eaf=function(e)_p(2,'%s /* PBXTargetDependency */ = {',e.par"
	.ascii	"ent.targetdependid)_p(3,'isa = PBXTargetDependency;')_p(3,'n"
	.ascii	"ame = \"%s\";',e.nam"
	.ascii	"e)_p(3,'targetProxy = %s /* PBXContainerItemProxy */;',e.par"
	.ascii	"ent.targetproxyid)_p(2,'};')end})_p('/* End PBXTargetDepende"
	.ascii	"ncy section */')_p('')end\nend\nfunction e.XCBuildConfigurat"
	.ascii	"ion_Target(i,t,n)local t=e.getconfigname(n)_p(2,'%s /* %s */"
	.ascii	" = {',n.xcode.targetid,t)_p(3,'isa = XCBuildConfiguration;')"
	.ascii	"_p(3,'buildSettings = {')_p(4,'ALWAYS_SEARCH_USER_PATHS = NO"
	.ascii	";')if not n.flags.Symbols then\n_p(4,'DEBUG_INFORMATION_FORM"
	.ascii	"AT = \"dwarf-with-dsym\";')end\nif n.kind~=\"StaticLib\"and "
	.ascii	"n.buildtarget.prefix~=\"\"then\n_p(4,'EXECUTABLE_PREFIX = %s"
	.ascii	";',n.buildtarget.prefix)end\nif n.targetextension then\nloca"
	.ascii	"l e=n.targetextension\ne=iif(e:startswith(\".\"),e:sub(2),e)"
	.ascii	"_p(4,'EXECUTABLE_EXTENSION = %s;',e)end\nlocal e=path.getdir"
	.ascii	"ectory(n.buildtarget.bundlepath)if e~=\".\"then\n_p(4,'CONFI"
	.ascii	"GURATION_BUILD_DIR = %s;',e)end\n_p(4,'GCC_DYNAMIC_NO_PIC = "
	.ascii	"NO;')_p(4,'GCC_MODEL_TUNING = G5;')if i.infoplist then\n_p(4"
	.ascii	",'INFOPLIST_FILE = \"%s\";',i.infoplist.cfg.name)end\ninstal"
	.ascii	"lpaths={ConsoleApp='/usr/local/bin',WindowedApp='\"$(HOME)/A"
	.ascii	"pplications\"',SharedLib='/usr/local/lib',StaticLib='/usr/lo"
	.ascii	"cal/lib',}_p(4,'INSTALL_PATH = %s;',installpaths[n.kind])_p("
	.ascii	"4,'PRODUCT_NAME = \"%s\";',n.buildtarget.basename)_p(3,'};')"
	.ascii	"_p(3,'name = \"%s\";',t)_p(2,'};')end\nfunction e.XCBuildCon"
	.ascii	"figuration_Project(i,n)local o=e.getconfigname(n)_p(2,'%s /*"
	.ascii	" %s */ = {',n.xcode.projectid,o)_p(3,'isa = XCBuildConfigura"
	.ascii	"tion;')_p(3,'buildSettings = {')local i={Native=\"$(NATIVE_A"
	.ascii	"RCH_ACTUAL)\",x32=\"i386\",x64=\"x86_64\",Universal32=\"$(AR"
	.ascii	"CHS_STANDARD_32_BIT)\",Universal64=\"$(ARCHS_STANDARD_64_BIT"
	.ascii	")\",Universal=\"$(ARCHS_STANDARD_32_64_BIT)\",}_p(4,'ARCHS ="
	.ascii	" \"%s\";',i[n.platform])local t=path.getdirectory(n.buildtar"
	.ascii	"get.bundlepath)if t~=\".\"then\n_p(4,'CONFIGURATION_BUILD_DI"
	.ascii	"R = \"$(SYMROOT)\";');end\n_p(4,'CONFIGURATION_TEMP_DIR = \""
	.ascii	"$(OBJROOT)\";')if n.flags.Symbols then\n_p(4,'COPY_PHASE_STR"
	.ascii	"IP = NO;')end\n_p(4,'GCC_C_LANGUAGE_STANDARD = gnu99;')if n."
	.ascii	"flags.NoExceptions then\n_p(4,'GCC_ENABLE_CPP_EXCEPTIONS = N"
	.ascii	"O;')end\nif n.flags.NoRTTI then\n_p(4,'GCC_ENABLE_CPP_RTTI ="
	.ascii	" NO;')end\nif _ACTIO"
	.ascii	"N~=\"xcode4\"and n.flags.Symbols and not n.flags.NoEditAndCo"
	.ascii	"ntinue then\n_p(4,'GCC_ENABLE_FIX_AND_CONTINUE = YES;')end\n"
	.ascii	"if n.flags.NoExceptions then\n_p(4,'GCC_ENABLE_OBJC_EXCEPTIO"
	.ascii	"NS = NO;')end\nif n.flags.Optimize or n.flags.OptimizeSize t"
	.ascii	"hen\n_p(4,'GCC_OPTIMIZATION_LEVEL = s;')elseif n.flags.Optim"
	.ascii	"izeSpeed then\n_p(4,'GCC_OPTIMIZATION_LEVEL = 3;')else\n_p(4"
	.ascii	",'GCC_OPTIMIZATION_LEVEL = 0;')end\nif n.pchheader and not n"
	.ascii	".flags.NoPCH then\n_p(4,'GCC_PRECOMPILE_PREFIX_HEADER = YES;"
	.ascii	"')_p(4,'GCC_PREFIX_HEADER = \"%s\";',n.pchheader)end\ne.prin"
	.ascii	"tlist(n.defines,'GCC_PREPROCESSOR_DEFINITIONS')_p(4,'GCC_SYM"
	.ascii	"BOLS_PRIVATE_EXTERN = NO;')if n.flags.FatalWarnings then\n_p"
	.ascii	"(4,'GCC_TREAT_WARNINGS_AS_ERRORS = YES;')end\n_p(4,'GCC_WARN"
	.ascii	"_ABOUT_RETURN_TYPE = YES;')_p(4,'GCC_WARN_UNUSED_VARIABLE = "
	.ascii	"YES;')e.printlist(n.includedirs,'HEADER_SEARCH_PATHS')e.prin"
	.ascii	"tlist(n.libdirs,'LIBRARY_SEARCH_PATHS')_p(4,'OBJROOT = \"%s\""
	.ascii	";',n.objectsdir)_p(4,'ONLY_ACTIVE_ARCH = %s;',iif(premake.co"
	.ascii	"nfig.isdebugbuild(n),'YES','NO'))local r={[\"-ffast-math\"]="
	.ascii	"n.flags.FloatFast,[\"-ffloat-store\"]=n.flags.FloatStrict,[\""
	.ascii	"-fomit-frame-pointer\"]=n.flags.NoFramePointer,}local i={}fo"
	.ascii	"r n,t in pairs(r)do\nif t then\ntable.insert(i,n)end\nend\ne"
	.ascii	".printlist(table.join(i,n.buildoptions),'OTHER_CFLAGS')i={}f"
	.ascii	"or t,n in ipairs(premake.getlinks(n,\"system\"))do\nif not e"
	.ascii	".isframework(n)then\ntable.insert(i,\"-l\"..n)end\nend\ni=ta"
	.ascii	"ble.join(i,n.linkoptions)e.printlist(i,'OTHER_LDFLAGS')if n."
	.ascii	"flags.StaticRuntime then\n_p(4,'STANDARD_C_PLUS_PLUS_LIBRARY"
	.ascii	"_TYPE = static;')end\nif t~=\".\"then\n_p(4,'SYMROOT = \"%s\""
	.ascii	";',t)end\nif n.flags.ExtraWarnings then\n_p(4,'WARNING_CFLAG"
	.ascii	"S = \"-Wall\";')end\n_p(3,'};')_p(3,'name = \"%s\";',o)_p(2,"
	.ascii	"'};')end\nfunction e.XCBuildConfiguration(n)_p('/* Begin XCB"
	.ascii	"uildConfiguration section */')for t,i in ipairs(n.products.c"
	.ascii	"hildren)do\nfor o,t in ipairs(n.configs)do\ne.XCBuildConfigu"
	.ascii	"ration_Target(n,i,t)end\nend\nfor t,i in ipairs(n.configs)do"
	.ascii	"\ne.XCBuildConfiguration_Project(n,i)end\n_p('/* End XCBuild"
	.ascii	"Configuration section */')_p('')end\nfunction e.XCBuildConfi"
	.ascii	"gurationList(n)"
	.ascii	"local i=n.project.solution\n_p('/* Begin XCConfigurationList"
	.ascii	" section */')for t,i in ipairs(n.products.children)do\n_p(2,"
	.ascii	"'%s /* Build configuration list for PBXNativeTarget \"%s\" *"
	.ascii	"/ = {',i.cfgsection,i.name)_p(3,'isa = XCConfigurationList;'"
	.ascii	")_p(3,'buildConfigurations = (')for i,n in ipairs(n.configs)"
	.ascii	"do\n_p(4,'%s /* %s */,',n.xcode.targetid,e.getconfigname(n))"
	.ascii	"end\n_p(3,');')_p(3,'defaultConfigurationIsVisible = 0;')_p("
	.ascii	"3,'defaultConfigurationName = \"%s\";',e.getconfigname(n.con"
	.ascii	"figs[1]))_p(2,'};')end\n_p(2,'1DEB928908733DD80010E9CD /* Bu"
	.ascii	"ild configuration list for PBXProject \"%s\" */ = {',n.name)"
	.ascii	"_p(3,'isa = XCConfigurationList;')_p(3,'buildConfigurations "
	.ascii	"= (')for i,n in ipairs(n.configs)do\n_p(4,'%s /* %s */,',n.x"
	.ascii	"code.projectid,e.getconfigname(n))end\n_p(3,');')_p(3,'defau"
	.ascii	"ltConfiguratio"
	.string	"nIsVisible = 0;')_p(3,'defaultConfigurationName = \"%s\";',e.getconfigname(n.configs[1]))_p(2,'};')_p('/* End XCConfigurationList section */')_p('')end\nfunction e.Footer()_p(1,'};')_p('\\trootObject = 08FB7793FE84155DC02AAC07 /* Project object */;')_p('}')end"
	.align 8
.LC52:
	.ascii	"local e=premake.xcode\nlocal r=premake.tree\nfunction e.buil"
	.ascii	"dprjtree(o)local n=premake.project.buildsourcetree(o)n.confi"
	.ascii	"gs={}for t,i in ipairs(o.solution.configurations)do\nfor t,r"
	.ascii	" in ipairs(o.solution.xcode.platforms)do\nlocal r=premake.ge"
	.ascii	"tconfig(o,i,r)r.xcode={}r.xcode.targetid=e.newid(o.xcode.pro"
	.ascii	"jectnode,i)r.xcode.projectid=e.newid(n,i)table.insert(n.conf"
	.ascii	"igs,r)end\nend\nr.traverse(n,{onbranch=function(e)if path.ge"
	.ascii	"textension(e.name)==\".lproj\"then\nlocal i=path.getbasename"
	.ascii	"(e.name)for n,o in ipairs(e.children)do\nlocal n=e.parent.ch"
	.ascii	"ildren[o.name]if not n then\nn=r.insert(e.parent,r.new(o.nam"
	.ascii	"e))n.kind=\"vgroup\"end\no.name=path.getbasename(i)r.insert("
	.ascii	"n,o)end\nr.remove(e)end\nend})n.frameworks=r.new(\"Framework"
	.ascii	"s\")for o in premake.eachconfig(o)do\nfor o,i in ipairs(prem"
	.ascii	"ake.getlinks(o,\"system\",\"fullpath\"))do\nlocal o=path.get"
	.ascii	"name(i)if e.isframework(o)and not n.frameworks.children[o]th"
	.ascii	"en\nnode=r.insert(n.frameworks,r.new(o))node.path=i\nend\nen"
	.ascii	"d\nend\nif#n.frameworks.children>0 then\nr.insert(n,n.framew"
	.ascii	"orks)end\nn.products=r.insert(n,r.new(\"Products\"))n.projec"
	.ascii	"ts=r.new(\"Projects\")for t,i in ipairs(premake.getdependenc"
	.ascii	"ies(o,\"sibling\",\"object\"))do\nlocal t=e.getxcodeprojname"
	.ascii	"(i)local n=r.insert(n.projects,r.new(path.getname(t)))n.path"
	.ascii	"=t\nn.project=i\nn.productgroupid=e.newid(n,\"prodgrp\")n.pr"
	.ascii	"oductproxyid=e.newid(n,\"prodprox\")n.targetproxyid=e.newid("
	.ascii	"n,\"targprox\")n.targetdependid=e.newid(n,\"targdep\")local "
	.ascii	"e=premake.getconfig(i,o.configurations[1])node=r.insert(n,r."
	.ascii	"new(e.linktarget.name))node.path=e.linktarget.fullpath\nnode"
	.ascii	".cfg=e\nend\nif#n.projects.children>0 then\nr.insert(n,n.pro"
	.ascii	"jects)end\nr.traverse(n,{onnode=function(r)r.id=e.newid(r)if"
	.ascii	" e.getbuildcategory(r)then\nr.buildid=e.newid(r,\"build\")en"
	.ascii	"d\nif string.endswith(r.name,\"Info.plist\")then\nn.infoplis"
	.ascii	"t=r\nend\nend},true)node=r.insert(n.products,o.xcode.project"
	.ascii	"node)node.kind=\"product\"node.path=node.cfg.buildtarget.ful"
	.ascii	"lpath\nnode.cfgsection=e.newid(node,\"cfg\")node.resstageid="
	.ascii	"e.newid(node,\"rez\")node.sourcesid=e.newid(node,\"src\")nod"
	.ascii	"e.fxstageid=e.newid(node,\"fxs\")re"
	.ascii	"turn n\nend\nfunction premake.xcode.project(n)local n=e.buil"
	.ascii	"dprjtree(n)e.Header(n)e.PBXBuildFile(n)e.PBXContainerItemPro"
	.ascii	"xy(n)e.PBXFileReference(n)e.PBXFrameworksBuildPhase(n)e.PBXG"
	.ascii	"r"
	.string	"oup(n)e.PBXNativeTarget(n)e.PBXProject(n)e.PBXReferenceProxy(n)e.PBXResourcesBuildPhase(n)e.PBXShellScriptBuildPhase(n)e.PBXSourcesBuildPhase(n)e.PBXVariantGroup(n)e.PBXTargetDependency(n)e.XCBuildConfiguration(n)e.XCBuildConfigurationList(n)e.Footer(n)end"
	.align 8
.LC53:
	.ascii	"premake.xcode4={}local e=premake.xcode4\nfunction e.workspac"
	.ascii	"e_head()_p('<?xml version=\"1.0\" encoding=\"UTF-8\"?>')_p('"
	.ascii	"<Workspace')_p(1,'version = \"1.0\">')end\nfunction e.worksp"
	.ascii	"ace_tail()_p('</Workspace>')end\nfunction e.workspace_file_r"
	.ascii	"ef(o)local e=path.getrelative(o.solution.location,o.location"
	.ascii	")if e=='.'then e=''else e=e..'/'end\n_p(1,'<Fi"
	.string	"leRef')_p(2,'location = \"group:%s\">',e..o.name..'.xcodeproj')_p(1,'</FileRef>')end\nfunction e.workspace_generate(o)premake.xcode.preparesolution(o)e.workspace_head()for o in premake.solution.eachproject(o)do\ne.workspace_file_ref(o)end\ne.workspace_tail()end"
	.align 8
.LC54:
	.ascii	"premake.clean={}function premake.clean.directory(n,e)local e"
	.ascii	"=premake.project.getfilename(n,e)os.rmdir(e)end\nfunction pr"
	.ascii	"emake.clean.file(e,n)local e=premake.project.getfilename(e,n"
	.ascii	")os.remove(e)end\nnewaction{trigger=\"clean\",description=\""
	.ascii	"Remove all binaries and generated files\",onsolution=functio"
	.ascii	"n(n)for e in premake.action.each()do\nif e.oncleansolution t"
	.ascii	"hen\ne.oncleansolution(n)end\nend\nend,onproject=function(e)"
	.ascii	"for n in premake.action.each()do\nif n.oncleanproject then\n"
	.ascii	"n.oncleanproject(e)end\nend\nif(e.objectsdir)then\npremake.c"
	.ascii	"lean.directory(e,e.objectsdir)end\nlocal n=e.solution.platfo"
	.ascii	"rms or{}if not table.contains(n,\"Native\")then\nn=table.joi"
	.ascii	"n(n,{\"Native\"})end\nfor a,n in ipairs(n)do\nfor n in prema"
	.ascii	"ke.eachconfig(e,n)do\npremake.clean.directory(e,n.objectsdir"
	.ascii	")premake.clean.file(e,premake.gettarget(n,\"build\",\"posix\""
	.ascii	",\"windows\",\"windows\").fullpath)premake.clean.file(e,prem"
	.ascii	"ake.gettarget(n,\"build\",\"posix\",\"posix\",\"linux\").ful"
	.ascii	"lpath)premake.clean.file(e,premake.gettarget(n,\"build\",\"p"
	.ascii	"osix\",\"posix\",\"macosx\").fullpath)premake.clean.file(e,p"
	.ascii	"remake.gettarget(n,\"build\",\"posix\",\"PS3\",\"windows\")."
	.ascii	"fullpath)if n.kind==\"WindowedApp\"then\npremake.clean.direc"
	.ascii	"tory(e,premake.gettarget(n,\"build\",\"posix\",\"posix\",\"l"
	.ascii	"inux\").fullpath..\".app\")end\npremake.clean.file(e,premake"
	.ascii	".gettarget(n,\"link\",\"windows\",\"windows\",\"windows\").f"
	.ascii	"ullpath)premake.clean.fil"
	.string	"e(e,premake.gettarget(n,\"link\",\"posix\",\"posix\",\"linux\").fullpath)local n=path.join(premake.project.getfilename(e,n.buildtarget.directory),n.buildtarget.basename)for e in premake.action.each()do\nif e.oncleantarget then\ne.oncleantarget(n)end\nend\nend\nend\nend}"
	.align 8
.LC55:
	.ascii	"local t=\"premake4.lua\"local i=\"Type 'premake4 --help' for"
	.ascii	" help\"local a=\"premake4 (Premake Build Script Generator) %"
	.ascii	"s\"_WORKING_DIR=os.getcwd()local function o(r)if not r then "
	.ascii	"return true end\nr=premake.checkvalue(r,premake.fields.platf"
	.ascii	"orms.allowed)for n in premake.solution.each()do\nlocal e=n.p"
	.ascii	"latforms or{}if#e==0 then\ntable.insert(e,\"Native\")end\nif"
	.ascii	" not table.contains(e,\"Native\")then\nreturn false,n.name.."
	.ascii	"\" does not target native platform\\nNative platform setting"
	.ascii	"s are required for the --platform feature.\"end\nif not tabl"
	.ascii	"e.contains(e,r)then\ntable.insert(e,r)end\nn.platforms=e\nen"
	.ascii	"d\nreturn true\nend\nfunction _premake_main(e)if(e)then\nloc"
	.ascii	"al r=dofile(e..\"/_manifest.lua\")for n,r in ipairs(r)do\ndo"
	.ascii	"file(e..\"/\"..r)end\nend\n_PREMAKE_COMMAND=path.getabsolute"
	.ascii	"(_PREMAKE_COMMAND)premake.action.set(_ACTION)math.randomseed"
	.ascii	"(os.time())local e=_OPTIONS[\"file\"]or t\nif(os.isfile(e))t"
	.ascii	"hen\ndofile(e)end\nif(_OPTIONS[\"version\"])then\nprintf(a,_"
	.ascii	"PREMAKE_VERSION)return 1\nend\nif(_OPTIONS[\"help\"])then\np"
	.ascii	"remake.showhelp()return 1\nend\nif(not _ACTION)then\nprint(i"
	.ascii	")return 1\nend\nif(not os.isfile(e))then\nerror(\"No Premake"
	.ascii	" script (\"..t..\") found!\",2)end\naction=premake.action.cu"
	.ascii	"rrent()if(not action)then\nerror(\"Error: no such action '\""
	.ascii	".._ACTION..\"'\",0)end\nok,err=premake.option.validate(_OPTI"
	.ascii	"ONS)if(not ok)then error(\"Error: \"..err,0)end\nok,err=prem"
	.ascii	"ake.checktools()if(not ok)then error(\"Error: \"..err,0)end\n"
	.ascii	"ok,err=o(_OPTIONS[\"platform\"])if(not ok)then error(\"Error"
	.ascii	":"
	.string	" \"..err,0)end\nprint(\"Building configurations...\")premake.bake.buildconfigs()ok,err=premake.checkprojects()if(not ok)then error(\"Error: \"..err,0)end\nprintf(\"Running action '%s'...\",action.trigger)premake.action.call(action.trigger)print(\"Done.\")return 0\nend"
	.section	.data.rel.local,"aw"
	.align 32
	.type	builtin_scripts, @object
	.size	builtin_scripts, 456
builtin_scripts:
	.quad	.LC0
	.quad	.LC1
	.quad	.LC2
	.quad	.LC3
	.quad	.LC4
	.quad	.LC5
	.quad	.LC6
	.quad	.LC7
	.quad	.LC8
	.quad	.LC9
	.quad	.LC10
	.quad	.LC11
	.quad	.LC12
	.quad	.LC13
	.quad	.LC14
	.quad	.LC15
	.quad	.LC16
	.quad	.LC17
	.quad	.LC18
	.quad	.LC19
	.quad	.LC20
	.quad	.LC21
	.quad	.LC22
	.quad	.LC23
	.quad	.LC24
	.quad	.LC25
	.quad	.LC26
	.quad	.LC27
	.quad	.LC28
	.quad	.LC29
	.quad	.LC30
	.quad	.LC31
	.quad	.LC32
	.quad	.LC33
	.quad	.LC34
	.quad	.LC35
	.quad	.LC36
	.quad	.LC37
	.quad	.LC38
	.quad	.LC39
	.quad	.LC40
	.quad	.LC41
	.quad	.LC42
	.quad	.LC43
	.quad	.LC44
	.quad	.LC45
	.quad	.LC46
	.quad	.LC47
	.quad	.LC48
	.quad	.LC49
	.quad	.LC50
	.quad	.LC51
	.quad	.LC52
	.quad	.LC53
	.quad	.LC54
	.quad	.LC55
	.quad	0
	.globl	builtin_script_fnames
	.section	.rodata
.LC56:
	.string	"@base/os.lua"
.LC57:
	.string	"@base/path.lua"
.LC58:
	.string	"@base/string.lua"
.LC59:
	.string	"@base/table.lua"
.LC60:
	.string	"@base/io.lua"
.LC61:
	.string	"@base/globals.lua"
.LC62:
	.string	"@base/action.lua"
.LC63:
	.string	"@base/option.lua"
.LC64:
	.string	"@base/tree.lua"
.LC65:
	.string	"@base/solution.lua"
.LC66:
	.string	"@base/project.lua"
.LC67:
	.string	"@base/config.lua"
.LC68:
	.string	"@base/bake.lua"
.LC69:
	.string	"@base/api.lua"
.LC70:
	.string	"@base/cmdline.lua"
.LC71:
	.string	"@tools/dotnet.lua"
.LC72:
	.string	"@tools/gcc.lua"
.LC73:
	.string	"@tools/msc.lua"
.LC74:
	.string	"@tools/ow.lua"
.LC75:
	.string	"@tools/snc.lua"
.LC76:
	.string	"@base/validate.lua"
.LC77:
	.string	"@base/help.lua"
.LC78:
	.string	"@base/premake.lua"
	.align 8
.LC79:
	.string	"@actions/codeblocks/_codeblocks.lua"
	.align 8
.LC80:
	.string	"@actions/codeblocks/codeblocks_workspace.lua"
	.align 8
.LC81:
	.string	"@actions/codeblocks/codeblocks_cbp.lua"
	.align 8
.LC82:
	.string	"@actions/codelite/_codelite.lua"
	.align 8
.LC83:
	.string	"@actions/codelite/codelite_workspace.lua"
	.align 8
.LC84:
	.string	"@actions/codelite/codelite_project.lua"
.LC85:
	.string	"@actions/make/_make.lua"
	.align 8
.LC86:
	.string	"@actions/make/make_solution.lua"
.LC87:
	.string	"@actions/make/make_cpp.lua"
.LC88:
	.string	"@actions/make/make_csharp.lua"
.LC89:
	.string	"@actions/vstudio/_vstudio.lua"
	.align 8
.LC90:
	.string	"@actions/vstudio/vs2002_solution.lua"
	.align 8
.LC91:
	.string	"@actions/vstudio/vs2002_csproj.lua"
	.align 8
.LC92:
	.string	"@actions/vstudio/vs2002_csproj_user.lua"
	.align 8
.LC93:
	.string	"@actions/vstudio/vs200x_vcproj.lua"
	.align 8
.LC94:
	.string	"@actions/vstudio/vs200x_vcproj_user.lua"
	.align 8
.LC95:
	.string	"@actions/vstudio/vs2003_solution.lua"
	.align 8
.LC96:
	.string	"@actions/vstudio/vs2005_solution.lua"
	.align 8
.LC97:
	.string	"@actions/vstudio/vs2005_csproj.lua"
	.align 8
.LC98:
	.string	"@actions/vstudio/vs2005_csproj_user.lua"
	.align 8
.LC99:
	.string	"@actions/vstudio/vs2010_vcxproj.lua"
	.align 8
.LC100:
	.string	"@actions/vstudio/vs2010_vcxproj_filters.lua"
.LC101:
	.string	"@actions/vstudio/vs2012.lua"
.LC102:
	.string	"@actions/vstudio/vs2013.lua"
.LC103:
	.string	"@actions/vstudio/vs2015.lua"
.LC104:
	.string	"@actions/vstudio/vs2017.lua"
.LC105:
	.string	"@actions/vstudio/vs2019.lua"
.LC106:
	.string	"@actions/xcode/_xcode.lua"
	.align 8
.LC107:
	.string	"@actions/xcode/xcode_common.lua"
	.align 8
.LC108:
	.string	"@actions/xcode/xcode_project.lua"
	.align 8
.LC109:
	.string	"@actions/xcode/xcode4_workspace.lua"
.LC110:
	.string	"@actions/clean/_clean.lua"
.LC111:
	.string	"@_premake_main.lua"
	.section	.data.rel.local
	.align 32
	.type	builtin_script_fnames, @object
	.size	builtin_script_fnames, 456
builtin_script_fnames:
	.quad	.LC56
	.quad	.LC57
	.quad	.LC58
	.quad	.LC59
	.quad	.LC60
	.quad	.LC61
	.quad	.LC62
	.quad	.LC63
	.quad	.LC64
	.quad	.LC65
	.quad	.LC66
	.quad	.LC67
	.quad	.LC68
	.quad	.LC69
	.quad	.LC70
	.quad	.LC71
	.quad	.LC72
	.quad	.LC73
	.quad	.LC74
	.quad	.LC75
	.quad	.LC76
	.quad	.LC77
	.quad	.LC78
	.quad	.LC79
	.quad	.LC80
	.quad	.LC81
	.quad	.LC82
	.quad	.LC83
	.quad	.LC84
	.quad	.LC85
	.quad	.LC86
	.quad	.LC87
	.quad	.LC88
	.quad	.LC89
	.quad	.LC90
	.quad	.LC91
	.quad	.LC92
	.quad	.LC93
	.quad	.LC94
	.quad	.LC95
	.quad	.LC96
	.quad	.LC97
	.quad	.LC98
	.quad	.LC99
	.quad	.LC100
	.quad	.LC101
	.quad	.LC102
	.quad	.LC103
	.quad	.LC104
	.quad	.LC105
	.quad	.LC106
	.quad	.LC107
	.quad	.LC108
	.quad	.LC109
	.quad	.LC110
	.quad	.LC111
	.quad	0
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"45449258.c"
	.text
	.global	builtin_scripts
	.section	.rodata
	.align	2
.LC0:
	.ascii	"function os.executef(n,...)n=string.format(n,unpack"
	.ascii	"(arg))return os.execute(n)end\012local function i(n"
	.ascii	")local e,t\012local o={}local n=io.open(n)if n==nil"
	.ascii	" then\012return o\012end\012for n in n:lines()do\012"
	.ascii	"e=n:find(\"#\",1,true)if e~=nil then\012n=n:sub(1,e"
	.ascii	"-1)end\012if n~=\"\"then\012e,t=n:find(\"include%s+"
	.ascii	"\")if e~=nil then\012local n=n:sub(t+1)local n=os.m"
	.ascii	"atchfiles(n)for e,n in ipairs(n)do\012o=table.join("
	.ascii	"o,i(n))end\012else\012table.insert(o,n)end\012end\012"
	.ascii	"end\012return o\012end\012function os.findlib(e)loc"
	.ascii	"al n,o\012if os.is(\"windows\")then\012o={\"%s.dll\""
	.ascii	",\"%s\"}n=os.getenv(\"PATH\")elseif os.is(\"haiku\""
	.ascii	")then\012o={\"lib%s.so\",\"%s.so\"}n=os.getenv(\"LI"
	.ascii	"BRARY_PATH\")else\012if os.is(\"macosx\")then\012o="
	.ascii	"{\"lib%s.dylib\",\"%s.dylib\"}n=os.getenv(\"DYLD_LI"
	.ascii	"BRARY_PATH\")else\012o={\"lib%s.so\",\"%s.so\"}n=os"
	.ascii	".getenv(\"LD_LIBRARY_PATH\")or\"\"for e,o in ipairs"
	.ascii	"(i(\"/etc/ld.so.conf\"))do\012n=n..\":\"..o\012end\012"
	.ascii	"end\012table.insert(o,\"%s\")n=n or\"\"if os.is64bi"
	.ascii	"t()then\012n=n..\":/lib64:/usr/lib64/:usr/local/lib"
	.ascii	"64\"end\012n=n..\":/lib:/usr/lib:/usr/local/lib\"en"
	.ascii	"d\012for i,o in ipairs(o)do\012local o=string.forma"
	.ascii	"t(o,e)local n=os.pathsearch(o,n)if n then return n "
	.ascii	"end\012end\012end\012function os.get()return _OPTIO"
	.ascii	"NS.os or _OS\012end\012function os.is(n)return(os.g"
	.ascii	"et():lower()==n:lower())end\012local o={\"x86_64\","
	.ascii	"\"ia64\",\"amd64\",\"ppc64\",\"powerpc64\",\"sparc6"
	.ascii	"4\"}function os.is64bit()if(os._is64bit())then\012r"
	.ascii	"eturn true\012end\012local n\012if _OS==\"windows\""
	.ascii	"then\012n=os.getenv(\"PROCESSOR_ARCHITECTURE\")else"
	.ascii	"if _OS==\"macosx\"then\012n=os.outputof(\"echo $HOS"
	.ascii	"TTYPE\")else\012n=os.outputof(\"uname -m\")end\012n"
	.ascii	"=n:lower()for e,o in ipairs(o)do\012if n:find(o)the"
	.ascii	"n\012return true\012end\012end\012return false\012e"
	.ascii	"nd\012local function l(l,n,i)if n:startswith(\"./\""
	.ascii	")then\012n=n:sub(3)end\012local e=n\012local o=n:fi"
	.ascii	"nd(\"%*\")if o then\012e=e:sub(1,o-1)end\012e=path."
	.ascii	"getdirectory(e)if(e==\".\")then e=\"\"end\012local "
	.ascii	"a=n:find(\"**\",nil,true)n=path.wildcards(n)local f"
	.ascii	"unction t(e)local s=path.join(e,\"*\")local o=os.ma"
	.ascii	"tchstart(s)while(os.matchnext(o))do\012local t=os.m"
	.ascii	"atchisfile(o)if((i and t)or(not i and not t))then\012"
	.ascii	"local i=os.matchname(o)local o=path.join(e,i)if i~="
	.ascii	"\"..\"and o:match(n)==o then\012table.insert(l,o)en"
	.ascii	"d\012end\012end\012os.matchd"
	.ascii	"one(o)if a then\012o=os.matchstart(s)while(os.match"
	.ascii	"next(o))do\012if not os.matchisfile(o)then\012local"
	.ascii	" n=os.matchname(o)if(not n:startswith(\".\"))then\012"
	.ascii	"t(path.join(e,n))end\012end\012end\012os.matchdone("
	.ascii	"o)end\012end\012t(e)end\012function os.matchdirs(.."
	.ascii	".)local n={}for e,o in ipairs(arg)do\012l(n,o,false"
	.ascii	")end\012return n\012end\012function os.matchfiles(."
	.ascii	"..)local n={}for e,o in ipairs(arg)do\012l(n,o,true"
	.ascii	")end\012return n\012end\012local e=os.mkdir\012func"
	.ascii	"tion os.mkdir(o)local n=iif(o:startswith(\"/\"),\"/"
	.ascii	"\",\"\")for o in o:gmatch(\"[^/]+\")do\012n=n..o\012"
	.ascii	"if(o~=\"\"and not path.isabsolute(o)and not os.isdi"
	.ascii	"r(n))then\012local n,o=e(n)if(not n)then\012return "
	.ascii	"nil,o\012end\012end\012n=n..\"/\"end\012return true"
	.ascii	"\012end\012function os.outputof(n)local n=io.popen("
	.ascii	"n)local o=n:read('*a')n:close()return o\012end\012l"
	.ascii	"ocal e=os.rmdir\012function os.rmdir(n)local o=os.m"
	.ascii	"atchdirs(n..\"/*\")for o,n in ipairs(o)do\012os.rmd"
	.ascii	"ir(n)end\012local o=os.matchfiles(n..\"/*\")for o,n"
	.ascii	" in ipairs(o)do\012os.remove(n)end\012e(n)end\000"
	.align	2
.LC1:
	.ascii	"function path.getbasename(e)local e=path.getname(e)"
	.ascii	"local n=e:findlast(\".\",true)if(n)then\012return e"
	.ascii	":sub(1,n-1)else\012return e\012end\012end\012functi"
	.ascii	"on path.getdirectory(n)local e=n:findlast(\"/\",tru"
	.ascii	"e)if(e)then\012if e>1 then e=e-1 end\012return n:su"
	.ascii	"b(1,e)else\012return\".\"end\012end\012function pat"
	.ascii	"h.getdrive(e)local n=e:sub(1,1)local e=e:sub(2,2)if"
	.ascii	" e==\":\"then\012return n\012end\012end\012function"
	.ascii	" path.getextension(e)local n=e:findlast(\".\",true)"
	.ascii	"if(n)then\012return e:sub(n)else\012return\"\"end\012"
	.ascii	"end\012function path.getname(e)local n=e:findlast(\""
	.ascii	"[/\\\\]\")if(n)then\012return e:sub(n+1)else\012ret"
	.ascii	"urn e\012end\012end\012function path.iscfile(e)loca"
	.ascii	"l n={\".c\",\".s\",\".m\"}local e=path.getextension"
	.ascii	"(e):lower()return table.contains(n,e)end\012functio"
	.ascii	"n path.iscppfile(e)local n={\".cc\",\".cpp\",\".cxx"
	.ascii	"\",\".c\",\".s\",\".m\",\".mm\"}local e=path.getext"
	.ascii	"ension(e):lower()return table.contains(n,e)end\012f"
	.ascii	"unction path.iscppheader(e)local n={\".h\",\".hh\","
	.ascii	"\".hpp\",\".hxx\"}local e=path.getextension(e):lowe"
	.ascii	"r()return table.contains(n,e)end\012function path.i"
	.ascii	"sresourcefile(e)local n={\".rc\"}local e=path.getex"
	.ascii	"tension(e):lower()return table.contains(n,e)end\012"
	.ascii	"function path.rebase(e,t,n)e=path.getabsolute(path."
	.ascii	"join(t,e))e=path.getrelative(n,e)return e\012end\012"
	.ascii	"local n=path.translate\012function path.translate(t"
	.ascii	",e)if not e then\012if os.is(\"windows\")then\012e="
	.ascii	"\"\\\\\"else\012e=\"/\"end\012end\012return n(t,e)e"
	.ascii	"nd\012function path.wildcards(e)e=e:gsub(\"([%+%.%-"
	.ascii	"%^%$%(%)%%])\",\"%%%1\")e=e:gsub(\"%*%*\",\"\\1\")e"
	.ascii	"=e:gsub(\"%*\",\"\\2\")e=e:gsub(\"\\1\",\".*\")e=e:"
	.ascii	"gsub(\"\\2\",\"[^/]*\")return e\012end\000"
	.align	2
.LC2:
	.ascii	"function string.explode(e,i,r)if(i=='')then return "
	.ascii	"false end\012local n=0\012local t={}for r,i in func"
	.ascii	"tion()return e:find(i,n,r)end do\012table.insert(t,"
	.ascii	"e:sub(n,r-1))n=i+1\012end\012table.insert(t,e:sub(n"
	.ascii	"))return t\012end\012function string.findlast(i,e,t"
	.ascii	")local n=0\012repeat\012local t=i:find(e,n+1,t)if(t"
	.ascii	")then n=t end\012until(not t)if(n>0)then\012return "
	.ascii	"n\012end\012end\012function string.startswith(n,t)r"
	.ascii	"eturn(n:find(t,1,true)==1)end\000"
	.align	2
.LC3:
	.ascii	"function table.contains(n,e)for t,n in pairs(n)do\012"
	.ascii	"if(n==e)then\012return true\012end\012end\012return"
	.ascii	" false\012end\012function table.extract(n,t)local e"
	.ascii	"={}for i,n in ipairs(n)do\012table.insert(e,n[t])en"
	.ascii	"d\012return e\012end\012function table.flatten(i)lo"
	.ascii	"cal n={}local function t(e)for i,e in ipairs(e)do\012"
	.ascii	"if type(e)==\"table\"then\012t(e)else\012table.inse"
	.ascii	"rt(n,e)end\012end\012end\012t(i)return n\012end\012"
	.ascii	"function table.implode(r,t,i,n)local e=\"\"for a,r "
	.ascii	"in ipairs(r)do\012if(e~=\"\"and n)then\012e=e..n\012"
	.ascii	"end\012e=e..t..r..i\012end\012return e\012end\012fu"
	.ascii	"nction table.insertflat(n,e)if type(e)==\"table\"th"
	.ascii	"en\012for t,e in ipairs(e)do\012table.insertflat(n,"
	.ascii	"e)end\012else\012table.insert(n,e)end\012end\012fun"
	.ascii	"ction table.isempty(e)return next(e)==nil\012end\012"
	.ascii	"function table.join(...)local e={}for t,n in ipairs"
	.ascii	"(arg)do\012if type(n)==\"table\"then\012for t,n in "
	.ascii	"ipairs(n)do\012table.insert(e,n)end\012else\012tabl"
	.ascii	"e.insert(e,n)end\012end\012return e\012end\012funct"
	.ascii	"ion table.keys(n)local e={}for n,t in pairs(n)do\012"
	.ascii	"table.insert(e,n)end\012return e\012end\012function"
	.ascii	" table.merge(...)local n={}for t,e in ipairs(arg)do"
	.ascii	"\012if type(e)==\"table\"then\012for e,t in pairs(e"
	.ascii	")do\012n[e]=t\012end\012else\012error(\"invalid val"
	.ascii	"ue\")end\012end\012return n\012end\012function tabl"
	.ascii	"e.translate(e,n)local i={}for e,t in ipairs(e)do\012"
	.ascii	"local e\012if type(n)==\"function\"then\012e=n(t)el"
	.ascii	"se\012e=n[t]end\012if(e)then\012table.insert(i,e)en"
	.ascii	"d\012end\012return i\012end\000"
	.align	2
.LC4:
	.ascii	"function io.capture()io.captured=''end\012function "
	.ascii	"io.endcapture()local e=io.captured\012io.captured=n"
	.ascii	"il\012return e\012end\012local i=io.open\012functio"
	.ascii	"n io.open(n,e)if(e)then\012if(e:find(\"w\"))then\012"
	.ascii	"local e=path.getdirectory(n)ok,err=os.mkdir(e)if(no"
	.ascii	"t ok)then\012error(err,0)end\012end\012end\012retur"
	.ascii	"n i(n,e)end\012function io.printf(e,...)if not io.e"
	.ascii	"ol then\012io.eol=\"\\n\"end\012if not io.indent th"
	.ascii	"en\012io.indent=\"\\t\"end\012if type(e)==\"number\""
	.ascii	"then\012s=string.rep(io.indent,e)..string.format(un"
	.ascii	"pack(arg))else\012s=string.format(e,unpack(arg))end"
	.ascii	"\012if io.captured then\012io.captured=io.captured."
	.ascii	".s..io.eol\012else\012io.write(s)io.write(io.eol)en"
	.ascii	"d\012end\012_p=io.printf\000"
	.align	2
.LC5:
	.ascii	"premake={}premake.platforms={Native={cfgsuffix=\"\""
	.ascii	",},x32={cfgsuffix=\"32\",},x64={cfgsuffix=\"64\",},"
	.ascii	"Universal={cfgsuffix=\"univ\",},Universal32={cfgsuf"
	.ascii	"fix=\"univ32\",},Universal64={cfgsuffix=\"univ64\","
	.ascii	"},PS3={cfgsuffix=\"ps3\",iscrosscompiler=true,nosha"
	.ascii	"redlibs=true,namestyle=\"PS3\",},WiiDev={cfgsuffix="
	.ascii	"\"wii\",iscrosscompiler=true,namestyle=\"PS3\",},Xb"
	.ascii	"ox360={cfgsuffix=\"xbox360\",iscrosscompiler=true,n"
	.ascii	"amestyle=\"windows\",},}local n=dofile\012function "
	.ascii	"dofile(e)local f=os.getcwd()local t=_SCRIPT\012if(n"
	.ascii	"ot os.isfile(e))then\012local i=os.pathsearch(e,_OP"
	.ascii	"TIONS[\"scripts\"],os.getenv(\"PREMAKE_PATH\"))if(i"
	.ascii	")then\012e=i..\"/\"..e\012end\012end\012_SCRIPT=pat"
	.ascii	"h.getabsolute(e)local e=path.getdirectory(_SCRIPT)o"
	.ascii	"s.chdir(e)local o,r,n,i,s,e=n(_SCRIPT)_SCRIPT=t\012"
	.ascii	"os.chdir(f)return o,r,n,i,s,e\012end\012function ii"
	.ascii	"f(i,e,n)if(i)then\012return e\012else\012return n\012"
	.ascii	"end\012end\012function include(e)return dofile(e..\""
	.ascii	"/premake4.lua\")end\012function printf(e,...)print("
	.ascii	"string.format(e,unpack(arg)))end\012local n=type\012"
	.ascii	"function type(i)local e=getmetatable(i)if(e)then\012"
	.ascii	"if(e.__type)then\012return e.__type\012end\012end\012"
	.ascii	"return n(i)end\000"
	.align	2
.LC6:
	.ascii	"premake.action={}premake.action.list={}function pre"
	.ascii	"make.action.add(e)local n\012for i,t in ipairs({\"d"
	.ascii	"escription\",\"trigger\"})do\012if(not e[t])then\012"
	.ascii	"n=t\012end\012end\012if(n)then\012error(\"action ne"
	.ascii	"eds a \"..n,3)end\012premake.action.list[e.trigger]"
	.ascii	"=e\012end\012function premake.action.call(e)local e"
	.ascii	"=premake.action.list[e]for n in premake.solution.ea"
	.ascii	"ch()do\012if e.onsolution then\012e.onsolution(n)en"
	.ascii	"d\012for n in premake.solution.eachproject(n)do\012"
	.ascii	"if e.onproject then\012e.onproject(n)end\012end\012"
	.ascii	"end\012if e.execute then\012e.execute()end\012end\012"
	.ascii	"function premake.action.current()return premake.act"
	.ascii	"ion.get(_ACTION)end\012function premake.action.get("
	.ascii	"e)return premake.action.list[e]end\012function prem"
	.ascii	"ake.action.each()local n={}for t,e in pairs(premake"
	.ascii	".action.list)do\012table.insert(n,e.trigger)end\012"
	.ascii	"table.sort(n)local e=0\012return function()e=e+1\012"
	.ascii	"return premake.action.list[n[e]]end\012end\012funct"
	.ascii	"ion premake.action.set(e)_ACTION=e\012local e=prema"
	.ascii	"ke.action.get(e)if e then\012_OS=e.os or _OS\012end"
	.ascii	"\012end\012function premake.action.supports(e,n)if "
	.ascii	"not e then\012return false\012end\012if e.valid_lan"
	.ascii	"guages then\012if table.contains(e.valid_languages,"
	.ascii	"n)then\012return true\012end\012end\012if e.valid_k"
	.ascii	"inds then\012if table.contains(e.valid_kinds,n)then"
	.ascii	"\012return true\012end\012end\012return false\012en"
	.ascii	"d\000"
	.align	2
.LC7:
	.ascii	"premake.option={}premake.option.list={}function pre"
	.ascii	"make.option.add(e)local n\012for t,o in ipairs({\"d"
	.ascii	"escription\",\"trigger\"})do\012if(not e[o])then\012"
	.ascii	"n=o\012end\012end\012if(n)then\012error(\"option ne"
	.ascii	"eds a \"..n,3)end\012premake.option.list[e.trigger]"
	.ascii	"=e\012end\012function premake.option.get(e)return p"
	.ascii	"remake.option.list[e]end\012function premake.option"
	.ascii	".each()local e={}for o,n in pairs(premake.option.li"
	.ascii	"st)do\012table.insert(e,n.trigger)end\012table.sort"
	.ascii	"(e)local n=0\012return function()n=n+1\012return pr"
	.ascii	"emake.option.list[e[n]]end\012end\012function prema"
	.ascii	"ke.option.validate(e)for n,o in pairs(e)do\012local"
	.ascii	" e=premake.option.get(n)if(not e)then\012return fal"
	.ascii	"se,\"invalid option '\"..n..\"'\"end\012if(e.value "
	.ascii	"and o==\"\")then\012return false,\"no value specifi"
	.ascii	"ed for option '\"..n..\"'\"end\012if e.allowed then"
	.ascii	"\012local t=false\012for n,e in ipairs(e.allowed)do"
	.ascii	"\012if e[1]==o then\012t=true\012break\012end\012en"
	.ascii	"d\012if not t then\012return false,string.format(\""
	.ascii	"invalid value '%s' for option '%s'\",o,n)end\012end"
	.ascii	"\012end\012return true\012end\000"
	.align	2
.LC8:
	.ascii	"premake.tree={}local t=premake.tree\012function pre"
	.ascii	"make.tree.new(e)local e={name=e,children={}}return "
	.ascii	"e\012end\012function premake.tree.add(e,n,a)if n==\""
	.ascii	".\"then\012return e\012end\012local d=t.add(e,path."
	.ascii	"getdirectory(n),a)local r=path.getname(n)if r==\".."
	.ascii	"\"then\012return d\012end\012local e=d.children[r]i"
	.ascii	"f not e or e.path~=n then\012e=t.insert(d,t.new(r))"
	.ascii	"e.path=n\012if a then\012a(e)end\012end\012return e"
	.ascii	"\012end\012function premake.tree.insert(n,e)table.i"
	.ascii	"nsert(n.children,e)if e.name then\012n.children[e.n"
	.ascii	"ame]=e\012end\012e.parent=n\012return e\012end\012f"
	.ascii	"unction premake.tree.getlocalpath(e)if e.parent.pat"
	.ascii	"h then\012return e.name\012elseif e.cfg then\012ret"
	.ascii	"urn e.cfg.name\012else\012return e.path\012end\012e"
	.ascii	"nd\012function premake.tree.remove(n)local e=n.pare"
	.ascii	"nt.children\012for t=1,#e do\012if e[t]==n then\012"
	.ascii	"table.remove(e,t)end\012end\012n.children={}end\012"
	.ascii	"function premake.tree.sort(e)t.traverse(e,{onnode=f"
	.ascii	"unction(e)table.sort(e.children,function(e,n)return"
	.ascii	" e.name<n.name\012end)end},true)end\012function pre"
	.ascii	"make.tree.traverse(o,i,h,r)local d,a\012d=function("
	.ascii	"n,e,t)if n.isremoved then\012return\012end\012if e."
	.ascii	"onnode then\012e.onnode(n,t)end\012if#n.children>0 "
	.ascii	"then\012if e.onbranchenter then\012e.onbranchenter("
	.ascii	"n,t)end\012if e.onbranch then\012e.onbranch(n,t)end"
	.ascii	"\012a(n,e,t+1)if e.onbranchexit then\012e.onbranche"
	.ascii	"xit(n,t)end\012else\012if e.onleaf then\012e.onleaf"
	.ascii	"(n,t)end\012end\012end\012a=function(n,a,r)local e="
	.ascii	"1\012while e<=#n.children do\012local t=n.children["
	.ascii	"e]d(t,a,r)if t==n.children[e]then\012e=e+1\012end\012"
	.ascii	"end\012end\012if not r then\012r=0\012end\012if h t"
	.ascii	"hen\012d(o,i,r)else\012a(o,i,r)end\012end\000"
	.align	2
.LC9:
	.ascii	"premake.solution={}premake.solution.list={}function"
	.ascii	" premake.solution.new(n)local e={}table.insert(prem"
	.ascii	"ake.solution.list,e)premake.solution.list[n]=e\012s"
	.ascii	"etmetatable(e,{__type=\"solution\"})e.name=n\012e.b"
	.ascii	"asedir=os.getcwd()e.projects={}e.blocks={}e.configu"
	.ascii	"rations={}return e\012end\012function premake.solut"
	.ascii	"ion.each()local e=0\012return function()e=e+1\012if"
	.ascii	" e<=#premake.solution.list then\012return premake.s"
	.ascii	"olution.list[e]end\012end\012end\012function premak"
	.ascii	"e.solution.eachproject(n)local e=0\012return functi"
	.ascii	"on()e=e+1\012if(e<=#n.projects)then\012return prema"
	.ascii	"ke.solution.getproject(n,e)end\012end\012end\012fun"
	.ascii	"ction premake.solution.get(e)return premake.solutio"
	.ascii	"n.list[e]end\012function premake.solution.getprojec"
	.ascii	"t(n,e)local e=n.projects[e]local n=premake.getconfi"
	.ascii	"g(e)n.name=e.name\012return n\012end\000"
	.align	2
.LC10:
	.ascii	"premake.project={}function premake.project.buildsou"
	.ascii	"rcetree(e)local n=premake.tree.new(e.name)n.project"
	.ascii	"=e\012local t\012local function a(e)e.isvpath=t\012"
	.ascii	"end\012for e in premake.project.eachfile(e)do\012t="
	.ascii	"(e.name~=e.vpath)local n=premake.tree.add(n,e.vpath"
	.ascii	",a)n.cfg=e\012end\012premake.tree.sort(n)return n\012"
	.ascii	"end\012function premake.eachconfig(e,a)if e.project"
	.ascii	" then e=e.project end\012local t=e.solution.configu"
	.ascii	"rations\012local n=0\012return function()n=n+1\012i"
	.ascii	"f n<=#t then\012return premake.getconfig(e,t[n],a)e"
	.ascii	"nd\012end\012end\012function premake.project.eachfi"
	.ascii	"le(e)if not e.project then e=premake.getconfig(e)en"
	.ascii	"d\012local n=0\012local t=e.files\012return functio"
	.ascii	"n()n=n+1\012if(n<=#t)then\012local n=e.__fileconfig"
	.ascii	"s[t[n]]n.vpath=premake.project.getvpath(e,n.name)re"
	.ascii	"turn n\012end\012end\012end\012function premake.esc"
	.ascii	"(e)if(type(e)==\"table\")then\012local n={}for t,e "
	.ascii	"in ipairs(e)do\012table.insert(n,premake.esc(e))end"
	.ascii	"\012return n\012else\012e=e:gsub('&',\"&amp;\")e=e:"
	.ascii	"gsub('\"',\"&quot;\")e=e:gsub(\"'\",\"&apos;\")e=e:"
	.ascii	"gsub('<',\"&lt;\")e=e:gsub('>',\"&gt;\")e=e:gsub('\\"
	.ascii	"r',\"&#x0D;\")e=e:gsub('\\n',\"&#x0A;\")return e\012"
	.ascii	"end\012end\012function premake.filterplatforms(n,t,"
	.ascii	"r)local e={}local a={}if n.platforms then\012for r,"
	.ascii	"n in ipairs(n.platforms)do\012if t[n]and not table."
	.ascii	"contains(a,t[n])then\012table.insert(e,n)table.inse"
	.ascii	"rt(a,t[n])end\012end\012end\012if#e==0 and r then\012"
	.ascii	"table.insert(e,r)end\012return e\012end\012function"
	.ascii	" premake.findproject(n)for e in premake.solution.ea"
	.ascii	"ch()do\012for e in premake.solution.eachproject(e)d"
	.ascii	"o\012if(e.name==n)then\012return e\012end\012end\012"
	.ascii	"end\012end\012function premake.findfile(e,n)for t,e"
	.ascii	" in ipairs(e.files)do\012if e:endswith(n)then retur"
	.ascii	"n e end\012end\012end\012function premake.getconfig"
	.ascii	"(e,t,n)e=e.project or e\012if n==\"Native\"or not t"
	.ascii	"able.contains(e.solution.platforms or{},n)then\012n"
	.ascii	"=nil\012end\012local t=(t or\"\")if n then t=t..n e"
	.ascii	"nd\012return e.__configs[t]end\012function premake."
	.ascii	"getconfigname(e,n,t)if e then\012local e=e\012if n "
	.ascii	"and n~=\"Native\"then\012if t then\012e=e..premake."
	.ascii	"platforms[n].cfgsuffix\012else\012e=e..\"|\"..n\012"
	.ascii	"end\012end\012return iif(t,e:lower(),e)end\012end\012"
	.ascii	"function premake.getdependencies(e)e=e.project or e"
	.ascii	"\012local n={}for t,e in pairs(e.__configs)do\012fo"
	.ascii	"r"
	.ascii	" t,e in ipairs(e.links)do\012local e=premake.findpr"
	.ascii	"oject(e)if e and not table.contains(n,e)then\012tab"
	.ascii	"le.insert(n,e)end\012end\012end\012return n\012end\012"
	.ascii	"function premake.project.getbasename(e,n)return n:g"
	.ascii	"sub(\"%%%%\",e)end\012function premake.project.getf"
	.ascii	"ilename(n,e)local e=premake.project.getbasename(n.n"
	.ascii	"ame,e)e=path.join(n.location,e)return path.getrelat"
	.ascii	"ive(os.getcwd(),e)end\012function premake.getlinks("
	.ascii	"n,i,t)local l=iif(t==\"directory\"and i==\"all\",n."
	.ascii	"libdirs,{})local a=iif(n.name==n.project.name,\"\","
	.ascii	"n.name)local p=premake.getpathstyle(n)local d=prema"
	.ascii	"ke.getnamestyle(n)local function c(n,e)if(e.kind~=\""
	.ascii	"SharedLib\"and e.kind~=\"StaticLib\")then\012return"
	.ascii	" false\012end\012if premake.iscppproject(n)then\012"
	.ascii	"return premake.iscppproject(e)elseif premake.isdotn"
	.ascii	"etproject(n)then\012return premake.isdotnetproject("
	.ascii	"e)end\012end\012for e,r in ipairs(n.links)do\012loc"
	.ascii	"al e\012local o=premake.findproject(r)if o and i~=\""
	.ascii	"system\"then\012local a=premake.getconfig(o,a,n.pla"
	.ascii	"tform)if i==\"dependencies\"or c(n,a)then\012if(t=="
	.ascii	"\"directory\")then\012e=path.rebase(a.linktarget.di"
	.ascii	"rectory,a.location,n.location)elseif(t==\"basename\""
	.ascii	")then\012e=a.linktarget.basename\012elseif(t==\"ful"
	.ascii	"lpath\")then\012e=path.rebase(a.linktarget.fullpath"
	.ascii	",a.location,n.location)elseif(t==\"object\")then\012"
	.ascii	"e=a\012end\012end\012elseif not o and(i==\"system\""
	.ascii	"or i==\"all\")then\012if(t==\"directory\")then\012e"
	.ascii	"=path.getdirectory(r)elseif(t==\"fullpath\")then\012"
	.ascii	"e=r\012if d==\"windows\"then\012if premake.iscpppro"
	.ascii	"ject(n)then\012e=e..\".lib\"elseif premake.isdotnet"
	.ascii	"project(n)then\012e=e..\".dll\"end\012end\012elseif"
	.ascii	" t==\"name\"then\012e=path.getname(r)elseif t==\"ba"
	.ascii	"sename\"then\012e=path.getbasename(r)else\012e=r\012"
	.ascii	"end\012if e:find(\"/\",nil,true)then\012e=path.getr"
	.ascii	"elative(n.project.location,e)end\012end\012if e the"
	.ascii	"n\012if p==\"windows\"and t~=\"object\"then\012e=pa"
	.ascii	"th.translate(e,\"\\\\\")end\012if not table.contain"
	.ascii	"s(l,e)then\012table.insert(l,e)end\012end\012end\012"
	.ascii	"return l\012end\012function premake.getnamestyle(e)"
	.ascii	"return premake.platforms[e.platform].namestyle or p"
	.ascii	"remake.gettool(e).namestyle or\"posix\"end\012funct"
	.ascii	"ion premake.getpathstyle(e)if premake.action.curren"
	.ascii	"t().os==\"windows\"then\012return\"windows\"else\012"
	.ascii	"return\"posix\"end\012end\012func"
	.ascii	"tion premake.gettarget(e,t,f,i,r)if r==\"bsd\"or r="
	.ascii	"=\"solaris\"then\012r=\"linux\"end\012local n=e.kin"
	.ascii	"d\012if premake.iscppproject(e)then\012if(i==\"wind"
	.ascii	"ows\"or r==\"windows\")and n==\"SharedLib\"and t==\""
	.ascii	"link\"and not e.flags.NoImportLib\012then\012n=\"St"
	.ascii	"aticLib\"end\012if i==\"posix\"and r==\"windows\"an"
	.ascii	"d n~=\"StaticLib\"then\012i=\"windows\"end\012end\012"
	.ascii	"local o=\"build\"if t==\"link\"and e.kind==\"Shared"
	.ascii	"Lib\"then\012o=\"implib\"end\012local c=e[o..\"name"
	.ascii	"\"]or e.targetname or e.project.name\012local d=e[o"
	.ascii	"..\"dir\"]or e.targetdir or path.getrelative(e.loca"
	.ascii	"tion,e.basedir)local a=\"\"local l=\"\"local t=\"\""
	.ascii	"local p,s\012if i==\"windows\"then\012if n==\"Conso"
	.ascii	"leApp\"or n==\"WindowedApp\"then\012t=\".exe\"elsei"
	.ascii	"f n==\"SharedLib\"then\012t=\".dll\"elseif n==\"Sta"
	.ascii	"ticLib\"then\012t=\".lib\"end\012elseif i==\"posix\""
	.ascii	"then\012if n==\"WindowedApp\"and r==\"macosx\"then\012"
	.ascii	"s=c..\".app\"p=path.join(d,s)d=path.join(p,\"Conten"
	.ascii	"ts/MacOS\")elseif n==\"SharedLib\"then\012a=\"lib\""
	.ascii	"t=iif(r==\"macosx\",\".dylib\",\".so\")elseif n==\""
	.ascii	"StaticLib\"then\012a=\"lib\"t=\".a\"end\012elseif i"
	.ascii	"==\"PS3\"then\012if n==\"ConsoleApp\"or n==\"Window"
	.ascii	"edApp\"then\012t=\".elf\"elseif n==\"StaticLib\"the"
	.ascii	"n\012a=\"lib\"t=\".a\"end\012end\012a=e[o..\"prefix"
	.ascii	"\"]or e.targetprefix or a\012l=e[o..\"suffix\"]or e"
	.ascii	".targetsuffix or l\012t=e[o..\"extension\"]or e.tar"
	.ascii	"getextension or t\012local e={}e.basename=c..l\012e"
	.ascii	".name=a..c..l..t\012e.directory=d\012e.prefix=a\012"
	.ascii	"e.suffix=l\012e.fullpath=path.join(e.directory,e.na"
	.ascii	"me)e.bundlepath=p or e.fullpath\012if f==\"windows\""
	.ascii	"then\012e.directory=path.translate(e.directory,\"\\"
	.ascii	"\\\")e.fullpath=path.translate(e.fullpath,\"\\\\\")"
	.ascii	"end\012return e\012end\012function premake.gettool("
	.ascii	"e)if premake.iscppproject(e)then\012if _OPTIONS.cc "
	.ascii	"then\012return premake[_OPTIONS.cc]end\012local e=p"
	.ascii	"remake.action.current()if e.valid_tools then\012ret"
	.ascii	"urn premake[e.valid_tools.cc[1]]end\012return prema"
	.ascii	"ke.gcc\012else\012return premake.dotnet\012end\012e"
	.ascii	"nd\012function premake.project.getvpath(e,t)local n"
	.ascii	"=t\012local i=path.getname(t)local o=t:len()-i:len("
	.ascii	")for r,e in pairs(e.vpaths or{})do\012for a,e in ip"
	.ascii	"airs(e)do\012local a=t:find(path.wildcards(e))if a="
	.ascii	"=1 then\012a=e:find(\"*\",1,true)or(e:len()+1)local"
	.ascii	" e\012if a<o then\012e=t:sub(a)else\012e=i\012end\012"
	.ascii	"if e:startswith(\"/\")then\012e=e:sub(2)end\012loca"
	.ascii	"l "
	.ascii	"t=\"\"if r:len()>0 then\012t,stars=r:gsub(\"%*\",\""
	.ascii	"\")if stars==0 then\012e=path.getname(e)end\012else"
	.ascii	"\012e=path.getname(e)end\012n=path.join(t,e)end\012"
	.ascii	"end\012end\012local e\012repeat\012e=true\012if n:s"
	.ascii	"tartswith(\"./\")then\012n=n:sub(3)elseif n:startsw"
	.ascii	"ith(\"../\")then\012n=n:sub(4)else\012e=false\012en"
	.ascii	"d\012until not e\012return n\012end\012function pre"
	.ascii	"make.hascppproject(e)for e in premake.solution.each"
	.ascii	"project(e)do\012if premake.iscppproject(e)then\012r"
	.ascii	"eturn true\012end\012end\012end\012function premake"
	.ascii	".hasdotnetproject(e)for e in premake.solution.eachp"
	.ascii	"roject(e)do\012if premake.isdotnetproject(e)then\012"
	.ascii	"return true\012end\012end\012end\012function premak"
	.ascii	"e.project.iscproject(e)return e.language==\"C\"end\012"
	.ascii	"function premake.iscppproject(e)return(e.language=="
	.ascii	"\"C\"or e.language==\"C++\")end\012function premake"
	.ascii	".isdotnetproject(e)return(e.language==\"C#\")end\000"
	.align	2
.LC11:
	.ascii	"premake.config={}local i=premake.config\012function"
	.ascii	" premake.config.isdebugbuild(e)if e.flags.Optimize "
	.ascii	"or e.flags.OptimizeSize or e.flags.OptimizeSpeed th"
	.ascii	"en\012return false\012end\012if not e.flags.Symbols"
	.ascii	" then\012return false\012end\012return true\012end\012"
	.ascii	"function premake.config.isincrementallink(e)if e.ki"
	.ascii	"nd==\"StaticLib\"or i.isoptimizedbuild(e.flags)or e"
	.ascii	".flags.NoIncrementalLink then\012return false\012en"
	.ascii	"d\012return true\012end\012function premake.config."
	.ascii	"isoptimizedbuild(e)return e.Optimize or e.OptimizeS"
	.ascii	"ize or e.OptimizeSpeed\012end\000"
	.align	2
.LC12:
	.ascii	"premake.bake={}local p=premake.bake\012local l={blo"
	.ascii	"cks=true,keywords=true,projects=true,__configs=true"
	.ascii	",}local e={makesettings=true,}local a={basedir=true"
	.ascii	",location=true,}function premake.getactiveterms()lo"
	.ascii	"cal e={_action=_ACTION:lower(),os=os.get()}for o,n "
	.ascii	"in pairs(_OPTIONS)do\012if n~=\"\"then\012table.ins"
	.ascii	"ert(e,n:lower())else\012table.insert(e,o:lower())en"
	.ascii	"d\012end\012return e\012end\012function premake.isk"
	.ascii	"eywordmatch(e,n)if e:startswith(\"not \")then\012re"
	.ascii	"turn not premake.iskeywordmatch(e:sub(5),n)end\012f"
	.ascii	"or e,o in ipairs(e:explode(\" or \"))do\012for n,e "
	.ascii	"in pairs(n)do\012if e:match(o)==e then\012return n\012"
	.ascii	"end\012end\012end\012end\012function premake.iskeyw"
	.ascii	"ordsmatch(o,e)local n=false\012for i,o in ipairs(o)"
	.ascii	"do\012local e=premake.iskeywordmatch(o,e)if not e t"
	.ascii	"hen\012return false\012end\012if e==\"required\"the"
	.ascii	"n\012n=true\012end\012end\012if e.required and not "
	.ascii	"n then\012return false\012else\012return true\012en"
	.ascii	"d\012end\012local function d(r,i)function adjustpat"
	.ascii	"hlist(e)for n,o in ipairs(e)do\012e[n]=path.getrela"
	.ascii	"tive(r,o)end\012end\012for o,n in pairs(i)do\012loc"
	.ascii	"al e=premake.fields[o]if e and n and not a[o]then\012"
	.ascii	"if e.kind==\"path\"then\012i[o]=path.getrelative(r,"
	.ascii	"n)elseif e.kind==\"dirlist\"or e.kind==\"filelist\""
	.ascii	"then\012adjustpathlist(n)elseif e.kind==\"keypath\""
	.ascii	"then\012for n,e in pairs(n)do\012adjustpathlist(e)e"
	.ascii	"nd\012end\012end\012end\012end\012local function t("
	.ascii	"o,e,n)local e=e or{}if o==\"keyvalue\"or o==\"keypa"
	.ascii	"th\"then\012for n,o in pairs(n)do\012e[n]=t(\"list\""
	.ascii	",e[n],o)end\012else\012for o,n in ipairs(n)do\012if"
	.ascii	" not e[n]then\012table.insert(e,n)e[n]=n\012end\012"
	.ascii	"end\012end\012return e\012end\012local function r(o"
	.ascii	",e)if not e then\012return\012end\012for e,n in pai"
	.ascii	"rs(e)do\012if not l[e]then\012local i=premake.field"
	.ascii	"s[e]if i then\012if type(n)==\"table\"then\012o[e]="
	.ascii	"t(i.kind,o[e],n)else\012o[e]=n\012end\012else\012o["
	.ascii	"e]=n\012end\012end\012end\012end\012local function "
	.ascii	"l(s,t,l,n,a,o)local i=a or\"\"o=o or\"Native\"if o~"
	.ascii	"=\"Native\"then\012i=i..o\012end\012n.config=(a or\""
	.ascii	"\"):lower()n.platform=o:lower()local e={}r(e,l[i])d"
	.ascii	"(t.location,e)r(e,t)if(e.kind)then\012n['kind']=e.k"
	.ascii	"ind:lower()end\012for i,o in ipairs(t.blocks)do\012"
	.ascii	"if(premake.iskeywordsmatch(o.keywords,n))then\012r("
	.ascii	"e,o)if(e.kind and not e.terms.kind)then\012e.terms["
	.ascii	"'kind']=e.kind:lower()n['kind'"
	.ascii	"]=e.kind:lower()end\012end\012end\012e.name=a\012e."
	.ascii	"platform=o\012for o,n in pairs(n)do\012e.terms[o]=n"
	.ascii	"\012end\012s[i]=e\012end\012local function c(n,e)lo"
	.ascii	"cal o={}e=e or{}local r=n.solution or n\012local t="
	.ascii	"premake.getactiveterms()l(o,n,e,t)for i,a in ipairs"
	.ascii	"(r.configurations)do\012local i={}for n,e in pairs("
	.ascii	"t)do i[n]=e end\012l(o,n,e,i,a,\"Native\")for t,r i"
	.ascii	"n ipairs(r.platforms or{})do\012if r~=\"Native\"the"
	.ascii	"n\012l(o,n,e,i,a,r)end\012end\012end\012return o\012"
	.ascii	"end\012local function k()local r=4\012local i={}loc"
	.ascii	"al o={}for e in premake.solution.each()do\012for n,"
	.ascii	"e in ipairs(e.projects)do\012for n,e in pairs(e.__c"
	.ascii	"onfigs)do\012local n={}n[1]=path.getabsolute(path.j"
	.ascii	"oin(e.location,e.objdir or e.project.objdir or\"obj"
	.ascii	"\"))n[2]=path.join(n[1],iif(e.platform==\"Native\","
	.ascii	"\"\",e.platform))n[3]=path.join(n[2],e.name)n[4]=pa"
	.ascii	"th.join(n[3],e.project.name)i[e]=n\012local e=iif(e"
	.ascii	".name,2,1)for e=e,r do\012local e=n[e]o[e]=(o[e]or "
	.ascii	"0)+1\012end\012end\012end\012end\012for e in premak"
	.ascii	"e.solution.each()do\012for n,e in ipairs(e.projects"
	.ascii	")do\012for n,e in pairs(e.__configs)do\012local n\012"
	.ascii	"local t=iif(e.name,2,1)for r=t,r do\012n=i[e][r]if "
	.ascii	"o[n]==1 then break end\012end\012e.objectsdir=path."
	.ascii	"getrelative(e.location,n)end\012end\012end\012end\012"
	.ascii	"local function h()for e in premake.solution.each()d"
	.ascii	"o\012for n,e in ipairs(e.projects)do\012for n,e in "
	.ascii	"pairs(e.__configs)do\012local n=premake.getpathstyl"
	.ascii	"e(e)local o=premake.getnamestyle(e)e.buildtarget=pr"
	.ascii	"emake.gettarget(e,\"build\",n,o,e.system)e.linktarg"
	.ascii	"et=premake.gettarget(e,\"link\",n,o,e.system)if n=="
	.ascii	"\"windows\"then\012e.objectsdir=path.translate(e.ob"
	.ascii	"jectsdir,\"\\\\\")end\012end\012end\012end\012end\012"
	.ascii	"local function s(e)if(e.kind)then\012return e.kind;"
	.ascii	"end\012if(e.project.__configs[\"\"]and e.project.__"
	.ascii	"configs[\"\"].kind)then\012return e.project.__confi"
	.ascii	"gs[\"\"].kind;end\012return nil\012end\012local fun"
	.ascii	"ction t(d,r,n,a,i,l)if(not n)then return end\012loc"
	.ascii	"al f={};for o,e in ipairs(n[i])do\012local e=e:lowe"
	.ascii	"r();if((not r[e]))then\012local i=nil;local o=nil;f"
	.ascii	"or r,n in ipairs(n.project.solution.projects)do\012"
	.ascii	"if(n.name:lower()==e)then\012if(n.usage)then\012o=n"
	.ascii	";else\012i=n;end\012end\012end\012if(o)then\012r[e]"
	.ascii	"=true;local n={name=e,proj=i,usageProj=o,bLinkageOn"
	.ascii	"ly=l,};d[e]=n;table.insert(f,o"
	.ascii	");end\012end\012end\012for n,e in ipairs(f)do\012if"
	.ascii	"((i~=\"links\")or(s(e.__configs[a])==\"StaticLib\")"
	.ascii	")then\012t(d,r,e.__configs[a],a,i,l);end\012end\012"
	.ascii	"end\012local function f(i,o)local e={};local n={};n"
	.ascii	"[i.project.name:lower()]=true;t(e,n,i,o,\"uses\",fa"
	.ascii	"lse);local i={};for r,e in pairs(e)do\012t(i,n,e.us"
	.ascii	"ageProj.__configs[o],o,\"links\",true);end\012for o"
	.ascii	",n in pairs(i)do\012e[o]=n;end\012return e;end\012l"
	.ascii	"ocal function l(n,e)local o=n.project.solution;loca"
	.ascii	"l n=e:lower();for o,e in ipairs(o.projects)do\012if"
	.ascii	"(e.name:lower()==n)then\012return true;end\012end\012"
	.ascii	"return false;end\012local function t(n,o,e)local r="
	.ascii	"premake.fields[e];local i=e;if type(n[e])==\"table\""
	.ascii	"then\012if(r.kind==\"dirlist\"or r.kind==\"filelist"
	.ascii	"\")and(not a[e])then\012for r,e in ipairs(n[e])do\012"
	.ascii	"table.insert(o[i],path.rebase(e,n.project.location,"
	.ascii	"o.project.location))end\012else\012if(e==\"links\")"
	.ascii	"then\012for r,e in ipairs(n[e])do\012if(not l(o,e))"
	.ascii	"then\012table.insert(o[i],e)else\012printf(\"Failed"
	.ascii	" to copy '%s' from proj '%s'.\",e,n.project.name);e"
	.ascii	"nd\012end\012else\012for n,e in ipairs(n[e])do\012t"
	.ascii	"able.insert(o[i],e)end\012end\012end\012else\012if("
	.ascii	"r.kind==\"path\"and(not a[e]))then\012o[i]=path.reb"
	.ascii	"ase(n[e],prj.location,o.project.location);else\012o"
	.ascii	"[i]=n[e];end\012end\012end\012local function l(n,i,"
	.ascii	"e)local o=n.project;local r=(s(n)==\"StaticLib\");f"
	.ascii	"or o,e in pairs(e)do\012local o=e.usageProj;local i"
	.ascii	"=o.__configs[i];for o,a in pairs(premake.fields)do\012"
	.ascii	"if(i[o])then\012if(a.usagecopy)then\012if(not e.bLi"
	.ascii	"nkageOnly)then\012t(i,n,o)end\012elseif(a.linkageco"
	.ascii	"py)then\012if((not r)and(not e.proj))then\012t(i,n,"
	.ascii	"o)end\012end\012end\012end\012if((not r)and e.proj)"
	.ascii	"then\012table.insert(n.links,e.proj.name);end\012en"
	.ascii	"d\012end\012function premake.bake.buildconfigs()for"
	.ascii	" n in premake.solution.each()do\012for o,e in ipair"
	.ascii	"s(n.projects)do\012e.location=e.location or n.locat"
	.ascii	"ion or e.basedir\012d(e.location,e)for o,n in ipair"
	.ascii	"s(e.blocks)do\012d(e.location,n)end\012end\012n.loc"
	.ascii	"ation=n.location or n.basedir\012end\012for e in pr"
	.ascii	"emake.solution.each()do\012local n=c(e)for o,e in i"
	.ascii	"pairs(e.projects)do\012e.__configs=c(e,n)for o,n in"
	.ascii	" pairs(e.__configs)do\012p.postprocess(e,n)end\012e"
	.ascii	"nd\012end\012for e in premake.solution.each()do\012"
	.ascii	"for n,e in ipairs(e.projects)do\012if"
	.ascii	"(not e.usage)then\012for n,e in pairs(e.__configs)d"
	.ascii	"o\012local o=f(e,n);l(e,n,o)end\012end\012end\012en"
	.ascii	"d\012for n in premake.solution.each()do\012local e="
	.ascii	"{};for n,o in ipairs(n.projects)do\012if(o.usage)th"
	.ascii	"en\012table.insert(e,1,n);end\012end\012for o,e in "
	.ascii	"ipairs(e)do\012table.remove(n.projects,e);end\012en"
	.ascii	"d\012k()h(cfg)end\012function premake.bake.postproc"
	.ascii	"ess(n,e)e.project=n\012e.shortname=premake.getconfi"
	.ascii	"gname(e.name,e.platform,true)e.longname=premake.get"
	.ascii	"configname(e.name,e.platform)e.location=e.location "
	.ascii	"or e.basedir\012local n=premake.platforms[e.platfor"
	.ascii	"m]if n.iscrosscompiler then\012e.system=e.platform\012"
	.ascii	"else\012e.system=os.get()end\012if e.kind==\"Shared"
	.ascii	"Lib\"and n.nosharedlibs then\012e.kind=\"StaticLib\""
	.ascii	"end\012local o={}for n,i in ipairs(e.files)do\012lo"
	.ascii	"cal n=false\012for o,e in ipairs(e.excludes)do\012n"
	.ascii	"=(i==e)if(n)then break end\012end\012if(not n)then\012"
	.ascii	"table.insert(o,i)end\012end\012e.files=o\012for n,o"
	.ascii	" in pairs(premake.fields)do\012if o.isflags then\012"
	.ascii	"local e=e[n]for o,n in ipairs(e)do e[n]=true end\012"
	.ascii	"end\012end\012e.__fileconfigs={}for n,o in ipairs(e"
	.ascii	".files)do\012e.terms.required=o:lower()local n={}fo"
	.ascii	"r i,o in ipairs(e.project.blocks)do\012if(premake.i"
	.ascii	"skeywordsmatch(o.keywords,e.terms))then\012r(n,o)en"
	.ascii	"d\012end\012n.name=o\012e.__fileconfigs[o]=n\012tab"
	.ascii	"le.insert(e.__fileconfigs,n)end\012end\000"
	.align	2
.LC13:
	.ascii	"premake.fields={basedir={kind=\"path\",scope=\"cont"
	.ascii	"ainer\",},buildaction={kind=\"string\",scope=\"conf"
	.ascii	"ig\",allowed={\"Compile\",\"Copy\",\"Embed\",\"None"
	.ascii	"\"}},buildoptions={kind=\"list\",scope=\"config\",}"
	.ascii	",configurations={kind=\"list\",scope=\"solution\",}"
	.ascii	",debugargs={kind=\"list\",scope=\"config\",},debugd"
	.ascii	"ir={kind=\"path\",scope=\"config\",},debugenvs={kin"
	.ascii	"d=\"list\",scope=\"config\",},defines={kind=\"list\""
	.ascii	",scope=\"config\",},deploymentoptions={kind=\"list\""
	.ascii	",scope=\"config\",usagecopy=true,},excludes={kind=\""
	.ascii	"filelist\",scope=\"config\",},files={kind=\"filelis"
	.ascii	"t\",scope=\"config\",},flags={kind=\"list\",scope=\""
	.ascii	"config\",isflags=true,usagecopy=true,allowed=functi"
	.ascii	"on(e)local n={ATL=1,DebugEnvsDontMerge=1,DebugEnvsI"
	.ascii	"nherit=1,EnableSSE=1,EnableSSE2=1,ExtraWarnings=1,F"
	.ascii	"atalWarnings=1,FloatFast=1,FloatStrict=1,Managed=1,"
	.ascii	"MFC=1,NativeWChar=1,No64BitChecks=1,NoEditAndContin"
	.ascii	"ue=1,NoExceptions=1,NoFramePointer=1,NoImportLib=1,"
	.ascii	"NoIncrementalLink=1,NoManifest=1,NoMinimalRebuild=1"
	.ascii	",NoNativeWChar=1,NoPCH=1,NoRTTI=1,Optimize=1,Optimi"
	.ascii	"zeSize=1,OptimizeSpeed=1,SEH=1,StaticATL=1,StaticRu"
	.ascii	"ntime=1,Symbols=1,Unicode=1,Unsafe=1,WinMain=1}loca"
	.ascii	"l t={optimise='optimize',optimisesize='optimizesize"
	.ascii	"',optimisespeed='optimizespeed',}local e=e:lower()e"
	.ascii	"=t[e]or e\012for n,t in pairs(n)do\012if n:lower()="
	.ascii	"=e then\012return n\012end\012end\012return nil,\"i"
	.ascii	"nvalid flag\"end,},framework={kind=\"string\",scope"
	.ascii	"=\"container\",allowed={\"1.0\",\"1.1\",\"2.0\",\"3"
	.ascii	".0\",\"3.5\",\"4.0\",\"4.5\",}},imagepath={kind=\"p"
	.ascii	"ath\",scope=\"config\",},imageoptions={kind=\"list\""
	.ascii	",scope=\"config\",},implibdir={kind=\"path\",scope="
	.ascii	"\"config\",},implibextension={kind=\"string\",scope"
	.ascii	"=\"config\",},implibname={kind=\"string\",scope=\"c"
	.ascii	"onfig\",},implibprefix={kind=\"string\",scope=\"con"
	.ascii	"fig\",},implibsuffix={kind=\"string\",scope=\"confi"
	.ascii	"g\",},includedirs={kind=\"dirlist\",scope=\"config\""
	.ascii	",usagecopy=true,},kind={kind=\"string\",scope=\"con"
	.ascii	"fig\",allowed={\"ConsoleApp\",\"WindowedApp\",\"Sta"
	.ascii	"ticLib\",\"SharedLib\"}},language={kind=\"string\","
	.ascii	"scope=\"container\",allowed={\"C\",\"C++\",\"C#\"}}"
	.ascii	",libdirs={kind=\"dirlist\",scope=\"config\",linkage"
	.ascii	"copy=true,},linkoptions={kind=\"list\",scope=\"conf"
	.ascii	"ig\",},l"
	.ascii	"inks={kind=\"list\",scope=\"config\",allowed=functi"
	.ascii	"on(e)if e:find('/',nil,true)then\012e=path.getabsol"
	.ascii	"ute(e)end\012return e\012end,linkagecopy=true,},loc"
	.ascii	"ation={kind=\"path\",scope=\"container\",},makesett"
	.ascii	"ings={kind=\"list\",scope=\"config\",},objdir={kind"
	.ascii	"=\"path\",scope=\"config\",},pchheader={kind=\"stri"
	.ascii	"ng\",scope=\"config\",},pchsource={kind=\"path\",sc"
	.ascii	"ope=\"config\",},platforms={kind=\"list\",scope=\"s"
	.ascii	"olution\",allowed=table.keys(premake.platforms),},p"
	.ascii	"ostbuildcommands={kind=\"list\",scope=\"config\",},"
	.ascii	"prebuildcommands={kind=\"list\",scope=\"config\",},"
	.ascii	"prelinkcommands={kind=\"list\",scope=\"config\",},r"
	.ascii	"esdefines={kind=\"list\",scope=\"config\",},resincl"
	.ascii	"udedirs={kind=\"dirlist\",scope=\"config\",},resopt"
	.ascii	"ions={kind=\"list\",scope=\"config\",},targetdir={k"
	.ascii	"ind=\"path\",scope=\"config\",},targetextension={ki"
	.ascii	"nd=\"string\",scope=\"config\",},targetname={kind=\""
	.ascii	"string\",scope=\"config\",},targetprefix={kind=\"st"
	.ascii	"ring\",scope=\"config\",},targetsuffix={kind=\"stri"
	.ascii	"ng\",scope=\"config\",},trimpaths={kind=\"dirlist\""
	.ascii	",scope=\"config\",},uuid={kind=\"string\",scope=\"c"
	.ascii	"ontainer\",allowed=function(e)local n=true\012if(#e"
	.ascii	"~=36)then n=false end\012for t=1,36 do\012local e=e"
	.ascii	":sub(t,t)if(not e:find(\"[ABCDEFabcdef0123456789-]\""
	.ascii	"))then n=false end\012end\012if(e:sub(9,9)~=\"-\")t"
	.ascii	"hen n=false end\012if(e:sub(14,14)~=\"-\")then n=fa"
	.ascii	"lse end\012if(e:sub(19,19)~=\"-\")then n=false end\012"
	.ascii	"if(e:sub(24,24)~=\"-\")then n=false end\012if(not n"
	.ascii	")then\012return nil,\"invalid UUID\"end\012return e"
	.ascii	":upper()end},uses={kind=\"list\",scope=\"config\",}"
	.ascii	",vpaths={kind=\"keypath\",scope=\"container\",},}fu"
	.ascii	"nction premake.checkvalue(e,n)if(n)then\012if(type("
	.ascii	"n)==\"function\")then\012return n(e)else\012for t,n"
	.ascii	" in ipairs(n)do\012if(e:lower()==n:lower())then\012"
	.ascii	"return n\012end\012end\012return nil,\"invalid valu"
	.ascii	"e '\"..e..\"'\"end\012else\012return e\012end\012en"
	.ascii	"d\012function premake.getobject(n)local e\012if(n=="
	.ascii	"\"container\"or n==\"solution\")then\012e=premake.C"
	.ascii	"urrentContainer\012else\012e=premake.CurrentConfigu"
	.ascii	"ration\012end\012if n==\"solution\"then\012if type("
	.ascii	"e)==\"project\"then\012e=e.solution\012end\012if ty"
	.ascii	"pe(e)~=\"solution\"then\012e=nil\012end\012end\012l"
	.ascii	"ocal t\012if(not e)then\012if(n==\"container\")then"
	.ascii	"\012t=\"no active solution or project\"elseif(n==\""
	.ascii	"solu"
	.ascii	"tion\")then\012t=\"no active solution\"else\012t=\""
	.ascii	"no active solution, project, or configuration\"end\012"
	.ascii	"end\012return e,t\012end\012function premake.setarr"
	.ascii	"ay(e,t,a,s)local n,i=premake.getobject(e)if(not n)t"
	.ascii	"hen\012error(i,4)end\012if(not n[t])then\012n[t]={}"
	.ascii	"end\012local function r(e,o)if(type(e)==\"table\")t"
	.ascii	"hen\012for n,e in ipairs(e)do\012r(e,o+1)end\012els"
	.ascii	"e\012e,i=premake.checkvalue(e,s)if(not e)then\012er"
	.ascii	"ror(i,o)end\012table.insert(n[t],e)end\012end\012if"
	.ascii	"(a)then\012r(a,5)end\012return n[t]end\012local fun"
	.ascii	"ction i(i,r,o,a)local t={}function makeabsolute(e,n"
	.ascii	")if(type(e)==\"table\")then\012for t,e in ipairs(e)"
	.ascii	"do\012makeabsolute(e,n+1)end\012elseif type(e)==\"s"
	.ascii	"tring\"then\012if e:find(\"*\")then\012makeabsolute"
	.ascii	"(a(e),n+1)else\012table.insert(t,path.getabsolute(e"
	.ascii	"))end\012else\012error(\"Invalid value in list: exp"
	.ascii	"ected string, got \"..type(e),n)end\012end\012makea"
	.ascii	"bsolute(o,3)return premake.setarray(i,r,t)end\012fu"
	.ascii	"nction premake.setdirarray(n,e,t)return i(n,e,t,os."
	.ascii	"matchdirs)end\012function premake.setfilearray(t,e,"
	.ascii	"n)return i(t,e,n,os.matchfiles)end\012function prem"
	.ascii	"ake.setkeyvalue(e,n,t)local e,i=premake.getobject(e"
	.ascii	")if not e then\012error(i,4)end\012if not e[n]then\012"
	.ascii	"e[n]={}end\012if type(t)~=\"table\"then\012error(\""
	.ascii	"invalid value; table expected\",4)end\012local e=e["
	.ascii	"n]for n,t in pairs(t)do\012if not e[n]then\012e[n]="
	.ascii	"{}end\012table.insertflat(e[n],t)end\012return e\012"
	.ascii	"end\012function premake.setstring(n,i,e,r)local n,t"
	.ascii	"=premake.getobject(n)if(not n)then\012error(t,4)end"
	.ascii	"\012if(e)then\012e,t=premake.checkvalue(e,r)if(not "
	.ascii	"e)then\012error(t,4)end\012n[i]=e\012end\012return "
	.ascii	"n[i]end\012local function o(n,e)local t=premake.fie"
	.ascii	"lds[n].kind\012local i=premake.fields[n].scope\012l"
	.ascii	"ocal r=premake.fields[n].allowed\012if(t==\"string\""
	.ascii	"or t==\"path\")and e then\012if type(e)~=\"string\""
	.ascii	"then\012error(\"string value expected\",3)end\012en"
	.ascii	"d\012if t==\"string\"then\012return premake.setstri"
	.ascii	"ng(i,n,e,r)elseif t==\"path\"then\012if e then e=pa"
	.ascii	"th.getabsolute(e)end\012return premake.setstring(i,"
	.ascii	"n,e)elseif t==\"list\"then\012return premake.setarr"
	.ascii	"ay(i,n,e,r)elseif t==\"dirlist\"then\012return prem"
	.ascii	"ake.setdirarray(i,n,e)elseif t==\"filelist\"then\012"
	.ascii	"return premake.setfilearray(i,n,e)elseif t==\"keyva"
	.ascii	"lue\"or t==\"keypath\"then\012return premak"
	.ascii	"e.setkeyvalue(i,n,e)end\012end\012for e,n in pairs("
	.ascii	"premake.fields)do\012_G[e]=function(n)return o(e,n)"
	.ascii	"end\012end\012function configuration(t)if not t the"
	.ascii	"n\012return premake.CurrentConfiguration\012end\012"
	.ascii	"local n,e=premake.getobject(\"container\")if(not n)"
	.ascii	"then\012error(e,2)end\012local e={}e.terms=table.fl"
	.ascii	"atten({t})table.insert(n.blocks,e)premake.CurrentCo"
	.ascii	"nfiguration=e\012e.keywords={}for t,n in ipairs(e.t"
	.ascii	"erms)do\012table.insert(e.keywords,path.wildcards(n"
	.ascii	"):lower())end\012for t,n in pairs(premake.fields)do"
	.ascii	"\012if(n.kind~=\"string\"and n.kind~=\"path\")then\012"
	.ascii	"e[t]={}end\012end\012return e\012end\012local funct"
	.ascii	"ion r(t,n,i)local e={}setmetatable(e,{__type=\"proj"
	.ascii	"ect\",})table.insert(n.projects,e)if(i)then\012if(n"
	.ascii	".projects[t])then\012n.projects[t].usageProj=e;else"
	.ascii	"\012n.projects[t]=e\012end\012else\012if(n.projects"
	.ascii	"[t])then\012e.usageProj=n.projects[t];end\012n.proj"
	.ascii	"ects[t]=e\012end\012e.solution=n\012e.name=t\012e.b"
	.ascii	"asedir=os.getcwd()e.uuid=os.uuid()e.blocks={}e.usag"
	.ascii	"e=i;return e;end\012function usage(n)if(not n)then\012"
	.ascii	"if(type(premake.CurrentContainer)~=\"project\")then"
	.ascii	" return nil end\012if(not premake.CurrentContainer."
	.ascii	"usage)then return nil end\012return premake.Current"
	.ascii	"Container\012end\012local e\012if(type(premake.Curr"
	.ascii	"entContainer)==\"project\")then\012e=premake.Curren"
	.ascii	"tContainer.solution\012else\012e=premake.CurrentCon"
	.ascii	"tainer\012end\012if(type(e)~=\"solution\")then\012e"
	.ascii	"rror(\"no active solution\",2)end\012if((not e.proj"
	.ascii	"ects[n])or((not e.projects[n].usage)and(not e.proje"
	.ascii	"cts[n].usageProj)))then\012premake.CurrentContainer"
	.ascii	"=r(n,e,true)else\012premake.CurrentContainer=iff(e."
	.ascii	"projects[n].usage,e.projects[n],e.projects[n].usage"
	.ascii	"Proj)end\012configuration{}return premake.CurrentCo"
	.ascii	"ntainer\012end\012function project(n)if(not n)then\012"
	.ascii	"if(type(premake.CurrentContainer)~=\"project\")then"
	.ascii	" return nil end\012if(premake.CurrentContainer.usag"
	.ascii	"e)then return nil end\012return premake.CurrentCont"
	.ascii	"ainer\012end\012local e\012if(type(premake.CurrentC"
	.ascii	"ontainer)==\"project\")then\012e=premake.CurrentCon"
	.ascii	"tainer.solution\012else\012e=premake.CurrentContain"
	.ascii	"er\012end\012if(type(e)~=\"solution\")then\012error"
	.ascii	"(\"no active solution\",2)end\012if((not e.projects"
	.ascii	"[n])or e.projects[n].usage)then\012premake.CurrentC"
	.ascii	"ontainer=r(n,e"
	.ascii	")else\012premake.CurrentContainer=e.projects[n];end"
	.ascii	"\012configuration{}return premake.CurrentContainer\012"
	.ascii	"end\012function solution(e)if not e then\012if type"
	.ascii	"(premake.CurrentContainer)==\"project\"then\012retu"
	.ascii	"rn premake.CurrentContainer.solution\012else\012ret"
	.ascii	"urn premake.CurrentContainer\012end\012end\012prema"
	.ascii	"ke.CurrentContainer=premake.solution.get(e)if(not p"
	.ascii	"remake.CurrentContainer)then\012premake.CurrentCont"
	.ascii	"ainer=premake.solution.new(e)end\012configuration{}"
	.ascii	"return premake.CurrentContainer\012end\012function "
	.ascii	"newaction(e)premake.action.add(e)end\012function ne"
	.ascii	"woption(e)premake.option.add(e)end\000"
	.align	2
.LC14:
	.ascii	"newoption{trigger=\"cc\",value=\"VALUE\",descriptio"
	.ascii	"n=\"Choose a C/C++ compiler set\",allowed={{\"gcc\""
	.ascii	",\"GNU GCC (gcc/g++)\"},{\"ow\",\"OpenWatcom\"},}}n"
	.ascii	"ewoption{trigger=\"dotnet\",value=\"VALUE\",descrip"
	.ascii	"tion=\"Choose a .NET compiler set\",allowed={{\"msn"
	.ascii	"et\",\"Microsoft .NET (csc)\"},{\"mono\",\"Novell M"
	.ascii	"ono (mcs)\"},{\"pnet\",\"Portable.NET (cscc)\"},}}n"
	.ascii	"ewoption{trigger=\"file\",value=\"FILE\",descriptio"
	.ascii	"n=\"Read FILE as a Premake script; default is 'prem"
	.ascii	"ake4.lua'\"}newoption{trigger=\"help\",description="
	.ascii	"\"Display this information\"}newoption{trigger=\"os"
	.ascii	"\",value=\"VALUE\",description=\"Generate files for"
	.ascii	" a different operating system\",allowed={{\"bsd\",\""
	.ascii	"OpenBSD, NetBSD, or FreeBSD\"},{\"haiku\",\"Haiku\""
	.ascii	"},{\"linux\",\"Linux\"},{\"macosx\",\"Apple Mac OS "
	.ascii	"X\"},{\"solaris\",\"Solaris\"},{\"windows\",\"Micro"
	.ascii	"soft Windows\"},}}newoption{trigger=\"platform\",va"
	.ascii	"lue=\"VALUE\",description=\"Add target architecture"
	.ascii	" (if supported by action)\",allowed={{\"x32\",\"32-"
	.ascii	"bit\"},{\"x64\",\"64-bit\"},{\"universal\",\"Mac OS"
	.ascii	" X Universal, 32- and 64-bit\"},{\"universal32\",\""
	.ascii	"Mac OS X Universal, 32-bit only\"},{\"universal64\""
	.ascii	",\"Mac OS X Universal, 64-bit only\"},{\"ps3\",\"Pl"
	.ascii	"aystation 3 (experimental)\"},{\"xbox360\",\"Xbox 3"
	.ascii	"60 (experimental)\"},}}newoption{trigger=\"scripts\""
	.ascii	",value=\"path\",description=\"Search for additional"
	.ascii	" scripts on the given path\"}newoption{trigger=\"ve"
	.ascii	"rsion\",description=\"Display version information\""
	.ascii	"}newoption{trigger=\"generate_user\",description=\""
	.ascii	"Generate (and remove when cleaning) .user VStudio f"
	.ascii	"iles\"}\000"
	.align	2
.LC15:
	.ascii	"premake.dotnet={}premake.dotnet.namestyle=\"windows"
	.ascii	"\"local t={FatalWarning=\"/warnaserror\",Optimize=\""
	.ascii	"/optimize\",OptimizeSize=\"/optimize\",OptimizeSpee"
	.ascii	"d=\"/optimize\",Symbols=\"/debug\",Unsafe=\"/unsafe"
	.ascii	"\"}function premake.dotnet.getbuildaction(e)local n"
	.ascii	"=path.getextension(e.name):lower()if e.buildaction="
	.ascii	"=\"Compile\"or n==\".cs\"then\012return\"Compile\"e"
	.ascii	"lseif e.buildaction==\"Embed\"or n==\".resx\"then\012"
	.ascii	"return\"EmbeddedResource\"elseif e.buildaction==\"C"
	.ascii	"opy\"or n==\".asax\"or n==\".aspx\"then\012return\""
	.ascii	"Content\"elseif e.buildaction==\"Page\"or n==\".xam"
	.ascii	"l\"then\012if(path.getname(e.name)==\"App.xaml\")th"
	.ascii	"en\012return\"ApplicationDefinition\"else\012return"
	.ascii	"\"Page\"end\012else\012return\"None\"end\012end\012"
	.ascii	"function premake.dotnet.getcompilervar(e)if(_OPTION"
	.ascii	"S.dotnet==\"msnet\")then\012return\"csc\"elseif(_OP"
	.ascii	"TIONS.dotnet==\"mono\")then\012if(e.framework<=\"1."
	.ascii	"1\")then\012return\"mcs\"elseif(e.framework>=\"4.0\""
	.ascii	")then\012return\"dmcs\"else\012return\"gmcs\"end\012"
	.ascii	"else\012return\"cscc\"end\012end\012function premak"
	.ascii	"e.dotnet.getflags(e)local e=table.translate(e.flags"
	.ascii	",t)return e\012end\012function premake.dotnet.getki"
	.ascii	"nd(e)if(e.kind==\"ConsoleApp\")then\012return\"Exe\""
	.ascii	"elseif(e.kind==\"WindowedApp\")then\012return\"WinE"
	.ascii	"xe\"elseif(e.kind==\"SharedLib\")then\012return\"Li"
	.ascii	"brary\"end\012end\000"
	.align	2
.LC16:
	.ascii	"premake.gcc={}premake.gcc.cc=\"gcc\"premake.gcc.cxx"
	.ascii	"=\"g++\"premake.gcc.ar=\"ar\"local n={EnableSSE=\"-"
	.ascii	"msse\",EnableSSE2=\"-msse2\",ExtraWarnings=\"-Wall "
	.ascii	"-Wextra\",FatalWarnings=\"-Werror\",FloatFast=\"-ff"
	.ascii	"ast-math\",FloatStrict=\"-ffloat-store\",NoFramePoi"
	.ascii	"nter=\"-fomit-frame-pointer\",Optimize=\"-O2\",Opti"
	.ascii	"mizeSize=\"-Os\",OptimizeSpeed=\"-O3\",Symbols=\"-g"
	.ascii	"\",}local l={NoExceptions=\"-fno-exceptions\",NoRTT"
	.ascii	"I=\"-fno-rtti\",}premake.gcc.platforms={Native={cpp"
	.ascii	"flags=\"-MMD\",},x32={cppflags=\"-MMD\",flags=\"-m3"
	.ascii	"2\",ldflags=\"-L/usr/lib32\",},x64={cppflags=\"-MMD"
	.ascii	"\",flags=\"-m64\",ldflags=\"-L/usr/lib64\",},Univer"
	.ascii	"sal={cppflags=\"\",flags=\"-arch i386 -arch x86_64 "
	.ascii	"-arch ppc -arch ppc64\",},Universal32={cppflags=\"\""
	.ascii	",flags=\"-arch i386 -arch ppc\",},Universal64={cppf"
	.ascii	"lags=\"\",flags=\"-arch x86_64 -arch ppc64\",},PS3="
	.ascii	"{cc=\"ppu-lv2-g++\",cxx=\"ppu-lv2-g++\",ar=\"ppu-lv"
	.ascii	"2-ar\",cppflags=\"-MMD\",},WiiDev={cppflags=\"-MMD "
	.ascii	"-MP -I$(LIBOGC_INC) $(MACHDEP)\",ldflags=\"-L$(LIBO"
	.ascii	"GC_LIB) $(MACHDEP)\",cfgsettings=[[\012  ifeq ($(st"
	.ascii	"rip $(DEVKITPPC)),)\012\011$(error \"DEVKITPPC envi"
	.ascii	"ronment variable is not set\")'\012  endif\012  inc"
	.ascii	"lude $(DEVKITPPC)/wii_rules']],},}local t=premake.g"
	.ascii	"cc.platforms\012function premake.gcc.getcppflags(a)"
	.ascii	"local e={}table.insert(e,t[a.platform].cppflags)if "
	.ascii	"e[1]:startswith(\"-MMD\")and a.system~=\"haiku\"the"
	.ascii	"n\012table.insert(e,\"-MP\")end\012return e\012end\012"
	.ascii	"function premake.gcc.getcflags(e)local a=table.tran"
	.ascii	"slate(e.flags,n)table.insert(a,t[e.platform].flags)"
	.ascii	"if e.system~=\"windows\"and e.kind==\"SharedLib\"th"
	.ascii	"en\012table.insert(a,\"-fPIC\")end\012return a\012e"
	.ascii	"nd\012function premake.gcc.getcxxflags(e)local e=ta"
	.ascii	"ble.translate(e.flags,l)return e\012end\012function"
	.ascii	" premake.gcc.getldflags(e)local a={}if not e.flags."
	.ascii	"Symbols then\012if e.system==\"macosx\"then\012tabl"
	.ascii	"e.insert(a,\"-Wl,-x\")else\012table.insert(a,\"-s\""
	.ascii	")end\012end\012if e.kind==\"SharedLib\"then\012if e"
	.ascii	".system==\"macosx\"then\012table.insert(a,\"-dynami"
	.ascii	"clib\")else\012table.insert(a,\"-shared\")end\012if"
	.ascii	" e.system==\"windows\"and not e.flags.NoImportLib t"
	.ascii	"hen\012table.insert(a,'-Wl,--out-implib=\"'..e.link"
	.ascii	"target.fullpath..'\"')end\012end\012if e.kind==\"Wi"
	.ascii	"ndowedApp\"and e.system==\"windows\"then\012tab"
	.ascii	"le.insert(a,\"-mwindows\")end\012local e=t[e.platfo"
	.ascii	"rm]table.insert(a,e.flags)table.insert(a,e.ldflags)"
	.ascii	"return a\012end\012function premake.gcc.getlibdirfl"
	.ascii	"ags(a)local e={}for t,a in ipairs(premake.getlinks("
	.ascii	"a,\"all\",\"directory\"))do\012table.insert(e,'-L'."
	.ascii	"._MAKE.esc(a))end\012return e\012end\012function pr"
	.ascii	"emake.gcc.getlinkflags(a)local e={}for t,a in ipair"
	.ascii	"s(premake.getlinks(a,\"system\",\"name\"))do\012if "
	.ascii	"path.getextension(a)==\".framework\"then\012table.i"
	.ascii	"nsert(e,'-framework '.._MAKE.esc(path.getbasename(a"
	.ascii	")))else\012table.insert(e,'-l'.._MAKE.esc(a))end\012"
	.ascii	"end\012return e\012end\012function premake.gcc.getd"
	.ascii	"efines(a)local e={}for t,a in ipairs(a)do\012table."
	.ascii	"insert(e,'-D'..a)end\012return e\012end\012function"
	.ascii	" premake.gcc.getincludedirs(a)local e={}for t,a in "
	.ascii	"ipairs(a)do\012table.insert(e,\"-I\".._MAKE.esc(a))"
	.ascii	"end\012return e\012end\012function premake.gcc.getc"
	.ascii	"fgsettings(e)return t[e.platform].cfgsettings\012en"
	.ascii	"d\000"
	.align	2
.LC17:
	.ascii	"premake.msc={}premake.msc.namestyle=\"windows\"\000"
	.align	2
.LC18:
	.ascii	"premake.ow={}premake.ow.namestyle=\"windows\"premak"
	.ascii	"e.ow.cc=\"WCL386\"premake.ow.cxx=\"WCL386\"premake."
	.ascii	"ow.ar=\"ar\"local e={ExtraWarnings=\"-wx\",FatalWar"
	.ascii	"ning=\"-we\",FloatFast=\"-omn\",FloatStrict=\"-op\""
	.ascii	",Optimize=\"-ox\",OptimizeSize=\"-os\",OptimizeSpee"
	.ascii	"d=\"-ot\",Symbols=\"-d2\",}local n={NoExceptions=\""
	.ascii	"-xd\",NoRTTI=\"-xr\",}premake.ow.platforms={Native="
	.ascii	"{flags=\"\"},}function premake.ow.getcppflags(e)ret"
	.ascii	"urn{}end\012function premake.ow.getcflags(a)local e"
	.ascii	"=table.translate(a.flags,e)if(a.flags.Symbols)then\012"
	.ascii	"table.insert(e,\"-hw\")end\012return e\012end\012fu"
	.ascii	"nction premake.ow.getcxxflags(e)local e=table.trans"
	.ascii	"late(e.flags,n)return e\012end\012function premake."
	.ascii	"ow.getldflags(a)local e={}if(a.flags.Symbols)then\012"
	.ascii	"table.insert(e,\"op symf\")end\012return e\012end\012"
	.ascii	"function premake.ow.getlinkflags(e)local e={}return"
	.ascii	" e\012end\012function premake.ow.getdefines(a)local"
	.ascii	" e={}for n,a in ipairs(a)do\012table.insert(e,'-D'."
	.ascii	".a)end\012return e\012end\012function premake.ow.ge"
	.ascii	"tincludedirs(a)local e={}for n,a in ipairs(a)do\012"
	.ascii	"table.insert(e,'-I \"'..a..'\"')end\012return e\012"
	.ascii	"end\000"
	.align	2
.LC19:
	.ascii	"premake.snc={}premake.snc.cc=\"snc\"premake.snc.cxx"
	.ascii	"=\"g++\"premake.snc.ar=\"ar\"local n={ExtraWarnings"
	.ascii	"=\"-Xdiag=2\",FatalWarnings=\"-Xquit=2\",}local t={"
	.ascii	"NoExceptions=\"\",NoRTTI=\"-Xc-=rtti\",}premake.snc"
	.ascii	".platforms={PS3={cc=\"ppu-lv2-g++\",cxx=\"ppu-lv2-g"
	.ascii	"++\",ar=\"ppu-lv2-ar\",cppflags=\"-MMD -MP\",}}loca"
	.ascii	"l a=premake.snc.platforms\012function premake.snc.g"
	.ascii	"etcppflags(n)local e={}table.insert(e,a[n.platform]"
	.ascii	".cppflags)return e\012end\012function premake.snc.g"
	.ascii	"etcflags(e)local n=table.translate(e.flags,n)table."
	.ascii	"insert(n,a[e.platform].flags)if e.kind==\"SharedLib"
	.ascii	"\"then\012table.insert(n,\"-fPIC\")end\012return n\012"
	.ascii	"end\012function premake.snc.getcxxflags(e)local e=t"
	.ascii	"able.translate(e.flags,t)return e\012end\012functio"
	.ascii	"n premake.snc.getldflags(n)local e={}if not n.flags"
	.ascii	".Symbols then\012table.insert(e,\"-s\")end\012if n."
	.ascii	"kind==\"SharedLib\"then\012table.insert(e,\"-shared"
	.ascii	"\")if not n.flags.NoImportLib then\012table.insert("
	.ascii	"e,'-Wl,--out-implib=\"'..n.linktarget.fullpath..'\""
	.ascii	"')end\012end\012local n=a[n.platform]table.insert(e"
	.ascii	",n.flags)table.insert(e,n.ldflags)return e\012end\012"
	.ascii	"function premake.snc.getlibdirflags(n)local e={}for"
	.ascii	" a,n in ipairs(premake.getlinks(n,\"all\",\"directo"
	.ascii	"ry\"))do\012table.insert(e,'-L'.._MAKE.esc(n))end\012"
	.ascii	"return e\012end\012function premake.snc.getlinkflag"
	.ascii	"s(n)local e={}for a,n in ipairs(premake.getlinks(n,"
	.ascii	"\"system\",\"name\"))do\012table.insert(e,'-l'.._MA"
	.ascii	"KE.esc(n))end\012return e\012end\012function premak"
	.ascii	"e.snc.getdefines(n)local e={}for a,n in ipairs(n)do"
	.ascii	"\012table.insert(e,'-D'..n)end\012return e\012end\012"
	.ascii	"function premake.snc.getincludedirs(n)local e={}for"
	.ascii	" a,n in ipairs(n)do\012table.insert(e,\"-I\".._MAKE"
	.ascii	".esc(n))end\012return e\012end\000"
	.align	2
.LC20:
	.ascii	"function premake.checkprojects()local n=premake.act"
	.ascii	"ion.current()for e in premake.solution.each()do\012"
	.ascii	"if(#e.projects==0)then\012return nil,\"solution '\""
	.ascii	"..e.name..\"' needs at least one project\"end\012if"
	.ascii	"(#e.configurations==0)then\012return nil,\"solution"
	.ascii	" '\"..e.name..\"' needs configurations\"end\012for "
	.ascii	"e in premake.solution.eachproject(e)do\012if(not e."
	.ascii	"language)then\012return nil,\"project '\"..e.name.."
	.ascii	"\"' needs a language\"end\012if(n.valid_languages)t"
	.ascii	"hen\012if(not table.contains(n.valid_languages,e.la"
	.ascii	"nguage))then\012return nil,\"the \"..n.shortname..\""
	.ascii	" action does not support \"..e.language..\" project"
	.ascii	"s\"end\012end\012for t in premake.eachconfig(e)do\012"
	.ascii	"if(not t.kind)then\012return nil,\"project '\"..e.n"
	.ascii	"ame..\"' needs a kind in configuration '\"..t.name."
	.ascii	".\"'\"end\012if(n.valid_kinds)then\012if(not table."
	.ascii	"contains(n.valid_kinds,t.kind))then\012return nil,\""
	.ascii	"the \"..n.shortname..\" action does not support \"."
	.ascii	".t.kind..\" projects\"end\012end\012end\012if n.onc"
	.ascii	"heckproject then\012n.oncheckproject(e)end\012end\012"
	.ascii	"end\012return true\012end\012function premake.check"
	.ascii	"tools()local e=premake.action.current()if(not e.val"
	.ascii	"id_tools)then\012return true\012end\012for n,t in p"
	.ascii	"airs(e.valid_tools)do\012if(_OPTIONS[n])then\012if("
	.ascii	"not table.contains(t,_OPTIONS[n]))then\012return ni"
	.ascii	"l,\"the \"..e.shortname..\" action does not support"
	.ascii	" /\"..n..\"=\".._OPTIONS[n]..\" (yet)\"end\012else\012"
	.ascii	"_OPTIONS[n]=t[1]end\012end\012return true\012end\000"
	.align	2
.LC21:
	.ascii	"function premake.showhelp()printf(\"Premake %s, a b"
	.ascii	"uild script generator\",_PREMAKE_VERSION)printf(_PR"
	.ascii	"EMAKE_COPYRIGHT)printf(\"%s %s\",_VERSION,_COPYRIGH"
	.ascii	"T)printf(\"\")printf(\"Usage: premake4 [options] ac"
	.ascii	"tion [arguments]\")printf(\"\")printf(\"OPTIONS\")p"
	.ascii	"rintf(\"\")for n in premake.option.each()do\012loca"
	.ascii	"l i=n.trigger\012local e=n.description\012if(n.valu"
	.ascii	"e)then i=i..\"=\"..n.value end\012if(n.allowed)then"
	.ascii	" e=e..\"; one of:\"end\012printf(\" --%-15s %s\",i,"
	.ascii	"e)if(n.allowed)then\012for i,n in ipairs(n.allowed)"
	.ascii	"do\012printf(\"     %-14s %s\",n[1],n[2])end\012end"
	.ascii	"\012printf(\"\")end\012printf(\"ACTIONS\")printf(\""
	.ascii	"\")for n in premake.action.each()do\012printf(\" %-"
	.ascii	"17s %s\",n.trigger,n.description)end\012printf(\"\""
	.ascii	")printf(\"For additional information, see http://in"
	.ascii	"dustriousone.com/premake\")end\000"
	.align	2
.LC22:
	.ascii	"function premake.generate(n,e,t)e=premake.project.g"
	.ascii	"etfilename(n,e)printf(\"Generating %s...\",e)local "
	.ascii	"e,o=io.open(e,\"wb\")if(not e)then\012error(o,0)end"
	.ascii	"\012io.output(e)t(n)e:close()end\000"
	.align	2
.LC23:
	.ascii	"premake.codeblocks={}newaction{trigger=\"codeblocks"
	.ascii	"\",shortname=\"Code::Blocks\",description=\"Generat"
	.ascii	"e Code::Blocks project files\",valid_kinds={\"Conso"
	.ascii	"leApp\",\"WindowedApp\",\"StaticLib\",\"SharedLib\""
	.ascii	"},valid_languages={\"C\",\"C++\"},valid_tools={cc={"
	.ascii	"\"gcc\",\"ow\"},},onsolution=function(e)premake.gen"
	.ascii	"erate(e,\"%%.workspace\",premake.codeblocks.workspa"
	.ascii	"ce)end,onproject=function(e)premake.generate(e,\"%%"
	.ascii	".cbp\",premake.codeblocks.cbp)end,oncleansolution=f"
	.ascii	"unction(e)premake.clean.file(e,\"%%.workspace\")end"
	.ascii	",oncleanproject=function(e)premake.clean.file(e,\"%"
	.ascii	"%.cbp\")premake.clean.file(e,\"%%.depend\")premake."
	.ascii	"clean.file(e,\"%%.layout\")end}\000"
	.align	2
.LC24:
	.ascii	"function premake.codeblocks.workspace(e)_p('<?xml v"
	.ascii	"ersion=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\""
	.ascii	" ?>')_p('<CodeBlocks_workspace_file>')_p(1,'<Worksp"
	.ascii	"ace title=\"%s\">',e.name)for o in premake.solution"
	.ascii	".eachproject(e)do\012local p=path.join(path.getrela"
	.ascii	"tive(e.location,o.location),o.name)local a=iif(o.pr"
	.ascii	"oject==e.projects[1],' active=\"1\"','')_p(2,'<Proj"
	.ascii	"ect filename=\"%s.cbp\"%s>',p,a)for a,o in ipairs(p"
	.ascii	"remake.getdependencies(o))do\012_p(3,'<Depends file"
	.ascii	"name=\"%s.cbp\" />',path.join(path.getrelative(e.lo"
	.ascii	"cation,o.location),o.name))end\012_p(2,'</Project>'"
	.ascii	")end\012_p(1,'</Workspace>')_p('</CodeBlocks_worksp"
	.ascii	"ace_file>')end\000"
	.align	2
.LC25:
	.ascii	"local p=premake.codeblocks\012function p.files(e)lo"
	.ascii	"cal o\012if(e.pchheader)then\012o=path.getrelative("
	.ascii	"e.location,e.pchheader)end\012for i in premake.proj"
	.ascii	"ect.eachfile(e)do\012_p(2,'<Unit filename=\"%s\">',"
	.ascii	"premake.esc(i.name))if i.name~=i.vpath then\012_p(3"
	.ascii	",'<Option virtualFolder=\"%s\" />',path.getdirector"
	.ascii	"y(i.vpath))end\012if path.isresourcefile(i.name)the"
	.ascii	"n\012_p(3,'<Option compilerVar=\"WINDRES\" />')else"
	.ascii	"if path.iscfile(i.name)and e.language==\"C++\"then\012"
	.ascii	"_p(3,'<Option compilerVar=\"CC\" />')end\012if not "
	.ascii	"e.flags.NoPCH and i.name==o then\012_p(3,'<Option c"
	.ascii	"ompilerVar=\"%s\" />',iif(e.language==\"C\",\"CC\","
	.ascii	"\"CPP\"))_p(3,'<Option compile=\"1\" />')_p(3,'<Opt"
	.ascii	"ion weight=\"0\" />')_p(3,'<Add option=\"-x c++-hea"
	.ascii	"der\" />')end\012_p(2,'</Unit>')end\012end\012funct"
	.ascii	"ion premake.codeblocks.debugenvs(i)if premake.getto"
	.ascii	"ol(i)==premake.gcc then\012_p(3,'<debugger>')_p(4,'"
	.ascii	"<remote_debugging target=\"%s\">',premake.esc(i.lon"
	.ascii	"gname))local e=''local n=#i.debugenvs\012for o,i in"
	.ascii	" ipairs(i.debugenvs)do\012e=e..'set env '..i\012if "
	.ascii	"n~=o then e=e..'&#x0A;'end\012end\012_p(5,'<options"
	.ascii	" additional_cmds_before=\"%s\" />',e)_p(4,'</remote"
	.ascii	"_debugging>')_p(3,'</debugger>')else\012error('Sorr"
	.ascii	"y at this moment there is no support for debug envi"
	.ascii	"ronment variables with this debugger and codeblocks"
	.ascii	"')end\012end\012function premake.codeblocks.cbp(i)l"
	.ascii	"ocal o=premake.gettool(i)_p('<?xml version=\"1.0\" "
	.ascii	"encoding=\"UTF-8\" standalone=\"yes\" ?>')_p('<Code"
	.ascii	"Blocks_project_file>')_p(1,'<FileVersion major=\"1\""
	.ascii	" minor=\"6\" />')_p(1,'<Project>')_p(2,'<Option tit"
	.ascii	"le=\"%s\" />',premake.esc(i.name))_p(2,'<Option pch"
	.ascii	"_mode=\"2\" />')_p(2,'<Option compiler=\"%s\" />',_"
	.ascii	"OPTIONS.cc)local n=premake.filterplatforms(i.soluti"
	.ascii	"on,o.platforms,\"Native\")for e=#n,1,-1 do\012if pr"
	.ascii	"emake.platforms[n[e]].iscrosscompiler then\012table"
	.ascii	".remove(n,e)end\012end\012_p(2,'<Build>')for n,e in"
	.ascii	" ipairs(n)do\012for e in premake.eachconfig(i,e)do\012"
	.ascii	"_p(3,'<Target title=\"%s\">',premake.esc(e.longname"
	.ascii	"))_p(4,'<Option output=\"%s\" prefix_auto=\"0\" ext"
	.ascii	"ension_auto=\"0\" />',premake.esc(e.buildtarget.ful"
	.ascii	"lpath))if e.debugdir then\012_p(4,'<Option working_"
	.ascii	"dir=\"%s\" />',premake.esc(e.debugdir))end\012_p(4,"
	.ascii	"'<Option object_output=\"%s\" />',premake.esc(e.obj"
	.ascii	"ectsdir))local i={WindowedApp=0,ConsoleApp=1,Static"
	.ascii	"Lib=2,SharedLib=3}_p(4,'<Option type=\"%d\" />',i[e"
	.ascii	".kind])_p(4,'<Option compiler=\"%s\" />',_OPTIONS.c"
	.ascii	"c)if(e.kind==\"SharedLib\")then\012_p(4,'<Option cr"
	.ascii	"eateDefFile=\"0\" />')_p(4,'<Option createStaticLib"
	.ascii	"=\"%s\" />',iif(e.flags.NoImportLib,0,1))end\012_p("
	.ascii	"4,'<Compiler>')for i,e in ipairs(table.join(o.getcf"
	.ascii	"lags(e),o.getcxxflags(e),o.getdefines(e.defines),e."
	.ascii	"buildoptions))do\012_p(5,'<Add option=\"%s\" />',pr"
	.ascii	"emake.esc(e))end\012if not e.flags.NoPCH and e.pchh"
	.ascii	"eader then\012_p(5,'<Add option=\"-Winvalid-pch\" /"
	.ascii	">')_p(5,'<Add option=\"-include &quot;%s&quot;\" />"
	.ascii	"',premake.esc(e.pchheader))end\012for i,e in ipairs"
	.ascii	"(e.includedirs)do\012_p(5,'<Add directory=\"%s\" />"
	.ascii	"',premake.esc(e))end\012_p(4,'</Compiler>')_p(4,'<L"
	.ascii	"inker>')for i,e in ipairs(table.join(o.getldflags(e"
	.ascii	"),e.linkoptions))do\012_p(5,'<Add option=\"%s\" />'"
	.ascii	",premake.esc(e))end\012for i,e in ipairs(premake.ge"
	.ascii	"tlinks(e,\"all\",\"directory\"))do\012_p(5,'<Add di"
	.ascii	"rectory=\"%s\" />',premake.esc(e))end\012for i,e in"
	.ascii	" ipairs(premake.getlinks(e,\"all\",\"basename\"))do"
	.ascii	"\012_p(5,'<Add library=\"%s\" />',premake.esc(e))en"
	.ascii	"d\012_p(4,'</Linker>')if premake.findfile(e,\".rc\""
	.ascii	")then\012_p(4,'<ResourceCompiler>')for i,e in ipair"
	.ascii	"s(e.includedirs)do\012_p(5,'<Add directory=\"%s\" /"
	.ascii	">',premake.esc(e))end\012for i,e in ipairs(e.resinc"
	.ascii	"ludedirs)do\012_p(5,'<Add directory=\"%s\" />',prem"
	.ascii	"ake.esc(e))end\012_p(4,'</ResourceCompiler>')end\012"
	.ascii	"if#e.prebuildcommands>0 or#e.postbuildcommands>0 th"
	.ascii	"en\012_p(4,'<ExtraCommands>')for i,e in ipairs(e.pr"
	.ascii	"ebuildcommands)do\012_p(5,'<Add before=\"%s\" />',p"
	.ascii	"remake.esc(e))end\012for i,e in ipairs(e.postbuildc"
	.ascii	"ommands)do\012_p(5,'<Add after=\"%s\" />',premake.e"
	.ascii	"sc(e))end\012_p(4,'</ExtraCommands>')end\012_p(3,'<"
	.ascii	"/Target>')end\012end\012_p(2,'</Build>')p.files(i)_"
	.ascii	"p(2,'<Extensions>')for o,e in ipairs(n)do\012for e "
	.ascii	"in premake.eachconfig(i,e)do\012if e.debugenvs and#"
	.ascii	"e.debugenvs>0 then\012premake.codeblocks.debugenvs("
	.ascii	"e)end\012end\012end\012_p(2,'</Extensions>')_p(1,'<"
	.ascii	"/Project>')_p('</CodeBlocks_project_file>')_p('')en"
	.ascii	"d\000"
	.align	2
.LC26:
	.ascii	"premake.codelite={}newaction{trigger=\"codelite\",s"
	.ascii	"hortname=\"CodeLite\",description=\"Generate CodeLi"
	.ascii	"te project files\",valid_kinds={\"ConsoleApp\",\"Wi"
	.ascii	"ndowedApp\",\"StaticLib\",\"SharedLib\"},valid_lang"
	.ascii	"uages={\"C\",\"C++\"},valid_tools={cc={\"gcc\"},},o"
	.ascii	"nsolution=function(e)premake.generate(e,\"%%.worksp"
	.ascii	"ace\",premake.codelite.workspace)end,onproject=func"
	.ascii	"tion(e)premake.generate(e,\"%%.project\",premake.co"
	.ascii	"delite.project)end,oncleansolution=function(e)prema"
	.ascii	"ke.clean.file(e,\"%%.workspace\")premake.clean.file"
	.ascii	"(e,\"%%_wsp.mk\")premake.clean.file(e,\"%%.tags\")e"
	.ascii	"nd,oncleanproject=function(e)premake.clean.file(e,\""
	.ascii	"%%.project\")premake.clean.file(e,\"%%.mk\")premake"
	.ascii	".clean.file(e,\"%%.list\")premake.clean.file(e,\"%%"
	.ascii	".out\")end}\000"
	.align	2
.LC27:
	.ascii	"function premake.codelite.workspace(e)_p('<?xml ver"
	.ascii	"sion=\"1.0\" encoding=\"utf-8\"?>')_p('<CodeLite_Wo"
	.ascii	"rkspace Name=\"%s\" Database=\"./%s.tags\">',premak"
	.ascii	"e.esc(e.name),premake.esc(e.name))for o,a in ipairs"
	.ascii	"(e.projects)do\012local i=premake.esc(a.name)local "
	.ascii	"a=path.join(path.getrelative(e.location,a.location)"
	.ascii	",a.name)local e=iif(o==1,\"Yes\",\"No\")_p('  <Proj"
	.ascii	"ect Name=\"%s\" Path=\"%s.project\" Active=\"%s\" /"
	.ascii	">',i,a,e)end\012local a=premake.filterplatforms(e,p"
	.ascii	"remake[_OPTIONS.cc].platforms,\"Native\")for e=#a,1"
	.ascii	",-1 do\012if premake.platforms[a[e]].iscrosscompile"
	.ascii	"r then\012table.remove(a,e)end\012end\012_p('  <Bui"
	.ascii	"ldMatrix>')for a,o in ipairs(a)do\012for i,a in ipa"
	.ascii	"irs(e.configurations)do\012local a=premake.getconfi"
	.ascii	"gname(a,o):gsub(\"|\",\"_\")_p('    <WorkspaceConfi"
	.ascii	"guration Name=\"%s\" Selected=\"yes\">',a)for o,e i"
	.ascii	"n ipairs(e.projects)do\012_p('      <Project Name=\""
	.ascii	"%s\" ConfigName=\"%s\"/>',e.name,a)end\012_p('    <"
	.ascii	"/WorkspaceConfiguration>')end\012end\012_p('  </Bui"
	.ascii	"ldMatrix>')_p('</CodeLite_Workspace>')end\000"
	.align	2
.LC28:
	.ascii	"local e=premake.codelite\012local i=premake.tree\012"
	.ascii	"function e.files(e)local e=premake.project.buildsou"
	.ascii	"rcetree(e)i.traverse(e,{onbranchenter=function(i,e)"
	.ascii	"_p(e,'<VirtualDirectory Name=\"%s\">',i.name)end,on"
	.ascii	"branchexit=function(i,e)_p(e,'</VirtualDirectory>')"
	.ascii	"end,onleaf=function(i,e)_p(e,'<File Name=\"%s\"/>',"
	.ascii	"i.cfg.name)end,},true,1)end\012function premake.cod"
	.ascii	"elite.project(i)io.indent=\"  \"_p('<?xml version=\""
	.ascii	"1.0\" encoding=\"utf-8\"?>')_p('<CodeLite_Project N"
	.ascii	"ame=\"%s\">',premake.esc(i.name))e.files(i)local n="
	.ascii	"{ConsoleApp=\"Executable\",WindowedApp=\"Executable"
	.ascii	"\",StaticLib=\"Static Library\",SharedLib=\"Dynamic"
	.ascii	" Library\",}_p('  <Settings Type=\"%s\">',n[i.kind]"
	.ascii	")local o=premake.filterplatforms(i.solution,premake"
	.ascii	"[_OPTIONS.cc].platforms,\"Native\")for e=#o,1,-1 do"
	.ascii	"\012if premake.platforms[o[e]].iscrosscompiler then"
	.ascii	"\012table.remove(o,e)end\012end\012for o,e in ipair"
	.ascii	"s(o)do\012for e in premake.eachconfig(i,e)do\012loc"
	.ascii	"al o=premake.esc(e.longname):gsub(\"|\",\"_\")local"
	.ascii	" i=iif(e.language==\"C\",\"gcc\",\"g++\")_p('    <C"
	.ascii	"onfiguration Name=\"%s\" CompilerType=\"gnu %s\" De"
	.ascii	"buggerType=\"GNU gdb debugger\" Type=\"%s\">',o,i,n"
	.ascii	"[e.kind])local r=premake.esc(e.buildtarget.fullpath"
	.ascii	")local l=premake.esc(e.objectsdir)local n=e.buildta"
	.ascii	"rget.name\012local o=e.debugdir or e.buildtarget.di"
	.ascii	"rectory\012local i=table.concat(e.debugargs,\" \")l"
	.ascii	"ocal a=iif(e.kind==\"WindowedApp\",\"no\",\"yes\")_"
	.ascii	"p('      <General OutputFile=\"%s\" IntermediateDir"
	.ascii	"ectory=\"%s\" Command=\"./%s\" CommandArguments=\"%"
	.ascii	"s\" WorkingDirectory=\"%s\" PauseExecWhenProcTermin"
	.ascii	"ates=\"%s\"/>',r,l,n,i,o,a)local i=premake.esc(tabl"
	.ascii	"e.join(premake.gcc.getcflags(e),premake.gcc.getcxxf"
	.ascii	"lags(e),e.buildoptions))_p('      <Compiler Require"
	.ascii	"d=\"yes\" Options=\"%s\">',table.concat(i,\";\"))fo"
	.ascii	"r i,e in ipairs(e.includedirs)do\012_p('        <In"
	.ascii	"cludePath Value=\"%s\"/>',premake.esc(e))end\012for"
	.ascii	" i,e in ipairs(e.defines)do\012_p('        <Preproc"
	.ascii	"essor Value=\"%s\"/>',premake.esc(e))end\012_p('   "
	.ascii	"   </Compiler>')i=premake.esc(table.join(premake.gc"
	.ascii	"c.getldflags(e),e.linkoptions))_p('      <Linker Re"
	.ascii	"quired=\"yes\" Options=\"%s\">',table.concat(i,\";\""
	.ascii	"))for i,e in ipairs(premake.g"
	.ascii	"etlinks(e,\"all\",\"directory\"))do\012_p('        "
	.ascii	"<LibraryPath Value=\"%s\" />',premake.esc(e))end\012"
	.ascii	"for i,e in ipairs(premake.getlinks(e,\"siblings\",\""
	.ascii	"basename\"))do\012_p('        <Library Value=\"%s\""
	.ascii	" />',premake.esc(e))end\012for i,e in ipairs(premak"
	.ascii	"e.getlinks(e,\"system\",\"name\"))do\012_p('       "
	.ascii	" <Library Value=\"%s\" />',premake.esc(e))end\012_p"
	.ascii	"('      </Linker>')if premake.findfile(e,\".rc\")th"
	.ascii	"en\012local i=table.implode(table.join(e.defines,e."
	.ascii	"resdefines),\"-D\",\";\",\"\")local o=table.concat("
	.ascii	"e.resoptions,\";\")_p('      <ResourceCompiler Requ"
	.ascii	"ired=\"yes\" Options=\"%s%s\">',i,o)for i,e in ipai"
	.ascii	"rs(table.join(e.includedirs,e.resincludedirs))do\012"
	.ascii	"_p('        <IncludePath Value=\"%s\"/>',premake.es"
	.ascii	"c(e))end\012_p('      </ResourceCompiler>')else\012"
	.ascii	"_p('      <ResourceCompiler Required=\"no\" Options"
	.ascii	"=\"\"/>')end\012if#e.prebuildcommands>0 then\012_p("
	.ascii	"'      <PreBuild>')for i,e in ipairs(e.prebuildcomm"
	.ascii	"ands)do\012_p('        <Command Enabled=\"yes\">%s<"
	.ascii	"/Command>',premake.esc(e))end\012_p('      </PreBui"
	.ascii	"ld>')end\012if#e.postbuildcommands>0 then\012_p('  "
	.ascii	"    <PostBuild>')for i,e in ipairs(e.postbuildcomma"
	.ascii	"nds)do\012_p('        <Command Enabled=\"yes\">%s</"
	.ascii	"Command>',premake.esc(e))end\012_p('      </PostBui"
	.ascii	"ld>')end\012_p('      <CustomBuild Enabled=\"no\">'"
	.ascii	")_p('        <CleanCommand></CleanCommand>')_p('   "
	.ascii	"     <BuildCommand></BuildCommand>')_p('        <Si"
	.ascii	"ngleFileCommand></SingleFileCommand>')_p('        <"
	.ascii	"MakefileGenerationCommand></MakefileGenerationComma"
	.ascii	"nd>')_p('        <ThirdPartyToolName>None</ThirdPar"
	.ascii	"tyToolName>')_p('        <WorkingDirectory></Workin"
	.ascii	"gDirectory>')_p('      </CustomBuild>')_p('      <A"
	.ascii	"dditionalRules>')_p('        <CustomPostBuild></Cus"
	.ascii	"tomPostBuild>')_p('        <CustomPreBuild></Custom"
	.ascii	"PreBuild>')_p('      </AdditionalRules>')_p('    </"
	.ascii	"Configuration>')end\012end\012_p('  </Settings>')fo"
	.ascii	"r o,e in ipairs(o)do\012for e in premake.eachconfig"
	.ascii	"(i,e)do\012_p('  <Dependencies name=\"%s\">',e.long"
	.ascii	"name:gsub(\"|\",\"_\"))for i,e in ipairs(premake.ge"
	.ascii	"tdependencies(i))do\012_p('    <Project Name=\"%s\""
	.ascii	"/>',e.name)end\012_p('  </Dependencies>')end\012end"
	.ascii	"\012_p('</CodeLite_Project>')end\000"
	.align	2
.LC29:
	.ascii	"_MAKE={}premake.make={}local t=premake.make\012func"
	.ascii	"tion _MAKE.esc(n)local e\012if(type(n)==\"table\")t"
	.ascii	"hen\012e={}for t,n in ipairs(n)do\012table.insert(e"
	.ascii	",_MAKE.esc(n))end\012return e\012else\012e=n:gsub(\""
	.ascii	"\\\\\",\"\\\\\\\\\")e=e:gsub(\" \",\"\\\\ \")e=e:gs"
	.ascii	"ub(\"%(\",\"\\\\%(\")e=e:gsub(\"%)\",\"\\\\%)\")e=e"
	.ascii	":gsub(\"$\\\\%((.-)\\\\%)\",\"$%(%1%)\")return e\012"
	.ascii	"end\012end\012function premake.make_copyrule(n,e)_p"
	.ascii	"('%s: %s',e,n)_p('\\t@echo Copying $(notdir %s)',e)"
	.ascii	"_p('ifeq (posix,$(SHELLTYPE))')_p('\\t$(SILENT) cp "
	.ascii	"-fR %s %s',n,e)_p('else')_p('\\t$(SILENT) copy /Y $"
	.ascii	"(subst /,\\\\\\\\,%s) $(subst /,\\\\\\\\,%s)',n,e)_"
	.ascii	"p('endif')end\012function premake.make_mkdirrule(e)"
	.ascii	"_p('\\t@echo Creating %s',e)_p('ifeq (posix,$(SHELL"
	.ascii	"TYPE))')_p('\\t$(SILENT) mkdir -p %s',e)_p('else')_"
	.ascii	"p('\\t$(SILENT) mkdir $(subst /,\\\\\\\\,%s)',e)_p("
	.ascii	"'endif')_p('')end\012function t.list(e)if#e>0 then\012"
	.ascii	"return\" \"..table.concat(e,\" \")else\012return\"\""
	.ascii	"end\012end\012function _MAKE.getmakefilename(n,a)lo"
	.ascii	"cal e=0\012for t in premake.solution.each()do\012if"
	.ascii	"(t.location==n.location)then e=e+1 end\012if(a)then"
	.ascii	"\012for a,t in ipairs(t.projects)do\012if(t.locatio"
	.ascii	"n==n.location)then e=e+1 end\012end\012end\012end\012"
	.ascii	"if(e==1)then\012return\"Makefile\"else\012return n."
	.ascii	"name..\".make\"end\012end\012function _MAKE.getname"
	.ascii	"s(e)local e=table.extract(e,\"name\")for t,n in pai"
	.ascii	"rs(e)do\012e[t]=_MAKE.esc(n)end\012return e\012end\012"
	.ascii	"function t.settings(e,n)if#e.makesettings>0 then\012"
	.ascii	"for n,e in ipairs(e.makesettings)do\012_p(e)end\012"
	.ascii	"end\012local e=n.platforms[e.platform].cfgsettings\012"
	.ascii	"if e then\012_p(e)end\012end\012newaction{trigger=\""
	.ascii	"gmake\",shortname=\"GNU Make\",description=\"Genera"
	.ascii	"te GNU makefiles for POSIX, MinGW, and Cygwin\",val"
	.ascii	"id_kinds={\"ConsoleApp\",\"WindowedApp\",\"StaticLi"
	.ascii	"b\",\"SharedLib\"},valid_languages={\"C\",\"C++\",\""
	.ascii	"C#\"},valid_tools={cc={\"gcc\"},dotnet={\"mono\",\""
	.ascii	"msnet\",\"pnet\"},},onsolution=function(e)premake.g"
	.ascii	"enerate(e,_MAKE.getmakefilename(e,false),premake.ma"
	.ascii	"ke_solution)end,onproject=function(e)local n=_MAKE."
	.ascii	"getmakefilename(e,true)if premake.isdotnetproject(e"
	.ascii	")then\012premake.generate(e,n,premake.make_csharp)e"
	.ascii	"lse\012premake.generate(e,n,premake.make_cpp)end\012"
	.ascii	"end,oncleansolution=function(e)premake.clean.file(e"
	.ascii	",_MAKE.getmakefil"
	.ascii	"ename(e,false))end,oncleanproject=function(e)premak"
	.ascii	"e.clean.file(e,_MAKE.getmakefilename(e,true))end}\000"
	.align	2
.LC30:
	.ascii	"function premake.make_solution(e)local o=premake[_O"
	.ascii	"PTIONS.cc]local a=premake.filterplatforms(e,o.platf"
	.ascii	"orms,\"Native\")_p('# %s solution makefile autogene"
	.ascii	"rated by Premake',premake.action.current().shortnam"
	.ascii	"e)_p('# Type \"make help\" for usage help')_p('')_p"
	.ascii	"('ifndef config')_p('  config=%s',_MAKE.esc(premake"
	.ascii	".getconfigname(e.configurations[1],a[1],true)))_p('"
	.ascii	"endif')_p('export config')_p('')_p('PROJECTS := %s'"
	.ascii	",table.concat(_MAKE.esc(table.extract(e.projects,\""
	.ascii	"name\")),\" \"))_p('')_p('.PHONY: all clean help $("
	.ascii	"PROJECTS)')_p('')_p('all: $(PROJECTS)')_p('')for a,"
	.ascii	"o in ipairs(e.projects)do\012_p('%s: %s',_MAKE.esc("
	.ascii	"o.name),table.concat(_MAKE.esc(table.extract(premak"
	.ascii	"e.getdependencies(o),\"name\")),\" \"))_p('\\t@echo"
	.ascii	" \"==== Building %s ($(config)) ====\"',o.name)_p('"
	.ascii	"\\t@${MAKE} --no-print-directory -C %s -f %s',_MAKE"
	.ascii	".esc(path.getrelative(e.location,o.location)),_MAKE"
	.ascii	".esc(_MAKE.getmakefilename(o,true)))_p('')end\012_p"
	.ascii	"('clean:')for a,o in ipairs(e.projects)do\012_p('\\"
	.ascii	"t@${MAKE} --no-print-directory -C %s -f %s clean',_"
	.ascii	"MAKE.esc(path.getrelative(e.location,o.location)),_"
	.ascii	"MAKE.esc(_MAKE.getmakefilename(o,true)))end\012_p('"
	.ascii	"')_p('help:')_p(1,'@echo \"Usage: make [config=name"
	.ascii	"] [target]\"')_p(1,'@echo \"\"')_p(1,'@echo \"CONFI"
	.ascii	"GURATIONS:\"')local o={}for a,o in ipairs(a)do\012f"
	.ascii	"or a,e in ipairs(e.configurations)do\012_p(1,'@echo"
	.ascii	" \"   %s\"',premake.getconfigname(e,o,true))end\012"
	.ascii	"end\012_p(1,'@echo \"\"')_p(1,'@echo \"TARGETS:\"')"
	.ascii	"_p(1,'@echo \"   all (default)\"')_p(1,'@echo \"   "
	.ascii	"clean\"')for o,e in ipairs(e.projects)do\012_p(1,'@"
	.ascii	"echo \"   %s\"',e.name)end\012_p(1,'@echo \"\"')_p("
	.ascii	"1,'@echo \"For more information, see http://industr"
	.ascii	"iousone.com/premake/quick-start\"')end\000"
	.align	2
.LC31:
	.ascii	"premake.make.cpp={}local p=premake.make.cpp\012loca"
	.ascii	"l i=premake.make\012function premake.make_cpp(e)loc"
	.ascii	"al i=premake.gettool(e)local n=premake.filterplatfo"
	.ascii	"rms(e.solution,i.platforms,\"Native\")premake.gmake"
	.ascii	"_cpp_header(e,i,n)for n,p in ipairs(n)do\012for e i"
	.ascii	"n premake.eachconfig(e,p)do\012premake.gmake_cpp_co"
	.ascii	"nfig(e,i)end\012end\012_p('OBJECTS := \\\\')for p,e"
	.ascii	" in ipairs(e.files)do\012if path.iscppfile(e)then\012"
	.ascii	"_p('\\t$(OBJDIR)/%s.o \\\\',_MAKE.esc(path.getbasen"
	.ascii	"ame(e)))end\012end\012_p('')_p('RESOURCES := \\\\')"
	.ascii	"for p,e in ipairs(e.files)do\012if path.isresourcef"
	.ascii	"ile(e)then\012_p('\\t$(OBJDIR)/%s.res \\\\',_MAKE.e"
	.ascii	"sc(path.getbasename(e)))end\012end\012_p('')_p('SHE"
	.ascii	"LLTYPE := msdos')_p('ifeq (,$(ComSpec)$(COMSPEC))')"
	.ascii	"_p('  SHELLTYPE := posix')_p('endif')_p('ifeq (/bin"
	.ascii	",$(findstring /bin,$(SHELL)))')_p('  SHELLTYPE := p"
	.ascii	"osix')_p('endif')_p('')_p('.PHONY: clean prebuild p"
	.ascii	"relink')_p('')if os.is(\"MacOSX\")and e.kind==\"Win"
	.ascii	"dowedApp\"then\012_p('all: $(TARGETDIR) $(OBJDIR) p"
	.ascii	"rebuild prelink $(TARGET) $(dir $(TARGETDIR))PkgInf"
	.ascii	"o $(dir $(TARGETDIR))Info.plist')else\012_p('all: $"
	.ascii	"(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)')e"
	.ascii	"nd\012_p('\\t@:')_p('')_p('$(TARGET): $(GCH) $(OBJE"
	.ascii	"CTS) $(LDDEPS) $(RESOURCES)')_p('\\t@echo Linking %"
	.ascii	"s',e.name)_p('\\t$(SILENT) $(LINKCMD)')_p('\\t$(POS"
	.ascii	"TBUILDCMDS)')_p('')_p('$(TARGETDIR):')premake.make_"
	.ascii	"mkdirrule(\"$(TARGETDIR)\")_p('$(OBJDIR):')premake."
	.ascii	"make_mkdirrule(\"$(OBJDIR)\")if os.is(\"MacOSX\")an"
	.ascii	"d e.kind==\"WindowedApp\"then\012_p('$(dir $(TARGET"
	.ascii	"DIR))PkgInfo:')_p('$(dir $(TARGETDIR))Info.plist:')"
	.ascii	"_p('')end\012_p('clean:')_p('\\t@echo Cleaning %s',"
	.ascii	"e.name)_p('ifeq (posix,$(SHELLTYPE))')_p('\\t$(SILE"
	.ascii	"NT) rm -f  $(TARGET)')_p('\\t$(SILENT) rm -rf $(OBJ"
	.ascii	"DIR)')_p('else')_p('\\t$(SILENT) if exist $(subst /"
	.ascii	",\\\\\\\\,$(TARGET)) del $(subst /,\\\\\\\\,$(TARGE"
	.ascii	"T))')_p('\\t$(SILENT) if exist $(subst /,\\\\\\\\,$"
	.ascii	"(OBJDIR)) rmdir /s /q $(subst /,\\\\\\\\,$(OBJDIR))"
	.ascii	"')_p('endif')_p('')_p('prebuild:')_p('\\t$(PREBUILD"
	.ascii	"CMDS)')_p('')_p('prelink:')_p('\\t$(PRELINKCMDS)')_"
	.ascii	"p('')p.pchrules(e)p.fileRules(e)_p('-include $(OBJE"
	.ascii	"CTS:%%.o=%%.d)')_p('ifneq (,$(PCH))')_p('  -include"
	.ascii	" $(OBJDIR)/$(no"
	.ascii	"tdir $(PCH)).d')_p('endif')end\012function premake."
	.ascii	"gmake_cpp_header(p,e,i)_p('# %s project makefile au"
	.ascii	"togenerated by Premake',premake.action.current().sh"
	.ascii	"ortname)_p('ifndef config')_p('  config=%s',_MAKE.e"
	.ascii	"sc(premake.getconfigname(p.solution.configurations["
	.ascii	"1],i[1],true)))_p('endif')_p('')_p('ifndef verbose'"
	.ascii	")_p('  SILENT = @')_p('endif')_p('')_p('CC = %s',e."
	.ascii	"cc)_p('CXX = %s',e.cxx)_p('AR = %s',e.ar)_p('')_p('"
	.ascii	"ifndef RESCOMP')_p('  ifdef WINDRES')_p('    RESCOM"
	.ascii	"P = $(WINDRES)')_p('  else')_p('    RESCOMP = windr"
	.ascii	"es')_p('  endif')_p('endif')_p('')end\012function p"
	.ascii	"remake.gmake_cpp_config(e,n)_p('ifeq ($(config),%s)"
	.ascii	"',_MAKE.esc(e.shortname))p.platformtools(e,n)_p('  "
	.ascii	"OBJDIR     = %s',_MAKE.esc(e.objectsdir))_p('  TARG"
	.ascii	"ETDIR  = %s',_MAKE.esc(e.buildtarget.directory))_p("
	.ascii	"'  TARGET     = $(TARGETDIR)/%s',_MAKE.esc(e.buildt"
	.ascii	"arget.name))_p('  DEFINES   +=%s',i.list(n.getdefin"
	.ascii	"es(e.defines)))_p('  INCLUDES  +=%s',i.list(n.getin"
	.ascii	"cludedirs(e.includedirs)))p.pchconfig(e)p.flags(e,n"
	.ascii	")p.linker(e,n)_p('  define PREBUILDCMDS')if#e.prebu"
	.ascii	"ildcommands>0 then\012_p('\\t@echo Running pre-buil"
	.ascii	"d commands')_p('\\t%s',table.implode(e.prebuildcomm"
	.ascii	"ands,\"\",\"\",\"\\n\\t\"))end\012_p('  endef')_p('"
	.ascii	"  define PRELINKCMDS')if#e.prelinkcommands>0 then\012"
	.ascii	"_p('\\t@echo Running pre-link commands')_p('\\t%s',"
	.ascii	"table.implode(e.prelinkcommands,\"\",\"\",\"\\n\\t\""
	.ascii	"))end\012_p('  endef')_p('  define POSTBUILDCMDS')i"
	.ascii	"f#e.postbuildcommands>0 then\012_p('\\t@echo Runnin"
	.ascii	"g post-build commands')_p('\\t%s',table.implode(e.p"
	.ascii	"ostbuildcommands,\"\",\"\",\"\\n\\t\"))end\012_p(' "
	.ascii	" endef')i.settings(e,n)_p('endif')_p('')end\012func"
	.ascii	"tion p.platformtools(e,p)local e=p.platforms[e.plat"
	.ascii	"form]if e.cc then\012_p('  CC         = %s',e.cc)en"
	.ascii	"d\012if e.cxx then\012_p('  CXX        = %s',e.cxx)"
	.ascii	"end\012if e.ar then\012_p('  AR         = %s',e.ar)"
	.ascii	"end\012end\012function p.flags(e,p)if e.pchheader a"
	.ascii	"nd not e.flags.NoPCH then\012_p('  FORCE_INCLUDE +="
	.ascii	" -include $(OBJDIR)/$(notdir $(PCH))')end\012_p('  "
	.ascii	"ALL_CPPFLAGS  += $(CPPFLAGS) %s $(DEFINES) $(INCLUD"
	.ascii	"ES)',table.concat(p.getcppflags(e),\" \"))_p('  ALL"
	.ascii	"_CFLAGS    += $(CFLAGS) $(ALL_CPPFLAGS)%s',"
	.ascii	"i.list(table.join(p.getcflags(e),e.buildoptions)))_"
	.ascii	"p('  ALL_CXXFLAGS  += $(CXXFLAGS) $(ALL_CFLAGS)%s',"
	.ascii	"i.list(p.getcxxflags(e)))_p('  ALL_RESFLAGS  += $(R"
	.ascii	"ESFLAGS) $(DEFINES) $(INCLUDES)%s',i.list(table.joi"
	.ascii	"n(p.getdefines(e.resdefines),p.getincludedirs(e.res"
	.ascii	"includedirs),e.resoptions)))end\012function p.linke"
	.ascii	"r(e,p)_p('  ALL_LDFLAGS   += $(LDFLAGS)%s',i.list(t"
	.ascii	"able.join(p.getlibdirflags(e),p.getldflags(e),e.lin"
	.ascii	"koptions)))_p('  LDDEPS    +=%s',i.list(_MAKE.esc(p"
	.ascii	"remake.getlinks(e,\"siblings\",\"fullpath\"))))_p('"
	.ascii	"  LIBS      += $(LDDEPS)%s',i.list(p.getlinkflags(e"
	.ascii	")))if e.kind==\"StaticLib\"then\012if e.platform:st"
	.ascii	"artswith(\"Universal\")then\012_p('  LINKCMD    = l"
	.ascii	"ibtool -o $(TARGET) $(OBJECTS)')else\012_p('  LINKC"
	.ascii	"MD    = $(AR) -rcs $(TARGET) $(OBJECTS)')end\012els"
	.ascii	"e\012local e=iif(e.language==\"C\",\"CC\",\"CXX\")_"
	.ascii	"p('  LINKCMD    = $(%s) -o $(TARGET) $(OBJECTS) $(R"
	.ascii	"ESOURCES) $(ALL_LDFLAGS) $(LIBS)',e)end\012end\012f"
	.ascii	"unction p.pchconfig(e)if not e.pchheader or e.flags"
	.ascii	".NoPCH then\012return\012end\012local p=e.pchheader"
	.ascii	"\012for n,i in ipairs(e.includedirs)do\012local i=p"
	.ascii	"ath.getabsolute(path.join(e.project.location,i))loc"
	.ascii	"al i=path.join(i,p)if os.isfile(i)then\012p=path.ge"
	.ascii	"trelative(e.location,i)break\012end\012end\012_p(' "
	.ascii	" PCH        = %s',_MAKE.esc(p))_p('  GCH        = $"
	.ascii	"(OBJDIR)/$(notdir $(PCH)).gch')end\012function p.pc"
	.ascii	"hrules(e)_p('ifneq (,$(PCH))')_p('.NOTPARALLEL: $(G"
	.ascii	"CH) $(PCH)')_p('$(GCH): $(PCH)')_p('\\t@echo $(notd"
	.ascii	"ir $<)')local e=iif(e.language==\"C\",\"$(CC) -x c-"
	.ascii	"header $(ALL_CFLAGS)\",\"$(CXX) -x c++-header $(ALL"
	.ascii	"_CXXFLAGS)\")_p('\\t$(SILENT) %s -MMD -MP $(DEFINES"
	.ascii	") $(INCLUDES) -o \"$@\" -MF \"$(@:%%.gch=%%.d)\" -c"
	.ascii	" \"$<\"',e)_p('endif')_p('')end\012function p.fileR"
	.ascii	"ules(e)for i,e in ipairs(e.files or{})do\012if path"
	.ascii	".iscppfile(e)then\012_p('$(OBJDIR)/%s.o: %s',_MAKE."
	.ascii	"esc(path.getbasename(e)),_MAKE.esc(e))_p('\\t@echo "
	.ascii	"$(notdir $<)')p.buildcommand(path.iscfile(e),\"o\")"
	.ascii	"_p('')elseif(path.getextension(e)==\".rc\")then\012"
	.ascii	"_p('$(OBJDIR)/%s.res: %s',_MAKE.esc(path.getbasenam"
	.ascii	"e(e)),_MAKE.esc(e))_p('\\t@echo $(notdir $<)')_p('\\"
	.ascii	"t$(SILENT) $(RESCOMP) $< -O coff -o \"$@\" $(ALL_RE"
	.ascii	"SFLAGS)')_p"
	.ascii	"('')end\012end\012end\012function p.buildcommand(e,"
	.ascii	"p)local e=iif(e,'$(CC) $(ALL_CFLAGS)','$(CXX) $(ALL"
	.ascii	"_CXXFLAGS)')_p('\\t$(SILENT) %s $(FORCE_INCLUDE) -o"
	.ascii	" \"$@\" -MF \"$(@:%%.%s=%%.d)\" -c \"$<\"',e,p)end\000"
	.align	2
.LC32:
	.ascii	"local function o(n,e)if path.getextension(e)==\".re"
	.ascii	"sx\"then\012local n=n.buildtarget.basename..\".\"lo"
	.ascii	"cal i=path.getdirectory(e)if i~=\".\"then\012n=n..p"
	.ascii	"ath.translate(i,\".\")..\".\"end\012return\"$(OBJDI"
	.ascii	"R)/\".._MAKE.esc(n..path.getbasename(e))..\".resour"
	.ascii	"ces\"else\012return e\012end\012end\012function pre"
	.ascii	"make.make_csharp(e)local p=premake.dotnet\012local "
	.ascii	"s={}local i={}local l\012for e in premake.eachconfi"
	.ascii	"g(e)do\012l=e\012s[e]=premake.getlinks(e,\"siblings"
	.ascii	"\",\"fullpath\")i[e]={}for p,n in ipairs(s[e])do\012"
	.ascii	"if path.getdirectory(n)~=e.buildtarget.directory th"
	.ascii	"en\012i[e][\"$(TARGETDIR)/\".._MAKE.esc(path.getnam"
	.ascii	"e(n))]=_MAKE.esc(n)end\012end\012end\012local r={}l"
	.ascii	"ocal a={}local n={}for e in premake.project.eachfil"
	.ascii	"e(e)do\012local i=p.getbuildaction(e)if i==\"Compil"
	.ascii	"e\"then\012table.insert(r,e.name)elseif i==\"Embedd"
	.ascii	"edResource\"then\012table.insert(a,e.name)elseif i="
	.ascii	"=\"Content\"then\012n[\"$(TARGETDIR)/\".._MAKE.esc("
	.ascii	"path.getname(e.name))]=_MAKE.esc(e.name)elseif path"
	.ascii	".getname(e.name):lower()==\"app.config\"then\012n[\""
	.ascii	"$(TARGET).config\"]=_MAKE.esc(e.name)end\012end\012"
	.ascii	"local t=table.translate(e.libdirs,function(n)return"
	.ascii	" path.join(e.basedir,n)end)t=table.join({e.basedir}"
	.ascii	",t)for p,i in ipairs(premake.getlinks(e,\"system\","
	.ascii	"\"fullpath\"))do\012local p=os.pathsearch(i..\".dll"
	.ascii	"\",unpack(t))if(p)then\012local t=\"$(TARGETDIR)/\""
	.ascii	".._MAKE.esc(path.getname(i))local e=path.getrelativ"
	.ascii	"e(e.basedir,path.join(p,i))..\".dll\"n[t]=_MAKE.esc"
	.ascii	"(e)end\012end\012_p('# %s project makefile autogene"
	.ascii	"rated by Premake',premake.action.current().shortnam"
	.ascii	"e)_p('')_p('ifndef config')_p('  config=%s',_MAKE.e"
	.ascii	"sc(e.configurations[1]:lower()))_p('endif')_p('')_p"
	.ascii	"('ifndef verbose')_p('  SILENT = @')_p('endif')_p('"
	.ascii	"')_p('ifndef CSC')_p('  CSC=%s',p.getcompilervar(e)"
	.ascii	")_p('endif')_p('')_p('ifndef RESGEN')_p('  RESGEN=r"
	.ascii	"esgen')_p('endif')_p('')local t=premake.filterplatf"
	.ascii	"orms(e.solution,premake[_OPTIONS.cc].platforms)tabl"
	.ascii	"e.insert(t,1,\"\")for e in premake.eachconfig(e)do\012"
	.ascii	"premake.gmake_cs_config(e,p,s)end\012_p('# To maint"
	.ascii	"ain compatibility with VS.NET, these values must be"
	.ascii	" set at the project level')_p('TARGET     := $(TARG"
	.ascii	"ETDIR)/%s',_MAKE.esc(e.buildtarget."
	.ascii	"name))_p('FLAGS      += /t:%s %s',p.getkind(e):lowe"
	.ascii	"r(),table.implode(_MAKE.esc(e.libdirs),\"/lib:\",\""
	.ascii	"\",\" \"))_p('REFERENCES += %s',table.implode(_MAKE"
	.ascii	".esc(premake.getlinks(e,\"system\",\"basename\")),\""
	.ascii	"/r:\",\".dll\",\" \"))_p('')_p('SOURCES := \\\\')fo"
	.ascii	"r n,e in ipairs(r)do\012_p('\\t%s \\\\',_MAKE.esc(p"
	.ascii	"ath.translate(e)))end\012_p('')_p('EMBEDFILES := \\"
	.ascii	"\\')for i,n in ipairs(a)do\012_p('\\t%s \\\\',o(e,n"
	.ascii	"))end\012_p('')_p('COPYFILES += \\\\')for e,n in pa"
	.ascii	"irs(i[l])do\012_p('\\t%s \\\\',e)end\012for e,n in "
	.ascii	"pairs(n)do\012_p('\\t%s \\\\',e)end\012_p('')_p('SH"
	.ascii	"ELLTYPE := msdos')_p('ifeq (,$(ComSpec)$(COMSPEC))'"
	.ascii	")_p('  SHELLTYPE := posix')_p('endif')_p('ifeq (/bi"
	.ascii	"n,$(findstring /bin,$(SHELL)))')_p('  SHELLTYPE := "
	.ascii	"posix')_p('endif')_p('')_p('.PHONY: clean prebuild "
	.ascii	"prelink')_p('')_p('all: $(TARGETDIR) $(OBJDIR) preb"
	.ascii	"uild $(EMBEDFILES) $(COPYFILES) prelink $(TARGET)')"
	.ascii	"_p('')_p('$(TARGET): $(SOURCES) $(EMBEDFILES) $(DEP"
	.ascii	"ENDS)')_p('\\t$(SILENT) $(CSC) /nologo /out:$@ $(FL"
	.ascii	"AGS) $(REFERENCES) $(SOURCES) $(patsubst %%,/resour"
	.ascii	"ce:%%,$(EMBEDFILES))')_p('\\t$(POSTBUILDCMDS)')_p('"
	.ascii	"')_p('$(TARGETDIR):')premake.make_mkdirrule(\"$(TAR"
	.ascii	"GETDIR)\")_p('$(OBJDIR):')premake.make_mkdirrule(\""
	.ascii	"$(OBJDIR)\")_p('clean:')_p('\\t@echo Cleaning %s',e"
	.ascii	".name)_p('ifeq (posix,$(SHELLTYPE))')_p('\\t$(SILEN"
	.ascii	"T) rm -f $(TARGETDIR)/%s.* $(COPYFILES)',e.buildtar"
	.ascii	"get.basename)_p('\\t$(SILENT) rm -rf $(OBJDIR)')_p("
	.ascii	"'else')_p('\\t$(SILENT) if exist $(subst /,\\\\\\\\"
	.ascii	",$(TARGETDIR)/%s.*) del $(subst /,\\\\\\\\,$(TARGET"
	.ascii	"DIR)/%s.*)',e.buildtarget.basename,e.buildtarget.ba"
	.ascii	"sename)for e,n in pairs(i[l])do\012_p('\\t$(SILENT)"
	.ascii	" if exist $(subst /,\\\\\\\\,%s) del $(subst /,\\\\"
	.ascii	"\\\\,%s)',e,e)end\012for e,n in pairs(n)do\012_p('\\"
	.ascii	"t$(SILENT) if exist $(subst /,\\\\\\\\,%s) del $(su"
	.ascii	"bst /,\\\\\\\\,%s)',e,e)end\012_p('\\t$(SILENT) if "
	.ascii	"exist $(subst /,\\\\\\\\,$(OBJDIR)) rmdir /s /q $(s"
	.ascii	"ubst /,\\\\\\\\,$(OBJDIR))')_p('endif')_p('')_p('pr"
	.ascii	"ebuild:')_p('\\t$(PREBUILDCMDS)')_p('')_p('prelink:"
	.ascii	"')_p('\\t$(PRELINKCMDS)')_p('')_p('# Per-configurat"
	.ascii	"ion copied file rules')for e in premake.eachconfig("
	.ascii	"e)do\012_p('ifneq (,$(findstring %s,$(config)))',_M"
	.ascii	"AKE.esc(e.name:lower()))for"
	.ascii	" e,n in pairs(i[e])do\012premake.make_copyrule(n,e)"
	.ascii	"end\012_p('endif')_p('')end\012_p('# Copied file ru"
	.ascii	"les')for e,n in pairs(n)do\012premake.make_copyrule"
	.ascii	"(n,e)end\012_p('# Embedded file rules')for i,n in i"
	.ascii	"pairs(a)do\012if path.getextension(n)==\".resx\"the"
	.ascii	"n\012_p('%s: %s',o(e,n),_MAKE.esc(n))_p('\\t$(SILEN"
	.ascii	"T) $(RESGEN) $^ $@')end\012_p('')end\012end\012func"
	.ascii	"tion premake.gmake_cs_config(e,i,n)_p('ifneq (,$(fi"
	.ascii	"ndstring %s,$(config)))',_MAKE.esc(e.name:lower()))"
	.ascii	"_p('  TARGETDIR  := %s',_MAKE.esc(e.buildtarget.dir"
	.ascii	"ectory))_p('  OBJDIR     := %s',_MAKE.esc(e.objects"
	.ascii	"dir))_p('  DEPENDS    := %s',table.concat(_MAKE.esc"
	.ascii	"(premake.getlinks(e,\"dependencies\",\"fullpath\"))"
	.ascii	",\" \"))_p('  REFERENCES := %s',table.implode(_MAKE"
	.ascii	".esc(n[e]),\"/r:\",\"\",\" \"))_p('  FLAGS      += "
	.ascii	"%s %s',table.implode(e.defines,\"/d:\",\"\",\" \"),"
	.ascii	"table.concat(table.join(i.getflags(e),e.buildoption"
	.ascii	"s),\" \"))_p('  define PREBUILDCMDS')if#e.prebuildc"
	.ascii	"ommands>0 then\012_p('\\t@echo Running pre-build co"
	.ascii	"mmands')_p('\\t%s',table.implode(e.prebuildcommands"
	.ascii	",\"\",\"\",\"\\n\\t\"))end\012_p('  endef')_p('  de"
	.ascii	"fine PRELINKCMDS')if#e.prelinkcommands>0 then\012_p"
	.ascii	"('\\t@echo Running pre-link commands')_p('\\t%s',ta"
	.ascii	"ble.implode(e.prelinkcommands,\"\",\"\",\"\\n\\t\")"
	.ascii	")end\012_p('  endef')_p('  define POSTBUILDCMDS')if"
	.ascii	"#e.postbuildcommands>0 then\012_p('\\t@echo Running"
	.ascii	" post-build commands')_p('\\t%s',table.implode(e.po"
	.ascii	"stbuildcommands,\"\",\"\",\"\\n\\t\"))end\012_p('  "
	.ascii	"endef')_p('endif')_p('')end\000"
	.align	2
.LC33:
	.ascii	"premake.vstudio={}local e=premake.vstudio\012e.plat"
	.ascii	"forms={any=\"Any CPU\",mixed=\"Mixed Platforms\",Na"
	.ascii	"tive=\"Win32\",x86=\"x86\",x32=\"Win32\",x64=\"x64\""
	.ascii	",PS3=\"PS3\",Xbox360=\"Xbox 360\",}function e.arch("
	.ascii	"e)if(e.language==\"C#\")then\012if(_ACTION<\"vs2005"
	.ascii	"\")then\012return\".NET\"else\012return\"Any CPU\"e"
	.ascii	"nd\012else\012return\"Win32\"end\012end\012function"
	.ascii	" e.buildconfigs(r)local s={}local n=premake.filterp"
	.ascii	"latforms(r,e.platforms,\"Native\")local o=premake.h"
	.ascii	"ascppproject(r)local a=premake.hasdotnetproject(r)i"
	.ascii	"f a and(_ACTION>\"vs2008\"or o)then\012table.insert"
	.ascii	"(n,1,\"mixed\")end\012if a and(_ACTION<\"vs2010\"or"
	.ascii	" not o)then\012table.insert(n,1,\"any\")end\012if _"
	.ascii	"ACTION>\"vs2008\"then\012local r={}for s,t in ipair"
	.ascii	"s(n)do\012if e.platforms[t]==\"Win32\"then\012if o "
	.ascii	"then\012table.insert(r,t)end\012if a then\012table."
	.ascii	"insert(r,\"x86\")end\012else\012table.insert(r,t)en"
	.ascii	"d\012end\012n=r\012end\012for r,o in ipairs(r.confi"
	.ascii	"gurations)do\012for n,r in ipairs(n)do\012local n={"
	.ascii	"}n.src_buildcfg=o\012n.src_platform=r\012if r~=\"PS"
	.ascii	"3\"or _ACTION>\"vs2008\"then\012n.buildcfg=o\012n.p"
	.ascii	"latform=e.platforms[r]else\012n.buildcfg=r..\" \".."
	.ascii	"o\012n.platform=\"Win32\"end\012n.name=n.buildcfg.."
	.ascii	"\"|\"..n.platform\012n.isreal=(r~=\"any\"and r~=\"m"
	.ascii	"ixed\")table.insert(s,n)end\012end\012return s\012e"
	.ascii	"nd\012function e.cleansolution(e)premake.clean.file"
	.ascii	"(e,\"%%.sln\")premake.clean.file(e,\"%%.suo\")prema"
	.ascii	"ke.clean.file(e,\"%%.ncb\")premake.clean.file(e,\"%"
	.ascii	"%.userprefs\")premake.clean.file(e,\"%%.usertasks\""
	.ascii	")end\012function e.cleanproject(e)local e=premake.p"
	.ascii	"roject.getfilename(e,\"%%\")os.remove(e..\".vcproj\""
	.ascii	")os.remove(e..\".vcxproj\")os.remove(e..\".vcxproj."
	.ascii	"filters\")os.remove(e..\".csproj\")os.remove(e..\"."
	.ascii	"pidb\")os.remove(e..\".sdf\")if _OPTIONS.generate_u"
	.ascii	"ser then\012os.remove(e..\".vcproj.user\")os.remove"
	.ascii	"(e..\".vcxproj.user\")os.remove(e..\".csproj.user\""
	.ascii	")end\012end\012function e.cleantarget(e)os.remove(e"
	.ascii	"..\".pdb\")os.remove(e..\".idb\")os.remove(e..\".il"
	.ascii	"k\")os.remove(e..\".vshost.exe\")os.remove(e..\".ex"
	.ascii	"e.manifest\")end\012function e.projectfile(n)local "
	.ascii	"e\012if n.language==\"C#\"then\012e=\"%%.csproj\"el"
	.ascii	"se\012e=iif(_ACTION>\"vs2008\",\"%%.vcxproj\",\"%%."
	.ascii	"vcproj\")end\012local e=premake.project.getbasename"
	.ascii	"(n.name,e)e=path.join(n.location,e)return e\012end\012"
	.ascii	"func"
	.ascii	"tion e.tool(e)if(e.language==\"C#\")then\012return\""
	.ascii	"FAE04EC0-301F-11D3-BF4B-00C04F79EFBC\"else\012retur"
	.ascii	"n\"8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942\"end\012end"
	.ascii	"\012newaction{trigger=\"vs2002\",shortname=\"Visual"
	.ascii	" Studio 2002\",description=\"Generate Microsoft Vis"
	.ascii	"ual Studio 2002 project files\",os=\"windows\",vali"
	.ascii	"d_kinds={\"ConsoleApp\",\"WindowedApp\",\"StaticLib"
	.ascii	"\",\"SharedLib\"},valid_languages={\"C\",\"C++\",\""
	.ascii	"C#\"},valid_tools={cc={\"msc\"},dotnet={\"msnet\"},"
	.ascii	"},onsolution=function(n)premake.generate(n,\"%%.sln"
	.ascii	"\",e.sln2002.generate)end,onproject=function(n)if p"
	.ascii	"remake.isdotnetproject(n)then\012premake.generate(n"
	.ascii	",\"%%.csproj\",e.cs2002.generate)if _OPTIONS.genera"
	.ascii	"te_user then\012premake.generate(n,\"%%.csproj.user"
	.ascii	"\",e.cs2002.generate_user)end\012else\012premake.ge"
	.ascii	"nerate(n,\"%%.vcproj\",e.vc200x.generate)if _OPTION"
	.ascii	"S.generate_user then\012premake.generate(n,\"%%.vcp"
	.ascii	"roj.user\",e.vc200x.generate_user)end\012end\012end"
	.ascii	",oncleansolution=premake.vstudio.cleansolution,oncl"
	.ascii	"eanproject=premake.vstudio.cleanproject,oncleantarg"
	.ascii	"et=premake.vstudio.cleantarget,vstudio={}}newaction"
	.ascii	"{trigger=\"vs2003\",shortname=\"Visual Studio 2003\""
	.ascii	",description=\"Generate Microsoft Visual Studio 200"
	.ascii	"3 project files\",os=\"windows\",valid_kinds={\"Con"
	.ascii	"soleApp\",\"WindowedApp\",\"StaticLib\",\"SharedLib"
	.ascii	"\"},valid_languages={\"C\",\"C++\",\"C#\"},valid_to"
	.ascii	"ols={cc={\"msc\"},dotnet={\"msnet\"},},onsolution=f"
	.ascii	"unction(n)premake.generate(n,\"%%.sln\",e.sln2003.g"
	.ascii	"enerate)end,onproject=function(n)if premake.isdotne"
	.ascii	"tproject(n)then\012premake.generate(n,\"%%.csproj\""
	.ascii	",e.cs2002.generate)if _OPTIONS.generate_user then\012"
	.ascii	"premake.generate(n,\"%%.csproj.user\",e.cs2002.gene"
	.ascii	"rate_user)end\012else\012premake.generate(n,\"%%.vc"
	.ascii	"proj\",e.vc200x.generate)if _OPTIONS.generate_user "
	.ascii	"then\012premake.generate(n,\"%%.vcproj.user\",e.vc2"
	.ascii	"00x.generate_user)end\012end\012end,oncleansolution"
	.ascii	"=premake.vstudio.cleansolution,oncleanproject=prema"
	.ascii	"ke.vstudio.cleanproject,oncleantarget=premake.vstud"
	.ascii	"io.cleantarget,vstudio={}}newaction{trigger=\"vs200"
	.ascii	"5\",shortname=\"Visual Studio 2005\",description=\""
	.ascii	"Generate Microsoft Visual Studio 2005 project files"
	.ascii	"\",os=\"windows\",valid_kinds={\"ConsoleApp\",\""
	.ascii	"WindowedApp\",\"StaticLib\",\"SharedLib\"},valid_la"
	.ascii	"nguages={\"C\",\"C++\",\"C#\"},valid_tools={cc={\"m"
	.ascii	"sc\"},dotnet={\"msnet\"},},onsolution=function(n)pr"
	.ascii	"emake.generate(n,\"%%.sln\",e.sln2005.generate)end,"
	.ascii	"onproject=function(n)if premake.isdotnetproject(n)t"
	.ascii	"hen\012premake.generate(n,\"%%.csproj\",e.cs2005.ge"
	.ascii	"nerate)if _OPTIONS.generate_user then\012premake.ge"
	.ascii	"nerate(n,\"%%.csproj.user\",e.cs2005.generate_user)"
	.ascii	"end\012else\012premake.generate(n,\"%%.vcproj\",e.v"
	.ascii	"c200x.generate)if _OPTIONS.generate_user then\012pr"
	.ascii	"emake.generate(n,\"%%.vcproj.user\",e.vc200x.genera"
	.ascii	"te_user)end\012end\012end,oncleansolution=e.cleanso"
	.ascii	"lution,oncleanproject=e.cleanproject,oncleantarget="
	.ascii	"e.cleantarget,vstudio={productVersion=\"8.0.50727\""
	.ascii	",solutionVersion=\"9\",}}newaction{trigger=\"vs2008"
	.ascii	"\",shortname=\"Visual Studio 2008\",description=\"G"
	.ascii	"enerate Microsoft Visual Studio 2008 project files\""
	.ascii	",os=\"windows\",valid_kinds={\"ConsoleApp\",\"Windo"
	.ascii	"wedApp\",\"StaticLib\",\"SharedLib\"},valid_languag"
	.ascii	"es={\"C\",\"C++\",\"C#\"},valid_tools={cc={\"msc\"}"
	.ascii	",dotnet={\"msnet\"},},onsolution=function(n)premake"
	.ascii	".generate(n,\"%%.sln\",e.sln2005.generate)end,onpro"
	.ascii	"ject=function(n)if premake.isdotnetproject(n)then\012"
	.ascii	"premake.generate(n,\"%%.csproj\",e.cs2005.generate)"
	.ascii	"if _OPTIONS.generate_user then\012premake.generate("
	.ascii	"n,\"%%.csproj.user\",e.cs2005.generate_user)end\012"
	.ascii	"else\012premake.generate(n,\"%%.vcproj\",e.vc200x.g"
	.ascii	"enerate)if _OPTIONS.generate_user then\012premake.g"
	.ascii	"enerate(n,\"%%.vcproj.user\",e.vc200x.generate_user"
	.ascii	")end\012end\012end,oncleansolution=e.cleansolution,"
	.ascii	"oncleanproject=e.cleanproject,oncleantarget=e.clean"
	.ascii	"target,vstudio={productVersion=\"9.0.21022\",soluti"
	.ascii	"onVersion=\"10\",toolsVersion=\"3.5\",}}newaction{t"
	.ascii	"rigger=\"vs2010\",shortname=\"Visual Studio 2010\","
	.ascii	"description=\"Generate Microsoft Visual Studio 2010"
	.ascii	" project files\",os=\"windows\",valid_kinds={\"Cons"
	.ascii	"oleApp\",\"WindowedApp\",\"StaticLib\",\"SharedLib\""
	.ascii	"},valid_languages={\"C\",\"C++\",\"C#\"},valid_tool"
	.ascii	"s={cc={\"msc\"},dotnet={\"msnet\"},},onsolution=fun"
	.ascii	"ction(n)premake.generate(n,\"%%.sln\",e.sln2005.gen"
	.ascii	"erate)end,onproject=function(n)if premake.isdotnetp"
	.ascii	"roject(n)then\012premake.generate(n,\"%%.csproj\",e"
	.ascii	".cs2005.generate)if _OPTIONS.generate_user then\012"
	.ascii	"premake.generate(n,\"%%.csproj.user\",e.cs2005.gene"
	.ascii	"rate_user)end\012else\012premake.generate(n,\"%%.vc"
	.ascii	"xproj\",premake.vs2010_vcxproj)if _OPTIONS.generate"
	.ascii	"_user then\012premake.generate(n,\"%%.vcxproj.user\""
	.ascii	",premake.vs2010_vcxproj_user)end\012premake.generat"
	.ascii	"e(n,\"%%.vcxproj.filters\",e.vc2010.generate_filter"
	.ascii	"s)end\012end,oncleansolution=premake.vstudio.cleans"
	.ascii	"olution,oncleanproject=premake.vstudio.cleanproject"
	.ascii	",oncleantarget=premake.vstudio.cleantarget,vstudio="
	.ascii	"{productVersion=\"8.0.30703\",solutionVersion=\"11\""
	.ascii	",targetFramework=\"4.0\",toolsVersion=\"4.0\",}}\000"
	.align	2
.LC34:
	.ascii	"premake.vstudio.sln2002={}local i=premake.vstudio\012"
	.ascii	"local o=premake.vstudio.sln2002\012function o.gener"
	.ascii	"ate(o)io.indent=nil\012io.eol='\\r\\n'o.vstudio_con"
	.ascii	"figs=premake.vstudio.buildconfigs(o)_p('Microsoft V"
	.ascii	"isual Studio Solution File, Format Version 7.00')fo"
	.ascii	"r n in premake.solution.eachproject(o)do\012local o"
	.ascii	"=path.translate(path.getrelative(o.location,i.proje"
	.ascii	"ctfile(n)))_p('Project(\"{%s}\") = \"%s\", \"%s\", "
	.ascii	"\"{%s}\"',i.tool(n),n.name,o,n.uuid)_p('EndProject'"
	.ascii	")end\012_p('Global')_p(1,'GlobalSection(SolutionCon"
	.ascii	"figuration) = preSolution')for o,i in ipairs(o.conf"
	.ascii	"igurations)do\012_p(2,'ConfigName.%d = %s',o-1,i)en"
	.ascii	"d\012_p(1,'EndGlobalSection')_p(1,'GlobalSection(Pr"
	.ascii	"ojectDependencies) = postSolution')_p(1,'EndGlobalS"
	.ascii	"ection')_p(1,'GlobalSection(ProjectConfiguration) ="
	.ascii	" postSolution')for n in premake.solution.eachprojec"
	.ascii	"t(o)do\012for e,o in ipairs(o.configurations)do\012"
	.ascii	"_p(2,'{%s}.%s.ActiveCfg = %s|%s',n.uuid,o,o,i.arch("
	.ascii	"n))_p(2,'{%s}.%s.Build.0 = %s|%s',n.uuid,o,o,i.arch"
	.ascii	"(n))end\012end\012_p(1,'EndGlobalSection')_p(1,'Glo"
	.ascii	"balSection(ExtensibilityGlobals) = postSolution')_p"
	.ascii	"(1,'EndGlobalSection')_p(1,'GlobalSection(Extensibi"
	.ascii	"lityAddIns) = postSolution')_p(1,'EndGlobalSection'"
	.ascii	")_p('EndGlobal')end\000"
	.align	2
.LC35:
	.ascii	"premake.vstudio.cs2002={}local s=premake.vstudio\012"
	.ascii	"local a=premake.vstudio.cs2002\012local function n("
	.ascii	"a,t,e)if t==\"Compile\"and e:endswith(\".cs\")then\012"
	.ascii	"return\"SubTypeCode\"end\012if t==\"EmbeddedResourc"
	.ascii	"e\"and e:endswith(\".resx\")then\012local e=e:sub(1"
	.ascii	",-6)local e=path.getname(e..\".cs\")if premake.find"
	.ascii	"file(a,e)then\012return\"Dependency\",e\012end\012e"
	.ascii	"nd\012return\"None\"end\012function a.Files(a)local"
	.ascii	" e=premake.project.buildsourcetree(a)premake.tree.t"
	.ascii	"raverse(e,{onleaf=function(e)local t=premake.dotnet"
	.ascii	".getbuildaction(e.cfg)local s=path.translate(premak"
	.ascii	"e.esc(e.cfg.name),\"\\\\\")local a,e=n(a,t,e.path)_"
	.ascii	"p(4,'<File')_p(5,'RelPath = \"%s\"',s)_p(5,'BuildAc"
	.ascii	"tion = \"%s\"',t)if e then\012_p(5,'DependentUpon ="
	.ascii	" \"%s\"',premake.esc(path.translate(e,\"\\\\\")))en"
	.ascii	"d\012if a==\"SubTypeCode\"then\012_p(5,'SubType = \""
	.ascii	"Code\"')end\012_p(4,'/>')end},false)end\012function"
	.ascii	" a.generate(t)io.eol=\"\\r\\n\"_p('<VisualStudioPro"
	.ascii	"ject>')_p(1,'<CSHARP')_p(2,'ProjectType = \"Local\""
	.ascii	"')_p(2,'ProductVersion = \"%s\"',iif(_ACTION==\"vs2"
	.ascii	"002\",\"7.0.9254\",\"7.10.3077\"))_p(2,'SchemaVersi"
	.ascii	"on = \"%s\"',iif(_ACTION==\"vs2002\",\"1.0\",\"2.0\""
	.ascii	"))_p(2,'ProjectGuid = \"{%s}\"',t.uuid)_p(1,'>')_p("
	.ascii	"2,'<Build>')_p(3,'<Settings')_p(4,'ApplicationIcon "
	.ascii	"= \"\"')_p(4,'AssemblyKeyContainerName = \"\"')_p(4"
	.ascii	",'AssemblyName = \"%s\"',t.buildtarget.basename)_p("
	.ascii	"4,'AssemblyOriginatorKeyFile = \"\"')_p(4,'DefaultC"
	.ascii	"lientScript = \"JScript\"')_p(4,'DefaultHTMLPageLay"
	.ascii	"out = \"Grid\"')_p(4,'DefaultTargetSchema = \"IE50\""
	.ascii	"')_p(4,'DelaySign = \"false\"')if _ACTION==\"vs2002"
	.ascii	"\"then\012_p(4,'NoStandardLibraries = \"false\"')en"
	.ascii	"d\012_p(4,'OutputType = \"%s\"',premake.dotnet.getk"
	.ascii	"ind(t))if _ACTION==\"vs2003\"then\012_p(4,'PreBuild"
	.ascii	"Event = \"\"')_p(4,'PostBuildEvent = \"\"')end\012_"
	.ascii	"p(4,'RootNamespace = \"%s\"',t.buildtarget.basename"
	.ascii	")if _ACTION==\"vs2003\"then\012_p(4,'RunPostBuildEv"
	.ascii	"ent = \"OnBuildSuccess\"')end\012_p(4,'StartupObjec"
	.ascii	"t = \"\"')_p(3,'>')for e in premake.eachconfig(t)do"
	.ascii	"\012_p(4,'<Config')_p(5,'Name = \"%s\"',premake.esc"
	.ascii	"(e.name))_p(5,'AllowUnsafeBlocks = \"%s\"',iif(e.fl"
	.ascii	"ags.Unsafe,\"true\",\"false\"))_p(5,'BaseAddress = "
	.ascii	"\"285212672\"')_p(5,'CheckForOverflowUnderflow = \""
	.ascii	"false\"')_p(5,'Configur"
	.ascii	"ationOverrideFile = \"\"')_p(5,'DefineConstants = \""
	.ascii	"%s\"',premake.esc(table.concat(e.defines,\";\")))_p"
	.ascii	"(5,'DocumentationFile = \"\"')_p(5,'DebugSymbols = "
	.ascii	"\"%s\"',iif(e.flags.Symbols,\"true\",\"false\"))_p("
	.ascii	"5,'FileAlignment = \"4096\"')_p(5,'IncrementalBuild"
	.ascii	" = \"false\"')if _ACTION==\"vs2003\"then\012_p(5,'N"
	.ascii	"oStdLib = \"false\"')_p(5,'NoWarn = \"\"')end\012_p"
	.ascii	"(5,'Optimize = \"%s\"',iif(e.flags.Optimize or e.fl"
	.ascii	"ags.OptimizeSize or e.flags.OptimizeSpeed,\"true\","
	.ascii	"\"false\"))_p(5,'OutputPath = \"%s\"',premake.esc(e"
	.ascii	".buildtarget.directory))_p(5,'RegisterForComInterop"
	.ascii	" = \"false\"')_p(5,'RemoveIntegerChecks = \"false\""
	.ascii	"')_p(5,'TreatWarningsAsErrors = \"%s\"',iif(e.flags"
	.ascii	".FatalWarnings,\"true\",\"false\"))_p(5,'WarningLev"
	.ascii	"el = \"4\"')_p(4,'/>')end\012_p(3,'</Settings>')_p("
	.ascii	"3,'<References>')for t,e in ipairs(premake.getlinks"
	.ascii	"(t,\"siblings\",\"object\"))do\012_p(4,'<Reference'"
	.ascii	")_p(5,'Name = \"%s\"',e.buildtarget.basename)_p(5,'"
	.ascii	"Project = \"{%s}\"',e.uuid)_p(5,'Package = \"{%s}\""
	.ascii	"',s.tool(e))_p(4,'/>')end\012for t,e in ipairs(prem"
	.ascii	"ake.getlinks(t,\"system\",\"fullpath\"))do\012_p(4,"
	.ascii	"'<Reference')_p(5,'Name = \"%s\"',path.getbasename("
	.ascii	"e))_p(5,'AssemblyName = \"%s\"',path.getname(e))if "
	.ascii	"path.getdirectory(e)~=\".\"then\012_p(5,'HintPath ="
	.ascii	" \"%s\"',path.translate(e,\"\\\\\"))end\012_p(4,'/>"
	.ascii	"')end\012_p(3,'</References>')_p(2,'</Build>')_p(2,"
	.ascii	"'<Files>')_p(3,'<Include>')a.Files(t)_p(3,'</Includ"
	.ascii	"e>')_p(2,'</Files>')_p(1,'</CSHARP>')_p('</VisualSt"
	.ascii	"udioProject>')end\000"
	.align	2
.LC36:
	.ascii	"local e=premake.vstudio.cs2002\012function e.genera"
	.ascii	"te_user(e)io.eol=\"\\r\\n\"_p('<VisualStudioProject"
	.ascii	">')_p(1,'<CSHARP>')_p(2,'<Build>')local t=table.tra"
	.ascii	"nslate(e.libdirs,function(t)return path.getabsolute"
	.ascii	"(e.location..\"/\"..t)end)_p(3,'<Settings Reference"
	.ascii	"Path = \"%s\">',path.translate(table.concat(t,\";\""
	.ascii	"),\"\\\\\"))for e in premake.eachconfig(e)do\012_p("
	.ascii	"4,'<Config')_p(5,'Name = \"%s\"',premake.esc(e.name"
	.ascii	"))_p(5,'EnableASPDebugging = \"false\"')_p(5,'Enabl"
	.ascii	"eASPXDebugging = \"false\"')_p(5,'EnableUnmanagedDe"
	.ascii	"bugging = \"false\"')_p(5,'EnableSQLServerDebugging"
	.ascii	" = \"false\"')_p(5,'RemoteDebugEnabled = \"false\"'"
	.ascii	")_p(5,'RemoteDebugMachine = \"\"')_p(5,'StartAction"
	.ascii	" = \"Project\"')_p(5,'StartArguments = \"\"')_p(5,'"
	.ascii	"StartPage = \"\"')_p(5,'StartProgram = \"\"')_p(5,'"
	.ascii	"StartURL = \"\"')_p(5,'StartWorkingDirectory = \"\""
	.ascii	"')_p(5,'StartWithIE = \"false\"')_p(4,'/>')end\012_"
	.ascii	"p(3,'</Settings>')_p(2,'</Build>')_p(2,'<OtherProje"
	.ascii	"ctSettings')_p(3,'CopyProjectDestinationFolder = \""
	.ascii	"\"')_p(3,'CopyProjectUncPath = \"\"')_p(3,'CopyProj"
	.ascii	"ectOption = \"0\"')_p(3,'ProjectView = \"ProjectFil"
	.ascii	"es\"')_p(3,'ProjectTrust = \"0\"')_p(2,'/>')_p(1,'<"
	.ascii	"/CSHARP>')_p('</VisualStudioProject>')end\000"
	.align	2
.LC37:
	.ascii	"premake.vstudio.vc200x={}local o=premake.vstudio.vc"
	.ascii	"200x\012local s=premake.tree\012local function n(e)"
	.ascii	"if(_ACTION<\"vs2005\")then\012return iif(e,\"TRUE\""
	.ascii	",\"FALSE\")else\012return iif(e,\"true\",\"false\")"
	.ascii	"end\012end\012function o.optimization(o)local e=0\012"
	.ascii	"for n,o in ipairs(o.flags)do\012if(o==\"Optimize\")"
	.ascii	"then\012e=3\012elseif(o==\"OptimizeSize\")then\012e"
	.ascii	"=1\012elseif(o==\"OptimizeSpeed\")then\012e=2\012en"
	.ascii	"d\012end\012return e\012end\012function o.header(e)"
	.ascii	"io.eol=\"\\r\\n\"_p('<?xml version=\"1.0\" encoding"
	.ascii	"=\"Windows-1252\"?>')_p('<%s',e)_p(1,'ProjectType=\""
	.ascii	"Visual C++\"')if _ACTION==\"vs2002\"then\012_p(1,'V"
	.ascii	"ersion=\"7.00\"')elseif _ACTION==\"vs2003\"then\012"
	.ascii	"_p(1,'Version=\"7.10\"')elseif _ACTION==\"vs2005\"t"
	.ascii	"hen\012_p(1,'Version=\"8.00\"')elseif _ACTION==\"vs"
	.ascii	"2008\"then\012_p(1,'Version=\"9.00\"')end\012end\012"
	.ascii	"function o.Configuration(o,e)_p(2,'<Configuration')"
	.ascii	"_p(3,'Name=\"%s\"',premake.esc(o))_p(3,'OutputDirec"
	.ascii	"tory=\"%s\"',premake.esc(e.buildtarget.directory))_"
	.ascii	"p(3,'IntermediateDirectory=\"%s\"',premake.esc(e.ob"
	.ascii	"jectsdir))local o\012if(e.kind==\"SharedLib\")then\012"
	.ascii	"o=2\012elseif(e.kind==\"StaticLib\")then\012o=4\012"
	.ascii	"else\012o=1\012end\012_p(3,'ConfigurationType=\"%s\""
	.ascii	"',o)if(e.flags.MFC)then\012_p(3,'UseOfMFC=\"%d\"',i"
	.ascii	"if(e.flags.StaticRuntime,1,2))end\012if(e.flags.ATL"
	.ascii	" or e.flags.StaticATL)then\012_p(3,'UseOfATL=\"%d\""
	.ascii	"',iif(e.flags.StaticATL,1,2))end\012_p(3,'Character"
	.ascii	"Set=\"%s\"',iif(e.flags.Unicode,1,2))if e.flags.Man"
	.ascii	"aged then\012_p(3,'ManagedExtensions=\"1\"')end\012"
	.ascii	"_p(3,'>')end\012function o.individualSourceFile(n,e"
	.ascii	",t,l)for o,i in ipairs(n.solution.vstudio_configs)d"
	.ascii	"o\012if i.isreal then\012local o=premake.getconfig("
	.ascii	"n,i.src_buildcfg,i.src_platform)local l=(not n.flag"
	.ascii	"s.NoPCH and n.pchsource==l.cfg.name)local a=path.is"
	.ascii	"cppfile(t)local n=(path.iscfile(t)~=premake.project"
	.ascii	".iscproject(n))if l or(a and n)then\012_p(e,'<FileC"
	.ascii	"onfiguration')_p(e,'\\tName=\"%s\"',i.name)_p(e,'\\"
	.ascii	"t>')_p(e,'\\t<Tool')_p(e,'\\t\\tName=\"%s\"',iif(o."
	.ascii	"system==\"Xbox360\",\"VCCLX360CompilerTool\",\"VCCL"
	.ascii	"CompilerTool\"))if n then\012_p(e,'\\t\\tCompileAs="
	.ascii	"\"%s\"',iif(path.iscfile(t),1,2))end\012if l then\012"
	.ascii	"if o.system==\"PS3\"then\012local o=table.join(prem"
	.ascii	"ake.snc.getcflags(o),premake.snc.getcxxflags(o),o.b"
	.ascii	"uildoptions)o=tabl"
	.ascii	"e.concat(o,\" \");o=o..' --create_pch=\"$(IntDir)/$"
	.ascii	"(TargetName).pch\"'_p(e,'\\t\\tAdditionalOptions=\""
	.ascii	"%s\"',premake.esc(o))else\012_p(e,'\\t\\tUsePrecomp"
	.ascii	"iledHeader=\"1\"')end\012end\012_p(e,'\\t/>')_p(e,'"
	.ascii	"</FileConfiguration>')end\012end\012end\012end\012f"
	.ascii	"unction o.Files(n)local e=premake.project.buildsour"
	.ascii	"cetree(n)s.traverse(e,{onbranchenter=function(o,e)_"
	.ascii	"p(e,'<Filter')_p(e,'\\tName=\"%s\"',o.name)_p(e,'\\"
	.ascii	"tFilter=\"\"')_p(e,'\\t>')end,onbranchexit=function"
	.ascii	"(o,e)_p(e,'</Filter>')end,onleaf=function(t,e)local"
	.ascii	" i=t.cfg.name\012_p(e,'<File')_p(e,'\\tRelativePath"
	.ascii	"=\"%s\"',path.translate(i,\"\\\\\"))_p(e,'\\t>')e=e"
	.ascii	"+1\012o.individualSourceFile(n,e,i,t)e=e-1\012_p(e,"
	.ascii	"'</File>')end,},false,2)end\012function o.Platforms"
	.ascii	"(e)local o={}_p(1,'<Platforms>')for n,e in ipairs(e"
	.ascii	".solution.vstudio_configs)do\012if e.isreal and not"
	.ascii	" table.contains(o,e.platform)then\012table.insert(o"
	.ascii	",e.platform)_p(2,'<Platform')_p(3,'Name=\"%s\"',e.p"
	.ascii	"latform)_p(2,'/>')end\012end\012_p(1,'</Platforms>'"
	.ascii	")end\012function o.Symbols(e)if(not e.flags.Symbols"
	.ascii	")then\012return 0\012else\012if e.flags.NoEditAndCo"
	.ascii	"ntinue or\012o.optimization(e)~=0 or\012e.flags.Man"
	.ascii	"aged or\012e.platform==\"x64\"then\012return 3\012e"
	.ascii	"lse\012return 4\012end\012end\012end\012function o."
	.ascii	"VCCLCompilerTool(e)_p(3,'<Tool')_p(4,'Name=\"%s\"',"
	.ascii	"iif(e.platform~=\"Xbox360\",\"VCCLCompilerTool\",\""
	.ascii	"VCCLX360CompilerTool\"))if#e.buildoptions>0 then\012"
	.ascii	"_p(4,'AdditionalOptions=\"%s\"',table.concat(premak"
	.ascii	"e.esc(e.buildoptions),\" \"))end\012_p(4,'Optimizat"
	.ascii	"ion=\"%s\"',o.optimization(e))if e.flags.NoFramePoi"
	.ascii	"nter then\012_p(4,'OmitFramePointers=\"%s\"',n(true"
	.ascii	"))end\012if#e.includedirs>0 then\012_p(4,'Additiona"
	.ascii	"lIncludeDirectories=\"%s\"',premake.esc(path.transl"
	.ascii	"ate(table.concat(e.includedirs,\";\"),'\\\\')))end\012"
	.ascii	"if#e.defines>0 then\012_p(4,'PreprocessorDefinition"
	.ascii	"s=\"%s\"',premake.esc(table.concat(e.defines,\";\")"
	.ascii	"))end\012if premake.config.isdebugbuild(e)and not e"
	.ascii	".flags.NoMinimalRebuild and not e.flags.Managed the"
	.ascii	"n\012_p(4,'MinimalRebuild=\"%s\"',n(true))end\012if"
	.ascii	" e.flags.NoExceptions then\012_p(4,'ExceptionHandli"
	.ascii	"ng=\"%s\"',iif(_ACTION<\"vs2005\",\"FALSE\",0))else"
	.ascii	"if e.flags.SEH and _ACTION>\"vs2003\"then\012_p(4,'"
	.ascii	"ExceptionHandling=\"2\"')end\012if o.optimization("
	.ascii	"e)==0 and not e.flags.Managed then\012_p(4,'BasicRu"
	.ascii	"ntimeChecks=\"3\"')end\012if o.optimization(e)~=0 t"
	.ascii	"hen\012_p(4,'StringPooling=\"%s\"',n(true))end\012l"
	.ascii	"ocal i\012if premake.config.isdebugbuild(e)then\012"
	.ascii	"i=iif(e.flags.StaticRuntime,1,3)else\012i=iif(e.fla"
	.ascii	"gs.StaticRuntime,0,2)end\012_p(4,'RuntimeLibrary=\""
	.ascii	"%s\"',i)_p(4,'EnableFunctionLevelLinking=\"%s\"',n("
	.ascii	"true))if _ACTION>\"vs2003\"and e.platform~=\"Xbox36"
	.ascii	"0\"and e.platform~=\"x64\"then\012if e.flags.Enable"
	.ascii	"SSE then\012_p(4,'EnableEnhancedInstructionSet=\"1\""
	.ascii	"')elseif e.flags.EnableSSE2 then\012_p(4,'EnableEnh"
	.ascii	"ancedInstructionSet=\"2\"')end\012end\012if _ACTION"
	.ascii	"<\"vs2005\"then\012if e.flags.FloatFast then\012_p("
	.ascii	"4,'ImproveFloatingPointConsistency=\"%s\"',n(false)"
	.ascii	")elseif e.flags.FloatStrict then\012_p(4,'ImproveFl"
	.ascii	"oatingPointConsistency=\"%s\"',n(true))end\012else\012"
	.ascii	"if e.flags.FloatFast then\012_p(4,'FloatingPointMod"
	.ascii	"el=\"2\"')elseif e.flags.FloatStrict then\012_p(4,'"
	.ascii	"FloatingPointModel=\"1\"')end\012end\012if _ACTION<"
	.ascii	"\"vs2005\"and not e.flags.NoRTTI then\012_p(4,'Runt"
	.ascii	"imeTypeInfo=\"%s\"',n(true))elseif _ACTION>\"vs2003"
	.ascii	"\"and e.flags.NoRTTI and not e.flags.Managed then\012"
	.ascii	"_p(4,'RuntimeTypeInfo=\"%s\"',n(false))end\012if e."
	.ascii	"flags.NativeWChar then\012_p(4,'TreatWChar_tAsBuilt"
	.ascii	"InType=\"%s\"',n(true))elseif e.flags.NoNativeWChar"
	.ascii	" then\012_p(4,'TreatWChar_tAsBuiltInType=\"%s\"',n("
	.ascii	"false))end\012if not e.flags.NoPCH and e.pchheader "
	.ascii	"then\012_p(4,'UsePrecompiledHeader=\"%s\"',iif(_ACT"
	.ascii	"ION<\"vs2005\",3,2))_p(4,'PrecompiledHeaderThrough="
	.ascii	"\"%s\"',e.pchheader)else\012_p(4,'UsePrecompiledHea"
	.ascii	"der=\"%s\"',iif(_ACTION>\"vs2003\"or e.flags.NoPCH,"
	.ascii	"0,2))end\012_p(4,'WarningLevel=\"%s\"',iif(e.flags."
	.ascii	"ExtraWarnings,4,3))if e.flags.FatalWarnings then\012"
	.ascii	"_p(4,'WarnAsError=\"%s\"',n(true))end\012if _ACTION"
	.ascii	"<\"vs2008\"and not e.flags.Managed then\012_p(4,'De"
	.ascii	"tect64BitPortabilityProblems=\"%s\"',n(not e.flags."
	.ascii	"No64BitChecks))end\012_p(4,'ProgramDataBaseFileName"
	.ascii	"=\"$(OutDir)\\\\%s.pdb\"',path.getbasename(e.buildt"
	.ascii	"arget.name))_p(4,'DebugInformationFormat=\"%s\"',o."
	.ascii	"Symbols(e))if e.language==\"C\"then\012_p(4,'Compil"
	.ascii	"eAs=\"1\"')end\012_p(3,'/>')end\012function o.VCLin"
	.ascii	"kerTool(e)_p(3,'<Tool')if e.kind~=\"StaticLib\"then"
	.ascii	"\012_p(4,'Name=\"%s\"',iif(e.platform~=\""
	.ascii	"Xbox360\",\"VCLinkerTool\",\"VCX360LinkerTool\"))if"
	.ascii	" e.flags.NoImportLib then\012_p(4,'IgnoreImportLibr"
	.ascii	"ary=\"%s\"',n(true))end\012if#e.linkoptions>0 then\012"
	.ascii	"_p(4,'AdditionalOptions=\"%s\"',table.concat(premak"
	.ascii	"e.esc(e.linkoptions),\" \"))end\012if#e.links>0 the"
	.ascii	"n\012_p(4,'AdditionalDependencies=\"%s\"',table.con"
	.ascii	"cat(premake.getlinks(e,\"all\",\"fullpath\"),\" \")"
	.ascii	")end\012_p(4,'OutputFile=\"$(OutDir)\\\\%s\"',e.bui"
	.ascii	"ldtarget.name)_p(4,'LinkIncremental=\"%s\"',iif(pre"
	.ascii	"make.config.isincrementallink(e),2,1))_p(4,'Additio"
	.ascii	"nalLibraryDirectories=\"%s\"',table.concat(premake."
	.ascii	"esc(path.translate(e.libdirs,'\\\\')),\";\"))local "
	.ascii	"i=premake.findfile(e,\".def\")if i then\012_p(4,'Mo"
	.ascii	"duleDefinitionFile=\"%s\"',i)end\012if e.flags.NoMa"
	.ascii	"nifest then\012_p(4,'GenerateManifest=\"%s\"',n(fal"
	.ascii	"se))end\012_p(4,'GenerateDebugInformation=\"%s\"',n"
	.ascii	"(o.Symbols(e)~=0))if o.Symbols(e)~=0 then\012_p(4,'"
	.ascii	"ProgramDataBaseFileName=\"$(OutDir)\\\\%s.pdb\"',pa"
	.ascii	"th.getbasename(e.buildtarget.name))end\012_p(4,'Sub"
	.ascii	"System=\"%s\"',iif(e.kind==\"ConsoleApp\",1,2))if o"
	.ascii	".optimization(e)~=0 then\012_p(4,'OptimizeReference"
	.ascii	"s=\"2\"')_p(4,'EnableCOMDATFolding=\"2\"')end\012if"
	.ascii	"(e.kind==\"ConsoleApp\"or e.kind==\"WindowedApp\")a"
	.ascii	"nd not e.flags.WinMain then\012_p(4,'EntryPointSymb"
	.ascii	"ol=\"%s\"',iif(e.flags.Unicode,\"wmainCRTStartup\","
	.ascii	"\"mainCRTStartup\"))end\012if e.kind==\"SharedLib\""
	.ascii	"then\012local o=e.linktarget.fullpath\012_p(4,'Impo"
	.ascii	"rtLibrary=\"%s\"',iif(e.flags.NoImportLib,e.objects"
	.ascii	"dir..\"\\\\\"..path.getname(o),o))end\012_p(4,'Targ"
	.ascii	"etMachine=\"%d\"',iif(e.platform==\"x64\",17,1))els"
	.ascii	"e\012_p(4,'Name=\"VCLibrarianTool\"')if#e.links>0 t"
	.ascii	"hen\012_p(4,'AdditionalDependencies=\"%s\"',table.c"
	.ascii	"oncat(premake.getlinks(e,\"all\",\"fullpath\"),\" \""
	.ascii	"))end\012_p(4,'OutputFile=\"$(OutDir)\\\\%s\"',e.bu"
	.ascii	"ildtarget.name)if#e.libdirs>0 then\012_p(4,'Additio"
	.ascii	"nalLibraryDirectories=\"%s\"',premake.esc(path.tran"
	.ascii	"slate(table.concat(e.libdirs,\";\"))))end\012local "
	.ascii	"o={}if e.platform==\"x32\"then\012table.insert(o,\""
	.ascii	"/MACHINE:X86\")elseif e.platform==\"x64\"then\012ta"
	.ascii	"ble.insert(o,\"/MACHINE:X64\")end\012o=table.join(o"
	.ascii	",e.linkoptions)if#o>0 then\012_p(4,'AdditionalOptio"
	.ascii	"ns=\"%s\"',table.concat(premake.esc(o),\" \"))end\012"
	.ascii	"end\012_p(3,'/>')end\012function o.VCCLCompilerT"
	.ascii	"ool_PS3(e)_p(3,'<Tool')_p(4,'Name=\"VCCLCompilerToo"
	.ascii	"l\"')local o=table.join(premake.snc.getcflags(e),pr"
	.ascii	"emake.snc.getcxxflags(e),e.buildoptions)if not e.fl"
	.ascii	"ags.NoPCH and e.pchheader then\012_p(4,'UsePrecompi"
	.ascii	"ledHeader=\"%s\"',iif(_ACTION<\"vs2005\",3,2))_p(4,"
	.ascii	"'PrecompiledHeaderThrough=\"%s\"',path.getname(e.pc"
	.ascii	"hheader))table.insert(o,'--use_pch=\"$(IntDir)/$(Ta"
	.ascii	"rgetName).pch\"')else\012_p(4,'UsePrecompiledHeader"
	.ascii	"=\"%s\"',iif(_ACTION>\"vs2003\"or e.flags.NoPCH,0,2"
	.ascii	"))end\012_p(4,'AdditionalOptions=\"%s\"',premake.es"
	.ascii	"c(table.concat(o,\" \")))if#e.includedirs>0 then\012"
	.ascii	"_p(4,'AdditionalIncludeDirectories=\"%s\"',premake."
	.ascii	"esc(path.translate(table.concat(e.includedirs,\";\""
	.ascii	"),'\\\\')))end\012if#e.defines>0 then\012_p(4,'Prep"
	.ascii	"rocessorDefinitions=\"%s\"',table.concat(premake.es"
	.ascii	"c(e.defines),\";\"))end\012_p(4,'ProgramDataBaseFil"
	.ascii	"eName=\"$(OutDir)\\\\%s.pdb\"',path.getbasename(e.b"
	.ascii	"uildtarget.name))_p(4,'DebugInformationFormat=\"0\""
	.ascii	"')_p(4,'CompileAs=\"0\"')_p(3,'/>')end\012function "
	.ascii	"o.VCLinkerTool_PS3(e)_p(3,'<Tool')if e.kind~=\"Stat"
	.ascii	"icLib\"then\012_p(4,'Name=\"VCLinkerTool\"')local o"
	.ascii	"=table.join(premake.snc.getldflags(e),e.linkoptions"
	.ascii	")if#o>0 then\012_p(4,'AdditionalOptions=\"%s\"',pre"
	.ascii	"make.esc(table.concat(o,\" \")))end\012if#e.links>0"
	.ascii	" then\012_p(4,'AdditionalDependencies=\"%s\"',table"
	.ascii	".concat(premake.getlinks(e,\"all\",\"fullpath\"),\""
	.ascii	" \"))end\012_p(4,'OutputFile=\"$(OutDir)\\\\%s\"',e"
	.ascii	".buildtarget.name)_p(4,'LinkIncremental=\"0\"')_p(4"
	.ascii	",'AdditionalLibraryDirectories=\"%s\"',table.concat"
	.ascii	"(premake.esc(path.translate(e.libdirs,'\\\\')),\";\""
	.ascii	"))_p(4,'GenerateManifest=\"%s\"',n(false))_p(4,'Pro"
	.ascii	"gramDatabaseFile=\"\"')_p(4,'RandomizedBaseAddress="
	.ascii	"\"1\"')_p(4,'DataExecutionPrevention=\"0\"')else\012"
	.ascii	"_p(4,'Name=\"VCLibrarianTool\"')local o=table.join("
	.ascii	"premake.snc.getldflags(e),e.linkoptions)if#o>0 then"
	.ascii	"\012_p(4,'AdditionalOptions=\"%s\"',premake.esc(tab"
	.ascii	"le.concat(o,\" \")))end\012if#e.links>0 then\012_p("
	.ascii	"4,'AdditionalDependencies=\"%s\"',table.concat(prem"
	.ascii	"ake.getlinks(e,\"all\",\"fullpath\"),\" \"))end\012"
	.ascii	"_p(4,'OutputFile=\"$(OutDir)\\\\%s\"',e.buildtarget"
	.ascii	".name)if#e.libdirs>0 then\012_p(4,'AdditionalLibrar"
	.ascii	"yDirectories=\"%s\"',premake.esc(path.translate(tab"
	.ascii	"le.c"
	.ascii	"oncat(e.libdirs,\";\"))))end\012end\012_p(3,'/>')en"
	.ascii	"d\012function o.VCResourceCompilerTool(e)_p(3,'<Too"
	.ascii	"l')_p(4,'Name=\"VCResourceCompilerTool\"')if#e.reso"
	.ascii	"ptions>0 then\012_p(4,'AdditionalOptions=\"%s\"',ta"
	.ascii	"ble.concat(premake.esc(e.resoptions),\" \"))end\012"
	.ascii	"if#e.defines>0 or#e.resdefines>0 then\012_p(4,'Prep"
	.ascii	"rocessorDefinitions=\"%s\"',table.concat(premake.es"
	.ascii	"c(table.join(e.defines,e.resdefines)),\";\"))end\012"
	.ascii	"if#e.includedirs>0 or#e.resincludedirs>0 then\012lo"
	.ascii	"cal e=table.join(e.includedirs,e.resincludedirs)_p("
	.ascii	"4,'AdditionalIncludeDirectories=\"%s\"',premake.esc"
	.ascii	"(path.translate(table.concat(e,\";\"),'\\\\')))end\012"
	.ascii	"_p(3,'/>')end\012function o.VCManifestTool(o)local "
	.ascii	"e={}for n,o in ipairs(o.files)do\012if path.getexte"
	.ascii	"nsion(o)==\".manifest\"then\012table.insert(e,o)end"
	.ascii	"\012end\012_p(3,'<Tool')_p(4,'Name=\"VCManifestTool"
	.ascii	"\"')if#e>0 then\012_p(4,'AdditionalManifestFiles=\""
	.ascii	"%s\"',premake.esc(table.concat(e,\";\")))end\012_p("
	.ascii	"3,'/>')end\012function o.VCMIDLTool(e)_p(3,'<Tool')"
	.ascii	"_p(4,'Name=\"VCMIDLTool\"')if e.platform==\"x64\"th"
	.ascii	"en\012_p(4,'TargetEnvironment=\"3\"')end\012_p(3,'/"
	.ascii	">')end\012function o.buildstepsblock(n,e)_p(3,'<Too"
	.ascii	"l')_p(4,'Name=\"%s\"',n)if#e>0 then\012_p(4,'Comman"
	.ascii	"dLine=\"%s\"',premake.esc(table.implode(e,\"\",\"\""
	.ascii	",\"\\r\\n\")))end\012_p(3,'/>')end\012o.toolmap={VC"
	.ascii	"CLCompilerTool=o.VCCLCompilerTool,VCCLCompilerTool_"
	.ascii	"PS3=o.VCCLCompilerTool_PS3,VCLinkerTool=o.VCLinkerT"
	.ascii	"ool,VCLinkerTool_PS3=o.VCLinkerTool_PS3,VCManifestT"
	.ascii	"ool=o.VCManifestTool,VCMIDLTool=o.VCMIDLTool,VCReso"
	.ascii	"urceCompilerTool=o.VCResourceCompilerTool,VCPreBuil"
	.ascii	"dEventTool=function(e)o.buildstepsblock(\"VCPreBuil"
	.ascii	"dEventTool\",e.prebuildcommands)end,VCPreLinkEventT"
	.ascii	"ool=function(e)o.buildstepsblock(\"VCPreLinkEventTo"
	.ascii	"ol\",e.prelinkcommands)end,VCPostBuildEventTool=fun"
	.ascii	"ction(e)o.buildstepsblock(\"VCPostBuildEventTool\","
	.ascii	"e.postbuildcommands)end,}local function t(o,e)if o="
	.ascii	"=\"vs2002\"then\012return{\"VCCLCompilerTool\",\"VC"
	.ascii	"CustomBuildTool\",\"VCLinkerTool\",\"VCMIDLTool\",\""
	.ascii	"VCPostBuildEventTool\",\"VCPreBuildEventTool\",\"VC"
	.ascii	"PreLinkEventTool\",\"VCResourceCompilerTool\",\"VCW"
	.ascii	"ebServiceProxyGeneratorTool\",\"VCWebDeploymentTool"
	.ascii	"\"}end\012if o==\"vs2003\"then\012return{\"VCCLComp"
	.ascii	"ilerTo"
	.ascii	"ol\",\"VCCustomBuildTool\",\"VCLinkerTool\",\"VCMID"
	.ascii	"LTool\",\"VCPostBuildEventTool\",\"VCPreBuildEventT"
	.ascii	"ool\",\"VCPreLinkEventTool\",\"VCResourceCompilerTo"
	.ascii	"ol\",\"VCWebServiceProxyGeneratorTool\",\"VCXMLData"
	.ascii	"GeneratorTool\",\"VCWebDeploymentTool\",\"VCManaged"
	.ascii	"WrapperGeneratorTool\",\"VCAuxiliaryManagedWrapperG"
	.ascii	"eneratorTool\"}end\012if e==\"Xbox360\"then\012retu"
	.ascii	"rn{\"VCPreBuildEventTool\",\"VCCustomBuildTool\",\""
	.ascii	"VCXMLDataGeneratorTool\",\"VCWebServiceProxyGenerat"
	.ascii	"orTool\",\"VCMIDLTool\",\"VCCLCompilerTool\",\"VCMa"
	.ascii	"nagedResourceCompilerTool\",\"VCResourceCompilerToo"
	.ascii	"l\",\"VCPreLinkEventTool\",\"VCLinkerTool\",\"VCALi"
	.ascii	"nkTool\",\"VCX360ImageTool\",\"VCBscMakeTool\",\"VC"
	.ascii	"X360DeploymentTool\",\"VCPostBuildEventTool\",\"Deb"
	.ascii	"uggerTool\",}end\012if e==\"PS3\"then\012return{\"V"
	.ascii	"CPreBuildEventTool\",\"VCCustomBuildTool\",\"VCXMLD"
	.ascii	"ataGeneratorTool\",\"VCWebServiceProxyGeneratorTool"
	.ascii	"\",\"VCMIDLTool\",\"VCCLCompilerTool_PS3\",\"VCMana"
	.ascii	"gedResourceCompilerTool\",\"VCResourceCompilerTool\""
	.ascii	",\"VCPreLinkEventTool\",\"VCLinkerTool_PS3\",\"VCAL"
	.ascii	"inkTool\",\"VCManifestTool\",\"VCXDCMakeTool\",\"VC"
	.ascii	"BscMakeTool\",\"VCFxCopTool\",\"VCAppVerifierTool\""
	.ascii	",\"VCWebDeploymentTool\",\"VCPostBuildEventTool\"}e"
	.ascii	"lse\012return{\"VCPreBuildEventTool\",\"VCCustomBui"
	.ascii	"ldTool\",\"VCXMLDataGeneratorTool\",\"VCWebServiceP"
	.ascii	"roxyGeneratorTool\",\"VCMIDLTool\",\"VCCLCompilerTo"
	.ascii	"ol\",\"VCManagedResourceCompilerTool\",\"VCResource"
	.ascii	"CompilerTool\",\"VCPreLinkEventTool\",\"VCLinkerToo"
	.ascii	"l\",\"VCALinkTool\",\"VCManifestTool\",\"VCXDCMakeT"
	.ascii	"ool\",\"VCBscMakeTool\",\"VCFxCopTool\",\"VCAppVeri"
	.ascii	"fierTool\",\"VCWebDeploymentTool\",\"VCPostBuildEve"
	.ascii	"ntTool\"}end\012end\012function o.generate(n)o.head"
	.ascii	"er('VisualStudioProject')_p(1,'Name=\"%s\"',premake"
	.ascii	".esc(n.name))_p(1,'ProjectGUID=\"{%s}\"',n.uuid)if "
	.ascii	"_ACTION>\"vs2003\"then\012_p(1,'RootNamespace=\"%s\""
	.ascii	"',n.name)end\012_p(1,'Keyword=\"%s\"',iif(n.flags.M"
	.ascii	"anaged,\"ManagedCProj\",\"Win32Proj\"))_p(1,'>')o.P"
	.ascii	"latforms(n)if _ACTION>\"vs2003\"then\012_p(1,'<Tool"
	.ascii	"Files>')_p(1,'</ToolFiles>')end\012_p(1,'<Configura"
	.ascii	"tions>')for e,i in ipairs(n.solution.vstudio_config"
	.ascii	"s)do\012if i.isreal then\012local e=premake.getconf"
	.ascii	"ig(n,i.src_buildcfg,i.src_platform)o.Configuration("
	.ascii	"i.name,e)for i,n in ipairs(t(_ACTION,i.src_p"
	.ascii	"latform))do\012if o.toolmap[n]then\012o.toolmap[n]("
	.ascii	"e)elseif n==\"VCX360DeploymentTool\"then\012_p(3,'<"
	.ascii	"Tool')_p(4,'Name=\"VCX360DeploymentTool\"')_p(4,'De"
	.ascii	"ploymentType=\"0\"')if#e.deploymentoptions>0 then\012"
	.ascii	"_p(4,'AdditionalOptions=\"%s\"',table.concat(premak"
	.ascii	"e.esc(e.deploymentoptions),\" \"))end\012_p(3,'/>')"
	.ascii	"elseif n==\"VCX360ImageTool\"then\012_p(3,'<Tool')_"
	.ascii	"p(4,'Name=\"VCX360ImageTool\"')if#e.imageoptions>0 "
	.ascii	"then\012_p(4,'AdditionalOptions=\"%s\"',table.conca"
	.ascii	"t(premake.esc(e.imageoptions),\" \"))end\012if e.im"
	.ascii	"agepath~=nil then\012_p(4,'OutputFileName=\"%s\"',p"
	.ascii	"remake.esc(path.translate(e.imagepath)))end\012_p(3"
	.ascii	",'/>')elseif n==\"DebuggerTool\"then\012_p(3,'<Debu"
	.ascii	"ggerTool')_p(3,'/>')else\012_p(3,'<Tool')_p(4,'Name"
	.ascii	"=\"%s\"',n)_p(3,'/>')end\012end\012_p(2,'</Configur"
	.ascii	"ation>')end\012end\012_p(1,'</Configurations>')_p(1"
	.ascii	",'<References>')_p(1,'</References>')_p(1,'<Files>'"
	.ascii	")o.Files(n)_p(1,'</Files>')_p(1,'<Globals>')_p(1,'<"
	.ascii	"/Globals>')_p('</VisualStudioProject>')end\000"
	.align	2
.LC38:
	.ascii	"local e=premake.vstudio.vc200x\012function e.genera"
	.ascii	"te_user(i)e.header('VisualStudioUserFile')_p(1,'Sho"
	.ascii	"wAllFiles=\"false\"')_p(1,'>')_p(1,'<Configurations"
	.ascii	">')for r,n in ipairs(i.solution.vstudio_configs)do\012"
	.ascii	"if n.isreal then\012local i=premake.getconfig(i,n.s"
	.ascii	"rc_buildcfg,n.src_platform)_p(2,'<Configuration')_p"
	.ascii	"(3,'Name=\"%s\"',premake.esc(n.name))_p(3,'>')e.deb"
	.ascii	"ugdir(i)_p(2,'</Configuration>')end\012end\012_p(1,"
	.ascii	"'</Configurations>')_p('</VisualStudioUserFile>')en"
	.ascii	"d\012function e.environmentargs(e)if e.environmenta"
	.ascii	"rgs and#e.environmentargs>0 then\012_p(4,'Environme"
	.ascii	"nt=\"%s\"',string.gsub(table.concat(e.environmentar"
	.ascii	"gs,\"&#x0A;\"),'\"','&quot;'))if e.flags.Environmen"
	.ascii	"tArgsDontMerge then\012_p(4,'EnvironmentMerge=\"fal"
	.ascii	"se\"')end\012end\012end\012function e.debugdir(n)_p"
	.ascii	"(3,'<DebugSettings')if n.debugdir then\012_p(4,'Wor"
	.ascii	"kingDirectory=\"%s\"',path.translate(n.debugdir,'\\"
	.ascii	"\\'))end\012if#n.debugargs>0 then\012_p(4,'CommandA"
	.ascii	"rguments=\"%s\"',table.concat(n.debugargs,\" \"))en"
	.ascii	"d\012e.environmentargs(n)_p(3,'/>')end\000"
	.align	2
.LC39:
	.ascii	"premake.vstudio.sln2003={}local i=premake.vstudio\012"
	.ascii	"local o=premake.vstudio.sln2003\012function o.gener"
	.ascii	"ate(o)io.indent=nil\012io.eol='\\r\\n'o.vstudio_con"
	.ascii	"figs=premake.vstudio.buildconfigs(o)_p('Microsoft V"
	.ascii	"isual Studio Solution File, Format Version 8.00')fo"
	.ascii	"r t in premake.solution.eachproject(o)do\012local o"
	.ascii	"=path.translate(path.getrelative(o.location,i.proje"
	.ascii	"ctfile(t)))_p('Project(\"{%s}\") = \"%s\", \"%s\", "
	.ascii	"\"{%s}\"',i.tool(t),t.name,o,t.uuid)local o=premake"
	.ascii	".getdependencies(t)if#o>0 then\012_p('\\tProjectSec"
	.ascii	"tion(ProjectDependencies) = postProject')for t,o in"
	.ascii	" ipairs(o)do\012_p('\\t\\t{%s} = {%s}',o.uuid,o.uui"
	.ascii	"d)end\012_p('\\tEndProjectSection')end\012_p('EndPr"
	.ascii	"oject')end\012_p('Global')_p('\\tGlobalSection(Solu"
	.ascii	"tionConfiguration) = preSolution')for t,o in ipairs"
	.ascii	"(o.configurations)do\012_p('\\t\\t%s = %s',o,o)end\012"
	.ascii	"_p('\\tEndGlobalSection')_p('\\tGlobalSection(Proje"
	.ascii	"ctDependencies) = postSolution')_p('\\tEndGlobalSec"
	.ascii	"tion')_p('\\tGlobalSection(ProjectConfiguration) = "
	.ascii	"postSolution')for t in premake.solution.eachproject"
	.ascii	"(o)do\012for e,o in ipairs(o.configurations)do\012_"
	.ascii	"p('\\t\\t{%s}.%s.ActiveCfg = %s|%s',t.uuid,o,o,i.ar"
	.ascii	"ch(t))_p('\\t\\t{%s}.%s.Build.0 = %s|%s',t.uuid,o,o"
	.ascii	",i.arch(t))end\012end\012_p('\\tEndGlobalSection')_"
	.ascii	"p('\\tGlobalSection(ExtensibilityGlobals) = postSol"
	.ascii	"ution')_p('\\tEndGlobalSection')_p('\\tGlobalSectio"
	.ascii	"n(ExtensibilityAddIns) = postSolution')_p('\\tEndGl"
	.ascii	"obalSection')_p('EndGlobal')end\000"
	.align	2
.LC40:
	.ascii	"premake.vstudio.sln2005={}local t=premake.vstudio\012"
	.ascii	"local o=premake.vstudio.sln2005\012function o.gener"
	.ascii	"ate(e)io.indent=nil\012io.eol='\\r\\n'e.vstudio_con"
	.ascii	"figs=premake.vstudio.buildconfigs(e)_p('\357\273\277"
	.ascii	"')o.header(e)for e in premake.solution.eachproject("
	.ascii	"e)do\012o.project(e)end\012_p('Global')o.platforms("
	.ascii	"e)o.project_platforms(e)o.properties(e)_p('EndGloba"
	.ascii	"l')end\012function o.header(o)local o=premake.actio"
	.ascii	"n.current()_p('Microsoft Visual Studio Solution Fil"
	.ascii	"e, Format Version %d.00',o.vstudio.solutionVersion)"
	.ascii	"if o.vstudio.shortSlnVersion~=nil then\012_p('# Vis"
	.ascii	"ual Studio %s',o.vstudio.shortSlnVersion)else\012_p"
	.ascii	"('# Visual Studio %s',_ACTION:sub(3))end\012end\012"
	.ascii	"function o.project(e)local n=path.translate(path.ge"
	.ascii	"trelative(e.solution.location,t.projectfile(e)),\"\\"
	.ascii	"\\\")_p('Project(\"{%s}\") = \"%s\", \"%s\", \"{%s}"
	.ascii	"\"',t.tool(e),e.name,n,e.uuid)o.projectdependencies"
	.ascii	"(e)_p('EndProject')end\012function o.projectdepende"
	.ascii	"ncies(o)local o=premake.getdependencies(o)if#o>0 th"
	.ascii	"en\012_p('\\tProjectSection(ProjectDependencies) = "
	.ascii	"postProject')for e,o in ipairs(o)do\012_p('\\t\\t{%"
	.ascii	"s} = {%s}',o.uuid,o.uuid)end\012_p('\\tEndProjectSe"
	.ascii	"ction')end\012end\012function o.platforms(o)_p('\\t"
	.ascii	"GlobalSection(SolutionConfigurationPlatforms) = pre"
	.ascii	"Solution')for e,o in ipairs(o.vstudio_configs)do\012"
	.ascii	"_p('\\t\\t%s = %s',o.name,o.name)end\012_p('\\tEndG"
	.ascii	"lobalSection')end\012function o.project_platforms_s"
	.ascii	"ln2prj_mapping(n,t,o,e)_p('\\t\\t{%s}.%s.ActiveCfg "
	.ascii	"= %s|%s',t.uuid,o.name,o.buildcfg,e)if e==o.platfor"
	.ascii	"m or o.platform==\"Mixed Platforms\"then\012_p('\\t"
	.ascii	"\\t{%s}.%s.Build.0 = %s|%s',t.uuid,o.name,o.buildcf"
	.ascii	"g,e)end\012end\012function o.project_platforms(t)_p"
	.ascii	"('\\tGlobalSection(ProjectConfigurationPlatforms) ="
	.ascii	" postSolution')for i in premake.solution.eachprojec"
	.ascii	"t(t)do\012for e,n in ipairs(t.vstudio_configs)do\012"
	.ascii	"local e\012if premake.isdotnetproject(i)then\012e=\""
	.ascii	"Any CPU\"else\012if n.platform==\"Any CPU\"or n.pla"
	.ascii	"tform==\"Mixed Platforms\"then\012e=t.vstudio_confi"
	.ascii	"gs[3].platform\012else\012e=n.platform\012end\012en"
	.ascii	"d\012o.project_platforms_sln2prj_mapping(t,i,n,e)en"
	.ascii	"d\012end\012_p('\\tEndGlobalSection')end\012functio"
	.ascii	"n o.properties(o)_p('\\tGlobalSection(SolutionPrope"
	.ascii	"rties"
	.ascii	") = preSolution')_p('\\t\\tHideSolutionNode = FALSE"
	.ascii	"')_p('\\tEndGlobalSection')end\000"
	.align	2
.LC41:
	.ascii	"premake.vstudio.cs2005={}local s=premake.vstudio\012"
	.ascii	"local e=premake.vstudio.cs2005\012local function o("
	.ascii	"t,r,e)if r==\"Compile\"and e:endswith(\".cs\")then\012"
	.ascii	"if e:endswith(\".Designer.cs\")then\012local n=e:su"
	.ascii	"b(1,-13)local e=n..\".cs\"if premake.findfile(t,e)t"
	.ascii	"hen\012return\"Dependency\",e\012end\012e=n..\".res"
	.ascii	"x\"if premake.findfile(t,e)then\012return\"AutoGen\""
	.ascii	",e\012end\012elseif e:endswith(\".xaml.cs\")then\012"
	.ascii	"local e=e:sub(1,-9)local e=e..\".xaml\"if premake.f"
	.ascii	"indfile(t,e)then\012return\"SubTypeCode\",e\012end\012"
	.ascii	"else\012local e=e:sub(1,-4)local e=e..\".Designer.c"
	.ascii	"s\"if premake.findfile(t,e)then\012return\"SubTypeF"
	.ascii	"orm\"end\012end\012end\012if r==\"EmbeddedResource\""
	.ascii	"and e:endswith(\".resx\")then\012local n=e:sub(1,-6"
	.ascii	")local e=path.getname(n..\".cs\")if premake.findfil"
	.ascii	"e(t,e)then\012if premake.findfile(t,n..\".Designer."
	.ascii	"cs\")then\012return\"DesignerType\",e\012else\012re"
	.ascii	"turn\"Dependency\",e\012end\012else\012e=path.getna"
	.ascii	"me(n..\".Designer.cs\")if premake.findfile(t,e)then"
	.ascii	"\012return\"AutoGenerated\"end\012end\012end\012if "
	.ascii	"e:endswith(\".xaml\")then\012return\"XamlDesigner\""
	.ascii	"end\012if r==\"Content\"then\012return\"CopyNewest\""
	.ascii	"end\012return\"None\"end\012function e.arch(e)retur"
	.ascii	"n\"AnyCPU\"end\012function e.files(e)local t=premak"
	.ascii	"e.project.buildsourcetree(e)premake.tree.traverse(t"
	.ascii	",{onleaf=function(t)local n=premake.dotnet.getbuild"
	.ascii	"action(t.cfg)local r=path.translate(premake.esc(t.c"
	.ascii	"fg.name),\"\\\\\")local e,o=o(e,n,t.path)if e==\"No"
	.ascii	"ne\"then\012_p('    <%s Include=\"%s\" />',n,r)else"
	.ascii	"\012_p('    <%s Include=\"%s\">',n,r)if e==\"AutoGe"
	.ascii	"n\"then\012_p('      <AutoGen>True</AutoGen>')elsei"
	.ascii	"f e==\"AutoGenerated\"then\012_p('      <SubType>De"
	.ascii	"signer</SubType>')_p('      <Generator>ResXFileCode"
	.ascii	"Generator</Generator>')_p('      <LastGenOutput>%s."
	.ascii	"Designer.cs</LastGenOutput>',premake.esc(path.getba"
	.ascii	"sename(t.name)))elseif e==\"SubTypeDesigner\"then\012"
	.ascii	"_p('      <SubType>Designer</SubType>')elseif e==\""
	.ascii	"SubTypeForm\"then\012_p('      <SubType>Form</SubTy"
	.ascii	"pe>')elseif e==\"SubTypeCode\"then\012_p('      <Su"
	.ascii	"bType>Code</SubType>')elseif e==\"XamlDesigner\"the"
	.ascii	"n\012_p('      <SubType>Designer</SubType>')_p('   "
	.ascii	"   <Generator>MSBuild:Compile</Generator>')elseif e"
	.ascii	"==\"PreserveNewest\"then\012_p('      <CopyToOutput"
	.ascii	"Director"
	.ascii	"y>PreserveNewest</CopyToOutputDirectory>')end\012if"
	.ascii	" o then\012_p('      <DependentUpon>%s</DependentUp"
	.ascii	"on>',path.translate(premake.esc(o),\"\\\\\"))end\012"
	.ascii	"_p('    </%s>',n)end\012end},false)end\012function "
	.ascii	"e.projectelement(e)local t=premake.action.current()"
	.ascii	"local e=''if t.vstudio.toolsVersion then\012e=strin"
	.ascii	"g.format(' ToolsVersion=\"%s\"',t.vstudio.toolsVers"
	.ascii	"ion)end\012if _ACTION>\"vs2008\"then\012_p('<?xml v"
	.ascii	"ersion=\"1.0\" encoding=\"utf-8\"?>')end\012_p('<Pr"
	.ascii	"oject%s DefaultTargets=\"Build\" xmlns=\"http://sch"
	.ascii	"emas.microsoft.com/developer/msbuild/2003\">',e)end"
	.ascii	"\012function e.projectsettings(t)_p('  <PropertyGro"
	.ascii	"up>')_p(\"    <Configuration Condition=\\\" '$(Conf"
	.ascii	"iguration)' == '' \\\">%s</Configuration>\",premake"
	.ascii	".esc(t.solution.configurations[1]))_p(\"    <Platfo"
	.ascii	"rm Condition=\\\" '$(Platform)' == '' \\\">%s</Plat"
	.ascii	"form>\",e.arch(t))local e=premake.action.current()i"
	.ascii	"f e.vstudio.productVersion then\012_p('    <Product"
	.ascii	"Version>%s</ProductVersion>',e.vstudio.productVersi"
	.ascii	"on)end\012if _ACTION<\"vs2012\"then\012_p('    <Sch"
	.ascii	"emaVersion>2.0</SchemaVersion>')end\012_p('    <Pro"
	.ascii	"jectGuid>{%s}</ProjectGuid>',t.uuid)_p('    <Output"
	.ascii	"Type>%s</OutputType>',premake.dotnet.getkind(t))_p("
	.ascii	"'    <AppDesignerFolder>Properties</AppDesignerFold"
	.ascii	"er>')_p('    <RootNamespace>%s</RootNamespace>',t.b"
	.ascii	"uildtarget.basename)_p('    <AssemblyName>%s</Assem"
	.ascii	"blyName>',t.buildtarget.basename)local e=t.framewor"
	.ascii	"k or e.vstudio.targetFramework\012if e then\012_p('"
	.ascii	"    <TargetFrameworkVersion>v%s</TargetFrameworkVer"
	.ascii	"sion>',e)end\012if _ACTION=='vs2010'then\012_p('   "
	.ascii	" <TargetFrameworkProfile></TargetFrameworkProfile>'"
	.ascii	")end\012if _ACTION>=\"vs2010\"then\012_p('    <File"
	.ascii	"Alignment>512</FileAlignment>')end\012_p('  </Prope"
	.ascii	"rtyGroup>')end\012function e.propertygroup(t)_p(\" "
	.ascii	" <PropertyGroup Condition=\\\" '$(Configuration)|$("
	.ascii	"Platform)' == '%s|%s' \\\">\",premake.esc(t.name),e"
	.ascii	".arch(t))if _ACTION>\"vs2008\"then\012_p('    <Plat"
	.ascii	"formTarget>%s</PlatformTarget>',e.arch(t))end\012en"
	.ascii	"d\012function e.generate(n)io.eol=\"\\r\\n\"e.proje"
	.ascii	"ctelement(n)if _ACTION>\"vs2010\"then\012_p('  <Imp"
	.ascii	"ort Project=\"$(MSBuildExtensionsPath)\\\\$(MSBuild"
	.ascii	"ToolsVersion)\\\\Microsoft.Common.pro"
	.ascii	"ps\" Condition=\"Exists(\\'$(MSBuildExtensionsPath)"
	.ascii	"\\\\$(MSBuildToolsVersion)\\\\Microsoft.Common.prop"
	.ascii	"s\\')\" />')end\012e.projectsettings(n)for t in pre"
	.ascii	"make.eachconfig(n)do\012e.propertygroup(t)if t.flag"
	.ascii	"s.Symbols then\012_p('    <DebugSymbols>true</Debug"
	.ascii	"Symbols>')_p('    <DebugType>full</DebugType>')else"
	.ascii	"\012_p('    <DebugType>pdbonly</DebugType>')end\012"
	.ascii	"_p('    <Optimize>%s</Optimize>',iif(t.flags.Optimi"
	.ascii	"ze or t.flags.OptimizeSize or t.flags.OptimizeSpeed"
	.ascii	",\"true\",\"false\"))_p('    <OutputPath>%s</Output"
	.ascii	"Path>',t.buildtarget.directory)_p('    <DefineConst"
	.ascii	"ants>%s</DefineConstants>',table.concat(premake.esc"
	.ascii	"(t.defines),\";\"))_p('    <ErrorReport>prompt</Err"
	.ascii	"orReport>')_p('    <WarningLevel>4</WarningLevel>')"
	.ascii	"if t.flags.Unsafe then\012_p('    <AllowUnsafeBlock"
	.ascii	"s>true</AllowUnsafeBlocks>')end\012if t.flags.Fatal"
	.ascii	"Warnings then\012_p('    <TreatWarningsAsErrors>tru"
	.ascii	"e</TreatWarningsAsErrors>')end\012_p('  </PropertyG"
	.ascii	"roup>')end\012_p('  <ItemGroup>')for t,e in ipairs("
	.ascii	"premake.getlinks(n,\"siblings\",\"object\"))do\012_"
	.ascii	"p('    <ProjectReference Include=\"%s\">',path.tran"
	.ascii	"slate(path.getrelative(n.location,s.projectfile(e))"
	.ascii	",\"\\\\\"))_p('      <Project>{%s}</Project>',e.uui"
	.ascii	"d)_p('      <Name>%s</Name>',premake.esc(e.name))_p"
	.ascii	"('    </ProjectReference>')end\012for t,e in ipairs"
	.ascii	"(premake.getlinks(n,\"system\",\"name\"))do\012_p('"
	.ascii	"    <Reference Include=\"%s\" />',premake.esc(e))en"
	.ascii	"d\012_p('  </ItemGroup>')_p('  <ItemGroup>')e.files"
	.ascii	"(n)_p('  </ItemGroup>')local e=iif(_ACTION<\"vs2012"
	.ascii	"\",\"Bin\",\"Tools\")_p('  <Import Project=\"$(MSBu"
	.ascii	"ild%sPath)\\\\Microsoft.CSharp.targets\" />',e)_p('"
	.ascii	"  <!-- To modify your build process, add your task "
	.ascii	"inside one of the targets below and uncomment it.')"
	.ascii	"_p('       Other similar extension points exist, se"
	.ascii	"e Microsoft.Common.targets.')_p('  <Target Name=\"B"
	.ascii	"eforeBuild\">')_p('  </Target>')_p('  <Target Name="
	.ascii	"\"AfterBuild\">')_p('  </Target>')_p('  -->')_p('</"
	.ascii	"Project>')end\000"
	.align	2
.LC42:
	.ascii	"local e=premake.vstudio.cs2005\012function e.genera"
	.ascii	"te_user(e)io.eol=\"\\r\\n\"_p('<Project xmlns=\"htt"
	.ascii	"p://schemas.microsoft.com/developer/msbuild/2003\">"
	.ascii	"')_p('  <PropertyGroup>')local e=table.translate(e."
	.ascii	"libdirs,function(t)return path.getabsolute(e.locati"
	.ascii	"on..\"/\"..t)end)_p('    <ReferencePath>%s</Referen"
	.ascii	"cePath>',path.translate(table.concat(e,\";\"),\"\\\\"
	.ascii	"\"))_p('  </PropertyGroup>')_p('</Project>')end\000"
	.align	2
.LC43:
	.ascii	"premake.vstudio.vc2010={}local e=premake.vstudio.vc"
	.ascii	"2010\012local p=premake.vstudio\012local function l"
	.ascii	"(e)_p(1,'<ItemGroup Label=\"ProjectConfigurations\""
	.ascii	">')for n,e in ipairs(e.solution.vstudio_configs)do\012"
	.ascii	"_p(2,'<ProjectConfiguration Include=\"%s\">',premak"
	.ascii	"e.esc(e.name))_p(3,'<Configuration>%s</Configuratio"
	.ascii	"n>',e.buildcfg)_p(3,'<Platform>%s</Platform>',e.pla"
	.ascii	"tform)_p(2,'</ProjectConfiguration>')end\012_p(1,'<"
	.ascii	"/ItemGroup>')end\012local function s(e)_p(1,'<Prope"
	.ascii	"rtyGroup Label=\"Globals\">')_p(2,'<ProjectGuid>{%s"
	.ascii	"}</ProjectGuid>',e.uuid)_p(2,'<RootNamespace>%s</Ro"
	.ascii	"otNamespace>',e.name)if e.flags and e.flags.Managed"
	.ascii	" then\012_p(2,'<TargetFrameworkVersion>v4.0</Target"
	.ascii	"FrameworkVersion>')_p(2,'<Keyword>ManagedCProj</Key"
	.ascii	"word>')else\012_p(2,'<Keyword>Win32Proj</Keyword>')"
	.ascii	"end\012_p(1,'</PropertyGroup>')end\012function e.co"
	.ascii	"nfig_type(e)local n={SharedLib=\"DynamicLibrary\",S"
	.ascii	"taticLib=\"StaticLibrary\",ConsoleApp=\"Application"
	.ascii	"\",WindowedApp=\"Application\"}return n[e.kind]end\012"
	.ascii	"local function i()return\"Condition=\\\"'$(Configur"
	.ascii	"ation)|$(Platform)'=='%s'\\\"\"end\012local functio"
	.ascii	"n o(n)local e=\"Disabled\"for i,n in ipairs(n.flags"
	.ascii	")do\012if(n==\"Optimize\")then\012e=\"Full\"elseif("
	.ascii	"n==\"OptimizeSize\")then\012e=\"MinSpace\"elseif(n="
	.ascii	"=\"OptimizeSpeed\")then\012e=\"MaxSpeed\"end\012end"
	.ascii	"\012return e\012end\012function e.configurationProp"
	.ascii	"ertyGroup(n,t)_p(1,'<PropertyGroup '..i()..' Label="
	.ascii	"\"Configuration\">',premake.esc(t.name))_p(2,'<Conf"
	.ascii	"igurationType>%s</ConfigurationType>',e.config_type"
	.ascii	"(n))_p(2,'<UseDebugLibraries>%s</UseDebugLibraries>"
	.ascii	"',iif(o(n)==\"Disabled\",\"true\",\"false\"))_p(2,'"
	.ascii	"<CharacterSet>%s</CharacterSet>',iif(n.flags.Unicod"
	.ascii	"e,\"Unicode\",\"MultiByte\"))local e={vs2012=\"v110"
	.ascii	"\",vs2013=\"v120\",vs2015=\"v140\",vs2017=\"v141\","
	.ascii	"vs2019=\"v142\"}local e=e[_ACTION]if e then\012_p(2"
	.ascii	",'<PlatformToolset>%s</PlatformToolset>',e)end\012i"
	.ascii	"f n.flags.MFC then\012_p(2,'<UseOfMfc>%s</UseOfMfc>"
	.ascii	"',iif(n.flags.StaticRuntime,\"Static\",\"Dynamic\")"
	.ascii	")end\012if n.flags.ATL or n.flags.StaticATL then\012"
	.ascii	"_p(2,'<UseOfAtl>%s</UseOfAtl>',iif(n.flags.StaticAT"
	.ascii	"L,\"Static\",\"Dynamic\"))end\012if n.flags.Managed"
	.ascii	" then\012_p(2,'<CLRSupport>true</CLRSupport>"
	.ascii	"')end\012_p(1,'</PropertyGroup>')end\012local funct"
	.ascii	"ion r(n)for t,e in ipairs(n.solution.vstudio_config"
	.ascii	"s)do\012local n=premake.getconfig(n,e.src_buildcfg,"
	.ascii	"e.src_platform)_p(1,'<ImportGroup '..i()..' Label=\""
	.ascii	"PropertySheets\">',premake.esc(e.name))_p(2,'<Impor"
	.ascii	"t Project=\"$(UserRootDir)\\\\Microsoft.Cpp.$(Platf"
	.ascii	"orm).user.props\" Condition=\"exists(\\'$(UserRootD"
	.ascii	"ir)\\\\Microsoft.Cpp.$(Platform).user.props\\')\" L"
	.ascii	"abel=\"LocalAppDataPlatform\" />')_p(1,'</ImportGro"
	.ascii	"up>')end\012end\012function e.outputProperties(e)fo"
	.ascii	"r n,t in ipairs(e.solution.vstudio_configs)do\012lo"
	.ascii	"cal e=premake.getconfig(e,t.src_buildcfg,t.src_plat"
	.ascii	"form)local n=e.buildtarget\012_p(1,'<PropertyGroup "
	.ascii	"'..i()..'>',premake.esc(t.name))_p(2,'<OutDir>%s\\\\"
	.ascii	"</OutDir>',premake.esc(n.directory))if e.platform=="
	.ascii	"\"Xbox360\"then\012_p(2,'<OutputFile>$(OutDir)%s</O"
	.ascii	"utputFile>',premake.esc(n.name))end\012_p(2,'<IntDi"
	.ascii	"r>%s\\\\</IntDir>',premake.esc(e.objectsdir))_p(2,'"
	.ascii	"<TargetName>%s</TargetName>',premake.esc(path.getba"
	.ascii	"sename(n.name)))_p(2,'<TargetExt>%s</TargetExt>',pr"
	.ascii	"emake.esc(path.getextension(n.name)))if e.kind==\"S"
	.ascii	"haredLib\"then\012local e=(e.flags.NoImportLib~=nil"
	.ascii	")_p(2,'<IgnoreImportLibrary>%s</IgnoreImportLibrary"
	.ascii	">',tostring(e))end\012if e.kind~=\"StaticLib\"then\012"
	.ascii	"_p(2,'<LinkIncremental>%s</LinkIncremental>',tostri"
	.ascii	"ng(premake.config.isincrementallink(e)))end\012if e"
	.ascii	".flags.NoManifest then\012_p(2,'<GenerateManifest>f"
	.ascii	"alse</GenerateManifest>')end\012_p(1,'</PropertyGro"
	.ascii	"up>')end\012end\012local function d(i)local n\012lo"
	.ascii	"cal e=i.flags\012if premake.config.isdebugbuild(i)t"
	.ascii	"hen\012n=iif(e.StaticRuntime and not e.Managed,\"Mu"
	.ascii	"ltiThreadedDebug\",\"MultiThreadedDebugDLL\")else\012"
	.ascii	"n=iif(e.StaticRuntime and not e.Managed,\"MultiThre"
	.ascii	"aded\",\"MultiThreadedDLL\")end\012return n\012end\012"
	.ascii	"local function f(e)if not e.flags.NoPCH and e.pchhe"
	.ascii	"ader then\012_p(3,'<PrecompiledHeader>Use</Precompi"
	.ascii	"ledHeader>')_p(3,'<PrecompiledHeaderFile>%s</Precom"
	.ascii	"piledHeaderFile>',e.pchheader)else\012_p(3,'<Precom"
	.ascii	"piledHeader></PrecompiledHeader>')end\012end\012loc"
	.ascii	"al function t(n,e)if#e.defines>0 then\012_p(n,'<Pre"
	.ascii	"processorDefinitions>%s;%%(PreprocessorDefinitions)"
	.ascii	"</PreprocessorDefi"
	.ascii	"nitions>',premake.esc(table.concat(e.defines,\";\")"
	.ascii	"))else\012_p(n,'<PreprocessorDefinitions></Preproce"
	.ascii	"ssorDefinitions>')end\012end\012local function P(n,"
	.ascii	"e)if#e.includedirs>0 then\012_p(n,'<AdditionalInclu"
	.ascii	"deDirectories>%s;%%(AdditionalIncludeDirectories)</"
	.ascii	"AdditionalIncludeDirectories>',premake.esc(path.tra"
	.ascii	"nslate(table.concat(e.includedirs,\";\"),'\\\\')))e"
	.ascii	"nd\012end\012local function n(n,e)if#e.includedirs>"
	.ascii	"0 or#e.resincludedirs>0 then\012local e=table.join("
	.ascii	"e.includedirs,e.resincludedirs)_p(n,'<AdditionalInc"
	.ascii	"ludeDirectories>%s;%%(AdditionalIncludeDirectories)"
	.ascii	"</AdditionalIncludeDirectories>',premake.esc(path.t"
	.ascii	"ranslate(table.concat(e,\";\"),'\\\\')))end\012end\012"
	.ascii	"local function h(e)_p(2,'<ResourceCompile>')t(3,e)n"
	.ascii	"(3,e)_p(2,'</ResourceCompile>')end\012local functio"
	.ascii	"n u(e)if e.flags.NoExceptions then\012_p(2,'<Except"
	.ascii	"ionHandling>false</ExceptionHandling>')elseif e.fla"
	.ascii	"gs.SEH then\012_p(2,'<ExceptionHandling>Async</Exce"
	.ascii	"ptionHandling>')end\012end\012local function c(e)if"
	.ascii	" e.flags.NoRTTI and not e.flags.Managed then\012_p("
	.ascii	"3,'<RuntimeTypeInfo>false</RuntimeTypeInfo>')end\012"
	.ascii	"end\012local function m(e)if e.flags.NativeWChar th"
	.ascii	"en\012_p(3,'<TreatWChar_tAsBuiltInType>true</TreatW"
	.ascii	"Char_tAsBuiltInType>')elseif e.flags.NoNativeWChar "
	.ascii	"then\012_p(3,'<TreatWChar_tAsBuiltInType>false</Tre"
	.ascii	"atWChar_tAsBuiltInType>')end\012end\012local functi"
	.ascii	"on g(e)if e.flags.EnableSSE then\012_p(3,'<EnableEn"
	.ascii	"hancedInstructionSet>StreamingSIMDExtensions</Enabl"
	.ascii	"eEnhancedInstructionSet>')elseif e.flags.EnableSSE2"
	.ascii	" then\012_p(3,'<EnableEnhancedInstructionSet>Stream"
	.ascii	"ingSIMDExtensions2</EnableEnhancedInstructionSet>')"
	.ascii	"end\012end\012local function b(e)if e.flags.FloatFa"
	.ascii	"st then\012_p(3,'<FloatingPointModel>Fast</Floating"
	.ascii	"PointModel>')elseif e.flags.FloatStrict and not e.f"
	.ascii	"lags.Managed then\012_p(3,'<FloatingPointModel>Stri"
	.ascii	"ct</FloatingPointModel>')end\012end\012local functi"
	.ascii	"on a(e)local n=''if e.flags.Symbols then\012if e.pl"
	.ascii	"atform==\"x64\"or e.flags.Managed\012or premake.con"
	.ascii	"fig.isoptimizedbuild(e.flags)or e.flags.NoEditAndCo"
	.ascii	"ntinue\012then\012n=\"ProgramDatabase\"else\012n=\""
	.ascii	"EditAndContinue\"end\012end\012_p(3,'<DebugInformat"
	.ascii	"ionFormat>%s</DebugInformatio"
	.ascii	"nFormat>',n)end\012local function n(e)if premake.co"
	.ascii	"nfig.isdebugbuild(e)and not e.flags.NoMinimalRebuil"
	.ascii	"d then\012_p(3,'<MinimalRebuild>true</MinimalRebuil"
	.ascii	"d>')else\012_p(3,'<MinimalRebuild>false</MinimalReb"
	.ascii	"uild>')end\012end\012local function _(e)if e.langua"
	.ascii	"ge==\"C\"then\012_p(3,'<CompileAs>CompileAsC</Compi"
	.ascii	"leAs>')end\012end\012local function C(e)_p(2,'<ClCo"
	.ascii	"mpile>')if#e.buildoptions>0 then\012_p(3,'<Addition"
	.ascii	"alOptions>%s %%(AdditionalOptions)</AdditionalOptio"
	.ascii	"ns>',table.concat(premake.esc(e.buildoptions),\" \""
	.ascii	"))end\012_p(3,'<Optimization>%s</Optimization>',o(e"
	.ascii	"))P(3,e)t(3,e)n(e)if not premake.config.isoptimized"
	.ascii	"build(e.flags)then\012if not e.flags.Managed then\012"
	.ascii	"_p(3,'<BasicRuntimeChecks>EnableFastChecks</BasicRu"
	.ascii	"ntimeChecks>')end\012if e.flags.ExtraWarnings then\012"
	.ascii	"_p(3,'<SmallerTypeCheck>true</SmallerTypeCheck>')en"
	.ascii	"d\012else\012_p(3,'<StringPooling>true</StringPooli"
	.ascii	"ng>')end\012_p(3,'<RuntimeLibrary>%s</RuntimeLibrar"
	.ascii	"y>',d(e))_p(3,'<FunctionLevelLinking>true</Function"
	.ascii	"LevelLinking>')f(e)if e.flags.ExtraWarnings then\012"
	.ascii	"_p(3,'<WarningLevel>Level4</WarningLevel>')else\012"
	.ascii	"_p(3,'<WarningLevel>Level3</WarningLevel>')end\012i"
	.ascii	"f e.flags.FatalWarnings then\012_p(3,'<TreatWarning"
	.ascii	"AsError>true</TreatWarningAsError>')end\012u(e)c(e)"
	.ascii	"m(e)g(e)b(e)a(e)if e.flags.Symbols then\012_p(3,'<P"
	.ascii	"rogramDataBaseFileName>$(OutDir)%s.pdb</ProgramData"
	.ascii	"BaseFileName>',path.getbasename(e.buildtarget.name)"
	.ascii	")end\012if e.flags.NoFramePointer then\012_p(3,'<Om"
	.ascii	"itFramePointers>true</OmitFramePointers>')end\012_("
	.ascii	"e)_p(2,'</ClCompile>')end\012local function c(e)if#"
	.ascii	"e.postbuildcommands>0 then\012_p(2,'<PostBuildEvent"
	.ascii	">')_p(3,'<Command>%s</Command>',premake.esc(table.i"
	.ascii	"mplode(e.postbuildcommands,\"\",\"\",\"\\r\\n\")))_"
	.ascii	"p(2,'</PostBuildEvent>')end\012if#e.prebuildcommand"
	.ascii	"s>0 then\012_p(2,'<PreBuildEvent>')_p(3,'<Command>%"
	.ascii	"s</Command>',premake.esc(table.implode(e.prebuildco"
	.ascii	"mmands,\"\",\"\",\"\\r\\n\")))_p(2,'</PreBuildEvent"
	.ascii	">')end\012if#e.prelinkcommands>0 then\012_p(2,'<Pre"
	.ascii	"LinkEvent>')_p(3,'<Command>%s</Command>',premake.es"
	.ascii	"c(table.implode(e.prelinkcommands,\"\",\"\",\"\\r\\"
	.ascii	"n\")))_p(2,'</PreLinkEvent>')end\012end\012local fu"
	.ascii	"nction o(n,e)if#e.linkoptions>0 t"
	.ascii	"hen\012_p(n,'<AdditionalOptions>%s %%(AdditionalOpt"
	.ascii	"ions)</AdditionalOptions>',table.concat(premake.esc"
	.ascii	"(e.linkoptions),\" \"))end\012end\012local function"
	.ascii	" t(i,e)local n={x32='MachineX86',x64='MachineX64'}i"
	.ascii	"f n[e.platform]then\012_p(i,'<TargetMachine>%s</Tar"
	.ascii	"getMachine>',n[e.platform])end\012end\012local func"
	.ascii	"tion a(e)if e.kind=='StaticLib'and e.platform~=\"Xb"
	.ascii	"ox360\"then\012_p(1,'<Lib>')_p(2,'<OutputFile>$(Out"
	.ascii	"Dir)%s</OutputFile>',e.buildtarget.name)o(2,e)t(2,e"
	.ascii	")_p(1,'</Lib>')end\012end\012local function d(e)if "
	.ascii	"e.kind==\"SharedLib\"then\012local n=e.linktarget.f"
	.ascii	"ullpath\012_p(3,'<ImportLibrary>%s</ImportLibrary>'"
	.ascii	",iif(e.flags.NoImportLib,e.objectsdir..\"\\\\\"..pa"
	.ascii	"th.getname(n),n))end\012end\012function e.link(n)_p"
	.ascii	"(2,'<Link>')_p(3,'<SubSystem>%s</SubSystem>',iif(n."
	.ascii	"kind==\"ConsoleApp\",\"Console\",\"Windows\"))_p(3,"
	.ascii	"'<GenerateDebugInformation>%s</GenerateDebugInforma"
	.ascii	"tion>',tostring(n.flags.Symbols~=nil))if premake.co"
	.ascii	"nfig.isoptimizedbuild(n.flags)then\012_p(3,'<Enable"
	.ascii	"COMDATFolding>true</EnableCOMDATFolding>')_p(3,'<Op"
	.ascii	"timizeReferences>true</OptimizeReferences>')end\012"
	.ascii	"if n.kind~='StaticLib'then\012e.additionalDependenc"
	.ascii	"ies(n)_p(3,'<OutputFile>$(OutDir)%s</OutputFile>',n"
	.ascii	".buildtarget.name)if#n.libdirs>0 then\012_p(3,'<Add"
	.ascii	"itionalLibraryDirectories>%s;%%(AdditionalLibraryDi"
	.ascii	"rectories)</AdditionalLibraryDirectories>',premake."
	.ascii	"esc(path.translate(table.concat(n.libdirs,';'),'\\\\"
	.ascii	"')))end\012if e.config_type(n)=='Application'and no"
	.ascii	"t n.flags.WinMain and not n.flags.Managed then\012_"
	.ascii	"p(3,'<EntryPointSymbol>%s</EntryPointSymbol>',iif(n"
	.ascii	".flags.Unicode,\"wmainCRTStartup\",\"mainCRTStartup"
	.ascii	"\"))end\012d(n)local e=premake.findfile(n,\".def\")"
	.ascii	"if e then\012_p(3,'<ModuleDefinitionFile>%s</Module"
	.ascii	"DefinitionFile>',e)end\012t(3,n)o(3,n)end\012_p(2,'"
	.ascii	"</Link>')end\012function e.additionalDependencies(e"
	.ascii	")local e=premake.getlinks(e,\"system\",\"fullpath\""
	.ascii	")if#e>0 then\012_p(3,'<AdditionalDependencies>%s;%%"
	.ascii	"(AdditionalDependencies)</AdditionalDependencies>',"
	.ascii	"table.concat(e,\";\"))end\012end\012local function "
	.ascii	"d(n)for o,t in ipairs(n.solution.vstudio_configs)do"
	.ascii	"\012local n=premake.getconfig(n,t.src_buildcfg,t.sr"
	.ascii	"c_platform)_p(1,'<Item"
	.ascii	"DefinitionGroup '..i()..'>',premake.esc(t.name))C(n"
	.ascii	")h(n)a(n)e.link(n)c(n)_p(1,'</ItemDefinitionGroup>'"
	.ascii	")end\012end\012function e.getfilegroup(i,t)local e="
	.ascii	"i.vc2010sortedfiles\012if not e then\012e={ClCompil"
	.ascii	"e={},ClInclude={},None={},ResourceCompile={},}for n"
	.ascii	" in premake.project.eachfile(i)do\012if path.iscppf"
	.ascii	"ile(n.name)then\012table.insert(e.ClCompile,n)elsei"
	.ascii	"f path.iscppheader(n.name)then\012table.insert(e.Cl"
	.ascii	"Include,n)elseif path.isresourcefile(n.name)then\012"
	.ascii	"table.insert(e.ResourceCompile,n)else\012table.inse"
	.ascii	"rt(e.None,n)end\012end\012i.vc2010sortedfiles=e\012"
	.ascii	"end\012return e[t]end\012function e.files(n)e.simpl"
	.ascii	"efilesgroup(n,\"ClInclude\")e.compilerfilesgroup(n)"
	.ascii	"e.simplefilesgroup(n,\"None\")e.simplefilesgroup(n,"
	.ascii	"\"ResourceCompile\")end\012function e.simplefilesgr"
	.ascii	"oup(i,n)local e=e.getfilegroup(i,n)if#e>0 then\012_"
	.ascii	"p(1,'<ItemGroup>')for i,e in ipairs(e)do\012_p(2,'<"
	.ascii	"%s Include=\"%s\" />',n,path.translate(e.name,\"\\\\"
	.ascii	"\"))end\012_p(1,'</ItemGroup>')end\012end\012functi"
	.ascii	"on e.individualSourceFile(a,t,n)local e=a.solution."
	.ascii	"vstudio_configs\012local o=path.translate(n.name,\""
	.ascii	"\\\\\")_p(2,'<ClCompile Include=\"%s\">',o)for n,e "
	.ascii	"in ipairs(e)do\012if t[e]and o==t[e]then\012_p(3,'<"
	.ascii	"PrecompiledHeader '..i()..'>Create</PrecompiledHead"
	.ascii	"er>',premake.esc(e.name))t[e]=nil\012end\012end\012"
	.ascii	"if path.iscfile(n.name)~=premake.project.iscproject"
	.ascii	"(a)then\012_p(3,'<CompileAs>%s</CompileAs>',iif(pat"
	.ascii	"h.iscfile(n.name),'CompileAsC','CompileAsCpp'))end\012"
	.ascii	"_p(2,'</ClCompile>')end\012function e.compilerfiles"
	.ascii	"group(n)local i=n.solution.vstudio_configs\012local"
	.ascii	" o=e.getfilegroup(n,\"ClCompile\")if#o>0 then\012lo"
	.ascii	"cal t={}for e,i in ipairs(i)do\012local e=premake.g"
	.ascii	"etconfig(n,i.src_buildcfg,i.src_platform)if e.pchhe"
	.ascii	"ader and e.pchsource and not e.flags.NoPCH then\012"
	.ascii	"t[i]=path.translate(e.pchsource,\"\\\\\")end\012end"
	.ascii	"\012_p(1,'<ItemGroup>')for o,i in ipairs(o)do\012e."
	.ascii	"individualSourceFile(n,t,i)end\012_p(1,'</ItemGroup"
	.ascii	">')end\012end\012function e.header(n)io.eol=\"\\r\\"
	.ascii	"n\"_p('<?xml version=\"1.0\" encoding=\"utf-8\"?>')"
	.ascii	"local e=\"\"if n then\012e=' DefaultTargets=\"'..n."
	.ascii	".'\"'end\012_p('<Project%s ToolsVersion=\"4.0\" xml"
	.ascii	"ns=\"http://schemas.microsoft.com/developer/msbuild"
	.ascii	"/2003\">',e)end\012"
	.ascii	"function premake.vs2010_vcxproj(n)io.indent=\"  \"e"
	.ascii	".header(\"Build\")l(n)s(n)_p(1,'<Import Project=\"$"
	.ascii	"(VCTargetsPath)\\\\Microsoft.Cpp.Default.props\" />"
	.ascii	"')for t,i in ipairs(n.solution.vstudio_configs)do\012"
	.ascii	"local n=premake.getconfig(n,i.src_buildcfg,i.src_pl"
	.ascii	"atform)e.configurationPropertyGroup(n,i)end\012_p(1"
	.ascii	",'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.C"
	.ascii	"pp.props\" />')_p(1,'<ImportGroup Label=\"Extension"
	.ascii	"Settings\">')_p(1,'</ImportGroup>')r(n)_p(1,'<Prope"
	.ascii	"rtyGroup Label=\"UserMacros\" />')e.outputPropertie"
	.ascii	"s(n)d(n)e.files(n)e.projectReferences(n)_p(1,'<Impo"
	.ascii	"rt Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.targ"
	.ascii	"ets\" />')_p(1,'<ImportGroup Label=\"ExtensionTarge"
	.ascii	"ts\">')_p(1,'</ImportGroup>')_p('</Project>')end\012"
	.ascii	"function e.projectReferences(n)local e=premake.getd"
	.ascii	"ependencies(n)if#e>0 then\012_p(1,'<ItemGroup>')for"
	.ascii	" i,e in ipairs(e)do\012local n=path.getrelative(n.l"
	.ascii	"ocation,p.projectfile(e))_p(2,'<ProjectReference In"
	.ascii	"clude=\"%s\">',path.translate(n,\"\\\\\"))_p(3,'<Pr"
	.ascii	"oject>{%s}</Project>',e.uuid)_p(2,'</ProjectReferen"
	.ascii	"ce>')end\012_p(1,'</ItemGroup>')end\012end\012funct"
	.ascii	"ion e.debugdir(e)if e.debugdir then\012_p('    <Loc"
	.ascii	"alDebuggerWorkingDirectory>%s</LocalDebuggerWorking"
	.ascii	"Directory>',path.translate(e.debugdir,'\\\\'))_p(' "
	.ascii	"   <DebuggerFlavor>WindowsLocalDebugger</DebuggerFl"
	.ascii	"avor>')end\012if e.debugargs then\012_p('    <Local"
	.ascii	"DebuggerCommandArguments>%s</LocalDebuggerCommandAr"
	.ascii	"guments>',table.concat(e.debugargs,\" \"))end\012en"
	.ascii	"d\012function e.debugenvs(e)if e.debugenvs and#e.de"
	.ascii	"bugenvs>0 then\012_p(2,'<LocalDebuggerEnvironment>%"
	.ascii	"s%s</LocalDebuggerEnvironment>',table.concat(e.debu"
	.ascii	"genvs,\"\\n\"),iif(e.flags.DebugEnvsInherit,'\\n$(L"
	.ascii	"ocalDebuggerEnvironment)',''))if e.flags.DebugEnvsD"
	.ascii	"ontMerge then\012_p(2,'<LocalDebuggerMergeEnvironme"
	.ascii	"nt>false</LocalDebuggerMergeEnvironment>')end\012en"
	.ascii	"d\012end\012function premake.vs2010_vcxproj_user(t)"
	.ascii	"io.indent=\"  \"e.header()for o,n in ipairs(t.solut"
	.ascii	"ion.vstudio_configs)do\012local t=premake.getconfig"
	.ascii	"(t,n.src_buildcfg,n.src_platform)_p('  <PropertyGro"
	.ascii	"up '..i()..'>',premake.esc(n.name))e.debugdir(t)e.d"
	.ascii	"ebugenvs(t)_p('  </PropertyGroup>')end\012_p('</Pro"
	.ascii	"ject"
	.ascii	">')end\000"
	.align	2
.LC44:
	.ascii	"local e=premake.vstudio.vc2010\012local i=premake.p"
	.ascii	"roject\012function e.filteridgroup(e)local l={}loca"
	.ascii	"l t=false\012for e in i.eachfile(e)do\012local i=st"
	.ascii	"ring.explode(e.vpath,\"/\",true)local e=\"\"for n=1"
	.ascii	",#i-1 do\012if not t then\012t=true\012_p(1,'<ItemG"
	.ascii	"roup>')end\012e=e..i[n]if not l[e]then\012l[e]=true"
	.ascii	"\012_p(2,'<Filter Include=\"%s\">',e)_p(3,'<UniqueI"
	.ascii	"dentifier>{%s}</UniqueIdentifier>',os.uuid())_p(2,'"
	.ascii	"</Filter>')end\012e=e..\"\\\\\"end\012end\012if t t"
	.ascii	"hen\012_p(1,'</ItemGroup>')end\012end\012function e"
	.ascii	".filefiltergroup(l,t)local e=e.getfilegroup(l,t)if#"
	.ascii	"e>0 then\012_p(1,'<ItemGroup>')for l,e in ipairs(e)"
	.ascii	"do\012local l\012if e.name~=e.vpath then\012l=path."
	.ascii	"getdirectory(e.vpath)else\012l=path.getdirectory(e."
	.ascii	"name)end\012if l~=\".\"then\012_p(2,'<%s Include=\""
	.ascii	"%s\">',t,path.translate(e.name,\"\\\\\"))_p(3,'<Fil"
	.ascii	"ter>%s</Filter>',path.translate(l,\"\\\\\"))_p(2,'<"
	.ascii	"/%s>',t)else\012_p(2,'<%s Include=\"%s\" />',t,path"
	.ascii	".translate(e.name,\"\\\\\"))end\012end\012_p(1,'</I"
	.ascii	"temGroup>')end\012end\012function e.generate_filter"
	.ascii	"s(t)io.indent=\"  \"e.header()e.filteridgroup(t)e.f"
	.ascii	"ilefiltergroup(t,\"None\")e.filefiltergroup(t,\"ClI"
	.ascii	"nclude\")e.filefiltergroup(t,\"ClCompile\")e.filefi"
	.ascii	"ltergroup(t,\"ResourceCompile\")_p('</Project>')end"
	.ascii	"\000"
	.align	2
.LC45:
	.ascii	"premake.vstudio.vc2012={}local e=premake.vstudio.vc"
	.ascii	"2012\012local r=premake.vstudio\012newaction{trigge"
	.ascii	"r=\"vs2012\",shortname=\"Visual Studio 2012\",descr"
	.ascii	"iption=\"Generate Microsoft Visual Studio 2012 proj"
	.ascii	"ect files\",os=\"windows\",valid_kinds={\"ConsoleAp"
	.ascii	"p\",\"WindowedApp\",\"StaticLib\",\"SharedLib\"},va"
	.ascii	"lid_languages={\"C\",\"C++\",\"C#\"},valid_tools={c"
	.ascii	"c={\"msc\"},dotnet={\"msnet\"},},onsolution=functio"
	.ascii	"n(e)premake.generate(e,\"%%.sln\",r.sln2005.generat"
	.ascii	"e)end,onproject=function(e)if premake.isdotnetproje"
	.ascii	"ct(e)then\012premake.generate(e,\"%%.csproj\",r.cs2"
	.ascii	"005.generate)premake.generate(e,\"%%.csproj.user\","
	.ascii	"r.cs2005.generate_user)else\012premake.generate(e,\""
	.ascii	"%%.vcxproj\",premake.vs2010_vcxproj)premake.generat"
	.ascii	"e(e,\"%%.vcxproj.user\",premake.vs2010_vcxproj_user"
	.ascii	")premake.generate(e,\"%%.vcxproj.filters\",r.vc2010"
	.ascii	".generate_filters)end\012end,oncleansolution=premak"
	.ascii	"e.vstudio.cleansolution,oncleanproject=premake.vstu"
	.ascii	"dio.cleanproject,oncleantarget=premake.vstudio.clea"
	.ascii	"ntarget,vstudio={solutionVersion=\"12\",targetFrame"
	.ascii	"work=\"4.5\",toolsVersion=\"4.0\",}}\000"
	.align	2
.LC46:
	.ascii	"premake.vstudio.vc2013={}local e=premake.vstudio.vc"
	.ascii	"2013\012local r=premake.vstudio\012newaction{trigge"
	.ascii	"r=\"vs2013\",shortname=\"Visual Studio 2013\",descr"
	.ascii	"iption=\"Generate Microsoft Visual Studio 2013 proj"
	.ascii	"ect files\",os=\"windows\",valid_kinds={\"ConsoleAp"
	.ascii	"p\",\"WindowedApp\",\"StaticLib\",\"SharedLib\"},va"
	.ascii	"lid_languages={\"C\",\"C++\",\"C#\"},valid_tools={c"
	.ascii	"c={\"msc\"},dotnet={\"msnet\"},},onsolution=functio"
	.ascii	"n(e)premake.generate(e,\"%%.sln\",r.sln2005.generat"
	.ascii	"e)end,onproject=function(e)if premake.isdotnetproje"
	.ascii	"ct(e)then\012premake.generate(e,\"%%.csproj\",r.cs2"
	.ascii	"005.generate)premake.generate(e,\"%%.csproj.user\","
	.ascii	"r.cs2005.generate_user)else\012premake.generate(e,\""
	.ascii	"%%.vcxproj\",premake.vs2010_vcxproj)premake.generat"
	.ascii	"e(e,\"%%.vcxproj.user\",premake.vs2010_vcxproj_user"
	.ascii	")premake.generate(e,\"%%.vcxproj.filters\",r.vc2010"
	.ascii	".generate_filters)end\012end,oncleansolution=premak"
	.ascii	"e.vstudio.cleansolution,oncleanproject=premake.vstu"
	.ascii	"dio.cleanproject,oncleantarget=premake.vstudio.clea"
	.ascii	"ntarget,vstudio={solutionVersion=\"12\",targetFrame"
	.ascii	"work=\"4.5\",toolsVersion=\"12.0\",}}\000"
	.align	2
.LC47:
	.ascii	"premake.vstudio.vc2015={}local e=premake.vstudio.vc"
	.ascii	"2015\012local r=premake.vstudio\012newaction{trigge"
	.ascii	"r=\"vs2015\",shortname=\"Visual Studio 2015\",descr"
	.ascii	"iption=\"Generate Microsoft Visual Studio 2015 proj"
	.ascii	"ect files\",os=\"windows\",valid_kinds={\"ConsoleAp"
	.ascii	"p\",\"WindowedApp\",\"StaticLib\",\"SharedLib\"},va"
	.ascii	"lid_languages={\"C\",\"C++\",\"C#\"},valid_tools={c"
	.ascii	"c={\"msc\"},dotnet={\"msnet\"},},onsolution=functio"
	.ascii	"n(e)premake.generate(e,\"%%.sln\",r.sln2005.generat"
	.ascii	"e)end,onproject=function(e)if premake.isdotnetproje"
	.ascii	"ct(e)then\012premake.generate(e,\"%%.csproj\",r.cs2"
	.ascii	"005.generate)premake.generate(e,\"%%.csproj.user\","
	.ascii	"r.cs2005.generate_user)else\012premake.generate(e,\""
	.ascii	"%%.vcxproj\",premake.vs2010_vcxproj)premake.generat"
	.ascii	"e(e,\"%%.vcxproj.user\",premake.vs2010_vcxproj_user"
	.ascii	")premake.generate(e,\"%%.vcxproj.filters\",r.vc2010"
	.ascii	".generate_filters)end\012end,oncleansolution=premak"
	.ascii	"e.vstudio.cleansolution,oncleanproject=premake.vstu"
	.ascii	"dio.cleanproject,oncleantarget=premake.vstudio.clea"
	.ascii	"ntarget,vstudio={solutionVersion=\"12\",targetFrame"
	.ascii	"work=\"4.5.2\",toolsVersion=\"14.0\",shortSlnVersio"
	.ascii	"n=\"14\",}}\000"
	.align	2
.LC48:
	.ascii	"premake.vstudio.vc2017={}local e=premake.vstudio.vc"
	.ascii	"2017\012local r=premake.vstudio\012newaction{trigge"
	.ascii	"r=\"vs2017\",shortname=\"Visual Studio 2017\",descr"
	.ascii	"iption=\"Generate Microsoft Visual Studio 2017 proj"
	.ascii	"ect files\",os=\"windows\",valid_kinds={\"ConsoleAp"
	.ascii	"p\",\"WindowedApp\",\"StaticLib\",\"SharedLib\"},va"
	.ascii	"lid_languages={\"C\",\"C++\",\"C#\"},valid_tools={c"
	.ascii	"c={\"msc\"},dotnet={\"msnet\"},},onsolution=functio"
	.ascii	"n(e)premake.generate(e,\"%%.sln\",r.sln2005.generat"
	.ascii	"e)end,onproject=function(e)if premake.isdotnetproje"
	.ascii	"ct(e)then\012premake.generate(e,\"%%.csproj\",r.cs2"
	.ascii	"005.generate)premake.generate(e,\"%%.csproj.user\","
	.ascii	"r.cs2005.generate_user)else\012premake.generate(e,\""
	.ascii	"%%.vcxproj\",premake.vs2010_vcxproj)premake.generat"
	.ascii	"e(e,\"%%.vcxproj.user\",premake.vs2010_vcxproj_user"
	.ascii	")premake.generate(e,\"%%.vcxproj.filters\",r.vc2010"
	.ascii	".generate_filters)end\012end,oncleansolution=premak"
	.ascii	"e.vstudio.cleansolution,oncleanproject=premake.vstu"
	.ascii	"dio.cleanproject,oncleantarget=premake.vstudio.clea"
	.ascii	"ntarget,vstudio={solutionVersion=\"12\",targetFrame"
	.ascii	"work=\"4.5.2\",toolsVersion=\"15.0\",shortSlnVersio"
	.ascii	"n=\"15\",}}\000"
	.align	2
.LC49:
	.ascii	"premake.vstudio.vc2019={}local e=premake.vstudio.vc"
	.ascii	"2019\012local r=premake.vstudio\012newaction{trigge"
	.ascii	"r=\"vs2019\",shortname=\"Visual Studio 2019\",descr"
	.ascii	"iption=\"Generate Microsoft Visual Studio 2019 proj"
	.ascii	"ect files\",os=\"windows\",valid_kinds={\"ConsoleAp"
	.ascii	"p\",\"WindowedApp\",\"StaticLib\",\"SharedLib\"},va"
	.ascii	"lid_languages={\"C\",\"C++\",\"C#\"},valid_tools={c"
	.ascii	"c={\"msc\"},dotnet={\"msnet\"},},onsolution=functio"
	.ascii	"n(e)premake.generate(e,\"%%.sln\",r.sln2005.generat"
	.ascii	"e)end,onproject=function(e)if premake.isdotnetproje"
	.ascii	"ct(e)then\012premake.generate(e,\"%%.csproj\",r.cs2"
	.ascii	"005.generate)premake.generate(e,\"%%.csproj.user\","
	.ascii	"r.cs2005.generate_user)else\012premake.generate(e,\""
	.ascii	"%%.vcxproj\",premake.vs2010_vcxproj)premake.generat"
	.ascii	"e(e,\"%%.vcxproj.user\",premake.vs2010_vcxproj_user"
	.ascii	")premake.generate(e,\"%%.vcxproj.filters\",r.vc2010"
	.ascii	".generate_filters)end\012end,oncleansolution=premak"
	.ascii	"e.vstudio.cleansolution,oncleanproject=premake.vstu"
	.ascii	"dio.cleanproject,oncleantarget=premake.vstudio.clea"
	.ascii	"ntarget,vstudio={solutionVersion=\"12\",targetFrame"
	.ascii	"work=\"4.7\",toolsVersion=\"16.0\",shortSlnVersion="
	.ascii	"\"16\",}}\000"
	.align	2
.LC50:
	.ascii	"premake.xcode={}newaction{trigger=\"xcode3\",shortn"
	.ascii	"ame=\"Xcode 3\",description=\"Generate Apple Xcode "
	.ascii	"3 project files (experimental)\",os=\"macosx\",vali"
	.ascii	"d_kinds={\"ConsoleApp\",\"WindowedApp\",\"SharedLib"
	.ascii	"\",\"StaticLib\"},valid_languages={\"C\",\"C++\"},v"
	.ascii	"alid_tools={cc={\"gcc\"},},valid_platforms={Native="
	.ascii	"\"Native\",x32=\"Native 32-bit\",x64=\"Native 64-bi"
	.ascii	"t\",Universal32=\"32-bit Universal\",Universal64=\""
	.ascii	"64-bit Universal\",Universal=\"Universal\",},defaul"
	.ascii	"t_platform=\"Universal\",onsolution=function(e)prem"
	.ascii	"ake.xcode.preparesolution(e)end,onproject=function("
	.ascii	"e)premake.generate(e,\"%%.xcodeproj/project.pbxproj"
	.ascii	"\",premake.xcode.project)end,oncleanproject=functio"
	.ascii	"n(e)premake.clean.directory(e,\"%%.xcodeproj\")end,"
	.ascii	"oncheckproject=function(n)local e\012for o in prema"
	.ascii	"ke.eachconfig(n)do\012if e and e~=o.kind then\012er"
	.ascii	"ror(\"Project '\"..n.name..\"' uses more than one t"
	.ascii	"arget kind; not supported by Xcode\",0)end\012e=o.k"
	.ascii	"ind\012end\012end,}newaction{trigger=\"xcode4\",sho"
	.ascii	"rtname=\"Xcode 4\",description=\"Generate Apple Xco"
	.ascii	"de 4 project files (experimental)\",os=\"macosx\",v"
	.ascii	"alid_kinds={\"ConsoleApp\",\"WindowedApp\",\"Shared"
	.ascii	"Lib\",\"StaticLib\"},valid_languages={\"C\",\"C++\""
	.ascii	"},valid_tools={cc={\"gcc\"},},valid_platforms={Nati"
	.ascii	"ve=\"Native\",x32=\"Native 32-bit\",x64=\"Native 64"
	.ascii	"-bit\",Universal32=\"32-bit Universal\",Universal64"
	.ascii	"=\"64-bit Universal\",Universal=\"Universal\",},def"
	.ascii	"ault_platform=\"Universal\",onsolution=function(e)p"
	.ascii	"remake.generate(e,\"%%.xcworkspace/contents.xcworks"
	.ascii	"pacedata\",premake.xcode4.workspace_generate)end,on"
	.ascii	"project=function(e)premake.generate(e,\"%%.xcodepro"
	.ascii	"j/project.pbxproj\",premake.xcode.project)end,oncle"
	.ascii	"anproject=function(e)premake.clean.directory(e,\"%%"
	.ascii	".xcodeproj\")premake.clean.directory(e,\"%%.xcworks"
	.ascii	"pace\")end,oncheckproject=function(o)local e\012for"
	.ascii	" n in premake.eachconfig(o)do\012if e and e~=n.kind"
	.ascii	" then\012error(\"Project '\"..o.name..\"' uses more"
	.ascii	" than one target kind; not supported by Xcode\",0)e"
	.ascii	"nd\012e=n.kind\012end\012end,}\000"
	.align	2
.LC51:
	.ascii	"local e=premake.xcode\012local i=premake.tree\012fu"
	.ascii	"nction e.getbuildcategory(n)local e={[\".a\"]=\"Fra"
	.ascii	"meworks\",[\".c\"]=\"Sources\",[\".cc\"]=\"Sources\""
	.ascii	",[\".cpp\"]=\"Sources\",[\".cxx\"]=\"Sources\",[\"."
	.ascii	"dylib\"]=\"Frameworks\",[\".framework\"]=\"Framewor"
	.ascii	"ks\",[\".m\"]=\"Sources\",[\".mm\"]=\"Sources\",[\""
	.ascii	".strings\"]=\"Resources\",[\".nib\"]=\"Resources\","
	.ascii	"[\".xib\"]=\"Resources\",[\".icns\"]=\"Resources\","
	.ascii	"[\".bmp\"]=\"Resources\",[\".wav\"]=\"Resources\",}"
	.ascii	"return e[path.getextension(n.name)]end\012function "
	.ascii	"e.getconfigname(e)local n=e.name\012if#e.project.so"
	.ascii	"lution.xcode.platforms>1 then\012n=n..\" \"..premak"
	.ascii	"e.action.current().valid_platforms[e.platform]end\012"
	.ascii	"return n\012end\012function e.getfiletype(n)local e"
	.ascii	"={[\".c\"]=\"sourcecode.c.c\",[\".cc\"]=\"sourcecod"
	.ascii	"e.cpp.cpp\",[\".cpp\"]=\"sourcecode.cpp.cpp\",[\".c"
	.ascii	"ss\"]=\"text.css\",[\".cxx\"]=\"sourcecode.cpp.cpp\""
	.ascii	",[\".framework\"]=\"wrapper.framework\",[\".gif\"]="
	.ascii	"\"image.gif\",[\".h\"]=\"sourcecode.c.h\",[\".html\""
	.ascii	"]=\"text.html\",[\".lua\"]=\"sourcecode.lua\",[\".m"
	.ascii	"\"]=\"sourcecode.c.objc\",[\".mm\"]=\"sourcecode.cp"
	.ascii	"p.objc\",[\".nib\"]=\"wrapper.nib\",[\".pch\"]=\"so"
	.ascii	"urcecode.c.h\",[\".plist\"]=\"text.plist.xml\",[\"."
	.ascii	"strings\"]=\"text.plist.strings\",[\".xib\"]=\"file"
	.ascii	".xib\",[\".icns\"]=\"image.icns\",[\".bmp\"]=\"imag"
	.ascii	"e.bmp\",[\".wav\"]=\"audio.wav\",}return e[path.get"
	.ascii	"extension(n.path)]or\"text\"end\012function e.getpr"
	.ascii	"oducttype(n)local e={ConsoleApp=\"com.apple.product"
	.ascii	"-type.tool\",WindowedApp=\"com.apple.product-type.a"
	.ascii	"pplication\",StaticLib=\"com.apple.product-type.lib"
	.ascii	"rary.static\",SharedLib=\"com.apple.product-type.li"
	.ascii	"brary.dynamic\",}return e[n.cfg.kind]end\012functio"
	.ascii	"n e.gettargettype(e)local n={ConsoleApp='\"compiled"
	.ascii	".mach-o.executable\"',WindowedApp=\"wrapper.applica"
	.ascii	"tion\",StaticLib=\"archive.ar\",SharedLib='\"compil"
	.ascii	"ed.mach-o.dylib\"',}return n[e.cfg.kind]end\012func"
	.ascii	"tion e.getxcodeprojname(e)local e=premake.project.g"
	.ascii	"etfilename(e,\"%%.xcodeproj\")return e\012end\012fu"
	.ascii	"nction e.isframework(e)return(path.getextension(e)="
	.ascii	"=\".framework\")end\012function e.newid()return str"
	.ascii	"ing.format(\"%04X%04X%04X%04X%04X%04X\",math.random"
	.ascii	"(0,32767),math.random(0,32767),math.random(0,32767)"
	.ascii	",math.random(0,32767),math.random(0,32767),math.ran"
	.ascii	"dom(0,3276"
	.ascii	"7))end\012function e.preparesolution(e)e.xcode={}e."
	.ascii	"xcode.platforms=premake.filterplatforms(e,premake.a"
	.ascii	"ction.current().valid_platforms,\"Universal\")for n"
	.ascii	" in premake.solution.eachproject(e)do\012local i=pr"
	.ascii	"emake.getconfig(n,n.configurations[1],e.xcode.platf"
	.ascii	"orms[1])local e=premake.tree.new(path.getname(i.bui"
	.ascii	"ldtarget.bundlepath))e.cfg=i\012e.id=premake.xcode."
	.ascii	"newid(e,\"product\")e.targetid=premake.xcode.newid("
	.ascii	"e,\"target\")n.xcode={}n.xcode.projectnode=e\012end"
	.ascii	"\012end\012function e.printlist(e,n)if#e>0 then\012"
	.ascii	"_p(4,'%s = (',n)for n,e in ipairs(e)do\012local e=e"
	.ascii	":gsub('\"','\\\\\"')_p(5,'\"%s\",',e)end\012_p(4,')"
	.ascii	";')end\012end\012function e.Header()_p('// !$*UTF8*"
	.ascii	"$!')_p('{')_p(1,'archiveVersion = 1;')_p(1,'classes"
	.ascii	" = {')_p(1,'};')_p(1,'objectVersion = 45;')_p(1,'ob"
	.ascii	"jects = {')_p('')end\012function e.PBXBuildFile(n)_"
	.ascii	"p('/* Begin PBXBuildFile section */')i.traverse(n,{"
	.ascii	"onnode=function(n)if n.buildid then\012_p(2,'%s /* "
	.ascii	"%s in %s */ = {isa = PBXBuildFile; fileRef = %s /* "
	.ascii	"%s */; };',n.buildid,n.name,e.getbuildcategory(n),n"
	.ascii	".id,n.name)end\012end})_p('/* End PBXBuildFile sect"
	.ascii	"ion */')_p('')end\012function e.PBXContainerItemPro"
	.ascii	"xy(e)if#e.projects.children>0 then\012_p('/* Begin "
	.ascii	"PBXContainerItemProxy section */')for n,e in ipairs"
	.ascii	"(e.projects.children)do\012_p(2,'%s /* PBXContainer"
	.ascii	"ItemProxy */ = {',e.productproxyid)_p(3,'isa = PBXC"
	.ascii	"ontainerItemProxy;')_p(3,'containerPortal = %s /* %"
	.ascii	"s */;',e.id,path.getname(e.path))_p(3,'proxyType = "
	.ascii	"2;')_p(3,'remoteGlobalIDString = %s;',e.project.xco"
	.ascii	"de.projectnode.id)_p(3,'remoteInfo = \"%s\";',e.pro"
	.ascii	"ject.xcode.projectnode.name)_p(2,'};')_p(2,'%s /* P"
	.ascii	"BXContainerItemProxy */ = {',e.targetproxyid)_p(3,'"
	.ascii	"isa = PBXContainerItemProxy;')_p(3,'containerPortal"
	.ascii	" = %s /* %s */;',e.id,path.getname(e.path))_p(3,'pr"
	.ascii	"oxyType = 1;')_p(3,'remoteGlobalIDString = %s;',e.p"
	.ascii	"roject.xcode.projectnode.targetid)_p(3,'remoteInfo "
	.ascii	"= \"%s\";',e.project.xcode.projectnode.name)_p(2,'}"
	.ascii	";')end\012_p('/* End PBXContainerItemProxy section "
	.ascii	"*/')_p('')end\012end\012function e.PBXFileReference"
	.ascii	"(t)_p('/* Begin PBXFileReference section */')i.trav"
	.ascii	"erse(t,{onleaf=function(n)if not n.p"
	.ascii	"ath then\012return\012end\012if n.kind==\"product\""
	.ascii	"then\012_p(2,'%s /* %s */ = {isa = PBXFileReference"
	.ascii	"; explicitFileType = %s; includeInIndex = 0; name ="
	.ascii	" \"%s\"; path = \"%s\"; sourceTree = BUILT_PRODUCTS"
	.ascii	"_DIR; };',n.id,n.name,e.gettargettype(n),n.name,pat"
	.ascii	"h.getname(n.cfg.buildtarget.bundlepath))elseif n.pa"
	.ascii	"rent.parent==t.projects then\012local e=path.getrel"
	.ascii	"ative(t.project.location,n.parent.project.location)"
	.ascii	"_p(2,'%s /* %s */ = {isa = PBXFileReference; lastKn"
	.ascii	"ownFileType = \"wrapper.pb-project\"; name = \"%s\""
	.ascii	"; path = \"%s\"; sourceTree = SOURCE_ROOT; };',n.pa"
	.ascii	"rent.id,n.parent.name,n.parent.name,path.join(e,n.p"
	.ascii	"arent.name))else\012local t,o\012if e.isframework(n"
	.ascii	".path)then\012local e=n.path\012local r,i,n=string."
	.ascii	"find(e,\"^%$%((.+)%)/\")if n then\012e=string.sub(e"
	.ascii	",i+1)end\012if string.find(e,'/')then\012if string."
	.ascii	"find(e,'^%.')then\012error('relative paths are not "
	.ascii	"currently supported for frameworks')end\012t=e\012e"
	.ascii	"lse\012t=\"/System/Library/Frameworks/\"..e\012end\012"
	.ascii	"if n then\012o=n\012if string.find(t,'^/')then\012t"
	.ascii	"=string.sub(t,2)end\012else\012o=\"<absolute>\"end\012"
	.ascii	"else\012o=\"<group>\"if n.parent.isvpath then\012t="
	.ascii	"n.cfg.name\012else\012t=i.getlocalpath(n)end\012end"
	.ascii	"\012_p(2,'%s /* %s */ = {isa = PBXFileReference; la"
	.ascii	"stKnownFileType = %s; name = \"%s\"; path = \"%s\";"
	.ascii	" sourceTree = \"%s\"; };',n.id,n.name,e.getfiletype"
	.ascii	"(n),n.name,t,o)end\012end})_p('/* End PBXFileRefere"
	.ascii	"nce section */')_p('')end\012function e.PBXFramewor"
	.ascii	"ksBuildPhase(e)_p('/* Begin PBXFrameworksBuildPhase"
	.ascii	" section */')_p(2,'%s /* Frameworks */ = {',e.produ"
	.ascii	"cts.children[1].fxstageid)_p(3,'isa = PBXFrameworks"
	.ascii	"BuildPhase;')_p(3,'buildActionMask = 2147483647;')_"
	.ascii	"p(3,'files = (')i.traverse(e.frameworks,{onleaf=fun"
	.ascii	"ction(e)_p(4,'%s /* %s in Frameworks */,',e.buildid"
	.ascii	",e.name)end})i.traverse(e.projects,{onleaf=function"
	.ascii	"(e)_p(4,'%s /* %s in Frameworks */,',e.buildid,e.na"
	.ascii	"me)end})_p(3,');')_p(3,'runOnlyForDeploymentPostpro"
	.ascii	"cessing = 0;')_p(2,'};')_p('/* End PBXFrameworksBui"
	.ascii	"ldPhase section */')_p('')end\012function e.PBXGrou"
	.ascii	"p(n)_p('/* Begin PBXGroup section */')i.traverse(n,"
	.ascii	"{onnode=function(e)if(e.path and#e.children==0)or e"
	.ascii	".kind==\"vgroup\"then\012return\012e"
	.ascii	"nd\012if e.parent==n.projects then\012_p(2,'%s /* P"
	.ascii	"roducts */ = {',e.productgroupid)else\012_p(2,'%s /"
	.ascii	"* %s */ = {',e.id,e.name)end\012_p(3,'isa = PBXGrou"
	.ascii	"p;')_p(3,'children = (')for n,e in ipairs(e.childre"
	.ascii	"n)do\012_p(4,'%s /* %s */,',e.id,e.name)end\012_p(3"
	.ascii	",');')if e.parent==n.projects then\012_p(3,'name = "
	.ascii	"Products;')else\012_p(3,'name = \"%s\";',e.name)if "
	.ascii	"e.path and not e.isvpath then\012local n=e.path\012"
	.ascii	"if e.parent.path then\012n=path.getrelative(e.paren"
	.ascii	"t.path,e.path)end\012_p(3,'path = \"%s\";',n)end\012"
	.ascii	"end\012_p(3,'sourceTree = \"<group>\";')_p(2,'};')e"
	.ascii	"nd},true)_p('/* End PBXGroup section */')_p('')end\012"
	.ascii	"function e.PBXNativeTarget(i)_p('/* Begin PBXNative"
	.ascii	"Target section */')for t,n in ipairs(i.products.chi"
	.ascii	"ldren)do\012local t=i.project.name\012local functio"
	.ascii	"n o(e)if#i.project[e]>0 then\012return true\012end\012"
	.ascii	"for i,n in ipairs(i.configs)do\012if#n[e]>0 then\012"
	.ascii	"return true\012end\012end\012end\012_p(2,'%s /* %s "
	.ascii	"*/ = {',n.targetid,t)_p(3,'isa = PBXNativeTarget;')"
	.ascii	"_p(3,'buildConfigurationList = %s /* Build configur"
	.ascii	"ation list for PBXNativeTarget \"%s\" */;',n.cfgsec"
	.ascii	"tion,t)_p(3,'buildPhases = (')if o('prebuildcommand"
	.ascii	"s')then\012_p(4,'9607AE1010C857E500CD1376 /* Prebui"
	.ascii	"ld */,')end\012_p(4,'%s /* Resources */,',n.resstag"
	.ascii	"eid)_p(4,'%s /* Sources */,',n.sourcesid)if o('prel"
	.ascii	"inkcommands')then\012_p(4,'9607AE3510C85E7E00CD1376"
	.ascii	" /* Prelink */,')end\012_p(4,'%s /* Frameworks */,'"
	.ascii	",n.fxstageid)if o('postbuildcommands')then\012_p(4,"
	.ascii	"'9607AE3710C85E8F00CD1376 /* Postbuild */,')end\012"
	.ascii	"_p(3,');')_p(3,'buildRules = (')_p(3,');')_p(3,'dep"
	.ascii	"endencies = (')for n,e in ipairs(i.projects.childre"
	.ascii	"n)do\012_p(4,'%s /* PBXTargetDependency */,',e.targ"
	.ascii	"etdependid)end\012_p(3,');')_p(3,'name = \"%s\";',t"
	.ascii	")local i\012if n.cfg.kind==\"ConsoleApp\"then\012i="
	.ascii	"\"$(HOME)/bin\"elseif n.cfg.kind==\"WindowedApp\"th"
	.ascii	"en\012i=\"$(HOME)/Applications\"end\012if i then\012"
	.ascii	"_p(3,'productInstallPath = \"%s\";',i)end\012_p(3,'"
	.ascii	"productName = \"%s\";',t)_p(3,'productReference = %"
	.ascii	"s /* %s */;',n.id,n.name)_p(3,'productType = \"%s\""
	.ascii	";',e.getproducttype(n))_p(2,'};')end\012_p('/* End "
	.ascii	"PBXNativeTarget section */')_p('')end\012function e"
	.ascii	".PBXProject(e)_p('/* Begin PBXProject section */')"
	.ascii	"_p(2,'08FB7793FE84155DC02AAC07 /* Project object */"
	.ascii	" = {')_p(3,'isa = PBXProject;')_p(3,'buildConfigura"
	.ascii	"tionList = 1DEB928908733DD80010E9CD /* Build config"
	.ascii	"uration list for PBXProject \"%s\" */;',e.name)_p(3"
	.ascii	",'compatibilityVersion = \"Xcode 3.2\";')_p(3,'hasS"
	.ascii	"cannedForEncodings = 1;')_p(3,'mainGroup = %s /* %s"
	.ascii	" */;',e.id,e.name)_p(3,'projectDirPath = \"\";')if#"
	.ascii	"e.projects.children>0 then\012_p(3,'projectReferenc"
	.ascii	"es = (')for n,e in ipairs(e.projects.children)do\012"
	.ascii	"_p(4,'{')_p(5,'ProductGroup = %s /* Products */;',e"
	.ascii	".productgroupid)_p(5,'ProjectRef = %s /* %s */;',e."
	.ascii	"id,path.getname(e.path))_p(4,'},')end\012_p(3,');')"
	.ascii	"end\012_p(3,'projectRoot = \"\";')_p(3,'targets = ("
	.ascii	"')for n,e in ipairs(e.products.children)do\012_p(4,"
	.ascii	"'%s /* %s */,',e.targetid,e.name)end\012_p(3,');')_"
	.ascii	"p(2,'};')_p('/* End PBXProject section */')_p('')en"
	.ascii	"d\012function e.PBXReferenceProxy(n)if#n.projects.c"
	.ascii	"hildren>0 then\012_p('/* Begin PBXReferenceProxy se"
	.ascii	"ction */')i.traverse(n.projects,{onleaf=function(n)"
	.ascii	"_p(2,'%s /* %s */ = {',n.id,n.name)_p(3,'isa = PBXR"
	.ascii	"eferenceProxy;')_p(3,'fileType = %s;',e.gettargetty"
	.ascii	"pe(n))_p(3,'path = \"%s\";',n.path)_p(3,'remoteRef "
	.ascii	"= %s /* PBXContainerItemProxy */;',n.parent.product"
	.ascii	"proxyid)_p(3,'sourceTree = BUILT_PRODUCTS_DIR;')_p("
	.ascii	"2,'};')end})_p('/* End PBXReferenceProxy section */"
	.ascii	"')_p('')end\012end\012function e.PBXResourcesBuildP"
	.ascii	"hase(n)_p('/* Begin PBXResourcesBuildPhase section "
	.ascii	"*/')for o,t in ipairs(n.products.children)do\012_p("
	.ascii	"2,'%s /* Resources */ = {',t.resstageid)_p(3,'isa ="
	.ascii	" PBXResourcesBuildPhase;')_p(3,'buildActionMask = 2"
	.ascii	"147483647;')_p(3,'files = (')i.traverse(n,{onnode=f"
	.ascii	"unction(n)if e.getbuildcategory(n)==\"Resources\"th"
	.ascii	"en\012_p(4,'%s /* %s in Resources */,',n.buildid,n."
	.ascii	"name)end\012end})_p(3,');')_p(3,'runOnlyForDeployme"
	.ascii	"ntPostprocessing = 0;')_p(2,'};')end\012_p('/* End "
	.ascii	"PBXResourcesBuildPhase section */')_p('')end\012fun"
	.ascii	"ction e.PBXShellScriptBuildPhase(r)local t=false\012"
	.ascii	"local function i(a,s,p)local o=r.project[p]local n="
	.ascii	"table.join(o,{})for i,t in ipairs(r.configs)do\012l"
	.ascii	"ocal i=t[p]if#i>#o then\012table.insert(n,'if [ \"$"
	.ascii	"{CONFIGURATION}\" = \"'..e."
	.ascii	"getconfigname(t)..'\" ]; then')for e=#o+1,#i do\012"
	.ascii	"table.insert(n,i[e])end\012table.insert(n,'fi')end\012"
	.ascii	"end\012if#n>0 then\012if not t then\012_p('/* Begin"
	.ascii	" PBXShellScriptBuildPhase section */')t=true\012end"
	.ascii	"\012_p(2,'%s /* %s */ = {',a,s)_p(3,'isa = PBXShell"
	.ascii	"ScriptBuildPhase;')_p(3,'buildActionMask = 21474836"
	.ascii	"47;')_p(3,'files = (')_p(3,');')_p(3,'inputPaths = "
	.ascii	"(');_p(3,');');_p(3,'name = %s;',s);_p(3,'outputPat"
	.ascii	"hs = (');_p(3,');');_p(3,'runOnlyForDeploymentPostp"
	.ascii	"rocessing = 0;');_p(3,'shellPath = /bin/sh;');_p(3,"
	.ascii	"'shellScript = \"%s\";',table.concat(n,\"\\\\n\"):g"
	.ascii	"sub('\"','\\\\\"'))_p(2,'};')end\012end\012i(\"9607"
	.ascii	"AE1010C857E500CD1376\",\"Prebuild\",\"prebuildcomma"
	.ascii	"nds\")i(\"9607AE3510C85E7E00CD1376\",\"Prelink\",\""
	.ascii	"prelinkcommands\")i(\"9607AE3710C85E8F00CD1376\",\""
	.ascii	"Postbuild\",\"postbuildcommands\")if t then\012_p('"
	.ascii	"/* End PBXShellScriptBuildPhase section */')end\012"
	.ascii	"end\012function e.PBXSourcesBuildPhase(n)_p('/* Beg"
	.ascii	"in PBXSourcesBuildPhase section */')for o,t in ipai"
	.ascii	"rs(n.products.children)do\012_p(2,'%s /* Sources */"
	.ascii	" = {',t.sourcesid)_p(3,'isa = PBXSourcesBuildPhase;"
	.ascii	"')_p(3,'buildActionMask = 2147483647;')_p(3,'files "
	.ascii	"= (')i.traverse(n,{onleaf=function(n)if e.getbuildc"
	.ascii	"ategory(n)==\"Sources\"then\012_p(4,'%s /* %s in So"
	.ascii	"urces */,',n.buildid,n.name)end\012end})_p(3,');')_"
	.ascii	"p(3,'runOnlyForDeploymentPostprocessing = 0;')_p(2,"
	.ascii	"'};')end\012_p('/* End PBXSourcesBuildPhase section"
	.ascii	" */')_p('')end\012function e.PBXVariantGroup(e)_p('"
	.ascii	"/* Begin PBXVariantGroup section */')i.traverse(e,{"
	.ascii	"onbranch=function(e)if e.kind==\"vgroup\"then\012_p"
	.ascii	"(2,'%s /* %s */ = {',e.id,e.name)_p(3,'isa = PBXVar"
	.ascii	"iantGroup;')_p(3,'children = (')for n,e in ipairs(e"
	.ascii	".children)do\012_p(4,'%s /* %s */,',e.id,e.name)end"
	.ascii	"\012_p(3,');')_p(3,'name = %s;',e.name)_p(3,'source"
	.ascii	"Tree = \"<group>\";')_p(2,'};')end\012end})_p('/* E"
	.ascii	"nd PBXVariantGroup section */')_p('')end\012functio"
	.ascii	"n e.PBXTargetDependency(e)if#e.projects.children>0 "
	.ascii	"then\012_p('/* Begin PBXTargetDependency section */"
	.ascii	"')i.traverse(e.projects,{onleaf=function(e)_p(2,'%s"
	.ascii	" /* PBXTargetDependency */ = {',e.parent.targetdepe"
	.ascii	"ndid)_p(3,'isa = PBXTargetDependency;')_p(3,'name ="
	.ascii	" \"%s\";',e.nam"
	.ascii	"e)_p(3,'targetProxy = %s /* PBXContainerItemProxy *"
	.ascii	"/;',e.parent.targetproxyid)_p(2,'};')end})_p('/* En"
	.ascii	"d PBXTargetDependency section */')_p('')end\012end\012"
	.ascii	"function e.XCBuildConfiguration_Target(i,t,n)local "
	.ascii	"t=e.getconfigname(n)_p(2,'%s /* %s */ = {',n.xcode."
	.ascii	"targetid,t)_p(3,'isa = XCBuildConfiguration;')_p(3,"
	.ascii	"'buildSettings = {')_p(4,'ALWAYS_SEARCH_USER_PATHS "
	.ascii	"= NO;')if not n.flags.Symbols then\012_p(4,'DEBUG_I"
	.ascii	"NFORMATION_FORMAT = \"dwarf-with-dsym\";')end\012if"
	.ascii	" n.kind~=\"StaticLib\"and n.buildtarget.prefix~=\"\""
	.ascii	"then\012_p(4,'EXECUTABLE_PREFIX = %s;',n.buildtarge"
	.ascii	"t.prefix)end\012if n.targetextension then\012local "
	.ascii	"e=n.targetextension\012e=iif(e:startswith(\".\"),e:"
	.ascii	"sub(2),e)_p(4,'EXECUTABLE_EXTENSION = %s;',e)end\012"
	.ascii	"local e=path.getdirectory(n.buildtarget.bundlepath)"
	.ascii	"if e~=\".\"then\012_p(4,'CONFIGURATION_BUILD_DIR = "
	.ascii	"%s;',e)end\012_p(4,'GCC_DYNAMIC_NO_PIC = NO;')_p(4,"
	.ascii	"'GCC_MODEL_TUNING = G5;')if i.infoplist then\012_p("
	.ascii	"4,'INFOPLIST_FILE = \"%s\";',i.infoplist.cfg.name)e"
	.ascii	"nd\012installpaths={ConsoleApp='/usr/local/bin',Win"
	.ascii	"dowedApp='\"$(HOME)/Applications\"',SharedLib='/usr"
	.ascii	"/local/lib',StaticLib='/usr/local/lib',}_p(4,'INSTA"
	.ascii	"LL_PATH = %s;',installpaths[n.kind])_p(4,'PRODUCT_N"
	.ascii	"AME = \"%s\";',n.buildtarget.basename)_p(3,'};')_p("
	.ascii	"3,'name = \"%s\";',t)_p(2,'};')end\012function e.XC"
	.ascii	"BuildConfiguration_Project(i,n)local o=e.getconfign"
	.ascii	"ame(n)_p(2,'%s /* %s */ = {',n.xcode.projectid,o)_p"
	.ascii	"(3,'isa = XCBuildConfiguration;')_p(3,'buildSetting"
	.ascii	"s = {')local i={Native=\"$(NATIVE_ARCH_ACTUAL)\",x3"
	.ascii	"2=\"i386\",x64=\"x86_64\",Universal32=\"$(ARCHS_STA"
	.ascii	"NDARD_32_BIT)\",Universal64=\"$(ARCHS_STANDARD_64_B"
	.ascii	"IT)\",Universal=\"$(ARCHS_STANDARD_32_64_BIT)\",}_p"
	.ascii	"(4,'ARCHS = \"%s\";',i[n.platform])local t=path.get"
	.ascii	"directory(n.buildtarget.bundlepath)if t~=\".\"then\012"
	.ascii	"_p(4,'CONFIGURATION_BUILD_DIR = \"$(SYMROOT)\";');e"
	.ascii	"nd\012_p(4,'CONFIGURATION_TEMP_DIR = \"$(OBJROOT)\""
	.ascii	";')if n.flags.Symbols then\012_p(4,'COPY_PHASE_STRI"
	.ascii	"P = NO;')end\012_p(4,'GCC_C_LANGUAGE_STANDARD = gnu"
	.ascii	"99;')if n.flags.NoExceptions then\012_p(4,'GCC_ENAB"
	.ascii	"LE_CPP_EXCEPTIONS = NO;')end\012if n.flags.NoRTTI t"
	.ascii	"hen\012_p(4,'GCC_ENABLE_CPP_RTTI = NO;')end\012if _"
	.ascii	"ACTIO"
	.ascii	"N~=\"xcode4\"and n.flags.Symbols and not n.flags.No"
	.ascii	"EditAndContinue then\012_p(4,'GCC_ENABLE_FIX_AND_CO"
	.ascii	"NTINUE = YES;')end\012if n.flags.NoExceptions then\012"
	.ascii	"_p(4,'GCC_ENABLE_OBJC_EXCEPTIONS = NO;')end\012if n"
	.ascii	".flags.Optimize or n.flags.OptimizeSize then\012_p("
	.ascii	"4,'GCC_OPTIMIZATION_LEVEL = s;')elseif n.flags.Opti"
	.ascii	"mizeSpeed then\012_p(4,'GCC_OPTIMIZATION_LEVEL = 3;"
	.ascii	"')else\012_p(4,'GCC_OPTIMIZATION_LEVEL = 0;')end\012"
	.ascii	"if n.pchheader and not n.flags.NoPCH then\012_p(4,'"
	.ascii	"GCC_PRECOMPILE_PREFIX_HEADER = YES;')_p(4,'GCC_PREF"
	.ascii	"IX_HEADER = \"%s\";',n.pchheader)end\012e.printlist"
	.ascii	"(n.defines,'GCC_PREPROCESSOR_DEFINITIONS')_p(4,'GCC"
	.ascii	"_SYMBOLS_PRIVATE_EXTERN = NO;')if n.flags.FatalWarn"
	.ascii	"ings then\012_p(4,'GCC_TREAT_WARNINGS_AS_ERRORS = Y"
	.ascii	"ES;')end\012_p(4,'GCC_WARN_ABOUT_RETURN_TYPE = YES;"
	.ascii	"')_p(4,'GCC_WARN_UNUSED_VARIABLE = YES;')e.printlis"
	.ascii	"t(n.includedirs,'HEADER_SEARCH_PATHS')e.printlist(n"
	.ascii	".libdirs,'LIBRARY_SEARCH_PATHS')_p(4,'OBJROOT = \"%"
	.ascii	"s\";',n.objectsdir)_p(4,'ONLY_ACTIVE_ARCH = %s;',ii"
	.ascii	"f(premake.config.isdebugbuild(n),'YES','NO'))local "
	.ascii	"r={[\"-ffast-math\"]=n.flags.FloatFast,[\"-ffloat-s"
	.ascii	"tore\"]=n.flags.FloatStrict,[\"-fomit-frame-pointer"
	.ascii	"\"]=n.flags.NoFramePointer,}local i={}for n,t in pa"
	.ascii	"irs(r)do\012if t then\012table.insert(i,n)end\012en"
	.ascii	"d\012e.printlist(table.join(i,n.buildoptions),'OTHE"
	.ascii	"R_CFLAGS')i={}for t,n in ipairs(premake.getlinks(n,"
	.ascii	"\"system\"))do\012if not e.isframework(n)then\012ta"
	.ascii	"ble.insert(i,\"-l\"..n)end\012end\012i=table.join(i"
	.ascii	",n.linkoptions)e.printlist(i,'OTHER_LDFLAGS')if n.f"
	.ascii	"lags.StaticRuntime then\012_p(4,'STANDARD_C_PLUS_PL"
	.ascii	"US_LIBRARY_TYPE = static;')end\012if t~=\".\"then\012"
	.ascii	"_p(4,'SYMROOT = \"%s\";',t)end\012if n.flags.ExtraW"
	.ascii	"arnings then\012_p(4,'WARNING_CFLAGS = \"-Wall\";')"
	.ascii	"end\012_p(3,'};')_p(3,'name = \"%s\";',o)_p(2,'};')"
	.ascii	"end\012function e.XCBuildConfiguration(n)_p('/* Beg"
	.ascii	"in XCBuildConfiguration section */')for t,i in ipai"
	.ascii	"rs(n.products.children)do\012for o,t in ipairs(n.co"
	.ascii	"nfigs)do\012e.XCBuildConfiguration_Target(n,i,t)end"
	.ascii	"\012end\012for t,i in ipairs(n.configs)do\012e.XCBu"
	.ascii	"ildConfiguration_Project(n,i)end\012_p('/* End XCBu"
	.ascii	"ildConfiguration section */')_p('')end\012function "
	.ascii	"e.XCBuildConfigurationList(n)"
	.ascii	"local i=n.project.solution\012_p('/* Begin XCConfig"
	.ascii	"urationList section */')for t,i in ipairs(n.product"
	.ascii	"s.children)do\012_p(2,'%s /* Build configuration li"
	.ascii	"st for PBXNativeTarget \"%s\" */ = {',i.cfgsection,"
	.ascii	"i.name)_p(3,'isa = XCConfigurationList;')_p(3,'buil"
	.ascii	"dConfigurations = (')for i,n in ipairs(n.configs)do"
	.ascii	"\012_p(4,'%s /* %s */,',n.xcode.targetid,e.getconfi"
	.ascii	"gname(n))end\012_p(3,');')_p(3,'defaultConfiguratio"
	.ascii	"nIsVisible = 0;')_p(3,'defaultConfigurationName = \""
	.ascii	"%s\";',e.getconfigname(n.configs[1]))_p(2,'};')end\012"
	.ascii	"_p(2,'1DEB928908733DD80010E9CD /* Build configurati"
	.ascii	"on list for PBXProject \"%s\" */ = {',n.name)_p(3,'"
	.ascii	"isa = XCConfigurationList;')_p(3,'buildConfiguratio"
	.ascii	"ns = (')for i,n in ipairs(n.configs)do\012_p(4,'%s "
	.ascii	"/* %s */,',n.xcode.projectid,e.getconfigname(n))end"
	.ascii	"\012_p(3,');')_p(3,'defaultConfigurationIsVisible ="
	.ascii	" 0;')_p(3,'defaultConfigurationName = \"%s\";',e.ge"
	.ascii	"tconfigname(n.configs[1]))_p(2,'};')_p('/* End XCCo"
	.ascii	"nfigurationList section */')_p('')end\012function e"
	.ascii	".Footer()_p(1,'};')_p('\\trootObject = 08FB7793FE84"
	.ascii	"155DC02AAC07 /* Project object */;')_p('}')end\000"
	.align	2
.LC52:
	.ascii	"local e=premake.xcode\012local r=premake.tree\012fu"
	.ascii	"nction e.buildprjtree(o)local n=premake.project.bui"
	.ascii	"ldsourcetree(o)n.configs={}for t,i in ipairs(o.solu"
	.ascii	"tion.configurations)do\012for t,r in ipairs(o.solut"
	.ascii	"ion.xcode.platforms)do\012local r=premake.getconfig"
	.ascii	"(o,i,r)r.xcode={}r.xcode.targetid=e.newid(o.xcode.p"
	.ascii	"rojectnode,i)r.xcode.projectid=e.newid(n,i)table.in"
	.ascii	"sert(n.configs,r)end\012end\012r.traverse(n,{onbran"
	.ascii	"ch=function(e)if path.getextension(e.name)==\".lpro"
	.ascii	"j\"then\012local i=path.getbasename(e.name)for n,o "
	.ascii	"in ipairs(e.children)do\012local n=e.parent.childre"
	.ascii	"n[o.name]if not n then\012n=r.insert(e.parent,r.new"
	.ascii	"(o.name))n.kind=\"vgroup\"end\012o.name=path.getbas"
	.ascii	"ename(i)r.insert(n,o)end\012r.remove(e)end\012end})"
	.ascii	"n.frameworks=r.new(\"Frameworks\")for o in premake."
	.ascii	"eachconfig(o)do\012for o,i in ipairs(premake.getlin"
	.ascii	"ks(o,\"system\",\"fullpath\"))do\012local o=path.ge"
	.ascii	"tname(i)if e.isframework(o)and not n.frameworks.chi"
	.ascii	"ldren[o]then\012node=r.insert(n.frameworks,r.new(o)"
	.ascii	")node.path=i\012end\012end\012end\012if#n.framework"
	.ascii	"s.children>0 then\012r.insert(n,n.frameworks)end\012"
	.ascii	"n.products=r.insert(n,r.new(\"Products\"))n.project"
	.ascii	"s=r.new(\"Projects\")for t,i in ipairs(premake.getd"
	.ascii	"ependencies(o,\"sibling\",\"object\"))do\012local t"
	.ascii	"=e.getxcodeprojname(i)local n=r.insert(n.projects,r"
	.ascii	".new(path.getname(t)))n.path=t\012n.project=i\012n."
	.ascii	"productgroupid=e.newid(n,\"prodgrp\")n.productproxy"
	.ascii	"id=e.newid(n,\"prodprox\")n.targetproxyid=e.newid(n"
	.ascii	",\"targprox\")n.targetdependid=e.newid(n,\"targdep\""
	.ascii	")local e=premake.getconfig(i,o.configurations[1])no"
	.ascii	"de=r.insert(n,r.new(e.linktarget.name))node.path=e."
	.ascii	"linktarget.fullpath\012node.cfg=e\012end\012if#n.pr"
	.ascii	"ojects.children>0 then\012r.insert(n,n.projects)end"
	.ascii	"\012r.traverse(n,{onnode=function(r)r.id=e.newid(r)"
	.ascii	"if e.getbuildcategory(r)then\012r.buildid=e.newid(r"
	.ascii	",\"build\")end\012if string.endswith(r.name,\"Info."
	.ascii	"plist\")then\012n.infoplist=r\012end\012end},true)n"
	.ascii	"ode=r.insert(n.products,o.xcode.projectnode)node.ki"
	.ascii	"nd=\"product\"node.path=node.cfg.buildtarget.fullpa"
	.ascii	"th\012node.cfgsection=e.newid(node,\"cfg\")node.res"
	.ascii	"stageid=e.newid(node,\"rez\")node.sourcesid=e.newid"
	.ascii	"(node,\"src\")node.fxstageid=e.newid(node,\"fxs\")r"
	.ascii	"e"
	.ascii	"turn n\012end\012function premake.xcode.project(n)l"
	.ascii	"ocal n=e.buildprjtree(n)e.Header(n)e.PBXBuildFile(n"
	.ascii	")e.PBXContainerItemProxy(n)e.PBXFileReference(n)e.P"
	.ascii	"BXFrameworksBuildPhase(n)e.PBXGroup(n)e.PBXNativeTa"
	.ascii	"rget(n)e.PBXProject(n)e.PBXReferenceProxy(n)e.PBXRe"
	.ascii	"sourcesBuildPhase(n)e.PBXShellScriptBuildPhase(n)e."
	.ascii	"PBXSourcesBuildPhase(n)e.PBXVariantGroup(n)e.PBXTar"
	.ascii	"getDependency(n)e.XCBuildConfiguration(n)e.XCBuildC"
	.ascii	"onfigurationList(n)e.Footer(n)end\000"
	.align	2
.LC53:
	.ascii	"premake.xcode4={}local e=premake.xcode4\012function"
	.ascii	" e.workspace_head()_p('<?xml version=\"1.0\" encodi"
	.ascii	"ng=\"UTF-8\"?>')_p('<Workspace')_p(1,'version = \"1"
	.ascii	".0\">')end\012function e.workspace_tail()_p('</Work"
	.ascii	"space>')end\012function e.workspace_file_ref(o)loca"
	.ascii	"l e=path.getrelative(o.solution.location,o.location"
	.ascii	")if e=='.'then e=''else e=e..'/'end\012_p(1,'<FileR"
	.ascii	"ef')_p(2,'location = \"group:%s\">',e..o.name..'.xc"
	.ascii	"odeproj')_p(1,'</FileRef>')end\012function e.worksp"
	.ascii	"ace_generate(o)premake.xcode.preparesolution(o)e.wo"
	.ascii	"rkspace_head()for o in premake.solution.eachproject"
	.ascii	"(o)do\012e.workspace_file_ref(o)end\012e.workspace_"
	.ascii	"tail()end\000"
	.align	2
.LC54:
	.ascii	"premake.clean={}function premake.clean.directory(n,"
	.ascii	"e)local e=premake.project.getfilename(n,e)os.rmdir("
	.ascii	"e)end\012function premake.clean.file(e,n)local e=pr"
	.ascii	"emake.project.getfilename(e,n)os.remove(e)end\012ne"
	.ascii	"waction{trigger=\"clean\",description=\"Remove all "
	.ascii	"binaries and generated files\",onsolution=function("
	.ascii	"n)for e in premake.action.each()do\012if e.oncleans"
	.ascii	"olution then\012e.oncleansolution(n)end\012end\012e"
	.ascii	"nd,onproject=function(e)for n in premake.action.eac"
	.ascii	"h()do\012if n.oncleanproject then\012n.oncleanproje"
	.ascii	"ct(e)end\012end\012if(e.objectsdir)then\012premake."
	.ascii	"clean.directory(e,e.objectsdir)end\012local n=e.sol"
	.ascii	"ution.platforms or{}if not table.contains(n,\"Nativ"
	.ascii	"e\")then\012n=table.join(n,{\"Native\"})end\012for "
	.ascii	"a,n in ipairs(n)do\012for n in premake.eachconfig(e"
	.ascii	",n)do\012premake.clean.directory(e,n.objectsdir)pre"
	.ascii	"make.clean.file(e,premake.gettarget(n,\"build\",\"p"
	.ascii	"osix\",\"windows\",\"windows\").fullpath)premake.cl"
	.ascii	"ean.file(e,premake.gettarget(n,\"build\",\"posix\","
	.ascii	"\"posix\",\"linux\").fullpath)premake.clean.file(e,"
	.ascii	"premake.gettarget(n,\"build\",\"posix\",\"posix\",\""
	.ascii	"macosx\").fullpath)premake.clean.file(e,premake.get"
	.ascii	"target(n,\"build\",\"posix\",\"PS3\",\"windows\").f"
	.ascii	"ullpath)if n.kind==\"WindowedApp\"then\012premake.c"
	.ascii	"lean.directory(e,premake.gettarget(n,\"build\",\"po"
	.ascii	"six\",\"posix\",\"linux\").fullpath..\".app\")end\012"
	.ascii	"premake.clean.file(e,premake.gettarget(n,\"link\",\""
	.ascii	"windows\",\"windows\",\"windows\").fullpath)premake"
	.ascii	".clean.file(e,premake.gettarget(n,\"link\",\"posix\""
	.ascii	",\"posix\",\"linux\").fullpath)local n=path.join(pr"
	.ascii	"emake.project.getfilename(e,n.buildtarget.directory"
	.ascii	"),n.buildtarget.basename)for e in premake.action.ea"
	.ascii	"ch()do\012if e.oncleantarget then\012e.oncleantarge"
	.ascii	"t(n)end\012end\012end\012end\012end}\000"
	.align	2
.LC55:
	.ascii	"local t=\"premake4.lua\"local i=\"Type 'premake4 --"
	.ascii	"help' for help\"local a=\"premake4 (Premake Build S"
	.ascii	"cript Generator) %s\"_WORKING_DIR=os.getcwd()local "
	.ascii	"function o(r)if not r then return true end\012r=pre"
	.ascii	"make.checkvalue(r,premake.fields.platforms.allowed)"
	.ascii	"for n in premake.solution.each()do\012local e=n.pla"
	.ascii	"tforms or{}if#e==0 then\012table.insert(e,\"Native\""
	.ascii	")end\012if not table.contains(e,\"Native\")then\012"
	.ascii	"return false,n.name..\" does not target native plat"
	.ascii	"form\\nNative platform settings are required for th"
	.ascii	"e --platform feature.\"end\012if not table.contains"
	.ascii	"(e,r)then\012table.insert(e,r)end\012n.platforms=e\012"
	.ascii	"end\012return true\012end\012function _premake_main"
	.ascii	"(e)if(e)then\012local r=dofile(e..\"/_manifest.lua\""
	.ascii	")for n,r in ipairs(r)do\012dofile(e..\"/\"..r)end\012"
	.ascii	"end\012_PREMAKE_COMMAND=path.getabsolute(_PREMAKE_C"
	.ascii	"OMMAND)premake.action.set(_ACTION)math.randomseed(o"
	.ascii	"s.time())local e=_OPTIONS[\"file\"]or t\012if(os.is"
	.ascii	"file(e))then\012dofile(e)end\012if(_OPTIONS[\"versi"
	.ascii	"on\"])then\012printf(a,_PREMAKE_VERSION)return 1\012"
	.ascii	"end\012if(_OPTIONS[\"help\"])then\012premake.showhe"
	.ascii	"lp()return 1\012end\012if(not _ACTION)then\012print"
	.ascii	"(i)return 1\012end\012if(not os.isfile(e))then\012e"
	.ascii	"rror(\"No Premake script (\"..t..\") found!\",2)end"
	.ascii	"\012action=premake.action.current()if(not action)th"
	.ascii	"en\012error(\"Error: no such action '\".._ACTION..\""
	.ascii	"'\",0)end\012ok,err=premake.option.validate(_OPTION"
	.ascii	"S)if(not ok)then error(\"Error: \"..err,0)end\012ok"
	.ascii	",err=premake.checktools()if(not ok)then error(\"Err"
	.ascii	"or: \"..err,0)end\012ok,err=o(_OPTIONS[\"platform\""
	.ascii	"])if(not ok)then error(\"Error: \"..err,0)end\012pr"
	.ascii	"int(\"Building configurations...\")premake.bake.bui"
	.ascii	"ldconfigs()ok,err=premake.checkprojects()if(not ok)"
	.ascii	"then error(\"Error: \"..err,0)end\012printf(\"Runni"
	.ascii	"ng action '%s'...\",action.trigger)premake.action.c"
	.ascii	"all(action.trigger)print(\"Done.\")return 0\012end\000"
	.data
	.align	2
	.type	builtin_scripts, %object
	.size	builtin_scripts, 228
builtin_scripts:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	0
	.global	builtin_script_fnames
	.section	.rodata
	.align	2
.LC56:
	.ascii	"@base/os.lua\000"
	.align	2
.LC57:
	.ascii	"@base/path.lua\000"
	.align	2
.LC58:
	.ascii	"@base/string.lua\000"
	.align	2
.LC59:
	.ascii	"@base/table.lua\000"
	.align	2
.LC60:
	.ascii	"@base/io.lua\000"
	.align	2
.LC61:
	.ascii	"@base/globals.lua\000"
	.align	2
.LC62:
	.ascii	"@base/action.lua\000"
	.align	2
.LC63:
	.ascii	"@base/option.lua\000"
	.align	2
.LC64:
	.ascii	"@base/tree.lua\000"
	.align	2
.LC65:
	.ascii	"@base/solution.lua\000"
	.align	2
.LC66:
	.ascii	"@base/project.lua\000"
	.align	2
.LC67:
	.ascii	"@base/config.lua\000"
	.align	2
.LC68:
	.ascii	"@base/bake.lua\000"
	.align	2
.LC69:
	.ascii	"@base/api.lua\000"
	.align	2
.LC70:
	.ascii	"@base/cmdline.lua\000"
	.align	2
.LC71:
	.ascii	"@tools/dotnet.lua\000"
	.align	2
.LC72:
	.ascii	"@tools/gcc.lua\000"
	.align	2
.LC73:
	.ascii	"@tools/msc.lua\000"
	.align	2
.LC74:
	.ascii	"@tools/ow.lua\000"
	.align	2
.LC75:
	.ascii	"@tools/snc.lua\000"
	.align	2
.LC76:
	.ascii	"@base/validate.lua\000"
	.align	2
.LC77:
	.ascii	"@base/help.lua\000"
	.align	2
.LC78:
	.ascii	"@base/premake.lua\000"
	.align	2
.LC79:
	.ascii	"@actions/codeblocks/_codeblocks.lua\000"
	.align	2
.LC80:
	.ascii	"@actions/codeblocks/codeblocks_workspace.lua\000"
	.align	2
.LC81:
	.ascii	"@actions/codeblocks/codeblocks_cbp.lua\000"
	.align	2
.LC82:
	.ascii	"@actions/codelite/_codelite.lua\000"
	.align	2
.LC83:
	.ascii	"@actions/codelite/codelite_workspace.lua\000"
	.align	2
.LC84:
	.ascii	"@actions/codelite/codelite_project.lua\000"
	.align	2
.LC85:
	.ascii	"@actions/make/_make.lua\000"
	.align	2
.LC86:
	.ascii	"@actions/make/make_solution.lua\000"
	.align	2
.LC87:
	.ascii	"@actions/make/make_cpp.lua\000"
	.align	2
.LC88:
	.ascii	"@actions/make/make_csharp.lua\000"
	.align	2
.LC89:
	.ascii	"@actions/vstudio/_vstudio.lua\000"
	.align	2
.LC90:
	.ascii	"@actions/vstudio/vs2002_solution.lua\000"
	.align	2
.LC91:
	.ascii	"@actions/vstudio/vs2002_csproj.lua\000"
	.align	2
.LC92:
	.ascii	"@actions/vstudio/vs2002_csproj_user.lua\000"
	.align	2
.LC93:
	.ascii	"@actions/vstudio/vs200x_vcproj.lua\000"
	.align	2
.LC94:
	.ascii	"@actions/vstudio/vs200x_vcproj_user.lua\000"
	.align	2
.LC95:
	.ascii	"@actions/vstudio/vs2003_solution.lua\000"
	.align	2
.LC96:
	.ascii	"@actions/vstudio/vs2005_solution.lua\000"
	.align	2
.LC97:
	.ascii	"@actions/vstudio/vs2005_csproj.lua\000"
	.align	2
.LC98:
	.ascii	"@actions/vstudio/vs2005_csproj_user.lua\000"
	.align	2
.LC99:
	.ascii	"@actions/vstudio/vs2010_vcxproj.lua\000"
	.align	2
.LC100:
	.ascii	"@actions/vstudio/vs2010_vcxproj_filters.lua\000"
	.align	2
.LC101:
	.ascii	"@actions/vstudio/vs2012.lua\000"
	.align	2
.LC102:
	.ascii	"@actions/vstudio/vs2013.lua\000"
	.align	2
.LC103:
	.ascii	"@actions/vstudio/vs2015.lua\000"
	.align	2
.LC104:
	.ascii	"@actions/vstudio/vs2017.lua\000"
	.align	2
.LC105:
	.ascii	"@actions/vstudio/vs2019.lua\000"
	.align	2
.LC106:
	.ascii	"@actions/xcode/_xcode.lua\000"
	.align	2
.LC107:
	.ascii	"@actions/xcode/xcode_common.lua\000"
	.align	2
.LC108:
	.ascii	"@actions/xcode/xcode_project.lua\000"
	.align	2
.LC109:
	.ascii	"@actions/xcode/xcode4_workspace.lua\000"
	.align	2
.LC110:
	.ascii	"@actions/clean/_clean.lua\000"
	.align	2
.LC111:
	.ascii	"@_premake_main.lua\000"
	.data
	.align	2
	.type	builtin_script_fnames, %object
	.size	builtin_script_fnames, 228
builtin_script_fnames:
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.word	.LC70
	.word	.LC71
	.word	.LC72
	.word	.LC73
	.word	.LC74
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.word	.LC79
	.word	.LC80
	.word	.LC81
	.word	.LC82
	.word	.LC83
	.word	.LC84
	.word	.LC85
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.word	.LC89
	.word	.LC90
	.word	.LC91
	.word	.LC92
	.word	.LC93
	.word	.LC94
	.word	.LC95
	.word	.LC96
	.word	.LC97
	.word	.LC98
	.word	.LC99
	.word	.LC100
	.word	.LC101
	.word	.LC102
	.word	.LC103
	.word	.LC104
	.word	.LC105
	.word	.LC106
	.word	.LC107
	.word	.LC108
	.word	.LC109
	.word	.LC110
	.word	.LC111
	.word	0
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
