Skip to content

Instantly share code, notes, and snippets.

@samuelcole
Created November 22, 2013 19:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samuelcole/7605748 to your computer and use it in GitHub Desktop.
Save samuelcole/7605748 to your computer and use it in GitHub Desktop.
requirebin sketch
// require something
var hogan = require('hogan.js');
var handlebars = require('handlebars');
var template = 'Hello {{name}}';
console.log(hogan.compile(template));
console.log(handlebars.compile(template));
require=function(t,e,i){function n(i,r){if(!e[i]){if(!t[i]){var o="function"==typeof require&&require;if(!r&&o)return o(i,!0);if(s)return s(i,!0);throw Error("Cannot find module '"+i+"'")}var a=e[i]={exports:{}};t[i][0].call(a.exports,function(e){var s=t[i][1][e];return n(s?s:e)},a,a.exports)}return e[i].exports}for(var s="function"==typeof require&&require,r=0;i.length>r;r++)n(i[r]);return n}({handlebars:[function(t,e){e.exports=t("aGtOAO")},{}],aGtOAO:[function(t,e){var i=t("../dist/cjs/handlebars").default;i.Visitor=t("../dist/cjs/handlebars/compiler/visitor").default;var n=t("../dist/cjs/handlebars/compiler/printer");if(i.PrintVisitor=n.PrintVisitor,i.print=n.print,e.exports=i,t!==void 0&&t.extensions){var s=function(e,n){var s=t("fs"),r=s.readFileSync(n,"utf8");e.exports=i.compile(r)};t.extensions[".handlebars"]=s,t.extensions[".hbs"]=s}},{fs:1,"../dist/cjs/handlebars":2,"../dist/cjs/handlebars/compiler/visitor":3,"../dist/cjs/handlebars/compiler/printer":4}],1:[function(){},{}],3:[function(t,e,i){"use strict";function n(){}n.prototype={constructor:n,accept:function(t){return this[t.type](t)}},i["default"]=n},{}],2:[function(t,e,i){"use strict";var n=t("./handlebars.runtime")["default"],s=t("./handlebars/compiler/ast"),r=t("./handlebars/compiler/base").parser,o=t("./handlebars/compiler/base").parse,a=t("./handlebars/compiler/compiler").Compiler,h=t("./handlebars/compiler/compiler").compile,c=t("./handlebars/compiler/compiler").precompile,p=t("./handlebars/compiler/javascript-compiler")["default"],l=n.create,u=function(){var t=l();return t.compile=function(e,i){return h(e,i,t)},t.precompile=c,t.AST=s,t.Compiler=a,t.JavaScriptCompiler=p,t.Parser=r,t.parse=o,t};n=u(),n.create=u,i["default"]=n},{"./handlebars.runtime":5,"./handlebars/compiler/base":6,"./handlebars/compiler/ast":7,"./handlebars/compiler/compiler":8,"./handlebars/compiler/javascript-compiler":9}],4:[function(t,e,i){"use strict";function n(t){return(new s).accept(t)}function s(){this.padding=0}var r=t("./visitor")["default"];i.print=n,i.PrintVisitor=s,s.prototype=new r,s.prototype.pad=function(t,e){for(var i="",n=0,s=this.padding;s>n;n++)i+=" ";return i+=t,e!==!1&&(i+="\n"),i},s.prototype.program=function(t){var e,i,n="",s=t.statements;for(t.inverse,e=0,i=s.length;i>e;e++)n+=this.accept(s[e]);return this.padding--,n},s.prototype.block=function(t){var e="";return e+=this.pad("BLOCK:"),this.padding++,e+=this.accept(t.mustache),t.program&&(e+=this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--),t.inverse&&(t.program&&this.padding++,e+=this.pad("{{^}}"),this.padding++,e+=this.accept(t.inverse),this.padding--,t.program&&this.padding--),this.padding--,e},s.prototype.mustache=function(t){for(var e,i=t.params,n=[],s=0,r=i.length;r>s;s++)n.push(this.accept(i[s]));return i="["+n.join(", ")+"]",e=t.hash?" "+this.accept(t.hash):"",this.pad("{{ "+this.accept(t.id)+" "+i+e+" }}")},s.prototype.partial=function(t){var e=this.accept(t.partialName);return t.context&&(e=e+" "+this.accept(t.context)),this.pad("{{> "+e+" }}")},s.prototype.hash=function(t){for(var e,i,n=t.pairs,s=[],r=0,o=n.length;o>r;r++)e=n[r][0],i=this.accept(n[r][1]),s.push(e+"="+i);return"HASH{"+s.join(", ")+"}"},s.prototype.STRING=function(t){return'"'+t.string+'"'},s.prototype.INTEGER=function(t){return"INTEGER{"+t.integer+"}"},s.prototype.BOOLEAN=function(t){return"BOOLEAN{"+t.bool+"}"},s.prototype.ID=function(t){var e=t.parts.join("/");return t.parts.length>1?"PATH:"+e:"ID:"+e},s.prototype.PARTIAL_NAME=function(t){return"PARTIAL:"+t.name},s.prototype.DATA=function(t){return"@"+this.accept(t.id)},s.prototype.content=function(t){return this.pad("CONTENT[ '"+t.string+"' ]")},s.prototype.comment=function(t){return this.pad("{{! '"+t.comment+"' }}")}},{"./visitor":3}],5:[function(t,e,i){"use strict";var n=t("./handlebars/base"),s=t("./handlebars/safe-string")["default"],r=t("./handlebars/exception")["default"],o=t("./handlebars/utils"),a=t("./handlebars/runtime"),h=function(){var t=new n.HandlebarsEnvironment;return o.extend(t,n),t.SafeString=s,t.Exception=r,t.Utils=o,t.VM=a,t.template=function(e){return a.template(e,t)},t},c=h();c.create=h,i["default"]=c},{"./handlebars/base":10,"./handlebars/safe-string":11,"./handlebars/exception":12,"./handlebars/utils":13,"./handlebars/runtime":14}],6:[function(t,e,i){"use strict";function n(t){return t.constructor===r.ProgramNode?t:(s.yy=r,s.parse(t))}var s=t("./parser")["default"],r=t("./ast");i.parser=s,i.parse=n},{"./parser":15,"./ast":7}],7:[function(t,e,i){"use strict";function n(t,e,i){this.type="program",this.statements=t,this.strip={},i?(this.inverse=new n(i,e),this.strip.right=e.left):e&&(this.strip.left=e.right)}function s(t,e,i,n){this.type="mustache",this.hash=e,this.strip=n;var s=i[3]||i[2];this.escaped="{"!==s&&"&"!==s;var r=this.id=t[0],o=this.params=t.slice(1),a=this.eligibleHelper=r.isSimple;this.isHelper=a&&(o.length||e)}function r(t,e,i){this.type="partial",this.partialName=t,this.context=e,this.strip=i}function o(t,e,i,n){if(t.id.original!==n.path.original)throw new m(t.id.original+" doesn't match "+n.path.original);this.type="block",this.mustache=t,this.program=e,this.inverse=i,this.strip={left:t.strip.left,right:n.strip.right},(e||i).strip.left=t.strip.right,(i||e).strip.right=n.strip.left,i&&!e&&(this.isInverse=!0)}function a(t){this.type="content",this.string=t}function h(t){this.type="hash",this.pairs=t}function c(t){this.type="ID";for(var e="",i=[],n=0,s=0,r=t.length;r>s;s++){var o=t[s].part;if(e+=(t[s].separator||"")+o,".."===o||"."===o||"this"===o){if(i.length>0)throw new m("Invalid path: "+e);".."===o?n++:this.isScoped=!0}else i.push(o)}this.original=e,this.parts=i,this.string=i.join("."),this.depth=n,this.isSimple=1===t.length&&!this.isScoped&&0===n,this.stringModeValue=this.string}function p(t){this.type="PARTIAL_NAME",this.name=t.original}function l(t){this.type="DATA",this.id=t}function u(t){this.type="STRING",this.original=this.string=this.stringModeValue=t}function f(t){this.type="INTEGER",this.original=this.integer=t,this.stringModeValue=Number(t)}function d(t){this.type="BOOLEAN",this.bool=t,this.stringModeValue="true"===t}function g(t){this.type="comment",this.comment=t}var m=t("../exception")["default"];i.ProgramNode=n,i.MustacheNode=s,i.PartialNode=r,i.BlockNode=o,i.ContentNode=a,i.HashNode=h,i.IdNode=c,i.PartialNameNode=p,i.DataNode=l,i.StringNode=u,i.IntegerNode=f,i.BooleanNode=d,i.CommentNode=g},{"../exception":12}],8:[function(t,e,i){"use strict";function n(){}function s(t,e){if(null==t||"string"!=typeof t&&t.constructor!==c.ProgramNode)throw new o("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+t);e=e||{},"data"in e||(e.data=!0);var i=a(t),s=(new n).compile(i,e);return(new h).compile(s,e)}function r(t,e,i){function s(){var s=a(t),r=(new n).compile(s,e),o=(new h).compile(r,e,void 0,!0);return i.template(o)}if(null==t||"string"!=typeof t&&t.constructor!==c.ProgramNode)throw new o("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+t);e=e||{},"data"in e||(e.data=!0);var r;return function(t,e){return r||(r=s()),r.call(this,t,e)}}var o=t("../exception")["default"],a=t("./base").parse,h=t("./javascript-compiler")["default"],c=t("./ast");i.Compiler=n,n.prototype={compiler:n,disassemble:function(){for(var t,e,i,n=this.opcodes,s=[],r=0,o=n.length;o>r;r++)if(t=n[r],"DECLARE"===t.opcode)s.push("DECLARE "+t.name+"="+t.value);else{e=[];for(var a=0;t.args.length>a;a++)i=t.args[a],"string"==typeof i&&(i='"'+i.replace("\n","\\n")+'"'),e.push(i);s.push(t.opcode+" "+e.join(" "))}return s.join("\n")},equals:function(t){var e=this.opcodes.length;if(t.opcodes.length!==e)return!1;for(var i=0;e>i;i++){var n=this.opcodes[i],s=t.opcodes[i];if(n.opcode!==s.opcode||n.args.length!==s.args.length)return!1;for(var r=0;n.args.length>r;r++)if(n.args[r]!==s.args[r])return!1}if(e=this.children.length,t.children.length!==e)return!1;for(i=0;e>i;i++)if(!this.children[i].equals(t.children[i]))return!1;return!0},guid:0,compile:function(t,e){this.opcodes=[],this.children=[],this.depths={list:[]},this.options=e;var i=this.options.knownHelpers;if(this.options.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0},i)for(var n in i)this.options.knownHelpers[n]=i[n];return this.accept(t)},accept:function(t){var e,i=t.strip||{};return i.left&&this.opcode("strip"),e=this[t.type](t),i.right&&this.opcode("strip"),e},program:function(t){for(var e=t.statements,i=0,n=e.length;n>i;i++)this.accept(e[i]);return this.isSimple=1===n,this.depths.list=this.depths.list.sort(function(t,e){return t-e}),this},compileProgram:function(t){var e,i=(new this.compiler).compile(t,this.options),n=this.guid++;this.usePartial=this.usePartial||i.usePartial,this.children[n]=i;for(var s=0,r=i.depths.list.length;r>s;s++)e=i.depths.list[s],2>e||this.addDepth(e-1);return n},block:function(t){var e=t.mustache,i=t.program,n=t.inverse;i&&(i=this.compileProgram(i)),n&&(n=this.compileProgram(n));var s=this.classifyMustache(e);"helper"===s?this.helperMustache(e,i,n):"simple"===s?(this.simpleMustache(e),this.opcode("pushProgram",i),this.opcode("pushProgram",n),this.opcode("emptyHash"),this.opcode("blockValue")):(this.ambiguousMustache(e,i,n),this.opcode("pushProgram",i),this.opcode("pushProgram",n),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},hash:function(t){var e,i,n=t.pairs;this.opcode("pushHash");for(var s=0,r=n.length;r>s;s++)e=n[s],i=e[1],this.options.stringParams?(i.depth&&this.addDepth(i.depth),this.opcode("getContext",i.depth||0),this.opcode("pushStringParam",i.stringModeValue,i.type)):this.accept(i),this.opcode("assignToHash",e[0]);this.opcode("popHash")},partial:function(t){var e=t.partialName;this.usePartial=!0,t.context?this.ID(t.context):this.opcode("push","depth0"),this.opcode("invokePartial",e.name),this.opcode("append")},content:function(t){this.opcode("appendContent",t.string)},mustache:function(t){var e=this.options,i=this.classifyMustache(t);"simple"===i?this.simpleMustache(t):"helper"===i?this.helperMustache(t):this.ambiguousMustache(t),t.escaped&&!e.noEscape?this.opcode("appendEscaped"):this.opcode("append")},ambiguousMustache:function(t,e,i){var n=t.id,s=n.parts[0],r=null!=e||null!=i;this.opcode("getContext",n.depth),this.opcode("pushProgram",e),this.opcode("pushProgram",i),this.opcode("invokeAmbiguous",s,r)},simpleMustache:function(t){var e=t.id;"DATA"===e.type?this.DATA(e):e.parts.length?this.ID(e):(this.addDepth(e.depth),this.opcode("getContext",e.depth),this.opcode("pushContext")),this.opcode("resolvePossibleLambda")},helperMustache:function(t,e,i){var n=this.setupFullMustacheParams(t,e,i),s=t.id.parts[0];if(this.options.knownHelpers[s])this.opcode("invokeKnownHelper",n.length,s);else{if(this.options.knownHelpersOnly)throw Error("You specified knownHelpersOnly, but used the unknown helper "+s);this.opcode("invokeHelper",n.length,s)}},ID:function(t){this.addDepth(t.depth),this.opcode("getContext",t.depth);var e=t.parts[0];e?this.opcode("lookupOnContext",t.parts[0]):this.opcode("pushContext");for(var i=1,n=t.parts.length;n>i;i++)this.opcode("lookup",t.parts[i])},DATA:function(t){if(this.options.data=!0,t.id.isScoped||t.id.depth)throw new o("Scoped data references are not supported: "+t.original);this.opcode("lookupData");for(var e=t.id.parts,i=0,n=e.length;n>i;i++)this.opcode("lookup",e[i])},STRING:function(t){this.opcode("pushString",t.string)},INTEGER:function(t){this.opcode("pushLiteral",t.integer)},BOOLEAN:function(t){this.opcode("pushLiteral",t.bool)},comment:function(){},opcode:function(t){this.opcodes.push({opcode:t,args:[].slice.call(arguments,1)})},declare:function(t,e){this.opcodes.push({opcode:"DECLARE",name:t,value:e})},addDepth:function(t){if(isNaN(t))throw Error("EWOT");0!==t&&(this.depths[t]||(this.depths[t]=!0,this.depths.list.push(t)))},classifyMustache:function(t){var e=t.isHelper,i=t.eligibleHelper,n=this.options;if(i&&!e){var s=t.id.parts[0];n.knownHelpers[s]?e=!0:n.knownHelpersOnly&&(i=!1)}return e?"helper":i?"ambiguous":"simple"},pushParams:function(t){for(var e,i=t.length;i--;)e=t[i],this.options.stringParams?(e.depth&&this.addDepth(e.depth),this.opcode("getContext",e.depth||0),this.opcode("pushStringParam",e.stringModeValue,e.type)):this[e.type](e)},setupMustacheParams:function(t){var e=t.params;return this.pushParams(e),t.hash?this.hash(t.hash):this.opcode("emptyHash"),e},setupFullMustacheParams:function(t,e,i){var n=t.params;return this.pushParams(n),this.opcode("pushProgram",e),this.opcode("pushProgram",i),t.hash?this.hash(t.hash):this.opcode("emptyHash"),n}},i.precompile=s,i.compile=r},{"../exception":12,"./base":6,"./javascript-compiler":9,"./ast":7}],9:[function(t,e,i){"use strict";function n(t){this.value=t}function s(){}var r=t("../base").COMPILER_REVISION,o=t("../base").REVISION_CHANGES,a=t("../base").log;s.prototype={nameLookup:function(t,e){var i,n;return 0===t.indexOf("depth")&&(i=!0),n=/^[0-9]+$/.test(e)?t+"["+e+"]":s.isValidJavaScriptVariableName(e)?t+"."+e:t+"['"+e+"']",i?"("+t+" && "+n+")":n},appendToBuffer:function(t){return this.environment.isSimple?"return "+t+";":{appendToBuffer:!0,content:t,toString:function(){return"buffer += "+t+";"}}},initializeBuffer:function(){return this.quotedString("")},namespace:"Handlebars",compile:function(t,e,i,n){this.environment=t,this.options=e||{},a("debug",this.environment.disassemble()+"\n\n"),this.name=this.environment.name,this.isChild=!!i,this.context=i||{programs:[],environments:[],aliases:{}},this.preamble(),this.stackSlot=0,this.stackVars=[],this.registers={list:[]},this.compileStack=[],this.inlineStack=[],this.compileChildren(t,e);var s,r=t.opcodes;this.i=0;for(var o=r.length;o>this.i;this.i++)s=r[this.i],"DECLARE"===s.opcode?this[s.name]=s.value:this[s.opcode].apply(this,s.args),s.opcode!==this.stripNext&&(this.stripNext=!1);return this.pushSource(""),this.createFunctionContext(n)},preamble:function(){var t=[];if(this.isChild)t.push("");else{var e=this.namespace,i="helpers = this.merge(helpers, "+e+".helpers);";this.environment.usePartial&&(i=i+" partials = this.merge(partials, "+e+".partials);"),this.options.data&&(i+=" data = data || {};"),t.push(i)}this.environment.isSimple?t.push(""):t.push(", buffer = "+this.initializeBuffer()),this.lastContext=0,this.source=t},createFunctionContext:function(t){var e=this.stackVars.concat(this.registers.list);if(e.length>0&&(this.source[1]=this.source[1]+", "+e.join(", ")),!this.isChild)for(var i in this.context.aliases)this.context.aliases.hasOwnProperty(i)&&(this.source[1]=this.source[1]+", "+i+"="+this.context.aliases[i]);this.source[1]&&(this.source[1]="var "+this.source[1].substring(2)+";"),this.isChild||(this.source[1]+="\n"+this.context.programs.join("\n")+"\n"),this.environment.isSimple||this.pushSource("return buffer;");for(var n=this.isChild?["depth0","data"]:["Handlebars","depth0","helpers","partials","data"],s=0,h=this.environment.depths.list.length;h>s;s++)n.push("depth"+this.environment.depths.list[s]);var c=this.mergeSource();if(!this.isChild){var p=r,l=o[p];c="this.compilerInfo = ["+p+",'"+l+"'];\n"+c}if(t)return n.push(c),Function.apply(this,n);var u="function "+(this.name||"")+"("+n.join(",")+") {\n "+c+"}";return a("debug",u+"\n\n"),u},mergeSource:function(){for(var t,e="",i=0,n=this.source.length;n>i;i++){var s=this.source[i];s.appendToBuffer?t=t?t+"\n + "+s.content:s.content:(t&&(e+="buffer += "+t+";\n ",t=void 0),e+=s+"\n ")}return e},blockValue:function(){this.context.aliases.blockHelperMissing="helpers.blockHelperMissing";var t=["depth0"];this.setupParams(0,t),this.replaceStack(function(e){return t.splice(1,0,e),"blockHelperMissing.call("+t.join(", ")+")"})},ambiguousBlockValue:function(){this.context.aliases.blockHelperMissing="helpers.blockHelperMissing";var t=["depth0"];this.setupParams(0,t);var e=this.topStack();t.splice(1,0,e),t[t.length-1]="options",this.pushSource("if (!"+this.lastHelper+") { "+e+" = blockHelperMissing.call("+t.join(", ")+"); }")},appendContent:function(t){this.pendingContent&&(t=this.pendingContent+t),this.stripNext&&(t=t.replace(/^\s+/,"")),this.pendingContent=t},strip:function(){this.pendingContent&&(this.pendingContent=this.pendingContent.replace(/\s+$/,"")),this.stripNext="strip"},append:function(){this.flushInline();var t=this.popStack();this.pushSource("if("+t+" || "+t+" === 0) { "+this.appendToBuffer(t)+" }"),this.environment.isSimple&&this.pushSource("else { "+this.appendToBuffer("''")+" }")},appendEscaped:function(){this.context.aliases.escapeExpression="this.escapeExpression",this.pushSource(this.appendToBuffer("escapeExpression("+this.popStack()+")"))},getContext:function(t){this.lastContext!==t&&(this.lastContext=t)},lookupOnContext:function(t){this.push(this.nameLookup("depth"+this.lastContext,t,"context"))},pushContext:function(){this.pushStackLiteral("depth"+this.lastContext)},resolvePossibleLambda:function(){this.context.aliases.functionType='"function"',this.replaceStack(function(t){return"typeof "+t+" === functionType ? "+t+".apply(depth0) : "+t})},lookup:function(t){this.replaceStack(function(e){return e+" == null || "+e+" === false ? "+e+" : "+this.nameLookup(e,t,"context")})},lookupData:function(){this.push("data")},pushStringParam:function(t,e){this.pushStackLiteral("depth"+this.lastContext),this.pushString(e),"string"==typeof t?this.pushString(t):this.pushStackLiteral(t)},emptyHash:function(){this.pushStackLiteral("{}"),this.options.stringParams&&(this.register("hashTypes","{}"),this.register("hashContexts","{}"))},pushHash:function(){this.hash={values:[],types:[],contexts:[]}},popHash:function(){var t=this.hash;this.hash=void 0,this.options.stringParams&&(this.register("hashContexts","{"+t.contexts.join(",")+"}"),this.register("hashTypes","{"+t.types.join(",")+"}")),this.push("{\n "+t.values.join(",\n ")+"\n }")},pushString:function(t){this.pushStackLiteral(this.quotedString(t))},push:function(t){return this.inlineStack.push(t),t},pushLiteral:function(t){this.pushStackLiteral(t)},pushProgram:function(t){null!=t?this.pushStackLiteral(this.programExpression(t)):this.pushStackLiteral(null)},invokeHelper:function(t,e){this.context.aliases.helperMissing="helpers.helperMissing";var i=this.lastHelper=this.setupHelper(t,e,!0),n=this.nameLookup("depth"+this.lastContext,e,"context");this.push(i.name+" || "+n),this.replaceStack(function(t){return t+" ? "+t+".call("+i.callParams+") "+": helperMissing.call("+i.helperMissingParams+")"})},invokeKnownHelper:function(t,e){var i=this.setupHelper(t,e);this.push(i.name+".call("+i.callParams+")")},invokeAmbiguous:function(t,e){this.context.aliases.functionType='"function"',this.pushStackLiteral("{}");var i=this.setupHelper(0,t,e),n=this.lastHelper=this.nameLookup("helpers",t,"helper"),s=this.nameLookup("depth"+this.lastContext,t,"context"),r=this.nextStack();this.pushSource("if ("+r+" = "+n+") { "+r+" = "+r+".call("+i.callParams+"); }"),this.pushSource("else { "+r+" = "+s+"; "+r+" = typeof "+r+" === functionType ? "+r+".call("+i.callParams+") : "+r+"; }")},invokePartial:function(t){var e=[this.nameLookup("partials",t,"partial"),"'"+t+"'",this.popStack(),"helpers","partials"];this.options.data&&e.push("data"),this.context.aliases.self="this",this.push("self.invokePartial("+e.join(", ")+")")},assignToHash:function(t){var e,i,n=this.popStack();this.options.stringParams&&(i=this.popStack(),e=this.popStack());var s=this.hash;e&&s.contexts.push("'"+t+"': "+e),i&&s.types.push("'"+t+"': "+i),s.values.push("'"+t+"': ("+n+")")},compiler:s,compileChildren:function(t,e){for(var i,n,s=t.children,r=0,o=s.length;o>r;r++){i=s[r],n=new this.compiler;var a=this.matchExistingProgram(i);null==a?(this.context.programs.push(""),a=this.context.programs.length,i.index=a,i.name="program"+a,this.context.programs[a]=n.compile(i,e,this.context),this.context.environments[a]=i):(i.index=a,i.name="program"+a)}},matchExistingProgram:function(t){for(var e=0,i=this.context.environments.length;i>e;e++){var n=this.context.environments[e];if(n&&n.equals(t))return e}},programExpression:function(t){if(this.context.aliases.self="this",null==t)return"self.noop";for(var e,i=this.environment.children[t],n=i.depths.list,s=[i.index,i.name,"data"],r=0,o=n.length;o>r;r++)e=n[r],1===e?s.push("depth0"):s.push("depth"+(e-1));return(0===n.length?"self.program(":"self.programWithDepth(")+s.join(", ")+")"},register:function(t,e){this.useRegister(t),this.pushSource(t+" = "+e+";")},useRegister:function(t){this.registers[t]||(this.registers[t]=!0,this.registers.list.push(t))},pushStackLiteral:function(t){return this.push(new n(t))},pushSource:function(t){this.pendingContent&&(this.source.push(this.appendToBuffer(this.quotedString(this.pendingContent))),this.pendingContent=void 0),t&&this.source.push(t)},pushStack:function(t){this.flushInline();var e=this.incrStack();return t&&this.pushSource(e+" = "+t+";"),this.compileStack.push(e),e},replaceStack:function(t){var e,i="",s=this.isInline();if(s){var r=this.popStack(!0);if(r instanceof n)e=r.value;else{var o=this.stackSlot?this.topStackName():this.incrStack();i="("+this.push(o)+" = "+r+"),",e=this.topStack()}}else e=this.topStack();var a=t.call(this,e);return s?((this.inlineStack.length||this.compileStack.length)&&this.popStack(),this.push("("+i+a+")")):(/^stack/.test(e)||(e=this.nextStack()),this.pushSource(e+" = ("+i+a+");")),e},nextStack:function(){return this.pushStack()},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var t=this.inlineStack;if(t.length){this.inlineStack=[];for(var e=0,i=t.length;i>e;e++){var s=t[e];s instanceof n?this.compileStack.push(s):this.pushStack(s)}}},isInline:function(){return this.inlineStack.length},popStack:function(t){var e=this.isInline(),i=(e?this.inlineStack:this.compileStack).pop();return!t&&i instanceof n?i.value:(e||this.stackSlot--,i)},topStack:function(t){var e=this.isInline()?this.inlineStack:this.compileStack,i=e[e.length-1];return!t&&i instanceof n?i.value:i},quotedString:function(t){return'"'+t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},setupHelper:function(t,e,i){var n=[];this.setupParams(t,n,i);var s=this.nameLookup("helpers",e,"helper");return{params:n,name:s,callParams:["depth0"].concat(n).join(", "),helperMissingParams:i&&["depth0",this.quotedString(e)].concat(n).join(", ")}},setupParams:function(t,e,i){var n,s,r,o=[],a=[],h=[];o.push("hash:"+this.popStack()),s=this.popStack(),r=this.popStack(),(r||s)&&(r||(this.context.aliases.self="this",r="self.noop"),s||(this.context.aliases.self="this",s="self.noop"),o.push("inverse:"+s),o.push("fn:"+r));for(var c=0;t>c;c++)n=this.popStack(),e.push(n),this.options.stringParams&&(h.push(this.popStack()),a.push(this.popStack()));return this.options.stringParams&&(o.push("contexts:["+a.join(",")+"]"),o.push("types:["+h.join(",")+"]"),o.push("hashContexts:hashContexts"),o.push("hashTypes:hashTypes")),this.options.data&&o.push("data:data"),o="{"+o.join(",")+"}",i?(this.register("options",o),e.push("options")):e.push(o),e.join(", ")}};for(var h="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield".split(" "),c=s.RESERVED_WORDS={},p=0,l=h.length;l>p;p++)c[h[p]]=!0;s.isValidJavaScriptVariableName=function(t){return!s.RESERVED_WORDS[t]&&/^[a-zA-Z_$][0-9a-zA-Z_$]+$/.test(t)?!0:!1},i["default"]=s},{"../base":10}],11:[function(t,e,i){"use strict";function n(t){this.string=t}n.prototype.toString=function(){return""+this.string},i["default"]=n},{}],12:[function(t,e,i){"use strict";function n(){for(var t=Error.prototype.constructor.apply(this,arguments),e=0;s.length>e;e++)this[s[e]]=t[s[e]]}var s=["description","fileName","lineNumber","message","name","number","stack"];n.prototype=Error(),i["default"]=n},{}],15:[function(t,e,i){"use strict";var n=function(){function t(t,e){return{left:"~"===t[2],right:"~"===e[0]||"~"===e[1]}}function e(){this.yy={}}var i={trace:function(){},yy:{},symbols_:{error:2,root:3,statements:4,EOF:5,program:6,simpleInverse:7,statement:8,openInverse:9,closeBlock:10,openBlock:11,mustache:12,partial:13,CONTENT:14,COMMENT:15,OPEN_BLOCK:16,inMustache:17,CLOSE:18,OPEN_INVERSE:19,OPEN_ENDBLOCK:20,path:21,OPEN:22,OPEN_UNESCAPED:23,CLOSE_UNESCAPED:24,OPEN_PARTIAL:25,partialName:26,partial_option0:27,inMustache_repetition0:28,inMustache_option0:29,dataName:30,param:31,STRING:32,INTEGER:33,BOOLEAN:34,hash:35,hash_repetition_plus0:36,hashSegment:37,ID:38,EQUALS:39,DATA:40,pathSegments:41,SEP:42,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"CONTENT",15:"COMMENT",16:"OPEN_BLOCK",18:"CLOSE",19:"OPEN_INVERSE",20:"OPEN_ENDBLOCK",22:"OPEN",23:"OPEN_UNESCAPED",24:"CLOSE_UNESCAPED",25:"OPEN_PARTIAL",32:"STRING",33:"INTEGER",34:"BOOLEAN",38:"ID",39:"EQUALS",40:"DATA",42:"SEP"},productions_:[0,[3,2],[3,1],[6,2],[6,3],[6,2],[6,1],[6,1],[6,0],[4,1],[4,2],[8,3],[8,3],[8,1],[8,1],[8,1],[8,1],[11,3],[9,3],[10,3],[12,3],[12,3],[13,4],[7,2],[17,3],[17,1],[31,1],[31,1],[31,1],[31,1],[31,1],[35,1],[37,3],[26,1],[26,1],[26,1],[30,2],[21,1],[41,3],[41,1],[27,0],[27,1],[28,0],[28,2],[29,0],[29,1],[36,1],[36,2]],performAction:function(e,i,n,s,r,o){var a=o.length-1;switch(r){case 1:return new s.ProgramNode(o[a-1]);case 2:return new s.ProgramNode([]);case 3:this.$=new s.ProgramNode([],o[a-1],o[a]);break;case 4:this.$=new s.ProgramNode(o[a-2],o[a-1],o[a]);break;case 5:this.$=new s.ProgramNode(o[a-1],o[a],[]);break;case 6:this.$=new s.ProgramNode(o[a]);break;case 7:this.$=new s.ProgramNode([]);break;case 8:this.$=new s.ProgramNode([]);break;case 9:this.$=[o[a]];break;case 10:o[a-1].push(o[a]),this.$=o[a-1];break;case 11:this.$=new s.BlockNode(o[a-2],o[a-1].inverse,o[a-1],o[a]);break;case 12:this.$=new s.BlockNode(o[a-2],o[a-1],o[a-1].inverse,o[a]);break;case 13:this.$=o[a];break;case 14:this.$=o[a];break;case 15:this.$=new s.ContentNode(o[a]);break;case 16:this.$=new s.CommentNode(o[a]);break;case 17:this.$=new s.MustacheNode(o[a-1][0],o[a-1][1],o[a-2],t(o[a-2],o[a]));break;case 18:this.$=new s.MustacheNode(o[a-1][0],o[a-1][1],o[a-2],t(o[a-2],o[a]));break;case 19:this.$={path:o[a-1],strip:t(o[a-2],o[a])};break;case 20:this.$=new s.MustacheNode(o[a-1][0],o[a-1][1],o[a-2],t(o[a-2],o[a]));break;case 21:this.$=new s.MustacheNode(o[a-1][0],o[a-1][1],o[a-2],t(o[a-2],o[a]));break;case 22:this.$=new s.PartialNode(o[a-2],o[a-1],t(o[a-3],o[a]));break;case 23:this.$=t(o[a-1],o[a]);break;case 24:this.$=[[o[a-2]].concat(o[a-1]),o[a]];break;case 25:this.$=[[o[a]],null];break;case 26:this.$=o[a];break;case 27:this.$=new s.StringNode(o[a]);break;case 28:this.$=new s.IntegerNode(o[a]);break;case 29:this.$=new s.BooleanNode(o[a]);break;case 30:this.$=o[a];break;case 31:this.$=new s.HashNode(o[a]);break;case 32:this.$=[o[a-2],o[a]];break;case 33:this.$=new s.PartialNameNode(o[a]);break;case 34:this.$=new s.PartialNameNode(new s.StringNode(o[a]));break;case 35:this.$=new s.PartialNameNode(new s.IntegerNode(o[a]));break;case 36:this.$=new s.DataNode(o[a]);break;case 37:this.$=new s.IdNode(o[a]);break;case 38:o[a-2].push({part:o[a],separator:o[a-1]}),this.$=o[a-2];break;case 39:this.$=[{part:o[a]}];break;case 42:this.$=[];break;case 43:o[a-1].push(o[a]);break;case 46:this.$=[o[a]];break;case 47:o[a-1].push(o[a])}},table:[{3:1,4:2,5:[1,3],8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[3]},{5:[1,16],8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[2,2]},{5:[2,9],14:[2,9],15:[2,9],16:[2,9],19:[2,9],20:[2,9],22:[2,9],23:[2,9],25:[2,9]},{4:20,6:18,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{4:20,6:22,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{5:[2,13],14:[2,13],15:[2,13],16:[2,13],19:[2,13],20:[2,13],22:[2,13],23:[2,13],25:[2,13]},{5:[2,14],14:[2,14],15:[2,14],16:[2,14],19:[2,14],20:[2,14],22:[2,14],23:[2,14],25:[2,14]},{5:[2,15],14:[2,15],15:[2,15],16:[2,15],19:[2,15],20:[2,15],22:[2,15],23:[2,15],25:[2,15]},{5:[2,16],14:[2,16],15:[2,16],16:[2,16],19:[2,16],20:[2,16],22:[2,16],23:[2,16],25:[2,16]},{17:23,21:24,30:25,38:[1,28],40:[1,27],41:26},{17:29,21:24,30:25,38:[1,28],40:[1,27],41:26},{17:30,21:24,30:25,38:[1,28],40:[1,27],41:26},{17:31,21:24,30:25,38:[1,28],40:[1,27],41:26},{21:33,26:32,32:[1,34],33:[1,35],38:[1,28],41:26},{1:[2,1]},{5:[2,10],14:[2,10],15:[2,10],16:[2,10],19:[2,10],20:[2,10],22:[2,10],23:[2,10],25:[2,10]},{10:36,20:[1,37]},{4:38,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,7],22:[1,13],23:[1,14],25:[1,15]},{7:39,8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,6],22:[1,13],23:[1,14],25:[1,15]},{17:23,18:[1,40],21:24,30:25,38:[1,28],40:[1,27],41:26},{10:41,20:[1,37]},{18:[1,42]},{18:[2,42],24:[2,42],28:43,32:[2,42],33:[2,42],34:[2,42],38:[2,42],40:[2,42]},{18:[2,25],24:[2,25]},{18:[2,37],24:[2,37],32:[2,37],33:[2,37],34:[2,37],38:[2,37],40:[2,37],42:[1,44]},{21:45,38:[1,28],41:26},{18:[2,39],24:[2,39],32:[2,39],33:[2,39],34:[2,39],38:[2,39],40:[2,39],42:[2,39]},{18:[1,46]},{18:[1,47]},{24:[1,48]},{18:[2,40],21:50,27:49,38:[1,28],41:26},{18:[2,33],38:[2,33]},{18:[2,34],38:[2,34]},{18:[2,35],38:[2,35]},{5:[2,11],14:[2,11],15:[2,11],16:[2,11],19:[2,11],20:[2,11],22:[2,11],23:[2,11],25:[2,11]},{21:51,38:[1,28],41:26},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,3],22:[1,13],23:[1,14],25:[1,15]},{4:52,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,5],22:[1,13],23:[1,14],25:[1,15]},{14:[2,23],15:[2,23],16:[2,23],19:[2,23],20:[2,23],22:[2,23],23:[2,23],25:[2,23]},{5:[2,12],14:[2,12],15:[2,12],16:[2,12],19:[2,12],20:[2,12],22:[2,12],23:[2,12],25:[2,12]},{14:[2,18],15:[2,18],16:[2,18],19:[2,18],20:[2,18],22:[2,18],23:[2,18],25:[2,18]},{18:[2,44],21:56,24:[2,44],29:53,30:60,31:54,32:[1,57],33:[1,58],34:[1,59],35:55,36:61,37:62,38:[1,63],40:[1,27],41:26},{38:[1,64]},{18:[2,36],24:[2,36],32:[2,36],33:[2,36],34:[2,36],38:[2,36],40:[2,36]},{14:[2,17],15:[2,17],16:[2,17],19:[2,17],20:[2,17],22:[2,17],23:[2,17],25:[2,17]},{5:[2,20],14:[2,20],15:[2,20],16:[2,20],19:[2,20],20:[2,20],22:[2,20],23:[2,20],25:[2,20]},{5:[2,21],14:[2,21],15:[2,21],16:[2,21],19:[2,21],20:[2,21],22:[2,21],23:[2,21],25:[2,21]},{18:[1,65]},{18:[2,41]},{18:[1,66]},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,4],22:[1,13],23:[1,14],25:[1,15]},{18:[2,24],24:[2,24]},{18:[2,43],24:[2,43],32:[2,43],33:[2,43],34:[2,43],38:[2,43],40:[2,43]},{18:[2,45],24:[2,45]},{18:[2,26],24:[2,26],32:[2,26],33:[2,26],34:[2,26],38:[2,26],40:[2,26]},{18:[2,27],24:[2,27],32:[2,27],33:[2,27],34:[2,27],38:[2,27],40:[2,27]},{18:[2,28],24:[2,28],32:[2,28],33:[2,28],34:[2,28],38:[2,28],40:[2,28]},{18:[2,29],24:[2,29],32:[2,29],33:[2,29],34:[2,29],38:[2,29],40:[2,29]},{18:[2,30],24:[2,30],32:[2,30],33:[2,30],34:[2,30],38:[2,30],40:[2,30]},{18:[2,31],24:[2,31],37:67,38:[1,68]},{18:[2,46],24:[2,46],38:[2,46]},{18:[2,39],24:[2,39],32:[2,39],33:[2,39],34:[2,39],38:[2,39],39:[1,69],40:[2,39],42:[2,39]},{18:[2,38],24:[2,38],32:[2,38],33:[2,38],34:[2,38],38:[2,38],40:[2,38],42:[2,38]},{5:[2,22],14:[2,22],15:[2,22],16:[2,22],19:[2,22],20:[2,22],22:[2,22],23:[2,22],25:[2,22]},{5:[2,19],14:[2,19],15:[2,19],16:[2,19],19:[2,19],20:[2,19],22:[2,19],23:[2,19],25:[2,19]},{18:[2,47],24:[2,47],38:[2,47]},{39:[1,69]},{21:56,30:60,31:70,32:[1,57],33:[1,58],34:[1,59],38:[1,28],40:[1,27],41:26},{18:[2,32],24:[2,32],38:[2,32]}],defaultActions:{3:[2,2],16:[2,1],50:[2,41]},parseError:function(t){throw Error(t)
},parse:function(t){function e(){var t;return t=i.lexer.lex()||1,"number"!=typeof t&&(t=i.symbols_[t]||t),t}var i=this,n=[0],s=[null],r=[],o=this.table,a="",h=0,c=0,p=0;this.lexer.setInput(t),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,this.lexer.yylloc===void 0&&(this.lexer.yylloc={});var l=this.lexer.yylloc;r.push(l);var u=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var f,d,g,m,v,y,b,k,x,S={};;){if(g=n[n.length-1],this.defaultActions[g]?m=this.defaultActions[g]:((null===f||f===void 0)&&(f=e()),m=o[g]&&o[g][f]),m===void 0||!m.length||!m[0]){var E="";if(!p){x=[];for(y in o[g])this.terminals_[y]&&y>2&&x.push("'"+this.terminals_[y]+"'");E=this.lexer.showPosition?"Parse error on line "+(h+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+x.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(E,{text:this.lexer.match,token:this.terminals_[f]||f,line:this.lexer.yylineno,loc:l,expected:x})}}if(m[0]instanceof Array&&m.length>1)throw Error("Parse Error: multiple actions possible at state: "+g+", token: "+f);switch(m[0]){case 1:n.push(f),s.push(this.lexer.yytext),r.push(this.lexer.yylloc),n.push(m[1]),f=null,d?(f=d,d=null):(c=this.lexer.yyleng,a=this.lexer.yytext,h=this.lexer.yylineno,l=this.lexer.yylloc,p>0&&p--);break;case 2:if(b=this.productions_[m[1]][1],S.$=s[s.length-b],S._$={first_line:r[r.length-(b||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(b||1)].first_column,last_column:r[r.length-1].last_column},u&&(S._$.range=[r[r.length-(b||1)].range[0],r[r.length-1].range[1]]),v=this.performAction.call(S,a,c,h,this.yy,m[1],s,r),v!==void 0)return v;b&&(n=n.slice(0,2*-1*b),s=s.slice(0,-1*b),r=r.slice(0,-1*b)),n.push(this.productions_[m[1]][0]),s.push(S.$),r.push(S._$),k=o[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},n=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw Error(t);this.yy.parser.parseError(t,e)},setInput:function(t){return this._input=t,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e-1),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this},more:function(){return this._more=!0,this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return 20>t.length&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,i,n,s;this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),o=0;r.length>o&&(i=this._input.match(this.rules[r[o]]),!i||e&&!(i[0].length>e[0].length)||(e=i,n=o,this.options.flex));o++);return e?(s=e[0].match(/(?:\r\n?|\n).*/g),s&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],t=this.performAction.call(this,this.yy,this,r[n],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),t?t:void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t!==void 0?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(t){this.begin(t)}};return t.options={},t.performAction=function(t,e,i,n){function s(t,i){return e.yytext=e.yytext.substr(t,e.yyleng-i)}switch(i){case 0:if("\\\\"===e.yytext.slice(-2)?(s(0,1),this.begin("mu")):"\\"===e.yytext.slice(-1)?(s(0,1),this.begin("emu")):this.begin("mu"),e.yytext)return 14;break;case 1:return 14;case 2:return"\\"!==e.yytext.slice(-1)&&this.popState(),"\\"===e.yytext.slice(-1)&&s(0,1),14;case 3:return s(0,4),this.popState(),15;case 4:return 25;case 5:return 16;case 6:return 20;case 7:return 19;case 8:return 19;case 9:return 23;case 10:return 22;case 11:this.popState(),this.begin("com");break;case 12:return s(3,5),this.popState(),15;case 13:return 22;case 14:return 39;case 15:return 38;case 16:return 38;case 17:return 42;case 18:break;case 19:return this.popState(),24;case 20:return this.popState(),18;case 21:return e.yytext=s(1,2).replace(/\\"/g,'"'),32;case 22:return e.yytext=s(1,2).replace(/\\'/g,"'"),32;case 23:return 40;case 24:return 34;case 25:return 34;case 26:return 33;case 27:return 38;case 28:return e.yytext=s(1,2),38;case 29:return"INVALID";case 30:return 5}},t.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s])))/,/^(?:false(?=([~}\s])))/,/^(?:-?[0-9]+(?=([~}\s])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/],t.conditions={mu:{rules:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[3],inclusive:!1},INITIAL:{rules:[0,1,30],inclusive:!0}},t}();return i.lexer=n,e.prototype=i,i.Parser=e,new e}();i["default"]=n},{}],10:[function(t,e,i){"use strict";function n(t,e){this.helpers=t||{},this.partials=e||{},s(this)}function s(t){t.registerHelper("helperMissing",function(t){if(2===arguments.length)return void 0;throw Error("Missing helper: '"+t+"'")}),t.registerHelper("blockHelperMissing",function(e,i){var n=i.inverse||function(){},s=i.fn;return u(e)&&(e=e.call(this)),e===!0?s(this):e===!1||null==e?n(this):l(e)?e.length>0?t.helpers.each(e,i):n(this):s(e)}),t.registerHelper("each",function(t,e){var i,n=e.fn,s=e.inverse,r=0,o="";if(u(t)&&(t=t.call(this)),e.data&&(i=m(e.data)),t&&"object"==typeof t)if(l(t))for(var a=t.length;a>r;r++)i&&(i.index=r,i.first=0===r,i.last=r===t.length-1),o+=n(t[r],{data:i});else for(var h in t)t.hasOwnProperty(h)&&(i&&(i.key=h),o+=n(t[h],{data:i}),r++);return 0===r&&(o=s(this)),o}),t.registerHelper("if",function(t,e){return u(t)&&(t=t.call(this)),!e.hash.includeZero&&!t||o.isEmpty(t)?e.inverse(this):e.fn(this)}),t.registerHelper("unless",function(e,i){return t.helpers["if"].call(this,e,{fn:i.inverse,inverse:i.fn,hash:i.hash})}),t.registerHelper("with",function(t,e){return u(t)&&(t=t.call(this)),o.isEmpty(t)?void 0:e.fn(t)}),t.registerHelper("log",function(e,i){var n=i.data&&null!=i.data.level?parseInt(i.data.level,10):1;t.log(n,e)})}function r(t,e){g.log(t,e)}var o=t("./utils"),a=t("./exception")["default"],h="1.1.2";i.VERSION=h;var c=4;i.COMPILER_REVISION=c;var p={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:">= 1.0.0"};i.REVISION_CHANGES=p;var l=o.isArray,u=o.isFunction,f=o.toString,d="[object Object]";i.HandlebarsEnvironment=n,n.prototype={constructor:n,logger:g,log:r,registerHelper:function(t,e,i){if(f.call(t)===d){if(i||e)throw new a("Arg not supported with multiple helpers");o.extend(this.helpers,t)}else i&&(e.not=i),this.helpers[t]=e},registerPartial:function(t,e){f.call(t)===d?o.extend(this.partials,t):this.partials[t]=e}};var g={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:3,log:function(t,e){if(t>=g.level){var i=g.methodMap[t];"undefined"!=typeof console&&console[i]&&console[i].call(console,e)}}};i.logger=g,i.log=r;var m=function(t){var e={};return o.extend(e,t),e};i.createFrame=m},{"./utils":13,"./exception":12}],13:[function(t,e,i){"use strict";function n(t){return h[t]||"&amp;"}function s(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])}function r(t){return t instanceof a?""+t:t||0===t?(t=""+t,p.test(t)?t.replace(c,n):t):""}function o(t){return t||0===t?f(t)&&0===t.length?!0:!1:!0}var a=t("./safe-string")["default"],h={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},c=/[&<>"'`]/g,p=/[&<>"'`]/;i.extend=s;var l=Object.prototype.toString;i.toString=l;var u=function(t){return"function"==typeof t};u(/x/)&&(u=function(t){return"function"==typeof t&&"[object Function]"===l.call(t)});var u;i.isFunction=u;var f=Array.isArray||function(t){return t&&"object"==typeof t?"[object Array]"===l.call(t):!1};i.isArray=f,i.escapeExpression=r,i.isEmpty=o},{"./safe-string":11}],14:[function(t,e,i){(function(){"use strict";function e(t){var e=t&&t[0]||1,i=p;if(e!==i){if(i>e){var n=l[i],s=l[e];throw Error("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+s+").")}throw Error("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}}function n(t,i){if(!i)throw Error("No environment passed to template");var n;n=i.compile?function(t,e,n,s,r,a){var h=o.apply(this,arguments);if(h)return h;var c={helpers:s,partials:r,data:a};return r[e]=i.compile(t,{data:void 0!==a},i),r[e](n,c)}:function(t,e){var i=o.apply(this,arguments);if(i)return i;throw new c("The partial "+e+" could not be compiled when running in runtime-only mode")};var p={escapeExpression:h.escapeExpression,invokePartial:n,programs:[],program:function(t,e,i){var n=this.programs[t];return i?n=r(t,e,i):n||(n=this.programs[t]=r(t,e)),n},merge:function(t,e){var i=t||e;return t&&e&&t!==e&&(i={},h.extend(i,e),h.extend(i,t)),i},programWithDepth:s,noop:a,compilerInfo:null};return function(n,s){s=s||{};var r,o,a=s.partial?s:i;s.partial||(r=s.helpers,o=s.partials);var h=t.call(p,a,n,r,o,s.data);return s.partial||e(p.compilerInfo),h}}function s(t,e,i){var n=Array.prototype.slice.call(arguments,3),s=function(t,s){return s=s||{},e.apply(this,[t,s.data||i].concat(n))};return s.program=t,s.depth=n.length,s}function r(t,e,i){var n=function(t,n){return n=n||{},e(t,n.data||i)};return n.program=t,n.depth=0,n}function o(t,e,i,n,s,r){var o={partial:!0,helpers:n,partials:s,data:r};if(void 0===t)throw new c("The partial "+e+" could not be found");return t instanceof Function?t(i,o):void 0}function a(){return""}var h=t("./utils"),c=t("./exception")["default"],p=t("./base").COMPILER_REVISION,l=t("./base").REVISION_CHANGES;i.template=n,i.programWithDepth=s,i.program=r,i.invokePartial=o,i.noop=a})()},{"./utils":13,"./base":10,"./exception":12}]},{},[]),require=function(t,e,i){function n(i,r){if(!e[i]){if(!t[i]){var o="function"==typeof require&&require;if(!r&&o)return o(i,!0);if(s)return s(i,!0);throw Error("Cannot find module '"+i+"'")}var a=e[i]={exports:{}};t[i][0].call(a.exports,function(e){var s=t[i][1][e];return n(s?s:e)},a,a.exports)}return e[i].exports}for(var s="function"==typeof require&&require,r=0;i.length>r;r++)n(i[r]);return n}({"hogan.js":[function(t,e){e.exports=t("ADzw6P")},{}],ADzw6P:[function(t,e){var i=t("./compiler");i.Template=t("./template").Template,e.exports=i},{"./compiler":1,"./template":2}],1:[function(t,e,i){(function(t){function e(t){"}"===t.n.substr(t.n.length-1)&&(t.n=t.n.substring(0,t.n.length-1))}function i(t){return t.trim?t.trim():t.replace(/^\s*|\s*$/g,"")}function n(t,e,i){if(e.charAt(i)!=t.charAt(0))return!1;for(var n=1,s=t.length;s>n;n++)if(e.charAt(i+n)!=t.charAt(n))return!1;return!0}function s(t,e,i,n){for(var a=[],h=null,c=null;t.length>0;)if(c=t.shift(),"#"==c.tag||"^"==c.tag||r(c,n))i.push(c),c.nodes=s(t,c.tag,i,n),a.push(c);else{if("/"==c.tag){if(0===i.length)throw Error("Closing tag without opener: /"+c.n);if(h=i.pop(),c.n!=h.n&&!o(c.n,h.n,n))throw Error("Nesting error: "+h.n+" vs. "+c.n);return h.end=c.i,a}a.push(c)}if(i.length>0)throw Error("missing closing tag: "+i.pop().n);return a}function r(t,e){for(var i=0,n=e.length;n>i;i++)if(e[i].o==t.n)return t.tag="#",!0}function o(t,e,i){for(var n=0,s=i.length;s>n;n++)if(i[n].c==t&&i[n].o==e)return!0}function a(t){return t.replace(k,"\\\\").replace(v,'\\"').replace(y,"\\n").replace(b,"\\r")}function h(t){return~t.indexOf(".")?"d":"f"}function c(t){for(var e="",i=0,n=t.length;n>i;i++){var s=t[i].tag;"#"==s?e+=p(t[i].nodes,t[i].n,h(t[i].n),t[i].i,t[i].end,t[i].otag+" "+t[i].ctag):"^"==s?e+=l(t[i].nodes,t[i].n,h(t[i].n)):"<"==s||">"==s?e+=u(t[i]):"{"==s||"&"==s?e+=f(t[i].n,h(t[i].n)):"\n"==s?e+=g('"\\n"'+(t.length-1==i?"":" + i")):"_v"==s?e+=d(t[i].n,h(t[i].n)):void 0===s&&(e+=g('"'+a(t[i])+'"'))}return e}function p(t,e,i,n,s,r){return"if(_.s(_."+i+'("'+a(e)+'",c,p,1),'+"c,p,0,"+n+","+s+',"'+r+'")){'+"_.rs(c,p,"+"function(c,p,_){"+c(t)+"});c.pop();}"}function l(t,e,i){return"if(!_.s(_."+i+'("'+a(e)+'",c,p,1),c,p,1,0,0,"")){'+c(t)+"};"}function u(t){return'_.b(_.rp("'+a(t.n)+'",c,p,"'+(t.indent||"")+'"));'}function f(t,e){return"_.b(_.t(_."+e+'("'+a(t)+'",c,p,0)));'}function d(t,e){return"_.b(_.v(_."+e+'("'+a(t)+'",c,p,0)));'}function g(t){return"_.b("+t+");"}var m=/\S/,v=/\"/g,y=/\n/g,b=/\r/g,k=/\\/g,x={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};t.scan=function(t,s){function r(){v.length>0&&(y.push(new String(v)),v="")}function o(){for(var t=!0,e=S;y.length>e;e++)if(t=y[e].tag&&x[y[e].tag]<x._v||!y[e].tag&&null===y[e].match(m),!t)return!1;return t}function a(t,e){if(r(),t&&o())for(var i,n=S;y.length>n;n++)y[n].tag||((i=y[n+1])&&">"==i.tag&&(i.indent=""+y[n]),y.splice(n,1));else e||y.push({tag:"\n"});b=!1,S=y.length}function h(t,e){var n="="+N,s=t.indexOf(n,e),r=i(t.substring(t.indexOf("=",e)+1,s)).split(" ");return E=r[0],N=r[1],s+n.length-1}var c=t.length,p=0,l=1,u=2,f=p,d=null,g=null,v="",y=[],b=!1,k=0,S=0,E="{{",N="}}";for(s&&(s=s.split(" "),E=s[0],N=s[1]),k=0;c>k;k++)f==p?n(E,t,k)?(--k,r(),f=l):"\n"==t.charAt(k)?a(b):v+=t.charAt(k):f==l?(k+=E.length-1,g=x[t.charAt(k+1)],d=g?t.charAt(k+1):"_v","="==d?(k=h(t,k),f=p):(g&&k++,f=u),b=k):n(N,t,k)?(y.push({tag:d,n:i(v),otag:E,ctag:N,i:"/"==d?b-N.length:k+E.length}),v="",k+=N.length-1,f=p,"{"==d&&("}}"==N?k++:e(y[y.length-1]))):v+=t.charAt(k);return a(b,!0),y},t.generate=function(e,i,n){var s='var _=this;_.b(i=i||"");'+c(e)+"return _.fl();";return n.asString?"function(c,p,i){"+s+";}":new t.Template(Function("c","p","i",s),i,t,n)},t.parse=function(t,e,i){return i=i||{},s(t,"",[],i.sectionTags||[])},t.cache={},t.compile=function(t,e){e=e||{};var i=t+"||"+!!e.asString,n=this.cache[i];return n?n:(n=this.generate(this.parse(this.scan(t,e.delimiters),t,e),t,e),this.cache[i]=n)}})(i!==void 0?i:Hogan)},{}],2:[function(t,e,i){var n={};(function(t,e){function i(t){return(null===t||void 0===t?"":t)+""}function n(t){return t=i(t),c.test(t)?t.replace(s,"&amp;").replace(r,"&lt;").replace(o,"&gt;").replace(a,"&#39;").replace(h,"&quot;"):t}t.Template=function(t,i,n,s){this.r=t||this.r,this.c=n,this.options=s,this.text=i||"",this.buf=e?[]:""},t.Template.prototype={r:function(){return""},v:n,t:i,render:function(t,e,i){return this.ri([t],e||{},i)},ri:function(t,e,i){return this.r(t,e,i)},rp:function(t,e,i,n){var s=i[t];return s?(this.c&&"string"==typeof s&&(s=this.c.compile(s,this.options)),s.ri(e,i,n)):""},rs:function(t,e,i){var n=t[t.length-1];if(!p(n))return i(t,e,this),void 0;for(var s=0;n.length>s;s++)t.push(n[s]),i(t,e,this),t.pop()},s:function(t,e,i,n,s,r,o){var a;return p(t)&&0===t.length?!1:("function"==typeof t&&(t=this.ls(t,e,i,n,s,r,o)),a=""===t||!!t,!n&&a&&e&&e.push("object"==typeof t?t:e[e.length-1]),a)},d:function(t,e,i,n){var s=t.split("."),r=this.f(s[0],e,i,n),o=null;if("."===t&&p(e[e.length-2]))return e[e.length-1];for(var a=1;s.length>a;a++)r&&"object"==typeof r&&s[a]in r?(o=r,r=r[s[a]]):r="";return n&&!r?!1:(n||"function"!=typeof r||(e.push(o),r=this.lv(r,e,i),e.pop()),r)},f:function(t,e,i,n){for(var s=!1,r=null,o=!1,a=e.length-1;a>=0;a--)if(r=e[a],r&&"object"==typeof r&&t in r){s=r[t],o=!0;break}return o?(n||"function"!=typeof s||(s=this.lv(s,e,i)),s):n?!1:""},ho:function(t,e,i,n,s){var r=this.c,o=this.options;o.delimiters=s;var n=t.call(e,n);return n=null==n?n+"":""+n,this.b(r.compile(n,o).render(e,i)),!1},b:e?function(t){this.buf.push(t)}:function(t){this.buf+=t},fl:e?function(){var t=this.buf.join("");return this.buf=[],t}:function(){var t=this.buf;return this.buf="",t},ls:function(t,e,i,n,s,r,o){var a=e[e.length-1],h=null;if(!n&&this.c&&t.length>0)return this.ho(t,a,i,this.text.substring(s,r),o);if(h=t.call(a),"function"==typeof h){if(n)return!0;if(this.c)return this.ho(h,a,i,this.text.substring(s,r),o)}return h},lv:function(t,e,n){var s=e[e.length-1],r=t.call(s);return"function"==typeof r&&(r=i(r.call(s)),this.c&&~r.indexOf("{{"))?this.c.compile(r,this.options).render(s,n):i(r)}};var s=/&/g,r=/</g,o=/>/g,a=/\'/g,h=/\"/g,c=/[&<>\"\']/,p=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}})(i!==void 0?i:n)},{}]},{},[]);var hogan=require("hogan.js"),handlebars=require("handlebars"),template="Hello {{name}}";console.log(hogan.compile(template)),console.log(handlebars.compile(template));
<style type='text/css'>html, body { margin: 0; padding: 0; border: 0; }
body, html { height: 100%; width: 100%; }</style>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment