JavaScript
!function(a){function e(a){var b={val:a},d=a.split(/\s+in\s+/);return d[1]&&(b.val=c(0)+d[1],d=d[0].slice(c(0).length).trim().split(/,\s*/),b.key=d[0],b.pos=d[1]),b}function f(a,b,c){var d={};return d[a.key]=b,a.pos&&(d[a.pos]=c),d}function g(a,b,c){function p(a,b,c){k.splice(a,0,b),l.splice(a,0,c)}o(a,"each");var m,g=a.outerHTML,h=a.previousSibling,i=a.parentNode,k=[],l=[];c=e(c),b.one("update",function(){i.removeChild(a)}).one("premount",function(){i.stub&&(i=b.root)}).on("update",function(){var a=d(c.val,b);if(a){if(!Array.isArray(a)){var e=JSON.stringify(a);if(e==m)return;m=e,n(l,function(a){a.unmount()}),k=[],l=[],a=Object.keys(a).map(function(b){return f(c,b,a[b])})}n(k,function(b){if(b instanceof Object){if(a.indexOf(b)>-1)return}else{var c=t(a,b),d=t(k,b);if(c.length>=d.length)return}var e=k.indexOf(b),f=l[e];return f?(f.unmount(),k.splice(e,1),l.splice(e,1),!1):void 0});var o=[].indexOf.call(i.childNodes,h)+1;n(a,function(d,e){var h=a.indexOf(d,e),n=k.indexOf(d,e);if(0>h&&(h=a.lastIndexOf(d,e)),0>n&&(n=k.lastIndexOf(d,e)),!(d instanceof Object)){var q=t(a,d),r=t(k,d);q.length>r.length&&(n=-1)}var s=i.childNodes;if(0>n){if(!m&&c.key)var u=f(c,d,h);var v=new j({tmpl:g},{before:s[o+h],parent:b,root:i,item:u||d});return v.mount(),p(h,d,v),!0}return c.pos&&l[n][c.pos]!=h&&(l[n].one("update",function(a){a[c.pos]=h}),l[n].update()),h!=n?(i.insertBefore(s[o+n],s[o+(h>n?h+1:h)]),p(h,k.splice(n,1)[0],l.splice(n,1)[0])):void 0}),k=a.slice()}})}function h(a,b,c){r(a,function(a){if(1==a.nodeType){var d=x(a);if(d&&!a.getAttribute("each")){var e=new j(d,{root:a,parent:b});b.tags[a.getAttribute("name")||d.name]=e,a.innerHTML="",c.push(e)}n(a.attributes,function(c){/^(name|id)$/.test(c.name)&&(b[c.value]=a)})}})}function i(a,b,d){function e(a,b,e){if(b.indexOf(c(0))>=0){var f={dom:a,expr:b};d.push(p(f,e))}}r(a,function(a){var c=a.nodeType;if(3==c&&"STYLE"!=a.parentNode.tagName&&e(a,a.nodeValue),1==c){var d=a.getAttribute("each");return...