// Modernizr v1.7  www.modernizr.com
window.Modernizr=function(a,b,c){function G(){e.input=function(a){for(var b=0,c=a.length;b<c;b++)t[a[b]]=!!(a[b]in l);return t}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)l.setAttribute("type",f=a[d]),e=l.type!=="text",e&&(l.value=m,l.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&l.style.WebkitAppearance!==c?(g.appendChild(l),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(l,null).WebkitAppearance!=="textfield"&&l.offsetHeight!==0,g.removeChild(l)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=l.checkValidity&&l.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(l),g.offsetWidth,e=l.value!=m,g.removeChild(l)):e=l.value!=m)),s[a[d]]=!!e;return s}("search tel url email datetime date month week time datetime-local number range color".split(" "))}function F(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+p.join(c+" ")+c).split(" ");return!!E(d,b)}function E(a,b){for(var d in a)if(k[a[d]]!==c&&(!b||b(a[d],j)))return!0}function D(a,b){return(""+a).indexOf(b)!==-1}function C(a,b){return typeof a===b}function B(a,b){return A(o.join(a+";")+(b||""))}function A(a){k.cssText=a}var d="1.7",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l=b.createElement("input"),m=":)",n=Object.prototype.toString,o=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),p="Webkit Moz O ms Khtml".split(" "),q={svg:"http://www.w3.org/2000/svg"},r={},s={},t={},u=[],v,w=function(a){var c=b.createElement("style"),d=b.createElement("div"),e;c.textContent=a+"{#modernizr{height:3px}}",h.appendChild(c),d.id="modernizr",g.appendChild(d),e=d.offsetHeight===3,c.parentNode.removeChild(c),d.parentNode.removeChild(d);return!!e},x=function(){function d(d,e){e=e||b.createElement(a[d]||"div");var f=(d="on"+d)in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=C(e[d],"function"),C(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),y=({}).hasOwnProperty,z;C(y,c)||C(y.call,c)?z=function(a,b){return b in a&&C(a.constructor.prototype[b],c)}:z=function(a,b){return y.call(a,b)},r.flexbox=function(){function c(a,b,c,d){a.style.cssText=o.join(b+":"+c+";")+(d||"")}function a(a,b,c,d){b+=":",a.style.cssText=(b+o.join(c+";"+b)).slice(0,-b.length)+(d||"")}var d=b.createElement("div"),e=b.createElement("div");a(d,"display","box","width:42px;padding:0;"),c(e,"box-flex","1","width:10px;"),d.appendChild(e),g.appendChild(d);var f=e.offsetWidth===42;d.removeChild(e),g.removeChild(d);return f},r.canvas=function(){var a=b.createElement("canvas");return a.getContext&&a.getContext("2d")},r.canvastext=function(){return e.canvas&&C(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){return"ontouchstart"in a||w("@media ("+o.join("touch-enabled),(")+"modernizr)")},r.geolocation=function(){return!!navigator.geolocation},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){var b=!!a.openDatabase;return b},r.indexedDB=function(){for(var b=-1,c=p.length;++b<c;){var d=p[b].toLowerCase();if(a[d+"_indexedDB"]||a[d+"IndexedDB"])return!0}return!1},r.hashchange=function(){return x("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return !!(a.history&&history.pushState)},r.draganddrop=function(){return x("dragstart")&&x("drop")},r.websockets=function(){return"WebSocket"in a},r.rgba=function(){A("background-color:rgba(150,255,150,.5)");return D(k.backgroundColor,"rgba")},r.hsla=function(){A("background-color:hsla(120,40%,100%,.5)");return D(k.backgroundColor,"rgba")||D(k.backgroundColor,"hsla")},r.multiplebgs=function(){A("background:url(//:),url(//:),red url(//:)");return(new RegExp("(url\\s*\\(.*?){3}")).test(k.background)},r.backgroundsize=function(){return F("backgroundSize")},r.borderimage=function(){return F("borderImage")},r.borderradius=function(){return F("borderRadius","",function(a){return D(a,"orderRadius")})},r.boxshadow=function(){return F("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){B("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return F("animationName")},r.csscolumns=function(){return F("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";A((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return D(k.backgroundImage,"gradient")},r.cssreflections=function(){return F("boxReflect")},r.csstransforms=function(){return!!E(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!E(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=w("@media ("+o.join("transform-3d),(")+"modernizr)"));return a},r.csstransitions=function(){return F("transitionProperty")},r.fontface=function(){var a,c,d=h||g,e=b.createElement("style"),f=b.implementation||{hasFeature:function(){return!1}};e.type="text/css",d.insertBefore(e,d.firstChild),a=e.sheet||e.styleSheet;var i=f.hasFeature("CSS2","")?function(b){if(!a||!b)return!1;var c=!1;try{a.insertRule(b,0),c=/src/i.test(a.cssRules[0].cssText),a.deleteRule(a.cssRules.length-1)}catch(d){}return c}:function(b){if(!a||!b)return!1;a.cssText=b;return a.cssText.length!==0&&/src/i.test(a.cssText)&&a.cssText.replace(/\r+|\n+/g,"").indexOf(b.split(" ")[0])===0};c=i('@font-face { font-family: "font"; src: url(data:,); }'),d.removeChild(e);return c},r.video=function(){var a=b.createElement("video"),c=!!a.canPlayType;if(c){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}return c},r.audio=function(){var a=b.createElement("audio"),c=!!a.canPlayType;c&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;"));return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webWorkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="<svg/>";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var H in r)z(r,H)&&(v=H.toLowerCase(),e[v]=r[H](),u.push((e[v]?"":"no-")+v));e.input||G(),e.crosswindowmessaging=e.postmessage,e.historymanagement=e.history,e.addTest=function(a,b){a=a.toLowerCase();if(!e[a]){b=!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b;return e}},A(""),j=l=null,f&&a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function p(a,b){var c=-1,d=a.length,e,f=[];while(++c<d)e=a[c],(b=e.media||b)!="screen"&&f.push(p(e.imports,b),e.cssText);return f.join("")}function o(a){var b=-1;while(++b<e)a.createElement(d[b])}var c="abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",d=c.split("|"),e=d.length,f=new RegExp("(^|\\s)("+c+")","gi"),g=new RegExp("<(/*)("+c+")","gi"),h=new RegExp("(^|[^\\n]*?\\s)("+c+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),i=b.createDocumentFragment(),j=b.documentElement,k=j.firstChild,l=b.createElement("body"),m=b.createElement("style"),n;o(b),o(i),k.insertBefore(m,k.firstChild),m.media="print",a.attachEvent("onbeforeprint",function(){var a=-1,c=p(b.styleSheets,"all"),k=[],o;n=n||b.body;while((o=h.exec(c))!=null)k.push((o[1]+o[2]+o[3]).replace(f,"$1.iepp_$2")+o[4]);m.styleSheet.cssText=k.join("\n");while(++a<e){var q=b.getElementsByTagName(d[a]),r=q.length,s=-1;while(++s<r)q[s].className.indexOf("iepp_")<0&&(q[s].className+=" iepp_"+d[a])}i.appendChild(n),j.appendChild(l),l.className=n.className,l.innerHTML=n.innerHTML.replace(g,"<$1font")}),a.attachEvent("onafterprint",function(){l.innerHTML="",j.removeChild(l),j.appendChild(n),m.styleSheet.cssText=""})}(a,b),e._enableHTML5=f,e._version=d,g.className=g.className.replace(/\bno-js\b/,"")+" js "+u.join(" ");return e}(this,this.document)

/*
 * Date Format 1.2.3
 * (c) 2007-2009 Steven Levithan <stevenlevithan.com>
 * MIT license
 *
 * Includes enhancements by Scott Trenda <scott.trenda.net>
 * and Kris Kowal <cixar.com/~kris.kowal/>
 *
 * Accepts a date, a mask, or a date and a mask.
 * Returns a formatted version of the given date.
 * The date defaults to the current date/time.
 * The mask defaults to dateFormat.masks.default.
 */
var dateFormat=function(){var j=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,k=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,r=/[^-+\dA-Z]/g,d=function(a,c){a=String(a);for(c=c||2;a.length<c;)a="0"+a;return a};return function(a,c,h){var f=dateFormat;arguments.length==1&&Object.prototype.toString.call(a)=="[object String]"&&!/\d/.test(a)&&(c=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");c=String(f.masks[c]||c||f.masks["default"]);c.slice(0,4)=="UTC:"&&(c=c.slice(4),h=!0);var b=h?"getUTC":"get",g=a[b+"Date"](),m=a[b+"Day"](),i=a[b+"Month"](),n=a[b+"FullYear"](),e=a[b+"Hours"](),o=a[b+"Minutes"](),p=a[b+"Seconds"](),b=a[b+"Milliseconds"](),l=h?0:a.getTimezoneOffset(),q={d:g,dd:d(g),ddd:f.i18n.dayNames[m],dddd:f.i18n.dayNames[m+7],m:i+1,mm:d(i+1),mmm:f.i18n.monthNames[i],mmmm:f.i18n.monthNames[i+12],yy:String(n).slice(2),yyyy:n,h:e%12||12,hh:d(e%12||12),H:e,HH:d(e),M:o,MM:d(o),s:p,ss:d(p),l:d(b,3),L:d(b>99?Math.round(b/10):b),t:e<12?"a":"p",tt:e<12?"am":"pm",T:e<12?"A":"P",TT:e<12?"AM":"PM",Z:h?"UTC":(String(a).match(k)||[""]).pop().replace(r,""),o:(l>0?"-":"+")+d(Math.floor(Math.abs(l)/60)*100+Math.abs(l)%60,4),S:["th","st","nd","rd"][g%10>3?0:(g%100-g%10!=10)*g%10]};return c.replace(j,function(a){return a in q?q[a]:a.slice(1,a.length-1)})}}();dateFormat.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};Date.prototype.format=function(j,k){return dateFormat(this,j,k)};

/*
 * jQuery Hatena Bookmarks Plugin v0.9.1
 * 
 * Copyright (c) 2011 Takeru Suzuki
 * Dual licensed under the MIT and GPL licenses.
 * 
 * Requires: jQuery 1.4+, Date Format 1.2 (http://blog.stevenlevithan.com/archives/date-time-format)
 * API docs: http://developer.hatena.ne.jp/ja/documents/bookmark/apis/getinfo
 */
(function(b){b.fn.loadHatenaBookmarks=function(d){var e=b.extend({},b.fn.loadHatenaBookmarks.defaults,d);return this.each(function(){var d=b(this).append('<p class="loading">'+e.loadingMessage+"</p>");b.ajax({type:"GET",dataType:"json",url:"http://b.hatena.ne.jp/entry/jsonlite/?callback=?",data:{url:location.href.replace(location.hash,"")},success:function(b){var a=[],e=true,c,f,h,j,i,k,g,l;if(b)for(i=0,k=b.bookmarks.length;i<k;i++)if(c=b.bookmarks[i],f=new Date(c.timestamp),j=[],c.comment){for(g=0,l=c.tags.length;g<l;g++)h=c.tags[g],j[g]='<a href="http://b.hatena.ne.jp/'+c.user+"/"+h+'" title="\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af - '+c.user+" - "+h+'" target="_blank">'+h.escapeHTML()+"</a>";e&&(a[a.length]="<h2>Comment(s) on Hatena::Bookmark</h2>",d.addClass("has-comment"),e=false);a[a.length]='<article class="comment">';a[a.length]='<h3 class="author">';a[a.length]='<a href="http://b.hatena.ne.jp/'+c.user+'/" title="\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af - '+c.user+'" target="blank">';a[a.length]='<img src="http://www.st-hatena.com/users/'+c.user+'/profile_l.gif" alt="" class="photo"> ';a[a.length]=c.user;a[a.length]="</a>";a[a.length]="</h3>";a[a.length]='<span class="tags">';a[a.length]=j.join(", ");a[a.length]="</span>";a[a.length]='<p class="body">';a[a.length]=c.comment.escapeHTML().linkify();a[a.length]="</p>";a[a.length]='<a href="http://b.hatena.ne.jp/'+c.user+"/"+f.format("yyyymmdd")+"#bookmark-"+b.eid+'" rel="bookmark" target="blank">';a[a.length]='<time pubdate datetime="'+f.format("isoDate")+'" title="\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af - '+c.user+" - "+f.format("yyyy\u6708m\u6708d\u65e5")+'">';a[a.length]=f.format("mmmm d, yyyy");a[a.length]="</time>";a[a.length]="</a>";a[a.length]="</article>"}d[0].innerHTML=a.join("")},error:function(){d[0].innerHTML='<p class="error">'+e.errorMessage+"</p>"}})})};b.fn.loadHatenaBookmarks.defaults={loadingMessage:"Loading&#8230;",errorMessage:"Failed to load data."}})(jQuery);String.prototype.escapeHTML=function(){var b=/["&<>]/g,d={'"':"&quot;","&":"&amp;","<":"&lt;",">":"&gt;"};return function(){return this.replace(b,function(b){return d[b]})}}();String.prototype.linkify=function(){var b=/(s?https?:\/\/[-_.!\u203e*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/g;return function(){return this.replace(b,'<a href="$1">$1</a>')}}();

/*
 * jQuery Twitter Statuses Plugin v0.9.2
 * 
 * Copyright (c) 2011 Takeru Suzuki
 * Dual licensed under the MIT and GPL licenses.
 *
 * Requires: jQuery 1.4.3+, Date Format 1.2 (http://blog.stevenlevithan.com/archives/date-time-format)
 * Twitter API docs: https://dev.twitter.com/docs/api/1/get/statuses/user_timeline
 */
(function(k){k.fn.loadTwitterStatuses=function(s){function v(b){var f=[],c=[],d,a=0,h,e,n;for(h in b.entities)for(e=0,n=b.entities[h].length;e<n;e++)d=b.entities[h][e],c[d.indices[0]]={end:d.indices[1],text:function(){switch(h){case "media":return'<a href="'+d.url+'" class="twitter-timeline-link" title="'+d.expanded_url+'" target="_blank">'+d.display_url+"</a>";case "urls":return d.display_url?'<a href="'+d.url+'" class="twitter-timeline-link" title="'+d.expanded_url+'" target="_blank">'+d.display_url+"</a>":d.url;case "user_mentions":return'<a href="http://twitter.com/'+d.screen_name+'" class="twitter-atreply" target="_blank"><s>@</s><b>'+d.screen_name+"</b></a>";case "hashtags":return'<a href="http://twitter.com/search?q=%23'+d.text+'" class="twitter-hashtag" target="_blank"><s>#</s><b>'+d.text+"</b></a>";default:return""}}()};for(e=0,n=c.length;e<n;e++)if(c[e])f[f.length]=b.text.substring(a,e),f[f.length]=c[e].text,a=c[e].end,e=c[e].end-1;f[f.length]=b.text.substring(a);return f.join("")}return this.each(function(){var b=k(this),f={screen_name:b.data("twitter-screen-name"),count:b.data("twitter-count"),include_rts:b.data("twitter-include-rts"),image:b.data("twitter-image"),birdIconSrc:b.data("twitter-bird-icon-src"),dateFormat:b.data("twitter-date-format"),loadingMessage:b.data("twitter-loading-message"),errorMessage:b.data("twitter-error-message"),contentBefore:b.data("twitter-content-before"),contentAfter:b.data("twitter-content-after")},c=k.extend({},k.fn.loadTwitterStatuses.defaults,s,f);b[0].innerHTML='<p class="loading">'+c.loadingMessage+"</p>";k.ajax({type:"GET",dataType:"json",url:"http://api.twitter.com/1/statuses/user_timeline.json?callback=?",data:{screen_name:c.screen_name,count:c.count,trim_user:c.trim_user,include_rts:c.include_rts,include_entities:true},success:function(d){var a=[],h,e,f,k;a[a.length]=c.contentBefore;for(f=0,k=d.length;f<k;f++){h=d[f];e=new Date(h.created_at.replace(/\+(\d{4})/,"UTC+$1"));a[a.length]='<article class="tweet">';a[a.length]="<p>";var s=a,w=a.length,i;if(c.image){i=h.entities.media;var m=h.entities.urls,j=void 0,o=void 0,p=void 0,q=void 0,l=j=void 0,t="",u="",g=void 0,r=void 0;if(i)for(g=0,r=i.length;g<r;g++){if(i[g].type==="photo")l=i[g].media_url+":thumb",t=i[g].url,u=i[g].expanded_url}else if(m)for(g=0,r=m.length;g<r;g++)if(j=m[g].expanded_url||m[g].url,o=/http:\/\/twitpic.com\/([0-9a-z]+)/.exec(j),p=/http:\/\/yfrog.com\/([0-9a-z]+)/.exec(j),q=/http:\/\/(?:lockerz.com\/s|plixi.com\/p)\/([0-9]+)/.exec(j),j=/http:\/\/instagr.am\/p\/([0-9a-zA-Z\-_]+)\//.exec(j),o||p||q||j)if(t=m[g].url,u=m[g].expanded_url,o){l="http://twitpic.com/show/thumb/"+o[1];break}else if(p){l=p[0]+":small";break}else if(q){l="http://api.plixi.com/api/tpapi.svc/imagefromurl?url="+q[0]+"&size=small";break}else if(j){l="http://instagr.am/p/"+j[1]+"/media/?size=t";break}i=l?'<a href="'+t+'" title="'+u+'" target="_blank"><img src="'+l+'" alt="" class="thumb"></a>':""}else i="";s[w]=i;a[a.length]=v(h);a[a.length]="</p>";a[a.length]='<span class="meta">';a[a.length]='<img src="'+c.birdIconSrc+'" alt="from Twitter" /> ';a[a.length]='<a href="http://twitter.com/'+c.screen_name+"/status/"+h.id_str+'" rel="bookmark" target="_blank">';a[a.length]='<time pubdate datetime="'+dateFormat(e,"isoDate")+'">';a[a.length]=dateFormat(e,c.dateFormat);a[a.length]="</time>";a[a.length]="</a>";a[a.length]="</span>";a[a.length]="</article>"}a[a.length]=c.contentAfter;b[0].innerHTML=a.join("")},error:function(){b[0].innerHTML='<p class="error">'+c.errorMessage+"</p>"}})})};k.fn.loadTwitterStatuses.defaults={screen_name:"twitter",count:1,trim_user:true,include_rts:true,image:true,birdIconSrc:"img/bird_16_gray.png",dateFormat:"mmmm d, yyyy",loadingMessage:"Loading&#8230;",errorMessage:"Failed to load data.",contentBefore:"",contentAfter:""}})(jQuery);

/*
 * jQuery Last.fm Profile Plugin v0.9.1
 * http://terkel.jp/archives/2011/07/jquery-lastfm-profile-plugin/
 * 
 * Copyright (c) 2011 Takeru Suzuki
 * Dual licensed under the MIT and GPL licenses.
 * 
 * Requires: jQuery 1.4.3+
 */
(function(f){f.fn.loadLastfmProfile=function(g){return this.each(function(){var d=f(this),l={user:d.data("lastfm-user"),method:d.data("lastfm-method"),period:d.data("lastfm-period"),limit:d.data("lastfm-limit"),image:d.data("lastfm-image"),imageSize:d.data("lastfm-image-size"),imageSquare:d.data("lastfm-image-square"),text:d.data("lastfm-text"),playcount:d.data("lastfm-playcount"),loadingMessage:d.data("lastfm-loading-message"),errorMessage:d.data("lastfm-error-message"),contentBefore:d.data("lastfm-content-before"),contentAfter:d.data("lastfm-content-after")},c=f.extend({},f.fn.loadLastfmProfile.defaults,g,l);d[0].innerHTML='<p class="loading">'+c.loadingMessage+"</p>";f.ajax({type:"GET",dataType:"json",url:"http://ws.audioscrobbler.com/2.0/?callback=?",data:{api_key:"c1e773908a041598767406c5d32c022e",format:"json",user:c.user,method:function(){return c.method==="NowPlaying"?"user.getRecentTracks":"user.get"+c.method},period:c.period,limit:c.limit},success:function(h){var e=function(){switch(c.method){case "TopAlbums":return h.topalbums.album;case "TopArtists":return h.topartists.artist;case "TopTracks":return h.toptracks.track;case "RecentTracks":case "NowPlaying":return h.recenttracks.track;default:return""}}(),a=[],g=false;f.isArray(e)||(e=[e]);if(e[0]["@attr"]&&e[0]["@attr"].nowplaying==="true")c.method==="RecentTracks"?e.shift():c.method==="NowPlaying"&&(e=[e[0]],g=true);else if(c.method==="NowPlaying")return d.empty(),this;a[a.length]=c.contentBefore;a[a.length]=g?"<ul>":"<ol>";f.each(e,function(d,b){var e,g="http://cdn.last.fm/flatness/catalogue/noimage/2/default_artist_"+c.imageSize+".png",h,i,k,j;c.image&&(b.image&&f.each(b.image,function(a,b){b.size===c.imageSize&&(g=c.imageSquare?b["#text"].replace(/(http:\/\/userserve-ak.last.fm\/serve\/(34|64|126))\//,"$1s/"):b["#text"])}),h=c.text?"":!b.artist?b.name.escapeHTML():b.artist.name?b.name.escapeHTML()+" &#8211; "+b.artist.name.escapeHTML():b.artist["#text"]?b.name.escapeHTML()+" &#8211; "+b.artist["#text"].escapeHTML():"");c.text?b.artist&&(i=b.artist.name?b.artist.name:b.artist["#text"],k=b.artist.url?b.artist.url:"http://www.last.fm/music/"+i.replace(/\s/g,"+")):e=h;c.playcount&&b.playcount&&(j=b.url.replace(/^(http:\/\/www\.last\.fm\/)/,"$1user/"+c.user+"/library/"));a[a.length]="<li>";a[a.length]='<a href="'+b.url+'"';a[a.length]=e?' title="'+e+'"':"";a[a.length]=' class="item" target="_blank">';a[a.length]=c.image?'<img src="'+g+'" alt="'+h+'" class="photo">':"";a[a.length]=c.text?'<span class="name">'+b.name+"</span>":"";a[a.length]="</a>";a[a.length]=c.text&&b.artist?' &#8211; <a href="'+k+'" class="artist" target="_blank">'+i+"</a>":"";a[a.length]=j?' <span class="playcount">(<a href="'+j+'" target="_blank">'+b.playcount+" plays</a>)</span>":"";a[a.length]="</li>"});a[a.length]=g?"</ul>":"</ol>";a[a.length]=c.contentAfter;d[0].innerHTML=a.join("")},error:function(){d[0].innerHTML='<p class="error">'+c.errorMessage+"</p>"}})})};f.fn.loadLastfmProfile.defaults={user:"LAST.HQ",method:"TopAlbums",period:"7day",limit:10,image:true,imageSize:"medium",imageSquare:true,text:true,playcount:true,loadingMessage:"Loading&#8230;",errorMessage:"Failed to load data.",contentBefore:"",contentAfter:""}})(jQuery);String.prototype.escapeHTML=function(){var f=/["&<>]/g,g={'"':"&quot;","&":"&amp;","<":"&lt;",">":"&gt;"};return function(){return this.replace(f,function(d){return g[d]})}}();

/*
 * jQuery UA plugin v0.9.2
 * https://github.com/terkel/jquery-ua
 *
 * Copyright (c) 2011 Takeru Suzuki, http://terkel.jp/
 * Licensed under the MIT license: http://www.opensource.org/licenses/MIT
 *
 * Inspired by PPK's Browser Detect http://www.quirksmode.org/js/detect.html
 */
(function(b){function e(c){var a={},d,b,e;for(b=0,e=c.length;b<e;b++)if(d=c[b],RegExp(d.name).test(f)){a.name=d.name;a[a.name]=true;a.version=String((RegExp(d.version+"(\\d+((\\.|_)\\d+)*)").exec(f)||[,0])[1]).replace(/_/g,".");a.versionMajor=parseInt(a.version,10);if(c===i)a.mobile=/mobile|phone/.test(f)||a.blackberry,a.tablet=/tablet/.test(f)||a.ipad||a.android&&!/mobile/.test(f);if(d.versionNames)for(c=0,b=d.versionNames.length;c<b;c++)if(a.version===d.versionNames[c].number){a.versionName=d.versionNames[c].name;a[a.versionName]=true;break}break}if(!a.name)a.name="unknown",a.unknown=true,a.version="",a.versionMajor="";return a}b.ua=b.ua||{};var f=navigator.userAgent.toLowerCase(),i=[{name:"win",version:"windows(?: nt)? ",versionNames:[{number:"6.1",name:"win7"},{number:"6.0",name:"winVista"},{number:"5.2",name:"winXP"},{number:"5.1",name:"winXP"},{number:"5.01",name:"win2000"},{number:"5.0",name:"win2000"}]},{name:"ipad",version:"cpu os "},{name:"ipod",version:"iphone os "},{name:"iphone",version:"iphone os "},{name:"mac",version:"os x "},{name:"android",version:"android "},{name:"blackberry",version:"(?:blackberry\\d{4}[a-z]?|version)/"},{name:"linux"}],j=b.ua.platform=e(i),g=b.ua.browser=e([{name:"msie",version:"msie "},{name:"firefox",version:"firefox/"},{name:"chrome",version:"chrome/"},{name:"safari",version:"version/"},{name:"opera",version:"version/"}]),h=b.ua.engine=e([{name:"trident",version:"trident/"},{name:"webkit",version:"webkit/"},{name:"gecko",version:"rv:"},{name:"presto",version:"presto/"}]);b("html").addClass([j.name,j.versionName,g.name,g.name+g.versionMajor,h.name,h.name+h.versionMajor].join(" "))})(jQuery);

// tipsy, facebook style tooltips for jquery
// version 1.0.0a
// (c) 2008-2010 jason frame [jason@onehackoranother.com]
// released under the MIT license
(function(b){function h(a,c){this.$element=b(a);this.options=c;this.enabled=!0;this.fixTitle()}h.prototype={show:function(){var a=this.getTitle();if(a&&this.enabled){var c=this.tip();c.find(".tipsy-inner")[this.options.html?"html":"text"](a);c[0].className="tipsy";c.remove().css({top:0,left:0,visibility:"hidden",display:"block"}).prependTo(document.body);var a=b.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight}),d=c[0].offsetWidth,g=c[0].offsetHeight,e=typeof this.options.gravity=="function"?this.options.gravity.call(this.$element[0]):this.options.gravity,f;switch(e.charAt(0)){case "n":f={top:a.top+a.height+this.options.offset,left:a.left+a.width/2-d/2};break;case "s":f={top:a.top-g-this.options.offset,left:a.left+a.width/2-d/2};break;case "e":f={top:a.top+a.height/2-g/2,left:a.left-d-this.options.offset};break;case "w":f={top:a.top+a.height/2-g/2,left:a.left+a.width+this.options.offset}}if(e.length==2)f.left=e.charAt(1)=="w"?a.left+a.width/2-15:a.left+a.width/2-d+15;c.css(f).addClass("tipsy-"+e);c.find(".tipsy-arrow")[0].className="tipsy-arrow tipsy-arrow-"+e.charAt(0);this.options.className&&c.addClass(typeof this.options.className=="function"?this.options.className.call(this.$element[0]):this.options.className);this.options.fade?c.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:this.options.opacity}):c.css({visibility:"visible",opacity:this.options.opacity})}},hide:function(){this.options.fade?this.tip().stop().fadeOut(function(){b(this).remove()}):this.tip().remove()},fixTitle:function(){var a=this.$element;if(a.attr("title")||typeof a.attr("original-title")!="string")a.attr("original-title",a.attr("title")||"").removeAttr("title")},getTitle:function(){var a,b=this.$element,d=this.options;this.fixTitle();d=this.options;typeof d.title=="string"?a=b.attr(d.title=="title"?"original-title":d.title):typeof d.title=="function"&&(a=d.title.call(b[0]));return(a=(""+a).replace(/(^\s*|\s*$)/,""))||d.fallback},tip:function(){if(!this.$tip)this.$tip=b('<div class="tipsy"></div>').html('<div class="tipsy-arrow"></div><div class="tipsy-inner"></div>');return this.$tip},validate:function(){if(!this.$element[0].parentNode)this.hide(),this.options=this.$element=null},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled}};b.fn.tipsy=function(a){function c(c){var d=b.data(c,"tipsy");d||(d=new h(c,b.fn.tipsy.elementOptions(c,a)),b.data(c,"tipsy",d));return d}function d(){var b=c(this);b.hoverState="in";a.delayIn==0?b.show():(b.fixTitle(),setTimeout(function(){b.hoverState=="in"&&b.show()},a.delayIn))}function g(){var b=c(this);b.hoverState="out";a.delayOut==0?b.hide():setTimeout(function(){b.hoverState=="out"&&b.hide()},a.delayOut)}if(a===!0)return this.data("tipsy");else if(typeof a=="string"){var e=this.data("tipsy");if(e)e[a]();return this}a=b.extend({},b.fn.tipsy.defaults,a);a.live||this.each(function(){c(this)});if(a.trigger!="manual"){var e=a.live?"live":"bind",f=a.trigger=="hover"?"mouseleave":"blur";this[e](a.trigger=="hover"?"mouseenter":"focus",d)[e](f,g)}return this};b.fn.tipsy.defaults={className:null,delayIn:0,delayOut:0,fade:!1,fallback:"",gravity:"n",html:!1,live:!1,offset:0,opacity:0.8,title:"title",trigger:"hover"};b.fn.tipsy.elementOptions=function(a,c){return b.metadata?b.extend({},c,b(a).metadata()):c};b.fn.tipsy.autoNS=function(){return b(this).offset().top>b(document).scrollTop()+b(window).height()/2?"s":"n"};b.fn.tipsy.autoWE=function(){return b(this).offset().left>b(document).scrollLeft()+b(window).width()/2?"e":"w"};b.fn.tipsy.autoBounds=function(a,c){return function(){var d={ns:c[0],ew:c.length>1?c[1]:!1},g=b(document).scrollTop()+a,e=b(document).scrollLeft()+a,f=b(this);if(f.offset().top<g)d.ns="n";if(f.offset().left<e)d.ew="w";if(b(window).width()+b(document).scrollLeft()-f.offset().left<a)d.ew="e";if(b(window).height()+b(document).scrollTop()-f.offset().top<a)d.ns="s";return d.ns+(d.ew?d.ew:"")}}})(jQuery);

// google-code-prettify
//
// Copyright (C) 2006 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
window.PR_SHOULD_USE_CONTINUATION=true;(function(){function K(a){function m(a){var e=a.charCodeAt(0);if(e!==92)return e;var b=a.charAt(1);return(e=r[b])?e:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function g(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var e=a.substring(1,a.length-1).match(RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g")),a=[],b=[],o=e[0]==="^",c=o?1:0,i=e.length;c<i;++c){var j=e[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===e[c+1]?(d=m(e[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,e){return a[0]-e[0]||e[1]-a[1]});e=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):e.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<e.length;++c)i=e[c],b.push(g(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(g(i[1])));b.push("]");return b.join("")}function k(a){for(var e=a.source.match(RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),b=e.length,d=[],c=0,i=0;c<b;++c){var j=e[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++s);for(i=c=0;c<b;++c)j=e[c],j==="("?(++i,d[i]===void 0&&(e[c]="(?:")):"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(e[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===e[c]&&"^"!==e[c+1]&&(e[c]="");if(a.ignoreCase&&n)for(c=0;c<b;++c)j=e[c],a=j.charAt(0),j.length>=2&&a==="["?e[c]=h(j):a!=="\\"&&(e[c]=j.replace(/[a-zA-Z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return e.join("")}for(var s=0,n=false,l=false,q=0,d=a.length;q<d;++q){var f=a[q];if(f.ignoreCase)l=true;else if(/[a-z]/i.test(f.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){n=true;l=false;break}}for(var r={b:8,t:9,n:10,v:11,f:12,r:13},p=[],q=0,d=a.length;q<d;++q){f=a[q];if(f.global||f.multiline)throw Error(""+f);p.push("(?:"+k(f)+")")}return RegExp(p.join("|"),l?"gi":"g")}function L(a){function m(a){switch(a.nodeType){case 1:if(g.test(a.className))break;for(var f=a.firstChild;f;f=f.nextSibling)m(f);f=a.nodeName;if("BR"===f||"LI"===f)h[n]="\n",s[n<<1]=k++,s[n++<<1|1]=a;break;case 3:case 4:f=a.nodeValue,f.length&&(f=q?f.replace(/\r\n?/g,"\n"):f.replace(/[ \t\r\n]+/g," "),h[n]=f,s[n<<1]=k,k+=f.length,s[n++<<1|1]=a)}}var g=/(?:^|\s)nocode(?:\s|$)/,h=[],k=0,s=[],n=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,null).getPropertyValue("white-space"));var q=l&&"pre"===l.substring(0,3);m(a);return{sourceCode:h.join("").replace(/\n$/,""),spans:s}}function A(a,m,g,h){m&&(a={sourceCode:m,basePos:a},g(a),h.push.apply(h,a.decorations))}function w(a,m){var g={},h;(function(){for(var n=a.concat(m),l=[],q={},d=0,f=n.length;d<f;++d){var r=n[d],p=r[3];if(p)for(var k=p.length;--k>=0;)g[p.charAt(k)]=r;r=r[1];p=""+r;q.hasOwnProperty(p)||(l.push(r),q[p]=null)}l.push(/[\0-\uffff]/);h=K(l)})();var k=m.length,s=function(a){for(var l=a.basePos,q=[l,"pln"],d=0,f=a.sourceCode.match(h)||[],r={},p=0,x=f.length;p<x;++p){var e=f[p],b=r[e],o=void 0,c;if(typeof b==="string")c=false;else{var i=g[e.charAt(0)];if(i)o=e.match(i[1]),b=i[0];else{for(c=0;c<k;++c)if(i=m[c],o=e.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=false,b="src";c||(r[e]=b)}i=d;d+=e.length;if(c){c=o[1];var j=e.indexOf(c),y=j+c.length;o[2]&&(y=e.length-o[2].length,j=y-c.length);b=b.substring(5);A(l+i,e.substring(0,j),s,q);A(l+i+j,c,B(b,c),q);A(l+i+y,e.substring(y),s,q)}else q.push(l+i,b)}a.decorations=q};return s}function t(a){var m=[],g=[];a.tripleQuotedStrings?m.push(["str",/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""]):a.multiLineStrings?m.push(["str",/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):m.push(["str",/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]);a.verbatimStrings&&g.push(["str",/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])):m.push(["com",/^#[^\r\n]*/,null,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\r\n]*/,null]),g.push(["com",/^\/\*[\s\S]*?(?:\*\/|$)/,null]));a.regexLiterals&&g.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*(/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/)")]);(h=a.types)&&g.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,"");a.length&&g.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),null]);m.push(["pln",/^\s+/,null," \r\n\t\u00a0"]);g.push(["lit",/^@[a-z_$][a-z_$@0-9]*/i,null],["typ",/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],["pln",/^[a-z_$][a-z_$@0-9]*/i,null],["lit",/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,null,"0123456789"],["pln",/^\\[\s\S]?/,null],["pun",/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return w(m,g)}function C(a,m){function g(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)g(a);break;case 3:case 4:if(q){var b=a.nodeValue,d=b.match(s);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(n.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var f=d?a.cloneNode(false):a,e=a.parentNode;if(e){var e=b(e,1),g=a.nextSibling;e.appendChild(f);for(var h=g;h;h=g)g=h.nextSibling,e.appendChild(h)}return f}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),f;(f=a.parentNode)&&f.nodeType===1;)a=f;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,s=/\r\n?|\n/,n=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=n.defaultView.getComputedStyle(a,null).getPropertyValue("white-space"));var q=l&&"pre"===l.substring(0,3);for(l=n.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],f=0;f<d.length;++f)g(d[f]);m===(m|0)&&d[0].setAttribute("value",m);var r=n.createElement("OL");r.className="linenums";for(var p=Math.max(0,m-1|0)||0,f=0,x=d.length;f<x;++f)l=d[f],l.className="L"+(f+p)%10,l.firstChild||l.appendChild(n.createTextNode("\u00a0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var g=m.length;--g>=0;){var h=m[g];z.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):z[h]=a}}function B(a,m){if(!a||!z.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return z[a]}function D(a){var m=a.langExtension;try{var g=L(a.sourceNode),h=g.sourceCode;a.sourceCode=h;a.spans=g.spans;a.basePos=0;B(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,s=a.sourceCode,n=s.length,g=0,l=a.spans,q=l.length,h=0,d=a.decorations,f=d.length,a=0;d[f]=n;var r,p;for(p=r=0;p<f;)d[p]!==d[p+2]?(d[r++]=d[p++],d[r++]=d[p++]):p+=2;f=r;for(p=r=0;p<f;){for(var x=d[p],e=d[p+1],b=p+2;b+2<=f&&d[b+1]===e;)b+=2;d[r++]=x;d[r++]=e;p=b}for(d.length=r;h<q;){var o=l[h+2]||n,c=d[a+2]||n,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=s.substring(g,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=j;var t=i.ownerDocument,u=t.createElement("SPAN");u.className=d[a+1];var w=i.parentNode;w.replaceChild(u,i);u.appendChild(i);g<o&&(l[h+1]=i=t.createTextNode(s.substring(b,o)),w.insertBefore(i,u.nextSibling))}g=b;g>=o&&(h+=2);g>=c&&(a+=2)}}catch(v){"console"in window&&console.log(v&&v.stack?v.stack:v)}}var u=["break,continue,do,else,for,if,return,while"],v=[[u,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],E=[v,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],F=[v,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],G=[F,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],v=[v,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],H=[u,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],I=[u,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],u=[u,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],J=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,M=/\S/,N=t({keywords:[E,G,v,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+H,I,u],hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true}),z={};k(N,["default-code"]);k(w([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),"default-markup,htm,html,mxml,xhtml,xml,xsl".split(","));k(w([["pln",/^[\s]+/,null," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],["pun",/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);k(w([],[["atv",/^[\s\S]+/]]),["uq.val"]);k(t({keywords:E,hashComments:true,cStyleComments:true,types:J}),"c,cc,cpp,cxx,cyc,m".split(","));k(t({keywords:"null,true,false"}),["json"]);k(t({keywords:G,hashComments:true,cStyleComments:true,verbatimStrings:true,types:J}),["cs"]);k(t({keywords:F,cStyleComments:true}),["java"]);k(t({keywords:u,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);k(t({keywords:H,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);k(t({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);k(t({keywords:I,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);k(t({keywords:v,cStyleComments:true,regexLiterals:true}),["js"]);k(t({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);k(w([],[["str",/^[\s\S]+/]]),["regex"]);window.prettyPrintOne=function(a,m,g){var h=document.createElement("PRE");h.innerHTML=a;g&&C(h,g);D({langExtension:m,numberLines:g,sourceNode:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var g=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;q<h.length&&l.now()<g;q++){var k=h[q],n=k.className;if(n.indexOf("prettyprint")>=0){var n=n.match(f),e,b;if(b=!n){b=k;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?M.test(c.nodeValue)?b:o:o;b=(e=o===b?void 0:o)&&"CODE"===e.tagName}b&&(n=e.className.match(f));n&&(n=n[1]);b=false;for(o=k.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=true;break}b||((b=(b=k.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:true:false)&&C(k,b),d={langExtension:n,sourceNode:k,numberLines:b},D(d))}}q<h.length?setTimeout(m,250):a&&a()}for(var g=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<g.length;++k)for(var s=0,n=g[k].length;s<n;++s)h.push(g[k][s]);var g=null,l=Date;l.now||(l={now:function(){return+new Date}});var q=0,d,f=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:w,registerLangHandler:k,sourceDecorator:t,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();

// google-code-prettify/lang-css.js
//
// Copyright (C) 2009 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\u000c"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<\!--|--\>)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);

// google-code-prettify/lang-scss.js
//
// Copyright (C) 2009 Google Inc.
// Copyright (C) 2011 Kyo Nagashima
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\u000c"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-scss-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgba?|hsla?|\!important|@import|@page|@media|@charset|inherit|abs|adjust-color|adjust-hue|alpha|blue|ceil|change-color|comparable|complement|darken|desaturate|fade-in|fade-out|floor|grayscale|green|hue|invert|join|length|lighten|lightness|mix|nth|opacity|percentage|quote|red|round|saturate|saturation|scale-color|transparentize|type-of|unit|unitless|unquote|!default|@extend|@debug|@warn|@if|@else( if)?|@for|@each|@while|@mixin|@include|@function|@return)(?=[^\-\w]|$)/i,null],["lang-scss-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^\/\/[^\r\n]*/,null],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_LITERAL,/^#{.*?}/],[PR.PR_LITERAL,/^&/],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PLAIN,/^\$?-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"#{}$]+/]]),["scss"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["scss-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["scss-str"]);
