(function(n,t){(function(i){typeof define=="function"&&define.amd?define(["jquery"],i):n.sammy=t.Sammy=i(n)})(function(n){var i,w="([^/]+)",h=/:([\w\d]+)/g,l=/\?([^#]*)?$/,u=function(n){return Array.prototype.slice.call(n)},r=function(n){return Object.prototype.toString.call(n)==="[object Function]"},f=function(n){return Object.prototype.toString.call(n)==="[object Array]"},a=function(n){return Object.prototype.toString.call(n)==="[object RegExp]"},o=function(n){return decodeURIComponent((n||"").replace(/\+/g," "))},v=encodeURIComponent,y=function(n){return String(n).replace(/&(?!\w+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},e=function(n){return function(){return this.route.apply(this,[n].concat(Array.prototype.slice.call(arguments)))}},c={},s=!!t.history&&!!history.pushState,p=[];return i=function(){var t=u(arguments),f,e;return(i.apps=i.apps||{},t.length===0||t[0]&&r(t[0]))?i.apply(i,["body"].concat(t)):typeof(e=t.shift())=="string"?(f=i.apps[e]||new i.Application,f.element_selector=e,t.length>0&&n.each(t,function(n,t){f.use(t)}),f.element_selector!=e&&delete i.apps[e],i.apps[f.element_selector]=f,f):void 0},i.VERSION="0.7.4",i.addLogger=function(n){p.push(n)},i.log=function(){var t=u(arguments);t.unshift("["+Date()+"]");n.each(p,function(n,r){r.apply(i,t)})},typeof t.console!="undefined"?r(t.console.log.apply)?i.addLogger(function(){t.console.log.apply(t.console,arguments)}):i.addLogger(function(){t.console.log(arguments)}):typeof console!="undefined"&&i.addLogger(function(){console.log.apply(console,arguments)}),n.extend(i,{makeArray:u,isFunction:r,isArray:f}),i.Object=function(t){return n.extend(this,t||{})},n.extend(i.Object.prototype,{escapeHTML:y,h:y,toHash:function(){var t={};return n.each(this,function(n,i){r(i)||(t[n]=i)}),t},toHTML:function(){var t="";return n.each(this,function(n,i){r(i)||(t+="<strong>"+n+"<\/strong> "+i+"<br />")}),t},keys:function(n){var i=[],t;for(t in this)r(this[t])&&n||i.push(t);return i},has:function(t){return this[t]&&n.trim(this[t].toString())!==""},join:function(){var n=u(arguments),t=n.shift();return n.join(t)},log:function(){i.log.apply(i,arguments)},toString:function(t){var i=[];return n.each(this,function(n,u){(!r(u)||t)&&i.push('"'+n+'": '+u.toString())}),"Sammy.Object: {"+i.join(",")+"}"}}),i.targetIsThisWindow=function(i){var r=n(i.target).attr("target");return!r||r===t.name||r==="_self"?!0:r==="_blank"?!1:r==="top"&&t===t.top?!0:!1},i.DefaultLocationProxy=function(n,t){this.app=n;this.is_native=!1;this.has_history=s;this._startPolling(t)},i.DefaultLocationProxy.fullPath=function(n){var t=n.toString().match(/^[^#]*(#.+)$/),i=t?t[1]:"";return[n.pathname,n.search,i].join("")},n.extend(i.DefaultLocationProxy.prototype,{bind:function(){var f=this,u=this.app,r=i.DefaultLocationProxy;n(t).bind("hashchange."+this.app.eventNamespace(),function(n,i){f.is_native!==!1||i||(f.is_native=!0,t.clearInterval(r._interval),r._interval=null);u.trigger("location-changed")});s&&!u.disable_push_state&&(n(t).bind("popstate."+this.app.eventNamespace(),function(){u.trigger("location-changed")}),n(document).delegate("a","click.history-"+this.app.eventNamespace(),function(n){if(!n.isDefaultPrevented()&&!n.metaKey&&!n.ctrlKey){var e=r.fullPath(this);if(this.hostname==t.location.hostname&&u.lookupRoute("get",e)&&i.targetIsThisWindow(n))return n.preventDefault(),f.setLocation(e),!1}}));r._bindings||(r._bindings=0);r._bindings++},unbind:function(){n(t).unbind("hashchange."+this.app.eventNamespace());n(t).unbind("popstate."+this.app.eventNamespace());n(document).undelegate("a","click.history-"+this.app.eventNamespace());i.DefaultLocationProxy._bindings--;i.DefaultLocationProxy._bindings<=0&&(t.clearInterval(i.DefaultLocationProxy._interval),i.DefaultLocationProxy._interval=null)},getLocation:function(){return i.DefaultLocationProxy.fullPath(t.location)},setLocation:function(n){if(/^([^#\/]|$)/.test(n)&&(n=s&&!this.app.disable_push_state?"/"+n:"#!/"+n),n!=this.getLocation()){if(!(s&&!this.app.disable_push_state&&/^\//.test(n)))return t.location=n;history.pushState({path:n},t.title,n);this.app.trigger("location-changed")}},_startPolling:function(r){var f=this,u;i.DefaultLocationProxy._interval||(r||(r=10),u=function(){var r=f.getLocation();(typeof i.DefaultLocationProxy._last_location=="undefined"||r!=i.DefaultLocationProxy._last_location)&&t.setTimeout(function(){n(t).trigger("hashchange",[!0])},0);i.DefaultLocationProxy._last_location=r},u(),i.DefaultLocationProxy._interval=t.setInterval(u,r))}}),i.Application=function(n){var t=this;this.routes={};this.listeners=new i.Object({});this.arounds=[];this.befores=[];this.namespace=(new Date).getTime()+"-"+parseInt(Math.random()*1e3,10);this.context_prototype=function(){i.EventContext.apply(this,arguments)};this.context_prototype.prototype=new i.EventContext;r(n)&&n.apply(this,[this]);this._location_proxy||this.setLocationProxy(new i.DefaultLocationProxy(this,this.run_interval_every));this.debug&&this.bindToAllEvents(function(n,i){t.log(t.toString(),n.cleaned_type,i||{})})},i.Application.prototype=n.extend({},i.Object.prototype,{ROUTE_VERBS:["get","post","put","delete"],APP_EVENTS:["run","unload","lookup-route","run-route","route-found","event-context-before","event-context-after","changed","error","check-form-submission","redirect","location-changed"],_last_route:null,_location_proxy:null,_running:!1,element_selector:"body",debug:!1,raise_errors:!1,run_interval_every:50,disable_push_state:!1,template_engine:null,toString:function(){return"Sammy.Application:"+this.element_selector},$element:function(t){return t?n(this.element_selector).find(t):n(this.element_selector)},use:function(){var t=u(arguments),n=t.shift(),f=n||"";try{t.unshift(this);typeof n=="string"&&(f="Sammy."+n,n=i[n]);n.apply(this,t)}catch(e){typeof n=="undefined"?this.error("Plugin Error: called use() but plugin ("+f.toString()+") is not defined",e):r(n)?this.error("Plugin Error",e):this.error("Plugin Error: called use() but '"+f.toString()+"' is not a function",e)}return this},setLocationProxy:function(n){var t=this._location_proxy;this._location_proxy=n;this.isRunning()&&(t&&t.unbind(),this._location_proxy.bind())},log:function(){i.log.apply(i,Array.prototype.concat.apply([this.element_selector],arguments))},route:function(t,i){var f=this,o=[],e,s,u=Array.prototype.slice.call(arguments,2);if(u.length===0&&r(i)&&(i=t,u=[i],t="any"),t=t.toLowerCase(),i.constructor==String){for(h.lastIndex=0;(s=h.exec(i))!==null;)o.push(s[1]);i=new RegExp(i.replace(h,w)+"$")}return n.each(u,function(n,t){typeof t=="string"&&(u[n]=f[t])}),e=function(n){var t={verb:n,path:i,callback:u,param_names:o};f.routes[n]=f.routes[n]||[];f.routes[n].push(t)},t==="any"?n.each(this.ROUTE_VERBS,function(n,t){e(t)}):e(t),this},get:e("get"),post:e("post"),put:e("put"),del:e("delete"),any:e("any"),mapRoutes:function(t){var i=this;return n.each(t,function(n,t){i.route.apply(i,t)}),this},eventNamespace:function(){return["sammy-app",this.namespace].join("-")},bind:function(n,t,i){var r=this,u;return typeof i=="undefined"&&(i=t),u=function(){var t,u,n;t=arguments[0];n=arguments[1];n&&n.context?(u=n.context,delete n.context):u=new r.context_prototype(r,"bind",t.type,n,t.target);t.cleaned_type=t.type.replace(r.eventNamespace(),"");i.apply(u,[t,n])},this.listeners[n]||(this.listeners[n]=[]),this.listeners[n].push(u),this.isRunning()&&this._listen(n,u),this},trigger:function(n,t){return this.$element().trigger([n,this.eventNamespace()].join("."),[t]),this},refresh:function(){return this.last_location=null,this.trigger("location-changed"),this},before:function(n,t){return r(n)&&(t=n,n={}),this.befores.push([n,t]),this},after:function(n){return this.bind("event-context-after",n)},around:function(n){return this.arounds.push(n),this},onComplete:function(n){return this._onComplete=n,this},isRunning:function(){return this._running},helpers:function(t){return n.extend(this.context_prototype.prototype,t),this},helper:function(n,t){return this.context_prototype.prototype[n]=t,this},run:function(r){if(this.isRunning())return!1;var u=this;return n.each(this.listeners.toHash(),function(t,i){n.each(i,function(n,i){u._listen(t,i)})}),this.trigger("run",{start_url:r}),this._running=!0,this.last_location=null,!/\#(.+)/.test(this.getLocation())&&typeof r!="undefined"&&this.setLocation(r),this._checkLocation(),this._location_proxy.bind(),this.bind("location-changed",function(){u._checkLocation()}),this.bind("submit",function(t){if(!i.targetIsThisWindow(t))return!0;var r=u._checkFormSubmission(n(t.target).closest("form"));return r===!1?t.preventDefault():!1}),n(t).bind("unload",function(){u.unload()}),this.trigger("changed")},unload:function(){if(!this.isRunning())return!1;var t=this;return this.trigger("unload"),this._location_proxy.unbind(),this.$element().unbind("submit").removeClass(t.eventNamespace()),n.each(this.listeners.toHash(),function(i,r){n.each(r,function(n,r){t._unlisten(i,r)})}),this._running=!1,this},destroy:function(){return this.unload(),delete i.apps[this.element_selector],this},bindToAllEvents:function(t){var i=this;return n.each(this.APP_EVENTS,function(n,r){i.bind(r,t)}),n.each(this.listeners.keys(!0),function(r,u){n.inArray(u,i.APP_EVENTS)==-1&&i.bind(u,t)}),this},routablePath:function(n){return n.replace(l,"")},lookupRoute:function(n,t){var e=this,u=!1,i=0,f,r;if(typeof this.routes[n]!="undefined")for(f=this.routes[n].length;i<f;i++)if(r=this.routes[n][i],e.routablePath(t).match(r.path)){u=r;break}return u},runRoute:function(t,i,r,u){var s=this,f=this.lookupRoute(t,i),e,c,y,l,a,h,v,p;if(this.debug&&this.log("runRoute",[t,i].join(" ")),this.trigger("run-route",{verb:t,path:i,params:r}),typeof r=="undefined"&&(r={}),n.extend(r,this._parseQueryString(i)),f){this.trigger("route-found",{route:f});(v=f.path.exec(this.routablePath(i)))!==null&&(v.shift(),n.each(v,function(n,t){f.param_names[n]?r[f.param_names[n]]=o(t):(r.splat||(r.splat=[]),r.splat.push(o(t)))}));e=new this.context_prototype(this,t,i,r,u);y=this.arounds.slice(0);l=this.befores.slice(0);h=[e];r.splat&&(h=h.concat(r.splat));c=function(){for(var n,t,i;l.length>0;)if(a=l.shift(),s.contextMatchesOptions(e,a[0])&&(n=a[1].apply(e,[e]),n===!1))return!1;return s.last_route=f,e.trigger("event-context-before",{context:e}),typeof f.callback=="function"&&(f.callback=[f.callback]),f.callback&&f.callback.length&&(t=-1,i=function(){t++;f.callback[t]?n=f.callback[t].apply(e,h):s._onComplete&&typeof(s._onComplete==="function")&&s._onComplete(e)},h.push(i),i()),e.trigger("event-context-after",{context:e}),n};n.each(y.reverse(),function(n,t){var i=c;c=function(){return t.apply(e,[i])}});try{p=c()}catch(w){this.error(["500 Error",t,i].join(" "),w)}return p}return this.notFound(t,i)},contextMatchesOptions:function(t,i,r){var u=i,h,e,l,v,c,o,s;if((typeof u=="string"||a(u))&&(u={path:u}),typeof r=="undefined"&&(r=!0),n.isEmptyObject(u))return!0;if(f(u.path)){for(h=[],e=0,v=u.path.length;e<v;e+=1)l=n.extend({},u,{path:u.path[e]}),h.push(this.contextMatchesOptions(t,l));return c=n.inArray(!0,h)>-1?!0:!1,r?c:!c}return u.only?this.contextMatchesOptions(t,u.only,!0):u.except?this.contextMatchesOptions(t,u.except,!1):(o=!0,s=!0,u.path&&(a(u.path)||(u.path=new RegExp(u.path.toString()+"$")),o=u.path.test(t.path)),u.verb&&(s=typeof u.verb=="string"?u.verb===t.verb:u.verb.indexOf(t.verb)>-1),r?s&&o:!s||!o)},getLocation:function(){return this._location_proxy.getLocation()},setLocation:function(n){return this._location_proxy.setLocation(n)},swap:function(n,t){var i=this.$element().html(n);return r(t)&&t(n),i},templateCache:function(n,t){return typeof t!="undefined"?c[n]=t:c[n]},clearTemplateCache:function(){return c={}},notFound:function(n,t){var i=this.error(["404 Not Found",n,t].join(" "));return n==="get"?i:!0},error:function(n,t){if(t||(t=new Error),t.message=[n,t.message].join(" "),this.trigger("error",{message:t.message,error:t}),this.raise_errors)throw t;this.log(t.message,t)},_checkLocation:function(){var n,t;return n=this.getLocation(),this.last_location&&this.last_location[0]=="get"&&this.last_location[1]==n||(this.last_location=["get",n],t=this.runRoute("get",n)),t},_getFormVerb:function(t){var u=n(t),i,r;return r=u.find('input[name="_method"]'),r.length>0&&(i=r.val()),i||(i=u[0].getAttribute("method")),i&&i!==""||(i="get"),n.trim(i.toString().toLowerCase())},_checkFormSubmission:function(t){var i,r,f,u,e;return this.trigger("check-form-submission",{form:t}),i=n(t),r=i.attr("action")||"",f=this._getFormVerb(i),this.debug&&this.log("_checkFormSubmission",i,r,f),f==="get"?(u=this._serializeFormParams(i),u!==""&&(r+="?"+u),this.setLocation(r),e=!1):(u=n.extend({},this._parseFormParams(i)),e=this.runRoute(f,r,u,t.get(0))),typeof e=="undefined"?!1:e},_serializeFormParams:function(n){var r="",t=n.serializeArray(),i;if(t.length>0)for(r=this._encodeFormPair(t[0].name,t[0].value),i=1;i<t.length;i++)r=r+"&"+this._encodeFormPair(t[i].name,t[i].value);return r},_encodeFormPair:function(n,t){return v(n)+"="+v(t)},_parseFormParams:function(n){for(var i={},r=n.serializeArray(),t=0;t<r.length;t++)i=this._parseParamPair(i,r[t].name,r[t].value);return i},_parseQueryString:function(n){var r={},t,u,f,i;if(t=n.match(l),t&&t[1])for(u=t[1].split("&"),i=0;i<u.length;i++)f=u[i].split("="),r=this._parseParamPair(r,o(f[0]),o(f[1]||""));return r},_parseParamPair:function(n,t,i){return typeof n[t]!="undefined"?f(n[t])?n[t].push(i):n[t]=[n[t],i]:n[t]=i,n},_listen:function(n,t){return this.$element().bind([n,this.eventNamespace()].join("."),t)},_unlisten:function(n,t){return this.$element().unbind([n,this.eventNamespace()].join("."),t)}}),i.RenderContext=function(n){this.event_context=n;this.callbacks=[];this.previous_content=null;this.content=null;this.next_engine=!1;this.waiting=!1},i.RenderContext.prototype=n.extend({},i.Object.prototype,{then:function(n){var u,i;if(!r(n)){if(!(typeof n=="string"&&n in this.event_context))return this;u=this.event_context[n];n=function(n){return u.apply(this.event_context,[n])}}return i=this,this.waiting?this.callbacks.push(n):(this.wait(),t.setTimeout(function(){var t=n.apply(i,[i.content,i.previous_content]);t!==!1&&i.next(t)},0)),this},wait:function(){this.waiting=!0},next:function(n){this.waiting=!1;typeof n!="undefined"&&(this.previous_content=this.content,this.content=n);this.callbacks.length>0&&this.then(this.callbacks.shift())},load:function(t,i,u){var f=this;return this.then(function(){var e,s,o;return(r(i)?(u=i,i={}):i=n.extend({},i),u&&this.then(u),typeof t=="string")?(o=t.match(/\.json$/)||i.json,e=o?i.cache===!0:i.cache!==!1,f.next_engine=f.event_context.engineFor(t),delete i.cache,delete i.json,i.engine&&(f.next_engine=i.engine,delete i.engine),e&&(s=this.event_context.app.templateCache(t))?s:(this.wait(),n.ajax(n.extend({url:t,data:{},dataType:o?"json":"text",type:"get",success:function(n){e&&f.event_context.app.templateCache(t,n);f.next(n)}},i)),!1)):t.nodeType?t.innerHTML:t.selector?(f.next_engine=t.attr("data-engine"),i.clone===!1?t.remove()[0].innerHTML.toString():t[0].innerHTML.toString()):void 0})},loadPartials:function(n){var t;if(n){this.partials=this.partials||{};for(t in n)(function(t,i){t.load(n[i]).then(function(n){this.partials[i]=n})})(this,t)}return this},render:function(n,t,i,u){return r(n)&&!t?this.then(n):(r(t)?(u=i,i=t,t=null):i&&!r(i)&&(u=i,i=null),this.loadPartials(u).load(n).interpolate(t,n).then(i))},partial:function(n,t,i,u){return r(i)?this.render(n,t,u).swap(i):r(t)?this.render(n,{},i).swap(t):this.render(n,t,i).swap()},send:function(){var t=this,n=u(arguments),i=n.shift();return f(n[0])&&(n=n[0]),this.then(function(){return n.push(function(n){t.next(n)}),t.wait(),i.apply(i,n),!1})},collect:function(t,i,u){var e=this,f=function(){r(t)&&(i=t,t=this.content);var u=[],f=!1;return n.each(t,function(n,t){var r=i.apply(e,[n,t]);return r.jquery&&r.length==1&&(r=r[0],f=!0),u.push(r),r}),f?u:u.join("")};return u?f():this.then(f)},renderEach:function(t,i,r,u){return f(i)&&(u=r,r=i,i=null),this.load(t).then(function(e){var o=this;if(r||(r=f(this.previous_content)?this.previous_content:[]),!u)return this.collect(r,function(n,r){var u={},f=this.next_engine||t;return i?u[i]=r:u=r,this.event_context.interpolate(e,u,f)},!0);n.each(r,function(n,r){var f={},s=this.next_engine||t;i?f[i]=r:f=r;u(r,o.event_context.interpolate(e,f,s))})})},interpolate:function(n,t,i){var r=this;return this.then(function(u,f){!n&&f&&(n=f);this.next_engine&&(t=this.next_engine,this.next_engine=!1);var e=r.event_context.interpolate(u,n,t,this.partials);return i?f+e:e})},swap:function(n){return this.then(function(t){return this.event_context.swap(t,n),t}).trigger("changed",{})},appendTo:function(t){return this.then(function(i){n(t).append(i)}).trigger("changed",{})},prependTo:function(t){return this.then(function(i){n(t).prepend(i)}).trigger("changed",{})},replace:function(t){return this.then(function(i){n(t).html(i)}).trigger("changed",{})},trigger:function(n,t){return this.then(function(i){return typeof t=="undefined"&&(t={content:i}),this.event_context.trigger(n,t),i})}}),i.EventContext=function(n,t,r,u,f){this.app=n;this.verb=t;this.path=r;this.params=new i.Object(u);this.target=f},i.EventContext.prototype=n.extend({},i.Object.prototype,{$element:function(){return this.app.$element(u(arguments).shift())},engineFor:function(n){var t=this,i;return r(n)?n:(n=(n||t.app.template_engine).toString(),(i=n.match(/\.([^\.\?\#]+)$/))&&(n=i[1]),n&&r(t[n])?t[n]:t.app.template_engine?this.engineFor(t.app.template_engine):function(n){return n})},interpolate:function(n,t,i,r){return this.engineFor(i).apply(this,[n,t,r])},render:function(n,t,r,u){return new i.RenderContext(this).render(n,t,r,u)},renderEach:function(n,t,r,u){return new i.RenderContext(this).renderEach(n,t,r,u)},load:function(n,t,r){return new i.RenderContext(this).load(n,t,r)},loadPartials:function(n){return new i.RenderContext(this).loadPartials(n)},partial:function(n,t,r,u){return new i.RenderContext(this).partial(n,t,r,u)},send:function(){var n=new i.RenderContext(this);return n.send.apply(n,arguments)},redirect:function(){var t,i=u(arguments),l=this.app.getLocation(),o=i.length,e;if(o>1){for(var r=0,s=[],h=[],f={},c=!1;r<o;r++)typeof i[r]=="string"?s.push(i[r]):(n.extend(f,i[r]),c=!0);if(t=s.join("/"),c){for(e in f)h.push(this.app._encodeFormPair(e,f[e]));t+="?"+h.join("&")}}else t=i[0];this.trigger("redirect",{to:t});this.app.last_location=[this.verb,this.path];this.app.setLocation(t);new RegExp(t).test(l)&&this.app.trigger("location-changed")},trigger:function(n,t){return typeof t=="undefined"&&(t={}),t.context||(t.context=this),this.app.trigger(n,t)},eventNamespace:function(){return this.app.eventNamespace()},swap:function(n,t){return this.app.swap(n,t)},notFound:function(){return this.app.notFound(this.verb,this.path)},json:function(t){return n.parseJSON(t)},toString:function(){return"Sammy.EventContext: "+[this.verb,this.path,this.params].join(" ")}}),i})})(jQuery,window);var requirejs,require,define;(function(n){function l(n){return"[object Function]"===ht.call(n)}function a(n){return"[object Array]"===ht.call(n)}function f(n,t){if(n)for(var i=0;i<n.length&&(!n[i]||!t(n[i],i,n));i+=1);}function tt(n,t){if(n)for(var i=n.length-1;-1<i&&(!n[i]||!t(n[i],i,n));i-=1);}function r(n,t){return pt.call(n,t)}function i(n,t){return r(n,t)&&n[t]}function h(n,t){for(var i in n)if(r(n,i)&&t(n[i],i))break}function it(n,t,i,u){return t&&h(t,function(t,f){(i||!r(n,f))&&(u&&"object"==typeof t&&t&&!a(t)&&!l(t)&&!(t instanceof RegExp)?(n[f]||(n[f]={}),it(n[f],t,i,u)):n[f]=t)}),n}function u(n,t){return function(){return t.apply(n,arguments)}}function et(n){throw n;}function ot(t){if(!t)return t;var i=n;return f(t.split("."),function(n){i=i[n]}),i}function c(n,t,i,r){return t=Error(t+"\nhttp://requirejs.org/docs/errors.html#"+n),t.requireType=n,t.requireModules=r,i&&(t.originalError=i),t}function lt(e){function ut(n,t,r){var e,u,f,o,s,a,h,y,t=t&&t.split("/"),c=v.map,l=c&&c["*"];if(n){for(n=n.split("/"),u=n.length-1,v.nodeIdCompat&&g.test(n[u])&&(n[u]=n[u].replace(g,"")),"."===n[0].charAt(0)&&t&&(u=t.slice(0,t.length-1),n=u.concat(n)),u=n,f=0;f<u.length;f++)(o=u[f],"."===o)?(u.splice(f,1),f-=1):".."===o&&!(0===f||1==f&&".."===u[2]||".."===u[f-1])&&0<f&&(u.splice(f-1,2),f-=2);n=n.join("/")}if(r&&c&&(t||l)){u=n.split("/");f=u.length;n:for(;0<f;f-=1){if(s=u.slice(0,f).join("/"),t)for(o=t.length;0<o;o-=1)if((r=i(c,t.slice(0,o).join("/")))&&(r=i(r,s))){e=r;a=f;break n}!h&&l&&i(l,s)&&(h=i(l,s),y=f)}!e&&h&&(e=h,a=y);e&&(u.splice(0,a,e),n=u.join("/"))}return(e=i(v.pkgs,n))?e:n}function ei(n){o&&f(document.getElementsByTagName("script"),function(t){if(t.getAttribute("data-requiremodule")===n&&t.getAttribute("data-requirecontext")===s.contextName)return t.parentNode.removeChild(t),!0})}function vt(n){var t=i(v.paths,n);if(t&&a(t)&&1<t.length)return t.shift(),s.require.undef(n),s.makeRequire(null,{skipMap:!0})([n]),!0}function oi(n){var i,t=n?n.indexOf("!"):-1;return-1<t&&(i=n.substring(0,t),n=n.substring(t+1,n.length)),[i,n]}function k(n,t,r,u){var c,o,f=null,h=t?t.name:null,a=n,l=!0,e="";return n||(l=!1,n="_@r"+(li+=1)),n=oi(n),f=n[0],n=n[1],f&&(f=ut(f,h,u),o=i(w,f)),n&&(f?e=o&&o.normalize?o.normalize(n,function(n){return ut(n,h,u)}):-1===n.indexOf("!")?ut(n,h,u):n:(e=ut(n,h,u),n=oi(e),f=n[0],e=n[1],r=!0,c=s.nameToUrl(e))),r=f&&!o&&!r?"_unnormalized"+(ai+=1):"",{prefix:f,name:e,parentMap:t,unnormalized:!!r,url:c,originalName:a,isDefine:l,id:(f?f+"!"+e:e)+r}}function st(n){var r=n.id,t=i(y,r);return t||(t=y[r]=new s.Module(n)),t}function lt(n,t,u){var e=n.id,f=i(y,e);if(r(w,e)&&(!f||f.defineEmitComplete))"defined"===t&&u(w[e]);else if(f=st(n),f.error&&"error"===t)u(f.error);else f.on(t,u)}function d(n,r){var e=n.requireModules,u=!1;if(r)r(n);else if(f(e,function(t){(t=i(y,t))&&(t.error=n,t.events.error&&(u=!0,t.emit("error",n)))}),!u)t.onError(n)}function pt(){nt.length&&(wt.apply(rt,[rt.length,0].concat(nt)),nt=[])}function kt(n){delete y[n];delete ri[n]}function si(n,t,r){var u=n.map.id;n.error?n.emit("error",n.error):(t[u]=!0,f(n.depMaps,function(u,f){var e=u.id,o=i(y,e);!o||n.depMatched[f]||r[e]||(i(t,e)?(n.defineDep(f,w[e]),n.check()):si(o,t,r))}),r[u]=!0)}function dt(){var n,u,i=(n=1e3*v.waitSeconds)&&s.startTime+n<(new Date).getTime(),t=[],e=[],r=!1,l=!0;if(!ni){if(ni=!0,h(ri,function(n){var f=n.map,o=f.id;if(n.enabled&&(f.isDefine||e.push(n),!n.error))if(!n.inited&&i)vt(o)?r=u=!0:(t.push(o),ei(o));else if(!n.inited&&n.fetched&&f.isDefine&&(r=!0,!f.prefix))return l=!1}),i&&t.length)return n=c("timeout","Load timeout for modules: "+t,null,t),n.contextName=s.contextName,d(n);l&&f(e,function(n){si(n,{},{})});(!i||u)&&r&&(o||ct)&&!ii&&(ii=setTimeout(function(){ii=0;dt()},50));ni=!1}}function gt(n){r(w,n[0])||st(k(n[0],null,!0)).init(n[1],n[2])}function hi(n){var n=n.currentTarget||n.srcElement,t=s.onScriptLoad;return n.detachEvent&&!ft?n.detachEvent("onreadystatechange",t):n.removeEventListener("load",t,!1),t=s.onScriptError,(!n.detachEvent||ft)&&n.removeEventListener("error",t,!1),{node:n,id:n&&n.getAttribute("data-requiremodule")}}function ci(){var n;for(pt();rt.length;){if(n=rt.shift(),null===n[0])return d(c("mismatch","Mismatched anonymous define() module: "+n[n.length-1]));gt(n)}}var ni,ti,s,ht,ii,v={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},y={},ri={},ui={},rt=[],w={},at={},fi={},li=1,ai=1;return ht={require:function(n){return n.require?n.require:n.require=s.makeRequire(n.map)},exports:function(n){return n.usingExports=!0,n.map.isDefine?n.exports?w[n.map.id]=n.exports:n.exports=w[n.map.id]={}:void 0},module:function(n){return n.module?n.module:n.module={id:n.map.id,uri:n.map.url,config:function(){return i(v.config,n.map.id)||{}},exports:n.exports||(n.exports={})}}},ti=function(n){this.events=i(ui,n.id)||{};this.map=n;this.shim=i(v.shim,n.id);this.depExports=[];this.depMaps=[];this.depMatched=[];this.pluginMaps={};this.depCount=0},ti.prototype={init:function(n,t,i,r){if(r=r||{},!this.inited){if(this.factory=t,i)this.on("error",i);else this.events.error&&(i=u(this,function(n){this.emit("error",n)}));this.depMaps=n&&n.slice(0);this.errback=i;this.inited=!0;this.ignore=r.ignore;r.enabled||this.enabled?this.enable():this.check()}},defineDep:function(n,t){this.depMatched[n]||(this.depMatched[n]=!0,this.depCount-=1,this.depExports[n]=t)},fetch:function(){if(!this.fetched){this.fetched=!0;s.startTime=(new Date).getTime();var n=this.map;if(this.shim)s.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],u(this,function(){return n.prefix?this.callPlugin():this.load()}));else return n.prefix?this.callPlugin():this.load()}},load:function(){var n=this.map.url;at[n]||(at[n]=!0,s.load(this.map.id,n))},check:function(){var i,r,u,n,f;if(this.enabled&&!this.enabling)if(u=this.map.id,r=this.depExports,n=this.exports,f=this.factory,this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,1>this.depCount&&!this.defined){if(l(f)){if(this.events.error&&this.map.isDefine||t.onError!==et)try{n=s.execCb(u,f,r,n)}catch(e){i=e}else n=s.execCb(u,f,r,n);if(this.map.isDefine&&void 0===n&&((r=this.module)?n=r.exports:this.usingExports&&(n=this.exports)),i)return i.requireMap=this.map,i.requireModules=this.map.isDefine?[this.map.id]:null,i.requireType=this.map.isDefine?"define":"require",d(this.error=i)}else n=f;if(this.exports=n,this.map.isDefine&&!this.ignore&&(w[u]=n,t.onResourceLoad))t.onResourceLoad(s,this.map,this.depMaps);kt(u);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()},callPlugin:function(){var n=this.map,f=n.id,e=k(n.prefix);this.depMaps.push(e);lt(e,"defined",u(this,function(e){var o,l=i(fi,this.map.id);var a=this.map.name,w=this.map.parentMap?this.map.parentMap.name:null,p=s.makeRequire(n.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(e.normalize&&(a=e.normalize(a,function(n){return ut(n,w,!0)})||""),e=k(n.prefix+"!"+a,this.map.parentMap),lt(e,"defined",u(this,function(n){this.init([],function(){return n},null,{enabled:!0,ignore:!0})})),l=i(y,e.id)){if(this.depMaps.push(e),this.events.error)l.on("error",u(this,function(n){this.emit("error",n)}));l.enable()}}else l?(this.map.url=s.nameToUrl(l),this.load()):(o=u(this,function(n){this.init([],function(){return n},null,{enabled:!0})}),o.error=u(this,function(n){this.inited=!0;this.error=n;n.requireModules=[f];h(y,function(n){0===n.map.id.indexOf(f+"_unnormalized")&&kt(n.map.id)});d(n)}),o.fromText=u(this,function(i,u){var e=n.name,h=k(e),l=b;u&&(i=u);l&&(b=!1);st(h);r(v.config,f)&&(v.config[e]=v.config[f]);try{t.exec(i)}catch(a){return d(c("fromtexteval","fromText eval for "+f+" failed: "+a,a,[f]))}l&&(b=!0);this.depMaps.push(h);s.completeLoad(e);p([e],o)}),e.load(n.name,p,o,v))}));s.enable(e,this);this.pluginMaps[e.id]=e},enable:function(){ri[this.map.id]=this;this.enabling=this.enabled=!0;f(this.depMaps,u(this,function(n,t){var f,e;if("string"==typeof n){if(n=k(n,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=n,f=i(ht,n.id)){this.depExports[t]=f(this);return}this.depCount+=1;lt(n,"defined",u(this,function(n){this.defineDep(t,n);this.check()}));this.errback&&lt(n,"error",u(this,this.errback))}f=n.id;e=y[f];r(ht,f)||!e||e.enabled||s.enable(n,this)}));h(this.pluginMaps,u(this,function(n){var t=i(y,n.id);t&&!t.enabled&&s.enable(n,this)}));this.enabling=!1;this.check()},on:function(n,t){var i=this.events[n];i||(i=this.events[n]=[]);i.push(t)},emit:function(n,t){f(this.events[n],function(n){n(t)});"error"===n&&delete this.events[n]}},s={config:v,contextName:e,registry:y,defined:w,urlFetched:at,defQueue:rt,Module:ti,makeModuleMap:k,nextTick:t.nextTick,onError:d,configure:function(n){n.baseUrl&&"/"!==n.baseUrl.charAt(n.baseUrl.length-1)&&(n.baseUrl+="/");var t=v.shim,i={paths:!0,bundles:!0,config:!0,map:!0};h(n,function(n,t){i[t]?(v[t]||(v[t]={}),it(v[t],n,!0,!0)):v[t]=n});n.bundles&&h(n.bundles,function(n,t){f(n,function(n){n!==t&&(fi[n]=t)})});n.shim&&(h(n.shim,function(n,i){a(n)&&(n={deps:n});(n.exports||n.init)&&!n.exportsFn&&(n.exportsFn=s.makeShimExports(n));t[i]=n}),v.shim=t);n.packages&&f(n.packages,function(n){var t,n="string"==typeof n?{name:n}:n;t=n.name;n.location&&(v.paths[t]=n.location);v.pkgs[t]=n.name+"/"+(n.main||"main").replace(yt,"").replace(g,"")});h(y,function(n,t){n.inited||n.map.unnormalized||(n.map=k(t))});(n.deps||n.callback)&&s.require(n.deps||[],n.callback)},makeShimExports:function(t){return function(){var i;return t.init&&(i=t.init.apply(n,arguments)),i||t.exports&&ot(t.exports)}},makeRequire:function(n,u){function f(i,o,h){var a,v;return(u.enableBuildCallback&&o&&l(o)&&(o.__requireJsBuild=!0),"string"==typeof i)?l(o)?d(c("requireargs","Invalid require call"),h):n&&r(ht,i)?ht[i](y[n.id]):t.get?t.get(s,i,n,f):(a=k(i,n,!1,!0),a=a.id,r(w,a)?w[a]:d(c("notloaded",'Module name "'+a+'" has not been loaded yet for context: '+e+(n?"":". Use require([])")))):(ci(),s.nextTick(function(){ci();v=st(k(null,n));v.skipMap=u.skipMap;v.init(i,o,h,{enabled:!0});dt()}),f)}return u=u||{},it(f,{isBrowser:o,toUrl:function(t){var r,i=t.lastIndexOf("."),u=t.split("/")[0];return-1!==i&&(!("."===u||".."===u)||1<i)&&(r=t.substring(i,t.length),t=t.substring(0,i)),s.nameToUrl(ut(t,n&&n.id,!0),r,!0)},defined:function(t){return r(w,k(t,n,!1,!0).id)},specified:function(t){return t=k(t,n,!1,!0).id,r(w,t)||r(y,t)}}),n||(f.undef=function(t){pt();var u=k(t,n,!0),r=i(y,t);ei(t);delete w[t];delete at[u.url];delete ui[t];tt(rt,function(n,i){n[0]===t&&rt.splice(i,1)});r&&(r.events.defined&&(ui[t]=r.events),kt(t))}),f},enable:function(n){i(y,n.id)&&st(n).enable()},completeLoad:function(n){var u,t,f=i(v.shim,n)||{},e=f.exports;for(pt();rt.length;){if(t=rt.shift(),null===t[0]){if(t[0]=n,u)break;u=!0}else t[0]===n&&(u=!0);gt(t)}if(t=i(y,n),!u&&!r(w,n)&&t&&!t.inited){if(v.enforceDefine&&(!e||!ot(e)))return vt(n)?void 0:d(c("nodefine","No define call for "+n,null,[n]));gt([n,f.deps||[],f.exportsFn])}dt()},nameToUrl:function(n,r,u){var f,o,e;if((f=i(v.pkgs,n))&&(n=f),f=i(fi,n))return s.nameToUrl(f,r,u);if(t.jsExtRegExp.test(n))f=n+(r||"");else{for(f=v.paths,n=n.split("/"),o=n.length;0<o;o-=1)if(e=n.slice(0,o).join("/"),e=i(f,e)){a(e)&&(e=e[0]);n.splice(0,o,e);break}f=n.join("/");f+=r||(/^data\:|\?/.test(f)||u?"":".js");f=("/"===f.charAt(0)||f.match(/^[\w\+\.\-]+:/)?"":v.baseUrl)+f}return v.urlArgs?f+((-1===f.indexOf("?")?"?":"&")+v.urlArgs):f},load:function(n,i){t.load(s,n,i)},execCb:function(n,t,i,r){return t.apply(r,i)},onScriptLoad:function(n){("load"===n.type||bt.test((n.currentTarget||n.srcElement).readyState))&&(p=null,n=hi(n),s.completeLoad(n.id))},onScriptError:function(n){var t=hi(n);if(!vt(t.id))return d(c("scripterror","Script error for: "+t.id,n,[t.id]))}},s.require=s.makeRequire(),s}var t,v,y,k,rt,d,p,ut,e,st,at=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,vt=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,g=/\.js$/,yt=/^\.\//;v=Object.prototype;var ht=v.toString,pt=v.hasOwnProperty,wt=Array.prototype.splice,o=!!("undefined"!=typeof window&&"undefined"!=typeof navigator&&window.document),ct=!o&&"undefined"!=typeof importScripts,bt=o&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,ft="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),w={},s={},nt=[],b=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(l(requirejs))return;s=requirejs;requirejs=void 0}"undefined"==typeof require||l(require)||(s=require,require=void 0);t=requirejs=function(n,r,u,f){var e,o="_";return a(n)||"string"==typeof n||(e=n,a(r)?(n=r,r=u,u=f):n=[]),e&&e.context&&(o=e.context),(f=i(w,o))||(f=w[o]=t.s.newContext(o)),e&&f.configure(e),f.require(n,r,u)};t.config=function(n){return t(n)};t.nextTick="undefined"!=typeof setTimeout?function(n){setTimeout(n,4)}:function(n){n()};require||(require=t);t.version="2.1.14";t.jsExtRegExp=/^\/|:|\?|\.js$/;t.isBrowser=o;v=t.s={contexts:w,newContext:lt};t({});f(["toUrl","undef","defined","specified"],function(n){t[n]=function(){var t=w._;return t.require[n].apply(t,arguments)}});o&&(y=v.head=document.getElementsByTagName("head")[0],k=document.getElementsByTagName("base")[0])&&(y=v.head=k.parentNode);t.onError=et;t.createNode=function(n){var t=n.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return t.type=n.scriptType||"text/javascript",t.charset="utf-8",t.async=!0,t};t.load=function(n,i,r){var u=n&&n.config||{};if(o)return u=t.createNode(u,i,r),u.setAttribute("data-requirecontext",n.contextName),u.setAttribute("data-requiremodule",i),u.attachEvent&&!(u.attachEvent.toString&&0>u.attachEvent.toString().indexOf("[native code"))&&!ft?(b=!0,u.attachEvent("onreadystatechange",n.onScriptLoad)):(u.addEventListener("load",n.onScriptLoad,!1),u.addEventListener("error",n.onScriptError,!1)),u.src=r,ut=u,k?y.insertBefore(u,k):y.appendChild(u),ut=null,u;if(ct)try{importScripts(r);n.completeLoad(i)}catch(f){n.onError(c("importscripts","importScripts failed for "+i+" at "+r,f,[i]))}};o&&!s.skipDataMain&&tt(document.getElementsByTagName("script"),function(n){return y||(y=n.parentNode),(rt=n.getAttribute("data-main"))?(e=rt,s.baseUrl||(d=e.split("/"),e=d.pop(),st=d.length?d.join("/")+"/":"./",s.baseUrl=st),e=e.replace(g,""),t.jsExtRegExp.test(e)&&(e=rt),s.deps=s.deps?s.deps.concat(e):[e],!0):void 0});define=function(n,t,i){var r,u;"string"!=typeof n&&(i=t,t=n,n=null);a(t)||(i=t,t=null);!t&&l(i)&&(t=[],i.length&&(i.toString().replace(at,"").replace(vt,function(n,i){t.push(i)}),t=(1===i.length?["require"]:["require","exports","module"]).concat(t)));b&&((r=ut)||(p&&"interactive"===p.readyState||tt(document.getElementsByTagName("script"),function(n){if("interactive"===n.readyState)return p=n}),r=p),r&&(n||(n=r.getAttribute("data-requiremodule")),u=w[r.getAttribute("data-requirecontext")]));(u?u.defQueue:nt).push([n,t,i])};define.amd={jQuery:!0};t.exec=function(b){return eval(b)};t(s)}})(this)