/* * mustache.js - Logic-less {{mustache}} templates with JavaScript * http://github.com/janl/mustache.js */ (function(b,a){if(typeof exports==="object"&&exports){a(exports) }else{if(typeof define==="function"&&define.amd){define(["exports"],a) }else{a(b.Mustache={}) }}}(this,function(a){var u=Object.prototype.toString; var k=Array.isArray||function(x){return u.call(x)==="[object Array]" }; function b(x){return typeof x==="function" }function e(x){return x.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&") }var g=RegExp.prototype.test; function q(y,x){return g.call(y,x) }var j=/\S/; function h(x){return !q(j,x) }var d={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}; function m(x){return String(x).replace(/[&<>"'\/]/g,function(y){return d[y] }) }var f=/\s*/; var l=/\s+/; var t=/\s*=/; var n=/\s*\}/; var r=/#|\^|\/|>|\{|&|=|!/; function w(Q,F){if(!Q){return[] }var H=[]; var G=[]; var C=[]; var R=false; var O=false; function N(){if(R&&!O){while(C.length){delete G[C.pop()] }}else{C=[] }R=false; O=false }var J,E,P; function D(S){if(typeof S==="string"){S=S.split(l,2) }if(!k(S)||S.length!==2){throw new Error("Invalid tags: "+S) }J=new RegExp(e(S[0])+"\\s*"); E=new RegExp("\\s*"+e(S[1])); P=new RegExp("\\s*"+e("}"+S[1])) }D(F||a.tags); var z=new s(Q); var A,y,I,L,B,x; while(!z.eos()){A=z.pos; I=z.scanUntil(J); if(I){for(var M=0,K=I.length; M0?D[D.length-1][4]:E; break; default:B.push(y) }}return E }function s(x){this.string=x; this.tail=x; this.pos=0 }s.prototype.eos=function(){return this.tail==="" }; s.prototype.scan=function(z){var y=this.tail.match(z); if(!y||y.index!==0){return"" }var x=y[0]; this.tail=this.tail.substring(x.length); this.pos+=x.length; return x }; s.prototype.scanUntil=function(z){var y=this.tail.search(z),x; switch(y){case -1:x=this.tail; this.tail=""; break; case 0:x=""; break; default:x=this.tail.substring(0,y); this.tail=this.tail.substring(y) }this.pos+=x.length; return x }; function p(y,x){this.view=y==null?{}:y; this.cache={".":this.view}; this.parent=x }p.prototype.push=function(x){return new p(x,this) }; p.prototype.lookup=function(z){var x=this.cache; var B; if(z in x){B=x[z] }else{var A=this,C,y; while(A){if(z.indexOf(".")>0){B=A.view; C=z.split("."); y=0; while(B!=null&&y":if(!D){continue }G=b(D)?D(z[1]):D[z[1]]; if(G!=null){B+=this.renderTokens(this.parse(G),x,D,G) }break; case"&":G=x.lookup(z[1]); if(G!=null){B+=G }break; case"name":G=x.lookup(z[1]); if(G!=null){B+=a.escape(G) }break; case"text":B+=z[1]; break }}return B }; a.name="mustache.js"; a.version="0.8.1"; a.tags=["{{","}}"]; var i=new o(); a.clearCache=function(){return i.clearCache() }; a.parse=function(y,x){return i.parse(y,x) }; a.render=function(z,x,y){return i.render(z,x,y) }; a.to_html=function(A,y,z,B){var x=a.render(A,y,z); if(b(B)){B(x) }else{return x }}; a.escape=m; a.Scanner=s; a.Context=p; a.Writer=o }));