var global,factory;global=window,factory=function(mustache){var objectToString=Object.prototype.toString,isArray=Array.isArray||function(object){return"[object Array]"===objectToString.call(object)};function isFunction(object){return"function"==typeof object}function escapeRegExp(string){return string.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function hasProperty(obj,propName){return null!=obj&&"object"==typeof obj&&propName in obj}var regExpTest=RegExp.prototype.test,nonSpaceRe=/\S/;function isWhitespace(string){return!function(re,string){return regExpTest.call(re,string)}(nonSpaceRe,string)}var entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="},whiteRe=/\s*/,spaceRe=/\s+/,equalsRe=/\s*=/,curlyRe=/\s*\}/,tagRe=/#|\^|\/|>|\{|&|=|!|\$|0)for(intermediateValue=context.view,names=name.split("."),index=0;null!=intermediateValue&&index0?sections[sections.length-1][4]:nestedTokens;break;default:collector.push(token)}return nestedTokens}(function(tokens){for(var token,lastToken,squashedTokens=[],i=0,numTokens=tokens.length;i"===symbol?value=this.renderPartial(token,context,partials,tags):"<"===symbol?value=this.renderBlock(token,context,partials,originalTemplate):"$"===symbol?value=this.renderBlockVariable(token,context,partials,originalTemplate):"&"===symbol?value=this.unescapedValue(token,context):"name"===symbol?value=this.escapedValue(token,context):"text"===symbol&&(value=this.rawValue(token)),void 0!==value&&(buffer+=value);return buffer},Writer.prototype.renderSection=function(token,context,partials,originalTemplate){var self=this,buffer="",value=context.lookup(token[1]);if(value){if(isArray(value))for(var j=0,valueLength=value.length;j0||!lineHasNonSpace)&&(partialByNl[i]=filteredIndentation+partialByNl[i]);return partialByNl.join("\n")},Writer.prototype.renderPartial=function(token,context,partials,tags){if(partials){var value=isFunction(partials)?partials(token[1]):partials[token[1]];if(null!=value){var lineHasNonSpace=token[6],tagIndex=token[5],indentation=token[4],indentedValue=value;return 0==tagIndex&&indentation&&(indentedValue=this.indentPartial(value,indentation,lineHasNonSpace)),this.renderTokens(this.parse(indentedValue,tags),context,partials,indentedValue)}}},Writer.prototype.renderBlock=function(token,context,partials,originalTemplate){if(partials){var value=isFunction(partials)?partials(token[1]):partials[token[1]];null!=value&&context.clearBlockVars(),this.renderTokens(token[4],context,partials,originalTemplate);var result=this.renderTokens(this.parse(value),context,partials,value);return context.clearBlockVars(),result}},Writer.prototype.renderBlockVariable=function(token,context,partials,originalTemplate){var value=token[1],exists=context.getBlockVar(value);return exists?this.renderTokens(this.parse(exists),context,partials,exists):(context.setBlockVar(value,originalTemplate.slice(token[3],token[5])),this.renderTokens(token[4],context,partials,originalTemplate))},Writer.prototype.unescapedValue=function(token,context){var value=context.lookup(token[1]);if(null!=value)return value},Writer.prototype.escapedValue=function(token,context){var value=context.lookup(token[1]);if(null!=value)return mustache.escape(value)},Writer.prototype.rawValue=function(token){return token[1]},mustache.name="mustache.js",mustache.version="3.1.0",mustache.tags=["{{","}}"];var defaultWriter=new Writer;return mustache.clearCache=function(){return defaultWriter.clearCache()},mustache.parse=function(template,tags){return defaultWriter.parse(template,tags)},mustache.render=function(template,view,partials,tags){if("string"!=typeof template)throw new TypeError('Invalid template! Template should be a "string" but "'+(isArray(obj=template)?"array":typeof obj)+'" was given as the first argument for mustache#render(template, view, partials)');var obj;return defaultWriter.render(template,view,partials,tags)},mustache.to_html=function(template,view,partials,send){var result=mustache.render(template,view,partials);if(!isFunction(send))return result;send(result)},mustache.escape=function(string){return String(string).replace(/[&<>"'`=\/]/g,(function(s){return entityMap[s]}))},mustache.Scanner=Scanner,mustache.Context=Context,mustache.Writer=Writer,mustache},"object"==typeof exports&&exports&&"string"!=typeof exports.nodeName?factory(exports):"function"==typeof define&&define.amd?define("core/mustache",["exports"],factory):(global.Mustache={},factory(global.Mustache)); //# sourceMappingURL=mustache.min.js.map