emblem-source 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. data/dist/emblem.js +709 -499
  2. data/dist/emblem.min.js +2 -2
  3. metadata +2 -2
@@ -340,7 +340,7 @@ Emblem.Parser = (function() {
340
340
 
341
341
  // Make sure a suffix modifier hasn't already been applied.
342
342
  var ch = ret.id.string.charAt(0);
343
- if(!ch.match(/[A-Z]/)) return ret;
343
+ if(!IS_EMBER || !ch.match(/[A-Z]/)) return ret;
344
344
 
345
345
  return unshiftParam(ret, defaultCapitalizedHelper);
346
346
  }
@@ -402,7 +402,7 @@ Emblem.Parser = (function() {
402
402
  mustache.escaped = e;
403
403
  return ret;
404
404
  },
405
- peg$c31 = function(path, tm, params, hash) {
405
+ peg$c31 = function(path, params, hash) {
406
406
  var actualParams = [];
407
407
  var attrs = {};
408
408
  var hasAttrs = false;
@@ -432,43 +432,36 @@ Emblem.Parser = (function() {
432
432
 
433
433
  var mustacheNode = new AST.MustacheNode(actualParams, hash);
434
434
 
435
- if(tm == '!') {
435
+ var tm = path._emblemSuffixModifier;
436
+ if(tm === '!') {
436
437
  return unshiftParam(mustacheNode, 'unbound');
437
- } else if(tm == '?') {
438
+ } else if(tm === '?') {
438
439
  return unshiftParam(mustacheNode, 'if');
439
- } else if(tm == '^') {
440
+ } else if(tm === '^') {
440
441
  return unshiftParam(mustacheNode, 'unless');
441
442
  }
442
443
 
443
444
  return mustacheNode;
444
445
  },
445
- peg$c32 = function(p, m) {
446
- var ret = new String(p);
447
- ret.trailingModifier = m;
448
- return ret;
449
- },
450
- peg$c33 = function(t) { return ['tagName', t]; },
451
- peg$c34 = function(i) { return ['elementId', i]; },
452
- peg$c35 = function(c) { return ['class', c]; },
453
- peg$c36 = function(id, classes) { return [id, classes]; },
454
- peg$c37 = function(classes) { return [null, classes]; },
455
- peg$c38 = function(h) { return h; },
456
- peg$c39 = "TrailingModifier",
457
- peg$c40 = /^[!?*\^]/,
458
- peg$c41 = "[!?*\\^]",
459
- peg$c42 = function(h) { return new AST.HashNode(h); },
460
- peg$c43 = "PathIdent",
461
- peg$c44 = "..",
462
- peg$c45 = "\"..\"",
463
- peg$c46 = ".",
464
- peg$c47 = "\".\"",
465
- peg$c48 = /^[a-zA-Z0-9_$\-]/,
466
- peg$c49 = "[a-zA-Z0-9_$\\-]",
467
- peg$c50 = function(s) { return s; },
468
- peg$c51 = "Key",
469
- peg$c52 = function(h) { return [h[0], h[2]]; },
470
- peg$c53 = function(p) { return p; },
471
- peg$c54 = function(first, tail) {
446
+ peg$c32 = function(t) { return ['tagName', t]; },
447
+ peg$c33 = function(i) { return ['elementId', i]; },
448
+ peg$c34 = function(c) { return ['class', c]; },
449
+ peg$c35 = function(id, classes) { return [id, classes]; },
450
+ peg$c36 = function(classes) { return [null, classes]; },
451
+ peg$c37 = function(h) { return h; },
452
+ peg$c38 = function(h) { return new AST.HashNode(h); },
453
+ peg$c39 = "PathIdent",
454
+ peg$c40 = "..",
455
+ peg$c41 = "\"..\"",
456
+ peg$c42 = ".",
457
+ peg$c43 = "\".\"",
458
+ peg$c44 = /^[a-zA-Z0-9_$\-!?\^]/,
459
+ peg$c45 = "[a-zA-Z0-9_$\\-!?\\^]",
460
+ peg$c46 = function(s) { return s; },
461
+ peg$c47 = "Key",
462
+ peg$c48 = function(h) { return [h[0], h[2]]; },
463
+ peg$c49 = function(p) { return p; },
464
+ peg$c50 = function(first, tail) {
472
465
  var ret = [first];
473
466
  for(var i = 0; i < tail.length; ++i) {
474
467
  //ret = ret.concat(tail[i]);
@@ -476,35 +469,48 @@ Emblem.Parser = (function() {
476
469
  }
477
470
  return ret;
478
471
  },
479
- peg$c55 = "PathSeparator",
480
- peg$c56 = /^[\/.]/,
481
- peg$c57 = "[\\/.]",
482
- peg$c58 = function(v) { return new AST.IdNode(v); },
483
- peg$c59 = function(v) { return new AST.StringNode(v); },
484
- peg$c60 = function(v) { return new AST.IntegerNode(v); },
485
- peg$c61 = function(v) { return new AST.BooleanNode(v); },
486
- peg$c62 = "Boolean",
487
- peg$c63 = "true",
488
- peg$c64 = "\"true\"",
489
- peg$c65 = "false",
490
- peg$c66 = "\"false\"",
491
- peg$c67 = "Integer",
492
- peg$c68 = /^[0-9]/,
493
- peg$c69 = "[0-9]",
494
- peg$c70 = function(s) { return parseInt(s); },
495
- peg$c71 = "\"",
496
- peg$c72 = "\"\\\"\"",
497
- peg$c73 = "'",
498
- peg$c74 = "\"'\"",
499
- peg$c75 = function(p) { return p[1]; },
500
- peg$c76 = /^[^"}]/,
501
- peg$c77 = "[^\"}]",
502
- peg$c78 = /^[^'}]/,
503
- peg$c79 = "[^'}]",
504
- peg$c80 = /^[A-Za-z]/,
505
- peg$c81 = "[A-Za-z]",
506
- peg$c82 = function(m) { return [m]; },
507
- peg$c83 = function(ind, nodes, w) {
472
+ peg$c51 = "PathSeparator",
473
+ peg$c52 = /^[\/.]/,
474
+ peg$c53 = "[\\/.]",
475
+ peg$c54 = function(v) {
476
+ var last = v[v.length - 1];
477
+ var match;
478
+ var suffixModifier;
479
+ if(match = last.match(/[!\?\^]$/)) {
480
+ suffixModifier = match[0];
481
+ v[v.length - 1] = last.slice(0, -1);
482
+ }
483
+
484
+ var idNode = new AST.IdNode(v);
485
+ idNode._emblemSuffixModifier = suffixModifier;
486
+
487
+ return idNode;
488
+ },
489
+ peg$c55 = function(v) { return new AST.StringNode(v); },
490
+ peg$c56 = function(v) { return new AST.IntegerNode(v); },
491
+ peg$c57 = function(v) { return new AST.BooleanNode(v); },
492
+ peg$c58 = "Boolean",
493
+ peg$c59 = "true",
494
+ peg$c60 = "\"true\"",
495
+ peg$c61 = "false",
496
+ peg$c62 = "\"false\"",
497
+ peg$c63 = "Integer",
498
+ peg$c64 = /^[0-9]/,
499
+ peg$c65 = "[0-9]",
500
+ peg$c66 = function(s) { return parseInt(s); },
501
+ peg$c67 = "\"",
502
+ peg$c68 = "\"\\\"\"",
503
+ peg$c69 = "'",
504
+ peg$c70 = "\"'\"",
505
+ peg$c71 = function(p) { return p[1]; },
506
+ peg$c72 = /^[^"}]/,
507
+ peg$c73 = "[^\"}]",
508
+ peg$c74 = /^[^'}]/,
509
+ peg$c75 = "[^'}]",
510
+ peg$c76 = /^[A-Za-z]/,
511
+ peg$c77 = "[A-Za-z]",
512
+ peg$c78 = function(m) { return [m]; },
513
+ peg$c79 = function(ind, nodes, w) {
508
514
  nodes.unshift(new AST.ContentNode(ind));
509
515
 
510
516
  for(var i = 0; i < w.length; ++i) {
@@ -514,12 +520,12 @@ Emblem.Parser = (function() {
514
520
  }
515
521
  return nodes;
516
522
  },
517
- peg$c84 = /^[|`]/,
518
- peg$c85 = "[|`]",
519
- peg$c86 = "<",
520
- peg$c87 = "\"<\"",
521
- peg$c88 = function() { return '<'; },
522
- peg$c89 = function(s, nodes, indentedNodes) {
523
+ peg$c80 = /^[|`]/,
524
+ peg$c81 = "[|`]",
525
+ peg$c82 = "<",
526
+ peg$c83 = "\"<\"",
527
+ peg$c84 = function() { return '<'; },
528
+ peg$c85 = function(s, nodes, indentedNodes) {
523
529
  if(nodes.length || !indentedNodes) {
524
530
  nodes.push("\n");
525
531
  }
@@ -548,50 +554,44 @@ Emblem.Parser = (function() {
548
554
 
549
555
  return ret;
550
556
  },
551
- peg$c90 = function(first, tail) {
552
- var ret = [];
553
- if(first) { ret.push(first); }
554
- for(var i = 0; i < tail.length; ++i) {
555
- var t = tail[i];
556
- ret.push(t[0]);
557
- if(t[1]) { ret.push(t[1]); }
558
- }
559
- return ret;
557
+ peg$c86 = function(first, tail) {
558
+ return textNodesResult(first, tail);
560
559
  },
561
- peg$c91 = function(m) { m.escaped = true; return m; },
562
- peg$c92 = function(m) { m.escaped = false; return m; },
563
- peg$c93 = function(a) { return new AST.ContentNode(a.join('')); },
564
- peg$c94 = "any character",
565
- peg$c95 = function(c) { return c; },
566
- peg$c96 = "SingleMustacheOpen",
567
- peg$c97 = "{",
568
- peg$c98 = "\"{\"",
569
- peg$c99 = "DoubleMustacheOpen",
570
- peg$c100 = "{{",
571
- peg$c101 = "\"{{\"",
572
- peg$c102 = "TripleMustacheOpen",
573
- peg$c103 = "{{{",
574
- peg$c104 = "\"{{{\"",
575
- peg$c105 = "SingleMustacheClose",
576
- peg$c106 = "}",
577
- peg$c107 = "\"}\"",
578
- peg$c108 = "DoubleMustacheClose",
579
- peg$c109 = "}}",
580
- peg$c110 = "\"}}\"",
581
- peg$c111 = "TripleMustacheClose",
582
- peg$c112 = "}}}",
583
- peg$c113 = "\"}}}\"",
584
- peg$c114 = "InterpolationOpen",
585
- peg$c115 = "#{",
586
- peg$c116 = "\"#{\"",
587
- peg$c117 = "InterpolationClose",
588
- peg$c118 = "==",
589
- peg$c119 = "\"==\"",
590
- peg$c120 = function() { return false; },
591
- peg$c121 = function() { return true; },
592
- peg$c122 = function(h, s, m, f) { return [h, s, m, f]; },
593
- peg$c123 = function(s, m, f) { return [null, s, m, f] },
594
- peg$c124 = function(h) {
560
+ peg$c87 = function(a) { return a; },
561
+ peg$c88 = function(m) { m.escaped = true; return m; },
562
+ peg$c89 = function(m) { m.escaped = false; return m; },
563
+ peg$c90 = function(a) { return new AST.ContentNode(a); },
564
+ peg$c91 = "any character",
565
+ peg$c92 = function(c) { return c; },
566
+ peg$c93 = "SingleMustacheOpen",
567
+ peg$c94 = "{",
568
+ peg$c95 = "\"{\"",
569
+ peg$c96 = "DoubleMustacheOpen",
570
+ peg$c97 = "{{",
571
+ peg$c98 = "\"{{\"",
572
+ peg$c99 = "TripleMustacheOpen",
573
+ peg$c100 = "{{{",
574
+ peg$c101 = "\"{{{\"",
575
+ peg$c102 = "SingleMustacheClose",
576
+ peg$c103 = "}",
577
+ peg$c104 = "\"}\"",
578
+ peg$c105 = "DoubleMustacheClose",
579
+ peg$c106 = "}}",
580
+ peg$c107 = "\"}}\"",
581
+ peg$c108 = "TripleMustacheClose",
582
+ peg$c109 = "}}}",
583
+ peg$c110 = "\"}}}\"",
584
+ peg$c111 = "InterpolationOpen",
585
+ peg$c112 = "#{",
586
+ peg$c113 = "\"#{\"",
587
+ peg$c114 = "InterpolationClose",
588
+ peg$c115 = "==",
589
+ peg$c116 = "\"==\"",
590
+ peg$c117 = function() { return false; },
591
+ peg$c118 = function() { return true; },
592
+ peg$c119 = function(h, s, m, f) { return [h, s, m, f]; },
593
+ peg$c120 = function(s, m, f) { return [null, s, m, f] },
594
+ peg$c121 = function(h) {
595
595
  var tagName = h[0] || 'div',
596
596
  shorthandAttributes = h[1] || [],
597
597
  inTagMustaches = h[2],
@@ -628,79 +628,95 @@ Emblem.Parser = (function() {
628
628
  return [tagOpenContent, new AST.ContentNode('</' + tagName + '>')];
629
629
  }
630
630
  },
631
- peg$c125 = function(a) {
631
+ peg$c122 = function(a) {
632
632
  return [new AST.ContentNode(' ')].concat(a);
633
633
  },
634
- peg$c126 = /^[A-Za-z.:0-9_\-]/,
635
- peg$c127 = "[A-Za-z.:0-9_\\-]",
636
- peg$c128 = function(id) { return new AST.MustacheNode([id]); },
637
- peg$c129 = function(event, mustacheNode) {
634
+ peg$c123 = /^[A-Za-z.:0-9_\-]/,
635
+ peg$c124 = "[A-Za-z.:0-9_\\-]",
636
+ peg$c125 = function(id) { return new AST.MustacheNode([id]); },
637
+ peg$c126 = function(event, mustacheNode) {
638
638
  // Unshift the action helper and augment the hash
639
639
  return [unshiftParam(mustacheNode, 'action', [['on', new AST.StringNode(event)]])];
640
640
  },
641
- peg$c130 = function(value) { return value.replace(/ *$/, ''); },
642
- peg$c131 = function(key, value) { return IS_EMBER; },
643
- peg$c132 = function(key, value) {
641
+ peg$c127 = function(value) { return value.replace(/ *$/, ''); },
642
+ peg$c128 = "!",
643
+ peg$c129 = "\"!\"",
644
+ peg$c130 = function(key, value) { return IS_EMBER; },
645
+ peg$c131 = function(key, value) {
644
646
  var hashNode = new AST.HashNode([[key, new AST.StringNode(value)]]);
645
647
  var params = [new AST.IdNode(['bindAttr'])];
646
- return [new AST.MustacheNode(params, hashNode)];
648
+ var mustacheNode = new AST.MustacheNode(params, hashNode);
649
+
650
+ /*
651
+ if(whatever) {
652
+ mustacheNode = return unshiftParam(mustacheNode, 'unbound');
653
+ }
654
+ */
655
+
656
+ return [mustacheNode];
647
657
  },
648
- peg$c133 = function(key, id) {
658
+ peg$c132 = function(key, id) {
659
+ var mustacheNode = new AST.MustacheNode([id]);
660
+
661
+ if(IS_EMBER && id._emblemSuffixModifier === '!') {
662
+ mustacheNode = unshiftParam(mustacheNode, 'unbound');
663
+ }
664
+
649
665
  return [
650
666
  new AST.ContentNode(key + '=' + '"'),
651
- new AST.MustacheNode([id]),
667
+ mustacheNode,
652
668
  new AST.ContentNode('"'),
653
669
  ];
654
670
  },
655
- peg$c134 = function(key, value) {
656
- var s = key + '=' + '"' + value + '"';
657
- return [new AST.ContentNode(s)];
671
+ peg$c133 = function(key, nodes) {
672
+ var result = [ new AST.ContentNode(key + '=' + '"') ].concat(nodes);
673
+ return result.concat([new AST.ContentNode('"')]);
658
674
  },
659
- peg$c135 = "_",
660
- peg$c136 = "\"_\"",
661
- peg$c137 = "-",
662
- peg$c138 = "\"-\"",
663
- peg$c139 = "%",
664
- peg$c140 = "\"%\"",
665
- peg$c141 = "#",
666
- peg$c142 = "\"#\"",
667
- peg$c143 = function(c) { return c;},
668
- peg$c144 = "CSSIdentifier",
669
- peg$c145 = function(nmstart, nmchars) { return nmstart + nmchars; },
670
- peg$c146 = /^[_a-zA-Z0-9\-]/,
671
- peg$c147 = "[_a-zA-Z0-9\\-]",
672
- peg$c148 = /^[_a-zA-Z]/,
673
- peg$c149 = "[_a-zA-Z]",
674
- peg$c150 = /^[\x80-\xFF]/,
675
- peg$c151 = "[\\x80-\\xFF]",
676
- peg$c152 = "KnownHTMLTagName",
677
- peg$c153 = function(t) { return !!KNOWN_TAGS[t]; },
678
- peg$c154 = function(t) { return t; },
679
- peg$c155 = /^[:_a-zA-Z0-9\-]/,
680
- peg$c156 = "[:_a-zA-Z0-9\\-]",
681
- peg$c157 = "a JS event",
682
- peg$c158 = function(t) { return !!KNOWN_EVENTS[t]; },
683
- peg$c159 = "INDENT",
684
- peg$c160 = "\uEFEF",
685
- peg$c161 = "\"\\uEFEF\"",
686
- peg$c162 = function() { return ''; },
687
- peg$c163 = "DEDENT",
688
- peg$c164 = "\uEFFE",
689
- peg$c165 = "\"\\uEFFE\"",
690
- peg$c166 = "Unmatched DEDENT",
691
- peg$c167 = "\uEFEE",
692
- peg$c168 = "\"\\uEFEE\"",
693
- peg$c169 = "LineEnd",
694
- peg$c170 = "\uEFFF",
695
- peg$c171 = "\"\\uEFFF\"",
696
- peg$c172 = "\n",
697
- peg$c173 = "\"\\n\"",
698
- peg$c174 = "ANYDEDENT",
699
- peg$c175 = "RequiredWhitespace",
700
- peg$c176 = "OptionalWhitespace",
701
- peg$c177 = "InlineWhitespace",
702
- peg$c178 = /^[ \t]/,
703
- peg$c179 = "[ \\t]",
675
+ peg$c134 = "_",
676
+ peg$c135 = "\"_\"",
677
+ peg$c136 = "-",
678
+ peg$c137 = "\"-\"",
679
+ peg$c138 = "%",
680
+ peg$c139 = "\"%\"",
681
+ peg$c140 = "#",
682
+ peg$c141 = "\"#\"",
683
+ peg$c142 = function(c) { return c;},
684
+ peg$c143 = "CSSIdentifier",
685
+ peg$c144 = function(nmstart, nmchars) { return nmstart + nmchars; },
686
+ peg$c145 = /^[_a-zA-Z0-9\-]/,
687
+ peg$c146 = "[_a-zA-Z0-9\\-]",
688
+ peg$c147 = /^[_a-zA-Z]/,
689
+ peg$c148 = "[_a-zA-Z]",
690
+ peg$c149 = /^[\x80-\xFF]/,
691
+ peg$c150 = "[\\x80-\\xFF]",
692
+ peg$c151 = "KnownHTMLTagName",
693
+ peg$c152 = function(t) { return !!KNOWN_TAGS[t]; },
694
+ peg$c153 = function(t) { return t; },
695
+ peg$c154 = /^[:_a-zA-Z0-9\-]/,
696
+ peg$c155 = "[:_a-zA-Z0-9\\-]",
697
+ peg$c156 = "a JS event",
698
+ peg$c157 = function(t) { return !!KNOWN_EVENTS[t]; },
699
+ peg$c158 = "INDENT",
700
+ peg$c159 = "\uEFEF",
701
+ peg$c160 = "\"\\uEFEF\"",
702
+ peg$c161 = function() { return ''; },
703
+ peg$c162 = "DEDENT",
704
+ peg$c163 = "\uEFFE",
705
+ peg$c164 = "\"\\uEFFE\"",
706
+ peg$c165 = "Unmatched DEDENT",
707
+ peg$c166 = "\uEFEE",
708
+ peg$c167 = "\"\\uEFEE\"",
709
+ peg$c168 = "LineEnd",
710
+ peg$c169 = "\uEFFF",
711
+ peg$c170 = "\"\\uEFFF\"",
712
+ peg$c171 = "\n",
713
+ peg$c172 = "\"\\n\"",
714
+ peg$c173 = "ANYDEDENT",
715
+ peg$c174 = "RequiredWhitespace",
716
+ peg$c175 = "OptionalWhitespace",
717
+ peg$c176 = "InlineWhitespace",
718
+ peg$c177 = /^[ \t]/,
719
+ peg$c178 = "[ \\t]",
704
720
 
705
721
  peg$currPos = 0,
706
722
  peg$reportedPos = 0,
@@ -1604,39 +1620,30 @@ Emblem.Parser = (function() {
1604
1620
  }
1605
1621
 
1606
1622
  function peg$parseinMustache() {
1607
- var s0, s1, s2, s3, s4;
1623
+ var s0, s1, s2, s3;
1608
1624
 
1609
1625
  s0 = peg$currPos;
1610
1626
  s1 = peg$parsepathIdNode();
1611
1627
  if (s1 !== null) {
1612
- s2 = peg$parsetrailingModifier();
1613
- if (s2 === null) {
1614
- s2 = peg$c1;
1628
+ s2 = [];
1629
+ s3 = peg$parseinMustacheParam();
1630
+ while (s3 !== null) {
1631
+ s2.push(s3);
1632
+ s3 = peg$parseinMustacheParam();
1615
1633
  }
1616
1634
  if (s2 !== null) {
1617
- s3 = [];
1618
- s4 = peg$parseinMustacheParam();
1619
- while (s4 !== null) {
1620
- s3.push(s4);
1621
- s4 = peg$parseinMustacheParam();
1635
+ s3 = peg$parsehash();
1636
+ if (s3 === null) {
1637
+ s3 = peg$c1;
1622
1638
  }
1623
1639
  if (s3 !== null) {
1624
- s4 = peg$parsehash();
1625
- if (s4 === null) {
1626
- s4 = peg$c1;
1627
- }
1628
- if (s4 !== null) {
1629
- peg$reportedPos = s0;
1630
- s1 = peg$c31(s1,s2,s3,s4);
1631
- if (s1 === null) {
1632
- peg$currPos = s0;
1633
- s0 = s1;
1634
- } else {
1635
- s0 = s1;
1636
- }
1637
- } else {
1640
+ peg$reportedPos = s0;
1641
+ s1 = peg$c31(s1,s2,s3);
1642
+ if (s1 === null) {
1638
1643
  peg$currPos = s0;
1639
- s0 = peg$c0;
1644
+ s0 = s1;
1645
+ } else {
1646
+ s0 = s1;
1640
1647
  }
1641
1648
  } else {
1642
1649
  peg$currPos = s0;
@@ -1654,34 +1661,6 @@ Emblem.Parser = (function() {
1654
1661
  return s0;
1655
1662
  }
1656
1663
 
1657
- function peg$parsemodifiedParam() {
1658
- var s0, s1, s2;
1659
-
1660
- s0 = peg$currPos;
1661
- s1 = peg$parseparam();
1662
- if (s1 !== null) {
1663
- s2 = peg$parsetrailingModifier();
1664
- if (s2 !== null) {
1665
- peg$reportedPos = s0;
1666
- s1 = peg$c32(s1,s2);
1667
- if (s1 === null) {
1668
- peg$currPos = s0;
1669
- s0 = s1;
1670
- } else {
1671
- s0 = s1;
1672
- }
1673
- } else {
1674
- peg$currPos = s0;
1675
- s0 = peg$c0;
1676
- }
1677
- } else {
1678
- peg$currPos = s0;
1679
- s0 = peg$c0;
1680
- }
1681
-
1682
- return s0;
1683
- }
1684
-
1685
1664
  function peg$parsehtmlMustacheAttribute() {
1686
1665
  var s0, s1;
1687
1666
 
@@ -1689,7 +1668,7 @@ Emblem.Parser = (function() {
1689
1668
  s1 = peg$parsetagNameShorthand();
1690
1669
  if (s1 !== null) {
1691
1670
  peg$reportedPos = s0;
1692
- s1 = peg$c33(s1);
1671
+ s1 = peg$c32(s1);
1693
1672
  }
1694
1673
  if (s1 === null) {
1695
1674
  peg$currPos = s0;
@@ -1702,7 +1681,7 @@ Emblem.Parser = (function() {
1702
1681
  s1 = peg$parseidShorthand();
1703
1682
  if (s1 !== null) {
1704
1683
  peg$reportedPos = s0;
1705
- s1 = peg$c34(s1);
1684
+ s1 = peg$c33(s1);
1706
1685
  }
1707
1686
  if (s1 === null) {
1708
1687
  peg$currPos = s0;
@@ -1715,7 +1694,7 @@ Emblem.Parser = (function() {
1715
1694
  s1 = peg$parseclassShorthand();
1716
1695
  if (s1 !== null) {
1717
1696
  peg$reportedPos = s0;
1718
- s1 = peg$c35(s1);
1697
+ s1 = peg$c34(s1);
1719
1698
  }
1720
1699
  if (s1 === null) {
1721
1700
  peg$currPos = s0;
@@ -1754,7 +1733,7 @@ Emblem.Parser = (function() {
1754
1733
  }
1755
1734
  if (s2 !== null) {
1756
1735
  peg$reportedPos = s0;
1757
- s1 = peg$c36(s1,s2);
1736
+ s1 = peg$c35(s1,s2);
1758
1737
  if (s1 === null) {
1759
1738
  peg$currPos = s0;
1760
1739
  s0 = s1;
@@ -1789,7 +1768,7 @@ Emblem.Parser = (function() {
1789
1768
  }
1790
1769
  if (s1 !== null) {
1791
1770
  peg$reportedPos = s0;
1792
- s1 = peg$c37(s1);
1771
+ s1 = peg$c36(s1);
1793
1772
  }
1794
1773
  if (s1 === null) {
1795
1774
  peg$currPos = s0;
@@ -1813,7 +1792,7 @@ Emblem.Parser = (function() {
1813
1792
  }
1814
1793
  if (s2 !== null) {
1815
1794
  peg$reportedPos = s0;
1816
- s1 = peg$c38(s2);
1795
+ s1 = peg$c37(s2);
1817
1796
  if (s1 === null) {
1818
1797
  peg$currPos = s0;
1819
1798
  s0 = s1;
@@ -1832,26 +1811,6 @@ Emblem.Parser = (function() {
1832
1811
  return s0;
1833
1812
  }
1834
1813
 
1835
- function peg$parsetrailingModifier() {
1836
- var s0, s1;
1837
-
1838
- peg$silentFails++;
1839
- if (peg$c40.test(input.charAt(peg$currPos))) {
1840
- s0 = input.charAt(peg$currPos);
1841
- peg$currPos++;
1842
- } else {
1843
- s0 = null;
1844
- if (peg$silentFails === 0) { peg$fail(peg$c41); }
1845
- }
1846
- peg$silentFails--;
1847
- if (s0 === null) {
1848
- s1 = null;
1849
- if (peg$silentFails === 0) { peg$fail(peg$c39); }
1850
- }
1851
-
1852
- return s0;
1853
- }
1854
-
1855
1814
  function peg$parsehash() {
1856
1815
  var s0, s1, s2;
1857
1816
 
@@ -1868,7 +1827,7 @@ Emblem.Parser = (function() {
1868
1827
  }
1869
1828
  if (s1 !== null) {
1870
1829
  peg$reportedPos = s0;
1871
- s1 = peg$c42(s1);
1830
+ s1 = peg$c38(s1);
1872
1831
  }
1873
1832
  if (s1 === null) {
1874
1833
  peg$currPos = s0;
@@ -1884,41 +1843,41 @@ Emblem.Parser = (function() {
1884
1843
  var s0, s1, s2, s3;
1885
1844
 
1886
1845
  peg$silentFails++;
1887
- if (input.substr(peg$currPos, 2) === peg$c44) {
1888
- s0 = peg$c44;
1846
+ if (input.substr(peg$currPos, 2) === peg$c40) {
1847
+ s0 = peg$c40;
1889
1848
  peg$currPos += 2;
1890
1849
  } else {
1891
1850
  s0 = null;
1892
- if (peg$silentFails === 0) { peg$fail(peg$c45); }
1851
+ if (peg$silentFails === 0) { peg$fail(peg$c41); }
1893
1852
  }
1894
1853
  if (s0 === null) {
1895
1854
  if (input.charCodeAt(peg$currPos) === 46) {
1896
- s0 = peg$c46;
1855
+ s0 = peg$c42;
1897
1856
  peg$currPos++;
1898
1857
  } else {
1899
1858
  s0 = null;
1900
- if (peg$silentFails === 0) { peg$fail(peg$c47); }
1859
+ if (peg$silentFails === 0) { peg$fail(peg$c43); }
1901
1860
  }
1902
1861
  if (s0 === null) {
1903
1862
  s0 = peg$currPos;
1904
1863
  s1 = peg$currPos;
1905
1864
  s2 = [];
1906
- if (peg$c48.test(input.charAt(peg$currPos))) {
1865
+ if (peg$c44.test(input.charAt(peg$currPos))) {
1907
1866
  s3 = input.charAt(peg$currPos);
1908
1867
  peg$currPos++;
1909
1868
  } else {
1910
1869
  s3 = null;
1911
- if (peg$silentFails === 0) { peg$fail(peg$c49); }
1870
+ if (peg$silentFails === 0) { peg$fail(peg$c45); }
1912
1871
  }
1913
1872
  if (s3 !== null) {
1914
1873
  while (s3 !== null) {
1915
1874
  s2.push(s3);
1916
- if (peg$c48.test(input.charAt(peg$currPos))) {
1875
+ if (peg$c44.test(input.charAt(peg$currPos))) {
1917
1876
  s3 = input.charAt(peg$currPos);
1918
1877
  peg$currPos++;
1919
1878
  } else {
1920
1879
  s3 = null;
1921
- if (peg$silentFails === 0) { peg$fail(peg$c49); }
1880
+ if (peg$silentFails === 0) { peg$fail(peg$c45); }
1922
1881
  }
1923
1882
  }
1924
1883
  } else {
@@ -1947,7 +1906,7 @@ Emblem.Parser = (function() {
1947
1906
  }
1948
1907
  if (s2 !== null) {
1949
1908
  peg$reportedPos = s0;
1950
- s1 = peg$c50(s1);
1909
+ s1 = peg$c46(s1);
1951
1910
  if (s1 === null) {
1952
1911
  peg$currPos = s0;
1953
1912
  s0 = s1;
@@ -1967,7 +1926,7 @@ Emblem.Parser = (function() {
1967
1926
  peg$silentFails--;
1968
1927
  if (s0 === null) {
1969
1928
  s1 = null;
1970
- if (peg$silentFails === 0) { peg$fail(peg$c43); }
1929
+ if (peg$silentFails === 0) { peg$fail(peg$c39); }
1971
1930
  }
1972
1931
 
1973
1932
  return s0;
@@ -1981,7 +1940,7 @@ Emblem.Parser = (function() {
1981
1940
  peg$silentFails--;
1982
1941
  if (s0 === null) {
1983
1942
  s1 = null;
1984
- if (peg$silentFails === 0) { peg$fail(peg$c51); }
1943
+ if (peg$silentFails === 0) { peg$fail(peg$c47); }
1985
1944
  }
1986
1945
 
1987
1946
  return s0;
@@ -2109,7 +2068,7 @@ Emblem.Parser = (function() {
2109
2068
  }
2110
2069
  if (s2 !== null) {
2111
2070
  peg$reportedPos = s0;
2112
- s1 = peg$c52(s2);
2071
+ s1 = peg$c48(s2);
2113
2072
  if (s1 === null) {
2114
2073
  peg$currPos = s0;
2115
2074
  s0 = s1;
@@ -2158,7 +2117,7 @@ Emblem.Parser = (function() {
2158
2117
  s5 = peg$parsepathIdent();
2159
2118
  if (s5 !== null) {
2160
2119
  peg$reportedPos = s3;
2161
- s4 = peg$c53(s5);
2120
+ s4 = peg$c49(s5);
2162
2121
  if (s4 === null) {
2163
2122
  peg$currPos = s3;
2164
2123
  s3 = s4;
@@ -2181,7 +2140,7 @@ Emblem.Parser = (function() {
2181
2140
  s5 = peg$parsepathIdent();
2182
2141
  if (s5 !== null) {
2183
2142
  peg$reportedPos = s3;
2184
- s4 = peg$c53(s5);
2143
+ s4 = peg$c49(s5);
2185
2144
  if (s4 === null) {
2186
2145
  peg$currPos = s3;
2187
2146
  s3 = s4;
@@ -2199,7 +2158,7 @@ Emblem.Parser = (function() {
2199
2158
  }
2200
2159
  if (s2 !== null) {
2201
2160
  peg$reportedPos = s0;
2202
- s1 = peg$c54(s1,s2);
2161
+ s1 = peg$c50(s1,s2);
2203
2162
  if (s1 === null) {
2204
2163
  peg$currPos = s0;
2205
2164
  s0 = s1;
@@ -2222,17 +2181,17 @@ Emblem.Parser = (function() {
2222
2181
  var s0, s1;
2223
2182
 
2224
2183
  peg$silentFails++;
2225
- if (peg$c56.test(input.charAt(peg$currPos))) {
2184
+ if (peg$c52.test(input.charAt(peg$currPos))) {
2226
2185
  s0 = input.charAt(peg$currPos);
2227
2186
  peg$currPos++;
2228
2187
  } else {
2229
2188
  s0 = null;
2230
- if (peg$silentFails === 0) { peg$fail(peg$c57); }
2189
+ if (peg$silentFails === 0) { peg$fail(peg$c53); }
2231
2190
  }
2232
2191
  peg$silentFails--;
2233
2192
  if (s0 === null) {
2234
2193
  s1 = null;
2235
- if (peg$silentFails === 0) { peg$fail(peg$c55); }
2194
+ if (peg$silentFails === 0) { peg$fail(peg$c51); }
2236
2195
  }
2237
2196
 
2238
2197
  return s0;
@@ -2245,7 +2204,7 @@ Emblem.Parser = (function() {
2245
2204
  s1 = peg$parsepath();
2246
2205
  if (s1 !== null) {
2247
2206
  peg$reportedPos = s0;
2248
- s1 = peg$c58(s1);
2207
+ s1 = peg$c54(s1);
2249
2208
  }
2250
2209
  if (s1 === null) {
2251
2210
  peg$currPos = s0;
@@ -2264,7 +2223,7 @@ Emblem.Parser = (function() {
2264
2223
  s1 = peg$parsestring();
2265
2224
  if (s1 !== null) {
2266
2225
  peg$reportedPos = s0;
2267
- s1 = peg$c59(s1);
2226
+ s1 = peg$c55(s1);
2268
2227
  }
2269
2228
  if (s1 === null) {
2270
2229
  peg$currPos = s0;
@@ -2283,7 +2242,7 @@ Emblem.Parser = (function() {
2283
2242
  s1 = peg$parseinteger();
2284
2243
  if (s1 !== null) {
2285
2244
  peg$reportedPos = s0;
2286
- s1 = peg$c60(s1);
2245
+ s1 = peg$c56(s1);
2287
2246
  }
2288
2247
  if (s1 === null) {
2289
2248
  peg$currPos = s0;
@@ -2302,7 +2261,7 @@ Emblem.Parser = (function() {
2302
2261
  s1 = peg$parseboolean();
2303
2262
  if (s1 !== null) {
2304
2263
  peg$reportedPos = s0;
2305
- s1 = peg$c61(s1);
2264
+ s1 = peg$c57(s1);
2306
2265
  }
2307
2266
  if (s1 === null) {
2308
2267
  peg$currPos = s0;
@@ -2318,26 +2277,26 @@ Emblem.Parser = (function() {
2318
2277
  var s0, s1;
2319
2278
 
2320
2279
  peg$silentFails++;
2321
- if (input.substr(peg$currPos, 4) === peg$c63) {
2322
- s0 = peg$c63;
2280
+ if (input.substr(peg$currPos, 4) === peg$c59) {
2281
+ s0 = peg$c59;
2323
2282
  peg$currPos += 4;
2324
2283
  } else {
2325
2284
  s0 = null;
2326
- if (peg$silentFails === 0) { peg$fail(peg$c64); }
2285
+ if (peg$silentFails === 0) { peg$fail(peg$c60); }
2327
2286
  }
2328
2287
  if (s0 === null) {
2329
- if (input.substr(peg$currPos, 5) === peg$c65) {
2330
- s0 = peg$c65;
2288
+ if (input.substr(peg$currPos, 5) === peg$c61) {
2289
+ s0 = peg$c61;
2331
2290
  peg$currPos += 5;
2332
2291
  } else {
2333
2292
  s0 = null;
2334
- if (peg$silentFails === 0) { peg$fail(peg$c66); }
2293
+ if (peg$silentFails === 0) { peg$fail(peg$c62); }
2335
2294
  }
2336
2295
  }
2337
2296
  peg$silentFails--;
2338
2297
  if (s0 === null) {
2339
2298
  s1 = null;
2340
- if (peg$silentFails === 0) { peg$fail(peg$c62); }
2299
+ if (peg$silentFails === 0) { peg$fail(peg$c58); }
2341
2300
  }
2342
2301
 
2343
2302
  return s0;
@@ -2350,22 +2309,22 @@ Emblem.Parser = (function() {
2350
2309
  s0 = peg$currPos;
2351
2310
  s1 = peg$currPos;
2352
2311
  s2 = [];
2353
- if (peg$c68.test(input.charAt(peg$currPos))) {
2312
+ if (peg$c64.test(input.charAt(peg$currPos))) {
2354
2313
  s3 = input.charAt(peg$currPos);
2355
2314
  peg$currPos++;
2356
2315
  } else {
2357
2316
  s3 = null;
2358
- if (peg$silentFails === 0) { peg$fail(peg$c69); }
2317
+ if (peg$silentFails === 0) { peg$fail(peg$c65); }
2359
2318
  }
2360
2319
  if (s3 !== null) {
2361
2320
  while (s3 !== null) {
2362
2321
  s2.push(s3);
2363
- if (peg$c68.test(input.charAt(peg$currPos))) {
2322
+ if (peg$c64.test(input.charAt(peg$currPos))) {
2364
2323
  s3 = input.charAt(peg$currPos);
2365
2324
  peg$currPos++;
2366
2325
  } else {
2367
2326
  s3 = null;
2368
- if (peg$silentFails === 0) { peg$fail(peg$c69); }
2327
+ if (peg$silentFails === 0) { peg$fail(peg$c65); }
2369
2328
  }
2370
2329
  }
2371
2330
  } else {
@@ -2377,7 +2336,7 @@ Emblem.Parser = (function() {
2377
2336
  s1 = s2;
2378
2337
  if (s1 !== null) {
2379
2338
  peg$reportedPos = s0;
2380
- s1 = peg$c70(s1);
2339
+ s1 = peg$c66(s1);
2381
2340
  }
2382
2341
  if (s1 === null) {
2383
2342
  peg$currPos = s0;
@@ -2388,7 +2347,7 @@ Emblem.Parser = (function() {
2388
2347
  peg$silentFails--;
2389
2348
  if (s0 === null) {
2390
2349
  s1 = null;
2391
- if (peg$silentFails === 0) { peg$fail(peg$c67); }
2350
+ if (peg$silentFails === 0) { peg$fail(peg$c63); }
2392
2351
  }
2393
2352
 
2394
2353
  return s0;
@@ -2400,21 +2359,21 @@ Emblem.Parser = (function() {
2400
2359
  s0 = peg$currPos;
2401
2360
  s1 = peg$currPos;
2402
2361
  if (input.charCodeAt(peg$currPos) === 34) {
2403
- s2 = peg$c71;
2362
+ s2 = peg$c67;
2404
2363
  peg$currPos++;
2405
2364
  } else {
2406
2365
  s2 = null;
2407
- if (peg$silentFails === 0) { peg$fail(peg$c72); }
2366
+ if (peg$silentFails === 0) { peg$fail(peg$c68); }
2408
2367
  }
2409
2368
  if (s2 !== null) {
2410
2369
  s3 = peg$parsehashDoubleQuoteStringValue();
2411
2370
  if (s3 !== null) {
2412
2371
  if (input.charCodeAt(peg$currPos) === 34) {
2413
- s4 = peg$c71;
2372
+ s4 = peg$c67;
2414
2373
  peg$currPos++;
2415
2374
  } else {
2416
2375
  s4 = null;
2417
- if (peg$silentFails === 0) { peg$fail(peg$c72); }
2376
+ if (peg$silentFails === 0) { peg$fail(peg$c68); }
2418
2377
  }
2419
2378
  if (s4 !== null) {
2420
2379
  s2 = [s2, s3, s4];
@@ -2434,21 +2393,21 @@ Emblem.Parser = (function() {
2434
2393
  if (s1 === null) {
2435
2394
  s1 = peg$currPos;
2436
2395
  if (input.charCodeAt(peg$currPos) === 39) {
2437
- s2 = peg$c73;
2396
+ s2 = peg$c69;
2438
2397
  peg$currPos++;
2439
2398
  } else {
2440
2399
  s2 = null;
2441
- if (peg$silentFails === 0) { peg$fail(peg$c74); }
2400
+ if (peg$silentFails === 0) { peg$fail(peg$c70); }
2442
2401
  }
2443
2402
  if (s2 !== null) {
2444
2403
  s3 = peg$parsehashSingleQuoteStringValue();
2445
2404
  if (s3 !== null) {
2446
2405
  if (input.charCodeAt(peg$currPos) === 39) {
2447
- s4 = peg$c73;
2406
+ s4 = peg$c69;
2448
2407
  peg$currPos++;
2449
2408
  } else {
2450
2409
  s4 = null;
2451
- if (peg$silentFails === 0) { peg$fail(peg$c74); }
2410
+ if (peg$silentFails === 0) { peg$fail(peg$c70); }
2452
2411
  }
2453
2412
  if (s4 !== null) {
2454
2413
  s2 = [s2, s3, s4];
@@ -2468,7 +2427,7 @@ Emblem.Parser = (function() {
2468
2427
  }
2469
2428
  if (s1 !== null) {
2470
2429
  peg$reportedPos = s0;
2471
- s1 = peg$c75(s1);
2430
+ s1 = peg$c71(s1);
2472
2431
  }
2473
2432
  if (s1 === null) {
2474
2433
  peg$currPos = s0;
@@ -2497,12 +2456,12 @@ Emblem.Parser = (function() {
2497
2456
  s3 = peg$c0;
2498
2457
  }
2499
2458
  if (s3 !== null) {
2500
- if (peg$c76.test(input.charAt(peg$currPos))) {
2459
+ if (peg$c72.test(input.charAt(peg$currPos))) {
2501
2460
  s4 = input.charAt(peg$currPos);
2502
2461
  peg$currPos++;
2503
2462
  } else {
2504
2463
  s4 = null;
2505
- if (peg$silentFails === 0) { peg$fail(peg$c77); }
2464
+ if (peg$silentFails === 0) { peg$fail(peg$c73); }
2506
2465
  }
2507
2466
  if (s4 !== null) {
2508
2467
  s3 = [s3, s4];
@@ -2529,12 +2488,12 @@ Emblem.Parser = (function() {
2529
2488
  s3 = peg$c0;
2530
2489
  }
2531
2490
  if (s3 !== null) {
2532
- if (peg$c76.test(input.charAt(peg$currPos))) {
2491
+ if (peg$c72.test(input.charAt(peg$currPos))) {
2533
2492
  s4 = input.charAt(peg$currPos);
2534
2493
  peg$currPos++;
2535
2494
  } else {
2536
2495
  s4 = null;
2537
- if (peg$silentFails === 0) { peg$fail(peg$c77); }
2496
+ if (peg$silentFails === 0) { peg$fail(peg$c73); }
2538
2497
  }
2539
2498
  if (s4 !== null) {
2540
2499
  s3 = [s3, s4];
@@ -2573,12 +2532,12 @@ Emblem.Parser = (function() {
2573
2532
  s3 = peg$c0;
2574
2533
  }
2575
2534
  if (s3 !== null) {
2576
- if (peg$c78.test(input.charAt(peg$currPos))) {
2535
+ if (peg$c74.test(input.charAt(peg$currPos))) {
2577
2536
  s4 = input.charAt(peg$currPos);
2578
2537
  peg$currPos++;
2579
2538
  } else {
2580
2539
  s4 = null;
2581
- if (peg$silentFails === 0) { peg$fail(peg$c79); }
2540
+ if (peg$silentFails === 0) { peg$fail(peg$c75); }
2582
2541
  }
2583
2542
  if (s4 !== null) {
2584
2543
  s3 = [s3, s4];
@@ -2605,12 +2564,12 @@ Emblem.Parser = (function() {
2605
2564
  s3 = peg$c0;
2606
2565
  }
2607
2566
  if (s3 !== null) {
2608
- if (peg$c78.test(input.charAt(peg$currPos))) {
2567
+ if (peg$c74.test(input.charAt(peg$currPos))) {
2609
2568
  s4 = input.charAt(peg$currPos);
2610
2569
  peg$currPos++;
2611
2570
  } else {
2612
2571
  s4 = null;
2613
- if (peg$silentFails === 0) { peg$fail(peg$c79); }
2572
+ if (peg$silentFails === 0) { peg$fail(peg$c75); }
2614
2573
  }
2615
2574
  if (s4 !== null) {
2616
2575
  s3 = [s3, s4];
@@ -2635,12 +2594,12 @@ Emblem.Parser = (function() {
2635
2594
  function peg$parsealpha() {
2636
2595
  var s0;
2637
2596
 
2638
- if (peg$c80.test(input.charAt(peg$currPos))) {
2597
+ if (peg$c76.test(input.charAt(peg$currPos))) {
2639
2598
  s0 = input.charAt(peg$currPos);
2640
2599
  peg$currPos++;
2641
2600
  } else {
2642
2601
  s0 = null;
2643
- if (peg$silentFails === 0) { peg$fail(peg$c81); }
2602
+ if (peg$silentFails === 0) { peg$fail(peg$c77); }
2644
2603
  }
2645
2604
 
2646
2605
  return s0;
@@ -2655,7 +2614,7 @@ Emblem.Parser = (function() {
2655
2614
  s2 = peg$parseexplicitMustache();
2656
2615
  if (s2 !== null) {
2657
2616
  peg$reportedPos = s0;
2658
- s1 = peg$c82(s2);
2617
+ s1 = peg$c78(s2);
2659
2618
  if (s1 === null) {
2660
2619
  peg$currPos = s0;
2661
2620
  s0 = s1;
@@ -2695,7 +2654,7 @@ Emblem.Parser = (function() {
2695
2654
  s4 = peg$parseanyDedent();
2696
2655
  if (s4 !== null) {
2697
2656
  peg$reportedPos = s0;
2698
- s1 = peg$c83(s1,s2,s3);
2657
+ s1 = peg$c79(s1,s2,s3);
2699
2658
  if (s1 === null) {
2700
2659
  peg$currPos = s0;
2701
2660
  s0 = s1;
@@ -2729,12 +2688,12 @@ Emblem.Parser = (function() {
2729
2688
  var s0, s1, s2;
2730
2689
 
2731
2690
  s0 = peg$currPos;
2732
- if (peg$c84.test(input.charAt(peg$currPos))) {
2691
+ if (peg$c80.test(input.charAt(peg$currPos))) {
2733
2692
  s1 = input.charAt(peg$currPos);
2734
2693
  peg$currPos++;
2735
2694
  } else {
2736
2695
  s1 = null;
2737
- if (peg$silentFails === 0) { peg$fail(peg$c85); }
2696
+ if (peg$silentFails === 0) { peg$fail(peg$c81); }
2738
2697
  }
2739
2698
  if (s1 !== null) {
2740
2699
  if (input.charCodeAt(peg$currPos) === 32) {
@@ -2749,7 +2708,7 @@ Emblem.Parser = (function() {
2749
2708
  }
2750
2709
  if (s2 !== null) {
2751
2710
  peg$reportedPos = s0;
2752
- s1 = peg$c50(s1);
2711
+ s1 = peg$c46(s1);
2753
2712
  if (s1 === null) {
2754
2713
  peg$currPos = s0;
2755
2714
  s0 = s1;
@@ -2769,11 +2728,11 @@ Emblem.Parser = (function() {
2769
2728
  s1 = peg$currPos;
2770
2729
  peg$silentFails++;
2771
2730
  if (input.charCodeAt(peg$currPos) === 60) {
2772
- s2 = peg$c86;
2731
+ s2 = peg$c82;
2773
2732
  peg$currPos++;
2774
2733
  } else {
2775
2734
  s2 = null;
2776
- if (peg$silentFails === 0) { peg$fail(peg$c87); }
2735
+ if (peg$silentFails === 0) { peg$fail(peg$c83); }
2777
2736
  }
2778
2737
  peg$silentFails--;
2779
2738
  if (s2 !== null) {
@@ -2784,7 +2743,7 @@ Emblem.Parser = (function() {
2784
2743
  }
2785
2744
  if (s1 !== null) {
2786
2745
  peg$reportedPos = s0;
2787
- s1 = peg$c88();
2746
+ s1 = peg$c84();
2788
2747
  }
2789
2748
  if (s1 === null) {
2790
2749
  peg$currPos = s0;
@@ -2836,7 +2795,7 @@ Emblem.Parser = (function() {
2836
2795
  }
2837
2796
  if (s3 !== null) {
2838
2797
  peg$reportedPos = s0;
2839
- s1 = peg$c89(s1,s2,s3);
2798
+ s1 = peg$c85(s1,s2,s3);
2840
2799
  if (s1 === null) {
2841
2800
  peg$currPos = s0;
2842
2801
  s0 = s1;
@@ -2912,7 +2871,7 @@ Emblem.Parser = (function() {
2912
2871
  s3 = peg$parseTERM();
2913
2872
  if (s3 !== null) {
2914
2873
  peg$reportedPos = s0;
2915
- s1 = peg$c90(s1,s2);
2874
+ s1 = peg$c86(s1,s2);
2916
2875
  if (s1 === null) {
2917
2876
  peg$currPos = s0;
2918
2877
  s0 = s1;
@@ -2935,50 +2894,109 @@ Emblem.Parser = (function() {
2935
2894
  return s0;
2936
2895
  }
2937
2896
 
2938
- function peg$parserawMustache() {
2939
- var s0;
2897
+ function peg$parseattributeTextNodes() {
2898
+ var s0, s1, s2, s3;
2940
2899
 
2941
- s0 = peg$parserawMustacheUnescaped();
2942
- if (s0 === null) {
2943
- s0 = peg$parserawMustacheEscaped();
2900
+ s0 = peg$currPos;
2901
+ if (input.charCodeAt(peg$currPos) === 34) {
2902
+ s1 = peg$c67;
2903
+ peg$currPos++;
2904
+ } else {
2905
+ s1 = null;
2906
+ if (peg$silentFails === 0) { peg$fail(peg$c68); }
2907
+ }
2908
+ if (s1 !== null) {
2909
+ s2 = peg$parseattributeTextNodesInner();
2910
+ if (s2 !== null) {
2911
+ if (input.charCodeAt(peg$currPos) === 34) {
2912
+ s3 = peg$c67;
2913
+ peg$currPos++;
2914
+ } else {
2915
+ s3 = null;
2916
+ if (peg$silentFails === 0) { peg$fail(peg$c68); }
2917
+ }
2918
+ if (s3 !== null) {
2919
+ peg$reportedPos = s0;
2920
+ s1 = peg$c87(s2);
2921
+ if (s1 === null) {
2922
+ peg$currPos = s0;
2923
+ s0 = s1;
2924
+ } else {
2925
+ s0 = s1;
2926
+ }
2927
+ } else {
2928
+ peg$currPos = s0;
2929
+ s0 = peg$c0;
2930
+ }
2931
+ } else {
2932
+ peg$currPos = s0;
2933
+ s0 = peg$c0;
2934
+ }
2935
+ } else {
2936
+ peg$currPos = s0;
2937
+ s0 = peg$c0;
2944
2938
  }
2945
2939
 
2946
2940
  return s0;
2947
2941
  }
2948
2942
 
2949
- function peg$parserawMustacheSingle() {
2943
+ function peg$parseattributeTextNodesInner() {
2950
2944
  var s0, s1, s2, s3, s4, s5;
2951
2945
 
2952
2946
  s0 = peg$currPos;
2953
- s1 = peg$parsesingleOpen();
2947
+ s1 = peg$parsepreAttrMustacheText();
2948
+ if (s1 === null) {
2949
+ s1 = peg$c1;
2950
+ }
2954
2951
  if (s1 !== null) {
2955
- s2 = peg$parse_();
2956
- if (s2 !== null) {
2957
- s3 = peg$parseinMustache();
2958
- if (s3 !== null) {
2959
- s4 = peg$parse_();
2960
- if (s4 !== null) {
2961
- s5 = peg$parsesingleClose();
2962
- if (s5 !== null) {
2963
- peg$reportedPos = s0;
2964
- s1 = peg$c91(s3);
2965
- if (s1 === null) {
2966
- peg$currPos = s0;
2967
- s0 = s1;
2968
- } else {
2969
- s0 = s1;
2970
- }
2971
- } else {
2972
- peg$currPos = s0;
2973
- s0 = peg$c0;
2974
- }
2952
+ s2 = [];
2953
+ s3 = peg$currPos;
2954
+ s4 = peg$parserawMustache();
2955
+ if (s4 !== null) {
2956
+ s5 = peg$parsepreAttrMustacheText();
2957
+ if (s5 === null) {
2958
+ s5 = peg$c1;
2959
+ }
2960
+ if (s5 !== null) {
2961
+ s4 = [s4, s5];
2962
+ s3 = s4;
2963
+ } else {
2964
+ peg$currPos = s3;
2965
+ s3 = peg$c0;
2966
+ }
2967
+ } else {
2968
+ peg$currPos = s3;
2969
+ s3 = peg$c0;
2970
+ }
2971
+ while (s3 !== null) {
2972
+ s2.push(s3);
2973
+ s3 = peg$currPos;
2974
+ s4 = peg$parserawMustache();
2975
+ if (s4 !== null) {
2976
+ s5 = peg$parsepreAttrMustacheText();
2977
+ if (s5 === null) {
2978
+ s5 = peg$c1;
2979
+ }
2980
+ if (s5 !== null) {
2981
+ s4 = [s4, s5];
2982
+ s3 = s4;
2975
2983
  } else {
2976
- peg$currPos = s0;
2977
- s0 = peg$c0;
2984
+ peg$currPos = s3;
2985
+ s3 = peg$c0;
2978
2986
  }
2979
2987
  } else {
2988
+ peg$currPos = s3;
2989
+ s3 = peg$c0;
2990
+ }
2991
+ }
2992
+ if (s2 !== null) {
2993
+ peg$reportedPos = s0;
2994
+ s1 = peg$c86(s1,s2);
2995
+ if (s1 === null) {
2980
2996
  peg$currPos = s0;
2981
- s0 = peg$c0;
2997
+ s0 = s1;
2998
+ } else {
2999
+ s0 = s1;
2982
3000
  }
2983
3001
  } else {
2984
3002
  peg$currPos = s0;
@@ -2992,6 +3010,17 @@ Emblem.Parser = (function() {
2992
3010
  return s0;
2993
3011
  }
2994
3012
 
3013
+ function peg$parserawMustache() {
3014
+ var s0;
3015
+
3016
+ s0 = peg$parserawMustacheUnescaped();
3017
+ if (s0 === null) {
3018
+ s0 = peg$parserawMustacheEscaped();
3019
+ }
3020
+
3021
+ return s0;
3022
+ }
3023
+
2995
3024
  function peg$parserawMustacheEscaped() {
2996
3025
  var s0, s1, s2, s3, s4, s5;
2997
3026
 
@@ -3007,7 +3036,7 @@ Emblem.Parser = (function() {
3007
3036
  s5 = peg$parsedoubleClose();
3008
3037
  if (s5 !== null) {
3009
3038
  peg$reportedPos = s0;
3010
- s1 = peg$c91(s3);
3039
+ s1 = peg$c88(s3);
3011
3040
  if (s1 === null) {
3012
3041
  peg$currPos = s0;
3013
3042
  s0 = s1;
@@ -3047,7 +3076,7 @@ Emblem.Parser = (function() {
3047
3076
  s5 = peg$parsehashStacheClose();
3048
3077
  if (s5 !== null) {
3049
3078
  peg$reportedPos = s0;
3050
- s1 = peg$c91(s3);
3079
+ s1 = peg$c88(s3);
3051
3080
  if (s1 === null) {
3052
3081
  peg$currPos = s0;
3053
3082
  s0 = s1;
@@ -3094,7 +3123,7 @@ Emblem.Parser = (function() {
3094
3123
  s5 = peg$parsetripleClose();
3095
3124
  if (s5 !== null) {
3096
3125
  peg$reportedPos = s0;
3097
- s1 = peg$c92(s3);
3126
+ s1 = peg$c89(s3);
3098
3127
  if (s1 === null) {
3099
3128
  peg$currPos = s0;
3100
3129
  s0 = s1;
@@ -3125,23 +3154,28 @@ Emblem.Parser = (function() {
3125
3154
  return s0;
3126
3155
  }
3127
3156
 
3128
- function peg$parsepreMustacheText() {
3129
- var s0, s1, s2;
3157
+ function peg$parsepreAttrMustacheText() {
3158
+ var s0, s1, s2, s3;
3130
3159
 
3131
3160
  s0 = peg$currPos;
3132
- s1 = [];
3133
- s2 = peg$parsepreMustacheUnit();
3134
- if (s2 !== null) {
3135
- while (s2 !== null) {
3136
- s1.push(s2);
3137
- s2 = peg$parsepreMustacheUnit();
3161
+ s1 = peg$currPos;
3162
+ s2 = [];
3163
+ s3 = peg$parsepreAttrMustacheUnit();
3164
+ if (s3 !== null) {
3165
+ while (s3 !== null) {
3166
+ s2.push(s3);
3167
+ s3 = peg$parsepreAttrMustacheUnit();
3138
3168
  }
3139
3169
  } else {
3140
- s1 = peg$c0;
3170
+ s2 = peg$c0;
3141
3171
  }
3172
+ if (s2 !== null) {
3173
+ s2 = input.substring(s1, peg$currPos);
3174
+ }
3175
+ s1 = s2;
3142
3176
  if (s1 !== null) {
3143
3177
  peg$reportedPos = s0;
3144
- s1 = peg$c93(s1);
3178
+ s1 = peg$c90(s1);
3145
3179
  }
3146
3180
  if (s1 === null) {
3147
3181
  peg$currPos = s0;
@@ -3153,25 +3187,98 @@ Emblem.Parser = (function() {
3153
3187
  return s0;
3154
3188
  }
3155
3189
 
3156
- function peg$parsepreMustacheUnit() {
3190
+ function peg$parsepreAttrMustacheUnit() {
3157
3191
  var s0, s1, s2;
3158
3192
 
3159
3193
  s0 = peg$currPos;
3160
3194
  s1 = peg$currPos;
3161
3195
  peg$silentFails++;
3162
- s2 = peg$parsetripleOpen();
3196
+ s2 = peg$parsenonMustacheUnit();
3163
3197
  if (s2 === null) {
3164
- s2 = peg$parsedoubleOpen();
3165
- if (s2 === null) {
3166
- s2 = peg$parsehashStacheOpen();
3167
- if (s2 === null) {
3168
- s2 = peg$parseanyDedent();
3169
- if (s2 === null) {
3170
- s2 = peg$parseTERM();
3171
- }
3198
+ if (input.charCodeAt(peg$currPos) === 34) {
3199
+ s2 = peg$c67;
3200
+ peg$currPos++;
3201
+ } else {
3202
+ s2 = null;
3203
+ if (peg$silentFails === 0) { peg$fail(peg$c68); }
3204
+ }
3205
+ }
3206
+ peg$silentFails--;
3207
+ if (s2 === null) {
3208
+ s1 = peg$c1;
3209
+ } else {
3210
+ peg$currPos = s1;
3211
+ s1 = peg$c0;
3212
+ }
3213
+ if (s1 !== null) {
3214
+ if (input.length > peg$currPos) {
3215
+ s2 = input.charAt(peg$currPos);
3216
+ peg$currPos++;
3217
+ } else {
3218
+ s2 = null;
3219
+ if (peg$silentFails === 0) { peg$fail(peg$c91); }
3220
+ }
3221
+ if (s2 !== null) {
3222
+ peg$reportedPos = s0;
3223
+ s1 = peg$c92(s2);
3224
+ if (s1 === null) {
3225
+ peg$currPos = s0;
3226
+ s0 = s1;
3227
+ } else {
3228
+ s0 = s1;
3172
3229
  }
3230
+ } else {
3231
+ peg$currPos = s0;
3232
+ s0 = peg$c0;
3173
3233
  }
3234
+ } else {
3235
+ peg$currPos = s0;
3236
+ s0 = peg$c0;
3174
3237
  }
3238
+
3239
+ return s0;
3240
+ }
3241
+
3242
+ function peg$parsepreMustacheText() {
3243
+ var s0, s1, s2, s3;
3244
+
3245
+ s0 = peg$currPos;
3246
+ s1 = peg$currPos;
3247
+ s2 = [];
3248
+ s3 = peg$parsepreMustacheUnit();
3249
+ if (s3 !== null) {
3250
+ while (s3 !== null) {
3251
+ s2.push(s3);
3252
+ s3 = peg$parsepreMustacheUnit();
3253
+ }
3254
+ } else {
3255
+ s2 = peg$c0;
3256
+ }
3257
+ if (s2 !== null) {
3258
+ s2 = input.substring(s1, peg$currPos);
3259
+ }
3260
+ s1 = s2;
3261
+ if (s1 !== null) {
3262
+ peg$reportedPos = s0;
3263
+ s1 = peg$c90(s1);
3264
+ }
3265
+ if (s1 === null) {
3266
+ peg$currPos = s0;
3267
+ s0 = s1;
3268
+ } else {
3269
+ s0 = s1;
3270
+ }
3271
+
3272
+ return s0;
3273
+ }
3274
+
3275
+ function peg$parsepreMustacheUnit() {
3276
+ var s0, s1, s2;
3277
+
3278
+ s0 = peg$currPos;
3279
+ s1 = peg$currPos;
3280
+ peg$silentFails++;
3281
+ s2 = peg$parsenonMustacheUnit();
3175
3282
  peg$silentFails--;
3176
3283
  if (s2 === null) {
3177
3284
  s1 = peg$c1;
@@ -3185,11 +3292,11 @@ Emblem.Parser = (function() {
3185
3292
  peg$currPos++;
3186
3293
  } else {
3187
3294
  s2 = null;
3188
- if (peg$silentFails === 0) { peg$fail(peg$c94); }
3295
+ if (peg$silentFails === 0) { peg$fail(peg$c91); }
3189
3296
  }
3190
3297
  if (s2 !== null) {
3191
3298
  peg$reportedPos = s0;
3192
- s1 = peg$c95(s2);
3299
+ s1 = peg$c92(s2);
3193
3300
  if (s1 === null) {
3194
3301
  peg$currPos = s0;
3195
3302
  s0 = s1;
@@ -3208,6 +3315,72 @@ Emblem.Parser = (function() {
3208
3315
  return s0;
3209
3316
  }
3210
3317
 
3318
+ function peg$parsenonMustacheUnit() {
3319
+ var s0;
3320
+
3321
+ s0 = peg$parsetripleOpen();
3322
+ if (s0 === null) {
3323
+ s0 = peg$parsedoubleOpen();
3324
+ if (s0 === null) {
3325
+ s0 = peg$parsehashStacheOpen();
3326
+ if (s0 === null) {
3327
+ s0 = peg$parseanyDedent();
3328
+ if (s0 === null) {
3329
+ s0 = peg$parseTERM();
3330
+ }
3331
+ }
3332
+ }
3333
+ }
3334
+
3335
+ return s0;
3336
+ }
3337
+
3338
+ function peg$parserawMustacheSingle() {
3339
+ var s0, s1, s2, s3, s4, s5;
3340
+
3341
+ s0 = peg$currPos;
3342
+ s1 = peg$parsesingleOpen();
3343
+ if (s1 !== null) {
3344
+ s2 = peg$parse_();
3345
+ if (s2 !== null) {
3346
+ s3 = peg$parseinMustache();
3347
+ if (s3 !== null) {
3348
+ s4 = peg$parse_();
3349
+ if (s4 !== null) {
3350
+ s5 = peg$parsesingleClose();
3351
+ if (s5 !== null) {
3352
+ peg$reportedPos = s0;
3353
+ s1 = peg$c88(s3);
3354
+ if (s1 === null) {
3355
+ peg$currPos = s0;
3356
+ s0 = s1;
3357
+ } else {
3358
+ s0 = s1;
3359
+ }
3360
+ } else {
3361
+ peg$currPos = s0;
3362
+ s0 = peg$c0;
3363
+ }
3364
+ } else {
3365
+ peg$currPos = s0;
3366
+ s0 = peg$c0;
3367
+ }
3368
+ } else {
3369
+ peg$currPos = s0;
3370
+ s0 = peg$c0;
3371
+ }
3372
+ } else {
3373
+ peg$currPos = s0;
3374
+ s0 = peg$c0;
3375
+ }
3376
+ } else {
3377
+ peg$currPos = s0;
3378
+ s0 = peg$c0;
3379
+ }
3380
+
3381
+ return s0;
3382
+ }
3383
+
3211
3384
  function peg$parseinTagMustache() {
3212
3385
  var s0;
3213
3386
 
@@ -3227,16 +3400,16 @@ Emblem.Parser = (function() {
3227
3400
 
3228
3401
  peg$silentFails++;
3229
3402
  if (input.charCodeAt(peg$currPos) === 123) {
3230
- s0 = peg$c97;
3403
+ s0 = peg$c94;
3231
3404
  peg$currPos++;
3232
3405
  } else {
3233
3406
  s0 = null;
3234
- if (peg$silentFails === 0) { peg$fail(peg$c98); }
3407
+ if (peg$silentFails === 0) { peg$fail(peg$c95); }
3235
3408
  }
3236
3409
  peg$silentFails--;
3237
3410
  if (s0 === null) {
3238
3411
  s1 = null;
3239
- if (peg$silentFails === 0) { peg$fail(peg$c96); }
3412
+ if (peg$silentFails === 0) { peg$fail(peg$c93); }
3240
3413
  }
3241
3414
 
3242
3415
  return s0;
@@ -3246,17 +3419,17 @@ Emblem.Parser = (function() {
3246
3419
  var s0, s1;
3247
3420
 
3248
3421
  peg$silentFails++;
3249
- if (input.substr(peg$currPos, 2) === peg$c100) {
3250
- s0 = peg$c100;
3422
+ if (input.substr(peg$currPos, 2) === peg$c97) {
3423
+ s0 = peg$c97;
3251
3424
  peg$currPos += 2;
3252
3425
  } else {
3253
3426
  s0 = null;
3254
- if (peg$silentFails === 0) { peg$fail(peg$c101); }
3427
+ if (peg$silentFails === 0) { peg$fail(peg$c98); }
3255
3428
  }
3256
3429
  peg$silentFails--;
3257
3430
  if (s0 === null) {
3258
3431
  s1 = null;
3259
- if (peg$silentFails === 0) { peg$fail(peg$c99); }
3432
+ if (peg$silentFails === 0) { peg$fail(peg$c96); }
3260
3433
  }
3261
3434
 
3262
3435
  return s0;
@@ -3266,17 +3439,17 @@ Emblem.Parser = (function() {
3266
3439
  var s0, s1;
3267
3440
 
3268
3441
  peg$silentFails++;
3269
- if (input.substr(peg$currPos, 3) === peg$c103) {
3270
- s0 = peg$c103;
3442
+ if (input.substr(peg$currPos, 3) === peg$c100) {
3443
+ s0 = peg$c100;
3271
3444
  peg$currPos += 3;
3272
3445
  } else {
3273
3446
  s0 = null;
3274
- if (peg$silentFails === 0) { peg$fail(peg$c104); }
3447
+ if (peg$silentFails === 0) { peg$fail(peg$c101); }
3275
3448
  }
3276
3449
  peg$silentFails--;
3277
3450
  if (s0 === null) {
3278
3451
  s1 = null;
3279
- if (peg$silentFails === 0) { peg$fail(peg$c102); }
3452
+ if (peg$silentFails === 0) { peg$fail(peg$c99); }
3280
3453
  }
3281
3454
 
3282
3455
  return s0;
@@ -3287,16 +3460,16 @@ Emblem.Parser = (function() {
3287
3460
 
3288
3461
  peg$silentFails++;
3289
3462
  if (input.charCodeAt(peg$currPos) === 125) {
3290
- s0 = peg$c106;
3463
+ s0 = peg$c103;
3291
3464
  peg$currPos++;
3292
3465
  } else {
3293
3466
  s0 = null;
3294
- if (peg$silentFails === 0) { peg$fail(peg$c107); }
3467
+ if (peg$silentFails === 0) { peg$fail(peg$c104); }
3295
3468
  }
3296
3469
  peg$silentFails--;
3297
3470
  if (s0 === null) {
3298
3471
  s1 = null;
3299
- if (peg$silentFails === 0) { peg$fail(peg$c105); }
3472
+ if (peg$silentFails === 0) { peg$fail(peg$c102); }
3300
3473
  }
3301
3474
 
3302
3475
  return s0;
@@ -3306,17 +3479,17 @@ Emblem.Parser = (function() {
3306
3479
  var s0, s1;
3307
3480
 
3308
3481
  peg$silentFails++;
3309
- if (input.substr(peg$currPos, 2) === peg$c109) {
3310
- s0 = peg$c109;
3482
+ if (input.substr(peg$currPos, 2) === peg$c106) {
3483
+ s0 = peg$c106;
3311
3484
  peg$currPos += 2;
3312
3485
  } else {
3313
3486
  s0 = null;
3314
- if (peg$silentFails === 0) { peg$fail(peg$c110); }
3487
+ if (peg$silentFails === 0) { peg$fail(peg$c107); }
3315
3488
  }
3316
3489
  peg$silentFails--;
3317
3490
  if (s0 === null) {
3318
3491
  s1 = null;
3319
- if (peg$silentFails === 0) { peg$fail(peg$c108); }
3492
+ if (peg$silentFails === 0) { peg$fail(peg$c105); }
3320
3493
  }
3321
3494
 
3322
3495
  return s0;
@@ -3326,17 +3499,17 @@ Emblem.Parser = (function() {
3326
3499
  var s0, s1;
3327
3500
 
3328
3501
  peg$silentFails++;
3329
- if (input.substr(peg$currPos, 3) === peg$c112) {
3330
- s0 = peg$c112;
3502
+ if (input.substr(peg$currPos, 3) === peg$c109) {
3503
+ s0 = peg$c109;
3331
3504
  peg$currPos += 3;
3332
3505
  } else {
3333
3506
  s0 = null;
3334
- if (peg$silentFails === 0) { peg$fail(peg$c113); }
3507
+ if (peg$silentFails === 0) { peg$fail(peg$c110); }
3335
3508
  }
3336
3509
  peg$silentFails--;
3337
3510
  if (s0 === null) {
3338
3511
  s1 = null;
3339
- if (peg$silentFails === 0) { peg$fail(peg$c111); }
3512
+ if (peg$silentFails === 0) { peg$fail(peg$c108); }
3340
3513
  }
3341
3514
 
3342
3515
  return s0;
@@ -3346,17 +3519,17 @@ Emblem.Parser = (function() {
3346
3519
  var s0, s1;
3347
3520
 
3348
3521
  peg$silentFails++;
3349
- if (input.substr(peg$currPos, 2) === peg$c115) {
3350
- s0 = peg$c115;
3522
+ if (input.substr(peg$currPos, 2) === peg$c112) {
3523
+ s0 = peg$c112;
3351
3524
  peg$currPos += 2;
3352
3525
  } else {
3353
3526
  s0 = null;
3354
- if (peg$silentFails === 0) { peg$fail(peg$c116); }
3527
+ if (peg$silentFails === 0) { peg$fail(peg$c113); }
3355
3528
  }
3356
3529
  peg$silentFails--;
3357
3530
  if (s0 === null) {
3358
3531
  s1 = null;
3359
- if (peg$silentFails === 0) { peg$fail(peg$c114); }
3532
+ if (peg$silentFails === 0) { peg$fail(peg$c111); }
3360
3533
  }
3361
3534
 
3362
3535
  return s0;
@@ -3367,16 +3540,16 @@ Emblem.Parser = (function() {
3367
3540
 
3368
3541
  peg$silentFails++;
3369
3542
  if (input.charCodeAt(peg$currPos) === 125) {
3370
- s0 = peg$c106;
3543
+ s0 = peg$c103;
3371
3544
  peg$currPos++;
3372
3545
  } else {
3373
3546
  s0 = null;
3374
- if (peg$silentFails === 0) { peg$fail(peg$c107); }
3547
+ if (peg$silentFails === 0) { peg$fail(peg$c104); }
3375
3548
  }
3376
3549
  peg$silentFails--;
3377
3550
  if (s0 === null) {
3378
3551
  s1 = null;
3379
- if (peg$silentFails === 0) { peg$fail(peg$c117); }
3552
+ if (peg$silentFails === 0) { peg$fail(peg$c114); }
3380
3553
  }
3381
3554
 
3382
3555
  return s0;
@@ -3386,12 +3559,12 @@ Emblem.Parser = (function() {
3386
3559
  var s0, s1, s2;
3387
3560
 
3388
3561
  s0 = peg$currPos;
3389
- if (input.substr(peg$currPos, 2) === peg$c118) {
3390
- s1 = peg$c118;
3562
+ if (input.substr(peg$currPos, 2) === peg$c115) {
3563
+ s1 = peg$c115;
3391
3564
  peg$currPos += 2;
3392
3565
  } else {
3393
3566
  s1 = null;
3394
- if (peg$silentFails === 0) { peg$fail(peg$c119); }
3567
+ if (peg$silentFails === 0) { peg$fail(peg$c116); }
3395
3568
  }
3396
3569
  if (s1 !== null) {
3397
3570
  if (input.charCodeAt(peg$currPos) === 32) {
@@ -3406,7 +3579,7 @@ Emblem.Parser = (function() {
3406
3579
  }
3407
3580
  if (s2 !== null) {
3408
3581
  peg$reportedPos = s0;
3409
- s1 = peg$c120();
3582
+ s1 = peg$c117();
3410
3583
  if (s1 === null) {
3411
3584
  peg$currPos = s0;
3412
3585
  s0 = s1;
@@ -3443,7 +3616,7 @@ Emblem.Parser = (function() {
3443
3616
  }
3444
3617
  if (s2 !== null) {
3445
3618
  peg$reportedPos = s0;
3446
- s1 = peg$c121();
3619
+ s1 = peg$c118();
3447
3620
  if (s1 === null) {
3448
3621
  peg$currPos = s0;
3449
3622
  s0 = s1;
@@ -3490,7 +3663,7 @@ Emblem.Parser = (function() {
3490
3663
  }
3491
3664
  if (s5 !== null) {
3492
3665
  peg$reportedPos = s1;
3493
- s2 = peg$c122(s2,s3,s4,s5);
3666
+ s2 = peg$c119(s2,s3,s4,s5);
3494
3667
  if (s2 === null) {
3495
3668
  peg$currPos = s1;
3496
3669
  s1 = s2;
@@ -3532,7 +3705,7 @@ Emblem.Parser = (function() {
3532
3705
  }
3533
3706
  if (s4 !== null) {
3534
3707
  peg$reportedPos = s1;
3535
- s2 = peg$c123(s2,s3,s4);
3708
+ s2 = peg$c120(s2,s3,s4);
3536
3709
  if (s2 === null) {
3537
3710
  peg$currPos = s1;
3538
3711
  s1 = s2;
@@ -3554,7 +3727,7 @@ Emblem.Parser = (function() {
3554
3727
  }
3555
3728
  if (s1 !== null) {
3556
3729
  peg$reportedPos = s0;
3557
- s1 = peg$c124(s1);
3730
+ s1 = peg$c121(s1);
3558
3731
  }
3559
3732
  if (s1 === null) {
3560
3733
  peg$currPos = s0;
@@ -3591,7 +3764,7 @@ Emblem.Parser = (function() {
3591
3764
  }
3592
3765
  if (s2 !== null) {
3593
3766
  peg$reportedPos = s0;
3594
- s1 = peg$c36(s1,s2);
3767
+ s1 = peg$c35(s1,s2);
3595
3768
  if (s1 === null) {
3596
3769
  peg$currPos = s0;
3597
3770
  s0 = s1;
@@ -3626,7 +3799,7 @@ Emblem.Parser = (function() {
3626
3799
  }
3627
3800
  if (s1 !== null) {
3628
3801
  peg$reportedPos = s0;
3629
- s1 = peg$c37(s1);
3802
+ s1 = peg$c36(s1);
3630
3803
  }
3631
3804
  if (s1 === null) {
3632
3805
  peg$currPos = s0;
@@ -3677,7 +3850,7 @@ Emblem.Parser = (function() {
3677
3850
  }
3678
3851
  if (s2 !== null) {
3679
3852
  peg$reportedPos = s0;
3680
- s1 = peg$c125(s2);
3853
+ s1 = peg$c122(s2);
3681
3854
  if (s1 === null) {
3682
3855
  peg$currPos = s0;
3683
3856
  s0 = s1;
@@ -3699,12 +3872,12 @@ Emblem.Parser = (function() {
3699
3872
  function peg$parseboundAttributeValueChar() {
3700
3873
  var s0;
3701
3874
 
3702
- if (peg$c126.test(input.charAt(peg$currPos))) {
3875
+ if (peg$c123.test(input.charAt(peg$currPos))) {
3703
3876
  s0 = input.charAt(peg$currPos);
3704
3877
  peg$currPos++;
3705
3878
  } else {
3706
3879
  s0 = null;
3707
- if (peg$silentFails === 0) { peg$fail(peg$c127); }
3880
+ if (peg$silentFails === 0) { peg$fail(peg$c124); }
3708
3881
  }
3709
3882
 
3710
3883
  return s0;
@@ -3719,7 +3892,7 @@ Emblem.Parser = (function() {
3719
3892
  s1 = peg$parsepathIdNode();
3720
3893
  if (s1 !== null) {
3721
3894
  peg$reportedPos = s0;
3722
- s1 = peg$c128(s1);
3895
+ s1 = peg$c125(s1);
3723
3896
  }
3724
3897
  if (s1 === null) {
3725
3898
  peg$currPos = s0;
@@ -3738,21 +3911,21 @@ Emblem.Parser = (function() {
3738
3911
  s0 = peg$currPos;
3739
3912
  s1 = peg$currPos;
3740
3913
  if (input.charCodeAt(peg$currPos) === 34) {
3741
- s2 = peg$c71;
3914
+ s2 = peg$c67;
3742
3915
  peg$currPos++;
3743
3916
  } else {
3744
3917
  s2 = null;
3745
- if (peg$silentFails === 0) { peg$fail(peg$c72); }
3918
+ if (peg$silentFails === 0) { peg$fail(peg$c68); }
3746
3919
  }
3747
3920
  if (s2 !== null) {
3748
3921
  s3 = peg$parseinMustache();
3749
3922
  if (s3 !== null) {
3750
3923
  if (input.charCodeAt(peg$currPos) === 34) {
3751
- s4 = peg$c71;
3924
+ s4 = peg$c67;
3752
3925
  peg$currPos++;
3753
3926
  } else {
3754
3927
  s4 = null;
3755
- if (peg$silentFails === 0) { peg$fail(peg$c72); }
3928
+ if (peg$silentFails === 0) { peg$fail(peg$c68); }
3756
3929
  }
3757
3930
  if (s4 !== null) {
3758
3931
  s2 = [s2, s3, s4];
@@ -3772,21 +3945,21 @@ Emblem.Parser = (function() {
3772
3945
  if (s1 === null) {
3773
3946
  s1 = peg$currPos;
3774
3947
  if (input.charCodeAt(peg$currPos) === 39) {
3775
- s2 = peg$c73;
3948
+ s2 = peg$c69;
3776
3949
  peg$currPos++;
3777
3950
  } else {
3778
3951
  s2 = null;
3779
- if (peg$silentFails === 0) { peg$fail(peg$c74); }
3952
+ if (peg$silentFails === 0) { peg$fail(peg$c70); }
3780
3953
  }
3781
3954
  if (s2 !== null) {
3782
3955
  s3 = peg$parseinMustache();
3783
3956
  if (s3 !== null) {
3784
3957
  if (input.charCodeAt(peg$currPos) === 39) {
3785
- s4 = peg$c73;
3958
+ s4 = peg$c69;
3786
3959
  peg$currPos++;
3787
3960
  } else {
3788
3961
  s4 = null;
3789
- if (peg$silentFails === 0) { peg$fail(peg$c74); }
3962
+ if (peg$silentFails === 0) { peg$fail(peg$c70); }
3790
3963
  }
3791
3964
  if (s4 !== null) {
3792
3965
  s2 = [s2, s3, s4];
@@ -3806,7 +3979,7 @@ Emblem.Parser = (function() {
3806
3979
  }
3807
3980
  if (s1 !== null) {
3808
3981
  peg$reportedPos = s0;
3809
- s1 = peg$c75(s1);
3982
+ s1 = peg$c71(s1);
3810
3983
  }
3811
3984
  if (s1 === null) {
3812
3985
  peg$currPos = s0;
@@ -3835,7 +4008,7 @@ Emblem.Parser = (function() {
3835
4008
  s3 = peg$parseactionValue();
3836
4009
  if (s3 !== null) {
3837
4010
  peg$reportedPos = s0;
3838
- s1 = peg$c129(s1,s3);
4011
+ s1 = peg$c126(s1,s3);
3839
4012
  if (s1 === null) {
3840
4013
  peg$currPos = s0;
3841
4014
  s0 = s1;
@@ -3863,11 +4036,11 @@ Emblem.Parser = (function() {
3863
4036
 
3864
4037
  s0 = peg$currPos;
3865
4038
  if (input.charCodeAt(peg$currPos) === 123) {
3866
- s1 = peg$c97;
4039
+ s1 = peg$c94;
3867
4040
  peg$currPos++;
3868
4041
  } else {
3869
4042
  s1 = null;
3870
- if (peg$silentFails === 0) { peg$fail(peg$c98); }
4043
+ if (peg$silentFails === 0) { peg$fail(peg$c95); }
3871
4044
  }
3872
4045
  if (s1 !== null) {
3873
4046
  s2 = peg$parse_();
@@ -3909,15 +4082,15 @@ Emblem.Parser = (function() {
3909
4082
  s4 = peg$parse_();
3910
4083
  if (s4 !== null) {
3911
4084
  if (input.charCodeAt(peg$currPos) === 125) {
3912
- s5 = peg$c106;
4085
+ s5 = peg$c103;
3913
4086
  peg$currPos++;
3914
4087
  } else {
3915
4088
  s5 = null;
3916
- if (peg$silentFails === 0) { peg$fail(peg$c107); }
4089
+ if (peg$silentFails === 0) { peg$fail(peg$c104); }
3917
4090
  }
3918
4091
  if (s5 !== null) {
3919
4092
  peg$reportedPos = s0;
3920
- s1 = peg$c130(s3);
4093
+ s1 = peg$c127(s3);
3921
4094
  if (s1 === null) {
3922
4095
  peg$currPos = s0;
3923
4096
  s0 = s1;
@@ -3966,7 +4139,7 @@ Emblem.Parser = (function() {
3966
4139
  }
3967
4140
 
3968
4141
  function peg$parseboundAttribute() {
3969
- var s0, s1, s2, s3, s4;
4142
+ var s0, s1, s2, s3, s4, s5;
3970
4143
 
3971
4144
  s0 = peg$currPos;
3972
4145
  s1 = peg$parsekey();
@@ -3981,21 +4154,42 @@ Emblem.Parser = (function() {
3981
4154
  if (s2 !== null) {
3982
4155
  s3 = peg$parseboundAttributeValue();
3983
4156
  if (s3 !== null) {
3984
- peg$reportedPos = peg$currPos;
3985
- s4 = peg$c131(s1,s3);
3986
- if (s4) {
4157
+ s4 = peg$currPos;
4158
+ peg$silentFails++;
4159
+ if (input.charCodeAt(peg$currPos) === 33) {
4160
+ s5 = peg$c128;
4161
+ peg$currPos++;
4162
+ } else {
4163
+ s5 = null;
4164
+ if (peg$silentFails === 0) { peg$fail(peg$c129); }
4165
+ }
4166
+ peg$silentFails--;
4167
+ if (s5 === null) {
3987
4168
  s4 = peg$c1;
3988
4169
  } else {
4170
+ peg$currPos = s4;
3989
4171
  s4 = peg$c0;
3990
4172
  }
3991
4173
  if (s4 !== null) {
3992
- peg$reportedPos = s0;
3993
- s1 = peg$c132(s1,s3);
3994
- if (s1 === null) {
3995
- peg$currPos = s0;
3996
- s0 = s1;
4174
+ peg$reportedPos = peg$currPos;
4175
+ s5 = peg$c130(s1,s3);
4176
+ if (s5) {
4177
+ s5 = peg$c1;
3997
4178
  } else {
3998
- s0 = s1;
4179
+ s5 = peg$c0;
4180
+ }
4181
+ if (s5 !== null) {
4182
+ peg$reportedPos = s0;
4183
+ s1 = peg$c131(s1,s3);
4184
+ if (s1 === null) {
4185
+ peg$currPos = s0;
4186
+ s0 = s1;
4187
+ } else {
4188
+ s0 = s1;
4189
+ }
4190
+ } else {
4191
+ peg$currPos = s0;
4192
+ s0 = peg$c0;
3999
4193
  }
4000
4194
  } else {
4001
4195
  peg$currPos = s0;
@@ -4034,7 +4228,7 @@ Emblem.Parser = (function() {
4034
4228
  s3 = peg$parsepathIdNode();
4035
4229
  if (s3 !== null) {
4036
4230
  peg$reportedPos = s0;
4037
- s1 = peg$c133(s1,s3);
4231
+ s1 = peg$c132(s1,s3);
4038
4232
  if (s1 === null) {
4039
4233
  peg$currPos = s0;
4040
4234
  s0 = s1;
@@ -4071,10 +4265,10 @@ Emblem.Parser = (function() {
4071
4265
  if (peg$silentFails === 0) { peg$fail(peg$c26); }
4072
4266
  }
4073
4267
  if (s2 !== null) {
4074
- s3 = peg$parsestring();
4268
+ s3 = peg$parseattributeTextNodes();
4075
4269
  if (s3 !== null) {
4076
4270
  peg$reportedPos = s0;
4077
- s1 = peg$c134(s1,s3);
4271
+ s1 = peg$c133(s1,s3);
4078
4272
  if (s1 === null) {
4079
4273
  peg$currPos = s0;
4080
4274
  s0 = s1;
@@ -4131,28 +4325,28 @@ Emblem.Parser = (function() {
4131
4325
 
4132
4326
  s0 = peg$parsealpha();
4133
4327
  if (s0 === null) {
4134
- if (peg$c68.test(input.charAt(peg$currPos))) {
4328
+ if (peg$c64.test(input.charAt(peg$currPos))) {
4135
4329
  s0 = input.charAt(peg$currPos);
4136
4330
  peg$currPos++;
4137
4331
  } else {
4138
4332
  s0 = null;
4139
- if (peg$silentFails === 0) { peg$fail(peg$c69); }
4333
+ if (peg$silentFails === 0) { peg$fail(peg$c65); }
4140
4334
  }
4141
4335
  if (s0 === null) {
4142
4336
  if (input.charCodeAt(peg$currPos) === 95) {
4143
- s0 = peg$c135;
4337
+ s0 = peg$c134;
4144
4338
  peg$currPos++;
4145
4339
  } else {
4146
4340
  s0 = null;
4147
- if (peg$silentFails === 0) { peg$fail(peg$c136); }
4341
+ if (peg$silentFails === 0) { peg$fail(peg$c135); }
4148
4342
  }
4149
4343
  if (s0 === null) {
4150
4344
  if (input.charCodeAt(peg$currPos) === 45) {
4151
- s0 = peg$c137;
4345
+ s0 = peg$c136;
4152
4346
  peg$currPos++;
4153
4347
  } else {
4154
4348
  s0 = null;
4155
- if (peg$silentFails === 0) { peg$fail(peg$c138); }
4349
+ if (peg$silentFails === 0) { peg$fail(peg$c137); }
4156
4350
  }
4157
4351
  }
4158
4352
  }
@@ -4166,17 +4360,17 @@ Emblem.Parser = (function() {
4166
4360
 
4167
4361
  s0 = peg$currPos;
4168
4362
  if (input.charCodeAt(peg$currPos) === 37) {
4169
- s1 = peg$c139;
4363
+ s1 = peg$c138;
4170
4364
  peg$currPos++;
4171
4365
  } else {
4172
4366
  s1 = null;
4173
- if (peg$silentFails === 0) { peg$fail(peg$c140); }
4367
+ if (peg$silentFails === 0) { peg$fail(peg$c139); }
4174
4368
  }
4175
4369
  if (s1 !== null) {
4176
4370
  s2 = peg$parsecssIdentifier();
4177
4371
  if (s2 !== null) {
4178
4372
  peg$reportedPos = s0;
4179
- s1 = peg$c95(s2);
4373
+ s1 = peg$c92(s2);
4180
4374
  if (s1 === null) {
4181
4375
  peg$currPos = s0;
4182
4376
  s0 = s1;
@@ -4200,17 +4394,17 @@ Emblem.Parser = (function() {
4200
4394
 
4201
4395
  s0 = peg$currPos;
4202
4396
  if (input.charCodeAt(peg$currPos) === 35) {
4203
- s1 = peg$c141;
4397
+ s1 = peg$c140;
4204
4398
  peg$currPos++;
4205
4399
  } else {
4206
4400
  s1 = null;
4207
- if (peg$silentFails === 0) { peg$fail(peg$c142); }
4401
+ if (peg$silentFails === 0) { peg$fail(peg$c141); }
4208
4402
  }
4209
4403
  if (s1 !== null) {
4210
4404
  s2 = peg$parsecssIdentifier();
4211
4405
  if (s2 !== null) {
4212
4406
  peg$reportedPos = s0;
4213
- s1 = peg$c143(s2);
4407
+ s1 = peg$c142(s2);
4214
4408
  if (s1 === null) {
4215
4409
  peg$currPos = s0;
4216
4410
  s0 = s1;
@@ -4234,17 +4428,17 @@ Emblem.Parser = (function() {
4234
4428
 
4235
4429
  s0 = peg$currPos;
4236
4430
  if (input.charCodeAt(peg$currPos) === 46) {
4237
- s1 = peg$c46;
4431
+ s1 = peg$c42;
4238
4432
  peg$currPos++;
4239
4433
  } else {
4240
4434
  s1 = null;
4241
- if (peg$silentFails === 0) { peg$fail(peg$c47); }
4435
+ if (peg$silentFails === 0) { peg$fail(peg$c43); }
4242
4436
  }
4243
4437
  if (s1 !== null) {
4244
4438
  s2 = peg$parsecssIdentifier();
4245
4439
  if (s2 !== null) {
4246
4440
  peg$reportedPos = s0;
4247
- s1 = peg$c95(s2);
4441
+ s1 = peg$c92(s2);
4248
4442
  if (s1 === null) {
4249
4443
  peg$currPos = s0;
4250
4444
  s0 = s1;
@@ -4271,7 +4465,7 @@ Emblem.Parser = (function() {
4271
4465
  peg$silentFails--;
4272
4466
  if (s0 === null) {
4273
4467
  s1 = null;
4274
- if (peg$silentFails === 0) { peg$fail(peg$c144); }
4468
+ if (peg$silentFails === 0) { peg$fail(peg$c143); }
4275
4469
  }
4276
4470
 
4277
4471
  return s0;
@@ -4296,7 +4490,7 @@ Emblem.Parser = (function() {
4296
4490
  s2 = s3;
4297
4491
  if (s2 !== null) {
4298
4492
  peg$reportedPos = s0;
4299
- s1 = peg$c145(s1,s2);
4493
+ s1 = peg$c144(s1,s2);
4300
4494
  if (s1 === null) {
4301
4495
  peg$currPos = s0;
4302
4496
  s0 = s1;
@@ -4318,12 +4512,12 @@ Emblem.Parser = (function() {
4318
4512
  function peg$parsenmchar() {
4319
4513
  var s0;
4320
4514
 
4321
- if (peg$c146.test(input.charAt(peg$currPos))) {
4515
+ if (peg$c145.test(input.charAt(peg$currPos))) {
4322
4516
  s0 = input.charAt(peg$currPos);
4323
4517
  peg$currPos++;
4324
4518
  } else {
4325
4519
  s0 = null;
4326
- if (peg$silentFails === 0) { peg$fail(peg$c147); }
4520
+ if (peg$silentFails === 0) { peg$fail(peg$c146); }
4327
4521
  }
4328
4522
  if (s0 === null) {
4329
4523
  s0 = peg$parsenonascii();
@@ -4335,12 +4529,12 @@ Emblem.Parser = (function() {
4335
4529
  function peg$parsenmstart() {
4336
4530
  var s0;
4337
4531
 
4338
- if (peg$c148.test(input.charAt(peg$currPos))) {
4532
+ if (peg$c147.test(input.charAt(peg$currPos))) {
4339
4533
  s0 = input.charAt(peg$currPos);
4340
4534
  peg$currPos++;
4341
4535
  } else {
4342
4536
  s0 = null;
4343
- if (peg$silentFails === 0) { peg$fail(peg$c149); }
4537
+ if (peg$silentFails === 0) { peg$fail(peg$c148); }
4344
4538
  }
4345
4539
  if (s0 === null) {
4346
4540
  s0 = peg$parsenonascii();
@@ -4352,12 +4546,12 @@ Emblem.Parser = (function() {
4352
4546
  function peg$parsenonascii() {
4353
4547
  var s0;
4354
4548
 
4355
- if (peg$c150.test(input.charAt(peg$currPos))) {
4549
+ if (peg$c149.test(input.charAt(peg$currPos))) {
4356
4550
  s0 = input.charAt(peg$currPos);
4357
4551
  peg$currPos++;
4358
4552
  } else {
4359
4553
  s0 = null;
4360
- if (peg$silentFails === 0) { peg$fail(peg$c151); }
4554
+ if (peg$silentFails === 0) { peg$fail(peg$c150); }
4361
4555
  }
4362
4556
 
4363
4557
  return s0;
@@ -4391,17 +4585,17 @@ Emblem.Parser = (function() {
4391
4585
  peg$silentFails++;
4392
4586
  s0 = peg$currPos;
4393
4587
  if (input.charCodeAt(peg$currPos) === 37) {
4394
- s1 = peg$c139;
4588
+ s1 = peg$c138;
4395
4589
  peg$currPos++;
4396
4590
  } else {
4397
4591
  s1 = null;
4398
- if (peg$silentFails === 0) { peg$fail(peg$c140); }
4592
+ if (peg$silentFails === 0) { peg$fail(peg$c139); }
4399
4593
  }
4400
4594
  if (s1 !== null) {
4401
4595
  s2 = peg$parsetagString();
4402
4596
  if (s2 !== null) {
4403
4597
  peg$reportedPos = s0;
4404
- s1 = peg$c50(s2);
4598
+ s1 = peg$c46(s2);
4405
4599
  if (s1 === null) {
4406
4600
  peg$currPos = s0;
4407
4601
  s0 = s1;
@@ -4422,7 +4616,7 @@ Emblem.Parser = (function() {
4422
4616
  peg$silentFails--;
4423
4617
  if (s0 === null) {
4424
4618
  s1 = null;
4425
- if (peg$silentFails === 0) { peg$fail(peg$c152); }
4619
+ if (peg$silentFails === 0) { peg$fail(peg$c151); }
4426
4620
  }
4427
4621
 
4428
4622
  return s0;
@@ -4435,7 +4629,7 @@ Emblem.Parser = (function() {
4435
4629
  s1 = peg$parsetagString();
4436
4630
  if (s1 !== null) {
4437
4631
  peg$reportedPos = peg$currPos;
4438
- s2 = peg$c153(s1);
4632
+ s2 = peg$c152(s1);
4439
4633
  if (s2) {
4440
4634
  s2 = peg$c1;
4441
4635
  } else {
@@ -4443,7 +4637,7 @@ Emblem.Parser = (function() {
4443
4637
  }
4444
4638
  if (s2 !== null) {
4445
4639
  peg$reportedPos = s0;
4446
- s1 = peg$c154(s1);
4640
+ s1 = peg$c153(s1);
4447
4641
  if (s1 === null) {
4448
4642
  peg$currPos = s0;
4449
4643
  s0 = s1;
@@ -4465,12 +4659,12 @@ Emblem.Parser = (function() {
4465
4659
  function peg$parsetagChar() {
4466
4660
  var s0;
4467
4661
 
4468
- if (peg$c155.test(input.charAt(peg$currPos))) {
4662
+ if (peg$c154.test(input.charAt(peg$currPos))) {
4469
4663
  s0 = input.charAt(peg$currPos);
4470
4664
  peg$currPos++;
4471
4665
  } else {
4472
4666
  s0 = null;
4473
- if (peg$silentFails === 0) { peg$fail(peg$c156); }
4667
+ if (peg$silentFails === 0) { peg$fail(peg$c155); }
4474
4668
  }
4475
4669
 
4476
4670
  return s0;
@@ -4484,7 +4678,7 @@ Emblem.Parser = (function() {
4484
4678
  s1 = peg$parsetagString();
4485
4679
  if (s1 !== null) {
4486
4680
  peg$reportedPos = peg$currPos;
4487
- s2 = peg$c158(s1);
4681
+ s2 = peg$c157(s1);
4488
4682
  if (s2) {
4489
4683
  s2 = peg$c1;
4490
4684
  } else {
@@ -4492,7 +4686,7 @@ Emblem.Parser = (function() {
4492
4686
  }
4493
4687
  if (s2 !== null) {
4494
4688
  peg$reportedPos = s0;
4495
- s1 = peg$c154(s1);
4689
+ s1 = peg$c153(s1);
4496
4690
  if (s1 === null) {
4497
4691
  peg$currPos = s0;
4498
4692
  s0 = s1;
@@ -4510,7 +4704,7 @@ Emblem.Parser = (function() {
4510
4704
  peg$silentFails--;
4511
4705
  if (s0 === null) {
4512
4706
  s1 = null;
4513
- if (peg$silentFails === 0) { peg$fail(peg$c157); }
4707
+ if (peg$silentFails === 0) { peg$fail(peg$c156); }
4514
4708
  }
4515
4709
 
4516
4710
  return s0;
@@ -4525,7 +4719,7 @@ Emblem.Parser = (function() {
4525
4719
  s2 = peg$parse__();
4526
4720
  if (s2 !== null) {
4527
4721
  peg$reportedPos = s0;
4528
- s1 = peg$c50(s2);
4722
+ s1 = peg$c46(s2);
4529
4723
  if (s1 === null) {
4530
4724
  peg$currPos = s0;
4531
4725
  s0 = s1;
@@ -4550,15 +4744,15 @@ Emblem.Parser = (function() {
4550
4744
  peg$silentFails++;
4551
4745
  s0 = peg$currPos;
4552
4746
  if (input.charCodeAt(peg$currPos) === 61423) {
4553
- s1 = peg$c160;
4747
+ s1 = peg$c159;
4554
4748
  peg$currPos++;
4555
4749
  } else {
4556
4750
  s1 = null;
4557
- if (peg$silentFails === 0) { peg$fail(peg$c161); }
4751
+ if (peg$silentFails === 0) { peg$fail(peg$c160); }
4558
4752
  }
4559
4753
  if (s1 !== null) {
4560
4754
  peg$reportedPos = s0;
4561
- s1 = peg$c162();
4755
+ s1 = peg$c161();
4562
4756
  }
4563
4757
  if (s1 === null) {
4564
4758
  peg$currPos = s0;
@@ -4569,7 +4763,7 @@ Emblem.Parser = (function() {
4569
4763
  peg$silentFails--;
4570
4764
  if (s0 === null) {
4571
4765
  s1 = null;
4572
- if (peg$silentFails === 0) { peg$fail(peg$c159); }
4766
+ if (peg$silentFails === 0) { peg$fail(peg$c158); }
4573
4767
  }
4574
4768
 
4575
4769
  return s0;
@@ -4581,15 +4775,15 @@ Emblem.Parser = (function() {
4581
4775
  peg$silentFails++;
4582
4776
  s0 = peg$currPos;
4583
4777
  if (input.charCodeAt(peg$currPos) === 61438) {
4584
- s1 = peg$c164;
4778
+ s1 = peg$c163;
4585
4779
  peg$currPos++;
4586
4780
  } else {
4587
4781
  s1 = null;
4588
- if (peg$silentFails === 0) { peg$fail(peg$c165); }
4782
+ if (peg$silentFails === 0) { peg$fail(peg$c164); }
4589
4783
  }
4590
4784
  if (s1 !== null) {
4591
4785
  peg$reportedPos = s0;
4592
- s1 = peg$c162();
4786
+ s1 = peg$c161();
4593
4787
  }
4594
4788
  if (s1 === null) {
4595
4789
  peg$currPos = s0;
@@ -4600,7 +4794,7 @@ Emblem.Parser = (function() {
4600
4794
  peg$silentFails--;
4601
4795
  if (s0 === null) {
4602
4796
  s1 = null;
4603
- if (peg$silentFails === 0) { peg$fail(peg$c163); }
4797
+ if (peg$silentFails === 0) { peg$fail(peg$c162); }
4604
4798
  }
4605
4799
 
4606
4800
  return s0;
@@ -4612,15 +4806,15 @@ Emblem.Parser = (function() {
4612
4806
  peg$silentFails++;
4613
4807
  s0 = peg$currPos;
4614
4808
  if (input.charCodeAt(peg$currPos) === 61422) {
4615
- s1 = peg$c167;
4809
+ s1 = peg$c166;
4616
4810
  peg$currPos++;
4617
4811
  } else {
4618
4812
  s1 = null;
4619
- if (peg$silentFails === 0) { peg$fail(peg$c168); }
4813
+ if (peg$silentFails === 0) { peg$fail(peg$c167); }
4620
4814
  }
4621
4815
  if (s1 !== null) {
4622
4816
  peg$reportedPos = s0;
4623
- s1 = peg$c162();
4817
+ s1 = peg$c161();
4624
4818
  }
4625
4819
  if (s1 === null) {
4626
4820
  peg$currPos = s0;
@@ -4631,7 +4825,7 @@ Emblem.Parser = (function() {
4631
4825
  peg$silentFails--;
4632
4826
  if (s0 === null) {
4633
4827
  s1 = null;
4634
- if (peg$silentFails === 0) { peg$fail(peg$c166); }
4828
+ if (peg$silentFails === 0) { peg$fail(peg$c165); }
4635
4829
  }
4636
4830
 
4637
4831
  return s0;
@@ -4643,19 +4837,19 @@ Emblem.Parser = (function() {
4643
4837
  peg$silentFails++;
4644
4838
  s0 = peg$currPos;
4645
4839
  if (input.charCodeAt(peg$currPos) === 61439) {
4646
- s1 = peg$c170;
4840
+ s1 = peg$c169;
4647
4841
  peg$currPos++;
4648
4842
  } else {
4649
4843
  s1 = null;
4650
- if (peg$silentFails === 0) { peg$fail(peg$c171); }
4844
+ if (peg$silentFails === 0) { peg$fail(peg$c170); }
4651
4845
  }
4652
4846
  if (s1 !== null) {
4653
4847
  if (input.charCodeAt(peg$currPos) === 10) {
4654
- s2 = peg$c172;
4848
+ s2 = peg$c171;
4655
4849
  peg$currPos++;
4656
4850
  } else {
4657
4851
  s2 = null;
4658
- if (peg$silentFails === 0) { peg$fail(peg$c173); }
4852
+ if (peg$silentFails === 0) { peg$fail(peg$c172); }
4659
4853
  }
4660
4854
  if (s2 !== null) {
4661
4855
  s1 = [s1, s2];
@@ -4671,7 +4865,7 @@ Emblem.Parser = (function() {
4671
4865
  peg$silentFails--;
4672
4866
  if (s0 === null) {
4673
4867
  s1 = null;
4674
- if (peg$silentFails === 0) { peg$fail(peg$c169); }
4868
+ if (peg$silentFails === 0) { peg$fail(peg$c168); }
4675
4869
  }
4676
4870
 
4677
4871
  return s0;
@@ -4688,7 +4882,7 @@ Emblem.Parser = (function() {
4688
4882
  peg$silentFails--;
4689
4883
  if (s0 === null) {
4690
4884
  s1 = null;
4691
- if (peg$silentFails === 0) { peg$fail(peg$c174); }
4885
+ if (peg$silentFails === 0) { peg$fail(peg$c173); }
4692
4886
  }
4693
4887
 
4694
4888
  return s0;
@@ -4716,7 +4910,7 @@ Emblem.Parser = (function() {
4716
4910
  peg$silentFails--;
4717
4911
  if (s0 === null) {
4718
4912
  s1 = null;
4719
- if (peg$silentFails === 0) { peg$fail(peg$c175); }
4913
+ if (peg$silentFails === 0) { peg$fail(peg$c174); }
4720
4914
  }
4721
4915
 
4722
4916
  return s0;
@@ -4735,7 +4929,7 @@ Emblem.Parser = (function() {
4735
4929
  peg$silentFails--;
4736
4930
  if (s0 === null) {
4737
4931
  s1 = null;
4738
- if (peg$silentFails === 0) { peg$fail(peg$c176); }
4932
+ if (peg$silentFails === 0) { peg$fail(peg$c175); }
4739
4933
  }
4740
4934
 
4741
4935
  return s0;
@@ -4745,17 +4939,17 @@ Emblem.Parser = (function() {
4745
4939
  var s0, s1;
4746
4940
 
4747
4941
  peg$silentFails++;
4748
- if (peg$c178.test(input.charAt(peg$currPos))) {
4942
+ if (peg$c177.test(input.charAt(peg$currPos))) {
4749
4943
  s0 = input.charAt(peg$currPos);
4750
4944
  peg$currPos++;
4751
4945
  } else {
4752
4946
  s0 = null;
4753
- if (peg$silentFails === 0) { peg$fail(peg$c179); }
4947
+ if (peg$silentFails === 0) { peg$fail(peg$c178); }
4754
4948
  }
4755
4949
  peg$silentFails--;
4756
4950
  if (s0 === null) {
4757
4951
  s1 = null;
4758
- if (peg$silentFails === 0) { peg$fail(peg$c177); }
4952
+ if (peg$silentFails === 0) { peg$fail(peg$c176); }
4759
4953
  }
4760
4954
 
4761
4955
  return s0;
@@ -4787,11 +4981,11 @@ Emblem.Parser = (function() {
4787
4981
  peg$currPos++;
4788
4982
  } else {
4789
4983
  s2 = null;
4790
- if (peg$silentFails === 0) { peg$fail(peg$c94); }
4984
+ if (peg$silentFails === 0) { peg$fail(peg$c91); }
4791
4985
  }
4792
4986
  if (s2 !== null) {
4793
4987
  peg$reportedPos = s0;
4794
- s1 = peg$c95(s2);
4988
+ s1 = peg$c92(s2);
4795
4989
  if (s1 === null) {
4796
4990
  peg$currPos = s0;
4797
4991
  s0 = s1;
@@ -4906,6 +5100,22 @@ Emblem.Parser = (function() {
4906
5100
  return new AST.MustacheNode(params, hash, !mustacheNode.escaped);
4907
5101
  }
4908
5102
 
5103
+ function textNodesResult(first, tail) {
5104
+ var ret = [];
5105
+ if(first) { ret.push(first); }
5106
+ for(var i = 0; i < tail.length; ++i) {
5107
+ var t = tail[i];
5108
+ ret.push(t[0]);
5109
+ if(t[1]) { ret.push(t[1]); }
5110
+ }
5111
+ return ret;
5112
+ }
5113
+
5114
+ // Only for debugging use.
5115
+ function log(msg) {
5116
+ handlebarsVariant.log(9, msg);
5117
+ }
5118
+
4909
5119
 
4910
5120
  peg$result = peg$startRuleFunction();
4911
5121