function ambiguousBlockValue() {
	    // We're being a bit cheeky and reusing the options value from the prior exec
	    var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'),
	        params = [this.contextName(0)];
	    this.setupHelperArgs('', 0, params, true);

	    this.flushInline();

	    var current = this.topStack();
	    params.splice(1, 0, current);

	    this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']);
	  }
function ambiguousBlockValue() {
	    
	    var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'),
	        params = [this.contextName(0)];
	    this.setupHelperArgs('', 0, params, true);

	    this.flushInline();

	    var current = this.topStack();
	    params.splice(1, 0, current);

	    this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']);
	  }
function ambiguousBlockValue ( ) { // We're being a bit cheeky and reusing the options value from the prior exec var blockHelperMissing = this . aliasable ( 'helpers.blockHelperMissing' ) , params = [ this . contextName ( 0 ) ] ; this . setupHelperArgs ( '' , 0 , params , true ) ; this . flushInline ( ) ; var current = this . topStack ( ) ; params . splice ( 1 , 0 , current ) ; this . pushSource ( [ 'if (!' , this . lastHelper , ') { ' , current , ' = ' , this . source . functionCall ( blockHelperMissing , 'call' , params ) , '}' ] ) ; }
[ambiguousBlockValue]  On stack, before: hash, inverse, program, value Compiler value, before: lastHelper=value of last found helper, if any On stack, after, if no lastHelper: same as [blockValue] On stack, after, if lastHelper: value
[ ambiguousBlockValue ] On stack before : hash inverse program value Compiler value before : lastHelper = value of last found helper if any On stack after if no lastHelper : same as [ blockValue ] On stack after if lastHelper : value