/* Mithril v0.2.5 http://mithril.js.org (c) 2014-2016 Leo Horie License: MIT */ !function(a,b){"use strict";var c=b(a);"undefined"==typeof window&&c.deps({document:"undefined"!=typeof document?document:{},location:"undefined"!=typeof location?location:{},clearTimeout:clearTimeout,setTimeout:setTimeout}),"object"==typeof module&&null!=module&&module.exports?module.exports=c:"function"==typeof define&&define.amd?define(function(){return c}):a.m=c}("undefined"!=typeof window?window:this,function a(b,c){"use strict";function d(a){return"function"==typeof a}function e(a){return"[object Object]"===Da.call(a)}function f(a){return"[object String]"===Da.call(a)}function g(){}function h(a){ya=a.document,za=a.location,Ba=a.cancelAnimationFrame||a.clearTimeout,Aa=a.requestAnimationFrame||a.setTimeout}function i(a,b){for(var c,d=[],e=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g;c=e.exec(b);)if(""===c[1]&&c[2])a.tag=c[2];else if("#"===c[1])a.attrs.id=c[2];else if("."===c[1])d.push(c[2]);else if("["===c[3].charAt(0)){var f=c[6];f&&(f=f.replace(/\\(["'])/g,"$1")),"class"===c[4]?d.push(f):a.attrs[c[4]]=f||!0}return d}function j(a,b){var c=b?a.slice(1):a;return 1===c.length&&Ea(c[0])?c[0]:c}function k(a,b,c){var d="class"in b?"class":"className";for(var e in b)Ca.call(b,e)&&(e===d&&null!=b[e]&&""!==b[e]?(c.push(b[e]),a[e]=""):a[e]=b[e]);c.length&&(a[d]=c.join(" "))}function l(a,b){for(var c=[],g=1,h=arguments.length;g1||g[0].nodeValue.trim&&!g[0].nodeValue.trim())&&(X(b.nodes,b),g=[ya.createTextNode(a)]),p(c,g[0],e,a))),b=new a.constructor(a),b.nodes=g,b.$trusted=a.$trusted,b}function E(a,b,c,d,e,f,g){return a.nodes.length?a.valueOf()!==b.valueOf()||e?D(b,a,d,f,c,g):(a.nodes.intact=!0,a):C(b,d,c)}function F(a){return a.$trusted?a.nodes.length:Ea(a)?a.length:1}function G(a,b,d,e,f,g,h,i,j){a=q(a);var k=[],l=b.length===a.length,m=0,o={},p=!1;n(b,function(a,c){p=!0,o[b[c].attrs.key]={action:Ga,index:c}}),v(a),p&&(b=t(a,b,o,d));for(var r=0,s=0,w=a.length;s0?R(b,a.tag,c,c,a.children,d.children,!0,0,a.attrs.contenteditable?b:e,f,g):a.children}function L(a,b,c,d,e,f,g){var h={tag:a.tag,attrs:b,children:c,nodes:[d]};return z(h,f,g),h.children&&!h.children.nodes&&(h.children.nodes=[]),h}function M(a,b,c,e){var f;return f="diff"===l.redraw.strategy()&&a?a.indexOf(b):-1,f>-1?c[f]:d(e)?new e:{}}function N(a,b,c,d){null!=d.onunload&&La.map(function(a){return a.handler}).indexOf(d.onunload)<0&&La.push({controller:d,handler:d.onunload}),a.push(c),b.push(d)}function O(a,b,c,d,e,f){var g=M(c.views,b,d,a.controller),h=a&&a.attrs&&a.attrs.key;return a=0===Ja||Ma||d&&d.indexOf(g)>-1?a.view(g):{tag:"placeholder"},"retain"===a.subtree?a:(a.attrs=a.attrs||{},a.attrs.key=h,N(f,e,b,g),a)}function P(a,b,c,d){for(var e=b&&b.controllers;null!=a.view;)a=O(a,a.view.$original||a.view,b,e,d,c);return a}function Q(a,b,c,d,e,g,h,i){var j=[],k=[];if(a=P(a,b,j,k),"retain"===a.subtree)return b;if(!a.tag&&k.length)throw new Error("Component template must return a virtual element, not an array, string, etc.");a.attrs=a.attrs||{},b.attrs=b.attrs||{};var l=Object.keys(a.attrs),m=l.length>("key"in a.attrs?1:0);if(x(a,b,l),f(a.tag)){var n=0===b.nodes.length;h=y(a,h);var o;if(n){o=I(a,h);var p=J(a,o,h,m);r(d,o,e);var q=K(a,o,b,c,h,i);b=L(a,p,q,o,h,j,k)}else o=B(b,a,c,m,h,j,i,k);return"select"===a.tag&&"value"in a.attrs&&W(o,a.tag,{value:a.attrs.value},{},h),n||g!==!0||null==o||r(d,o,e),A(i,a,o,n,b),b}}function R(a,b,c,f,g,h,i,j,k,l,m){return g=o(g),"retain"===g.subtree?h:(h=H(g,h,j,f,c),Ea(g)?G(g,h,a,j,b,i,k,l,m):null!=g&&e(g)?Q(g,h,k,a,j,i,l,m):d(g)?h:E(h,g,j,a,i,k,b))}function S(a,b){return a.action-b.action||a.index-b.index}function T(a,b,c){c===b&&(a.style="",c={});for(var d in b)Ca.call(b,d)&&(null!=c&&c[d]===b[d]||(a.style[d]=b[d]));for(d in c)Ca.call(c,d)&&(Ca.call(b,d)||(a.style[d]=""))}function U(a,b,c,f,g,h){if("config"===b||"key"===b)return!0;if(d(c)&&"on"===b.slice(0,2))a[b]=ba(c,a);else if("style"===b&&null!=c&&e(c))T(a,c,f);else if(null!=h)"href"===b?a.setAttributeNS("http://www.w3.org/1999/xlink","href",c):a.setAttribute("className"===b?"class":b,c);else if(b in a&&!Na[b])try{("input"!==g&&!a.isContentEditable||a[b]!=c)&&(a[b]=c)}catch(d){a.setAttribute(b,c)}else try{a.setAttribute(b,c)}catch(a){}}function V(a,b,c,d,e,f,g){if(b in e&&d===c&&"object"!=typeof c&&ya.activeElement!==a)"value"===b&&"input"===f&&a.value!=c&&(a.value=c);else{e[b]=c;try{return U(a,b,c,d,f,g)}catch(a){if(a.message.indexOf("Invalid argument")<0)throw a}}}function W(a,b,c,d,e){for(var f in c)!Ca.call(c,f)||!V(a,f,c[f],d[f],d,b,e);return d}function X(a,b){for(var c=a.length-1;c>-1;c--)if(a[c]&&a[c].parentNode){try{a[c].parentNode.removeChild(a[c])}catch(a){}b=[].concat(b),b[c]&&Y(b[c])}a.length&&(a.length=0)}function Y(a){a.configContext&&d(a.configContext.onunload)&&(a.configContext.onunload(),a.configContext.onunload=null),a.controllers&&m(a.controllers,function(a){d(a.onunload)&&a.onunload({preventDefault:g})}),a.children&&(Ea(a.children)?m(a.children,Y):a.children.tag&&Y(a.children))}function Z(a,b){try{a.appendChild(ya.createRange().createContextualFragment(b))}catch(c){a.insertAdjacentHTML("beforeend",b),$(a)}}function $(a){if("SCRIPT"===a.tagName)a.parentNode.replaceChild(_(a),a);else{var b=a.childNodes;if(b&&b.length)for(var c=0;c0?"&":"?")+(a.callbackKey?a.callbackKey:"callback")+"="+d+"&"+na(a.data||{}),ya.body.appendChild(e)}function ua(a){var c=new b.XMLHttpRequest;if(c.open(a.method,a.url,!0,a.user,a.password),c.onreadystatechange=function(){4===c.readyState&&(c.status>=200&&c.status<300?a.onload({type:"load",target:c}):a.onerror({type:"error",target:c}))},a.serialize===JSON.stringify&&a.data&&"GET"!==a.method&&c.setRequestHeader("Content-Type","application/json; charset=utf-8"),a.deserialize===JSON.parse&&c.setRequestHeader("Accept","application/json, text/*"),d(a.config)){var e=a.config(c,a);null!=e&&(c=e)}var g="GET"!==a.method&&a.data?a.data:"";if(g&&!f(g)&&g.constructor!==b.FormData)throw new Error("Request data should be either be a string or FormData. Check the `serialize` option in `m.request`");return c.send(g),c}function va(a){return a.dataType&&"jsonp"===a.dataType.toLowerCase()?ta(a):ua(a)}function wa(a,b,c){if("GET"===a.method&&"jsonp"!==a.dataType){var d=a.url.indexOf("?")<0?"?":"&",e=na(b);a.url+=e?d+e:""}else a.data=c(b)}function xa(a,b){return b&&(a=a.replace(/:[a-z]\w+/gi,function(a){var c=a.slice(1),d=b[c]||a;return delete b[c],d})),a}l.version=function(){return"v0.2.5"};var ya,za,Aa,Ba,Ca={}.hasOwnProperty,Da={}.toString,Ea=Array.isArray||function(a){return"[object Array]"===Da.call(a)},Fa={AREA:1,BASE:1,BR:1,COL:1,COMMAND:1,EMBED:1,HR:1,IMG:1,INPUT:1,KEYGEN:1,LINK:1,META:1,PARAM:1,SOURCE:1,TRACK:1,WBR:1};l.deps=function(a){return h(b=a||window),b},l.deps.factory=l.factory=a,l.deps(b);var Ga=1,Ha=2,Ia=3,Ja=0;l.startComputation=function(){Ja++},l.endComputation=function(){Ja>1?Ja--:(Ja=0,l.redraw())};var Ka,La=[],Ma=!1,Na={list:1,style:1,form:1,type:1,width:1,height:1},Oa={appendChild:function(a){Ka===c&&(Ka=ya.createElement("html")),ya.documentElement&&ya.documentElement!==a?ya.replaceChild(a,ya.documentElement):ya.appendChild(a),this.childNodes=ya.childNodes},insertBefore:function(a){this.appendChild(a)},childNodes:[]},Pa=[],Qa={};l.render=function(a,b,d){if(!a)throw new Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.");var e,f=[],g=ca(a),h=a===ya;e=h||a===ya.documentElement?Oa:a,h&&"html"!==b.tag&&(b={tag:"html",attrs:{},children:b}),Qa[g]===c&&X(e.childNodes),d===!0&&pa(a),Qa[g]=R(e,null,c,c,b,Qa[g],!1,0,null,c,f),m(f,function(a){a()})},l.trust=function(a){return a=new String(a),a.$trusted=!0,a},l.prop=function(a){return(null!=a&&(e(a)||d(a))||"undefined"!=typeof Promise&&a instanceof Promise)&&d(a.then)?qa(a):da(a)};var Ra,Sa=[],Ta=[],Ua=[],Va=null,Wa=0,Xa=null,Ya=null,Za=16;l.component=function(a){for(var b=new Array(arguments.length-1),c=1;cZa)&&(Va>0&&Ba(Va),Va=Aa(ha,Za)):(ha(),Va=Aa(function(){Va=null},Za))}finally{$a=Ma=!1}}},l.redraw.strategy=l.prop(),l.withAttr=function(a,b,c){return function(d){d=d||window.event;var e=d.currentTarget||this,f=c||this,g=a in e?e[a]:e.getAttribute(a);b.call(f,g)}};var _a,ab,bb,cb={pathname:"",hash:"#",search:"?"},db=g,eb=!1;l.route=function(a,c,d,e){if(0===arguments.length)return ab;if(3===arguments.length&&f(c)){db=function(b){var e=ab=ja(b);if(!ka(a,d,e)){if(eb)throw new Error("Ensure the default route matches one of the routes defined in m.route");eb=!0,l.route(c,!0),eb=!1}};var g="hash"===l.route.mode?"onhashchange":"onpopstate";return b[g]=function(){var a=za[l.route.mode];"pathname"===l.route.mode&&(a+=za.search),ab!==ja(a)&&db(a)},Xa=ma,void b[g]()}if(a.addEventListener||a.attachEvent){var h="pathname"!==l.route.mode?za.pathname:"";return a.href=h+cb[l.route.mode]+e.attrs.href,void(a.addEventListener?(a.removeEventListener("click",la),a.addEventListener("click",la)):(a.detachEvent("onclick",la),a.attachEvent("onclick",la)))}if(f(a)){bb=ab,ab=a;var i,j=c||{},k=ab.indexOf("?");i=k>-1?oa(ab.slice(k+1)):{};for(var m in j)Ca.call(j,m)&&(i[m]=j[m]);var n,o=na(i);n=k>-1?ab.slice(0,k):ab,o&&(ab=n+(n.indexOf("?")===-1?"?":"&")+o);var p=(3===arguments.length?d:c)===!0||bb===ab;if(b.history.pushState){var q=p?"replaceState":"pushState";Xa=ma,Ya=function(){try{b.history[q](null,ya.title,cb[l.route.mode]+ab)}catch(a){za[l.route.mode]=ab}},db(cb[l.route.mode]+ab)}else za[l.route.mode]=ab,db(cb[l.route.mode]+ab);bb=null}},l.route.param=function(a){if(!_a)throw new Error("You must call m.route(element, defaultRoute, routes) before calling m.route.param()");return a?_a[a]:_a},l.route.mode="search",l.route.buildQueryString=na,l.route.parseQueryString=oa,l.deferred=function(){var a=new ra;return a.promise=qa(a.promise),a};var fb=1,gb=2,hb=3,ib=4;return l.deferred.onerror=function(a){if("[object Error]"===Da.call(a)&&!/ Error/.test(a.constructor.toString()))throw Ja=0,a},l.sync=function(a){function b(a,b){return function(g){return e[a]=g,b||(f="reject"),0===--d&&(c.promise(e),c[f](e)),g}}var c=l.deferred(),d=a.length,e=[],f="resolve";return a.length>0?m(a,function(a,c){a.then(b(c,!0),b(c,!1))}):c.resolve([]),c.promise},l.request=function(a){a.background!==!0&&l.startComputation();var b,c,d,e=new ra,f=a.dataType&&"jsonp"===a.dataType.toLowerCase();return f?(b=a.serialize=c=a.deserialize=sa,d=function(a){return a.responseText}):(b=a.serialize=a.serialize||JSON.stringify,c=a.deserialize=a.deserialize||JSON.parse,d=a.extract||function(a){return a.responseText.length||c!==JSON.parse?a.responseText:null}),a.method=(a.method||"GET").toUpperCase(),a.url=xa(a.url,a.data),wa(a,a.data,b),a.onload=a.onerror=function(b){try{b=b||event;var f=c(d(b.target,a));"load"===b.type?(a.unwrapSuccess&&(f=a.unwrapSuccess(f,b.target)),Ea(f)&&a.type?m(f,function(b,c){f[c]=new a.type(b)}):a.type&&(f=new a.type(f)),e.resolve(f)):(a.unwrapError&&(f=a.unwrapError(f,b.target)),e.reject(f))}catch(a){e.reject(a),l.deferred.onerror(a)}finally{a.background!==!0&&l.endComputation()}},va(a),e.promise=qa(e.promise,a.initialValue),e.promise},l}); //# sourceMappingURL=mithril.min.js.map