magix
Version:
view manager framewrok
1 lines • 21.6 kB
JavaScript
/*!3.8.14 MIT kooboy_li@163.com*/define("magix",["$"],function(e){var n=e.isPlainObject,t=e.isArray,r=0,i="",o=[],a=window,f=void 0,u=document,c=u.documentElement.getAttribute,h=function(e,n){return c.call(e,n)},s=e(u),d=a.setTimeout;function l(){}var v,$=JSON.stringify,p="\x1e",g="prototype",m="params",b=/[#?].*$/,w=/([^=&?\/#]+)=?([^&#?]*)/g,y=/(?!^)=|&/,x=function(e){return(e||"mx_")+r++},k=x(),V={rootId:x(),defaultView:k,error:function(e){throw e}},I=function(e){return"object"==typeof e?e:u.getElementById(e)},T=function(e){return!e||"object"!=typeof e},C=function(e,n,t,r){var i,o,a,f=0;for(a in e)i=e[a],o=n[a],T(i)&&o===i||M(r,a)||(t[a]=1,f=1),n[a]=i;return f},S=function(e,n,t){if(e=I(e),n=I(n),e&&n&&!(t=e==n))try{t=16==(16&n.compareDocumentPosition(e))}catch(e){}return t};function q(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])M(n,i)&&(e[i]=n[i]);return e}var j,A=function(e,n,t){for(t in n=[],e)M(e,t)&&n.push(t);return n},U=V.hasOwnProperty,E=e("head"),N=function(e,n){n&&!N[e]&&(N[e]=1,E.append("<style>"+n))},P=function(e){return h(e,"id")||(e.$a=1,e.id=x())},H=function(e,n,r,i,a){n=n||o,t(e)||(e=[e]),t(n)||(n=[n]);for(var f=0,u=e;f<u.length;f++){a=u[f];try{i=a&&a.apply(r,n)}catch(e){V.error(e)}}return i},M=function(e,n){return e&&U.call(e,n)},O=function(e,n){var t,r;if(T(n))(t=n+i)[0]==p&&M(e,t)&&(n=e[t]);else for(t in n)r=n[t],r=O(e,r),n[t]=r;return n},_=function(e,n){return n.f-e.f||n.t-e.t};function L(e,n,t,r){(r=this).c=[],r.b=n||5,r.x=r.b+(e||20),r.r=t}q(L[g],{get:function(e){var n=this.c[p+e];return n&&(n.f++,n.t=r++,n=n.v),n},each:function(e,n,t){for(var r=0,i=(t=this).c;r<i.length;r++)e(i[r].v,n,t)},set:function(e,n){var t=this.c,i=p+e,o=t[i],a=this.b;if(!o){if(t.length>=this.x)for(t.sort(_);a--;)(o=t.pop()).f>0&&this.del(o.o);o={o:e},t.push(o),t[i]=o}o.v=n,o.f=1,o.t=r++},del:function(e){e=p+e;var n=this.c,t=n[e],r=this.r;t&&(t.f=-1,t.v=i,delete n[e],r&&H(r,t.o))},has:function(e){return M(this.c,p+e)}});var R=function(e,n){if(e)if(k==e)j||(j=On.extend()),n(j);else if(t(e))require(e,n);else try{n(require(e))}catch(t){require([e],n)}else n&&n()};function Z(){}var B,D=function(e,n,t,r,i){return Z[g]=n[g],q(i=new Z,t),q(e,r),i.constructor=e,e[g]=i,e},z=e.find||e.zepto,F=z.matchesSelector||z.matches,J=function(e,n){n=e.data,e.eventTarget=n.e,H(n.f,e,n.v)},Q=function(n,t,r,i,o){o&&(t+="."+o.i),i?e(n).off(t,r):e(n).on(t,o,r)},X=function(e){return e},G=new L,K=0,W=function(e,n,t){try{t=decodeURIComponent(t)}catch(e){}B[n]=t},Y=function(e){var n,t=G.get(e);return t||(B={},n=e.replace(b,i),e==n&&y.test(n)&&(n=i),e.replace(n,i).replace(w,W),G.set(e,t={a:n,b:B})),{path:t.a,params:q({},t.b)}},ee=function(e,n,t){var r,o,a,f=[];for(o in n)r=n[o]+i,(!t||r||M(t,o))&&(r=encodeURIComponent(r),f.push(a=o+"="+r));return a&&(e+=(e&&(~e.indexOf("?")?"&":"?"))+f.join("&")),e},ne=function(e,n){var t,r={};if(e)for(var i=0,o=e;i<o.length;i++)t=o[i],r[n&&t?t[n]:t]=n?t:1+(0|r[t]);return r},te=new L,re=function(e,n,t){return te.has(e)?t=te.get(e):(t=H(Function("return "+e)),e.indexOf(p)>-1?O(n,t):te.set(e,t)),t},ie={config:function(e,t){return t=V,e&&(t=n(e)?q(t,e):t[e]),t},boot:function(e){q(V,e),R(V.ini,function(n){q(V,n,e),R(V.exts,function(){Ue.on("changed",Me),de.on("changed",Me),K=1,Se()})})},toMap:ne,toTry:H,toUrl:ee,parseUrl:Y,mix:q,has:M,keys:A,inside:S,node:I,applyStyle:N,guid:x,use:R,Cache:L,nodeId:P,guard:X},oe={fire:function(e,n,t,r){var o,a,f,u,c=this,h=c[p+e];if(n||(n={}),n.type=e,h)for(a=(o=h.length)-1;o--;)(u=h[f=r?o:a-o]).f?(u.x=1,H(u.f,n,c),u.x=i):u.x||(h.splice(f,1),a--);return(h=c["on"+e])&&H(h,n,c),t&&c.off(e),c},on:function(e,n){var t=p+e;return(this[t]||(this[t]=[])).push({f:n}),this},off:function(e,n){var t,r=p+e,o=this[r];if(n){if(o)for(var a=0,f=o;a<f.length;a++)if((t=f[a]).f==n){t.f=i;break}}else delete this[r],delete this["on"+e];return this}};ie.Event=oe;var ae={},fe={},ue={},ce=0,he=function(e){for(var n=0,t=e=(e+i).split(",");n<t.length;n++){var r=t[n];M(fe,r)?fe[r]++:fe[r]=1}return e},se=function(e){for(var n,t=0,r=e;t<r.length;t++)n=r[t],M(fe,n)&&(--fe[n]||(delete fe[n],delete ae[n]))};var de=q({get:function(e){var n=e?ae[e]:ae;return n},set:function(e,n){return ce=C(e,ae,ue,n)||ce,this},digest:function(e,n){if(e&&de.set(e,n),ce){ce=0;var t=q({},ue);ue={},this.fire("changed",{keys:t})}},diff:function(){return ue},clean:function(e){return{ctor:function(){e=he(e),this.on("destroy",function(){return se(e)})}}}},oe);ie.State=de;var le,ve=new L,$e=new L,pe=a.location,ge=0,me={query:{},params:{},href:i},be=/(?:^.*\/\/[^\/]+|#.*$)/gi,we=/^[^#]*#?!?/;function ye(e,n){return this[m][e]||n!==f&&n||i}var xe,ke,Ve,Ie,Te,Ce=function(e,n){e="#!"+e,n?pe.replace(e):pe.hash=e},Se=function(){var e,n,t=je().srcHash;Q(a,"hashchange",function(r,o,a){n||(o=je(),(e=o.srcHash)!=t&&(a=function(){r.p=1,t=e,n=i,Ce(e),Ae()},r={reject:function(){r.p=1,n=i,Ce(t)},resolve:a,prevent:function(){n=1}},Ue.fire("change",r),n||r.p||a()))}),Q(a,"beforeunload",function(e,n,t){if(e=e||a.event,n={},Ue.fire("pageunload",n),t=n.msg)return e&&(e.returnValue=t),t}),Ae()},qe=u.title,je=function(e){e=e||pe.href;var t,r,o,a,f=ve.get(e);return f||(t=e.replace(be,i),r=e.replace(we,i),f={get:ye,href:e,srcQuery:t,srcHash:r,query:o=Y(t),hash:a=Y(r),params:q({},o[m],a[m])},K&&(!function(e,t){if(xe||(xe=V.routes||{},ke=V.unmatchView,Ve=V.defaultView,Ie=V.defaultPath||"/",Te=V.rewrite),!e.view){var r=e.hash.path||Ie;Te&&(r=Te(r,e[m],xe)),t=xe[r]||ke||Ve,e.path=r,e.view=t,n(t)&&q(e,t)}}(f),ve.set(e,f))),f},Ae=function(){var e=je(),n=function(e,n){var t=e.href,r=n.href,i=t+p+r,o=$e.get(i);if(!o){var a,f;o={params:f={},force:!t};for(var u=e[m],c=n[m],h=function(e){var n=u[e],t=c[e];n!=t&&(f[e]={from:n,to:t},a=1)},s=0,d=A(u).concat(A(c));s<d.length;s++)h(d[s]);u=e,c=n,f=o,h("path"),h("view"),$e.set(i,o={a:a,b:o})}return o}(me,me=e);return!ge&&n.a&&((le=n.b).path&&(u.title=e.title||qe),Ue.fire("changed",le)),ge=0,le},Ue=q({parse:je,diff:Ae,to:function(e,t,r,o){!t&&n(e)&&(t=e,e=i);var a=Y(e),f=a[m],u=a.path,c=me.path,h=me[m],s=me.query[m];if(q(f,t),u)for(c in s)M(f,c)||(f[c]=i);else h&&(u=c,f=q({},h,f));!function(e,n,t,r,i,o){(e=ee(e,n,o))!=t.srcHash&&(ge=i,Ce(e,r))}(u,f,me,r,o,s)}},oe);ie.Router=Ue;var Ee,Ne,Pe=0,He=function(e,n,t,r,i,o,a){e&&e.$a!=Pe&&(t=e.$v)&&t.$a>1&&((n?function(e,n,t){var r,i=e.$os;if(i)for(var o=0,a=i;o<a.length&&(r=a[o],!(t=M(n,r)));o++);return t}(t,n):Mn(t))&&(a=t.$b()),a&&a.then||(a=_e),a.then(function(){for(var t=0,r=e.children();t<r.length;t++)o=r[t],He(Oe[o],n)}))},Me=function(e,n,t){n=Be(),(t=e.view)?n.mountView(t.to):(Pe=r++,He(n,e.keys))},Oe={},_e={then:function(e){return e()}},Le=function(e){if(!e.$b&&!e.$d&&e.$cc==e.$rc){e.$cr||(e.$cr=1,e.$ca=0,e.fire("created"));var n=e.id,t=e.pId,r=Oe[t];r&&!M(r.$e,n)&&(r.$e[n]=1,r.$rc++,Le(r))}},Re=function(e,n){if(!e.$ca&&e.$cr){e.$cr=0,e.$ca=1,e.fire("alter",n);var t=e.id,r=e.pId,i=Oe[r];i&&M(i.$e,t)&&(i.$rc--,delete i.$e[t],Re(i,n))}},Ze=function(e,n,t,r){return r=(r=(r=Oe[e])&&r.$v)?r.$d.$a:{},n.indexOf(p)>0&&O(r,t),r},Be=function(e){return Ee||(v=u.body,e=V.rootId,I(e)||(v.id=e),Ee=new Fe(e)),Ee},De=function(e,n){M(Oe,e)||(Oe[e]=n,Fe.fire("add",{vframe:n}),(e=I(e))&&(e.vframe=n))},ze=[];function Fe(e,n,t){(t=this).id=e,t.$c={},t.$cc=0,t.$rc=0,t.$g=t.$g||1,t.$e={},t.$f=[],t.pId=n,De(e,t)}q(Fe,{all:function(){return Oe},get:function(e){return Oe[e]}},oe),q(Fe[g],oe,{mountView:function(e,n){var t,r,o,a,f,u=this,c=u.id,h=I(c),s=u.pId;!u.$h&&h&&(u.$h=1,u.$i=h.innerHTML),u.unmountView(),u.$b=0,t=Y(e||i),o=t.path,h&&o&&(u.path=e,a=t[m],Ze(s,e,a),u.$j=t.path,q(a,n),r=u.$g,R(o,function(e){if(r==u.$g){if(!e)return V.error(Error("id:"+c+" cannot load:"+o));f=Hn(e),o=new e(c,u,a,h,f),u.$v=o,u.$a=Pe,Un(o),H(o.init,[a,{node:h,deep:!o.tmpl}],o),o.$b(),o.tmpl||(u.$h=0,o.$e||o.endUpdate())}}))},unmountView:function(){var n,t,r=this,i=r.$v,o=r.id;r.$f=[],i&&(Ne||(t=1,Ne={id:o}),r.$b=1,r.unmountZone(0,1),Re(r,Ne),r.$v=0,i.$a>0&&(i.$a=0,delete Ke[o],delete We[o],i.fire("destroy",0,1,1),jn(i,1),Un(i,1),i.owner=0),i.$a--,(n=I(o))&&r.$h&&e(n).html(r.$i),t&&(Ne=0)),r.$g++},mountVframe:function(e,n,t){var r,i=this,o=i.id,a=i.$c;return Re(i,{id:e}),(r=Oe[e])||(M(a,e)||(i.$n=0,i.$cc++),a[e]=e,(r=ze.pop())?Fe.call(r,e,o):r=new Fe(e,o)),r.mountView(n,t),r},mountZone:function(n,t){var r,i,o,a=this,f=[];n=n||a.id;var u=e("#"+n+" [mx-view]");a.$d=1;for(var c=0,s=u;c<s.length;c++)(i=s[c]).$b||(o=P(i),i.$b=1,f.push([o,h(i,"mx-view")]));for(var d=0,l=f;d<l.length;d++)o=(r=l[d])[0],i=r[1],a.mountVframe(o,i);a.$d=0,t||Le(a)},unmountVframe:function(e,n){var t;if(e=e?this.$c[e]:this.id,t=Oe[e]){var r=t.$cr,i=t.pId;t.unmountView(),function(e,n,t){(t=Oe[e])&&(delete Oe[e],Fe.fire("remove",{vframe:t,fcc:n}),(e=I(e))&&(e.$b=0,e.vframe=0,e.$a=0))}(e,r),t.id=t.pId=t.$c=t.$e=0,t.$h=0,t.off("alter"),t.off("created"),ze.push(t),(t=Oe[i])&&M(t.$c,e)&&(delete t.$c[e],t.$n=0,t.$cc--,n||Le(t))}},unmountZone:function(e,n){var t;for(t in this.$c)(!e||t!=e&&S(t,e))&&this.unmountVframe(t,1);n||Le(this)},parent:function(e,n){for(n=this,e=e>>>0||1;n&&e--;)n=Oe[n.pId];return n},children:function(e){return(e=this).$n||(e.$n=A(e.$c))},invoke:function(e,n){var t,r,i,o,a,f=this.$f;return(r=this.$v)&&r.$e?t=(i=r[e])&&H(i,n,r):((o=f[a=p+e])&&(o.r=n===o.a),o={n:e,a:n,k:a},f.push(o),f[a]=o),t}}),ie.Vframe=Fe,e.fn.invokeView=function(e,n){for(var t,r=[],i=0;i<this.length;i++)t=this[i].vframe,r.push(t&&t.invoke(e,n));return r};var Je=new L(30,10),Qe=/(?:([\w\-]+)\x1e)?([^(]+)\(([\s\S]*)?\)/,Xe={},Ge={},Ke={},We={},Ye=0,en=function(e,n){var t,r,i,a,f,u,c=[],s=e,d=h(e,"mx-"+n),l=[],$="#",p=0;if(d&&((f=Je.get(d))||(f={v:(f=d.match(Qe)||o)[1],n:f[2],i:f[3]},Je.set(d,f)),f=q({},f,{r:d})),f&&!f.v||Ge[n]){if((i=We[r=s.$d])&&1==i[s.$e]&&(u=1,$=r),!u){for(l.push(s);s!=v&&(s=s.parentNode);){if(Oe[r=s.id]||(i=We[r=s.$d])&&1==i[s.$e]){$=r;break}l.push(s)}for(var g=0,m=l;g<m.length;g++)d=m[g],(r=We[$])||(r=We[$]={}),r[i=d.$e||(d.$e=++Ye)]=1,d.$d=$}s=e.id,Oe[s]&&(p=$=s);do{if((t=Oe[$])&&(u=t.$v)){if(a=(i=u.$so)[n])for(s=a.length;s--;)i={r:r=a[s],v:$,n:r},r?!p&&F(e,r)&&c.push(i):p&&c.unshift(i);if(u.tmpl&&!p){f&&!f.v&&(f.v=$);break}p=0}}while(t&&($=t.pId))}return f&&c.push(f),c},nn=function(e){for(var n,t,r,i,o,a,f,u=e.target,c=e.type,h=[];u!=v;){if((n=en(u,c)).length){h=[];for(var s=0,d=n;s<d.length;s++){var l=d[s],$=l.v,g=(l.r,l.n),b=l.i;if(a!=$){if(a&&e.isPropagationStopped())break;a=$}(i=(r=Oe[$])&&r.$v)?(o=i[g+p+c])&&(e.eventTarget=u,f=b?re(b,i.$d.$a):{},e[m]=f,H(o,e,i)):e.stopPropagation()}}if((t=Ke[o=u.$d])&&(t=t[u.$e])&&t[c]||e.isPropagationStopped()){h.length&&h.push(o);break}a=u.id,Oe[a]&&h.push(a),h.push(u),u=u.parentNode||v}if(o=h.length)for(t="#";o--;)(i=h[o]).nodeType?((n=Ke[t])||(n=Ke[t]={}),(f=n[a=i.$e||(i.$e=++Ye)])||(f=n[a]={}),f[c]=1):t=i},tn="http://www.w3.org/2000/svg",rn="http://www.w3.org/1998/Math/MathML",on={option:[1,"<select multiple>"],thead:[1,"<table>"],col:[2,"<table><colgroup>"],tr:[2,"<table><tbody>"],td:[3,"<table><tbody><tr>"],area:[1,"<map>"],param:[1,"<object>"],g:[1,'<svg xmlns="'+tn+'">'],m:[1,'<math xmlns="'+rn+'">'],_:[0,""]},an=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i;on.optgroup=on.option,on.tbody=on.tfoot=on.colgroup=on.caption=on.thead,on.th=on.td;var fn=u.implementation.createHTMLDocument(i),un=fn.createElement("base");un.href=u.location.href,fn.head.appendChild(un);var cn=function(e,n){if(1==n.nodeType){var t=P(n);e.unmountZone(t,1),e.$c[t]&&e.unmountVframe(t,1)}},hn={INPUT:["value","checked"],TEXTAREA:["value"],OPTION:["selected"]},sn=function(e,n){return 1==e.nodeType&&(e.$f?n=e.$g:((n=e.$a?i:h(e,"id"))||(n=h(e,"mxs")),n||(n=h(e,"mx-view"))&&(n=Y(n).path),e.$f=1,e.$g=n)),n},dn=function(e,n,t,r,i){for(var o,a,f,u,c,h=e.lastChild,s=n.firstChild,d=0,l={},v={};h;)d++,(f=sn(h))&&(f=l[f]||(l[f]=[])).push(h),h=h.previousSibling;for(;s;)(f=sn(s))&&(v[f]=(v[f]||0)+1),s=s.nextSibling;for(s=n.firstChild,h=e.firstChild;s;)if(d--,o=s,s=s.nextSibling,(u=l[f=sn(o)])&&(u=u.pop())){for(;u!=h;)c=h.nextSibling,e.appendChild(h),h=c;h=u.nextSibling,v[f]&&v[f]--,ln(u,o,e,t,r,i)}else h?(f=sn(a=h))&&l[f]&&v[f]?(d++,t.c=1,t.n.push([8,e,o,a])):(h=h.nextSibling,ln(a,o,e,t,r,i)):(t.c=1,t.n.push([1,e,o]));for(a=e.lastChild;d-- >0;)cn(r,a),t.n.push([2,e,a]),a=a.previousSibling,t.c=1},ln=function(e,n,t,r,o,a){if(function(e,n){var t,r=e.nodeName,i=hn[r],o=0;if(i)for(var a=0,f=i;a<f.length;a++)e[t=f[a]]!=n[t]&&(o=1,e[t]=n[t]);return o}(e,n)||1==e.nodeType&&e.hasAttribute("mxv")||!e.isEqualNode||!e.isEqualNode(n))if(e.nodeName===n.nodeName)if(1===e.nodeType){var f=h(n,"mxs");if(f&&f==h(e,"mxs"))return;var u=h(n,"mx-view"),c=n.innerHTML,s=h(n,"mxa"),d=!s||s!=h(e,"mxa"),l=void 0,v=void 0,$=Oe[h(e,"id")],p=void 0,g=void 0,b=u&&Y(u),w=void 0,y=void 0,x=void 0;if(u&&$&&(!h(n,"id")||h(n,"id")==h(e,"id"))&&$.$j==b.path&&(g=$.$v)){if(y=c!=$.$i,x=u!=$.path,p=h(e,"mxv"),!y&&!x&&p)for(var k=0,V=w=p.split(",");k<V.length;k++)if("#"==(p=V[k])||M(a,p)){x=1;break}(x||y)&&((p=g.$e&&g.$f)?(w=b[m],Ze($.pId,u,w),$.$i=c,$.path=u,b={node:n,deep:!g.tmpl,attr:d,inner:y,query:x,keys:a},H(p,[w,b],g)&&r.v.push(g),l=b.deep):(v=1,l=1))}else l=1,v=$;v&&(r.c=1,$.unmountVframe(0,1)),d&&function(e,n,t,r){var o,a,f,u;delete e.$f;var c=e.attributes,s=n.attributes;for(a=c.length;a--;)o=c[a].name,n.hasAttribute(o)||("id"==o?r||t.d.push([e,i]):(t.c=1,e.removeAttribute(o)));for(a=s.length;a--;)f=(o=s[a]).name,u=o.value,h(e,f)!=u&&("id"==f?t.d.push([e,u]):(t.c=1,e.setAttribute(f,u)))}(e,n,r,$&&u),l&&dn(e,n,r,o,a)}else e.nodeValue!==n.nodeValue&&(r.c=1,e.nodeValue=n.nodeValue);else cn(o,e),r.c=1,r.n.push([4,t,n,e])},vn={"&":"amp","<":"lt",">":"gt",'"':"#34","'":"#39","`":"#96"},$n=/[&<>"'\`]/g,pn=function(e){return""+(null==e?"":e)},gn=function(e){return"&"+vn[e]+";"},mn=function(e){return pn(e).replace($n,gn)},bn=function(e,n,t,r){for(r=e[p];--r;)if(e[t=p+r]===n)return t;return e[t=p+e[p]++]=n,t},wn={"!":"%21","'":"%27","(":"%28",")":"%29","*":"%2A"},yn=function(e){return wn[e]},xn=/[!')(*]/g,kn=function(e){return encodeURIComponent(pn(e)).replace(xn,yn)},Vn=/[\\'"]/g,In=function(e){return pn(e).replace(Vn,"\\$&")},Tn=function(e,n){var t,r,i=e.$k,o=e.$c,a=e.$b,f=Oe[a],u=f&&f.$v,c={d:[],v:[],n:[]},h=I(a),d=e.$d,l=e.$a,v=function(t){n.i<n.length?Tn(e,n):(c=n.slice(),n.i=n.length=0,t&&u.fire("domready"),H(c))};if(n.i=n.length,e.$c=0,e.$k={},o&&u&&h&&u.$a>0&&(t=u.tmpl)&&u.$d==e){u.fire("dompatch"),delete Ke[a],delete We[a],r=function(e,n){var t,r=fn.createElement("div"),i=n.namespaceURI;t=i==tn?"g":i==rn?"m":(an.exec(e)||[0,""])[1];var o=on[t]||on._;r.innerHTML=o[1]+e;for(var a=o[0];a--;)r=r.lastChild;return r}(t(d,a,l,mn,pn,kn,bn,In),h),dn(h,r,c,f,i);for(var $=0,p=c.d;$<p.length;$++)(r=p[$])[0].id=r[1];for(var g=0,m=c.n;g<m.length;g++)1==(r=m[g])[0]?r[1].appendChild(r[2]):2==r[0]?r[1].removeChild(r[2]):4==r[0]?r[1].replaceChild(r[2],r[3]):r[1].insertBefore(r[2],r[3]);f.$d=t=c.c||!u.$e;for(var b=0,w=c.v;b<w.length;b++)(r=w[b]).$b();t&&u.endUpdate(a),c.c&&s.fire("htmlchanged",{vId:a}),v(1)}else v()};function Cn(e){var n,t=this;t.$b=e,t.$c=1,t.$d={vId:e},t.$a=((n={})[p]=1,n),t.$e=[],t.$k={}}q(Cn[g],{get:function(e,n){return n=this.$d,e&&(n=n[e]),n},set:function(e,n){var t=this;return t.$c=C(e,t.$d,t.$k,n)||t.$c,t},digest:function(e,n,t){var r=this.set(e,n),i=r.$e;t&&i.push(t),i.i||Tn(r,i)},snapshot:function(){return this.$f=$(this.$d),this},altered:function(){if(this.$f)return this.$f!=$(this.$d)},translate:function(e){return O(this.$d,e)},parse:function(e){return re(e,this.$a)}});var Sn=/^(\$?)([^<]*)<([^>]+)>(?:&(.+))?$/,qn=function(e,n,t){return e.a?t=e:((t=function(e){H(t.a,e,this)}).a=[e],t.b=1),t.a=t.a.concat(n.a||n),t},jn=function(e,n){var t,r,i=e.$r;for(t in i)r=i[t],(n||r.x)&&An(i,t,1)},An=function(e,n,t,r){var i,a,f=e[n];return f&&f!=r&&((i=(a=f.e).destroy)&&t&&H(i,o,a),delete e[n]),a},Un=function(e,n){var t,r,i,o,a,f,u=e.$eo,c=e.$so,h=e.$el,s=e.id;for(t in u)r=t,i=c[t],o=n,a=void 0,f=void 0,a=0|Xe[r],f=o?-1:1,a&&o!==a||Q(v,r,nn,o),Xe[r]=a+f,i&&(Ge[r]=(0|Ge[r])+f);for(var d=0,l=h;d<l.length;d++)t=l[d],Q(t.e,t.n,J,n,{i:s,v:e,f:t.f,m:t.m,e:t.e})},En={win:a,doc:u},Nn=function(e,n,t){for(var r,i,o,a,f={},u=0,c=e;u<c.length;u++)for(r in i=c[u])o=i[r],a=f[r],"ctor"!=r?(Sn.test(r)&&(a?o=qn(a,o):o.b=1),f[r]=o):t.push(o);for(r in f)M(n,r)||(n[r]=f[r])};function Pn(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t=this._||(this._=[]);return Nn(e,this[g],t),this}var Hn=function(e){if(!e[p]){e[p]=[];var n=e[g],t=void 0,r=void 0,i=void 0,o=void 0,a={},f=[],u={},c=void 0,h=void 0,s=void 0,d=void 0,l=void 0,v=void 0,$=void 0;for(s in(r=n.mixins)&&Nn(r,n,e[p]),n)if(t=n[s],r=s.match(Sn)){if(h=r[1],i=r[2],o=r[3],v={},$=r[4])for(var m=0,b=$=$.split(",");m<b.length;m++)v[d=b[m]]=!0;for(var w=0,y=o=o.split(",");w<y.length;w++){if(d=y[w],c=En[i],l=1,h){if(c){f.push({f:t,e:c,n:d,m:v});continue}l=2,(c=u[d])||(c=u[d]=[]),c[i]||(c[i]=1,c.push(i))}a[d]=a[d]|l,(c=n[d=i+p+d])?c.b&&(t.b?n[d]=qn(t,c):M(n,s)&&(n[d]=t)):n[d]=t}}!function(e,n,t,r,i){r=e[n],e[n]=e[t]=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];if((i=this).$a>0)return i.$a++,i.fire("rendercall"),jn(i),H(r,e,i)}}(n,"render","$b"),n.$eo=a,n.$el=f,n.$so=u,n.$f=n.assign}return e[p]},Mn=function(e){var n,t,r,i=e.$l;if(i.f&&(i.p&&(n=le.path),!n&&i.k)){r=le[m];for(var o=0,a=i.k;o<a.length&&(t=a[o],!(n=M(r,t)));o++);}return n};function On(e,n,t,r,i){(i=this).owner=n,i.id=e,i.$l={k:[]},i.$r={},i.$a=1,i.updater=i.$d=new Cn(i.id),(e=On._)&&H(e,[t,{node:r,deep:!i.tmpl}],i)}q(On,{merge:Pn,extend:function e(n,t){var r=this,i=(n=n||{}).ctor,o=[];function a(e,n,t,i,f,u,c,h,s){r.call(c=this,e,n,t,i,f),u=a._,h=[t,{node:i,deep:!c.tmpl}],u&&H(u,h,c),(s=o.concat(f)).length&&H(s,h,c)}return i&&o.push(i),a.merge=Pn,a.extend=e,D(a,r,n,t)}}),q(On[g],oe,{init:l,beginUpdate:function(e,n){(n=this).$a>0&&n.$e&&n.owner.unmountZone(e,1)},endUpdate:function(e,n,t,r,i){(t=this).$a>0&&(e=e||t.id,n?i=n:(i=t.$e,t.$e=1),(r=t.owner).mountZone(e,n),i||d(t.wrapAsync(function(){!function(e,n,t){for(n=e.$f;n.length;)(t=n.shift()).r||e.invoke(t.n,t.a),delete n[t.k]}(r)}),0))},wrapAsync:function(e,n){var t=this,r=t.$a;return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(r>0&&r==t.$a)return e.apply(n||t,i)}},observeLocation:function(e,t){var r;(r=this.$l).f=1,n(e)&&(t=e.path,e=e[m]),r.p=t,e&&(r.k=(e+i).split(","))},observeState:function(e){this.$os=(e+i).split(",")},capture:function(e,n,t,r){return r=this.$r,n?(An(r,e,1,n),r[e]={e:n,x:t}):n=(r=r[e])&&r.e,n},release:function(e,n){return An(this.$r,e,n)},leaveTip:function(e,n){var t=this,r=function(i){var o="a",a="b";"change"!=i.type&&(o="b",a="a"),r[o]?(i.prevent(),i.reject()):n()&&(i.prevent(),r[a]=1,t.leaveConfirm(function(){r[a]=0,i.resolve()},function(){r[a]=0,i.reject()},e))},i=function(t){n()&&(t.msg=e)};Ue.on("change",r),Ue.on("pageunload",i),t.on("unload",r),t.on("destroy",function(){Ue.off("change",r),Ue.off("pageunload",i)})},render:l}),ie.View=On;var _n=e.type,Ln=Date.now;function Rn(){this.id=x("b"),this.$={}}q(Rn[g],{get:function(e,n){var r=this.$;if(e){for(var o=t(e)?e.slice():(e+i).split("."),a=void 0;(a=o.shift())&&r;)r=r[a];a&&(r=f)}return n!==f&&_n(n)!=_n(r)&&(r=n),r},set:function(e,t){var r;n(e)||((r={})[e]=t,e=r),q(this.$,e)}});function Zn(e,n,t){(t=this[e])&&(delete this[e],H(t,n,t.e))}var Bn=function(e,n,r,i,o){if(e.$d)return e;if(e.$e)return e.enqueue(Bn.bind(e,e,n,r,i,o));e.$e=1,t(n)||(n=[n]);for(var a=e.constructor,f=0,u=a.$f,c=function(e,n,t,r,i,o){var a=[],f=null,u=0;return function(c,h){u++;var s,d,l=this.$b,v=l.k;if(a[c+1]=this,h?(f=h,s=1):o.has(v)||(v&&o.set(v,this),l.t=Ln(),(d=l.a)&&H(d,this,this),(d=l.x)&&n.clear(d),s=1),!t.$d){var $=u==r;$&&(t.$e=0,2==i&&(a[0]=f,H(e,a,t))),1==i&&H(e,[h||null,this,$,c],t)}s&&n.fire("end",{bag:this,error:h})}}(r,a,e,n.length,i,a.$c),h=0,s=n;h<s.length;h++){var d=s[h];if(d){var l=a.get(d,o),v=l.e,$=v.$b.k,p=c.bind(v,f++),g=void 0;$&&u[$]?u[$].push(p):l.u?($&&((g=[p]).e=v,u[$]=g,p=Zn.bind(u,$)),a.$s(v,p)):p()}}return e};function Dn(){var e=this;e.id=x("s"),e.$g=[]}q(Dn[g],{all:function(e,n){return Bn(this,e,n,2)},save:function(e,n){return Bn(this,e,n,2,1)},one:function(e,n){return Bn(this,e,n,1)},enqueue:function(e){var n=this;return n.$d||(n.$g.push(e),n.dequeue(n.$h)),n},dequeue:function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t,r=this;r.$e||r.$d||(r.$e=1,d(function(){r.$e=0,r.$d||(t=r.$g.shift())&&H(t,r.$h=e)},0))},destroy:function(e){(e=this).$d=1,e.$g=0}});var zn=function(e,n){return[$(n),$(e)].join(p)},Fn=function(e,n,t,r){(r=e&&e.$b)&&n[r.n]&&t.del(r.k)},Jn=q({add:function(e){var n,r=this.$b;t(e)||(e=[e]);for(var i=0,o=e;i<o.length;i++)if(n=o[i]){var a=n.name,f=n.cache;n.cache=0|f,r[a]=n}},create:function(e){var t=this.meta(e),r=0|e.cache||t.cache,i=new Rn;i.set(t),i.$b={n:t.name,a:t.after,x:t.cleans,k:r&&zn(t,e)},n(e)&&i.set(e);var o=t.before;return o&&H(o,i,i),this.fire("begin",{bag:i}),i},meta:function(e){return this.$b[e.name||e]||e},get:function(e,n){var t,r;return n||(t=this.cached(e)),t||(t=this.create(e),r=1),{e:t,u:r}},clear:function(e){this.$c.each(Fn,ne((e+i).split(",")))},cached:function(e){var n,t,r=this.$c,i=this.meta(e),o=0|e.cache||i.cache;if(o&&(t=zn(i,e)),t){var a=this.$f[t];a?n=a.e:(n=r.get(t))&&Ln()-n.$b.t>o&&(r.del(t),n=0)}return n}},oe);return Dn.extend=function(e,n,t){function r(){Dn.call(this)}return r.$s=e,r.$c=new L(n,t),r.$f={},r.$b={},D(r,Dn,null,Jn)},ie.Service=Dn,q(l[g],oe),l.extend=function e(n,t){var r=this,i=n&&n.ctor;function o(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];r.apply(this,e),i&&i.apply(this,e)}return o.extend=e,D(o,r,n,t)},ie.Base=l,ie});