var PR_SHOULD_USE_CONTINUATION=true;var PR_TAB_WIDTH=8;var PR_normalizedHtml;var PR;var prettyPrintOne;var prettyPrint;function _0(){var a=navigator&&navigator.userAgent&&/\bMSIE 6\./.test(navigator.userAgent);_0=function(){return a};return a}(function(){function x(a){a=a.split(/ /g);var b={};for(var i=a.length;--i>=0;){var w=a[i];if(w){b[w]=null}}return b}var y="break continue do else for if return while ";var z=y+"auto case char const default "+"double enum extern float goto int long register short signed sizeof "+"static struct switch typedef union unsigned void volatile ";var A=z+"catch class delete false import "+"new operator private protected public this throw true try ";var B=A+"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 typeof using virtual wchar_t where ";var C=A+"boolean byte extends final finally implements import instanceof null "+"native package strictfp super synchronized throws transient ";var D=C+"as base by checked decimal delegate descending event "+"fixed foreach from group implicit in interface internal into is lock "+"object out override orderby params readonly ref sbyte sealed "+"stackalloc string select uint ulong unchecked unsafe ushort var ";var E=A+"debugger eval export function get null set undefined var with "+"Infinity NaN ";var F="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 ";var G=y+"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 ";var H=y+"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 ";var I=y+"case done elif esac eval fi "+"function in local set then until ";var J=(B+D+E+F+G+H+I);var K='str';var L='kwd';var M='com';var N='typ';var O='lit';var P='pun';var Q='pln';var R='tag';var S='dec';var T='src';var U='atn';var V='atv';var W='nocode';function X(a){return(a>='a'&&a<='z')||(a>='A'&&a<='Z')}function Y(a,b,c,d){a.unshift(c,d||0);try{b.splice.apply(b,a)}finally{a.splice(0,2)}}var Z=function(){var a=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=","~","break","case","continue","delete","do","else","finally","instanceof","return","throw","try","typeof"];var b='(?:'+'(?:(?:^|[^0-9.])\\.{1,3})|'+'(?:(?:^|[^\\+])\\+)|'+'(?:(?:^|[^\\-])-)';for(var i=0;i<a.length;++i){var c=a[i];if(X(c.charAt(0))){b+='|\\b'+c}else{b+='|'+c.replace(/([^=<>:&])/g,'\\$1')}}b+='|^)\\s*$';return new RegExp(b)}();var ba=/&/g;var bb=/</g;var bc=/>/g;var bd=/\"/g;function be(a){return a.replace(ba,'&amp;').replace(bb,'&lt;').replace(bc,'&gt;').replace(bd,'&quot;')}function bf(a){return a.replace(ba,'&amp;').replace(bb,'&lt;').replace(bc,'&gt;')}var bg=/&lt;/g;var bh=/&gt;/g;var bi=/&apos;/g;var bj=/&quot;/g;var bk=/&amp;/g;var bl=/&nbsp;/g;function bm(a){var b=a.indexOf('&');if(b<0){return a}for(--b;(b=a.indexOf('&#',b+1))>=0;){var c=a.indexOf(';',b);if(c>=0){var d=a.substring(b+3,c);var e=10;if(d&&d.charAt(0)==='x'){d=d.substring(1);e=16}var f=parseInt(d,e);if(!isNaN(f)){a=(a.substring(0,b)+String.fromCharCode(f)+a.substring(c+1))}}}return a.replace(bg,'<').replace(bh,'>').replace(bi,"'").replace(bj,'"').replace(bk,'&').replace(bl,' ')}function bn(a){return'XMP'===a.tagName}function bo(a,b){switch(a.nodeType){case 1:var c=a.tagName.toLowerCase();b.push('<',c);for(var i=0;i<a.attributes.length;++i){var d=a.attributes[i];if(!d.specified){continue}b.push(' ');bo(d,b)}b.push('>');for(var e=a.firstChild;e;e=e.nextSibling){bo(e,b)}if(a.firstChild||!/^(?:br|link|img)$/.test(c)){b.push('<\/',c,'>')}break;case 2:b.push(a.name.toLowerCase(),'="',be(a.value),'"');break;case 3:case 4:b.push(bf(a.nodeValue));break}}var bp=null;function bq(a){if(null===bp){var b=document.createElement('PRE');b.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));bp=!/</.test(b.innerHTML)}if(bp){var c=a.innerHTML;if(bn(a)){c=bf(c)}return c}var d=[];for(var e=a.firstChild;e;e=e.nextSibling){bo(e,d)}return d.join('')}function br(f){var g='                ';var h=0;return function(a){var b=null;var c=0;for(var i=0,n=a.length;i<n;++i){var d=a.charAt(i);switch(d){case'\t':if(!b){b=[]}b.push(a.substring(c,i));var e=f-(h%f);h+=e;for(;e>=0;e-=g.length){b.push(g.substring(0,e))}c=i+1;break;case'\n':h=0;break;default:++h}}if(!b){return a}b.push(a.substring(c));return b.join('')}}var bs=/(?:[^<]+|<!--[\s\S]*?-->|<!\[CDATA\[([\s\S]*?)\]\]>|<\/?[a-zA-Z][^>]*>|<)/g;var bt=/^<!--/;var bu=/^<\[CDATA\[/;var bv=/^<br\b/i;var bw=/^<(\/?)([a-zA-Z]+)/;function bx(s){var a=s.match(bs);var b=[];var c=0;var d=[];if(a){for(var i=0,n=a.length;i<n;++i){var e=a[i];if(e.length>1&&e.charAt(0)==='<'){if(bt.test(e)){continue}if(bu.test(e)){b.push(e.substring(9,e.length-3));c+=e.length-12}else if(bv.test(e)){b.push('\n');++c}else{if(e.indexOf(W)>=0&&by(e)){var f=e.match(bw)[2];var g=1;end_tag_loop:for(var j=i+1;j<n;++j){var h=a[j].match(bw);if(h&&h[2]===f){if(h[1]==='/'){if(--g===0){break end_tag_loop}}else{++g}}}if(j<n){d.push(c,a.slice(i,j+1).join(''));i=j}else{d.push(c,e)}}else{d.push(c,e)}}}else{var k=bm(e);b.push(k);c+=k.length}}}return{source:b.join(''),tags:d}}function by(a){return!!a.replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,' $1="$2$3$4"').match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/)}function bz(m,n){var o={};(function(){var a=m.concat(n);for(var i=a.length;--i>=0;){var b=a[i];var d=b[3];if(d){for(var c=d.length;--c>=0;){o[d.charAt(c)]=b}}}})();var p=n.length;var q=/\S/;return function(a,b){b=b||0;var c=[b,Q];var d='';var e=0;var f=a;while(f.length){var g;var h=null;var j;var k=o[f.charAt(0)];if(k){j=f.match(k[1]);h=j[0];g=k[0]}else{for(var i=0;i<p;++i){k=n[i];var l=k[2];if(l&&!l.test(d)){continue}j=f.match(k[1]);if(j){h=j[0];g=k[0];break}}if(!h){g=Q;h=f.substring(0,1)}}c.push(b+e,g);e+=h.length;f=f.substring(h.length);if(g!==M&&q.test(h)){d=h}}return c}}var bA=bz([],[[Q,/^[^<]+/,null],[S,/^<!\w[^>]*(?:>|$)/,null],[M,/^<!--[\s\S]*?(?:-->|$)/,null],[T,/^<\?[\s\S]*?(?:\?>|$)/,null],[T,/^<%[\s\S]*?(?:%>|$)/,null],[T,/^<(script|style|xmp)\b[^>]*>[\s\S]*?<\/\1\b[^>]*>/i,null],[R,/^<\/?\w[^<>]*>/,null]]);var bB=/^(<[^>]*>)([\s\S]*)(<\/[^>]*>)$/;function bC(a){var b=bA(a);for(var i=0;i<b.length;i+=2){if(b[i+1]===T){var c,d;c=b[i];d=i+2<b.length?b[i+2]:a.length;var e=a.substring(c,d);var f=e.match(bB);if(f){b.splice(i,2,c,R,c+f[1].length,T,c+f[1].length+(f[2]||'').length,R)}}}return b}var bD=bz([[V,/^\'[^\']*(?:\'|$)/,null,"'"],[V,/^\"[^\"]*(?:\"|$)/,null,'"'],[P,/^[<>\/=]+/,null,'<>/=']],[[R,/^[\w:\-]+/,/^</],[V,/^[\w\-]+/,/^=/],[U,/^[\w:\-]+/,null],[Q,/^\s+/,null,' \t\r\n']]);function bE(a,b){for(var i=0;i<b.length;i+=2){var c=b[i+1];if(c===R){var d,e;d=b[i];e=i+2<b.length?b[i+2]:a.length;var f=a.substring(d,e);var g=bD(f,d);Y(g,b,i,2);i+=g.length-2}}return b}function bF(o){var p=[],q=[];if(o.tripleQuotedStrings){p.push([K,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,'\'"'])}else if(o.multiLineStrings){p.push([K,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,'\'"`'])}else{p.push([K,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,'"\''])}q.push([Q,/^(?:[^\'\"\`\/\#]+)/,null,' \r\n']);if(o.hashComments){p.push([M,/^#[^\r\n]*/,null,'#'])}if(o.cStyleComments){q.push([M,/^\/\/[^\r\n]*/,null]);q.push([M,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(o.regexLiterals){var r=('^/(?=[^/*])'+'(?:[^/\\x5B\\x5C]'+'|\\x5C[\\s\\S]'+'|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'+'(?:/|$)');q.push([K,new RegExp(r),Z])}var s=x(o.keywords);o=null;var t=bz(p,q);var u=bz([],[[Q,/^\s+/,null,' \r\n'],[Q,/^[a-z_$@][a-z_$@0-9]*/i,null],[O,/^0x[a-f0-9]+[a-z]/i,null],[O,/^(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d+)(?:e[+\-]?\d+)?[a-z]*/i,null,'123456789'],[P,/^[^\s\w\.$@]+/,null]]);function v(a,b){for(var i=0;i<b.length;i+=2){var c=b[i+1];if(c===Q){var d,e,f,g;d=b[i];e=i+2<b.length?b[i+2]:a.length;f=a.substring(d,e);g=u(f,d);for(var j=0,m=g.length;j<m;j+=2){var h=g[j+1];if(h===Q){var k=g[j];var l=j+2<m?g[j+2]:f.length;var n=a.substring(k,l);if(n==='.'){g[j+1]=P}else if(n in s){g[j+1]=L}else if(/^@?[A-Z][A-Z$]*[a-z][A-Za-z$]*$/.test(n)){g[j+1]=n.charAt(0)==='@'?O:N}}}Y(g,b,i,2);i+=g.length-2}}return b}return function(a){var b=t(a);b=v(a,b);return b}}var bG=bF({keywords:J,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function bH(a,b){for(var i=0;i<b.length;i+=2){var c=b[i+1];if(c===T){var d,e;d=b[i];e=i+2<b.length?b[i+2]:a.length;var f=bG(a.substring(d,e));for(var j=0,m=f.length;j<m;j+=2){f[j]+=d}Y(f,b,i,2);i+=f.length-2}}return b}function bI(a,b){var c=false;for(var i=0;i<b.length;i+=2){var d=b[i+1];var e,f;if(d===U){e=b[i];f=i+2<b.length?b[i+2]:a.length;c=/^on|^style$/i.test(a.substring(e,f))}else if(d===V){if(c){e=b[i];f=i+2<b.length?b[i+2]:a.length;var g=a.substring(e,f);var h=g.length;var k=(h>=2&&/^[\"\']/.test(g)&&g.charAt(0)===g.charAt(h-1));var l;var n;var o;if(k){n=e+1;o=f-1;l=g}else{n=e+1;o=f-1;l=g.substring(1,g.length-1)}var p=bG(l);for(var j=0,m=p.length;j<m;j+=2){p[j]+=n}if(k){p.push(o,V);Y(p,b,i+2,0)}else{Y(p,b,i,2)}}c=false}}return b}function bJ(a){var b=bC(a);b=bE(a,b);b=bH(a,b);b=bI(a,b);return b}function bK(c,d,e){var f=[];var g=0;var h=null;var i=null;var j=0;var k=0;var l=br(PR_TAB_WIDTH);var m=/([\r\n ]) /g;var n=/(^| ) /gm;var o=/\r\n?|\n/g;var p=/[ \r\n]$/;var q=true;function r(a){if(a>g){if(h&&h!==i){f.push('</span>');h=null}if(!h&&i){h=i;f.push('<span class="',h,'">')}var b=bf(l(c.substring(g,a))).replace(q?n:m,'$1&nbsp;');q=p.test(b);f.push(b.replace(o,'<br />'));g=a}}while(true){var s;if(j<d.length){if(k<e.length){s=d[j]<=e[k]}else{s=true}}else{s=false}if(s){r(d[j]);if(h){f.push('</span>');h=null}f.push(d[j+1]);j+=2}else if(k<e.length){r(e[k]);i=e[k+1];k+=2}else{break}}r(c.length);if(h){f.push('</span>')}return f.join('')}var bL={};function bM(a,b){for(var i=b.length;--i>=0;){var c=b[i];if(!bL.hasOwnProperty(c)){bL[c]=a}else if('console'in window){console.log('cannot override language handler %s',c)}}}bM(bG,['default-code']);bM(bJ,['default-markup','html','htm','xhtml','xml','xsl']);bM(bF({keywords:B,hashComments:true,cStyleComments:true}),['c','cc','cpp','cs','cxx','cyc']);bM(bF({keywords:C,cStyleComments:true}),['java']);bM(bF({keywords:I,hashComments:true,multiLineStrings:true}),['bsh','csh','sh']);bM(bF({keywords:G,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),['cv','py']);bM(bF({keywords:F,hashComments:true,multiLineStrings:true,regexLiterals:true}),['perl','pl','pm']);bM(bF({keywords:H,hashComments:true,multiLineStrings:true,regexLiterals:true}),['rb']);bM(bF({keywords:E,cStyleComments:true,regexLiterals:true}),['js']);function bN(a,b){try{var c=bx(a);var d=c.source;var f=c.tags;if(!bL.hasOwnProperty(b)){b=/^\s*</.test(d)?'default-markup':'default-code'}var g=bL[b].call({},d);return bK(d,f,g)}catch(e){if('console'in window){console.log(e);console.trace()}return a}}function bO(o){var q=_0();var r=[document.getElementsByTagName('pre'),document.getElementsByTagName('code'),document.getElementsByTagName('xmp')];var s=[];for(var i=0;i<r.length;++i){for(var j=0;j<r[i].length;++j){s.push(r[i][j])}}r=null;var k=0;function t(){var b=(PR_SHOULD_USE_CONTINUATION?new Date().getTime()+250:Infinity);for(;k<s.length&&new Date().getTime()<b;k++){var c=s[k];if(c.className&&c.className.indexOf('prettyprint')>=0){var d=c.className.match(/\blang-(\w+)\b/);if(d){d=d[1]}var e=false;for(var p=c.parentNode;p;p=p.parentNode){if((p.tagName==='pre'||p.tagName==='code'||p.tagName==='xmp')&&p.className&&p.className.indexOf('prettyprint')>=0){e=true;break}}if(!e){var f=bq(c);f=f.replace(/(?:\r\n?|\n)$/,'');var g=bN(f,d);if(!bn(c)){c.innerHTML=g}else{var h=document.createElement('PRE');for(var i=0;i<c.attributes.length;++i){var a=c.attributes[i];if(a.specified){var l=a.name.toLowerCase();if(l==='class'){h.className=a.value}else{h.setAttribute(a.name,a.value)}}}h.innerHTML=g;c.parentNode.replaceChild(h,c);c=h}if(q&&c.tagName==='PRE'){var m=c.getElementsByTagName('br');for(var j=m.length;--j>=0;){var n=m[j];n.parentNode.replaceChild(document.createTextNode('\r\n'),n)}}}}}if(k<s.length){setTimeout(t,250)}else if(o){o()}}t()}window['PR_normalizedHtml']=bo;window['prettyPrintOne']=bN;window['prettyPrint']=bO;window['PR']={'createSimpleLexer':bz,'registerLangHandler':bM,'sourceDecorator':bF,'PR_ATTRIB_NAME':U,'PR_ATTRIB_VALUE':V,'PR_COMMENT':M,'PR_DECLARATION':S,'PR_KEYWORD':L,'PR_LITERAL':O,'PR_NOCODE':W,'PR_PLAIN':Q,'PR_PUNCTUATION':P,'PR_SOURCE':T,'PR_STRING':K,'PR_TAG':R,'PR_TYPE':N}})();
