emblem-source 0.3.2 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +8 -8
  2. data/dist/emblem.js +592 -482
  3. data/dist/emblem.min.js +2 -2
  4. metadata +4 -3
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MjI1ZDM3YTlmODA2ZGVhNzg2NzM3ODBlNDU1NTRhM2RkNjRmNzcyNA==
4
+ YWFkODYyOWU0MGQ3N2M5ZWZjYjVhMGI0NDczM2RhNTQxMTAzYzRmOQ==
5
5
  data.tar.gz: !binary |-
6
- OGI0NGQyNDRjOWVlOWU5YTM0MTY4YTI2YmY3OTg1NDM1MGMxYTNiYg==
6
+ ZjE0YTNiNjYxYmUwZjYyYmE5MmQ0MDllNDEwNTk0YWE1MjJjNDk1YQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NmVlNDVkOTQ5MzVkYzJlMTJlY2MyZWNhM2ZjYTViNWIzNDQ2ZGNmY2Q5MzBi
10
- ZGZiMmMxZmQwOGZjNTVjYjFjNzQ3NDMzYWVjYTMxNDU4MjliMGMzMWJkMjhm
11
- MTA5NmNkZTk4MWZmZjA0OWU0YTMwNDhkNzQxNjNiNjkzNTBkMzU=
9
+ YWNkNDFjOGYzZjkzOThmNjY4MDc0YThlOGMxYWE0ZjI1NDA1NDRkNTQyMDAz
10
+ ZGEyNzg3NWE1MjhhZTVjODFlNGVlOWJjNDA1NGNjYThmZGUwZDEyZTViMWU5
11
+ MjNlYzg0YTExMmY2MTc0MGYxMzZiNWMzNmRhMDgyOTRlMzc3NmQ=
12
12
  data.tar.gz: !binary |-
13
- Y2Q2MjFjOWQxNDA1OTliMjkxNTRhMjBkMzFhNWM4OTYzOGVlYTI4NjRkYzhi
14
- MjZlMjJjOTJjNTJkMjI3OWMwOTQ2MzZjMjMxOGU4MTdhN2IzZDU2NTBmZjhl
15
- YjU4MzFkNTI2YmY1MWRmNDMyYTE5YjI0NGRkMTRlZTc4ZjZmMTk=
13
+ MzQ1ZTg1MGRkMGRiOGJlNmNkYjljNmFmNzc1NmMwZTEyZDg2NjQ5MjExNDI5
14
+ YWRlNWY1MjE4MWUyZjM5NGZlMTQzY2ZmMDZkM2M1YmI3NmU5NzgzMDQ3ODNj
15
+ ZGQ4YTI5MmY1NGE1ZGRmOGRkYWQzY2YxMzQ4M2NlZDY1NDBiN2M=
data/dist/emblem.js CHANGED
@@ -103,7 +103,7 @@ this.Emblem = {};
103
103
 
104
104
  Emblem = this.Emblem;
105
105
 
106
- Emblem.VERSION = "0.3.2";
106
+ Emblem.VERSION = "0.3.4";
107
107
 
108
108
  module.exports = Emblem;
109
109
 
