document.observe("dom:loaded",function(){$$(".handle").each(function(a){new HeaderMenu(a,a.id)});$$("#title .iconlink, #content .iconlink").each(function(a){if(a.parentNode.href){new IconMenu(a,a.parentNode.href+"/iconmenu")}});$$(".friend_list").each(function(a){a.select("a").each(function(b){$(b).observe("click",function(e){var d=b;var c=d.classNames().toArray().join(".");if(c){var f=(d.innerHTML=="Overview")?"&hellip;pick a service<b></b>":d.innerHTML+"<b></b>";$("service_selector").update(f);$$(".find_users div").invoke("setStyle",{height:0,overflow:"hidden"});$$("div."+c).invoke("setStyle",{height:"auto",display:"block"});inviteDropdown.close()}Event.stop(e)})})});$$(".add_friend a").each(function(a){$(a).observe("click",function(c){var b='<li><label for="invite_name">Name: <input type="text" name="invite[][name]" /></label><label for="invite_email"> E-mail: <input type="text" name="invite[][email]" /></label></li>';$$(".invite_person").first().insert({bottom:b});Event.stop(c)})});inviteDropdown=new inviteDropdown();if($("invite_email")){inviteMail=new inviteMail()}logoFaceBox=new LogoFaceBox();largeDescription=new LargeDescription("description_span",400);yourTags=new softwareButtonToggle("tags_button","user_tags");favoriteSoftware=new softwareButtonToggle("favs_button","user_favs");privacySettings=new softwareButtonToggle("privacy_button","user_privacy");if($("recentlyticker")){new RecentlyTicker("recentlyticker")}});function trackAjaxPageView(a){if(typeof(pageTracker)!=="undefined"){pageTracker._trackPageview(a)}}function clearInput(b,a){if(!a){a="666666"}if(b.className!="focussed"){b.style.color="#"+a;b.value="";b.className+="focussed"}}var Button=Class.create({initialize:function(a){this.btn=$(a);this.btn.caption=this.btn.innerHTML;this.btn.addClassName("loading");this.btn.update("<span>Loading</span>");this.btn.disabled="disabled";if(this.btn.type=="submit"&&this.btn.form.onSubmit==""){this.btn.form.submit()}if(this.btn.onclick){this.btn.form.submit()}},reset:function(){this.btn.removeClassName("loading");this.btn.update(this.btn.caption);this.btn.disabled=""},loading:function(){this.initialize(this.btn)}});var LogoFaceBox=Class.create({initialize:function(){this.logoWasClosed=false;if($("logo")){$("logo").oncontextmenu=this.showLogoBox.bindAsEventListener(this);$("facebox_close").onclick=this.closeLogoBox.bindAsEventListener(this)}},showLogoBox:function(){if(!this.logoWasClosed){$("facebox_logo").show();return false}},closeLogoBox:function(){$("facebox_logo").hide();this.logoWasClosed=true;return false}});var inviteDropdown=Class.create({initialize:function(){this.shown=false;$$(".find_users div").invoke("setStyle",{height:0,overflow:"hidden"});var b=["windowslive","yahoo","gmail_api","twitter","facebook","flickr"];var c=window.location.href.split("#")[1];if(b.include(c)){$$("div."+c+"-s").invoke("setStyle",{height:"auto"});var a=($$("a."+c+"-s").first().innerHTML=="Overview")?"&hellip;pick a service<b></b>":$$("a."+c+"-s").first().innerHTML+"<b></b>";$("service_selector").update(a)}else{$$(".find_users div:first-child").invoke("setStyle",{height:"auto"})}if($("service_selector")){$("service_selector").observe("click",this.toggle.bindAsEventListener(this))}},toggle:function(a){if(this.shown){this.close()}else{this.open()}Event.stop(a)},open:function(){$("service_selector").addClassName("opened");new Effect.Morph("friend_list",{style:"height:168px",duration:0.4});this.shown=true},close:function(){this.shown=false;new Effect.Morph("friend_list",{style:"height:0px",duration:0.4});$("service_selector").removeClassName("opened")}});var inviteMail=Class.create({initialize:function(){this.shown=false;$("invite_email").setStyle({height:0,overflow:"hidden"});if($("open_invitemail")){$("open_invitemail").observe("click",this.toggle.bindAsEventListener(this))}},toggle:function(a){if(this.shown){this.close()}else{this.open()}Event.stop(a)},open:function(){new Effect.Morph("invite_email",{style:"height:240px",duration:0.4});$("open_invitemail").update("hide example");this.shown=true},close:function(){this.shown=false;new Effect.Morph("invite_email",{style:"height:0px",duration:0.4});$("open_invitemail").update("example")}});var softwareButtonToggle=Class.create({initialize:function(a,b){this.shown=false;this.buttonid=a;this.divid=b;if($(this.buttonid)){$(this.buttonid).observe("click",this.toggle.bindAsEventListener(this))}},toggle:function(a){if(this.shown){this.close()}else{this.open()}Event.stop(a)},open:function(){trackAjaxPageView("/javascript/software/open-box-"+this.buttonid);new Effect.BlindDown(this.divid,{duration:0.4});this.shown=true},close:function(){this.shown=false;new Effect.BlindUp(this.divid,{duration:0.4})}});function showSubmit(a){if(a){a.addClassName("submitted_button")}}function activateSubmit(a){if(a){a.disabled=false;a.removeClassName("submitted_button")}}var LargeDescription=Class.create({initialize:function(b,a){this.elm=$(b);if(!this.elm){return}if(this.elm.innerHTML.length<a){this.elm.innerHTML=this.elm.innerHTML.stripTags();return}this.large_text=this.elm.innerHTML;this.small_text=this.large_text.substring(0,a);this.small_text=this.small_text.substring(0,this.small_text.lastIndexOf(" "))+" &hellip;";this.small_text=this.small_text.stripTags();this.elm.innerHTML='<span id="'+b+'_span"></span> <a id="'+b+'_link" href="#more">More</a>';this.span=$(b+"_span");this.link=$(b+"_link");this.span.innerHTML=this.small_text;this.link.onclick=this.toggle.bindAsEventListener(this);this.isFull=false},toggle:function(){this.span.innerHTML=(this.isFull)?this.small_text:this.large_text;this.link.innerHTML=(this.isFull)?"More":"Less";this.isFull=!this.isFull;return false}});function toggleDescr(){if($("descr").hasClassName("descr_closed")){$("more_link").innerHTML="Less";$("descr").removeClassName("descr_closed");$("descr").addClassName("descr_open")}else{$("descr").removeClassName("descr_open");$("descr").addClassName("descr_closed");$("more_link").innerHTML="&hellip; More"}}var search_running=false;function searchSoftware(b){var a=$F("search_query");if(!search_running&&a.length>=3){new Ajax.Request(b,{method:"post",postBody:"query="+escape(a),onLoading:function(){$("spinner").show();search_running=true},onComplete:function(){search_running=false;$("spinner").hide()},onSuccess:function(c){$("search_hits").innerHTML=c.responseText||"Nothing found :(";trackAjaxPageView("/javascript/ajax-search-box")}})}else{$("search_hits").innerHTML=""}}function observePicker(d,c){var b=$F(c+"_input");var a=$(c+"_hits");var e=$(c+"_spinner");if(!search_running&&b.length>=3){new Ajax.Request(d,{method:"post",postBody:"query="+escape(b),onLoading:function(){e.show();search_running=true},onComplete:function(){search_running=false;e.hide();a.show()},onSuccess:function(f){a.innerHTML=f.responseText||"Nothing found :(";trackAjaxPageView("/javascript/ajax-search-box")}})}else{a.hide();a.innerHTML=""}}function setApp(c,a,b,d){if(field=$(b)){$(b+"_hits").innerHTML=field.innerHTML;field.innerHTML="<span>"+c.innerHTML+'<input type="hidden" name="split[similar_software_id]" value="'+a+'" /></span>';field.innerHTML+=' - <a href="#developers" onclick="setPicker(\''+b+"')\">change</a>"}$(b+"_hits").hide();if($("devbadge_code")){setDevWidget(d)}}function setPicker(a){if(field=$(a)){field.innerHTML=$(a+"_hits").innerHTML;$(a+"_input").className="greyed";$(a+"_hits").innerHTML="";new Form.Element.Observer(a+"_input",1,function(b,c){observePicker("/search/autocomplete?field_id="+a,a)})}}function setBlockStatus(h,d,b){var a="usage_spinner_"+h;var c="usage_software_"+h;var f="block_"+h;var e="unblock_"+h;var g="flag_description_"+h;new Ajax.Request("/account/display_settings",{method:"post",postBody:"id="+escape(h)+"&display_flag="+escape(d),onLoading:function(){$(a).show()},onSuccess:function(j){$(a).hide();if(b){if(d==-1){$(f).show();$(e).hide()}else{$(f).hide();$(e).show();$(g).innerHTML=j.responseText}}else{if(d==-1){$(c).remove();if($("currently_blocked").childNodes.length<=1){$("none_blocked").show()}}else{$("none_blocked").hide();$(f).hide();$(g).innerHTML=j.responseText;$(e).show();$("currently_blocked").appendChild($(c))}}},on403:function(){$(a).hide()}})}function osChecker(){var b=null;if(navigator.appVersion.indexOf("Win")!=-1){b="win"}if(navigator.appVersion.indexOf("Mac")!=-1){b="mac"}if(navigator.appVersion.indexOf("Linux")!=-1||navigator.appVersion.indexOf("X11")!=-1){b="linux"}var a=["win","mac","linux"];if(b){$(a).each(Element.hide);var c=window.location.href.split("#")[1];if(a.include(c)){$$("div#"+c+"").invoke("show")}else{$(b).show()}}$$(".view_all_os").each(function(d){$(d).observe("click",function(e){$("win","mac","linux").invoke("show");$$(".view_all_os").invoke("hide")})})}var WakoopaConnectButton={toggle:function(c,e,g){var b=g.keepAround||false;var a=c.href;var d=c.href.match(/(?:\/)(connect|unconnect)(?:\?quick=)/)[1];var f=c.select("img").first();new Ajax.Request(a,{onLoading:function(){f.src="/images/indicator.gif"},onSuccess:function(){if(d=="connect"){f.src="/images/icon_mincontact.gif";c.title="Remove as contact";c.href=c.href.gsub(/\/connect\?quick/,"/unconnect?quick");trackAjaxPageView("/javascript/profile/add-as-contact")}else{if(d=="unconnect"){f.src="/images/icon_pluscontact.gif";c.title="Add as contact";c.href=c.href.gsub(/\/unconnect\?quick/,"/connect?quick");trackAjaxPageView("/javascript/profile/remove-as-contact")}}if($(e)&&!b){$(e).fade()}}})}};function inviteFormSubmit(form){var results_container=$("invitevia_result");var header_type=$$(".box_title h2, .box_title h3").first().tagName;var service=$(form).select('input[name="invite_via[via]"]').first().value.capitalize();new Ajax.Request("/account/invite/find_users",{asynchronous:true,evalScripts:true,onLoading:function(request){if($("found_users")){$("found_users").hide()}results_container.update("loading");results_container.addClassName("loading")},onComplete:function(request){eval(request.responseText);results_container.insert({top:"<"+header_type+">Found "+service+" contacts on Wakoopa</"+header_type+">"});results_container.removeClassName("loading")},onFailure:function(request){results_container.update('<p class="empty">Oops something went wrong, maybe the username you entered does not exist or '+service+" is down :(</p>");results_container.removeClassName("loading")},parameters:Form.serialize(form)});return false}var num=0;function userCarousel(b){var c=$("mostactive"),a=$$("#mostactive li").size()*60,d=num;if(b.id=="uprev"){num=num+420}else{num=num-420}if(num<=0){if(num>-a){new Effect.Morph(c,{style:"margin-left:"+num+"px",duration:0.3});if(num-420<=-a){$("inext").addClassName("faded")}else{$("inext").removeClassName("faded")}}else{num=d;$("inext").addClassName("faded")}if(num==0){$("iprev").addClassName("faded");$("inext").removeClassName("faded")}else{$("iprev").removeClassName("faded")}}else{num=0}trackAjaxPageView("/javascript/software/user-carousel");return false}var screenshotnum=0;function screenshotCarousel(b){var c=$("screenshot_scroller"),a=$$("#screenshot_scroller li").size()*99+15,d=screenshotnum;if(b.id=="suprev"){screenshotnum=screenshotnum+297}else{screenshotnum=screenshotnum-297}if(screenshotnum<=0){if(screenshotnum>-a){new Effect.Morph(c,{style:"margin-left:"+screenshotnum+"px",duration:0.3});if(screenshotnum-297<=-a){$("sinext").addClassName("faded")}else{$("sinext").removeClassName("faded")}}else{screenshotnum=d;$("inext").addClassName("faded")}if(screenshotnum==0){$("siprev").addClassName("faded");$("sinext").removeClassName("faded")}else{$("siprev").removeClassName("faded")}}else{screenshotnum=0}trackAjaxPageView("/javascript/software/screenshot-carousel");return false}var iphoneLatestAppsCarousel=Class.create({initialize:function(){$$("ul.latest_iphone_avatars li a").each(function(d){d.observe("click",function(f,e){window.iphoneCarousel=false;this.changeItem(e);Event.stop(f);return false}.bindAsEventListener(this,d))}.bind(this));var a=$$("ul.latest_iphone_avatars li a")[0];if(a){var c='<a class="url" href=""></a>: <em></em>';var b=new Element("div",{id:"iphone_tagline"}).update(c);$("latest_iphone_apps").insert({bottom:b});this.changeItem(a);window.iphoneCarousel=true;setTimeout(this.binderFunction.bind(this,1),4000)}},favCycle:function(a){var c=a,b=$$("ul.latest_iphone_avatars li a");this.changeItem(b[a]);c=(c<b.length-1)?c+1:0;setTimeout(this.binderFunction.bind(this,c),4000)},binderFunction:function(a){var b=$$("ul.latest_iphone_avatars li a");if(window.iphoneCarousel&&b.length>1){this.favCycle(a)}},changeItem:function(d){$$("ul.latest_iphone_avatars li a").each(function(f){$(f).removeClassName("active")});d.addClassName("active");var b=d.immediateDescendants(),a=d.readAttribute("href"),c=b[1].innerHTML,e=b[0].readAttribute("alt");tagline=$("iphone_tagline").immediateDescendants();tagline[0].innerHTML=e;tagline[0].writeAttribute("href",a);tagline[1].innerHTML=c}});var HeaderMenuOpen=null;var HeaderMenu=Class.create({initialize:function(a,b){this.node=$(a);this.menu=$(b=="os_link"?"os_menu":b+"menu");this.link=(b=="os_link"?$(b):$(b+"link"));this.os_select_form=$("os_select_form");this.search_input=$("search_input");this.escEvent=this.escape.bindAsEventListener(this);this.outEvent=this.outside.bindAsEventListener(this);this.menuOpened=false;this.effect=false;this.node.observe("click",this.toggle.bindAsEventListener(this));this.os_select_form.onsubmit=this.filterPlatforms.bindAsEventListener(this);if(this.search_input){this.search_input.onfocus=this.clearInput.bindAsEventListener(this);this.search_input.onblur=this.setInput.bindAsEventListener(this)}if(!window.HMZI){window.HMZI=2}},toggle:function(a){this.menu.style.zIndex=HMZI++;if(this.menuOpened){this.close(a)}else{this.open(a)}},open:function(a){if(HeaderMenuOpen!=null&&HeaderMenuOpen!=this){HeaderMenuOpen.close(a)}HeaderMenuOpen=this;new Effect.BlindDown(this.menu,{duration:0.2});this.link.addClassName("opened");document.observe("click",this.outEvent);document.observe("keydown",this.escEvent);this.menuOpened=true;Event.stop(a);if($("leaderboard")){$("leaderboard").hide()}},close:function(b){this.effect=new Effect.BlindUp(this.menu,{duration:0.2,afterFinish:(function(c){this.link.removeClassName("opened")}).bindAsEventListener(this)});document.stopObserving("click",this.outEvent);document.stopObserving("keydown",this.escEvent);this.menuOpened=false;var a=Event.element(b);if(a.hasClassName("handle")||a.hasClassName("innerhandle")){Event.stop(b)}if($("leaderboard")){$("leaderboard").show()}},escape:function(a){if(a.keyCode==27){this.close(a)}},outside:function(a){element=Event.element(a);if(!element.descendantOf("header")){this.close(a)}},filterPlatforms:function(){var a="";$$(".os_select").each(function(b){if(b.checked){a+=b.value+","}});document.location.href="/platforms?os="+a.slice(0,-1);return false},clearInput:function(){if(!this.default_search_text){this.default_search_text=this.search_input.value}if(this.default_search_text==this.search_input.value){this.search_input.value=""}this.search_input.addClassName("focussed")},setInput:function(){if(this.search_input.value.length==0&&this.default_search_text){this.search_input.value=this.default_search_text}this.search_input.removeClassName("focussed")}});var iconMenuIndex=1;var iconMenuContents=[];var IconMenu=Class.create({initialize:function(a,b){this.node=a;this.ajaxURL=b||"iconmenu.html";this.image=this.node.longDesc;this.closeEvent=this.close.bindAsEventListener(this);this.outEvent=this.outside.bindAsEventListener(this);this.escEvent=this.escape.bindAsEventListener(this);this.menuLink=false;this.menuOpener=false;this.menu=false;this.wrapper=false;this.linkShown=false;this.menuOpened=false;this.active=false;this.timeout=null;this.node.observe("mouseover",this.toggle.bindAsEventListener(this));this.node.observe("mouseout",this.toggle.bindAsEventListener(this))},toggle:function(b){var a=new Image();a.src=this.image;if(this.timeout){this.timeout=clearTimeout(this.timeout)}else{this.timeout=setTimeout(this.show.bindAsEventListener(this),300)}},show:function(c){clearTimeout(this.timeout);if(!this.linkShown){if(!this.menuLink){this.menuLink=new Element("div",{"class":"iconmenu_link"});this.menuOpener=new Element("a",{"class":"iconmenu_opener",href:this.node.parentNode.href});this.menuLink.appendChild(this.menuOpener);cloneIt(this.menuLink,this.node,{setWidth:false,setHeight:false});var a=new Element("img",{src:this.image});var b=new Element("a",{"class":"iconmenu_img",href:this.node.parentNode.href});b.appendChild(a);b.wrap(this.menuLink);this.menuLink.hide();document.body.appendChild(this.menuLink);this.menuLink.observe("mouseout",this.hide.bindAsEventListener(this));this.menuOpener.observe("click",this.toggleMenu.bindAsEventListener(this))}document.observe("click",this.outEvent);document.observe("keydown",this.escEvent);this.menuLink.show();this.linkShown=true}},hide:function(b){if(this.linkShown){var a=b.relatedTarget||b.toElement;if(a&&a.className!="iconmenu_link"&&a.className!="iconmenu_opener"&&!this.menuOpened){this.menuLink.hide();this.linkShown=false;document.stopObserving("click",this.outEvent);document.stopObserving("keydown",this.escEvent)}}},toggleMenu:function(c){if(this.menuOpened){this.menu.style.display="none";this.menuLink.removeClassName("opened");this.menuOpened=false}else{if(!this.menu){this.menu=new Element("div",{"class":"iconmenu"});var a=new Element("img",{src:"/images/indicator_big.gif",id:"indicator"});this.menu.appendChild(a);cloneIt(this.menu,this.node,{setWidth:false,setHeight:false});if(iconMenuContents[this.ajaxURL]){this.menu.update(iconMenuContents[this.ajaxURL])}else{var d=this.menu;var b=this.ajaxURL;new Ajax.Request(b,{method:"get",evalScripts:true,onSuccess:function(e){d.update(e.responseText);iconMenuContents[b]=d.innerHTML}})}}this.menu.style.display="";this.menuLink.insert({after:this.menu});this.menuLink.addClassName("opened");this.menuOpened=true;iconMenuIndex=iconMenuIndex+2;this.menuLink.style.zIndex=iconMenuIndex;this.menu.style.zIndex=iconMenuIndex-1}Event.stop(c)},close:function(a){if(this.menu){this.menuLink.hide();this.linkShown=false;this.menu.style.display="none";this.menuLink.removeClassName("opened");this.menuOpened=false;document.stopObserving("click",this.outEvent);document.stopObserving("keydown",this.escEvent)}},outside:function(a){element=Event.element(a);if(!element.descendantOf(this.menu)){this.close(a)}},escape:function(a){if(a.keyCode==27){this.close(a)}}});function cloneIt(b,c){var a=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});c=$(c);var d=c.cumulativeOffset();b=$(b);if(a.setLeft){b.style.left=(d[0]+a.offsetLeft)+"px"}if(a.setTop){b.style.top=(d[1]+a.offsetTop)+"px"}if(a.setWidth){b.style.width=c.offsetWidth+"px"}if(a.setHeight){b.style.height=c.offsetHeight+"px"}return b}var Ico={Base:{},Normaliser:{},SparkLine:{},SparkBar:{},BaseGraph:{},LineGraph:{},AreaGraph:{},StackGraph:{},BarGraph:{},HorizontalBarGraph:{}};Array.prototype.sum=function(){for(var a=0,b=0;a<this.length;b+=this[a++]){return b}};if(typeof Array.prototype.max=="undefined"){Array.prototype.max=function(){return Math.max.apply({},this)}}if(typeof Array.prototype.min=="undefined"){Array.prototype.min=function(){return Math.min.apply({},this)}}Array.prototype.mean=function(){return this.sum()/this.length};Array.prototype.variance=function(){var a=this.mean(),b=0;for(var c=0;c<this.length;c++){b+=Math.pow(this[c]-a,2)}return b/(this.length-1)};Array.prototype.standard_deviation=function(){return Math.sqrt(this.variance())};Ico.Normaliser=Class.create({initialize:function(b,a){this.options={start_value:null};Object.extend(this.options,a||{});this.min=b.min();this.max=b.max();this.standard_deviation=b.standard_deviation();this.range=0;this.step=this.labelStep(this.max-this.min);this.start_value=this.calculateStart();this.process()},calculateStart:function(){var a=this.options.start_value!=null&&this.min>=0?this.options.start_value:this.min;start_value=this.round(a,1);if(this.min>0&&start_value>this.min){return 0}return start_value},round:function(a,b){b=b||1;roundedValue=a;if(this.standard_deviation>0.1){var c=Math.pow(10,-b);roundedValue=Math.round(a*c)/c;if(roundedValue>this.min){return this.round(a-this.step)}}return roundedValue},process:function(){this.range=this.max-this.start_value;this.step=this.labelStep(this.range);if(this.range/this.step>15){this.step*=3}},labelStep:function(a){return Math.pow(10,(Math.log(a)/Math.LN10).round()-1)}});Ico.Base=Class.create({normaliseData:function(a){return $A(a).collect(function(b){return this.normalise(b)}.bind(this))},deepCopy:function(d){var b,c;if(Object.prototype.toString.call(d)==="[object Array]"){b=[];c=0;var a=d.length;for(;c<a;c++){b[c]=arguments.callee(d[c])}return b}if(typeof d==="object"){b={};for(c in d){b[c]=arguments.callee(d[c])}return b}return d}});Ico.BaseGraph=Class.create(Ico.Base,{initialize:function(b,c,a){this.element=b;this.data_sets=Object.isArray(c)?new Hash({one:c}):$H(c);if(this.chartDefaults().stacked===true){this.real_data=this.deepCopy(this.data_sets);this.stackData(this.data_sets)}this.flat_data=this.data_sets.collect(function(d){return d[1]}).flatten();this.normaliser=new Ico.Normaliser(this.flat_data,this.normaliserOptions());this.label_step=this.normaliser.step;this.range=this.normaliser.range;this.start_value=this.normaliser.start_value;this.data_size=this.longestDataSetLength();if(a&&a.colour){a.colours={};this.data_sets.keys().each(function(d){a.colours[d]=a.colour})}this.options={width:parseInt(b.getStyle("width")),height:parseInt(b.getStyle("height")),labels:$A($R(1,this.data_size)),plot_padding:10,font_size:10,show_horizontal_labels:true,show_vertical_labels:true,vertical_label_unit:false,colours:this.makeRandomColours(),background_colour:b.getStyle("backgroundColor"),label_colour:"#000",grid_colour:"#ccc",markers:false,marker_size:5,meanline:false,y_padding_top:20,draw_axis:true,stacked_fill:false,datalabels:"",start_at_zero:true,bargraph_lastcolour:false,hover_colour:"",watermark:false,watermark_orientation:false,horizontal_rounded:false,hide_empty_label_grid:false,left_padding:false};Object.extend(this.options,this.chartDefaults()||{});Object.extend(this.options,a||{});this.x_padding_left=10+this.paddingLeftOffset();this.x_padding_left+=this.options.vertical_label_unit?6:0;this.x_padding_left=this.options.left_padding?this.options.left_padding:this.x_padding_left;this.x_padding_right=20;this.x_padding=this.x_padding_left+this.x_padding_right;this.y_padding_top=this.options.y_padding_top;this.y_padding_bottom=20+this.paddingBottomOffset();this.y_padding=this.y_padding_top+this.y_padding_bottom;this.graph_width=this.options.width-this.x_padding;this.graph_height=this.options.height-this.y_padding;this.step=this.calculateStep();this.y_label_count=(this.range/this.label_step).round();if((this.normaliser.min+(this.y_label_count*this.normaliser.step))<this.normaliser.max){this.y_label_count+=1}this.value_labels=this.makeValueLabels(this.y_label_count);this.top_value=this.value_labels.last();this.grid_start_offset=-1;this.paper=new Raphael(this.element,this.options.width,this.options.height);this.background=this.paper.rect(this.x_padding_left,this.y_padding_top,this.graph_width,this.graph_height);this.background.attr({fill:this.options.background_colour,stroke:"none"});if(this.options.meanline===true){this.options.meanline={"stroke-width":"2px",stroke:"#BBBBBB"}}this.globalHoverSet=this.paper.set();this.globalBlockSet=this.paper.set();this.setChartSpecificOptions();this.draw();this.globalHoverSet.toFront();this.globalBlockSet.toFront()},normaliserOptions:function(){return{graph_height:parseInt(this.element.getStyle("height"))}},chartDefaults:function(){},drawPlot:function(b,f,a,g,d,e,c){},calculateStep:function(){},getMousePos:function(c){var a=0;var d=0;if(!c){c=window.event}if(c.pageX||c.pageY){a=c.pageX;d=c.pageY}else{if(c.clientX||c.clientY){a=c.clientX+document.body.scrollLeft-document.documentElement.scrollLeft;d=c.clientY+document.body.scrollTop-document.documentElement.scrollTop}}var b={x:a,y:d};return b},makeRandomColours:function(a){var b={};this.data_sets.each(function(c){b[c[0]]=Raphael.hsb2rgb(Math.random(),1,0.75).hex});return b},longestDataSetLength:function(){var a=0;this.data_sets.each(function(b){a=b[1].length>a?b[1].length:a});return a},roundValue:function(b,a){var c=Math.pow(10,a);b*=c;b=Math.round(b)/c;return b},roundValues:function(b,a){return $A(b).collect(function(c){return this.roundValue(c,a)}.bind(this))},paddingLeftOffset:function(){if(this.options.show_vertical_labels){var b=this.flat_data;b=this.roundValues(b,2);var a=$A(b).sort(function(d,c){return d.toString().length<c.toString().length}).first().toString().length;a=a>2?a-1:a;return a*this.options.font_size}else{return 0}},paddingBottomOffset:function(){return this.options.font_size},normalise:function(b){var a=this.start_value==0?this.top_value:this.range;return((b/a)*this.graph_height)},draw:function(){if(this.options.grid){this.drawGrid()}if(this.options.watermark){this.drawWatermark()}if(this.options.meanline){this.drawMeanLine(this.normaliseData(this.flat_data))}if(this.options.draw_axis){this.drawAxis()}if(this.options.show_vertical_labels){this.drawVerticalLabels()}if(this.options.show_horizontal_labels){this.drawHorizontalLabels()}if(!this.options.watermark){this.drawLinesInit(this)}if(this.start_value!=0){this.drawFocusHint()}},drawLinesInit:function(a){a.data_sets.each(function(c,b){a.drawLines(c[0],a.options.colours[c[0]],a.normaliseData(c[1]),a.options.datalabels[c[0]],a.element,b)}.bind(a))},drawWatermark:function(){if(this.options.watermark=="wakoopa"){this.drawWakoopaWatermark(this,this.data)}else{var a=this.options.watermark,c=new Image(),b=this;c.onload=function(){var e,d;if(b.options.watermark_orientation=="middle"){e=(b.graph_width-c.width)/2+b.x_padding_left;d=(b.graph_height-c.height)/2+b.y_padding_top}else{e=b.graph_width-c.width+b.x_padding_left-2;d=b.graph_height-c.height+b.y_padding_top-2}var f=b.paper.image(c.src,e,d,c.width,c.height);f.attr({opacity:"0.4"});b.drawLinesInit(b,b.data);if(b.options.stacked_fill){f.toFront()}};c.src=a.src||a}},drawWakoopaWatermark:function(e,f){var g=this.paper.path("M 66.12653,28.643755 C 65.88927,28.5774 65.20644,28.15623 65.04322,27.975565 L 64.41948,26.909725 L 64.41948,9.6875 L 64.82874,8.948709 L 65.70556,8.128486 L 66.50282,7.887364 L 67.4056,7.893512 L 68.35306,8.277407 L 69.62782,7.900526 L 71.57226,7.832284 L 72.86932,8.057673 L 73.87705,8.448976 L 74.96575,9.201389 L 76.05217,10.294938 C 76.340077,10.692297 76.570098,11.12571 76.82223,11.545138 C 76.866135,11.63585 77.017825,11.875 77.03146,11.875 C 77.04509,11.875 77.286715,11.493668 77.36473,11.349026 C 77.549845,11.005848 78.44977,9.850685 78.76001,9.558018 L 79.76786,8.753663 L 80.77321,8.238848 L 81.90958,7.942295 L 82.54448,7.831621 L 84.55837,7.907413 L 85.0527,8.041652 C 85.68887,8.214409 87.882965,9.74993 88.38521,10.373885 L 89.13951,11.5625 L 89.5687,12.708333 L 89.69726,13.229166 L 89.69726,18.92361 L 89.29135,19.756944 L 88.41673,20.619728 L 87.42381,20.921315 L 86.50957,20.835946 L 85.76571,20.472012 L 84.48893,20.857646 L 82.22912,20.914775 L 81.65764,20.799442 L 80.62316,20.490104 L 79.68566,19.979401 L 78.69499,19.154267 C 78.385265,18.84918 77.48717,17.659929 77.32773,17.343749 L 77.09135,16.874999 L 77.02603,16.874999 L 76.96071,16.874999 L 76.82203,17.188508 C 76.783895,17.274723 76.425125,17.875544 76.32718,18.017227 L 75.97102,18.532437 L 75.36886,19.112424 C 74.89758,19.566354 73.232795,20.554069 72.68337,20.70572 L 72.12782,20.859064 L 69.48893,20.872297 L 69.41426,26.840275 C 69.342233,27.111491 69.188925,27.349265 69.07653,27.603145 L 68.57711,28.187895 L 67.89892,28.583885 L 67.02365,28.721955 L 66.12653,28.643755 z M 67.75282,27.854455 L 68.21785,27.526115 L 68.56507,26.979165 L 68.72504,26.631945 L 68.76482,19.843758 L 69.97059,20.138888 L 71.85004,20.136476 L 72.33615,20.035045 L 73.44726,19.622577 L 74.53197,18.909242 C 74.818725,18.658303 75.782695,17.53299 75.9447,17.26006 L 76.19387,16.840277 L 76.56187,15.729166 L 76.56651,13.090277 L 76.44302,12.644901 L 76.08452,11.732876 L 75.42542,10.739029 L 74.55942,9.845498 L 73.35485,9.017946 L 72.33615,8.651538 L 71.08615,8.626713 L 69.2806,8.771929 L 68.28655,9.122801 L 67.23976,8.591472 L 66.35765,8.662278 L 65.90528,8.896209 L 65.3724,9.445307 L 65.14865,9.916823 L 65.14865,26.740725 L 65.48292,27.395835 C 65.653368,27.608819 65.909339,27.716383 66.12087,27.875395 L 66.91948,27.981865 L 67.75282,27.854455 z M 69.94405,16.451126 L 69.15778,15.8782 L 68.75976,15.250586 L 68.75976,13.499413 L 69.15667,12.873555 L 69.8422,12.370331 L 70.50571,12.203258 L 71.07998,12.239086 L 71.8216,12.361914 L 72.58835,12.933453 L 72.96115,13.496661 L 72.96115,15.173611 L 72.58019,15.821672 C 72.346501,16.074016 72.03605,16.229114 71.76546,16.431726 L 71.542,16.527777 L 70.11393,16.518974 L 69.94405,16.451126 z M 72.23146,14.965277 L 72.23198,13.711458 L 72.12044,13.552212 C 72.08977,13.508419 71.805305,13.24548 71.72808,13.189538 L 71.44726,12.986111 L 70.23894,12.986111 L 69.45421,13.812547 L 69.45421,14.937452 L 70.1803,15.763888 L 71.48971,15.763888 L 72.23146,14.965277 z M 85.87936,19.642929 L 86.29117,19.890908 L 87.15389,20.138888 L 87.90009,19.995942 L 88.43984,19.582404 L 88.97635,18.739342 L 88.92814,12.951388 C 88.791141,12.54239 88.597185,12.156824 88.4257,11.762184 L 87.80208,10.824995 C 87.470345,10.40955 86.11859,9.271178 85.71491,9.067298 L 84.2931,8.611111 L 82.19726,8.613523 L 80.82474,9.01531 C 80.12561,9.3323105 77.970485,11.685374 77.69821,12.428994 L 77.5578,12.812499 L 77.49723,15.520833 L 77.61048,16.006944 L 77.96658,16.985075 L 78.65928,18.039323 L 79.62734,19.01844 L 80.65058,19.682229 L 81.91948,20.134999 L 84.55837,20.10193 L 85.87936,19.642929 z M 82.08933,16.328779 C 81.91249,16.214796 81.371655,15.660515 81.2671,15.48611 L 81.12139,15.243055 L 81.12087,13.620152 L 81.25592,13.264954 L 82.15855,12.44301 L 82.47504,12.256944 L 84.00282,12.259436 L 84.23646,12.385608 L 85.22705,13.368055 L 85.35394,13.645833 L 85.35698,15.073905 L 85.2538,15.320855 L 84.40621,16.313808 L 84.08317,16.527777 L 82.39807,16.527777 L 82.08933,16.328779 z M 84.5931,15.037203 L 84.5931,13.685388 L 83.76666,12.986111 L 82.70896,12.986111 L 81.88476,13.639298 L 81.88476,15.128232 L 82.68337,15.832813 L 83.77809,15.833333 L 84.5931,15.037203 z M 91.4506,21.289805 C 91.378945,21.264235 91.0187,21.066135 90.95371,21.016565 L 90.42115,20.357005 L 90.26205,19.598487 L 90.44053,18.784721 L 91.22827,18.011772 L 92.05837,17.837228 L 92.39703,17.913935 C 92.610059,17.978137 92.825842,18.043467 93.03682,18.107197 L 93.12554,16.90368 L 93.29214,16.215277 L 93.69946,15.435813 L 94.61224,14.523034 L 95.39171,14.108924 L 96.46224,13.888888 L 98.72504,13.891058 L 99.52035,14.078221 L 100.02846,14.465779 L 100.40075,15.084358 L 100.72869,14.800524 C 100.81888,14.72247 101.26873,14.393767 101.34917,14.347141 L 102.02365,14.070819 L 103.24666,13.874003 L 104.2806,14.032831 L 105.15728,14.441183 C 105.43621,14.750079 105.77283,14.996649 106.08246,15.2699 L 106.50282,14.494109 L 107.01316,14.081427 L 107.79753,13.899093 L 108.16864,13.995753 L 108.53974,14.092413 L 109.01434,13.991856 L 110.05699,13.888888 L 110.59112,14.025496 C 110.73801,14.063064 111.35747,14.264826 111.44555,14.30379 L 111.76586,14.445475 L 112.50216,14.108388 L 113.56809,13.87124 L 114.59893,13.964653 L 115.46115,14.235318 L 116.38962,14.923212 L 116.6769,15.286656 C 116.86422,15.523623 117.27253,16.345657 117.33542,16.612397 L 117.43826,17.04861 L 117.44032,19.766458 L 117.22279,20.498962 L 116.92835,20.793403 L 116.31192,21.168925 C 116.22337,21.19122 115.79317,21.249995 115.71854,21.249995 L 115.2111,21.170965 C 115.14619,21.14923 114.81253,20.97131 114.75089,20.925555 L 114.33423,20.431673 L 114.14171,20.104166 L 114.07226,17.341136 L 113.83653,17.192833 L 113.44726,17.329423 L 113.37709,20.104166 L 113.06935,20.68101 L 112.54448,21.113965 L 112.30143,21.181595 C 112.14041,21.2264 111.40849,21.219505 111.21738,21.171385 L 110.90516,21.092765 L 110.29056,20.478167 L 110.07921,19.766458 L 110.07921,17.388888 L 109.91254,17.222222 L 109.62087,17.222222 L 109.45421,17.388888 L 109.45421,19.766458 L 109.23668,20.498962 L 108.6478,21.087845 L 108.3258,21.168925 C 108.13008,21.218205 107.3942,21.22673 107.23198,21.181595 L 106.73293,20.902785 L 106.29128,20.312155 L 106.10562,19.932701 L 105.69749,20.302042 L 104.93427,20.864645 L 104.22155,21.153125 L 103.16671,21.249175 L 102.4695,21.249995 L 102.0556,21.142225 L 101.36393,20.871444 C 101.28754,20.826619 100.83907,20.490717 100.74535,20.408131 L 100.40454,20.107817 L 99.8836,20.884015 L 99.14916,21.249995 L 95.99436,21.249995 C 95.243791,21.131778 94.787808,20.723437 94.21442,20.281452 L 93.93991,19.999999 L 93.66174,20.306074 L 93.54485,20.612147 L 92.60574,21.313255 L 91.4506,21.289805 z M 92.50889,20.536463 L 92.93648,20.138241 L 93.06506,19.619138 L 92.9268,19.113948 L 92.56248,18.749624 L 92.06887,18.61137 L 91.56649,18.72267 L 91.19142,19.060728 L 91.05143,19.612339 L 91.15455,20.136862 L 91.44969,20.472527 C 91.54951,20.543359 91.94119,20.679536 92.06481,20.686388 L 92.50889,20.536463 z M 99.45135,20.276414 L 99.66254,19.868008 L 99.66202,19.340277 L 99.3909,18.895631 L 98.97499,18.680555 L 96.39176,18.680555 L 95.99539,18.475589 L 95.70421,18.004439 L 95.70421,17.066993 L 96.24342,16.527777 L 98.91238,16.527777 L 99.40116,16.295838 L 99.67027,15.868055 L 99.6163,15.13782 L 99.28892,14.78933 L 98.79448,14.641688 L 95.94726,14.687499 L 94.72111,15.431143 L 94.04622,16.302935 L 93.81187,17.109047 L 93.87623,18.445487 L 94.23836,19.236478 L 94.9731,20.013352 L 95.59023,20.375017 L 96.22504,20.54618 L 98.90419,20.555555 L 99.45135,20.276414 z M 104.41948,20.342652 L 105.15755,19.838064 C 105.43055,19.569908 105.61043,19.230345 105.83191,18.92361 L 106.01671,18.576388 L 106.01671,16.701388 L 105.60969,15.898111 L 104.79637,15.077181 L 104.00282,14.687499 L 103.16948,14.687499 L 102.33615,14.687499 L 101.53321,15.063745 L 100.72618,15.833514 L 100.36704,16.493373 L 100.20013,17.451847 L 100.28819,18.399294 L 100.56723,19.145114 L 101.34273,20.002074 L 101.97912,20.375017 L 102.61393,20.54618 L 103.59169,20.555555 L 104.41948,20.342652 z M 102.0931,18.07383 L 102.0931,17.215324 L 102.30817,16.799413 L 102.75282,16.528297 L 103.56976,16.527777 L 104.02276,16.807744 L 104.24587,17.277934 L 104.24587,17.851683 L 104.05642,18.305095 L 103.61021,18.680555 L 102.69982,18.680555 L 102.0931,18.07383 z M 103.49146,17.421482 L 103.32609,17.222222 L 103.02365,17.222222 L 102.85698,17.388888 C 102.83965,17.471381 102.89867,17.796296 102.90659,17.873675 L 102.95619,17.923276 L 103.44726,17.881944 L 103.49146,17.421482 z M 108.28607,20.410022 L 108.55489,20.117095 L 108.6898,19.895833 L 108.69123,17.187499 L 108.82212,16.988978 L 109.35004,16.528692 L 110.23138,16.527777 L 110.63686,16.816505 L 110.8431,17.215324 L 110.84401,19.895833 C 110.96639,20.231313 111.35012,20.3179 111.58938,20.517424 L 112.05586,20.486939 L 112.29688,20.407395 L 112.64865,19.989343 L 112.64865,17.356649 L 112.8381,16.903237 L 113.28431,16.527777 L 114.25125,16.527777 L 114.83615,17.073031 L 114.9056,19.990444 L 115.19575,20.381944 L 115.77365,20.568735 L 116.35977,20.381944 L 116.68523,19.896962 L 116.64171,16.631944 L 116.2436,15.875508 L 115.46115,15.095273 L 114.63245,14.6912 L 113.28706,14.637162 L 112.91577,14.756375 L 111.74354,15.342683 L 111.08615,14.925572 L 110.20346,14.652777 L 109.2424,14.652777 L 108.46983,14.924313 L 108.21652,14.788545 L 107.8037,14.652777 L 107.18319,14.845397 L 106.88476,15.264495 L 106.88528,19.895833 L 107.16528,20.355076 L 107.61393,20.556562 C 107.84685,20.55183 108.06303,20.458649 108.28607,20.410022 z M 99.48893,17.19573 C 99.000743,17.196164 97.049363,17.248506 96.5621,17.270453 L 96.3782,17.660385 L 96.51753,17.881944 L 99.48893,18.020833 L 99.48893,17.19573 z M 5.25282,20.826367 L 3.72504,20.422372 L 3.30837,20.171278 C 2.73763,19.827334 0.850885,17.854202 0.57624,17.314051 C 0.535675,17.23427 0.29193,16.579756 0.24004,16.411274 L 0.05134,15.79861 L 0,10.215093 L 0.223,9.340277 L 0.70522,8.611728 L 1.36393,8.132128 L 2.22497,7.897951 C 2.6536043,7.9023786 3.0721721,7.997562 3.4946,8.051924 L 4.08082,8.356702 L 4.64035,8.916769 L 4.98802,9.607159 L 5.10671,9.965277 L 5.18337,15.104166 L 5.83821,15.763888 L 7.16849,15.763888 L 7.85698,15.119883 L 7.85698,10.354058 L 8.01081,9.618055 L 8.35246,8.923611 C 8.5698761,8.6426216 8.8786519,8.460513 9.14171,8.231245 L 9.79388,7.984611 L 10.66964,7.936022 L 11.52861,8.127778 L 12.26155,8.687018 L 12.79848,9.494126 L 12.96009,9.895833 L 13.0306,15.148429 L 13.68223,15.763888 L 15.10474,15.763888 L 15.76738,15.076415 L 15.80837,9.826388 L 16.19719,8.993055 L 16.85004,8.322436 C 17.084108,8.171743 17.359849,8.1144809 17.61393,8.010839 L 18.3431,7.918315 L 19.08787,8.014909 L 19.6935,8.261562 L 20.20954,8.722036 L 20.62739,9.34011 L 20.94217,10.544781 L 22.26671,9.190129 C 22.665436,8.8994121 23.100477,8.6668907 23.52413,8.416296 L 24.53108,8.049645 L 25.11393,7.896816 L 27.05837,7.832284 L 28.33719,8.054525 L 29.26865,8.405127 L 30.39492,9.154517 L 31.59308,10.397426 L 32.36716,11.388888 L 32.4056,1.909722 L 32.74068,1.077413 L 33.52728,0.290818 L 34.46884,-1.4210855e-14 L 35.32226,0.001648 C 35.638338,0.059796996 35.929498,0.19955172 36.23228,0.298231 L 36.80359,0.799002 L 37.31677,1.653147 L 37.47421,2.118055 L 37.51477,10.776827 C 39.115532,9.7919759 40.728732,8.8137558 42.36757,7.888068 L 42.78782,7.79003 C 43.188142,7.8427869 43.563503,7.993847 43.94934,8.100527 L 44.63398,8.64264 L 45.18954,9.444444 L 45.32226,10.452874 L 45.32226,11.079359 L 45.09344,11.544137 L 44.86462,12.008914 L 44.36003,12.375984 L 41.54059,14.270833 L 41.53754,14.44787 C 41.999822,14.742696 43.82206,15.961651 44.27218,16.274541 L 44.74987,16.631944 L 45.05343,17.251903 L 45.35698,17.871863 L 45.35534,18.645833 L 45.15655,19.392724 L 44.66407,20.134451 L 43.9788,20.676122 L 43.06848,20.922535 C 42.694995,20.908595 42.336934,20.795475 41.97206,20.730831 L 41.60796,20.619908 C 40.940681,20.175932 38.263004,18.412947 37.58478,17.98611 L 37.48711,18.385416 L 37.23505,19.485449 L 36.79736,20.146236 L 36.16627,20.62811 L 35.39171,20.85778 L 34.48893,20.856315 L 33.60813,20.603121 L 32.62621,19.583333 L 31.81214,20.407305 L 31.3257,20.707941 L 30.60004,20.901125 L 30.03497,20.902775 L 28.90762,20.461466 L 27.61393,20.868055 L 24.97504,20.868055 C 24.483661,20.760842 24.024814,20.555401 23.55697,20.377892 L 22.57079,19.785424 L 21.57806,18.881619 L 20.75868,17.844596 L 20.46115,17.362299 L 20.10072,17.725694 L 19.04214,19.083763 L 17.89755,19.999544 L 16.85004,20.544092 L 15.66948,20.863332 L 13.10004,20.857328 C 12.155195,20.620981 11.293919,20.17287 10.43969,19.722221 C 9.9772167,19.967769 9.5014905,20.186354 9.02897,20.412012 L 8.44726,20.642263 L 7.19726,20.900955 C 6.8722676,20.910114 5.5765276,20.844746 5.25282,20.826367 z M 9.17212,19.54083 L 10.44149,18.734127 C 10.684283,18.944312 10.957261,19.114976 11.21501,19.305299 L 12.15251,19.783047 L 13.53397,20.153523 L 15.80837,20.091782 L 16.7806,19.780508 L 17.71612,19.231083 L 18.63696,18.44988 C 18.931293,18.112229 19.174857,17.772988 19.45207,17.424144 L 19.9457,16.397856 L 20.14624,15.451388 L 20.14865,10.16363 L 19.68603,9.241812 L 19.15161,8.806177 L 18.37577,8.654044 L 17.49008,8.843766 L 16.89884,9.328155 L 16.53754,10.006535 L 16.53677,14.965277 L 16.40028,15.456554 L 15.70409,16.237666 L 15.1048,16.527777 L 13.66472,16.527777 L 13.07887,16.244171 L 12.33199,15.31326 L 12.23063,10.034722 L 11.90365,9.340277 L 11.55508,8.970105 L 10.95041,8.661623 L 10.04448,8.650114 L 9.50061,8.837818 L 8.90378,9.38796 L 8.62087,10.144099 L 8.62087,15.129847 L 8.48245,15.493935 L 7.75377,16.264406 L 7.23752,16.527777 L 5.76919,16.527777 L 5.29041,16.327731 L 4.41948,15.243055 L 4.35004,9.895833 L 3.91896,9.131944 L 3.37782,8.750225 L 2.57921,8.604072 L 1.7806,8.750225 L 1.22833,9.136239 L 0.80837,9.81527 L 0.76826,15.451388 L 0.98507,16.42962 L 1.1951,16.873719 C 1.252855,16.995846 1.62381,17.624279 1.70676,17.740522 L 2.49388,18.621206 C 2.78622,18.896987 3.77157,19.591703 4.06541,19.729208 L 4.94941,20.035214 L 5.39171,20.134525 L 7.75282,20.095971 C 8.2375523,19.941269 8.7020213,19.733511 9.17212,19.54083 z M 28.77282,19.696812 L 29.02894,19.585062 C 29.214297,19.783449 29.46973,19.886062 29.68882,20.035671 L 30.35752,20.138888 L 31.03683,20.00714 L 32.0931,18.861696 L 32.0931,13.186502 C 32.019456,12.76363 31.824093,12.378651 31.67801,11.979166 L 31.096,10.996474 L 30.19303,10.024252 L 29.22739,9.248556 L 27.82226,8.645833 L 24.97504,8.647804 L 23.89988,9.012636 L 22.82226,9.681537 L 21.70519,10.798611 L 21.06059,11.840277 L 20.68301,12.951388 L 20.61759,15.2551 L 20.84942,16.399222 C 20.997529,16.793504 21.227645,17.14748 21.42051,17.51929 L 22.13238,18.397394 L 23.01162,19.202168 L 23.86025,19.720467 L 25.04448,20.129748 L 27.50447,20.138888 C 27.934443,20.012345 28.350599,19.845508 28.77282,19.696812 z M 25.30713,16.391005 C 25.16275,16.302972 24.472095,15.589985 24.40021,15.454758 L 24.28766,15.243055 L 24.23138,13.853397 L 24.39543,13.244167 L 24.75897,12.880627 L 25.12251,12.517086 L 25.59546,12.27251 L 26.7806,12.206185 L 27.35873,12.363195 L 28.02249,12.82061 L 28.48198,13.487387 L 28.48146,15.243055 L 28.33576,15.48611 C 28.231205,15.660515 27.690365,16.214796 27.51353,16.328779 L 27.20479,16.527777 L 25.5306,16.527258 L 25.30713,16.391005 z M 27.04558,15.755403 C 27.1577,15.6978 27.633805,15.231723 27.68957,15.124976 L 27.68551,13.61524 L 26.99629,12.986111 L 25.79449,12.986111 L 25.00976,13.711458 L 25.00976,15.018328 L 25.80589,15.833333 L 27.04558,15.755403 z M 36.54538,19.166666 L 36.74419,17.743055 L 36.7806,16.631944 L 41.71115,19.811648 L 42.4056,20.137531 L 43.30837,20.135838 L 43.86512,19.882913 L 44.33537,19.347333 L 44.59403,18.762585 L 44.67882,18.143929 L 44.2932,17.284655 L 43.61224,16.672413 L 40.2181,14.432615 L 40.22239,14.270833 C 40.879498,13.837117 43.490253,12.076501 44.1329,11.621857 C 44.18309,11.575321 44.416065,11.255316 44.45425,11.180472 L 44.59157,10.402072 L 44.46265,9.615367 L 44.00147,9.041103 L 43.2883,8.637011 L 42.63415,8.570652 L 42.03527,8.780433 L 36.80178,12.109687 L 36.74587,2.31374 L 36.54707,1.653157 L 36.17245,1.112584 L 35.40417,0.736701 L 34.48893,0.733404 L 33.95618,0.91748 L 33.45998,1.353156 L 33.13612,2.048611 L 33.13612,18.784721 L 33.46093,19.479166 L 33.9301,19.935521 L 34.55837,20.137522 L 35.5306,20.0914 C 35.992913,19.930621 36.230352,19.500764 36.54538,19.166666 z").attr({fill:"#000",stroke:"#000","stroke-width":"0",opacity:"0.4","stroke-opacity":"0"});var b=this.paper.path("M 56.959209,20.312361 C 56.440882,20.244726 56.001555,19.948616 55.530602,19.743973 C 55.136598,19.423436 54.69356,19.154978 54.331946,18.800041 C 53.757674,18.135347 53.178055,17.428758 52.88401,16.592471 C 52.784311,16.142676 52.596798,15.703891 52.649097,15.235046 C 52.65914,14.568133 52.631804,13.897287 52.664996,13.232812 C 52.769793,12.78139 52.811099,12.308288 53.060678,11.906305 C 53.459916,11.004452 54.160743,10.285872 54.867149,9.6197522 C 55.305481,9.3470712 55.703535,8.9982021 56.20406,8.8431549 C 56.815475,8.6170435 57.458111,8.4259529 58.116176,8.4739387 C 58.630421,8.4901304 59.151597,8.4379635 59.661257,8.4993815 C 60.124348,8.6062785 60.61085,8.6424223 61.02684,8.8916613 C 61.37842,9.036393 61.709384,9.2153505 61.99646,9.4671612 C 62.963978,10.217089 63.741193,11.20512 64.259109,12.313169 C 64.410179,11.963245 64.37292,12.418405 64.404401,12.579714 C 64.531608,13.532204 64.473379,14.493515 64.487411,15.451388 C 64.446157,15.905695 64.404902,16.360002 64.363647,16.814308 C 64.244354,16.476541 64.166492,16.902885 64.073137,17.04348 C 63.919417,17.447708 63.660794,17.788105 63.394052,18.123562 C 63.032905,18.637349 62.511301,19.006444 62.072681,19.450371 C 61.599048,19.719468 61.1553,20.052055 60.621281,20.192862 C 60.337267,20.301578 60.055011,20.420008 59.744045,20.37972 C 58.943248,20.380428 58.138058,20.423427 57.339981,20.397957 C 57.213057,20.369425 57.086133,20.340893 56.959209,20.312361 z M 59.649651,16.534351 C 60.045619,16.377843 60.268977,15.981287 60.544809,15.679681 C 60.934258,15.04778 60.762822,14.276924 60.74975,13.557284 C 60.658177,13.162124 60.296508,12.93495 60.053879,12.633737 C 59.844345,12.430846 59.532202,12.36875 59.280602,12.223579 C 58.79516,12.232093 58.302608,12.205056 57.82149,12.235187 C 57.550144,12.335119 57.285855,12.445905 57.100641,12.678268 C 56.871302,12.911499 56.576252,13.097002 56.479665,13.426652 C 56.317426,14.045239 56.415023,14.71562 56.427484,15.352273 C 56.526312,15.602462 56.656555,15.830298 56.873804,15.996209 C 57.206053,16.296481 57.560236,16.739982 58.055482,16.665968 C 58.509117,16.655736 58.972766,16.687212 59.420257,16.651383 C 59.496721,16.612373 59.573186,16.573362 59.649651,16.534351 z").attr({fill:"#000",stroke:"#000","stroke-width":"0",opacity:"0.4","stroke-opacity":"0"});var d=this.paper.path("M 48.829208,20.31222 C 48.475841,20.26696 48.15923,20.117402 47.848722,19.950523 C 47.500983,19.784652 47.148567,19.626111 46.868692,19.353899 C 46.527053,19.072235 46.150785,18.825368 45.901675,18.450726 C 45.750138,18.076852 45.370555,18.002256 45.370279,18.167118 C 45.408175,17.816897 45.169729,17.536553 45.044033,17.227794 C 44.94573,16.895387 44.622935,16.655396 44.61657,16.304934 C 44.565627,15.306511 44.530037,14.303668 44.515945,13.305312 C 44.615598,12.912874 44.670961,12.505081 44.765879,12.117294 C 45.004171,11.750482 45.201926,11.358687 45.323891,10.9375 C 45.553614,10.988884 45.628283,10.705038 45.777569,10.582517 C 46.397513,9.8712187 47.155265,9.2586612 48.008947,8.8558433 C 48.362028,8.7462212 48.706058,8.5832266 49.064931,8.5077636 C 50.002562,8.515315 50.944553,8.4964143 51.879464,8.5204694 C 52.358793,8.7029965 52.880412,8.7941701 53.302926,9.0994288 C 53.727448,9.3447325 54.116873,9.6447143 54.4785,9.974781 C 53.689823,10.786927 52.957902,11.719351 52.7408,12.859186 C 52.656166,13.014283 52.725699,13.637005 52.493893,13.255432 C 52.26722,13.027948 52.078437,12.750492 51.828419,12.553793 C 51.573248,12.453152 51.341001,12.255113 51.069884,12.222222 C 50.613742,12.230523 50.151009,12.205955 49.698865,12.234195 C 49.451044,12.336146 49.18894,12.416137 49.01877,12.637477 C 48.767275,12.898046 48.43867,13.10057 48.31405,13.456643 C 48.228577,14.101722 48.281667,14.767525 48.291744,15.419297 C 48.548606,15.737127 48.719534,16.140787 49.089953,16.345199 C 49.287991,16.464636 49.450473,16.689759 49.706248,16.63757 C 50.227433,16.640826 50.758021,16.685037 51.273435,16.663162 C 51.836961,16.39513 52.299009,15.932894 52.60545,15.392538 C 52.714172,15.813326 52.754796,16.257044 52.907221,16.663117 C 53.241271,17.476142 53.779385,18.177558 54.355564,18.833131 C 54.558494,19.246583 53.691442,19.468074 53.440246,19.746846 C 52.970891,20.021773 52.453932,20.244291 51.926826,20.369292 C 51.034896,20.379064 50.140989,20.408275 49.250288,20.40596 C 49.109928,20.374713 48.969568,20.343466 48.829208,20.31222 z").attr({fill:"#000",stroke:"#000","stroke-width":"0",opacity:"0.4","stroke-opacity":"0"});var c,a;if(this.options.watermark_orientation=="middle"){c=(this.graph_width-118)/2+this.x_padding_left;a=(this.graph_height-29)/2+this.y_padding_top}else{c=this.graph_width-118+this.x_padding_left-10;a=this.graph_height-29+this.y_padding_top-7}g.translate(c,a);b.translate(c,a);d.translate(c,a);this.drawLinesInit(this,f);if(this.options.stacked_fill){g.toFront();d.toFront();b.toFront()}},drawGrid:function(){var c=this.paper.path().attr({stroke:this.options.grid_colour});if(this.options.show_vertical_labels){var d=this.graph_height+this.y_padding_top;for(i=0;i<this.y_label_count+1;i++){if((this.options.horizontalbar_grid&&i==this.y_label_count)||!this.options.horizontalbar_grid){c.moveTo(this.x_padding_left-0.5,parseInt(d)+0.5);c.lineTo(this.x_padding_left+this.graph_width-0.5,parseInt(d)+0.5)}d=d-(this.graph_height/this.y_label_count)}}if(this.options.show_horizontal_labels){var a=this.x_padding_left+this.options.plot_padding+this.grid_start_offset,b=this.options.labels.length;if(!this.bar_padding){for(i=0;i<b;i++){if((this.options.hide_empty_label_grid==true&&this.options.labels[i]!="")||this.options.hide_empty_label_grid==false){c.moveTo(parseInt(a),this.y_padding_top);c.lineTo(parseInt(a),this.y_padding_top+this.graph_height)}a=this.options.horizontalbar_grid?a+(this.graph_width/this.y_label_count):a+this.step}}if(this.bar_padding){c.moveTo(parseInt(this.x_padding_left)-0.5,this.y_padding_top);c.lineTo(parseInt(this.x_padding_left)-0.5,this.y_padding_top+this.graph_height);c.moveTo(parseInt(this.x_padding_left+this.graph_width)-0.5,this.y_padding_top);c.lineTo(parseInt(this.x_padding_left+this.graph_width)-0.5,this.y_padding_top+this.graph_height)}}},drawLines:function(m,b,f,e,g,h){var l=this.calculateCoords(f);y_offset=(this.graph_height+this.y_padding_top);if(this.options.start_at_zero==false){odd_horizontal_offset=0;$A(l).each(function(s,r){if(s[1]==y_offset){odd_horizontal_offset++}});this.options.odd_horizontal_offset=odd_horizontal_offset;if(this.options.odd_horizontal_offset>1){l.splice(0,this.options.odd_horizontal_offset)}}var p;if(this.options.stacked_fill||this.options.area){if(this.options.area){var k=this.data_sets.collect(function(r){return r.length}).length;p=this.paper.path().attr({stroke:b,fill:b,"stroke-width":"0","fill-opacity":1.5/k})}else{p=this.paper.path().attr({stroke:b,fill:b,"stroke-width":"0"})}l.unshift([l[0][0],y_offset]);l.push([l[l.length-1][0],y_offset])}else{p=this.paper.path().attr({stroke:b,"stroke-width":"5px"})}if(this.options.datalabels){var c=(this.options.stacked_fill||this.options.area)?"fill":"stroke";var d=this.options.hover_colour||b;var q=this.paper.set(),a=4,o=this.paper.text(p.attrs.x,p.attrs.y-(this.options.font_size*1.5)-a,e);o.attr({"font-size":this.options.font_size,fill:this.options.background_colour,opacity:1});var j=o.getBBox(),n=this.paper.rect(o.attrs.x-(j.width/2)-a,o.attrs.y-(j.height/2)-a,j.width+(a*2),j.height+(a*2),a*1.5);n.attr({fill:this.options.label_colour,opacity:1});o.toFront();q.push(n,o).attr({opacity:0}).toFront();this.checkHoverPos({rect:n,set:q});this.globalHoverSet.push(q);p.node.onmouseover=function(s){if(c==="fill"){p.attr({fill:d,stroke:d})}else{p.attr({stroke:d})}var r=this.getMousePos(s);q[0].attr({x:r.x-(j.width/2)-a-g.offsetLeft,y:r.y-(j.height/2)-(this.options.font_size*1.5)-a-g.offsetTop,opacity:1});q[1].attr({x:r.x-g.offsetLeft,y:r.y-(this.options.font_size*1.5)-g.offsetTop,opacity:1});p.node.onmousemove=function(u){var t=this.getMousePos(u);q[0].attr({x:t.x-(j.width/2)-a-g.offsetLeft,y:t.y-(j.height/2)-(this.options.font_size*1.5)-a-g.offsetTop,opacity:1});q[1].attr({x:t.x-g.offsetLeft,y:t.y-(this.options.font_size*1.5)-g.offsetTop,opacity:1});this.checkHoverPos(n,q)}.bind(this)}.bind(this);p.node.onmouseout=function(){if(c==="fill"){p.attr({fill:b,stroke:b})}else{p.attr({stroke:b})}q.attr({opacity:0})}}$A(l).each(function(u,s){var r=u[0],t=u[1];this.drawPlot(s,p,r,t,b,l,e,g,h)}.bind(this))},calculateCoords:function(c){var b=this.x_padding_left+this.options.plot_padding-this.step;var a=(this.graph_height+this.y_padding_top)+this.normalise(this.start_value);return $A(c).collect(function(d){var e=a-d;b=b+this.step;return[b,e]}.bind(this))},drawFocusHint:function(){var b=5,a=this.x_padding_left+(b/2)-1,d=this.options.height-this.y_padding_bottom;var c=this.paper.path().attr({stroke:this.options.label_colour,"stroke-width":2});c.moveTo(a,d);c.lineTo(a-b,d-b);c.moveTo(a,d-b);c.lineTo(a-b,d-(b*2))},drawMeanLine:function(a){var c=this.paper.path().attr({stroke:this.options.meanline});var b=$A(a).inject(0,function(e,d){return d+e})/a.length;c.moveTo(this.x_padding_left-1,this.options.height-this.y_padding_bottom-b);c.lineTo(this.graph_width+this.x_padding_left,this.options.height-this.y_padding_bottom-b)},drawAxis:function(){var a=this.paper.path().attr({stroke:this.options.label_colour});a.moveTo(parseInt(this.x_padding_left)-0.5,this.options.height-parseInt(this.y_padding_bottom)+0.5);a.lineTo(parseInt(this.graph_width+this.x_padding_left)-0.5,this.options.height-parseInt(this.y_padding_bottom)+0.5);a.moveTo(parseInt(this.x_padding_left)-0.5,parseInt(this.options.height-this.y_padding_bottom)+0.5);a.lineTo(parseInt(this.x_padding_left)-0.5,parseInt(this.y_padding_top))},makeValueLabels:function(a){var d=this.label_step,b=this.start_value,e=[];for(var c=0;c<a;c++){b=this.roundValue((b+d),3);e.push(b)}return e},drawMarkers:function(e,k,b,f,g,c){function d(m){return m*k[0]}function a(m){return m*k[1]}var j=parseInt(this.x_padding_left)-0.5+d(f),h=this.options.height-this.y_padding_bottom+a(f);var l=this.paper.path().attr({stroke:this.options.label_colour});font_options={font:this.options.font_size+'px "Arial"',stroke:"none",fill:this.options.label_colour};Object.extend(font_options,c||{});e.each(function(m){if(this.options.draw_axis&&((this.options.hide_empty_label_grid==true&&m!="")||this.options.hide_empty_label_grid==false)){l.moveTo(parseInt(j),parseInt(h)+0.5);l.lineTo(parseInt(j)+a(5),parseInt(h)+0.5+d(5))}this.paper.text(j+g[0],h-2-g[1],m).attr(font_options).toFront();j=j+d(b);h=h+a(b)}.bind(this))},drawVerticalLabels:function(){var b=this.graph_height/this.y_label_count;var c=this.options.vertical_label_unit?" "+this.options.vertical_label_unit:"";for(var a=0;a<this.value_labels.length;a++){this.value_labels[a]+=c}this.drawMarkers(this.value_labels,[0,-1],b,b,[-8,-2],{"text-anchor":"end"})},drawHorizontalLabels:function(){this.drawMarkers(this.options.labels,[1,0],this.step,this.options.plot_padding,[0,(this.options.font_size+7)*-1])},checkHoverPos:function(d){var e;if(d.rect){var c=d.rect;var f=c.getBBox()}if(d.set){var h=d.set}if(d.marker){var b=d.marker}if(d.nib){var a=d.nib}if(d.textpadding){var g=d.textpadding}if(c&&h){if(c.attrs.y<0){if(a&&b){h.translate(0,h.getBBox().height+(g*2));b.translate(0,-h.getBBox().height-(g*2));a.translate(0,-f.height-g-1).scale(1,-1)}else{e=c.attrs.y;h.translate(0,1+(e*-1))}}if((c.attrs.y+f.height)>this.options.height){e=(c.attrs.y+f.height)-this.options.height;h.translate(0,(e*-1)-1);if(b){b.translate(0,e+1)}}if(c.attrs.x<0){e=c.attrs.x;h.translate((e*-1)+1,0);if(a){a.translate(e-1,0)}if(b){b.translate(e-1,0)}}if((c.attrs.x+f.width)>this.options.width){e=(c.attrs.x+f.width)-this.options.width;h.translate((e*-1)-1,0);if(a){a.translate(e+1,0)}if(b){b.translate(e+1,0)}}}}});Ico.LineGraph=Class.create(Ico.BaseGraph,{chartDefaults:function(){return{plot_padding:10,stacked_fill:false}},setChartSpecificOptions:function(){if(typeof this.options.curve_amount=="undefined"){this.options.curve_amount=10}},calculateStep:function(){return(this.graph_width-(this.options.plot_padding*2))/(this.data_size-1)},startPlot:function(c,a,d,b){c.moveTo(a,d)},drawGraphMarkers:function(c,a,h,f,g,d){var e=this.paper.circle(a,h,this.options.marker_size);e.attr({"stroke-width":"1px",stroke:this.options.background_colour,fill:f});var b=this.options.marker_size;e.node.onmouseover=function(j){new_marker_size=parseInt(1.7*b);e.animate({r:new_marker_size},200)}.bind(this);e.node.onmouseout=function(){e.animate({r:b},200)}},drawGraphValueMarkers:function(h,n,l,o,u,d,s){if(this.options.odd_horizontal_offset>1){h+=this.options.odd_horizontal_offset}h-=this.options.stacked?1:0;var v=this.options.stacked?this.real_data:this.data_sets;var e=v.collect(function(w){return w[1][h]})[s];vertical_label_unit=this.options.vertical_label_unit||"";if(e){e=e.toString().split(".");if(e[1]){e[1]=e[1].truncate(3,"")}}if(!this.options.stacked||(this.options.stacked&&h!=-1&&typeof(e)!="undefined")){var b=n-(this.step/2),a=this.options.stacked?l-(this.graph_height/18):l-(this.graph_height/6),c=this.step,m=this.options.stacked?this.graph_height/9:this.graph_height/3,g=this.paper.circle(n,l,this.options.marker_size),j=this.paper.rect(b,a,c,m);g.attr({"stroke-width":"1px",stroke:this.options.background_colour,fill:o,opacity:0});j.attr({fill:o,"stroke-width":0,stroke:o,opacity:0}).toFront();if(this.options.datalabels){u=u+": "+e;u+=this.options.vertical_label_unit?" "+this.options.vertical_label_unit:""}else{var u=e.toString();u+=this.options.vertical_label_unit?" "+this.options.vertical_label_unit:""}var k=this.paper.set(),f=4,q=this.paper.text(g.attrs.cx,g.attrs.cy-(this.options.font_size*1.5)-2*f,u);q.attr({"font-size":this.options.font_size,fill:this.options.background_colour,opacity:1});var r=q.getBBox(),t=this.paper.rect(q.attrs.x-(r.width/2)-f,q.attrs.y-(r.height/2)-f,r.width+(f*2),r.height+(f*2),f*1.5);t.attr({fill:this.options.label_colour,opacity:1});var p=this.paper.path();p.attr({fill:this.options.label_colour,opacity:1});p.moveTo(q.attrs.x-f,q.attrs.y+(r.height/2)+f+0.5);p.lineTo(q.attrs.x,q.attrs.y+(r.height/2)+(2*f+0.5));p.lineTo(q.attrs.x+f,q.attrs.y+(r.height/2)+f+0.5);p.andClose();q.toFront();k.push(g,t,p,q).attr({opacity:0}).toFront();this.checkHoverPos({rect:t,set:k,marker:g,nib:p,textpadding:f});this.globalHoverSet.push(k);this.globalBlockSet.push(j);j.node.onmouseover=function(w){k.animate({opacity:1},200)};j.node.onmouseout=function(w){k.animate({opacity:0},200)}}},drawPlot:function(e,j,h,f,a,g,b,c,d){if(this.options.markers=="circle"){this.drawGraphMarkers(e,h,f,a,b,c)}else{if(this.options.markers=="value"){this.drawGraphValueMarkers(e,h,f,a,b,c,d)}}if(e==0){return this.startPlot(j,h,f,a)}if(this.options.curve_amount){j.cplineTo(h,f,this.options.curve_amount)}else{j.lineTo(h,f)}}});Ico.AreaGraph=Class.create(Ico.LineGraph,{chartDefaults:function(){return{plot_padding:10,area:true}},setChartSpecificOptions:function(){if(typeof this.options.curve_amount=="undefined"){this.options.curve_amount=10}},drawPlot:function(f,k,j,g,b,h,c,d,e){var a=this.options.area||this.options.stacked_fill;if(this.options.markers=="circle"){if(a==true){if(f!=0&&f!=h.length-1){this.drawGraphMarkers(f,k,j,g,b,c,d)}}else{this.drawGraphMarkers(f,k,j,g,b,c,d)}}else{if(this.options.markers=="value"){this.drawGraphValueMarkers(f,j,g,b,c,d,e)}}if(f==0){return this.startPlot(k,j,g,b)}if(this.options.curve_amount&&f>1&&(f<h.length-1)){k.cplineTo(j,g,this.options.curve_amount)}else{if(this.options.curve_amount&&!a&&(f=1||(f=h.length-1))){k.cplineTo(j,g,this.options.curve_amount)}else{k.lineTo(j,g)}}}});Ico.StackGraph=Class.create(Ico.AreaGraph,{chartDefaults:function(){return{plot_padding:10,stacked_fill:true,stacked:true}},normaliserOptions:function(){},stackData:function(a){this.stacked_data=a.collect(function(d){return d[1]});this.stacked_data.reverse();for(var c=1;c<this.stacked_data.length;c++){for(var b=0;b<this.stacked_data[0].length;b++){this.stacked_data[c][b]+=this.stacked_data[c-1][b]}}this.stacked_data.reverse();return this.stacked_data}});Ico.BarGraph=Class.create(Ico.BaseGraph,{chartDefaults:function(){return{plot_padding:0}},normaliserOptions:function(){return{start_value:0}},setChartSpecificOptions:function(){this.bar_padding=5;this.bar_width=this.calculateBarWidth();this.options.plot_padding=(this.bar_width/2);this.step=this.calculateStep();this.grid_start_offset=this.bar_padding-1},calculateBarWidth:function(){return(this.graph_width/this.data_size)-this.bar_padding},calculateStep:function(){return(this.graph_width-(this.options.plot_padding*2)-(this.bar_padding*2))/(this.data_size-1)},drawPlot:function(e,c,k,j,l,s,t,a){var o=this.options.height-this.y_padding_bottom;k=k+this.bar_padding;var u=this.options.bargraph_lastcolour;var f;if(u&&e==s.length-1){f=u}else{f=l}var r=this.paper.rect(k-(this.bar_width/2),o-(this.options.height-j-this.y_padding_bottom),this.bar_width,(this.options.height-this.y_padding_bottom)-j);r.attr({fill:f,"stroke-width":0,stroke:f});if(this.options.datalabels){var d=this.options.hover_colour||l;var t=t[e].toString();var h=this.paper.set(),n=this.paper.text(r.attrs.x+(this.bar_width/2),r.attrs.y-(this.options.font_size*1.5),t),g=this.paper.rect(k-(this.bar_width/2),this.y_padding_top,this.bar_width,this.options.height);g.attr({fill:f,"stroke-width":0,stroke:f,opacity:0});n.attr({"font-size":this.options.font_size,fill:this.options.background_colour,opacity:1});var p=n.getBBox(),b=4,q=this.paper.rect(n.attrs.x-(p.width/2)-b,n.attrs.y-(p.height/2)-b,p.width+(b*2),p.height+(b*2),b*1.5);q.attr({fill:this.options.label_colour,opacity:1});var m=this.paper.path();m.attr({fill:this.options.label_colour,opacity:1});m.moveTo(g.attrs.x+(this.bar_width/2)-b,n.attrs.y+(p.height/2)+b+0.5);m.lineTo(g.attrs.x+(this.bar_width/2),n.attrs.y+(p.height/2)+(b*2)+0.5);m.lineTo(g.attrs.x+(this.bar_width/2)+b,n.attrs.y+(p.height/2)+b+0.5);m.andClose();n.toFront();h.push(q,m,n).attr({opacity:0}).toFront();g.toFront();this.checkHoverPos({rect:q,set:h,nib:m});this.globalHoverSet.push(h);if(q.attrs.y<0){h.translate(0,1+(q.attrs.y*-1))}g.node.onmouseover=function(v){r.animate({fill:d,stroke:d},200);h.animate({opacity:1},200)}.bind(this);g.node.onmouseout=function(v){r.animate({fill:f,stroke:f},200);h.animate({opacity:0},200)}}k=k+this.step;this.options.count++},drawHorizontalLabels:function(){var a=this.bar_padding+this.options.plot_padding;this.drawMarkers(this.options.labels,[1,0],this.step,a,[0,(this.options.font_size+7)*-1])}});Ico.HorizontalBarGraph=Class.create(Ico.BarGraph,{setChartSpecificOptions:function(){this.x_padding_left=20+this.longestLabel()*(this.options.font_size/2);this.bar_padding=5;this.bar_width=this.calculateBarHeight();this.options.plot_padding=0;this.step=this.calculateStep();this.options.horizontalbar_grid=true;this.options.horizontalbar_padding=true;this.graph_width=this.options.width-this.x_padding_right-this.x_padding_left},normalise:function(a){var b=this.x_padding_left;return((a/this.range)*(this.graph_width-b))},longestLabel:function(){return $A(this.options.labels).sort(function(d,c){return d.toString().length<c.toString().length}).first().toString().length},calculateBarHeight:function(){return(this.graph_height/this.data_size)-this.bar_padding},calculateStep:function(){return(this.graph_height-(this.options.plot_padding*2))/this.data_size},drawLines:function(c,f,e,g,d){var a=this.x_padding_left+this.options.plot_padding;var h=this.y_padding_top+(this.bar_width/2)+(this.bar_padding/2);var b=this.options.bargraph_lastcolour;$A(e).each(function(m,k){var n;if(b&&k==$A(e).length-1){n=b}else{n=f}var j=this.options.horizontal_rounded?this.bar_width/2:0;var o=this.paper.rect(a,(h-this.bar_width/2),a+m-this.normalise(this.start_value),this.bar_width,j);o.attr({fill:n,"stroke-width":0,stroke:n});if(j){var l=this.paper.rect(a,(h-this.bar_width/2)-0.5,a+m-this.normalise(this.start_value)-this.bar_width/2,this.bar_width+0.5);l.attr({fill:n,"stroke-width":0,stroke:n});o.toFront();o.secondnode=l}h=h+this.step}.bind(this))},drawFocusHint:function(){var b=5,a=this.x_padding_left+(this.step*2),d=this.options.height-this.y_padding_bottom;var c=this.paper.path().attr({stroke:this.options.label_colour,"stroke-width":2});c.moveTo(a,d);c.lineTo(a-b,d+b);c.moveTo(a-b,d);c.lineTo(a-(b*2),d+b)},drawVerticalLabels:function(){var a=(this.step/2);this.drawMarkers(this.options.labels.reverse(),[0,-1],this.step,a,[-8,-(this.options.font_size/5)],{"text-anchor":"end"})},drawHorizontalLabels:function(){var c=this.graph_width/this.y_label_count,a=this.makeValueLabels(this.y_label_count);if(this.options.vertical_label_unit){for(var b=0;b<a.length;b++){a[b]+=this.options.vertical_label_unit}}this.drawMarkers(a,[1,0],c,c,[0,(this.options.font_size+7)*-1])}});Ico.SparkLine=Class.create(Ico.Base,{initialize:function(b,c,a){this.element=b;this.data=c;this.options={width:parseInt(b.getStyle("width")),height:parseInt(b.getStyle("height")),highlight:false,background_colour:b.getStyle("backgroundColor"),colour:"#036"};Object.extend(this.options,a||{});this.step=this.calculateStep();this.paper=new Raphael(this.element,this.options.width,this.options.height);if(this.options.acceptable_range){this.background=this.paper.rect(0,this.options.height-this.normalise(this.options.acceptable_range[1]),this.options.width,this.options.height-this.normalise(this.options.acceptable_range[0]))}else{this.background=this.paper.rect(0,0,this.options.width,this.options.height)}this.background.attr({fill:this.options.background_colour,stroke:"none"});this.draw()},calculateStep:function(){return this.options.width/(this.data.length-1)},normalise:function(a){return(this.options.height/this.data.max())*a},draw:function(){var a=this.normaliseData(this.data);this.drawLines("",this.options.colour,a);if(this.options.highlight){this.showHighlight(a)}},drawLines:function(c,e,d){var b=this.paper.path().attr({stroke:e}).moveTo(0,this.options.height-d.first());var a=0;d.slice(1).each(function(f){a=a+this.step;b.lineTo(a,this.options.height-f)}.bind(this))},showHighlight:function(d){var c=2,a=this.options.width-c,b=this.options.highlight.index||d.length-1,f=d[b]+(c/2).round();if(typeof this.options.highlight.index!="undefined"){a=this.step*this.options.highlight.index}var e=this.paper.circle(a,this.options.height-f,c);e.attr({stroke:false,fill:this.options.highlight.colour})}});Ico.SparkBar=Class.create(Ico.SparkLine,{calculateStep:function(){return this.options.width/this.data.length},drawLines:function(c,f,e){var b=this.options.bargraph_lastcolour;var d=this.step>2?this.step-1:this.step,a=d;e.each(function(j,h){var k;if(b&&h==e.length-1){k=b}else{k=f}var g=this.paper.path().attr({stroke:k,"stroke-width":d});g.moveTo(a,this.options.height-j);g.lineTo(a,this.options.height);a=a+this.step}.bind(this))}});window.Raphael=(function(){var a5=/[, ]+/,bu=document,bI=window,aX={was:"Raphael" in bI,is:bI.Raphael},bM=function(){if(bM.is(arguments[0],"array")){var g=arguments[0],f=aP[bV](bM,g.splice(0,3+bM.is(g[0],bO))),d=f.set();for(var a=0,c=g[aW];a<c;a++){var b=g[a]||{};({circle:1,rect:1,path:1,ellipse:1,text:1,image:1})[bk](b.type)&&d[a2](f[b.type]().attr(b))}return d}return aP[bV](bM,arguments)},bm="appendChild",bV="apply",bY="concat",bJ="",E=["click","dblclick","mousedown","mousemove","mouseout","mouseover","mouseup"],bk="hasOwnProperty",bQ=/^\[object\s+|\]$/gi,bE="join",aW="length",bT="prototype",bS=String[bT].toLowerCase,a1=Math.max,bs=Math.min,bO="number",bD="toString",bG=Object[bT][bD],b0={},b3=Math.pow,a2="push",bX=/^(?=[\da-f]$)/,a3=/^url\(['"]?([^\)]+)['"]?\)$/i,bn=Math.round,bN=" ",aQ="setAttribute",aN="split",bg=parseFloat,e=parseInt,b2=String[bT].toUpperCase,aZ={"clip-rect":"0 0 10e9 10e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/",opacity:1,path:"M0,0",r:0,rotation:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",translation:"0 0",width:0,x:0,y:0},bd={"clip-rect":"csv",cx:bO,cy:bO,fill:"colour","fill-opacity":bO,"font-size":bO,height:bO,opacity:bO,path:"path",r:bO,rotation:"csv",rx:bO,ry:bO,scale:"csv",stroke:"colour","stroke-opacity":bO,"stroke-width":bO,translation:"csv",width:bO,x:bO,y:bO},b1="replace";bM.version="1.2.3";bM.type=(bI.SVGAngle||bu.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML");bM.svg=!(bM.vml=bM.type=="VML");bM._id=0;bM._oid=0;bM.fn={};bM.is=function(a,b){b=bS.call(b);return((b=="object"||b=="undefined")&&typeof a==b)||(a==null&&b=="null")||bS.call(bG.call(a)[b1](bQ,bJ))==b};bM.setWindow=function(a){bI=a;bu=bI.document};var bB=function(b){if(bM.vml){var c=/^\s+|\s+$/g;bB=bR(function(k){var j;k=(k+bJ).replace(c,bJ);try{var h=new ActiveXObject("htmlfile");h.write("<body>");h.close();j=h.body}catch(d){j=createPopup().document.body}var g=j.createTextRange();try{j.style.color=k;var f=g.queryCommandValue("ForeColor");f=((f&255)<<16)|(f&65280)|((f&16711680)>>>16);return"#"+("000000"+f[bD](16)).slice(-6)}catch(d){return"none"}})}else{var a=bu.createElement("i");a.className="Rapha\xebl Colour Picker";a.style.cssText="display:none";bu.body[bm](a);bB=bR(function(d){a.style.color=d;return bu.defaultView.getComputedStyle(a,bJ).getPropertyValue("color")})}return bB(b)};bM.hsb2rgb=bR(function(l,n,f){if(bM.is(l,"object")&&"h" in l&&"s" in l&&"b" in l){f=l.b;n=l.s;l=l.h}var a,p,d;if(f==0){return{r:0,g:0,b:0,hex:"#000"}}if(l>1||n>1||f>1){l/=255;n/=255;f/=255}var o=~~(l*6),k=(l*6)-o,b=f*(1-n),q=f*(1-(n*k)),c=f*(1-(n*(1-k)));a=[f,q,b,b,c,f,f][o];p=[c,f,f,q,b,b,c][o];d=[b,b,c,f,f,q,b][o];a*=255;p*=255;d*=255;var j={r:a,g:p,b:d},h=(~~a)[bD](16),m=(~~p)[bD](16),g=(~~d)[bD](16);h=h[b1](bX,"0");m=m[b1](bX,"0");g=g[b1](bX,"0");j.hex="#"+h+m+g;return j},bM);bM.rgb2hsb=bR(function(d,c,h){if(bM.is(d,"object")&&"r" in d&&"g" in d&&"b" in d){h=d.b;c=d.g;d=d.r}if(bM.is(d,"string")){var f=bM.getRGB(d);d=f.r;c=f.g;h=f.b}if(d>1||c>1||h>1){d/=255;c/=255;h/=255}var j=a1(d,c,h),l=bs(d,c,h),a,b,k=j;if(l==j){return{h:0,s:0,b:j}}else{var g=(j-l);b=g/j;if(d==j){a=(c-h)/g}else{if(c==j){a=2+((h-d)/g)}else{a=4+((d-c)/g)}}a/=6;a<0&&a++;a>1&&a--}return{h:a,s:b,b:k}},bM);var bA=/,?([achlmqrstvxz]),?/gi;bM._path2string=function(){return this.join(",")[b1](bA,"$1")};function bR(b,a,d){function c(){var g=Array[bT].slice.call(arguments,0),h=g[bE]("\u25ba"),j=c.cache=c.cache||{},f=c.count=c.count||[];if(j[bk](h)){return d?d(j[h]):j[h]}f[aW]>=1000&&delete j[f.shift()];f[a2](h);j[h]=b[bV](a,g);return d?d(j[h]):j[h]}return c}bM.getRGB=bR(function(d){if(!d||!!((d+bJ).indexOf("-")+1)){return{r:-1,g:-1,b:-1,hex:"none",error:1}}d=d+bJ;if(d=="none"){return{r:-1,g:-1,b:-1,hex:"none"}}!({hs:1,rg:1})[bk](d.substring(0,2))&&(d=bB(d));var j,k,b,f,h=d.match(/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgb\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|rgb\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\)|hs[bl]\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|hs[bl]\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\))\s*$/i);if(h){if(h[2]){f=e(h[2].substring(5),16);b=e(h[2].substring(3,5),16);k=e(h[2].substring(1,3),16)}if(h[3]){f=e(h[3].substring(3)+h[3].substring(3),16);b=e(h[3].substring(2,3)+h[3].substring(2,3),16);k=e(h[3].substring(1,2)+h[3].substring(1,2),16)}if(h[4]){h=h[4][aN](/\s*,\s*/);k=bg(h[0]);b=bg(h[1]);f=bg(h[2])}if(h[5]){h=h[5][aN](/\s*,\s*/);k=bg(h[0])*2.55;b=bg(h[1])*2.55;f=bg(h[2])*2.55}if(h[6]){h=h[6][aN](/\s*,\s*/);k=bg(h[0]);b=bg(h[1]);f=bg(h[2]);return bM.hsb2rgb(k,b,f)}if(h[7]){h=h[7][aN](/\s*,\s*/);k=bg(h[0])*2.55;b=bg(h[1])*2.55;f=bg(h[2])*2.55;return bM.hsb2rgb(k,b,f)}h={r:k,g:b,b:f};var c=(~~k)[bD](16),a=(~~b)[bD](16),g=(~~f)[bD](16);c=c[b1](bX,"0");a=a[b1](bX,"0");g=g[b1](bX,"0");h.hex="#"+c+a+g;return h}return{r:-1,g:-1,b:-1,hex:"none",error:1}},bM);bM.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||0.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=0.075;if(b.h>1){b.h=0;b.s-=0.2;b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b})}return c.hex};bM.getColor.reset=function(){delete this.start};bM.parsePathString=bR(function(c){if(!c){return null}var b={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},a=[];if(bM.is(c,"array")&&bM.is(c[0],"array")){a=bH(c)}if(!a[aW]){(c+bJ)[b1](/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,function(f,h,d){var g=[],j=bS.call(h);d[b1](/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,function(k,l){l&&g[a2](+l)});while(g[aW]>=b[j]){a[a2]([h][bY](g.splice(0,b[j])));if(!b[j]){break}}})}a[bD]=bM._path2string;return a});var bi=bR(function(d){if(!d){return{x:0,y:0,width:0,height:0}}d=bz(d);var h=0,j=0,b=[],l=[];for(var a=0,f=d[aW];a<f;a++){if(d[a][0]=="M"){h=d[a][1];j=d[a][2];b[a2](h);l[a2](j)}else{var k=bC(h,j,d[a][1],d[a][2],d[a][3],d[a][4],d[a][5],d[a][6]);b=b[bY](k.min.x,k.max.x);l=l[bY](k.min.y,k.max.y)}}var c=bs[bV](0,b),g=bs[bV](0,l);return{x:c,y:g,width:a1[bV](0,b)-c,height:a1[bV](0,l)-g}}),bH=function(c){var b=[];if(!bM.is(c,"array")||!bM.is(c&&c[0],"array")){c=bM.parsePathString(c)}for(var f=0,a=c[aW];f<a;f++){b[f]=[];for(var g=0,d=c[f][aW];g<d;g++){b[f][g]=c[f][g]}}b[bD]=bM._path2string;return b},ba=bR(function(a){if(!bM.is(a,"array")||!bM.is(a&&a[0],"array")){a=bM.parsePathString(a)}var l=[],j=0,k=0,d=0,f=0,c=0;if(a[0][0]=="M"){j=a[0][1];k=a[0][2];d=j;f=k;c++;l[a2](["M",j,k])}for(var o=c,b=a[aW];o<b;o++){var h=l[o]=[],g=a[o];if(g[0]!=bS.call(g[0])){h[0]=bS.call(g[0]);switch(h[0]){case"a":h[1]=g[1];h[2]=g[2];h[3]=g[3];h[4]=g[4];h[5]=g[5];h[6]=+(g[6]-j).toFixed(3);h[7]=+(g[7]-k).toFixed(3);break;case"v":h[1]=+(g[1]-k).toFixed(3);break;case"m":d=g[1];f=g[2];default:for(var p=1,n=g[aW];p<n;p++){h[p]=+(g[p]-((p%2)?j:k)).toFixed(3)}}}else{h=l[o]=[];if(g[0]=="m"){d=g[1]+j;f=g[2]+k}for(var q=0,r=g[aW];q<r;q++){l[o][q]=g[q]}}var m=l[o][aW];switch(l[o][0]){case"z":j=d;k=f;break;case"h":j+=+l[o][m-1];break;case"v":k+=+l[o][m-1];break;default:j+=+l[o][m-2];k+=+l[o][m-1]}}l[bD]=bM._path2string;return l},0,bH),aS=bR(function(a){if(!bM.is(a,"array")||!bM.is(a&&a[0],"array")){a=bM.parsePathString(a)}var l=[],j=0,k=0,d=0,f=0,b=0;if(a[0][0]=="M"){j=+a[0][1];k=+a[0][2];d=j;f=k;b++;l[0]=["M",j,k]}for(var n=b,c=a[aW];n<c;n++){var h=l[n]=[],g=a[n];if(g[0]!=b2.call(g[0])){h[0]=b2.call(g[0]);switch(h[0]){case"A":h[1]=g[1];h[2]=g[2];h[3]=g[3];h[4]=g[4];h[5]=g[5];h[6]=+(g[6]+j);h[7]=+(g[7]+k);break;case"V":h[1]=+g[1]+k;break;case"H":h[1]=+g[1]+j;break;case"M":d=+g[1]+j;f=+g[2]+k;default:for(var o=1,m=g[aW];o<m;o++){h[o]=+g[o]+((o%2)?j:k)}}}else{for(var p=0,q=g[aW];p<q;p++){l[n][p]=g[p]}}switch(h[0]){case"Z":j=d;k=f;break;case"H":j=h[1];break;case"V":k=h[1];break;default:j=l[n][l[n][aW]-2];k=l[n][l[n][aW]-1]}}l[bD]=bM._path2string;return l},null,bH),bU=function(a,b,d,c){return[a,b,d,c,d,c]},bo=function(c,f,d,b,j,h){var g=1/3,a=2/3;return[g*c+a*d,g*f+a*b,g*j+a*d,g*h+a*b,j,h]},bw=function(h,C,x,z,g,n,s,j,F,f){var a=Math.PI,A=a*120/180,O=a/180*(+g||0),t=[],w,I=bR(function(ac,Y,ab){var Z=ac*Math.cos(ab)-Y*Math.sin(ab),aa=ac*Math.sin(ab)+Y*Math.cos(ab);return{x:Z,y:aa}});if(!f){w=I(h,C,-O);h=w.x;C=w.y;w=I(j,F,-O);j=w.x;F=w.y;var c=Math.cos(a/180*g),l=Math.sin(a/180*g),W=(h-j)/2,X=(C-F)/2;x=a1(x,Math.abs(W));z=a1(z,Math.abs(X));var b=x*x,T=z*z,P=(n==s?-1:1)*Math.sqrt(Math.abs((b*T-b*X*X-T*W*W)/(b*X*X+T*W*W))),D=P*x*X/z+(h+j)/2,d=P*-z*W/x+(C+F)/2,o=Math.asin((C-d)/z),p=Math.asin((F-d)/z);o=h<D?a-o:o;p=j<D?a-p:p;o<0&&(o=a*2+o);p<0&&(p=a*2+p);if(s&&o>p){o=o-a*2}if(!s&&p>o){p=p-a*2}}else{o=f[0];p=f[1];D=f[2];d=f[3]}var k=p-o;if(Math.abs(k)>A){var B=p,y=j,m=F;p=o+A*(s&&p>o?1:-1);j=D+x*Math.cos(p);F=d+z*Math.sin(p);t=bw(j,F,x,z,g,0,s,y,m,[p,B,D,d])}k=p-o;var q=Math.cos(o),G=Math.sin(o),r=Math.cos(p),H=Math.sin(p),V=Math.tan(k/4),Q=4/3*x*V,U=4/3*z*V,J=[h,C],K=[h+Q*G,C-U*q],L=[j+Q*H,F-U*r],N=[j,F];K[0]=2*J[0]-K[0];K[1]=2*J[1]-K[1];if(f){return[K,L,N][bY](t)}else{t=[K,L,N][bY](t)[bE](",")[aN](",");var v=[];for(var M=0,u=t[aW];M<u;M++){v[M]=M%2?I(t[M-1],t[M],O).y:I(t[M],t[M+1],O).x}return v}},br=bR(function(t,u,a,c,r,j,p,q,h){var m=b3(1-h,3)*t+b3(1-h,2)*3*h*a+(1-h)*3*h*h*r+b3(h,3)*p,o=b3(1-h,3)*u+b3(1-h,2)*3*h*c+(1-h)*3*h*h*j+b3(h,3)*q,f=t+2*h*(a-t)+h*h*(r-2*a+t),g=u+2*h*(c-u)+h*h*(j-2*c+u),b=a+2*h*(r-a)+h*h*(p-2*r+a),d=c+2*h*(j-c)+h*h*(q-2*j+c),l=(1-h)*t+h*a,n=(1-h)*u+h*c,k=(1-h)*r+h*p,s=(1-h)*j+h*q;return{x:m,y:o,m:{x:f,y:g},n:{x:b,y:d},start:{x:l,y:n},end:{x:k,y:s}}}),bC=bR(function(d,k,c,s,b,f,j,n){var g=(b-2*c+d)-(j-2*b+c),l=2*(c-d)-2*(b-c),o=d-c,q=(-l+Math.sqrt(l*l-4*g*o))/2/g,a=(-l-Math.sqrt(l*l-4*g*o))/2/g,m=[k,n],h=[d,j],p=br(d,k,c,s,b,f,j,n,q>0&&q<1?q:0),r=br(d,k,c,s,b,f,j,n,a>0&&a<1?a:0);h=h[bY](p.x,r.x);m=m[bY](p.y,r.y);g=(f-2*s+k)-(n-2*f+s);l=2*(s-k)-2*(f-s);o=k-s;q=(-l+Math.sqrt(l*l-4*g*o))/2/g;a=(-l-Math.sqrt(l*l-4*g*o))/2/g;p=br(d,k,c,s,b,f,j,n,q>0&&q<1?q:0);r=br(d,k,c,s,b,f,j,n,a>0&&a<1?a:0);h=h[bY](p.x,r.x);m=m[bY](p.y,r.y);return{min:{x:bs[bV](0,h),y:bs[bV](0,m)},max:{x:a1[bV](0,h),y:a1[bV](0,m)}}}),bz=bR(function(c,k){var a=aS(c),j=k&&aS(k),g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},o=function(u,t){var s,r;if(!u){return["C",t.x,t.y,t.x,t.y,t.x,t.y]}!(u[0] in {T:1,Q:1})&&(t.qx=t.qy=null);switch(u[0]){case"M":t.X=u[1];t.Y=u[2];break;case"A":u=["C"][bY](bw[bV](0,[t.x,t.y][bY](u.slice(1))));break;case"S":s=t.x+(t.x-(t.bx||t.x));r=t.y+(t.y-(t.by||t.y));u=["C",s,r][bY](u.slice(1));break;case"T":t.qx=t.x+(t.x-(t.qx||t.x));t.qy=t.y+(t.y-(t.qy||t.y));u=["C"][bY](bo(t.x,t.y,t.qx,t.qy,u[1],u[2]));break;case"Q":t.qx=u[1];t.qy=u[2];u=["C"][bY](bo(t.x,t.y,u[1],u[2],u[3],u[4]));break;case"L":u=["C"][bY](bU(t.x,t.y,u[1],u[2]));break;case"H":u=["C"][bY](bU(t.x,t.y,u[1],t.y));break;case"V":u=["C"][bY](bU(t.x,t.y,t.x,u[1]));break;case"Z":u=["C"][bY](bU(t.x,t.y,t.X,t.Y));break}return u},q=function(t,s){if(t[s][aW]>7){t[s].shift();var r=t[s];while(r[aW]){t.splice(s++,0,["C"][bY](r.splice(0,6)))}t.splice(s,1);f=a1(a[aW],j&&j[aW]||0)}},b=function(v,r,t,u,s){if(v&&r&&v[s][0]=="M"&&r[s][0]!="M"){r.splice(s,0,["M",u.x,u.y]);t.bx=0;t.by=0;t.x=v[s][1];t.y=v[s][2];f=a1(a[aW],j&&j[aW]||0)}};for(var m=0,f=a1(a[aW],j&&j[aW]||0);m<f;m++){a[m]=o(a[m],g);q(a,m);j&&(j[m]=o(j[m],h));j&&q(j,m);b(a,j,g,h,m);b(j,a,h,g,m);var n=a[m],d=j&&j[m],p=n[aW],l=j&&d[aW];g.x=n[p-2];g.y=n[p-1];g.bx=bg(n[p-4])||g.x;g.by=bg(n[p-3])||g.y;h.bx=j&&(bg(d[l-4])||h.x);h.by=j&&(bg(d[l-3])||h.y);h.x=j&&d[l-2];h.y=j&&d[l-1]}return j?[a,j]:a},null,bH),aU=bR(function(f){var g=[];for(var k=0,d=f[aW];k<d;k++){var c={},h=f[k].match(/^([^:]*):?([\d\.]*)/);c.color=bM.getRGB(h[1]);if(c.color.error){return null}c.color=c.color.hex;h[2]&&(c.offset=h[2]+"%");g[a2](c)}for(var k=1,d=g[aW]-1;k<d;k++){if(!g[k].offset){var l=bg(g[k-1].offset||0),b=0;for(var a=k+1;a<d;a++){if(g[a].offset){b=g[a].offset;break}}if(!b){b=100;a=d}b=bg(b);var j=(b-l)/(a-k+1);for(;k<a;k++){l+=j;g[k].offset=l+"%"}}}return g}),bL=function(){var d,b,a,c,f;if(bM.is(arguments[0],"string")||bM.is(arguments[0],"object")){if(bM.is(arguments[0],"string")){d=bu.getElementById(arguments[0])}else{d=arguments[0]}if(d.tagName){if(arguments[1]==null){return{container:d,width:d.style.pixelWidth||d.offsetWidth,height:d.style.pixelHeight||d.offsetHeight}}else{return{container:d,width:arguments[1],height:arguments[2]}}}}else{if(bM.is(arguments[0],bO)&&arguments[aW]>3){return{container:1,x:arguments[0],y:arguments[1],width:arguments[2],height:arguments[3]}}}},bv=function(d,c){var a=this;for(var b in c){if(c[bk](b)&&!(b in d)){switch(typeof c[b]){case"function":(function(f){d[b]=d===a?f:function(){return f[bV](a,arguments)}})(c[b]);break;case"object":d[b]=d[b]||{};bv.call(this,d[b],c[b]);break;default:d[b]=c[b];break}}}},bP=function(b,a){b==a.top&&(a.top=b.prev);b==a.bottom&&(a.bottom=b.next);b.next&&(b.next.prev=b.prev);b.prev&&(b.prev.next=b.next)},be=function(b,a){if(a.top===b){return}bP(b,a);b.next=null;b.prev=a.top;a.top.next=b;a.top=b},aY=function(b,a){if(a.bottom===b){return}bP(b,a);b.next=a.bottom;b.prev=null;a.bottom.prev=b;a.bottom=b},aM=function(a,c,b){bP(a,b);c==b.top&&(b.top=a);c.next&&(c.next.prev=a);a.next=c.next;a.prev=c;c.next=a},bK=function(a,c,b){bP(a,b);c==b.bottom&&(b.bottom=a);c.prev&&(c.prev.next=a);a.prev=c.prev;c.prev=a;a.next=c};if(bM.svg){b0.svgns="http://www.w3.org/2000/svg";b0.xlink="http://www.w3.org/1999/xlink";var bn=function(a){return +a+(~~a===a)*0.5},bh=function(c){for(var d=0,b=c[aW];d<b;d++){if(bS.call(c[d][0])!="a"){for(var f=1,a=c[d][aW];f<a;f++){c[d][f]=bn(c[d][f])}}else{c[d][6]=bn(c[d][6]);c[d][7]=bn(c[d][7])}}return c},bq=function(b,c){if(c){for(var a in c){if(c[bk](a)){b[aQ](a,c[a])}}}else{return bu.createElementNS(b0.svgns,b)}};bM[bD]=function(){return"Your browser supports SVG.\nYou are running Rapha\xebl "+this.version};var aT=function(d,b){var a=bq("path");b.canvas&&b.canvas[bm](a);var c=new bF(a,b);c.type="path";bc(c,{fill:"none",stroke:"#000",path:d});return c};var a4=function(b,f,h){var k="linear",n=0.5,p=0.5,c=b.style;f=(f+bJ)[b1](/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/,function(t,r,s){k="radial";if(r&&s){n=bg(r);p=bg(s);if(b3(n-0.5,2)+b3(p-0.5,2)>0.25){p=Math.sqrt(0.25-b3(n-0.5,2))+0.5}}return bJ});f=f[aN](/\s*\-\s*/);if(k=="linear"){var o=f.shift();o=-bg(o);if(isNaN(o)){return null}var a=[0,0,Math.cos(o*Math.PI/180),Math.sin(o*Math.PI/180)],g=1/(a1(Math.abs(a[2]),Math.abs(a[3]))||1);a[2]*=g;a[3]*=g;if(a[2]<0){a[0]=-a[2];a[2]=0}if(a[3]<0){a[1]=-a[3];a[3]=0}}var l=aU(f);if(!l){return null}var q=bq(k+"Gradient");q.id="r"+(bM._id++)[bD](36);k=="radial"?bq(q,{fx:n,fy:p}):bq(q,{x1:a[0],y1:a[1],x2:a[2],y2:a[3]});h.defs[bm](q);for(var m=0,d=l[aW];m<d;m++){var j=bq("stop");bq(j,{offset:l[m].offset?l[m].offset:!m?"0%":"100%","stop-color":l[m].color||"#fff"});q[bm](j)}bq(b,{fill:"url(#"+q.id+")",opacity:1,"fill-opacity":1});c.fill=bJ;c.opacity=1;c.fillOpacity=1;return 1};var bp=function(a){var b=a.getBBox();bq(a.pattern,{patternTransform:bM.format("translate({0},{1})",b.x,b.y)})};var bc=function(j,w){var d={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},b=j.node,g=j.attrs,n=j.rotate(),r=function(z,A){A=d[bS.call(A)];if(A){var C=z.attrs["stroke-width"]||"1",F={round:C,square:C,butt:0}[z.attrs["stroke-linecap"]||w["stroke-linecap"]]||0,B=[];var D=A[aW];while(D--){B[D]=A[D]*C+((D%2)?1:-1)*F}bq(b,{"stroke-dasharray":B[bE](",")})}};w[bk]("rotation")&&(n=w.rotation);var o=(n+bJ)[aN](a5);if(!(o.length-1)){o=null}else{o[1]=+o[1];o[2]=+o[2]}bg(n)&&j.rotate(0,true);for(var c in w){if(w[bk](c)){if(!aZ[bk](c)){continue}var f=w[c];g[c]=f;switch(c){case"rotation":j.rotate(f,true);break;case"href":case"title":case"target":var y=b.parentNode;if(bS.call(y.tagName)!="a"){var l=bq("a");y.insertBefore(l,b);l[bm](b);y=l}y.setAttributeNS(j.paper.xlink,c,f);break;case"cursor":b.style.cursor=f;break;case"clip-rect":var t=(f+bJ)[aN](a5);if(t[aW]==4){j.clip&&j.clip.parentNode.parentNode.removeChild(j.clip.parentNode);var s=bq("clipPath"),a=bq("rect");s.id="r"+(bM._id++)[bD](36);bq(a,{x:t[0],y:t[1],width:t[2],height:t[3]});s[bm](a);j.paper.defs[bm](s);bq(b,{"clip-path":"url(#"+s.id+")"});j.clip=a}if(!f){var x=bu.getElementById(b.getAttribute("clip-path")[b1](/(^url\(#|\)$)/g,bJ));x&&x.parentNode.removeChild(x);bq(b,{"clip-path":bJ});delete j.clip}break;case"path":if(f&&j.type=="path"){g.path=bh(aS(f));bq(b,{d:g.path})}break;case"width":b[aQ](c,f);if(g.fx){c="x";f=g.x}else{break}case"x":if(g.fx){f=-g.x-(g.width||0)}case"rx":if(c=="rx"&&j.type=="rect"){break}case"cx":o&&(c=="x"||c=="cx")&&(o[1]+=f-g[c]);b[aQ](c,bn(f));j.pattern&&bp(j);break;case"height":b[aQ](c,f);if(g.fy){c="y";f=g.y}else{break}case"y":if(g.fy){f=-g.y-(g.height||0)}case"ry":if(c=="ry"&&j.type=="rect"){break}case"cy":o&&(c=="y"||c=="cy")&&(o[2]+=f-g[c]);b[aQ](c,bn(f));j.pattern&&bp(j);break;case"r":if(j.type=="rect"){bq(b,{rx:f,ry:f})}else{b[aQ](c,f)}break;case"src":if(j.type=="image"){b.setAttributeNS(j.paper.xlink,"href",f)}break;case"stroke-width":b.style.strokeWidth=f;b[aQ](c,f);if(g["stroke-dasharray"]){r(j,g["stroke-dasharray"])}break;case"stroke-dasharray":r(j,f);break;case"translation":var q=(f+bJ)[aN](a5);if(o){o[1]+=+q[0];o[2]+=+q[1]}aR.call(j,(+q[0]+1||2)-1,(+q[1]+1||2)-1);break;case"scale":var q=(f+bJ)[aN](a5);j.scale(+q[0]||1,+q[1]||+q[0]||1,+q[2]||null,+q[3]||null);break;case"fill":var h=(f+bJ).match(a3);if(h){var s=bq("pattern"),k=bq("image");s.id="r"+(bM._id++)[bD](36);bq(s,{x:0,y:0,patternUnits:"userSpaceOnUse"});bq(k,{x:0,y:0});k.setAttributeNS(j.paper.xlink,"href",h[1]);s[bm](k);var v=bu.createElement("img");v.style.cssText="position:absolute;left:-9999em;top-9999em";v.onload=function(){bq(s,{width:this.offsetWidth,height:this.offsetHeight});bq(k,{width:this.offsetWidth,height:this.offsetHeight});bu.body.removeChild(this);b0.safari()};bu.body[bm](v);v.src=h[1];j.paper.defs[bm](s);b.style.fill="url(#"+s.id+")";bq(b,{fill:"url(#"+s.id+")"});j.pattern=s;j.pattern&&bp(j);break}if(!bM.getRGB(f).error){delete w.gradient;delete g.gradient;!bM.is(g.opacity,"undefined")&&bM.is(w.opacity,"undefined")&&bq(b,{opacity:g.opacity});!bM.is(g["fill-opacity"],"undefined")&&bM.is(w["fill-opacity"],"undefined")&&bq(b,{"fill-opacity":g["fill-opacity"]})}else{if((({circle:1,ellipse:1})[bk](j.type)||(f+bJ).charAt()!="r")&&a4(b,f,j.paper)){g.gradient=f;g.fill="none";break}}case"stroke":b[aQ](c,bM.getRGB(f).hex);break;case"gradient":(({circle:1,ellipse:1})[bk](j.type)||(f+bJ).charAt()!="r")&&a4(b,f,j.paper);break;case"opacity":case"fill-opacity":if(g.gradient){var u=bu.getElementById(b.getAttribute("fill")[b1](/^url\(#|\)$/g,bJ));if(u){var p=u.getElementsByTagName("stop");p[p[aW]-1][aQ]("stop-opacity",f)}break}default:c=="font-size"&&(f=e(f,10)+"px");var m=c[b1](/(\-.)/g,function(z){return b2.call(z.substring(1))});b.style[m]=f;b[aQ](c,f);break}}}R(j,w);if(o){j.rotate(o.join(bN))}else{bg(n)&&j.rotate(n,true)}};var a0=1.2;var R=function(c,a){if(c.type!="text"||!(a[bk]("text")||a[bk]("font")||a[bk]("font-size")||a[bk]("x")||a[bk]("y"))){return}var g=c.attrs,m=c.node,d=m.firstChild?e(bu.defaultView.getComputedStyle(m.firstChild,bJ).getPropertyValue("font-size"),10):10;if(a[bk]("text")){g.text=a.text;while(m.firstChild){m.removeChild(m.firstChild)}var b=(a.text+bJ)[aN]("\n");for(var l=0,f=b[aW];l<f;l++){if(b[l]){var j=bq("tspan");l&&bq(j,{dy:d*a0,x:g.x});j[bm](bu.createTextNode(b[l]));m[bm](j)}}}else{var b=m.getElementsByTagName("tspan");for(var l=0,f=b[aW];l<f;l++){l&&bq(b[l],{dy:d*a0,x:g.x})}}bq(m,{y:g.y});var k=c.getBBox(),h=g.y-(k.y+k.height/2);h&&isFinite(h)&&bq(m,{y:g.y+h})};var bF=function(a,d){var b=0,c=0;this[0]=a;this.id=bM._oid++;this.node=a;a.raphael=this;this.paper=d;this.attrs=this.attrs||{};this.transformations=[];this._={tx:0,ty:0,rt:{deg:0,cx:0,cy:0},sx:1,sy:1};!d.bottom&&(d.bottom=this);this.prev=d.top;d.top&&(d.top.next=this);d.top=this;this.next=null};bF[bT].rotate=function(a,d,b){if(this.removed){return this}if(a==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy][bE](bN)}return this._.rt.deg}var c=this.getBBox();a=(a+bJ)[aN](a5);if(a[aW]-1){d=bg(a[1]);b=bg(a[2])}a=bg(a[0]);if(d!=null){this._.rt.deg=a}else{this._.rt.deg+=a}(b==null)&&(d=null);this._.rt.cx=d;this._.rt.cy=b;d=d==null?c.x+c.width/2:d;b=b==null?c.y+c.height/2:b;if(this._.rt.deg){this.transformations[0]=bM.format("rotate({0} {1} {2})",this._.rt.deg,d,b);this.clip&&bq(this.clip,{transform:bM.format("rotate({0} {1} {2})",-this._.rt.deg,d,b)})}else{this.transformations[0]=bJ;this.clip&&bq(this.clip,{transform:bJ})}bq(this.node,{transform:this.transformations[bE](bN)});return this};bF[bT].hide=function(){!this.removed&&(this.node.style.display="none");return this};bF[bT].show=function(){!this.removed&&(this.node.style.display="");return this};bF[bT].remove=function(){if(this.removed){return}bP(this,this.paper);this.node.parentNode.removeChild(this.node);for(var a in this){delete this[a]}this.removed=true};bF[bT].getBBox=function(){if(this.removed){return this}if(this.type=="path"){return bi(this.attrs.path)}if(this.node.style.display=="none"){this.show();var d=true}var b={};try{b=this.node.getBBox()}catch(f){}finally{b=b||{}}if(this.type=="text"){b={x:b.x,y:Infinity,width:0,height:0};for(var g=0,a=this.node.getNumberOfChars();g<a;g++){var c=this.node.getExtentOfChar(g);(c.y<b.y)&&(b.y=c.y);(c.y+c.height-b.y>b.height)&&(b.height=c.y+c.height-b.y);(c.x+c.width-b.x>b.width)&&(b.width=c.x+c.width-b.x)}}d&&this.hide();return b};bF[bT].attr=function(){if(this.removed){return this}if(arguments[aW]==0){var a={};for(var b in this.attrs){if(this.attrs[bk](b)){a[b]=this.attrs[b]}}return a}if(arguments[aW]==1&&bM.is(arguments[0],"string")){if(arguments[0]=="translation"){return aR.call(this)}if(arguments[0]=="rotation"){return this.rotate()}if(arguments[0]=="scale"){return this.scale()}return this.attrs[arguments[0]]}if(arguments[aW]==1&&bM.is(arguments[0],"array")){var f={};for(var d in arguments[0]){if(arguments[0][bk](d)){f[arguments[0][d]]=this.attrs[arguments[0][d]]}}return f}if(arguments[aW]==2){var c={};c[arguments[0]]=arguments[1];bc(this,c)}else{if(arguments[aW]==1&&bM.is(arguments[0],"object")){bc(this,arguments[0])}}return this};bF[bT].toFront=function(){if(this.removed){return this}this.node.parentNode[bm](this.node);var a=this.paper;a.top!=this&&be(this,a);return this};bF[bT].toBack=function(){if(this.removed){return this}if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);aY(this,this.paper);var a=this.paper}return this};bF[bT].insertAfter=function(a){if(this.removed){return this}var c=this.paper,b=a.node;if(b.nextSibling){b.parentNode.insertBefore(this.node,b.nextSibling)}else{b.parentNode[bm](this.node)}aM(this,a,this.paper);return this};bF[bT].insertBefore=function(b){if(this.removed){return this}var a=b.node;a.parentNode.insertBefore(this.node,a);bK(this,b,this.paper);return this};var bl=function(b,g,d,a){g=bn(g);d=bn(d);var c=bq("circle");b.canvas&&b.canvas[bm](c);var f=new bF(c,b);f.attrs={cx:g,cy:d,r:a,fill:"none",stroke:"#000"};f.type="circle";bq(c,f.attrs);return f};var bx=function(h,j,c,b,g,f){j=bn(j);c=bn(c);var a=bq("rect");h.canvas&&h.canvas[bm](a);var d=new bF(a,h);d.attrs={x:j,y:c,width:b,height:g,r:f||0,rx:f||0,ry:f||0,fill:"none",stroke:"#000"};d.type="rect";bq(a,d.attrs);return d};var a6=function(b,h,d,f,a){h=bn(h);d=bn(d);var c=bq("ellipse");b.canvas&&b.canvas[bm](c);var g=new bF(c,b);g.attrs={cx:h,cy:d,rx:f,ry:a,fill:"none",stroke:"#000"};g.type="ellipse";bq(c,g.attrs);return g};var aV=function(h,f,j,c,b,g){var a=bq("image");bq(a,{x:j,y:c,width:b,height:g,preserveAspectRatio:"none"});a.setAttributeNS(h.xlink,"href",f);h.canvas&&h.canvas[bm](a);var d=new bF(a,h);d.attrs={x:j,y:c,width:b,height:g,src:f};d.type="image";return d};var bf=function(b,g,d,a){var c=bq("text");bq(c,{x:g,y:d,"text-anchor":"middle"});b.canvas&&b.canvas[bm](c);var f=new bF(c,b);f.attrs={x:g,y:d,"text-anchor":"middle",text:a,font:aZ.font,stroke:"none",fill:"#000"};f.type="text";bc(f,f.attrs);return f};var bW=function(a,b){this.width=a||this.width;this.height=b||this.height;this.canvas[aQ]("width",this.width);this.canvas[aQ]("height",this.height);return this};var aP=function(){var f=bL[bV](null,arguments),h=f&&f.container,c=f.x,b=f.y,a=f.width,j=f.height;if(!h){throw new Error("SVG container not found.")}b0.canvas=bq("svg");var d=b0.canvas;b0.width=a||512;b0.height=j||342;d[aQ]("width",b0.width);d[aQ]("height",b0.height);if(h==1){d.style.cssText="position:absolute;left:"+c+"px;top:"+b+"px";bu.body[bm](d)}else{if(h.firstChild){h.insertBefore(d,h.firstChild)}else{h[bm](d)}}h={canvas:d};for(var g in b0){if(b0[bk](g)){h[g]=b0[g]}}h.bottom=h.top=null;bv.call(h,h,bM.fn);h.clear();h.raphael=bM;return h};b0.clear=function(){var a=this.canvas;while(a.firstChild){a.removeChild(a.firstChild)}this.bottom=this.top=null;(this.desc=bq("desc"))[bm](bu.createTextNode("Created with Rapha\xebl"));a[bm](this.desc);a[bm](this.defs=bq("defs"))};b0.remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var a in this){delete this[a]}}}if(bM.vml){var bt=function(c){var h=/[ahqtv]/ig,n=aS;(c+bJ).match(h)&&(n=bz);h=/[clmz]/g;if(n==aS&&!(c+bJ).match(h)){var p={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},a=/([clmz]),?([^clmz]*)/gi,o=/-?[^,\s-]+/g;var j=(c+bJ)[b1](a,function(t,r,q){var s=[];q[b1](o,function(u){s[a2](bn(u))});return p[r]+s});return j}var g=n(c),b,j=[],f;for(var l=0,d=g[aW];l<d;l++){b=g[l];f=bS.call(g[l][0]);f=="z"&&(f="x");for(var m=1,k=b[aW];m<k;m++){f+=bn(b[m])+(m!=k-1?",":bJ)}j[a2](f)}return j[bE](bN)};bM[bD]=function(){return"Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\xebl "+this.version};var aT=function(g,d){var c=a7("group");c.style.cssText="position:absolute;left:0;top:0;width:"+d.width+"px;height:"+d.height+"px";c.coordsize=d.coordsize;c.coordorigin=d.coordorigin;var f=a7("shape"),b=f.style;b.width=d.width+"px";b.height=d.height+"px";f.coordsize=this.coordsize;f.coordorigin=this.coordorigin;c[bm](f);var a=new bF(f,c,d);a.isAbsolute=true;a.type="path";a.path=[];a.Path=bJ;g&&bc(a,{fill:"none",stroke:"#000",path:g});d.canvas[bm](c);return a};var bc=function(n,f){n.attrs=n.attrs||{};var h=n.node,d=n.attrs,q=h.style,l,v=n;for(var p in f){if(f[bk](p)){d[p]=f[p]}}f.href&&(h.href=f.href);f.title&&(h.title=f.title);f.target&&(h.target=f.target);f.cursor&&(q.cursor=f.cursor);if(f.path&&n.type=="path"){d.path=f.path;h.path=bt(d.path)}if(f.rotation!=null){n.rotate(f.rotation,true)}if(f.translation){l=(f.translation+bJ)[aN](a5);aR.call(n,l[0],l[1]);if(n._.rt.cx!=null){n._.rt.cx+=+l[0];n._.rt.cy+=+l[1];n.setBox(n.attrs,l[0],l[1])}}if(f.scale){l=(f.scale+bJ)[aN](a5);n.scale(+l[0]||1,+l[1]||+l[0]||1,+l[2]||null,+l[3]||null)}if("clip-rect" in f){var u=(f["clip-rect"]+bJ)[aN](a5);if(u[aW]==4){u[2]=+u[2]+(+u[0]);u[3]=+u[3]+(+u[1]);var o=h.clipRect||bu.createElement("div"),a=o.style,r=h.parentNode;a.clip=bM.format("rect({1}px {2}px {3}px {0}px)",u);if(!h.clipRect){a.position="absolute";a.top=0;a.left=0;a.width=n.paper.width+"px";a.height=n.paper.height+"px";r.parentNode.insertBefore(o,r);o[bm](r);h.clipRect=o}}if(!f["clip-rect"]){h.clipRect&&(h.clipRect.style.clip=bJ)}}if(n.type=="image"&&f.src){h.src=f.src}if(n.type=="image"&&f.opacity){h.filterOpacity=" progid:DXImageTransform.Microsoft.Alpha(opacity="+(f.opacity*100)+")";q.filter=(h.filterMatrix||bJ)+(h.filterOpacity||bJ)}f.font&&(q.font=f.font);f["font-family"]&&(q.fontFamily='"'+f["font-family"][aN](",")[0][b1](/^['"]+|['"]+$/g,bJ)+'"');f["font-size"]&&(q.fontSize=f["font-size"]);f["font-weight"]&&(q.fontWeight=f["font-weight"]);f["font-style"]&&(q.fontStyle=f["font-style"]);if(f.opacity!=null||f["stroke-width"]!=null||f.fill!=null||f.stroke!=null||f["stroke-width"]!=null||f["stroke-opacity"]!=null||f["fill-opacity"]!=null||f["stroke-dasharray"]!=null||f["stroke-miterlimit"]!=null||f["stroke-linejoin"]!=null||f["stroke-linecap"]!=null){h=n.shape||h;var g=(h.getElementsByTagName("fill")&&h.getElementsByTagName("fill")[0]),c=false;!g&&(c=g=a7("fill"));if("fill-opacity" in f||"opacity" in f){var t=((+d["fill-opacity"]+1||2)-1)*((+d.opacity+1||2)-1);t<0&&(t=0);t>1&&(t=1);g.opacity=t}f.fill&&(g.on=true);if(g.on==null||f.fill=="none"){g.on=false}if(g.on&&f.fill){var s=f.fill.match(a3);if(s){g.src=s[1];g.type="tile"}else{g.color=bM.getRGB(f.fill).hex;g.src=bJ;g.type="solid";if(bM.getRGB(f.fill).error&&(v.type in {circle:1,ellipse:1}||(f.fill+bJ).charAt()!="r")&&a4(v,f.fill)){d.fill="none";d.gradient=f.fill}}}c&&h[bm](g);var j=(h.getElementsByTagName("stroke")&&h.getElementsByTagName("stroke")[0]),b=false;!j&&(b=j=a7("stroke"));if((f.stroke&&f.stroke!="none")||f["stroke-width"]||f["stroke-opacity"]!=null||f["stroke-dasharray"]||f["stroke-miterlimit"]||f["stroke-linejoin"]||f["stroke-linecap"]){j.on=true}(f.stroke=="none"||j.on==null||f.stroke==0||f["stroke-width"]==0)&&(j.on=false);j.on&&f.stroke&&(j.color=bM.getRGB(f.stroke).hex);var t=((+d["stroke-opacity"]+1||2)-1)*((+d.opacity+1||2)-1),m=(bg(f["stroke-width"])||1)*0.75;t<0&&(t=0);t>1&&(t=1);f["stroke-width"]==null&&(m=d["stroke-width"]);f["stroke-width"]&&(j.weight=m);m&&m<1&&(t*=m)&&(j.weight=1);j.opacity=t;f["stroke-linejoin"]&&(j.joinstyle=f["stroke-linejoin"]||"miter");j.miterlimit=f["stroke-miterlimit"]||8;f["stroke-linecap"]&&(j.endcap=f["stroke-linecap"]=="butt"?"flat":f["stroke-linecap"]=="square"?"square":"round");if(f["stroke-dasharray"]){var k={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};j.dashstyle=k[bk](f["stroke-dasharray"])?k[f["stroke-dasharray"]]:bJ}b&&h[bm](j)}if(v.type=="text"){var q=v.paper.span.style;d.font&&(q.font=d.font);d["font-family"]&&(q.fontFamily=d["font-family"]);d["font-size"]&&(q.fontSize=d["font-size"]);d["font-weight"]&&(q.fontWeight=d["font-weight"]);d["font-style"]&&(q.fontStyle=d["font-style"]);v.node.string&&(v.paper.span.innerHTML=(v.node.string+bJ)[b1](/</g,"&#60;")[b1](/&/g,"&#38;")[b1](/\n/g,"<br>"));v.W=d.w=v.paper.span.offsetWidth;v.H=d.h=v.paper.span.offsetHeight;v.X=d.x;v.Y=d.y+bn(v.H/2);switch(d["text-anchor"]){case"start":v.node.style["v-text-align"]="left";v.bbx=bn(v.W/2);break;case"end":v.node.style["v-text-align"]="right";v.bbx=-bn(v.W/2);break;default:v.node.style["v-text-align"]="center";break}}};var a4=function(c,j){c.attrs=c.attrs||{};var h=c.attrs,f=c.node.getElementsByTagName("fill"),l="linear",k=".5 .5";c.attrs.gradient=j;j=(j+bJ)[b1](/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/,function(p,o,n){l="radial";if(o&&n){o=bg(o);n=bg(n);if(b3(o-0.5,2)+b3(n-0.5,2)>0.25){n=Math.sqrt(0.25-b3(o-0.5,2))+0.5}k=o+bN+n}return bJ});j=j[aN](/\s*\-\s*/);if(l=="linear"){var m=j.shift();m=-bg(m);if(isNaN(m)){return null}}var a=aU(j);if(!a){return null}c=c.shape||c.node;f=f[0]||a7("fill");if(a[aW]){f.on=true;f.method="none";f.type=(l=="radial")?"gradientradial":"gradient";f.color=a[0].color;f.color2=a[a[aW]-1].color;var d=[];for(var b=0,g=a[aW];b<g;b++){a[b].offset&&d[a2](a[b].offset+bN+a[b].color)}f.colors.value=d[aW]?d[bE](","):"0% "+f.color;if(l=="radial"){f.focus="100%";f.focussize=k;f.focusposition=k}else{f.angle=(270-m)%360}}return 1};var bF=function(b,d,h){var f=0,g=0,a=0,c=1;this[0]=b;this.id=bM._oid++;this.node=b;b.raphael=this;this.X=0;this.Y=0;this.attrs={};this.Group=d;this.paper=h;this._={tx:0,ty:0,rt:{deg:0},sx:1,sy:1};!h.bottom&&(h.bottom=this);this.prev=h.top;h.top&&(h.top.next=this);h.top=this;this.next=null};bF[bT].rotate=function(a,c,b){if(this.removed){return this}if(a==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy][bE](bN)}return this._.rt.deg}a=(a+bJ)[aN](a5);if(a[aW]-1){c=bg(a[1]);b=bg(a[2])}a=bg(a[0]);if(c!=null){this._.rt.deg=a}else{this._.rt.deg+=a}b==null&&(c=null);this._.rt.cx=c;this._.rt.cy=b;this.setBox(this.attrs,c,b);this.Group.style.rotation=this._.rt.deg;return this};bF[bT].setBox=function(q,p,a){if(this.removed){return this}var r=this.Group.style,o=(this.shape&&this.shape.style)||this.node.style;q=q||{};for(var n in q){if(q[bk](n)){this.attrs[n]=q[n]}}p=p||this._.rt.cx;a=a||this._.rt.cy;var k=this.attrs,f,g,d,l;switch(this.type){case"circle":f=k.cx-k.r;g=k.cy-k.r;d=l=k.r*2;break;case"ellipse":f=k.cx-k.rx;g=k.cy-k.ry;d=k.rx*2;l=k.ry*2;break;case"rect":case"image":f=+k.x;g=+k.y;d=k.width||0;l=k.height||0;break;case"text":this.textpath.v=["m",bn(k.x),", ",bn(k.y-2),"l",bn(k.x)+1,", ",bn(k.y-2)][bE](bJ);f=k.x-bn(this.W/2);g=k.y-this.H/2;d=this.W;l=this.H;break;case"path":if(!this.attrs.path){f=0;g=0;d=this.paper.width;l=this.paper.height}else{var m=bi(this.attrs.path);f=m.x;g=m.y;d=m.width;l=m.height}break;default:f=0;g=0;d=this.paper.width;l=this.paper.height;break}p=(p==null)?f+d/2:p;a=(a==null)?g+l/2:a;var c=p-this.paper.width/2,j=a-this.paper.height/2;if(this.type=="path"||this.type=="text"){(r.left!=c+"px")&&(r.left=c+"px");(r.top!=j+"px")&&(r.top=j+"px");this.X=this.type=="text"?f:-c;this.Y=this.type=="text"?g:-j;this.W=d;this.H=l;(o.left!=-c+"px")&&(o.left=-c+"px");(o.top!=-j+"px")&&(o.top=-j+"px")}else{(r.left!=c+"px")&&(r.left=c+"px");(r.top!=j+"px")&&(r.top=j+"px");this.X=f;this.Y=g;this.W=d;this.H=l;(r.width!=this.paper.width+"px")&&(r.width=this.paper.width+"px");(r.height!=this.paper.height+"px")&&(r.height=this.paper.height+"px");(o.left!=f-c+"px")&&(o.left=f-c+"px");(o.top!=g-j+"px")&&(o.top=g-j+"px");(o.width!=d+"px")&&(o.width=d+"px");(o.height!=l+"px")&&(o.height=l+"px");var b=(+q.r||0)/(bs(d,l));if(this.type=="rect"&&this.arcsize!=b&&(b||this.arcsize)){var h=a7(b?"roundrect":"rect");h.arcsize=b;this.Group[bm](h);this.node.parentNode.removeChild(this.node);this.node=h;this.arcsize=b;this.attr(this.attrs)}}};bF[bT].hide=function(){!this.removed&&(this.Group.style.display="none");return this};bF[bT].show=function(){!this.removed&&(this.Group.style.display="block");return this};bF[bT].getBBox=function(){if(this.removed){return this}if(this.type=="path"){return bi(this.attrs.path)}return{x:this.X+(this.bbx||0),y:this.Y,width:this.W,height:this.H}};bF[bT].remove=function(){if(this.removed){return}bP(this,this.paper);this.node.parentNode.removeChild(this[0]);this.Group.parentNode.removeChild(this.Group);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var a in this){delete this[a]}this.removed=true};bF[bT].attr=function(){if(this.removed){return this}if(arguments[aW]==0){var b={};for(var d in this.attrs){if(this.attrs[bk](d)){b[d]=this.attrs[d]}}return b}if(arguments[aW]==1&&bM.is(arguments[0],"string")){if(arguments[0]=="translation"){return aR.call(this)}if(arguments[0]=="rotation"){return this.rotate()}if(arguments[0]=="scale"){return this.scale()}return this.attrs[arguments[0]]}if(this.attrs&&arguments[aW]==1&&bM.is(arguments[0],"array")){var f={};for(var d=0,a=arguments[0][aW];d<a;d++){f[arguments[0][d]]=this.attrs[arguments[0][d]]}return f}var c;if(arguments[aW]==2){c={};c[arguments[0]]=arguments[1]}arguments[aW]==1&&bM.is(arguments[0],"object")&&(c=arguments[0]);if(c){if(c.text&&this.type=="text"){this.node.string=c.text}bc(this,c);if(c.gradient&&(({circle:1,ellipse:1})[bk](this.type)||(c.gradient+bJ).charAt()!="r")){a4(this,c.gradient)}(this.type!="path"||this._.rt.deg)&&this.setBox(this.attrs)}return this};bF[bT].toFront=function(){!this.removed&&this.Group.parentNode[bm](this.Group);this.paper.top!=this&&be(this,this.paper);return this};bF[bT].toBack=function(){if(this.removed){return this}if(this.Group.parentNode.firstChild!=this.Group){this.Group.parentNode.insertBefore(this.Group,this.Group.parentNode.firstChild);aY(this,this.paper)}return this};bF[bT].insertAfter=function(a){if(this.removed){return this}if(a.Group.nextSibling){a.Group.parentNode.insertBefore(this.Group,a.Group.nextSibling)}else{a.Group.parentNode[bm](this.Group)}aM(this,a,this.paper);return this};bF[bT].insertBefore=function(a){if(this.removed){return this}a.Group.parentNode.insertBefore(this.Group,a.Group);bK(this,a,this.paper);return this};var bl=function(c,j,b,g){var a=a7("group"),f=a7("oval"),h=f.style;a.style.cssText="position:absolute;left:0;top:0;width:"+c.width+"px;height:"+c.height+"px";a.coordsize=c.coordsize;a.coordorigin=c.coordorigin;a[bm](f);var d=new bF(f,a,c);d.type="circle";bc(d,{stroke:"#000",fill:"none"});d.attrs.cx=j;d.attrs.cy=b;d.attrs.r=g;d.setBox({x:j-g,y:b-g,width:g*2,height:g*2});c.canvas[bm](a);return d};var bx=function(c,h,j,g,b,d){var a=a7("group"),l=a7(d?"roundrect":"rect"),f=(+d||0)/(bs(g,b));l.arcsize=f;a.style.cssText="position:absolute;left:0;top:0;width:"+c.width+"px;height:"+c.height+"px";a.coordsize=c.coordsize;a.coordorigin=c.coordorigin;a[bm](l);var k=new bF(l,a,c);k.type="rect";bc(k,{stroke:"#000"});k.arcsize=f;k.setBox({x:h,y:j,width:g,height:b,r:+d});c.canvas[bm](a);return k};var a6=function(d,f,g,k,c){var a=a7("group"),b=a7("oval"),h=b.style;a.style.cssText="position:absolute;left:0;top:0;width:"+d.width+"px;height:"+d.height+"px";a.coordsize=d.coordsize;a.coordorigin=d.coordorigin;a[bm](b);var j=new bF(b,a,d);j.type="ellipse";bc(j,{stroke:"#000"});j.attrs.cx=f;j.attrs.cy=g;j.attrs.rx=k;j.attrs.ry=c;j.setBox({x:f-k,y:g-c,width:k*2,height:c*2});d.canvas[bm](a);return j};var aV=function(c,d,g,h,f,b){var a=a7("group"),l=a7("image"),j=l.style;a.style.cssText="position:absolute;left:0;top:0;width:"+c.width+"px;height:"+c.height+"px";a.coordsize=c.coordsize;a.coordorigin=c.coordorigin;l.src=d;a[bm](l);var k=new bF(l,a,c);k.type="image";k.attrs.src=d;k.attrs.x=g;k.attrs.y=h;k.attrs.w=f;k.attrs.h=b;k.setBox({x:g,y:h,width:f,height:b});c.canvas[bm](a);return k};var bf=function(c,h,j,g){var a=a7("group"),b=a7("shape"),k=b.style,f=a7("path"),d=f.style,m=a7("textpath");a.style.cssText="position:absolute;left:0;top:0;width:"+c.width+"px;height:"+c.height+"px";a.coordsize=c.coordsize;a.coordorigin=c.coordorigin;f.v=bM.format("m{0},{1}l{2},{1}",bn(h),bn(j),bn(h)+1);f.textpathok=true;k.width=c.width;k.height=c.height;m.string=g+bJ;m.on=true;b[bm](m);b[bm](f);a[bm](b);var l=new bF(m,a,c);l.shape=b;l.textpath=f;l.type="text";l.attrs.text=g;l.attrs.x=h;l.attrs.y=j;l.attrs.w=1;l.attrs.h=1;bc(l,{font:aZ.font,stroke:"none",fill:"#000"});l.setBox();c.canvas[bm](a);return l};var bW=function(c,d){var a=this.canvas.style;this.width=bg(c||this.width);this.height=bg(d||this.height);a.width=this.width+"px";a.height=this.height+"px";a.clip="rect(0 "+this.width+"px "+this.height+"px 0)";this.coordsize=this.width+bN+this.height;var b=this.bottom;while(b){b.Group.coordsize=this.coordsize;b.attr(b.attrs);b=b.next}return this};bu.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!bu.namespaces.rvml&&bu.namespaces.add("rvml","urn:schemas-microsoft-com:vml");var a7=function(a){return bu.createElement("<rvml:"+a+' class="rvml">')}}catch(a8){var a7=function(a){return bu.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}var aP=function(){var b=bL[bV](null,arguments),c=b.container,g=b.height,f,m=b.width,h=b.x,j=b.y;if(!c){throw new Error("VML container not found.")}var l={},k=l.canvas=bu.createElement("div"),a=k.style;m=bg(m)||512;g=bg(g)||342;l.width=m;l.height=g;l.coordsize=m+bN+g;l.coordorigin="0 0";l.span=bu.createElement("span");l.span.style.cssText="position:absolute;left:-9999px;top:-9999px;padding:0;margin:0;line-height:1;display:inline;";k[bm](l.span);a.cssText=bM.format("width:{0}px;height:{1}px;position:absolute;clip:rect(0 {0}px {1}px 0)",m,g);if(c==1){bu.body[bm](k);a.left=h+"px";a.top=j+"px";c={style:{width:m,height:g}}}else{c.style.width=m;c.style.height=g;if(c.firstChild){c.insertBefore(k,c.firstChild)}else{c[bm](k)}}for(var d in b0){if(b0[bk](d)){l[d]=b0[d]}}bv.call(l,l,bM.fn);l.top=l.bottom=null;l.raphael=bM;return l};b0.clear=function(){this.canvas.innerHTML=bJ;this.bottom=this.top=null};b0.remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var a in this){delete this[a]}}}if({"Apple Computer, Inc.":1,"Google Inc.":1}[navigator.vendor]&&!(navigator.userAgent.indexOf("Version/4.0")+1)){b0.safari=function(){var a=this.rect(-99,-99,this.width+99,this.height+99);setTimeout(function(){a.remove()})}}else{b0.safari=function(){}}var a9=(function(){if(bu.addEventListener){return function(b,d,a,f){var c=function(g){return a.call(f,g)};b.addEventListener(d,c,false);return function(){b.removeEventListener(d,c,false);return true}}}else{if(bu.attachEvent){return function(d,c,f,b){var a=function(h){return f.call(b,h||bI.event)};d.attachEvent("on"+c,a);var g=function(){d.detachEvent("on"+c,a);return true};if(c=="mouseover"){d.attachEvent("onmouseenter",a);return function(){d.detachEvent("onmouseenter",a);return g()}}else{if(c=="mouseout"){d.attachEvent("onmouseleave",a);return function(){d.detachEvent("onmouseleave",a);return g()}}}return g}}}})();for(var bb=E[aW];bb--;){(function(a){bF[bT][a]=function(b){if(bM.is(b,"function")){this.events=this.events||{};this.events[a]=this.events[a]||{};this.events[a][b]=this.events[a][b]||[];this.events[a][b][a2](a9(this.shape||this.node,a,b,this))}return this};bF[bT]["un"+a]=function(b){var c=this.events;c&&c[a]&&c[a][b]&&c[a][b][aW]&&c[a][b].shift()()&&!c[a][b][aW]&&delete c[a][b];return this}})(E[bb])}bF[bT].hover=function(a,b){return this.mouseover(a).mouseout(b)};b0.circle=function(c,b,a){return bl(this,c||0,b||0,a||0)};b0.rect=function(f,b,a,d,c){return bx(this,f||0,b||0,a||0,d||0,c||0)};b0.ellipse=function(d,b,c,a){return a6(this,d||0,b||0,c||0,a||0)};b0.path=function(a){a&&!bM.is(a,"string")&&!bM.is(a[0],"array")&&(a+=bJ);return aT(bM.format[bV](bM,arguments),this)};b0.image=function(c,f,b,a,d){return aV(this,c||"about:blank",f||0,b||0,a||0,d||0)};b0.text=function(c,b,a){return bf(this,c||0,b||0,a||bJ)};b0.set=function(a){arguments[aW]>1&&(a=Array[bT].splice.call(arguments,0,arguments[aW]));return new bj(a)};b0.setSize=bW;bF[bT].scale=function(d,f,o,w){if(d==null&&f==null){return{x:this._.sx,y:this._.sy,toString:function(){return this.x+bN+this.y}}}f=f||d;!+f&&(f=d);var I,b,a,c,n=this.attrs;if(d!=0){var l=this.getBBox(),q=l.x+l.width/2,v=l.y+l.height/2,r=d/this._.sx,x=f/this._.sy;o=(+o||o==0)?o:q;w=(+w||w==0)?w:v;var m=~~(d/Math.abs(d)),s=~~(f/Math.abs(f)),F=this.node.style,h=o+(q-o)*r,k=w+(v-w)*x;switch(this.type){case"rect":case"image":var p=n.width*m*r,G=n.height*s*x,g=n.r*bs(r,x),t=h-p/2,j=k-G/2;this.attr({width:p,height:G,x:t,y:j,r:g});break;case"circle":case"ellipse":this.attr({rx:n.rx*m*r,ry:n.ry*s*x,r:n.r*bs(m*r,s*x),cx:h,cy:k});break;case"path":var C=ba(n.path),B=true;for(var y=0,H=C[aW];y<H;y++){var D=C[y],A,u=b2.call(D[0]);if(u=="M"&&B){continue}else{B=false}if(bM.svg&&u=="A"){D[C[y][aW]-2]*=r;D[C[y][aW]-1]*=x;D[1]*=m*r;D[2]*=s*x;D[5]=+(m+s?!!+D[5]:!+D[5])}else{if(u=="H"){for(A=1,jj=D[aW];A<jj;A++){D[A]*=r}}else{if(u=="V"){for(A=1,jj=D[aW];A<jj;A++){D[A]*=x}}else{for(A=1,jj=D[aW];A<jj;A++){D[A]*=(A%2)?r:x}}}}}var z=bi(C),I=h-z.x-z.width/2,b=k-z.y-z.height/2;C[0][1]+=I;C[0][2]+=b;this.attr({path:C});break}if(this.type in {text:1,image:1}&&(m!=1||s!=1)){if(this.transformations){this.transformations[2]="scale("[bY](m,",",s,")");this.node[aQ]("transform",this.transformations[bE](bN));I=(m==-1)?-n.x-(p||0):n.x;b=(s==-1)?-n.y-(G||0):n.y;this.attr({x:I,y:b});n.fx=m-1;n.fy=s-1}else{this.node.filterMatrix=" progid:DXImageTransform.Microsoft.Matrix(M11="[bY](m,", M12=0, M21=0, M22=",s,", Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')");F.filter=(this.node.filterMatrix||bJ)+(this.node.filterOpacity||bJ)}}else{if(this.transformations){this.transformations[2]=bJ;this.node[aQ]("transform",this.transformations[bE](bN));n.fx=0;n.fy=0}else{this.node.filterMatrix=bJ;F.filter=(this.node.filterMatrix||bJ)+(this.node.filterOpacity||bJ)}}n.scale=[d,f,o,w][bE](bN);this._.sx=d;this._.sy=f}return this};bM.easing_formulas={linear:function(a){return a},"<":function(a){return b3(a,3)},">":function(a){return b3(a-1,3)+1},"<>":function(a){a=a*2;if(a<1){return b3(a,3)/2}a-=2;return(b3(a,3)+2)/2},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(b){if(b==0||b==1){return b}var a=0.3,c=a/4;return b3(2,-10*b)*Math.sin((b-c)*(2*Math.PI)/a)+1},bounce:function(b){var a=7.5625,c=2.75,d;if(b<(1/c)){d=a*b*b}else{if(b<(2/c)){b-=(1.5/c);d=a*b*b+0.75}else{if(b<(2.5/c)){b-=(2.25/c);d=a*b*b+0.9375}else{b-=(2.625/c);d=a*b*b+0.984375}}}return d}};var by={length:0},bZ=function(){var o=+new Date;for(var y in by){if(y!="length"&&by[bk](y)){var t=by[y];if(t.stop){delete by[y];by[aW]--;continue}var q=o-t.start,b=t.ms,c=t.easing,x=t.from,g=t.diff,l=t.to,h=t.t,d=t.prev||0,p=t.el,j=t.callback,f={},s;if(q<b){var r=bM.easing_formulas[c]?bM.easing_formulas[c](q/b):q/b;for(var a in x){if(x[bk](a)){switch(bd[a]){case"number":s=+x[a]+r*b*g[a];break;case"colour":s="rgb("+[S(bn(x[a].r+r*b*g[a].r)),S(bn(x[a].g+r*b*g[a].g)),S(bn(x[a].b+r*b*g[a].b))][bE](",")+")";break;case"path":s=[];for(var v=0,k=x[a][aW];v<k;v++){s[v]=[x[a][v][0]];for(var w=1,u=x[a][v][aW];w<u;w++){s[v][w]=+x[a][v][w]+r*b*g[a][v][w]}s[v]=s[v][bE](bN)}s=s[bE](bN);break;case"csv":switch(a){case"translation":var m=g[a][0]*(q-d),n=g[a][1]*(q-d);h.x+=m;h.y+=n;s=m+bN+n;break;case"rotation":s=+x[a][0]+r*b*g[a][0];x[a][1]&&(s+=","+x[a][1]+","+x[a][2]);break;case"scale":s=[+x[a][0]+r*b*g[a][0],+x[a][1]+r*b*g[a][1],(2 in l[a]?l[a][2]:bJ),(3 in l[a]?l[a][3]:bJ)][bE](bN);break;case"clip-rect":s=[];var v=4;while(v--){s[v]=+x[a][v]+r*b*g[a][v]}break}break}f[a]=s}}p.attr(f);p._run&&p._run.call(p)}else{(h.x||h.y)&&p.translate(-h.x,-h.y);l.scale&&(l.scale=l.scale+bJ);p.attr(l);delete by[y];by[aW]--;p.in_animation=null;bM.is(j,"function")&&j.call(p)}t.prev=q}}bM.svg&&b0.safari();by[aW]&&setTimeout(bZ)},S=function(a){return a>255?255:(a<0?0:a)},aR=function(c,b){if(c==null){return{x:this._.tx,y:this._.ty}}this._.tx+=+c;this._.ty+=+b;switch(this.type){case"circle":case"ellipse":this.attr({cx:+c+this.attrs.cx,cy:+b+this.attrs.cy});break;case"rect":case"image":case"text":this.attr({x:+c+this.attrs.x,y:+b+this.attrs.y});break;case"path":var a=ba(this.attrs.path);a[0][1]+=+c;a[0][2]+=+b;this.attr({path:a});break}return this};bF[bT].animateWith=function(b,d,f,a,c){by[b.id]&&(d.start=by[b.id].start);return this.animate(d,f,a,c)};bF[bT].onAnimation=function(a){this._run=a||null;return this};bF[bT].animate=function(c,j,l,b){if(bM.is(l,"function")||!l){b=l||null}var k={},h={},g={};for(var m in c){if(c[bk](m)){if(bd[bk](m)){k[m]=this.attr(m);(k[m]==null)&&(k[m]=aZ[m]);h[m]=c[m];switch(bd[m]){case"number":g[m]=(h[m]-k[m])/j;break;case"colour":k[m]=bM.getRGB(k[m]);var o=bM.getRGB(h[m]);g[m]={r:(o.r-k[m].r)/j,g:(o.g-k[m].g)/j,b:(o.b-k[m].b)/j};break;case"path":var r=bz(k[m],h[m]);k[m]=r[0];h[m]=r[1];g[m]=[];for(var p=0,d=k[m][aW];p<d;p++){g[m][p]=[0];for(var a=1,n=k[m][p][aW];a<n;a++){g[m][p][a]=(h[m][p][a]-k[m][p][a])/j}}break;case"csv":var f=(c[m]+bJ)[aN](a5),q=(k[m]+bJ)[aN](a5);switch(m){case"translation":k[m]=[0,0];g[m]=[f[0]/j,f[1]/j];break;case"rotation":k[m]=(q[1]==f[1]&&q[2]==f[2])?q:[0,f[1],f[2]];g[m]=[(f[0]-k[m][0])/j,0,0];break;case"scale":c[m]=f;k[m]=(k[m]+bJ)[aN](a5);g[m]=[(f[0]-k[m][0])/j,(f[1]-k[m][1])/j,0,0];break;case"clip-rect":k[m]=(k[m]+bJ)[aN](a5);g[m]=[];var p=4;while(p--){g[m][p]=(f[p]-k[m][p])/j}break}h[m]=f}}}}this.stop();this.in_animation=1;by[this.id]={start:c.start||+new Date,ms:j,easing:l,from:k,diff:g,to:h,el:this,callback:b,t:{x:0,y:0}};++by[aW]==1&&bZ();return this};bF[bT].stop=function(){by[this.id]&&by[aW]--;delete by[this.id];return this};bF[bT].translate=function(b,a){return this.attr({translation:b+" "+a})};bF[bT][bD]=function(){return"Rapha\xebl\u2019s object"};bM.ae=by;var bj=function(c){this.items=[];this[aW]=0;if(c){for(var b=0,a=c[aW];b<a;b++){if(c[b]&&(c[b].constructor==bF||c[b].constructor==bj)){this[this.items[aW]]=this.items[this.items[aW]]=c[b];this[aW]++}}}};bj[bT][a2]=function(){var a,d;for(var c=0,b=arguments[aW];c<b;c++){a=arguments[c];if(a&&(a.constructor==bF||a.constructor==bj)){d=this.items[aW];this[d]=this.items[d]=a;this[aW]++}}return this};bj[bT].pop=function(){delete this[this[aW]--];return this.items.pop()};for(var aO in bF[bT]){if(bF[bT][bk](aO)){bj[bT][aO]=(function(a){return function(){for(var c=0,b=this.items[aW];c<b;c++){this.items[c][a][bV](this.items[c],arguments)}return this}})(aO)}}bj[bT].attr=function(f,c){if(f&&bM.is(f,"array")&&bM.is(f[0],"object")){for(var g=0,d=f[aW];g<d;g++){this.items[g].attr(f[g])}}else{for(var b=0,a=this.items[aW];b<a;b++){this.items[b].attr[bV](this.items[b],arguments)}}return this};bj[bT].animate=function(g,h,a,c){(bM.is(a,"function")||!a)&&(c=a||null);var j=this.items[aW],f=j,d=this,b;c&&(b=function(){!--j&&c.call(d)});this.items[--f].animate(g,h,a||b,b);while(f--){this.items[f].animateWith(this.items[j-1],g,h,a||b,b)}return this};bj[bT].insertAfter=function(a){var b=this.items[aW];while(b--){this.items[b].insertAfter(a)}};bj[bT].getBBox=function(){var g=[],c=[],f=[],a=[];for(var b=this.items[aW];b--;){var d=this.items[b].getBBox();g[a2](d.x);c[a2](d.y);f[a2](d.x+d.width);a[a2](d.y+d.height)}g=bs[bV](0,g);c=bs[bV](0,c);return{x:g,y:c,width:a1[bV](0,f)-g,height:a1[bV](0,a)-c}};bM.registerFont=function(b){if(!b.face){return b}this.fonts=this.fonts||{};var d={w:b.w,face:{},glyphs:{}},g=b.face["font-family"];for(var c in b.face){if(b.face[bk](c)){d.face[c]=b.face[c]}}if(this.fonts[g]){this.fonts[g][a2](d)}else{this.fonts[g]=[d]}if(!b.svg){d.face["units-per-em"]=e(b.face["units-per-em"],10);for(var a in b.glyphs){if(b.glyphs[bk](a)){var f=b.glyphs[a];d.glyphs[a]={w:f.w,k:{},d:f.d&&"M"+f.d[b1](/[mlcxtrv]/g,function(j){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[j]||"M"})+"z"};if(f.k){for(var h in f.k){if(f[bk](h)){d.glyphs[a].k[h]=f.k[h]}}}}}}return b};b0.getFont=function(g,f,l,a){a=a||"normal";l=l||"normal";f=+f||{normal:400,bold:700,lighter:300,bolder:800}[f]||400;var k=bM.fonts[g];if(!k){var b=new RegExp("(^|\\s)"+g[b1](/[^\w\d\s+!~.:_-]/g,bJ)+"(\\s|$)","i");for(var c in bM.fonts){if(bM.fonts[bk](c)){if(b.test(c)){k=bM.fonts[c];break}}}}var j;if(k){for(var h=0,d=k[aW];h<d;h++){j=k[h];if(j.face["font-weight"]==f&&(j.face["font-style"]==l||!j.face["font-style"])&&j.face["font-stretch"]==a){break}}}return j};b0.print=function(j,l,p,s,b){var r=this.set(),n=(p+bJ)[aN](bJ),k=0,d=bJ,a;bM.is(s,"string")&&(s=this.getFont(s));if(s){a=(b||16)/s.face["units-per-em"];var o=s.face.bbox.split(a5),m=+o[0],g=+o[1]+(o[3]-o[1])/2;for(var q=0,h=n[aW];q<h;q++){var c=q&&s.glyphs[n[q-1]]||{},f=s.glyphs[n[q]];k+=q?(c.w||s.w)+(c.k&&c.k[n[q]]||0):0;f&&f.d&&r[a2](this.path(f.d).attr({fill:"#000",stroke:"none",translation:[k,0]}))}r.scale(a,a,m,g).translate(j-m,l-g)}return r};bM.format=function(b){var a=bM.is(arguments[1],"array")?[0][bY](arguments[1]):arguments,c=/\{(\d+)\}/g;b&&bM.is(b,"string")&&a[aW]-1&&(b=b[b1](c,function(d,f){return a[++f]==null?bJ:a[f]}));return b||bJ};bM.ninja=function(){var c=bI.Raphael,a;if(aX.was){bI.Raphael=aX.is}else{try{delete bI.Raphael}catch(b){bI.Raphael=a}}return c};bM.el=bF[bT];return bM})();Raphael.el.isAbsolute=true;Raphael.el.absolutely=function(){this.isAbsolute=1;return this};Raphael.el.relatively=function(){this.isAbsolute=0;return this};Raphael.el.moveTo=function(a,b){this._last={x:a,y:b};return this.attr({path:this.attrs.path+["m","M"][+this.isAbsolute]+parseFloat(a)+" "+parseFloat(b)})};Raphael.el.lineTo=function(a,b){this._last={x:a,y:b};return this.attr({path:this.attrs.path+["l","L"][+this.isAbsolute]+parseFloat(a)+" "+parseFloat(b)})};Raphael.el.arcTo=function(e,d,b,c,a,g,f){this._last={x:a,y:g};return this.attr({path:this.attrs.path+["a","A"][+this.isAbsolute]+[parseFloat(e),parseFloat(d),+f,b,c,parseFloat(a),parseFloat(g)].join(" ")})};Raphael.el.curveTo=function(){var a=Array.prototype.splice.call(arguments,0,arguments.length),b=[0,0,0,0,"s",0,"c"][a.length]||"";this.isAbsolute&&(b=b.toUpperCase());this._last={x:a[a.length-2],y:a[a.length-1]};return this.attr({path:this.attrs.path+b+a})};Raphael.el.cplineTo=function(a,c,b){this.attr({path:this.attrs.path+["C",this._last.x+b,this._last.y,a-b,c,a,c]});this._last={x:a,y:c};return this};Raphael.el.qcurveTo=function(){var b=[0,1,"t",3,"q"][arguments.length],a=Array.prototype.splice.call(arguments,0,arguments.length);if(this.isAbsolute){b=b.toUpperCase()}this._last={x:a[a.length-2],y:a[a.length-1]};return this.attr({path:this.attrs.path+b+a})};Raphael.el.addRoundedCorner=function(c,b){var a=this.isAbsolute;a&&this.relatively();this._last={x:c*(!!(b.indexOf("r")+1)*2-1),y:c*(!!(b.indexOf("d")+1)*2-1)};this.arcTo(c,c,0,{lu:1,rd:1,ur:1,dl:1}[b]||0,this._last.x,this._last.y);a&&this.absolutely();return this};Raphael.el.andClose=function(){return this.attr({path:this.attrs.path+"z"})};