@@ -367,34 +367,38 @@ Emblem.Parser = (function() {
367
367
  peg$c38 = function(t) { return ['tagName', t]; },
368
368
  peg$c39 = function(i) { return ['elementId', i]; },
369
369
  peg$c40 = function(c) { return ['class', c]; },
370
- peg$c41 = function(id, classes) { return [id, classes]; },
371
- peg$c42 = function(classes) { return [null, classes]; },
372
- peg$c43 = function(a) { return a; },
373
- peg$c44 = function(h) { return new AST.HashNode(h); },
374
- peg$c45 = "PathIdent",
375
- peg$c46 = "..",
376
- peg$c47 = "\"..\"",
377
- peg$c48 = ".",
378
- peg$c49 = "\".\"",
379
- peg$c50 = /^[a-zA-Z0-9_$\-!?\^]/,
380
- peg$c51 = "[a-zA-Z0-9_$\\-!?\\^]",
381
- peg$c52 = function(s) { return s; },
382
- peg$c53 = "Key",
383
- peg$c54 = ":",
384
- peg$c55 = "\":\"",
385
- peg$c56 = function(h) { return [h[0], h[2]]; },
386
- peg$c57 = function(s, p) { return { part: p, separator: s }; },
387
- peg$c58 = function(first, tail) {
370
+ peg$c41 = function(a) {
371
+ return a;
372
+ },
373
+ peg$c42 = function(id, classes) { return [id, classes]; },
374
+ peg$c43 = function(classes) { return [null, classes]; },
375
+ peg$c44 = function(a) { return a; },
376
+ peg$c45 = function(h) { return new AST.HashNode(h); },
377
+ peg$c46 = "PathIdent",
378
+ peg$c47 = "..",
379
+ peg$c48 = "\"..\"",
380
+ peg$c49 = ".",
381
+ peg$c50 = "\".\"",
382
+ peg$c51 = /^[a-zA-Z0-9_$\-!?\^]/,
383
+ peg$c52 = "[a-zA-Z0-9_$\\-!?\\^]",
384
+ peg$c53 = function(s) { return s; },
385
+ peg$c54 = "Key",
386
+ peg$c55 = ":",
387
+ peg$c56 = "\":\"",
388
+ peg$c57 = function(h) { return [h[0], h[2]]; },
389
+ peg$c58 = function(n) { return n; },
390
+ peg$c59 = function(s, p) { return { part: p, separator: s }; },
391
+ peg$c60 = function(first, tail) {
388
392
  var ret = [{ part: first }];
389
393
  for(var i = 0; i < tail.length; ++i) {
390
394
  ret.push(tail[i]);
391
395
  }
392
396
  return ret;
393
397
  },
394
- peg$c59 = "PathSeparator",
395
- peg$c60 = /^[\/.]/,
396
- peg$c61 = "[\\/.]",
397
- peg$c62 = function(v) {
398
+ peg$c61 = "PathSeparator",
399
+ peg$c62 = /^[\/.]/,
400
+ peg$c63 = "[\\/.]",
401
+ peg$c64 = function(v) {
398
402
  var last = v[v.length - 1];
399
403
  var match;
400
404
  var suffixModifier;
@@ -408,30 +412,32 @@ Emblem.Parser = (function() {
408
412
 
409
413
  return idNode;
410
414
  },
411
- peg$c63 = function(v) { return new AST.StringNode(v); },
412
- peg$c64 = function(v) { return new AST.IntegerNode(v); },
413
- peg$c65 = function(v) { return new AST.BooleanNode(v); },
414
- peg$c66 = "Boolean",
415
- peg$c67 = "true",
416
- peg$c68 = "\"true\"",
417
- peg$c69 = "false",
418
- peg$c70 = "\"false\"",
419
- peg$c71 = "Integer",
420
- peg$c72 = /^[0-9]/,
421
- peg$c73 = "[0-9]",
422
- peg$c74 = function(s) { return parseInt(s); },
423
- peg$c75 = "\"",
424
- peg$c76 = "\"\\\"\"",
425
- peg$c77 = "'",
426
- peg$c78 = "\"'\"",
427
- peg$c79 = function(p) { return p[1]; },
428
- peg$c80 = /^[^"}]/,
429
- peg$c81 = "[^\"}]",
430
- peg$c82 = /^[^'}]/,
431
- peg$c83 = "[^'}]",
432
- peg$c84 = /^[A-Za-z]/,
433
- peg$c85 = "[A-Za-z]",
434
- peg$c86 = function(ind, nodes, w) {
415
+ peg$c65 = function(v) { return new AST.StringNode(v); },
416
+ peg$c66 = function(v) { return new AST.IntegerNode(v); },
417
+ peg$c67 = function(v) { return new AST.BooleanNode(v); },
418
+ peg$c68 = "Boolean",
419
+ peg$c69 = "true",
420
+ peg$c70 = "\"true\"",
421
+ peg$c71 = "false",
422
+ peg$c72 = "\"false\"",
423
+ peg$c73 = "Integer",
424
+ peg$c74 = "-",
425
+ peg$c75 = "\"-\"",
426
+ peg$c76 = /^[0-9]/,
427
+ peg$c77 = "[0-9]",
428
+ peg$c78 = function(s) { return parseInt(s); },
429
+ peg$c79 = "\"",
430
+ peg$c80 = "\"\\\"\"",
431
+ peg$c81 = "'",
432
+ peg$c82 = "\"'\"",
433
+ peg$c83 = function(p) { return p[1]; },
434
+ peg$c84 = /^[^"}]/,
435
+ peg$c85 = "[^\"}]",
436
+ peg$c86 = /^[^'}]/,
437
+ peg$c87 = "[^'}]",
438
+ peg$c88 = /^[A-Za-z]/,
439
+ peg$c89 = "[A-Za-z]",
440
+ peg$c90 = function(ind, nodes, w) {
435
441
  nodes.unshift(new AST.ContentNode(ind));
436
442
 
437
443
  for(var i = 0; i < w.length; ++i) {
@@ -441,12 +447,12 @@ Emblem.Parser = (function() {
441
447
  }
442
448
  return nodes;
443
449
  },
444
- peg$c87 = /^[|`']/,
445
- peg$c88 = "[|`']",
446
- peg$c89 = "<",
447
- peg$c90 = "\"<\"",
448
- peg$c91 = function() { return '<'; },
449
- peg$c92 = function(s, nodes, indentedNodes) {
450
+ peg$c91 = /^[|`']/,
451
+ peg$c92 = "[|`']",
452
+ peg$c93 = "<",
453
+ peg$c94 = "\"<\"",
454
+ peg$c95 = function() { return '<'; },
455
+ peg$c96 = function(s, nodes, indentedNodes) {
450
456
  if(nodes.length || !indentedNodes) {
451
457
  nodes.push("\n");
452
458
  }
@@ -479,50 +485,50 @@ Emblem.Parser = (function() {
479
485
 
480
486
  return ret;
481
487
  },
482
- peg$c93 = function(first, tail) {
488
+ peg$c97 = function(first, tail) {
483
489
  return textNodesResult(first, tail);
484
490
  },
485
- peg$c94 = function(first, tail) { return textNodesResult(first, tail); },
486
- peg$c95 = "{",
487
- peg$c96 = "\"{\"",
488
- peg$c97 = /^[^}]/,
489
- peg$c98 = "[^}]",
490
- peg$c99 = function(text) {
491
+ peg$c98 = function(first, tail) { return textNodesResult(first, tail); },
492
+ peg$c99 = "{",
493
+ peg$c100 = "\"{\"",
494
+ peg$c101 = /^[^}]/,
495
+ peg$c102 = "[^}]",
496
+ peg$c103 = function(text) {
491
497
  // Force interpretation as mustache.
492
498
  // TODO: change to just parse with a specific rule?
493
499
  text = "=" + text;
494
500
  return Emblem.parse(text).statements[0];
495
501
  },
496
- peg$c100 = function(m) { m.escaped = true; return m; },
497
- peg$c101 = function(m) { m.escaped = false; return m; },
498
- peg$c102 = function(a) { return new AST.ContentNode(a); },
499
- peg$c103 = "any character",
500
- peg$c104 = "SingleMustacheOpen",
501
- peg$c105 = "DoubleMustacheOpen",
502
- peg$c106 = "{{",
503
- peg$c107 = "\"{{\"",
504
- peg$c108 = "TripleMustacheOpen",
505
- peg$c109 = "{{{",
506
- peg$c110 = "\"{{{\"",
507
- peg$c111 = "SingleMustacheClose",
508
- peg$c112 = "}",
509
- peg$c113 = "\"}\"",
510
- peg$c114 = "DoubleMustacheClose",
511
- peg$c115 = "}}",
512
- peg$c116 = "\"}}\"",
513
- peg$c117 = "TripleMustacheClose",
514
- peg$c118 = "}}}",
515
- peg$c119 = "\"}}}\"",
516
- peg$c120 = "InterpolationOpen",
517
- peg$c121 = "#{",
518
- peg$c122 = "\"#{\"",
519
- peg$c123 = "InterpolationClose",
520
- peg$c124 = "==",
521
- peg$c125 = "\"==\"",
522
- peg$c126 = function() { return false; },
523
- peg$c127 = function() { return true; },
524
- peg$c128 = function(h, s) { return h || s; },
525
- peg$c129 = function(h, inTagMustaches, fullAttributes) {
502
+ peg$c104 = function(m) { m.escaped = true; return m; },
503
+ peg$c105 = function(m) { m.escaped = false; return m; },
504
+ peg$c106 = function(a) { return new AST.ContentNode(a); },
505
+ peg$c107 = "any character",
506
+ peg$c108 = "SingleMustacheOpen",
507
+ peg$c109 = "DoubleMustacheOpen",
508
+ peg$c110 = "{{",
509
+ peg$c111 = "\"{{\"",
510
+ peg$c112 = "TripleMustacheOpen",
511
+ peg$c113 = "{{{",
512
+ peg$c114 = "\"{{{\"",
513
+ peg$c115 = "SingleMustacheClose",
514
+ peg$c116 = "}",
515
+ peg$c117 = "\"}\"",
516
+ peg$c118 = "DoubleMustacheClose",
517
+ peg$c119 = "}}",
518
+ peg$c120 = "\"}}\"",
519
+ peg$c121 = "TripleMustacheClose",
520
+ peg$c122 = "}}}",
521
+ peg$c123 = "\"}}}\"",
522
+ peg$c124 = "InterpolationOpen",
523
+ peg$c125 = "#{",
524
+ peg$c126 = "\"#{\"",
525
+ peg$c127 = "InterpolationClose",
526
+ peg$c128 = "==",
527
+ peg$c129 = "\"==\"",
528
+ peg$c130 = function() { return false; },
529
+ peg$c131 = function() { return true; },
530
+ peg$c132 = function(h, s) { return h || s; },
531
+ peg$c133 = function(h, inTagMustaches, fullAttributes) {
526
532
  var tagName = h[0] || 'div',
527
533
  shorthandAttributes = h[1] || [],
528
534
  id = shorthandAttributes[0],
@@ -558,9 +564,9 @@ Emblem.Parser = (function() {
558
564
  return [tagOpenContent, new AST.ContentNode('</' + tagName + '>')];
559
565
  }
560
566
  },
561
- peg$c130 = function(s) { return { shorthand: s, id: true}; },
562
- peg$c131 = function(s) { return { shorthand: s }; },
563
- peg$c132 = function(shorthands) {
567
+ peg$c134 = function(s) { return { shorthand: s, id: true}; },
568
+ peg$c135 = function(s) { return { shorthand: s }; },
569
+ peg$c136 = function(shorthands) {
564
570
  var id, classes = [];
565
571
  for(var i = 0, len = shorthands.length; i < len; ++i) {
566
572
  var shorthand = shorthands[i];
@@ -573,28 +579,39 @@ Emblem.Parser = (function() {
573
579
 
574
580
  return [id, classes];
575
581
  },
576
- peg$c133 = function(a) {
577
- return [new AST.ContentNode(' ')].concat(a);
582
+ peg$c137 = function(a) {
583
+ if (a.length) {
584
+ return [new AST.ContentNode(' ')].concat(a);
585
+ } else {
586
+ return [];
587
+ }
578
588
  },
579
- peg$c134 = /^[A-Za-z.0-9_\-]/,
580
- peg$c135 = "[A-Za-z.0-9_\\-]",
581
- peg$c136 = function(id) { return new AST.MustacheNode([id]); },
582
- peg$c137 = function(event, mustacheNode) {
589
+ peg$c138 = /^[A-Za-z.0-9_\-]/,
590
+ peg$c139 = "[A-Za-z.0-9_\\-]",
591
+ peg$c140 = function(id) { return new AST.MustacheNode([id]); },
592
+ peg$c141 = function(event, mustacheNode) {
583
593
  // Unshift the action helper and augment the hash
584
594
  return [unshiftParam(mustacheNode, 'action', [['on', new AST.StringNode(event)]])];
585
595
  },
586
- peg$c138 = function(value) { return value.replace(/ *$/, ''); },
587
- peg$c139 = "!",
588
- peg$c140 = "\"!\"",
589
- peg$c141 = function(key, value) { return IS_EMBER; },
590
- peg$c142 = function(key, value) {
596
+ peg$c142 = function(key, boolValue) {
597
+ if (boolValue === 'true') {
598
+ return [ new AST.ContentNode(key) ];
599
+ } else {
600
+ return [];
601
+ }
602
+ },
603
+ peg$c143 = function(value) { return value.replace(/ *$/, ''); },
604
+ peg$c144 = "!",
605
+ peg$c145 = "\"!\"",
606
+ peg$c146 = function(key, value) { return IS_EMBER; },
607
+ peg$c147 = function(key, value) {
591
608
  var hashNode = new AST.HashNode([[key, new AST.StringNode(value)]]);
592
609
  var params = [new AST.IdNode([{part: 'bindAttr'}])];
593
610
  var mustacheNode = new AST.MustacheNode(params, hashNode);
594
611
 
595
612
  return [mustacheNode];
596
613
  },
597
- peg$c143 = function(key, id) {
614
+ peg$c148 = function(key, id) {
598
615
  var mustacheNode = new AST.MustacheNode([id]);
599
616
 
600
617
  if(IS_EMBER && id._emblemSuffixModifier === '!') {
@@ -607,54 +624,52 @@ Emblem.Parser = (function() {
607
624
  new AST.ContentNode('"'),
608
625
  ];
609
626
  },
610
- peg$c144 = function(key, nodes) {
627
+ peg$c149 = function(key, nodes) {
611
628
  var result = [ new AST.ContentNode(key + '=' + '"') ].concat(nodes);
612
629
  return result.concat([new AST.ContentNode('"')]);
613
630
  },
614
- peg$c145 = "_",
615
- peg$c146 = "\"_\"",
616
- peg$c147 = "-",
617
- peg$c148 = "\"-\"",
618
- peg$c149 = "%",
619
- peg$c150 = "\"%\"",
620
- peg$c151 = "#",
621
- peg$c152 = "\"#\"",
622
- peg$c153 = function(c) { return c;},
623
- peg$c154 = "CSSIdentifier",
624
- peg$c155 = /^[_a-zA-Z0-9\-]/,
625
- peg$c156 = "[_a-zA-Z0-9\\-]",
626
- peg$c157 = /^[_a-zA-Z]/,
627
- peg$c158 = "[_a-zA-Z]",
628
- peg$c159 = /^[\x80-\xFF]/,
629
- peg$c160 = "[\\x80-\\xFF]",
630
- peg$c161 = "KnownHTMLTagName",
631
- peg$c162 = function(t) { return !!KNOWN_TAGS[t]; },
632
- peg$c163 = function(t) { return t; },
633
- peg$c164 = "a JS event",
634
- peg$c165 = function(t) { return !!KNOWN_EVENTS[t]; },
635
- peg$c166 = "INDENT",
636
- peg$c167 = "\uEFEF",
637
- peg$c168 = "\"\\uEFEF\"",
638
- peg$c169 = function() { return ''; },
639
- peg$c170 = "DEDENT",
640
- peg$c171 = "\uEFFE",
641
- peg$c172 = "\"\\uEFFE\"",
642
- peg$c173 = "Unmatched DEDENT",
643
- peg$c174 = "\uEFEE",
644
- peg$c175 = "\"\\uEFEE\"",
645
- peg$c176 = "LineEnd",
646
- peg$c177 = "\r",
647
- peg$c178 = "\"\\r\"",
648
- peg$c179 = "\uEFFF",
649
- peg$c180 = "\"\\uEFFF\"",
650
- peg$c181 = "\n",
651
- peg$c182 = "\"\\n\"",
652
- peg$c183 = "ANYDEDENT",
653
- peg$c184 = "RequiredWhitespace",
654
- peg$c185 = "OptionalWhitespace",
655
- peg$c186 = "InlineWhitespace",
656
- peg$c187 = /^[ \t]/,
657
- peg$c188 = "[ \\t]",
631
+ peg$c150 = "_",
632
+ peg$c151 = "\"_\"",
633
+ peg$c152 = "%",
634
+ peg$c153 = "\"%\"",
635
+ peg$c154 = "#",
636
+ peg$c155 = "\"#\"",
637
+ peg$c156 = function(c) { return c;},
638
+ peg$c157 = "CSSIdentifier",
639
+ peg$c158 = /^[_a-zA-Z0-9\-]/,
640
+ peg$c159 = "[_a-zA-Z0-9\\-]",
641
+ peg$c160 = /^[_a-zA-Z]/,
642
+ peg$c161 = "[_a-zA-Z]",
643
+ peg$c162 = /^[\x80-\xFF]/,
644
+ peg$c163 = "[\\x80-\\xFF]",
645
+ peg$c164 = "KnownHTMLTagName",
646
+ peg$c165 = function(t) { return !!KNOWN_TAGS[t]; },
647
+ peg$c166 = function(t) { return t; },
648
+ peg$c167 = "a JS event",
649
+ peg$c168 = function(t) { return !!KNOWN_EVENTS[t]; },
650
+ peg$c169 = "INDENT",
651
+ peg$c170 = "\uEFEF",
652
+ peg$c171 = "\"\\uEFEF\"",
653
+ peg$c172 = function() { return ''; },
654
+ peg$c173 = "DEDENT",
655
+ peg$c174 = "\uEFFE",
656
+ peg$c175 = "\"\\uEFFE\"",
657
+ peg$c176 = "Unmatched DEDENT",
658
+ peg$c177 = "\uEFEE",
659
+ peg$c178 = "\"\\uEFEE\"",
660
+ peg$c179 = "LineEnd",
661
+ peg$c180 = "\r",
662
+ peg$c181 = "\"\\r\"",
663
+ peg$c182 = "\uEFFF",
664
+ peg$c183 = "\"\\uEFFF\"",
665
+ peg$c184 = "\n",
666
+ peg$c185 = "\"\\n\"",
667
+ peg$c186 = "ANYDEDENT",
668
+ peg$c187 = "RequiredWhitespace",
669
+ peg$c188 = "OptionalWhitespace",
670
+ peg$c189 = "InlineWhitespace",
671
+ peg$c190 = /^[ \t]/,
672
+ peg$c191 = "[ \\t]",
658
673
 
659
674
  peg$currPos = 0,
660
675
  peg$reportedPos = 0,
@@ -978,7 +993,7 @@ Emblem.Parser = (function() {
978
993
  }
979
994
 
980
995
  function peg$parselegacyPartialInvocation() {
981
- var s0, s1, s2, s3, s4, s5, s6, s7;
996
+ var s0, s1, s2, s3, s4, s5, s6;
982
997
 
983
998
  s0 = peg$currPos;
984
999
  if (input.charCodeAt(peg$currPos) === 62) {
@@ -993,30 +1008,24 @@ Emblem.Parser = (function() {
993
1008
  if (s2 !== null) {
994
1009
  s3 = peg$parselegacyPartialName();
995
1010
  if (s3 !== null) {
996
- s4 = peg$parse_();
1011
+ s4 = [];
1012
+ s5 = peg$parseinMustacheParam();
1013
+ while (s5 !== null) {
1014
+ s4.push(s5);
1015
+ s5 = peg$parseinMustacheParam();
1016
+ }
997
1017
  if (s4 !== null) {
998
- s5 = [];
999
- s6 = peg$parseinMustacheParam();
1000
- while (s6 !== null) {
1001
- s5.push(s6);
1002
- s6 = peg$parseinMustacheParam();
1003
- }
1018
+ s5 = peg$parse_();
1004
1019
  if (s5 !== null) {
1005
- s6 = peg$parse_();
1020
+ s6 = peg$parseTERM();
1006
1021
  if (s6 !== null) {
1007
- s7 = peg$parseTERM();
1008
- if (s7 !== null) {
1009
- peg$reportedPos = s0;
1010
- s1 = peg$c15(s3, s5);
1011
- if (s1 === null) {
1012
- peg$currPos = s0;
1013
- s0 = s1;
1014
- } else {
1015
- s0 = s1;
1016
- }
1017
- } else {
1022
+ peg$reportedPos = s0;
1023
+ s1 = peg$c15(s3, s4);
1024
+ if (s1 === null) {
1018
1025
  peg$currPos = s0;
1019
- s0 = peg$c0;
1026
+ s0 = s1;
1027
+ } else {
1028
+ s0 = s1;
1020
1029
  }
1021
1030
  } else {
1022
1031
  peg$currPos = s0;
@@ -1886,47 +1895,67 @@ Emblem.Parser = (function() {
1886
1895
  }
1887
1896
 
1888
1897
  function peg$parsehtmlMustacheAttribute() {
1889
- var s0, s1;
1898
+ var s0, s1, s2, s3;
1890
1899
 
1891
1900
  s0 = peg$currPos;
1892
- s1 = peg$parsetagNameShorthand();
1901
+ s1 = peg$parse_();
1893
1902
  if (s1 !== null) {
1894
- peg$reportedPos = s0;
1895
- s1 = peg$c38(s1);
1896
- }
1897
- if (s1 === null) {
1898
- peg$currPos = s0;
1899
- s0 = s1;
1900
- } else {
1901
- s0 = s1;
1902
- }
1903
- if (s0 === null) {
1904
- s0 = peg$currPos;
1905
- s1 = peg$parseidShorthand();
1906
- if (s1 !== null) {
1907
- peg$reportedPos = s0;
1908
- s1 = peg$c39(s1);
1903
+ s2 = peg$currPos;
1904
+ s3 = peg$parsetagNameShorthand();
1905
+ if (s3 !== null) {
1906
+ peg$reportedPos = s2;
1907
+ s3 = peg$c38(s3);
1909
1908
  }
1910
- if (s1 === null) {
1911
- peg$currPos = s0;
1912
- s0 = s1;
1909
+ if (s3 === null) {
1910
+ peg$currPos = s2;
1911
+ s2 = s3;
1913
1912
  } else {
1914
- s0 = s1;
1913
+ s2 = s3;
1915
1914
  }
1916
- if (s0 === null) {
1917
- s0 = peg$currPos;
1918
- s1 = peg$parseclassShorthand();
1919
- if (s1 !== null) {
1920
- peg$reportedPos = s0;
1921
- s1 = peg$c40(s1);
1915
+ if (s2 === null) {
1916
+ s2 = peg$currPos;
1917
+ s3 = peg$parseidShorthand();
1918
+ if (s3 !== null) {
1919
+ peg$reportedPos = s2;
1920
+ s3 = peg$c39(s3);
1922
1921
  }
1922
+ if (s3 === null) {
1923
+ peg$currPos = s2;
1924
+ s2 = s3;
1925
+ } else {
1926
+ s2 = s3;
1927
+ }
1928
+ if (s2 === null) {
1929
+ s2 = peg$currPos;
1930
+ s3 = peg$parseclassShorthand();
1931
+ if (s3 !== null) {
1932
+ peg$reportedPos = s2;
1933
+ s3 = peg$c40(s3);
1934
+ }
1935
+ if (s3 === null) {
1936
+ peg$currPos = s2;
1937
+ s2 = s3;
1938
+ } else {
1939
+ s2 = s3;
1940
+ }
1941
+ }
1942
+ }
1943
+ if (s2 !== null) {
1944
+ peg$reportedPos = s0;
1945
+ s1 = peg$c41(s2);
1923
1946
  if (s1 === null) {
1924
1947
  peg$currPos = s0;
1925
1948
  s0 = s1;
1926
1949
  } else {
1927
1950
  s0 = s1;
1928
1951
  }
1952
+ } else {
1953
+ peg$currPos = s0;
1954
+ s0 = peg$c0;
1929
1955
  }
1956
+ } else {
1957
+ peg$currPos = s0;
1958
+ s0 = peg$c0;
1930
1959
  }
1931
1960
 
1932
1961
  return s0;
@@ -1957,7 +1986,7 @@ Emblem.Parser = (function() {
1957
1986
  }
1958
1987
  if (s2 !== null) {
1959
1988
  peg$reportedPos = s0;
1960
- s1 = peg$c41(s1, s2);
1989
+ s1 = peg$c42(s1, s2);
1961
1990
  if (s1 === null) {
1962
1991
  peg$currPos = s0;
1963
1992
  s0 = s1;
@@ -1992,7 +2021,7 @@ Emblem.Parser = (function() {
1992
2021
  }
1993
2022
  if (s1 !== null) {
1994
2023
  peg$reportedPos = s0;
1995
- s1 = peg$c42(s1);
2024
+ s1 = peg$c43(s1);
1996
2025
  }
1997
2026
  if (s1 === null) {
1998
2027
  peg$currPos = s0;
@@ -2005,31 +2034,22 @@ Emblem.Parser = (function() {
2005
2034
  }
2006
2035
 
2007
2036
  function peg$parseinMustacheParam() {
2008
- var s0, s1, s2;
2037
+ var s0, s1;
2009
2038
 
2010
2039
  s0 = peg$currPos;
2011
- s1 = peg$parse_();
2040
+ s1 = peg$parsehtmlMustacheAttribute();
2041
+ if (s1 === null) {
2042
+ s1 = peg$parseparam();
2043
+ }
2012
2044
  if (s1 !== null) {
2013
- s2 = peg$parsehtmlMustacheAttribute();
2014
- if (s2 === null) {
2015
- s2 = peg$parseparam();
2016
- }
2017
- if (s2 !== null) {
2018
- peg$reportedPos = s0;
2019
- s1 = peg$c43(s2);
2020
- if (s1 === null) {
2021
- peg$currPos = s0;
2022
- s0 = s1;
2023
- } else {
2024
- s0 = s1;
2025
- }
2026
- } else {
2027
- peg$currPos = s0;
2028
- s0 = peg$c0;
2029
- }
2030
- } else {
2045
+ peg$reportedPos = s0;
2046
+ s1 = peg$c44(s1);
2047
+ }
2048
+ if (s1 === null) {
2031
2049
  peg$currPos = s0;
2032
- s0 = peg$c0;
2050
+ s0 = s1;
2051
+ } else {
2052
+ s0 = s1;
2033
2053
  }
2034
2054
 
2035
2055
  return s0;
@@ -2051,7 +2071,7 @@ Emblem.Parser = (function() {
2051
2071
  }
2052
2072
  if (s1 !== null) {
2053
2073
  peg$reportedPos = s0;
2054
- s1 = peg$c44(s1);
2074
+ s1 = peg$c45(s1);
2055
2075
  }
2056
2076
  if (s1 === null) {
2057
2077
  peg$currPos = s0;
@@ -2067,41 +2087,41 @@ Emblem.Parser = (function() {
2067
2087
  var s0, s1, s2, s3;
2068
2088
 
2069
2089
  peg$silentFails++;
2070
- if (input.substr(peg$currPos, 2) === peg$c46) {
2071
- s0 = peg$c46;
2090
+ if (input.substr(peg$currPos, 2) === peg$c47) {
2091
+ s0 = peg$c47;
2072
2092
  peg$currPos += 2;
2073
2093
  } else {
2074
2094
  s0 = null;
2075
- if (peg$silentFails === 0) { peg$fail(peg$c47); }
2095
+ if (peg$silentFails === 0) { peg$fail(peg$c48); }
2076
2096
  }
2077
2097
  if (s0 === null) {
2078
2098
  if (input.charCodeAt(peg$currPos) === 46) {
2079
- s0 = peg$c48;
2099
+ s0 = peg$c49;
2080
2100
  peg$currPos++;
2081
2101
  } else {
2082
2102
  s0 = null;
2083
- if (peg$silentFails === 0) { peg$fail(peg$c49); }
2103
+ if (peg$silentFails === 0) { peg$fail(peg$c50); }
2084
2104
  }
2085
2105
  if (s0 === null) {
2086
2106
  s0 = peg$currPos;
2087
2107
  s1 = peg$currPos;
2088
2108
  s2 = [];
2089
- if (peg$c50.test(input.charAt(peg$currPos))) {
2109
+ if (peg$c51.test(input.charAt(peg$currPos))) {
2090
2110
  s3 = input.charAt(peg$currPos);
2091
2111
  peg$currPos++;
2092
2112
  } else {
2093
2113
  s3 = null;
2094
- if (peg$silentFails === 0) { peg$fail(peg$c51); }
2114
+ if (peg$silentFails === 0) { peg$fail(peg$c52); }
2095
2115
  }
2096
2116
  if (s3 !== null) {
2097
2117
  while (s3 !== null) {
2098
2118
  s2.push(s3);
2099
- if (peg$c50.test(input.charAt(peg$currPos))) {
2119
+ if (peg$c51.test(input.charAt(peg$currPos))) {
2100
2120
  s3 = input.charAt(peg$currPos);
2101
2121
  peg$currPos++;
2102
2122
  } else {
2103
2123
  s3 = null;
2104
- if (peg$silentFails === 0) { peg$fail(peg$c51); }
2124
+ if (peg$silentFails === 0) { peg$fail(peg$c52); }
2105
2125
  }
2106
2126
  }
2107
2127
  } else {
@@ -2130,7 +2150,7 @@ Emblem.Parser = (function() {
2130
2150
  }
2131
2151
  if (s2 !== null) {
2132
2152
  peg$reportedPos = s0;
2133
- s1 = peg$c52(s1);
2153
+ s1 = peg$c53(s1);
2134
2154
  if (s1 === null) {
2135
2155
  peg$currPos = s0;
2136
2156
  s0 = s1;
@@ -2150,7 +2170,7 @@ Emblem.Parser = (function() {
2150
2170
  peg$silentFails--;
2151
2171
  if (s0 === null) {
2152
2172
  s1 = null;
2153
- if (peg$silentFails === 0) { peg$fail(peg$c45); }
2173
+ if (peg$silentFails === 0) { peg$fail(peg$c46); }
2154
2174
  }
2155
2175
 
2156
2176
  return s0;
@@ -2165,11 +2185,11 @@ Emblem.Parser = (function() {
2165
2185
  s2 = peg$parsenmchar();
2166
2186
  if (s2 === null) {
2167
2187
  if (input.charCodeAt(peg$currPos) === 58) {
2168
- s2 = peg$c54;
2188
+ s2 = peg$c55;
2169
2189
  peg$currPos++;
2170
2190
  } else {
2171
2191
  s2 = null;
2172
- if (peg$silentFails === 0) { peg$fail(peg$c55); }
2192
+ if (peg$silentFails === 0) { peg$fail(peg$c56); }
2173
2193
  }
2174
2194
  }
2175
2195
  while (s2 !== null) {
@@ -2177,11 +2197,11 @@ Emblem.Parser = (function() {
2177
2197
  s2 = peg$parsenmchar();
2178
2198
  if (s2 === null) {
2179
2199
  if (input.charCodeAt(peg$currPos) === 58) {
2180
- s2 = peg$c54;
2200
+ s2 = peg$c55;
2181
2201
  peg$currPos++;
2182
2202
  } else {
2183
2203
  s2 = null;
2184
- if (peg$silentFails === 0) { peg$fail(peg$c55); }
2204
+ if (peg$silentFails === 0) { peg$fail(peg$c56); }
2185
2205
  }
2186
2206
  }
2187
2207
  }
@@ -2192,7 +2212,7 @@ Emblem.Parser = (function() {
2192
2212
  peg$silentFails--;
2193
2213
  if (s0 === null) {
2194
2214
  s1 = null;
2195
- if (peg$silentFails === 0) { peg$fail(peg$c53); }
2215
+ if (peg$silentFails === 0) { peg$fail(peg$c54); }
2196
2216
  }
2197
2217
 
2198
2218
  return s0;
@@ -2202,7 +2222,7 @@ Emblem.Parser = (function() {
2202
2222
  var s0, s1, s2, s3, s4, s5;
2203
2223
 
2204
2224
  s0 = peg$currPos;
2205
- s1 = peg$parse_();
2225
+ s1 = peg$parse__();
2206
2226
  if (s1 !== null) {
2207
2227
  s2 = peg$currPos;
2208
2228
  s3 = peg$parsekey();
@@ -2320,7 +2340,7 @@ Emblem.Parser = (function() {
2320
2340
  }
2321
2341
  if (s2 !== null) {
2322
2342
  peg$reportedPos = s0;
2323
- s1 = peg$c56(s2);
2343
+ s1 = peg$c57(s2);
2324
2344
  if (s1 === null) {
2325
2345
  peg$currPos = s0;
2326
2346
  s0 = s1;
@@ -2340,17 +2360,37 @@ Emblem.Parser = (function() {
2340
2360
  }
2341
2361
 
2342
2362
  function peg$parseparam() {
2343
- var s0;
2363
+ var s0, s1, s2;
2344
2364
 
2345
- s0 = peg$parsebooleanNode();
2346
- if (s0 === null) {
2347
- s0 = peg$parseintegerNode();
2348
- if (s0 === null) {
2349
- s0 = peg$parsepathIdNode();
2350
- if (s0 === null) {
2351
- s0 = peg$parsestringNode();
2365
+ s0 = peg$currPos;
2366
+ s1 = peg$parse__();
2367
+ if (s1 !== null) {
2368
+ s2 = peg$parsebooleanNode();
2369
+ if (s2 === null) {
2370
+ s2 = peg$parseintegerNode();
2371
+ if (s2 === null) {
2372
+ s2 = peg$parsepathIdNode();
2373
+ if (s2 === null) {
2374
+ s2 = peg$parsestringNode();
2375
+ }
2352
2376
  }
2353
2377
  }
2378
+ if (s2 !== null) {
2379
+ peg$reportedPos = s0;
2380
+ s1 = peg$c58(s2);
2381
+ if (s1 === null) {
2382
+ peg$currPos = s0;
2383
+ s0 = s1;
2384
+ } else {
2385
+ s0 = s1;
2386
+ }
2387
+ } else {
2388
+ peg$currPos = s0;
2389
+ s0 = peg$c0;
2390
+ }
2391
+ } else {
2392
+ peg$currPos = s0;
2393
+ s0 = peg$c0;
2354
2394
  }
2355
2395
 
2356
2396
  return s0;
@@ -2369,7 +2409,7 @@ Emblem.Parser = (function() {
2369
2409
  s5 = peg$parsepathIdent();
2370
2410
  if (s5 !== null) {
2371
2411
  peg$reportedPos = s3;
2372
- s4 = peg$c57(s4, s5);
2412
+ s4 = peg$c59(s4, s5);
2373
2413
  if (s4 === null) {
2374
2414
  peg$currPos = s3;
2375
2415
  s3 = s4;
@@ -2392,7 +2432,7 @@ Emblem.Parser = (function() {
2392
2432
  s5 = peg$parsepathIdent();
2393
2433
  if (s5 !== null) {
2394
2434
  peg$reportedPos = s3;
2395
- s4 = peg$c57(s4, s5);
2435
+ s4 = peg$c59(s4, s5);
2396
2436
  if (s4 === null) {
2397
2437
  peg$currPos = s3;
2398
2438
  s3 = s4;
@@ -2410,7 +2450,7 @@ Emblem.Parser = (function() {
2410
2450
  }
2411
2451
  if (s2 !== null) {
2412
2452
  peg$reportedPos = s0;
2413
- s1 = peg$c58(s1, s2);
2453
+ s1 = peg$c60(s1, s2);
2414
2454
  if (s1 === null) {
2415
2455
  peg$currPos = s0;
2416
2456
  s0 = s1;
@@ -2433,17 +2473,17 @@ Emblem.Parser = (function() {
2433
2473
  var s0, s1;
2434
2474
 
2435
2475
  peg$silentFails++;
2436
- if (peg$c60.test(input.charAt(peg$currPos))) {
2476
+ if (peg$c62.test(input.charAt(peg$currPos))) {
2437
2477
  s0 = input.charAt(peg$currPos);
2438
2478
  peg$currPos++;
2439
2479
  } else {
2440
2480
  s0 = null;
2441
- if (peg$silentFails === 0) { peg$fail(peg$c61); }
2481
+ if (peg$silentFails === 0) { peg$fail(peg$c63); }
2442
2482
  }
2443
2483
  peg$silentFails--;
2444
2484
  if (s0 === null) {
2445
2485
  s1 = null;
2446
- if (peg$silentFails === 0) { peg$fail(peg$c59); }
2486
+ if (peg$silentFails === 0) { peg$fail(peg$c61); }
2447
2487
  }
2448
2488
 
2449
2489
  return s0;
@@ -2456,7 +2496,7 @@ Emblem.Parser = (function() {
2456
2496
  s1 = peg$parsepath();
2457
2497
  if (s1 !== null) {
2458
2498
  peg$reportedPos = s0;
2459
- s1 = peg$c62(s1);
2499
+ s1 = peg$c64(s1);
2460
2500
  }
2461
2501
  if (s1 === null) {
2462
2502
  peg$currPos = s0;
@@ -2475,7 +2515,7 @@ Emblem.Parser = (function() {
2475
2515
  s1 = peg$parsestring();
2476
2516
  if (s1 !== null) {
2477
2517
  peg$reportedPos = s0;
2478
- s1 = peg$c63(s1);
2518
+ s1 = peg$c65(s1);
2479
2519
  }
2480
2520
  if (s1 === null) {
2481
2521
  peg$currPos = s0;
@@ -2494,7 +2534,7 @@ Emblem.Parser = (function() {
2494
2534
  s1 = peg$parseinteger();
2495
2535
  if (s1 !== null) {
2496
2536
  peg$reportedPos = s0;
2497
- s1 = peg$c64(s1);
2537
+ s1 = peg$c66(s1);
2498
2538
  }
2499
2539
  if (s1 === null) {
2500
2540
  peg$currPos = s0;
@@ -2513,7 +2553,7 @@ Emblem.Parser = (function() {
2513
2553
  s1 = peg$parseboolean();
2514
2554
  if (s1 !== null) {
2515
2555
  peg$reportedPos = s0;
2516
- s1 = peg$c65(s1);
2556
+ s1 = peg$c67(s1);
2517
2557
  }
2518
2558
  if (s1 === null) {
2519
2559
  peg$currPos = s0;
@@ -2529,57 +2569,80 @@ Emblem.Parser = (function() {
2529
2569
  var s0, s1;
2530
2570
 
2531
2571
  peg$silentFails++;
2532
- if (input.substr(peg$currPos, 4) === peg$c67) {
2533
- s0 = peg$c67;
2572
+ if (input.substr(peg$currPos, 4) === peg$c69) {
2573
+ s0 = peg$c69;
2534
2574
  peg$currPos += 4;
2535
2575
  } else {
2536
2576
  s0 = null;
2537
- if (peg$silentFails === 0) { peg$fail(peg$c68); }
2577
+ if (peg$silentFails === 0) { peg$fail(peg$c70); }
2538
2578
  }
2539
2579
  if (s0 === null) {
2540
- if (input.substr(peg$currPos, 5) === peg$c69) {
2541
- s0 = peg$c69;
2580
+ if (input.substr(peg$currPos, 5) === peg$c71) {
2581
+ s0 = peg$c71;
2542
2582
  peg$currPos += 5;
2543
2583
  } else {
2544
2584
  s0 = null;
2545
- if (peg$silentFails === 0) { peg$fail(peg$c70); }
2585
+ if (peg$silentFails === 0) { peg$fail(peg$c72); }
2546
2586
  }
2547
2587
  }
2548
2588
  peg$silentFails--;
2549
2589
  if (s0 === null) {
2550
2590
  s1 = null;
2551
- if (peg$silentFails === 0) { peg$fail(peg$c66); }
2591
+ if (peg$silentFails === 0) { peg$fail(peg$c68); }
2552
2592
  }
2553
2593
 
2554
2594
  return s0;
2555
2595
  }
2556
2596
 
2557
2597
  function peg$parseinteger() {
2558
- var s0, s1, s2, s3;
2598
+ var s0, s1, s2, s3, s4, s5;
2559
2599
 
2560
2600
  peg$silentFails++;
2561
2601
  s0 = peg$currPos;
2562
2602
  s1 = peg$currPos;
2563
- s2 = [];
2564
- if (peg$c72.test(input.charAt(peg$currPos))) {
2565
- s3 = input.charAt(peg$currPos);
2603
+ s2 = peg$currPos;
2604
+ if (input.charCodeAt(peg$currPos) === 45) {
2605
+ s3 = peg$c74;
2566
2606
  peg$currPos++;
2567
2607
  } else {
2568
2608
  s3 = null;
2569
- if (peg$silentFails === 0) { peg$fail(peg$c73); }
2609
+ if (peg$silentFails === 0) { peg$fail(peg$c75); }
2610
+ }
2611
+ if (s3 === null) {
2612
+ s3 = peg$c1;
2570
2613
  }
2571
2614
  if (s3 !== null) {
2572
- while (s3 !== null) {
2573
- s2.push(s3);
2574
- if (peg$c72.test(input.charAt(peg$currPos))) {
2575
- s3 = input.charAt(peg$currPos);
2576
- peg$currPos++;
2577
- } else {
2578
- s3 = null;
2579
- if (peg$silentFails === 0) { peg$fail(peg$c73); }
2615
+ s4 = [];
2616
+ if (peg$c76.test(input.charAt(peg$currPos))) {
2617
+ s5 = input.charAt(peg$currPos);
2618
+ peg$currPos++;
2619
+ } else {
2620
+ s5 = null;
2621
+ if (peg$silentFails === 0) { peg$fail(peg$c77); }
2622
+ }
2623
+ if (s5 !== null) {
2624
+ while (s5 !== null) {
2625
+ s4.push(s5);
2626
+ if (peg$c76.test(input.charAt(peg$currPos))) {
2627
+ s5 = input.charAt(peg$currPos);
2628
+ peg$currPos++;
2629
+ } else {
2630
+ s5 = null;
2631
+ if (peg$silentFails === 0) { peg$fail(peg$c77); }
2632
+ }
2580
2633
  }
2634
+ } else {
2635
+ s4 = peg$c0;
2636
+ }
2637
+ if (s4 !== null) {
2638
+ s3 = [s3, s4];
2639
+ s2 = s3;
2640
+ } else {
2641
+ peg$currPos = s2;
2642
+ s2 = peg$c0;
2581
2643
  }
2582
2644
  } else {
2645
+ peg$currPos = s2;
2583
2646
  s2 = peg$c0;
2584
2647
  }
2585
2648
  if (s2 !== null) {
@@ -2588,7 +2651,7 @@ Emblem.Parser = (function() {
2588
2651
  s1 = s2;
2589
2652
  if (s1 !== null) {
2590
2653
  peg$reportedPos = s0;
2591
- s1 = peg$c74(s1);
2654
+ s1 = peg$c78(s1);
2592
2655
  }
2593
2656
  if (s1 === null) {
2594
2657
  peg$currPos = s0;
@@ -2599,7 +2662,7 @@ Emblem.Parser = (function() {
2599
2662
  peg$silentFails--;
2600
2663
  if (s0 === null) {
2601
2664
  s1 = null;
2602
- if (peg$silentFails === 0) { peg$fail(peg$c71); }
2665
+ if (peg$silentFails === 0) { peg$fail(peg$c73); }
2603
2666
  }
2604
2667
 
2605
2668
  return s0;
@@ -2611,21 +2674,21 @@ Emblem.Parser = (function() {
2611
2674
  s0 = peg$currPos;
2612
2675
  s1 = peg$currPos;
2613
2676
  if (input.charCodeAt(peg$currPos) === 34) {
2614
- s2 = peg$c75;
2677
+ s2 = peg$c79;
2615
2678
  peg$currPos++;
2616
2679
  } else {
2617
2680
  s2 = null;
2618
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
2681
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
2619
2682
  }
2620
2683
  if (s2 !== null) {
2621
2684
  s3 = peg$parsehashDoubleQuoteStringValue();
2622
2685
  if (s3 !== null) {
2623
2686
  if (input.charCodeAt(peg$currPos) === 34) {
2624
- s4 = peg$c75;
2687
+ s4 = peg$c79;
2625
2688
  peg$currPos++;
2626
2689
  } else {
2627
2690
  s4 = null;
2628
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
2691
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
2629
2692
  }
2630
2693
  if (s4 !== null) {
2631
2694
  s2 = [s2, s3, s4];
@@ -2645,21 +2708,21 @@ Emblem.Parser = (function() {
2645
2708
  if (s1 === null) {
2646
2709
  s1 = peg$currPos;
2647
2710
  if (input.charCodeAt(peg$currPos) === 39) {
2648
- s2 = peg$c77;
2711
+ s2 = peg$c81;
2649
2712
  peg$currPos++;
2650
2713
  } else {
2651
2714
  s2 = null;
2652
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
2715
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
2653
2716
  }
2654
2717
  if (s2 !== null) {
2655
2718
  s3 = peg$parsehashSingleQuoteStringValue();
2656
2719
  if (s3 !== null) {
2657
2720
  if (input.charCodeAt(peg$currPos) === 39) {
2658
- s4 = peg$c77;
2721
+ s4 = peg$c81;
2659
2722
  peg$currPos++;
2660
2723
  } else {
2661
2724
  s4 = null;
2662
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
2725
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
2663
2726
  }
2664
2727
  if (s4 !== null) {
2665
2728
  s2 = [s2, s3, s4];
@@ -2679,7 +2742,7 @@ Emblem.Parser = (function() {
2679
2742
  }
2680
2743
  if (s1 !== null) {
2681
2744
  peg$reportedPos = s0;
2682
- s1 = peg$c79(s1);
2745
+ s1 = peg$c83(s1);
2683
2746
  }
2684
2747
  if (s1 === null) {
2685
2748
  peg$currPos = s0;
@@ -2708,12 +2771,12 @@ Emblem.Parser = (function() {
2708
2771
  s3 = peg$c0;
2709
2772
  }
2710
2773
  if (s3 !== null) {
2711
- if (peg$c80.test(input.charAt(peg$currPos))) {
2774
+ if (peg$c84.test(input.charAt(peg$currPos))) {
2712
2775
  s4 = input.charAt(peg$currPos);
2713
2776
  peg$currPos++;
2714
2777
  } else {
2715
2778
  s4 = null;
2716
- if (peg$silentFails === 0) { peg$fail(peg$c81); }
2779
+ if (peg$silentFails === 0) { peg$fail(peg$c85); }
2717
2780
  }
2718
2781
  if (s4 !== null) {
2719
2782
  s3 = [s3, s4];
@@ -2740,12 +2803,12 @@ Emblem.Parser = (function() {
2740
2803
  s3 = peg$c0;
2741
2804
  }
2742
2805
  if (s3 !== null) {
2743
- if (peg$c80.test(input.charAt(peg$currPos))) {
2806
+ if (peg$c84.test(input.charAt(peg$currPos))) {
2744
2807
  s4 = input.charAt(peg$currPos);
2745
2808
  peg$currPos++;
2746
2809
  } else {
2747
2810
  s4 = null;
2748
- if (peg$silentFails === 0) { peg$fail(peg$c81); }
2811
+ if (peg$silentFails === 0) { peg$fail(peg$c85); }
2749
2812
  }
2750
2813
  if (s4 !== null) {
2751
2814
  s3 = [s3, s4];
@@ -2784,12 +2847,12 @@ Emblem.Parser = (function() {
2784
2847
  s3 = peg$c0;
2785
2848
  }
2786
2849
  if (s3 !== null) {
2787
- if (peg$c82.test(input.charAt(peg$currPos))) {
2850
+ if (peg$c86.test(input.charAt(peg$currPos))) {
2788
2851
  s4 = input.charAt(peg$currPos);
2789
2852
  peg$currPos++;
2790
2853
  } else {
2791
2854
  s4 = null;
2792
- if (peg$silentFails === 0) { peg$fail(peg$c83); }
2855
+ if (peg$silentFails === 0) { peg$fail(peg$c87); }
2793
2856
  }
2794
2857
  if (s4 !== null) {
2795
2858
  s3 = [s3, s4];
@@ -2816,12 +2879,12 @@ Emblem.Parser = (function() {
2816
2879
  s3 = peg$c0;
2817
2880
  }
2818
2881
  if (s3 !== null) {
2819
- if (peg$c82.test(input.charAt(peg$currPos))) {
2882
+ if (peg$c86.test(input.charAt(peg$currPos))) {
2820
2883
  s4 = input.charAt(peg$currPos);
2821
2884
  peg$currPos++;
2822
2885
  } else {
2823
2886
  s4 = null;
2824
- if (peg$silentFails === 0) { peg$fail(peg$c83); }
2887
+ if (peg$silentFails === 0) { peg$fail(peg$c87); }
2825
2888
  }
2826
2889
  if (s4 !== null) {
2827
2890
  s3 = [s3, s4];
@@ -2846,12 +2909,12 @@ Emblem.Parser = (function() {
2846
2909
  function peg$parsealpha() {
2847
2910
  var s0;
2848
2911
 
2849
- if (peg$c84.test(input.charAt(peg$currPos))) {
2912
+ if (peg$c88.test(input.charAt(peg$currPos))) {
2850
2913
  s0 = input.charAt(peg$currPos);
2851
2914
  peg$currPos++;
2852
2915
  } else {
2853
2916
  s0 = null;
2854
- if (peg$silentFails === 0) { peg$fail(peg$c85); }
2917
+ if (peg$silentFails === 0) { peg$fail(peg$c89); }
2855
2918
  }
2856
2919
 
2857
2920
  return s0;
@@ -2875,7 +2938,7 @@ Emblem.Parser = (function() {
2875
2938
  s4 = peg$parseanyDedent();
2876
2939
  if (s4 !== null) {
2877
2940
  peg$reportedPos = s0;
2878
- s1 = peg$c86(s1, s2, s3);
2941
+ s1 = peg$c90(s1, s2, s3);
2879
2942
  if (s1 === null) {
2880
2943
  peg$currPos = s0;
2881
2944
  s0 = s1;
@@ -2909,12 +2972,12 @@ Emblem.Parser = (function() {
2909
2972
  var s0, s1, s2;
2910
2973
 
2911
2974
  s0 = peg$currPos;
2912
- if (peg$c87.test(input.charAt(peg$currPos))) {
2975
+ if (peg$c91.test(input.charAt(peg$currPos))) {
2913
2976
  s1 = input.charAt(peg$currPos);
2914
2977
  peg$currPos++;
2915
2978
  } else {
2916
2979
  s1 = null;
2917
- if (peg$silentFails === 0) { peg$fail(peg$c88); }
2980
+ if (peg$silentFails === 0) { peg$fail(peg$c92); }
2918
2981
  }
2919
2982
  if (s1 !== null) {
2920
2983
  if (input.charCodeAt(peg$currPos) === 32) {
@@ -2929,7 +2992,7 @@ Emblem.Parser = (function() {
2929
2992
  }
2930
2993
  if (s2 !== null) {
2931
2994
  peg$reportedPos = s0;
2932
- s1 = peg$c52(s1);
2995
+ s1 = peg$c53(s1);
2933
2996
  if (s1 === null) {
2934
2997
  peg$currPos = s0;
2935
2998
  s0 = s1;
@@ -2949,11 +3012,11 @@ Emblem.Parser = (function() {
2949
3012
  s1 = peg$currPos;
2950
3013
  peg$silentFails++;
2951
3014
  if (input.charCodeAt(peg$currPos) === 60) {
2952
- s2 = peg$c89;
3015
+ s2 = peg$c93;
2953
3016
  peg$currPos++;
2954
3017
  } else {
2955
3018
  s2 = null;
2956
- if (peg$silentFails === 0) { peg$fail(peg$c90); }
3019
+ if (peg$silentFails === 0) { peg$fail(peg$c94); }
2957
3020
  }
2958
3021
  peg$silentFails--;
2959
3022
  if (s2 !== null) {
@@ -2964,7 +3027,7 @@ Emblem.Parser = (function() {
2964
3027
  }
2965
3028
  if (s1 !== null) {
2966
3029
  peg$reportedPos = s0;
2967
- s1 = peg$c91();
3030
+ s1 = peg$c95();
2968
3031
  }
2969
3032
  if (s1 === null) {
2970
3033
  peg$currPos = s0;
@@ -3016,7 +3079,7 @@ Emblem.Parser = (function() {
3016
3079
  }
3017
3080
  if (s3 !== null) {
3018
3081
  peg$reportedPos = s0;
3019
- s1 = peg$c92(s1, s2, s3);
3082
+ s1 = peg$c96(s1, s2, s3);
3020
3083
  if (s1 === null) {
3021
3084
  peg$currPos = s0;
3022
3085
  s0 = s1;
@@ -3092,7 +3155,7 @@ Emblem.Parser = (function() {
3092
3155
  s3 = peg$parseTERM();
3093
3156
  if (s3 !== null) {
3094
3157
  peg$reportedPos = s0;
3095
- s1 = peg$c93(s1, s2);
3158
+ s1 = peg$c97(s1, s2);
3096
3159
  if (s1 === null) {
3097
3160
  peg$currPos = s0;
3098
3161
  s0 = s1;
@@ -3120,25 +3183,25 @@ Emblem.Parser = (function() {
3120
3183
 
3121
3184
  s0 = peg$currPos;
3122
3185
  if (input.charCodeAt(peg$currPos) === 34) {
3123
- s1 = peg$c75;
3186
+ s1 = peg$c79;
3124
3187
  peg$currPos++;
3125
3188
  } else {
3126
3189
  s1 = null;
3127
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
3190
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
3128
3191
  }
3129
3192
  if (s1 !== null) {
3130
3193
  s2 = peg$parseattributeTextNodesInner();
3131
3194
  if (s2 !== null) {
3132
3195
  if (input.charCodeAt(peg$currPos) === 34) {
3133
- s3 = peg$c75;
3196
+ s3 = peg$c79;
3134
3197
  peg$currPos++;
3135
3198
  } else {
3136
3199
  s3 = null;
3137
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
3200
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
3138
3201
  }
3139
3202
  if (s3 !== null) {
3140
3203
  peg$reportedPos = s0;
3141
- s1 = peg$c43(s2);
3204
+ s1 = peg$c44(s2);
3142
3205
  if (s1 === null) {
3143
3206
  peg$currPos = s0;
3144
3207
  s0 = s1;
@@ -3160,25 +3223,25 @@ Emblem.Parser = (function() {
3160
3223
  if (s0 === null) {
3161
3224
  s0 = peg$currPos;
3162
3225
  if (input.charCodeAt(peg$currPos) === 39) {
3163
- s1 = peg$c77;
3226
+ s1 = peg$c81;
3164
3227
  peg$currPos++;
3165
3228
  } else {
3166
3229
  s1 = null;
3167
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
3230
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
3168
3231
  }
3169
3232
  if (s1 !== null) {
3170
3233
  s2 = peg$parseattributeTextNodesInnerSingle();
3171
3234
  if (s2 !== null) {
3172
3235
  if (input.charCodeAt(peg$currPos) === 39) {
3173
- s3 = peg$c77;
3236
+ s3 = peg$c81;
3174
3237
  peg$currPos++;
3175
3238
  } else {
3176
3239
  s3 = null;
3177
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
3240
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
3178
3241
  }
3179
3242
  if (s3 !== null) {
3180
3243
  peg$reportedPos = s0;
3181
- s1 = peg$c43(s2);
3244
+ s1 = peg$c44(s2);
3182
3245
  if (s1 === null) {
3183
3246
  peg$currPos = s0;
3184
3247
  s0 = s1;
@@ -3253,7 +3316,7 @@ Emblem.Parser = (function() {
3253
3316
  }
3254
3317
  if (s2 !== null) {
3255
3318
  peg$reportedPos = s0;
3256
- s1 = peg$c94(s1, s2);
3319
+ s1 = peg$c98(s1, s2);
3257
3320
  if (s1 === null) {
3258
3321
  peg$currPos = s0;
3259
3322
  s0 = s1;
@@ -3323,7 +3386,7 @@ Emblem.Parser = (function() {
3323
3386
  }
3324
3387
  if (s2 !== null) {
3325
3388
  peg$reportedPos = s0;
3326
- s1 = peg$c94(s1, s2);
3389
+ s1 = peg$c98(s1, s2);
3327
3390
  if (s1 === null) {
3328
3391
  peg$currPos = s0;
3329
3392
  s0 = s1;
@@ -3360,11 +3423,11 @@ Emblem.Parser = (function() {
3360
3423
  s1 = peg$currPos;
3361
3424
  peg$silentFails++;
3362
3425
  if (input.charCodeAt(peg$currPos) === 123) {
3363
- s2 = peg$c95;
3426
+ s2 = peg$c99;
3364
3427
  peg$currPos++;
3365
3428
  } else {
3366
3429
  s2 = null;
3367
- if (peg$silentFails === 0) { peg$fail(peg$c96); }
3430
+ if (peg$silentFails === 0) { peg$fail(peg$c100); }
3368
3431
  }
3369
3432
  peg$silentFails--;
3370
3433
  if (s2 === null) {
@@ -3376,21 +3439,21 @@ Emblem.Parser = (function() {
3376
3439
  if (s1 !== null) {
3377
3440
  s2 = peg$currPos;
3378
3441
  s3 = [];
3379
- if (peg$c97.test(input.charAt(peg$currPos))) {
3442
+ if (peg$c101.test(input.charAt(peg$currPos))) {
3380
3443
  s4 = input.charAt(peg$currPos);
3381
3444
  peg$currPos++;
3382
3445
  } else {
3383
3446
  s4 = null;
3384
- if (peg$silentFails === 0) { peg$fail(peg$c98); }
3447
+ if (peg$silentFails === 0) { peg$fail(peg$c102); }
3385
3448
  }
3386
3449
  while (s4 !== null) {
3387
3450
  s3.push(s4);
3388
- if (peg$c97.test(input.charAt(peg$currPos))) {
3451
+ if (peg$c101.test(input.charAt(peg$currPos))) {
3389
3452
  s4 = input.charAt(peg$currPos);
3390
3453
  peg$currPos++;
3391
3454
  } else {
3392
3455
  s4 = null;
3393
- if (peg$silentFails === 0) { peg$fail(peg$c98); }
3456
+ if (peg$silentFails === 0) { peg$fail(peg$c102); }
3394
3457
  }
3395
3458
  }
3396
3459
  if (s3 !== null) {
@@ -3399,7 +3462,7 @@ Emblem.Parser = (function() {
3399
3462
  s2 = s3;
3400
3463
  if (s2 !== null) {
3401
3464
  peg$reportedPos = s0;
3402
- s1 = peg$c99(s2);
3465
+ s1 = peg$c103(s2);
3403
3466
  if (s1 === null) {
3404
3467
  peg$currPos = s0;
3405
3468
  s0 = s1;
@@ -3433,7 +3496,7 @@ Emblem.Parser = (function() {
3433
3496
  s5 = peg$parsedoubleClose();
3434
3497
  if (s5 !== null) {
3435
3498
  peg$reportedPos = s0;
3436
- s1 = peg$c100(s3);
3499
+ s1 = peg$c104(s3);
3437
3500
  if (s1 === null) {
3438
3501
  peg$currPos = s0;
3439
3502
  s0 = s1;
@@ -3473,7 +3536,7 @@ Emblem.Parser = (function() {
3473
3536
  s5 = peg$parsehashStacheClose();
3474
3537
  if (s5 !== null) {
3475
3538
  peg$reportedPos = s0;
3476
- s1 = peg$c100(s3);
3539
+ s1 = peg$c104(s3);
3477
3540
  if (s1 === null) {
3478
3541
  peg$currPos = s0;
3479
3542
  s0 = s1;
@@ -3520,7 +3583,7 @@ Emblem.Parser = (function() {
3520
3583
  s5 = peg$parsetripleClose();
3521
3584
  if (s5 !== null) {
3522
3585
  peg$reportedPos = s0;
3523
- s1 = peg$c101(s3);
3586
+ s1 = peg$c105(s3);
3524
3587
  if (s1 === null) {
3525
3588
  peg$currPos = s0;
3526
3589
  s0 = s1;
@@ -3572,7 +3635,7 @@ Emblem.Parser = (function() {
3572
3635
  s1 = s2;
3573
3636
  if (s1 !== null) {
3574
3637
  peg$reportedPos = s0;
3575
- s1 = peg$c102(s1);
3638
+ s1 = peg$c106(s1);
3576
3639
  }
3577
3640
  if (s1 === null) {
3578
3641
  peg$currPos = s0;
@@ -3605,7 +3668,7 @@ Emblem.Parser = (function() {
3605
3668
  s1 = s2;
3606
3669
  if (s1 !== null) {
3607
3670
  peg$reportedPos = s0;
3608
- s1 = peg$c102(s1);
3671
+ s1 = peg$c106(s1);
3609
3672
  }
3610
3673
  if (s1 === null) {
3611
3674
  peg$currPos = s0;
@@ -3626,11 +3689,11 @@ Emblem.Parser = (function() {
3626
3689
  s2 = peg$parsenonMustacheUnit();
3627
3690
  if (s2 === null) {
3628
3691
  if (input.charCodeAt(peg$currPos) === 34) {
3629
- s2 = peg$c75;
3692
+ s2 = peg$c79;
3630
3693
  peg$currPos++;
3631
3694
  } else {
3632
3695
  s2 = null;
3633
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
3696
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
3634
3697
  }
3635
3698
  }
3636
3699
  peg$silentFails--;
@@ -3646,7 +3709,7 @@ Emblem.Parser = (function() {
3646
3709
  peg$currPos++;
3647
3710
  } else {
3648
3711
  s2 = null;
3649
- if (peg$silentFails === 0) { peg$fail(peg$c103); }
3712
+ if (peg$silentFails === 0) { peg$fail(peg$c107); }
3650
3713
  }
3651
3714
  if (s2 !== null) {
3652
3715
  peg$reportedPos = s0;
@@ -3678,11 +3741,11 @@ Emblem.Parser = (function() {
3678
3741
  s2 = peg$parsenonMustacheUnit();
3679
3742
  if (s2 === null) {
3680
3743
  if (input.charCodeAt(peg$currPos) === 39) {
3681
- s2 = peg$c77;
3744
+ s2 = peg$c81;
3682
3745
  peg$currPos++;
3683
3746
  } else {
3684
3747
  s2 = null;
3685
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
3748
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
3686
3749
  }
3687
3750
  }
3688
3751
  peg$silentFails--;
@@ -3698,7 +3761,7 @@ Emblem.Parser = (function() {
3698
3761
  peg$currPos++;
3699
3762
  } else {
3700
3763
  s2 = null;
3701
- if (peg$silentFails === 0) { peg$fail(peg$c103); }
3764
+ if (peg$silentFails === 0) { peg$fail(peg$c107); }
3702
3765
  }
3703
3766
  if (s2 !== null) {
3704
3767
  peg$reportedPos = s0;
@@ -3742,7 +3805,7 @@ Emblem.Parser = (function() {
3742
3805
  s1 = s2;
3743
3806
  if (s1 !== null) {
3744
3807
  peg$reportedPos = s0;
3745
- s1 = peg$c102(s1);
3808
+ s1 = peg$c106(s1);
3746
3809
  }
3747
3810
  if (s1 === null) {
3748
3811
  peg$currPos = s0;
@@ -3774,7 +3837,7 @@ Emblem.Parser = (function() {
3774
3837
  peg$currPos++;
3775
3838
  } else {
3776
3839
  s2 = null;
3777
- if (peg$silentFails === 0) { peg$fail(peg$c103); }
3840
+ if (peg$silentFails === 0) { peg$fail(peg$c107); }
3778
3841
  }
3779
3842
  if (s2 !== null) {
3780
3843
  peg$reportedPos = s0;
@@ -3832,7 +3895,7 @@ Emblem.Parser = (function() {
3832
3895
  s5 = peg$parsesingleClose();
3833
3896
  if (s5 !== null) {
3834
3897
  peg$reportedPos = s0;
3835
- s1 = peg$c100(s3);
3898
+ s1 = peg$c104(s3);
3836
3899
  if (s1 === null) {
3837
3900
  peg$currPos = s0;
3838
3901
  s0 = s1;
@@ -3882,16 +3945,16 @@ Emblem.Parser = (function() {
3882
3945
 
3883
3946
  peg$silentFails++;
3884
3947
  if (input.charCodeAt(peg$currPos) === 123) {
3885
- s0 = peg$c95;
3948
+ s0 = peg$c99;
3886
3949
  peg$currPos++;
3887
3950
  } else {
3888
3951
  s0 = null;
3889
- if (peg$silentFails === 0) { peg$fail(peg$c96); }
3952
+ if (peg$silentFails === 0) { peg$fail(peg$c100); }
3890
3953
  }
3891
3954
  peg$silentFails--;
3892
3955
  if (s0 === null) {
3893
3956
  s1 = null;
3894
- if (peg$silentFails === 0) { peg$fail(peg$c104); }
3957
+ if (peg$silentFails === 0) { peg$fail(peg$c108); }
3895
3958
  }
3896
3959
 
3897
3960
  return s0;
@@ -3901,17 +3964,17 @@ Emblem.Parser = (function() {
3901
3964
  var s0, s1;
3902
3965
 
3903
3966
  peg$silentFails++;
3904
- if (input.substr(peg$currPos, 2) === peg$c106) {
3905
- s0 = peg$c106;
3967
+ if (input.substr(peg$currPos, 2) === peg$c110) {
3968
+ s0 = peg$c110;
3906
3969
  peg$currPos += 2;
3907
3970
  } else {
3908
3971
  s0 = null;
3909
- if (peg$silentFails === 0) { peg$fail(peg$c107); }
3972
+ if (peg$silentFails === 0) { peg$fail(peg$c111); }
3910
3973
  }
3911
3974
  peg$silentFails--;
3912
3975
  if (s0 === null) {
3913
3976
  s1 = null;
3914
- if (peg$silentFails === 0) { peg$fail(peg$c105); }
3977
+ if (peg$silentFails === 0) { peg$fail(peg$c109); }
3915
3978
  }
3916
3979
 
3917
3980
  return s0;
@@ -3921,17 +3984,17 @@ Emblem.Parser = (function() {
3921
3984
  var s0, s1;
3922
3985
 
3923
3986
  peg$silentFails++;
3924
- if (input.substr(peg$currPos, 3) === peg$c109) {
3925
- s0 = peg$c109;
3987
+ if (input.substr(peg$currPos, 3) === peg$c113) {
3988
+ s0 = peg$c113;
3926
3989
  peg$currPos += 3;
3927
3990
  } else {
3928
3991
  s0 = null;
3929
- if (peg$silentFails === 0) { peg$fail(peg$c110); }
3992
+ if (peg$silentFails === 0) { peg$fail(peg$c114); }
3930
3993
  }
3931
3994
  peg$silentFails--;
3932
3995
  if (s0 === null) {
3933
3996
  s1 = null;
3934
- if (peg$silentFails === 0) { peg$fail(peg$c108); }
3997
+ if (peg$silentFails === 0) { peg$fail(peg$c112); }
3935
3998
  }
3936
3999
 
3937
4000
  return s0;
@@ -3942,16 +4005,16 @@ Emblem.Parser = (function() {
3942
4005
 
3943
4006
  peg$silentFails++;
3944
4007
  if (input.charCodeAt(peg$currPos) === 125) {
3945
- s0 = peg$c112;
4008
+ s0 = peg$c116;
3946
4009
  peg$currPos++;
3947
4010
  } else {
3948
4011
  s0 = null;
3949
- if (peg$silentFails === 0) { peg$fail(peg$c113); }
4012
+ if (peg$silentFails === 0) { peg$fail(peg$c117); }
3950
4013
  }
3951
4014
  peg$silentFails--;
3952
4015
  if (s0 === null) {
3953
4016
  s1 = null;
3954
- if (peg$silentFails === 0) { peg$fail(peg$c111); }
4017
+ if (peg$silentFails === 0) { peg$fail(peg$c115); }
3955
4018
  }
3956
4019
 
3957
4020
  return s0;
@@ -3961,17 +4024,17 @@ Emblem.Parser = (function() {
3961
4024
  var s0, s1;
3962
4025
 
3963
4026
  peg$silentFails++;
3964
- if (input.substr(peg$currPos, 2) === peg$c115) {
3965
- s0 = peg$c115;
4027
+ if (input.substr(peg$currPos, 2) === peg$c119) {
4028
+ s0 = peg$c119;
3966
4029
  peg$currPos += 2;
3967
4030
  } else {
3968
4031
  s0 = null;
3969
- if (peg$silentFails === 0) { peg$fail(peg$c116); }
4032
+ if (peg$silentFails === 0) { peg$fail(peg$c120); }
3970
4033
  }
3971
4034
  peg$silentFails--;
3972
4035
  if (s0 === null) {
3973
4036
  s1 = null;
3974
- if (peg$silentFails === 0) { peg$fail(peg$c114); }
4037
+ if (peg$silentFails === 0) { peg$fail(peg$c118); }
3975
4038
  }
3976
4039
 
3977
4040
  return s0;
@@ -3981,17 +4044,17 @@ Emblem.Parser = (function() {
3981
4044
  var s0, s1;
3982
4045
 
3983
4046
  peg$silentFails++;
3984
- if (input.substr(peg$currPos, 3) === peg$c118) {
3985
- s0 = peg$c118;
4047
+ if (input.substr(peg$currPos, 3) === peg$c122) {
4048
+ s0 = peg$c122;
3986
4049
  peg$currPos += 3;
3987
4050
  } else {
3988
4051
  s0 = null;
3989
- if (peg$silentFails === 0) { peg$fail(peg$c119); }
4052
+ if (peg$silentFails === 0) { peg$fail(peg$c123); }
3990
4053
  }
3991
4054
  peg$silentFails--;
3992
4055
  if (s0 === null) {
3993
4056
  s1 = null;
3994
- if (peg$silentFails === 0) { peg$fail(peg$c117); }
4057
+ if (peg$silentFails === 0) { peg$fail(peg$c121); }
3995
4058
  }
3996
4059
 
3997
4060
  return s0;
@@ -4001,17 +4064,17 @@ Emblem.Parser = (function() {
4001
4064
  var s0, s1;
4002
4065
 
4003
4066
  peg$silentFails++;
4004
- if (input.substr(peg$currPos, 2) === peg$c121) {
4005
- s0 = peg$c121;
4067
+ if (input.substr(peg$currPos, 2) === peg$c125) {
4068
+ s0 = peg$c125;
4006
4069
  peg$currPos += 2;
4007
4070
  } else {
4008
4071
  s0 = null;
4009
- if (peg$silentFails === 0) { peg$fail(peg$c122); }
4072
+ if (peg$silentFails === 0) { peg$fail(peg$c126); }
4010
4073
  }
4011
4074
  peg$silentFails--;
4012
4075
  if (s0 === null) {
4013
4076
  s1 = null;
4014
- if (peg$silentFails === 0) { peg$fail(peg$c120); }
4077
+ if (peg$silentFails === 0) { peg$fail(peg$c124); }
4015
4078
  }
4016
4079
 
4017
4080
  return s0;
@@ -4022,16 +4085,16 @@ Emblem.Parser = (function() {
4022
4085
 
4023
4086
  peg$silentFails++;
4024
4087
  if (input.charCodeAt(peg$currPos) === 125) {
4025
- s0 = peg$c112;
4088
+ s0 = peg$c116;
4026
4089
  peg$currPos++;
4027
4090
  } else {
4028
4091
  s0 = null;
4029
- if (peg$silentFails === 0) { peg$fail(peg$c113); }
4092
+ if (peg$silentFails === 0) { peg$fail(peg$c117); }
4030
4093
  }
4031
4094
  peg$silentFails--;
4032
4095
  if (s0 === null) {
4033
4096
  s1 = null;
4034
- if (peg$silentFails === 0) { peg$fail(peg$c123); }
4097
+ if (peg$silentFails === 0) { peg$fail(peg$c127); }
4035
4098
  }
4036
4099
 
4037
4100
  return s0;
@@ -4041,12 +4104,12 @@ Emblem.Parser = (function() {
4041
4104
  var s0, s1, s2;
4042
4105
 
4043
4106
  s0 = peg$currPos;
4044
- if (input.substr(peg$currPos, 2) === peg$c124) {
4045
- s1 = peg$c124;
4107
+ if (input.substr(peg$currPos, 2) === peg$c128) {
4108
+ s1 = peg$c128;
4046
4109
  peg$currPos += 2;
4047
4110
  } else {
4048
4111
  s1 = null;
4049
- if (peg$silentFails === 0) { peg$fail(peg$c125); }
4112
+ if (peg$silentFails === 0) { peg$fail(peg$c129); }
4050
4113
  }
4051
4114
  if (s1 !== null) {
4052
4115
  if (input.charCodeAt(peg$currPos) === 32) {
@@ -4061,7 +4124,7 @@ Emblem.Parser = (function() {
4061
4124
  }
4062
4125
  if (s2 !== null) {
4063
4126
  peg$reportedPos = s0;
4064
- s1 = peg$c126();
4127
+ s1 = peg$c130();
4065
4128
  if (s1 === null) {
4066
4129
  peg$currPos = s0;
4067
4130
  s0 = s1;
@@ -4098,7 +4161,7 @@ Emblem.Parser = (function() {
4098
4161
  }
4099
4162
  if (s2 !== null) {
4100
4163
  peg$reportedPos = s0;
4101
- s1 = peg$c127();
4164
+ s1 = peg$c131();
4102
4165
  if (s1 === null) {
4103
4166
  peg$currPos = s0;
4104
4167
  s0 = s1;
@@ -4144,7 +4207,7 @@ Emblem.Parser = (function() {
4144
4207
  }
4145
4208
  if (s3 !== null) {
4146
4209
  peg$reportedPos = peg$currPos;
4147
- s4 = peg$c128(s1, s2);
4210
+ s4 = peg$c132(s1, s2);
4148
4211
  if (s4) {
4149
4212
  s4 = peg$c1;
4150
4213
  } else {
@@ -4194,7 +4257,7 @@ Emblem.Parser = (function() {
4194
4257
  }
4195
4258
  if (s3 !== null) {
4196
4259
  peg$reportedPos = s0;
4197
- s1 = peg$c129(s1, s2, s3);
4260
+ s1 = peg$c133(s1, s2, s3);
4198
4261
  if (s1 === null) {
4199
4262
  peg$currPos = s0;
4200
4263
  s0 = s1;
@@ -4226,7 +4289,7 @@ Emblem.Parser = (function() {
4226
4289
  s3 = peg$parseidShorthand();
4227
4290
  if (s3 !== null) {
4228
4291
  peg$reportedPos = s2;
4229
- s3 = peg$c130(s3);
4292
+ s3 = peg$c134(s3);
4230
4293
  }
4231
4294
  if (s3 === null) {
4232
4295
  peg$currPos = s2;
@@ -4239,7 +4302,7 @@ Emblem.Parser = (function() {
4239
4302
  s3 = peg$parseclassShorthand();
4240
4303
  if (s3 !== null) {
4241
4304
  peg$reportedPos = s2;
4242
- s3 = peg$c131(s3);
4305
+ s3 = peg$c135(s3);
4243
4306
  }
4244
4307
  if (s3 === null) {
4245
4308
  peg$currPos = s2;
@@ -4255,7 +4318,7 @@ Emblem.Parser = (function() {
4255
4318
  s3 = peg$parseidShorthand();
4256
4319
  if (s3 !== null) {
4257
4320
  peg$reportedPos = s2;
4258
- s3 = peg$c130(s3);
4321
+ s3 = peg$c134(s3);
4259
4322
  }
4260
4323
  if (s3 === null) {
4261
4324
  peg$currPos = s2;
@@ -4268,7 +4331,7 @@ Emblem.Parser = (function() {
4268
4331
  s3 = peg$parseclassShorthand();
4269
4332
  if (s3 !== null) {
4270
4333
  peg$reportedPos = s2;
4271
- s3 = peg$c131(s3);
4334
+ s3 = peg$c135(s3);
4272
4335
  }
4273
4336
  if (s3 === null) {
4274
4337
  peg$currPos = s2;
@@ -4283,7 +4346,7 @@ Emblem.Parser = (function() {
4283
4346
  }
4284
4347
  if (s1 !== null) {
4285
4348
  peg$reportedPos = s0;
4286
- s1 = peg$c132(s1);
4349
+ s1 = peg$c136(s1);
4287
4350
  }
4288
4351
  if (s1 === null) {
4289
4352
  peg$currPos = s0;
@@ -4324,17 +4387,20 @@ Emblem.Parser = (function() {
4324
4387
  if (s1 !== null) {
4325
4388
  s2 = peg$parseactionAttribute();
4326
4389
  if (s2 === null) {
4327
- s2 = peg$parseboundAttribute();
4390
+ s2 = peg$parsebooleanAttribute();
4328
4391
  if (s2 === null) {
4329
- s2 = peg$parserawMustacheAttribute();
4392
+ s2 = peg$parseboundAttribute();
4330
4393
  if (s2 === null) {
4331
- s2 = peg$parsenormalAttribute();
4394
+ s2 = peg$parserawMustacheAttribute();
4395
+ if (s2 === null) {
4396
+ s2 = peg$parsenormalAttribute();
4397
+ }
4332
4398
  }
4333
4399
  }
4334
4400
  }
4335
4401
  if (s2 !== null) {
4336
4402
  peg$reportedPos = s0;
4337
- s1 = peg$c133(s2);
4403
+ s1 = peg$c137(s2);
4338
4404
  if (s1 === null) {
4339
4405
  peg$currPos = s0;
4340
4406
  s0 = s1;
@@ -4356,12 +4422,12 @@ Emblem.Parser = (function() {
4356
4422
  function peg$parseboundAttributeValueChar() {
4357
4423
  var s0;
4358
4424
 
4359
- if (peg$c134.test(input.charAt(peg$currPos))) {
4425
+ if (peg$c138.test(input.charAt(peg$currPos))) {
4360
4426
  s0 = input.charAt(peg$currPos);
4361
4427
  peg$currPos++;
4362
4428
  } else {
4363
4429
  s0 = null;
4364
- if (peg$silentFails === 0) { peg$fail(peg$c135); }
4430
+ if (peg$silentFails === 0) { peg$fail(peg$c139); }
4365
4431
  }
4366
4432
  if (s0 === null) {
4367
4433
  s0 = peg$parsenonSeparatorColon();
@@ -4379,7 +4445,7 @@ Emblem.Parser = (function() {
4379
4445
  s1 = peg$parsepathIdNode();
4380
4446
  if (s1 !== null) {
4381
4447
  peg$reportedPos = s0;
4382
- s1 = peg$c136(s1);
4448
+ s1 = peg$c140(s1);
4383
4449
  }
4384
4450
  if (s1 === null) {
4385
4451
  peg$currPos = s0;
@@ -4398,21 +4464,21 @@ Emblem.Parser = (function() {
4398
4464
  s0 = peg$currPos;
4399
4465
  s1 = peg$currPos;
4400
4466
  if (input.charCodeAt(peg$currPos) === 34) {
4401
- s2 = peg$c75;
4467
+ s2 = peg$c79;
4402
4468
  peg$currPos++;
4403
4469
  } else {
4404
4470
  s2 = null;
4405
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
4471
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
4406
4472
  }
4407
4473
  if (s2 !== null) {
4408
4474
  s3 = peg$parseinMustache();
4409
4475
  if (s3 !== null) {
4410
4476
  if (input.charCodeAt(peg$currPos) === 34) {
4411
- s4 = peg$c75;
4477
+ s4 = peg$c79;
4412
4478
  peg$currPos++;
4413
4479
  } else {
4414
4480
  s4 = null;
4415
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
4481
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
4416
4482
  }
4417
4483
  if (s4 !== null) {
4418
4484
  s2 = [s2, s3, s4];
@@ -4432,21 +4498,21 @@ Emblem.Parser = (function() {
4432
4498
  if (s1 === null) {
4433
4499
  s1 = peg$currPos;
4434
4500
  if (input.charCodeAt(peg$currPos) === 39) {
4435
- s2 = peg$c77;
4501
+ s2 = peg$c81;
4436
4502
  peg$currPos++;
4437
4503
  } else {
4438
4504
  s2 = null;
4439
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
4505
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
4440
4506
  }
4441
4507
  if (s2 !== null) {
4442
4508
  s3 = peg$parseinMustache();
4443
4509
  if (s3 !== null) {
4444
4510
  if (input.charCodeAt(peg$currPos) === 39) {
4445
- s4 = peg$c77;
4511
+ s4 = peg$c81;
4446
4512
  peg$currPos++;
4447
4513
  } else {
4448
4514
  s4 = null;
4449
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
4515
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
4450
4516
  }
4451
4517
  if (s4 !== null) {
4452
4518
  s2 = [s2, s3, s4];
@@ -4466,7 +4532,7 @@ Emblem.Parser = (function() {
4466
4532
  }
4467
4533
  if (s1 !== null) {
4468
4534
  peg$reportedPos = s0;
4469
- s1 = peg$c79(s1);
4535
+ s1 = peg$c83(s1);
4470
4536
  }
4471
4537
  if (s1 === null) {
4472
4538
  peg$currPos = s0;
@@ -4495,7 +4561,62 @@ Emblem.Parser = (function() {
4495
4561
  s3 = peg$parseactionValue();
4496
4562
  if (s3 !== null) {
4497
4563
  peg$reportedPos = s0;
4498
- s1 = peg$c137(s1, s3);
4564
+ s1 = peg$c141(s1, s3);
4565
+ if (s1 === null) {
4566
+ peg$currPos = s0;
4567
+ s0 = s1;
4568
+ } else {
4569
+ s0 = s1;
4570
+ }
4571
+ } else {
4572
+ peg$currPos = s0;
4573
+ s0 = peg$c0;
4574
+ }
4575
+ } else {
4576
+ peg$currPos = s0;
4577
+ s0 = peg$c0;
4578
+ }
4579
+ } else {
4580
+ peg$currPos = s0;
4581
+ s0 = peg$c0;
4582
+ }
4583
+
4584
+ return s0;
4585
+ }
4586
+
4587
+ function peg$parsebooleanAttribute() {
4588
+ var s0, s1, s2, s3;
4589
+
4590
+ s0 = peg$currPos;
4591
+ s1 = peg$parsekey();
4592
+ if (s1 !== null) {
4593
+ if (input.charCodeAt(peg$currPos) === 61) {
4594
+ s2 = peg$c4;
4595
+ peg$currPos++;
4596
+ } else {
4597
+ s2 = null;
4598
+ if (peg$silentFails === 0) { peg$fail(peg$c5); }
4599
+ }
4600
+ if (s2 !== null) {
4601
+ if (input.substr(peg$currPos, 4) === peg$c69) {
4602
+ s3 = peg$c69;
4603
+ peg$currPos += 4;
4604
+ } else {
4605
+ s3 = null;
4606
+ if (peg$silentFails === 0) { peg$fail(peg$c70); }
4607
+ }
4608
+ if (s3 === null) {
4609
+ if (input.substr(peg$currPos, 5) === peg$c71) {
4610
+ s3 = peg$c71;
4611
+ peg$currPos += 5;
4612
+ } else {
4613
+ s3 = null;
4614
+ if (peg$silentFails === 0) { peg$fail(peg$c72); }
4615
+ }
4616
+ }
4617
+ if (s3 !== null) {
4618
+ peg$reportedPos = s0;
4619
+ s1 = peg$c142(s1, s3);
4499
4620
  if (s1 === null) {
4500
4621
  peg$currPos = s0;
4501
4622
  s0 = s1;
@@ -4523,11 +4644,11 @@ Emblem.Parser = (function() {
4523
4644
 
4524
4645
  s0 = peg$currPos;
4525
4646
  if (input.charCodeAt(peg$currPos) === 123) {
4526
- s1 = peg$c95;
4647
+ s1 = peg$c99;
4527
4648
  peg$currPos++;
4528
4649
  } else {
4529
4650
  s1 = null;
4530
- if (peg$silentFails === 0) { peg$fail(peg$c96); }
4651
+ if (peg$silentFails === 0) { peg$fail(peg$c100); }
4531
4652
  }
4532
4653
  if (s1 !== null) {
4533
4654
  s2 = peg$parse_();
@@ -4569,15 +4690,15 @@ Emblem.Parser = (function() {
4569
4690
  s4 = peg$parse_();
4570
4691
  if (s4 !== null) {
4571
4692
  if (input.charCodeAt(peg$currPos) === 125) {
4572
- s5 = peg$c112;
4693
+ s5 = peg$c116;
4573
4694
  peg$currPos++;
4574
4695
  } else {
4575
4696
  s5 = null;
4576
- if (peg$silentFails === 0) { peg$fail(peg$c113); }
4697
+ if (peg$silentFails === 0) { peg$fail(peg$c117); }
4577
4698
  }
4578
4699
  if (s5 !== null) {
4579
4700
  peg$reportedPos = s0;
4580
- s1 = peg$c138(s3);
4701
+ s1 = peg$c143(s3);
4581
4702
  if (s1 === null) {
4582
4703
  peg$currPos = s0;
4583
4704
  s0 = s1;
@@ -4644,11 +4765,11 @@ Emblem.Parser = (function() {
4644
4765
  s4 = peg$currPos;
4645
4766
  peg$silentFails++;
4646
4767
  if (input.charCodeAt(peg$currPos) === 33) {
4647
- s5 = peg$c139;
4768
+ s5 = peg$c144;
4648
4769
  peg$currPos++;
4649
4770
  } else {
4650
4771
  s5 = null;
4651
- if (peg$silentFails === 0) { peg$fail(peg$c140); }
4772
+ if (peg$silentFails === 0) { peg$fail(peg$c145); }
4652
4773
  }
4653
4774
  peg$silentFails--;
4654
4775
  if (s5 === null) {
@@ -4659,7 +4780,7 @@ Emblem.Parser = (function() {
4659
4780
  }
4660
4781
  if (s4 !== null) {
4661
4782
  peg$reportedPos = peg$currPos;
4662
- s5 = peg$c141(s1, s3);
4783
+ s5 = peg$c146(s1, s3);
4663
4784
  if (s5) {
4664
4785
  s5 = peg$c1;
4665
4786
  } else {
@@ -4667,7 +4788,7 @@ Emblem.Parser = (function() {
4667
4788
  }
4668
4789
  if (s5 !== null) {
4669
4790
  peg$reportedPos = s0;
4670
- s1 = peg$c142(s1, s3);
4791
+ s1 = peg$c147(s1, s3);
4671
4792
  if (s1 === null) {
4672
4793
  peg$currPos = s0;
4673
4794
  s0 = s1;
@@ -4715,7 +4836,7 @@ Emblem.Parser = (function() {
4715
4836
  s3 = peg$parsepathIdNode();
4716
4837
  if (s3 !== null) {
4717
4838
  peg$reportedPos = s0;
4718
- s1 = peg$c143(s1, s3);
4839
+ s1 = peg$c148(s1, s3);
4719
4840
  if (s1 === null) {
4720
4841
  peg$currPos = s0;
4721
4842
  s0 = s1;
@@ -4755,7 +4876,7 @@ Emblem.Parser = (function() {
4755
4876
  s3 = peg$parseattributeTextNodes();
4756
4877
  if (s3 !== null) {
4757
4878
  peg$reportedPos = s0;
4758
- s1 = peg$c144(s1, s3);
4879
+ s1 = peg$c149(s1, s3);
4759
4880
  if (s1 === null) {
4760
4881
  peg$currPos = s0;
4761
4882
  s0 = s1;
@@ -4796,44 +4917,33 @@ Emblem.Parser = (function() {
4796
4917
  return s0;
4797
4918
  }
4798
4919
 
4799
- function peg$parseattributeValue() {
4800
- var s0;
4801
-
4802
- s0 = peg$parsestring();
4803
- if (s0 === null) {
4804
- s0 = peg$parseparam();
4805
- }
4806
-
4807
- return s0;
4808
- }
4809
-
4810
4920
  function peg$parseattributeChar() {
4811
4921
  var s0;
4812
4922
 
4813
4923
  s0 = peg$parsealpha();
4814
4924
  if (s0 === null) {
4815
- if (peg$c72.test(input.charAt(peg$currPos))) {
4925
+ if (peg$c76.test(input.charAt(peg$currPos))) {
4816
4926
  s0 = input.charAt(peg$currPos);
4817
4927
  peg$currPos++;
4818
4928
  } else {
4819
4929
  s0 = null;
4820
- if (peg$silentFails === 0) { peg$fail(peg$c73); }
4930
+ if (peg$silentFails === 0) { peg$fail(peg$c77); }
4821
4931
  }
4822
4932
  if (s0 === null) {
4823
4933
  if (input.charCodeAt(peg$currPos) === 95) {
4824
- s0 = peg$c145;
4934
+ s0 = peg$c150;
4825
4935
  peg$currPos++;
4826
4936
  } else {
4827
4937
  s0 = null;
4828
- if (peg$silentFails === 0) { peg$fail(peg$c146); }
4938
+ if (peg$silentFails === 0) { peg$fail(peg$c151); }
4829
4939
  }
4830
4940
  if (s0 === null) {
4831
4941
  if (input.charCodeAt(peg$currPos) === 45) {
4832
- s0 = peg$c147;
4942
+ s0 = peg$c74;
4833
4943
  peg$currPos++;
4834
4944
  } else {
4835
4945
  s0 = null;
4836
- if (peg$silentFails === 0) { peg$fail(peg$c148); }
4946
+ if (peg$silentFails === 0) { peg$fail(peg$c75); }
4837
4947
  }
4838
4948
  }
4839
4949
  }
@@ -4847,11 +4957,11 @@ Emblem.Parser = (function() {
4847
4957
 
4848
4958
  s0 = peg$currPos;
4849
4959
  if (input.charCodeAt(peg$currPos) === 37) {
4850
- s1 = peg$c149;
4960
+ s1 = peg$c152;
4851
4961
  peg$currPos++;
4852
4962
  } else {
4853
4963
  s1 = null;
4854
- if (peg$silentFails === 0) { peg$fail(peg$c150); }
4964
+ if (peg$silentFails === 0) { peg$fail(peg$c153); }
4855
4965
  }
4856
4966
  if (s1 !== null) {
4857
4967
  s2 = peg$parsecssIdentifier();
@@ -4881,17 +4991,17 @@ Emblem.Parser = (function() {
4881
4991
 
4882
4992
  s0 = peg$currPos;
4883
4993
  if (input.charCodeAt(peg$currPos) === 35) {
4884
- s1 = peg$c151;
4994
+ s1 = peg$c154;
4885
4995
  peg$currPos++;
4886
4996
  } else {
4887
4997
  s1 = null;
4888
- if (peg$silentFails === 0) { peg$fail(peg$c152); }
4998
+ if (peg$silentFails === 0) { peg$fail(peg$c155); }
4889
4999
  }
4890
5000
  if (s1 !== null) {
4891
5001
  s2 = peg$parsecssIdentifier();
4892
5002
  if (s2 !== null) {
4893
5003
  peg$reportedPos = s0;
4894
- s1 = peg$c153(s2);
5004
+ s1 = peg$c156(s2);
4895
5005
  if (s1 === null) {
4896
5006
  peg$currPos = s0;
4897
5007
  s0 = s1;
@@ -4915,11 +5025,11 @@ Emblem.Parser = (function() {
4915
5025
 
4916
5026
  s0 = peg$currPos;
4917
5027
  if (input.charCodeAt(peg$currPos) === 46) {
4918
- s1 = peg$c48;
5028
+ s1 = peg$c49;
4919
5029
  peg$currPos++;
4920
5030
  } else {
4921
5031
  s1 = null;
4922
- if (peg$silentFails === 0) { peg$fail(peg$c49); }
5032
+ if (peg$silentFails === 0) { peg$fail(peg$c50); }
4923
5033
  }
4924
5034
  if (s1 !== null) {
4925
5035
  s2 = peg$parsecssIdentifier();
@@ -4952,7 +5062,7 @@ Emblem.Parser = (function() {
4952
5062
  peg$silentFails--;
4953
5063
  if (s0 === null) {
4954
5064
  s1 = null;
4955
- if (peg$silentFails === 0) { peg$fail(peg$c154); }
5065
+ if (peg$silentFails === 0) { peg$fail(peg$c157); }
4956
5066
  }
4957
5067
 
4958
5068
  return s0;
@@ -4979,12 +5089,12 @@ Emblem.Parser = (function() {
4979
5089
  function peg$parsenmchar() {
4980
5090
  var s0;
4981
5091
 
4982
- if (peg$c155.test(input.charAt(peg$currPos))) {
5092
+ if (peg$c158.test(input.charAt(peg$currPos))) {
4983
5093
  s0 = input.charAt(peg$currPos);
4984
5094
  peg$currPos++;
4985
5095
  } else {
4986
5096
  s0 = null;
4987
- if (peg$silentFails === 0) { peg$fail(peg$c156); }
5097
+ if (peg$silentFails === 0) { peg$fail(peg$c159); }
4988
5098
  }
4989
5099
  if (s0 === null) {
4990
5100
  s0 = peg$parsenonascii();
@@ -4996,12 +5106,12 @@ Emblem.Parser = (function() {
4996
5106
  function peg$parsenmstart() {
4997
5107
  var s0;
4998
5108
 
4999
- if (peg$c157.test(input.charAt(peg$currPos))) {
5109
+ if (peg$c160.test(input.charAt(peg$currPos))) {
5000
5110
  s0 = input.charAt(peg$currPos);
5001
5111
  peg$currPos++;
5002
5112
  } else {
5003
5113
  s0 = null;
5004
- if (peg$silentFails === 0) { peg$fail(peg$c158); }
5114
+ if (peg$silentFails === 0) { peg$fail(peg$c161); }
5005
5115
  }
5006
5116
  if (s0 === null) {
5007
5117
  s0 = peg$parsenonascii();
@@ -5013,12 +5123,12 @@ Emblem.Parser = (function() {
5013
5123
  function peg$parsenonascii() {
5014
5124
  var s0;
5015
5125
 
5016
- if (peg$c159.test(input.charAt(peg$currPos))) {
5126
+ if (peg$c162.test(input.charAt(peg$currPos))) {
5017
5127
  s0 = input.charAt(peg$currPos);
5018
5128
  peg$currPos++;
5019
5129
  } else {
5020
5130
  s0 = null;
5021
- if (peg$silentFails === 0) { peg$fail(peg$c160); }
5131
+ if (peg$silentFails === 0) { peg$fail(peg$c163); }
5022
5132
  }
5023
5133
 
5024
5134
  return s0;
@@ -5052,11 +5162,11 @@ Emblem.Parser = (function() {
5052
5162
  peg$silentFails++;
5053
5163
  s0 = peg$currPos;
5054
5164
  if (input.charCodeAt(peg$currPos) === 37) {
5055
- s1 = peg$c149;
5165
+ s1 = peg$c152;
5056
5166
  peg$currPos++;
5057
5167
  } else {
5058
5168
  s1 = null;
5059
- if (peg$silentFails === 0) { peg$fail(peg$c150); }
5169
+ if (peg$silentFails === 0) { peg$fail(peg$c153); }
5060
5170
  }
5061
5171
  if (s1 !== null) {
5062
5172
  s2 = peg$parse_();
@@ -5064,7 +5174,7 @@ Emblem.Parser = (function() {
5064
5174
  s3 = peg$parsetagString();
5065
5175
  if (s3 !== null) {
5066
5176
  peg$reportedPos = s0;
5067
- s1 = peg$c52(s3);
5177
+ s1 = peg$c53(s3);
5068
5178
  if (s1 === null) {
5069
5179
  peg$currPos = s0;
5070
5180
  s0 = s1;
@@ -5089,7 +5199,7 @@ Emblem.Parser = (function() {
5089
5199
  peg$silentFails--;
5090
5200
  if (s0 === null) {
5091
5201
  s1 = null;
5092
- if (peg$silentFails === 0) { peg$fail(peg$c161); }
5202
+ if (peg$silentFails === 0) { peg$fail(peg$c164); }
5093
5203
  }
5094
5204
 
5095
5205
  return s0;
@@ -5102,7 +5212,7 @@ Emblem.Parser = (function() {
5102
5212
  s1 = peg$parsetagString();
5103
5213
  if (s1 !== null) {
5104
5214
  peg$reportedPos = peg$currPos;
5105
- s2 = peg$c162(s1);
5215
+ s2 = peg$c165(s1);
5106
5216
  if (s2) {
5107
5217
  s2 = peg$c1;
5108
5218
  } else {
@@ -5110,7 +5220,7 @@ Emblem.Parser = (function() {
5110
5220
  }
5111
5221
  if (s2 !== null) {
5112
5222
  peg$reportedPos = s0;
5113
- s1 = peg$c163(s1);
5223
+ s1 = peg$c166(s1);
5114
5224
  if (s1 === null) {
5115
5225
  peg$currPos = s0;
5116
5226
  s0 = s1;
@@ -5132,12 +5242,12 @@ Emblem.Parser = (function() {
5132
5242
  function peg$parsetagChar() {
5133
5243
  var s0;
5134
5244
 
5135
- if (peg$c155.test(input.charAt(peg$currPos))) {
5245
+ if (peg$c158.test(input.charAt(peg$currPos))) {
5136
5246
  s0 = input.charAt(peg$currPos);
5137
5247
  peg$currPos++;
5138
5248
  } else {
5139
5249
  s0 = null;
5140
- if (peg$silentFails === 0) { peg$fail(peg$c156); }
5250
+ if (peg$silentFails === 0) { peg$fail(peg$c159); }
5141
5251
  }
5142
5252
  if (s0 === null) {
5143
5253
  s0 = peg$parsenonSeparatorColon();
@@ -5151,11 +5261,11 @@ Emblem.Parser = (function() {
5151
5261
 
5152
5262
  s0 = peg$currPos;
5153
5263
  if (input.charCodeAt(peg$currPos) === 58) {
5154
- s1 = peg$c54;
5264
+ s1 = peg$c55;
5155
5265
  peg$currPos++;
5156
5266
  } else {
5157
5267
  s1 = null;
5158
- if (peg$silentFails === 0) { peg$fail(peg$c55); }
5268
+ if (peg$silentFails === 0) { peg$fail(peg$c56); }
5159
5269
  }
5160
5270
  if (s1 !== null) {
5161
5271
  s2 = peg$currPos;
@@ -5203,7 +5313,7 @@ Emblem.Parser = (function() {
5203
5313
  s1 = peg$parsetagString();
5204
5314
  if (s1 !== null) {
5205
5315
  peg$reportedPos = peg$currPos;
5206
- s2 = peg$c165(s1);
5316
+ s2 = peg$c168(s1);
5207
5317
  if (s2) {
5208
5318
  s2 = peg$c1;
5209
5319
  } else {
@@ -5211,7 +5321,7 @@ Emblem.Parser = (function() {
5211
5321
  }
5212
5322
  if (s2 !== null) {
5213
5323
  peg$reportedPos = s0;
5214
- s1 = peg$c163(s1);
5324
+ s1 = peg$c166(s1);
5215
5325
  if (s1 === null) {
5216
5326
  peg$currPos = s0;
5217
5327
  s0 = s1;
@@ -5229,7 +5339,7 @@ Emblem.Parser = (function() {
5229
5339
  peg$silentFails--;
5230
5340
  if (s0 === null) {
5231
5341
  s1 = null;
5232
- if (peg$silentFails === 0) { peg$fail(peg$c164); }
5342
+ if (peg$silentFails === 0) { peg$fail(peg$c167); }
5233
5343
  }
5234
5344
 
5235
5345
  return s0;
@@ -5244,7 +5354,7 @@ Emblem.Parser = (function() {
5244
5354
  s2 = peg$parse__();
5245
5355
  if (s2 !== null) {
5246
5356
  peg$reportedPos = s0;
5247
- s1 = peg$c52(s2);
5357
+ s1 = peg$c53(s2);
5248
5358
  if (s1 === null) {
5249
5359
  peg$currPos = s0;
5250
5360
  s0 = s1;
@@ -5269,15 +5379,15 @@ Emblem.Parser = (function() {
5269
5379
  peg$silentFails++;
5270
5380
  s0 = peg$currPos;
5271
5381
  if (input.charCodeAt(peg$currPos) === 61423) {
5272
- s1 = peg$c167;
5382
+ s1 = peg$c170;
5273
5383
  peg$currPos++;
5274
5384
  } else {
5275
5385
  s1 = null;
5276
- if (peg$silentFails === 0) { peg$fail(peg$c168); }
5386
+ if (peg$silentFails === 0) { peg$fail(peg$c171); }
5277
5387
  }
5278
5388
  if (s1 !== null) {
5279
5389
  peg$reportedPos = s0;
5280
- s1 = peg$c169();
5390
+ s1 = peg$c172();
5281
5391
  }
5282
5392
  if (s1 === null) {
5283
5393
  peg$currPos = s0;
@@ -5288,7 +5398,7 @@ Emblem.Parser = (function() {
5288
5398
  peg$silentFails--;
5289
5399
  if (s0 === null) {
5290
5400
  s1 = null;
5291
- if (peg$silentFails === 0) { peg$fail(peg$c166); }
5401
+ if (peg$silentFails === 0) { peg$fail(peg$c169); }
5292
5402
  }
5293
5403
 
5294
5404
  return s0;
@@ -5300,15 +5410,15 @@ Emblem.Parser = (function() {
5300
5410
  peg$silentFails++;
5301
5411
  s0 = peg$currPos;
5302
5412
  if (input.charCodeAt(peg$currPos) === 61438) {
5303
- s1 = peg$c171;
5413
+ s1 = peg$c174;
5304
5414
  peg$currPos++;
5305
5415
  } else {
5306
5416
  s1 = null;
5307
- if (peg$silentFails === 0) { peg$fail(peg$c172); }
5417
+ if (peg$silentFails === 0) { peg$fail(peg$c175); }
5308
5418
  }
5309
5419
  if (s1 !== null) {
5310
5420
  peg$reportedPos = s0;
5311
- s1 = peg$c169();
5421
+ s1 = peg$c172();
5312
5422
  }
5313
5423
  if (s1 === null) {
5314
5424
  peg$currPos = s0;
@@ -5319,7 +5429,7 @@ Emblem.Parser = (function() {
5319
5429
  peg$silentFails--;
5320
5430
  if (s0 === null) {
5321
5431
  s1 = null;
5322
- if (peg$silentFails === 0) { peg$fail(peg$c170); }
5432
+ if (peg$silentFails === 0) { peg$fail(peg$c173); }
5323
5433
  }
5324
5434
 
5325
5435
  return s0;
@@ -5331,15 +5441,15 @@ Emblem.Parser = (function() {
5331
5441
  peg$silentFails++;
5332
5442
  s0 = peg$currPos;
5333
5443
  if (input.charCodeAt(peg$currPos) === 61422) {
5334
- s1 = peg$c174;
5444
+ s1 = peg$c177;
5335
5445
  peg$currPos++;
5336
5446
  } else {
5337
5447
  s1 = null;
5338
- if (peg$silentFails === 0) { peg$fail(peg$c175); }
5448
+ if (peg$silentFails === 0) { peg$fail(peg$c178); }
5339
5449
  }
5340
5450
  if (s1 !== null) {
5341
5451
  peg$reportedPos = s0;
5342
- s1 = peg$c169();
5452
+ s1 = peg$c172();
5343
5453
  }
5344
5454
  if (s1 === null) {
5345
5455
  peg$currPos = s0;
@@ -5350,7 +5460,7 @@ Emblem.Parser = (function() {
5350
5460
  peg$silentFails--;
5351
5461
  if (s0 === null) {
5352
5462
  s1 = null;
5353
- if (peg$silentFails === 0) { peg$fail(peg$c173); }
5463
+ if (peg$silentFails === 0) { peg$fail(peg$c176); }
5354
5464
  }
5355
5465
 
5356
5466
  return s0;
@@ -5362,34 +5472,34 @@ Emblem.Parser = (function() {
5362
5472
  peg$silentFails++;
5363
5473
  s0 = peg$currPos;
5364
5474
  if (input.charCodeAt(peg$currPos) === 13) {
5365
- s1 = peg$c177;
5475
+ s1 = peg$c180;
5366
5476
  peg$currPos++;
5367
5477
  } else {
5368
5478
  s1 = null;
5369
- if (peg$silentFails === 0) { peg$fail(peg$c178); }
5479
+ if (peg$silentFails === 0) { peg$fail(peg$c181); }
5370
5480
  }
5371
5481
  if (s1 === null) {
5372
5482
  s1 = peg$c1;
5373
5483
  }
5374
5484
  if (s1 !== null) {
5375
5485
  if (input.charCodeAt(peg$currPos) === 61439) {
5376
- s2 = peg$c179;
5486
+ s2 = peg$c182;
5377
5487
  peg$currPos++;
5378
5488
  } else {
5379
5489
  s2 = null;
5380
- if (peg$silentFails === 0) { peg$fail(peg$c180); }
5490
+ if (peg$silentFails === 0) { peg$fail(peg$c183); }
5381
5491
  }
5382
5492
  if (s2 !== null) {
5383
5493
  if (input.charCodeAt(peg$currPos) === 10) {
5384
- s3 = peg$c181;
5494
+ s3 = peg$c184;
5385
5495
  peg$currPos++;
5386
5496
  } else {
5387
5497
  s3 = null;
5388
- if (peg$silentFails === 0) { peg$fail(peg$c182); }
5498
+ if (peg$silentFails === 0) { peg$fail(peg$c185); }
5389
5499
  }
5390
5500
  if (s3 !== null) {
5391
5501
  peg$reportedPos = s0;
5392
- s1 = peg$c126();
5502
+ s1 = peg$c130();
5393
5503
  if (s1 === null) {
5394
5504
  peg$currPos = s0;
5395
5505
  s0 = s1;
@@ -5411,7 +5521,7 @@ Emblem.Parser = (function() {
5411
5521
  peg$silentFails--;
5412
5522
  if (s0 === null) {
5413
5523
  s1 = null;
5414
- if (peg$silentFails === 0) { peg$fail(peg$c176); }
5524
+ if (peg$silentFails === 0) { peg$fail(peg$c179); }
5415
5525
  }
5416
5526
 
5417
5527
  return s0;
@@ -5428,7 +5538,7 @@ Emblem.Parser = (function() {
5428
5538
  peg$silentFails--;
5429
5539
  if (s0 === null) {
5430
5540
  s1 = null;
5431
- if (peg$silentFails === 0) { peg$fail(peg$c183); }
5541
+ if (peg$silentFails === 0) { peg$fail(peg$c186); }
5432
5542
  }
5433
5543
 
5434
5544
  return s0;
@@ -5456,7 +5566,7 @@ Emblem.Parser = (function() {
5456
5566
  peg$silentFails--;
5457
5567
  if (s0 === null) {
5458
5568
  s1 = null;
5459
- if (peg$silentFails === 0) { peg$fail(peg$c184); }
5569
+ if (peg$silentFails === 0) { peg$fail(peg$c187); }
5460
5570
  }
5461
5571
 
5462
5572
  return s0;
@@ -5475,7 +5585,7 @@ Emblem.Parser = (function() {
5475
5585
  peg$silentFails--;
5476
5586
  if (s0 === null) {
5477
5587
  s1 = null;
5478
- if (peg$silentFails === 0) { peg$fail(peg$c185); }
5588
+ if (peg$silentFails === 0) { peg$fail(peg$c188); }
5479
5589
  }
5480
5590
 
5481
5591
  return s0;
@@ -5485,17 +5595,17 @@ Emblem.Parser = (function() {
5485
5595
  var s0, s1;
5486
5596
 
5487
5597
  peg$silentFails++;
5488
- if (peg$c187.test(input.charAt(peg$currPos))) {
5598
+ if (peg$c190.test(input.charAt(peg$currPos))) {
5489
5599
  s0 = input.charAt(peg$currPos);
5490
5600
  peg$currPos++;
5491
5601
  } else {
5492
5602
  s0 = null;
5493
- if (peg$silentFails === 0) { peg$fail(peg$c188); }
5603
+ if (peg$silentFails === 0) { peg$fail(peg$c191); }
5494
5604
  }
5495
5605
  peg$silentFails--;
5496
5606
  if (s0 === null) {
5497
5607
  s1 = null;
5498
- if (peg$silentFails === 0) { peg$fail(peg$c186); }
5608
+ if (peg$silentFails === 0) { peg$fail(peg$c189); }
5499
5609
  }
5500
5610
 
5501
5611
  return s0;
@@ -5527,7 +5637,7 @@ Emblem.Parser = (function() {
5527
5637
  peg$currPos++;
5528
5638
  } else {
5529
5639
  s2 = null;
5530
- if (peg$silentFails === 0) { peg$fail(peg$c103); }
5640
+ if (peg$silentFails === 0) { peg$fail(peg$c107); }
5531
5641
  }
5532
5642
  if (s2 !== null) {
5533
5643
  peg$reportedPos = s0;