/* PrismJS 1.15.0 prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+csharp+bash+ruby+markup-templating+git+java+json+php+python&plugins=line-highlight+line-numbers+toolbar+command-line+keep-markup+copy-to-clipboard */ var _self=“undefined”!=typeof window?window:“undefined”!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/blang(?:uage)?-([w-]+)b/i,t=0,n=_self.Prism={manual:_self.Prism&&_self.Prism.manual,disableWorkerMessageHandler:_self.Prism&&_self.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof a?new a(e.type,n.util.encode(e.content),e.alias):“Array”===n.util.type(e)?e.map(n.util.encode):e.replace(/&/g,“&”).replace(/e.length)return;if(!(w instanceof s)){if(m&&b!=t.length-1){h.lastIndex=k;var _=h.exec(e);if(!_)break;for(var j=_.index+(d?_[1].length:0),P=.index+[0].length,A=b,x=k,O=t.length;O>A&&(P>x||!t[A].type&&!t[A-1].greedy);++A)x+=t[A].length,j>=x&&(++b,k=x);if(t[b]instanceof s)continue;I=A-b,w=e.slice(k,x),_.index-=k}else{h.lastIndex=0;var _=h.exec(w),I=1}if(_){d&&(p=[1]?[1].length:0);var j=_.index+p,_=_[0].slice(p),P=j+_.length,N=w.slice(0,j),S=w.slice(P),C=[b,I];N&&(++b,k+=N.length,C.push(N));var E=new s(u,f?n.tokenize(_,f):_,y,_,m);if(C.push(E),S&&C.push(S),Array.prototype.splice.apply(t,C),1!=I&&n.matchGrammar(e,t,a,b,k,!0,u),i)break}else if(i)break}}}}},tokenize:function(e,t){var a=[e],r=t.rest;if®{for(var l in r)t[l]=r[l];delete t.rest}return n.matchGrammar(e,a,t,0,0,!1),a},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var r,l=0;r=a[l++];)r(t)}}},a=n.Token=function(e,t,n,a,r){this.type=e,this.content=t,this.alias=n,this.length=0|(a||“”).length,this.greedy=!!r};if(a.stringify=function(e,t,r){if(“string”==typeof e)return e;if(“Array”===n.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join(“”);var l={type:e.type,content:a.stringify(e.content,t,r),tag:“span”,classes:[“token”,e.type],attributes:{},language:t,parent:r};if(e.alias){var i=“Array”===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(l.classes,i)}n.hooks.run(“wrap”,l);var o=Object.keys(l.attributes).map(function(e){return e+‘=“’+(l.attributes[e]||”“).replace(/”/g,“”“)+‘”’}).join(“ ”);return“<"l.tag’ class=”‘+l.classes.join(“ ”)+’“‘+(o?” “+o:”“)+”>“l.contentl.tag“>”},!_self.document)return _self.addEventListener?(n.disableWorkerMessageHandler||_self.addEventListener(“message”,function(e){var t=JSON.parse(e.data),a=t.language,r=t.code,l=t.immediateClose;_self.postMessage(n.highlight(r,n.languages[a],a)),l&&_self.close()},!1),_self.Prism):_self.Prism;var r=document.currentScript||[].slice.call(document.getElementsByTagName(“script”)).pop();return r&&(n.filename=r.src,n.manual||r.hasAttribute(“data-manual”)||(“loading”!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener(“DOMContentLoaded”,n.highlightAll))),_self.Prism}();“undefined”!=typeof module&&module.exports&&(module.exports=Prism),“undefined”!=typeof global&&(global.Prism=Prism); Prism.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>/=$<%]+(?:\s+[^\s>/=]+(?:=(?:(“|’)(?:\[sS]|(?!1)[^\])*1|[^s‘”>=]+))?)s)[sS]*?(?=<\/style>)/i,lookbehind:!0,inside:Prism.languages.css,alias:“language-css”,greedy:!0}}),Prism.languages.insertBefore(“inside”,“attr-value”,{“style-attr”:{pattern:/s*style=(“|’)(?:\[sS]|(?!1)[^\])*1/i,inside:{”attr-name“:{pattern:/^s*style/i,inside:Prism.languages.markup.tag.inside},punctuation:/^s*=s*[‘”]|[’“]s*$/,”attr-value“:{pattern:/.+/i,inside:Prism.languages.css}},alias:”language-css“}},Prism.languages.markup.tag)); Prism.languages.clike={comment:[{pattern:/(^|[^\])/*[sS]*?(?:*/|$)/,lookbehind:!0},{pattern:/(^|[^\:])//.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([”‘])(?:\(?:rn|[sS])|(?!1)[^\rn])*1/,greedy:!0},“class-name”:{pattern:/((?:b(?:class|interface|extends|implements|trait|instanceof|new)s+)|(?:catchs+())[w.\]+/i,lookbehind:!0,inside:{punctuation:/[.\]/}},keyword:/b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)b/,“boolean”:/b(?:true|false)b/,“function”:/w+(?=()/,number:/b0x[da-f]+b|(?:bd+.?d*|B.d+)(?:e[+-]?d+)?/i,operator:/–?|++?|!=?=?|<=?|>=?|==?=?|&&?|||?|?|*|/|~|^|%/,punctuation:/[{}[">/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>/:]+:/}},“attr-value”:{pattern:/=(?:(“|’)(?:\[sS]|(?!1)[^\])*1|[^s‘”>=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\])[“’]/,lookbehind:!0}]}},punctuation://?>/,”attr-name“:{pattern:/[^s>/]+/,inside:{namespace:/^[^s>/:]+:/}}}},entity:/&#?[da-z]{1,8};/i},Prism.languages.markup.tag.inside;(),.:]/}; Prism.languages.javascript=Prism.languages.extend(”clike“,{”class-name“:[Prism.languages.clike[”class-name“],{pattern:/(^|[^$wxA0-uFFFF])[_$A-ZxA0-uFFFF][$wxA0-uFFFF]*(?=.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})s*)(?:catch|finally)b/,lookbehind:!0},/b(?:as|async|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)b/],number:/b(?:(?:0[xX][dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|d+n|NaN|Infinity)b|(?:bd+.?d*|B.d+)(?:[Ee][+-]?d+)?/,”function“:/[_$a-zA-ZxA0-uFFFF][$wxA0-uFFFF]*(?=s*(|.(?:apply|bind|call)()/,operator:/-[-=]?|+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?||[|=]?|**?=?|/=?|~|^=?|%=?|?|.{3}/}),Prism.languages.javascript[”class-name“][0].pattern=/(b(?:class|interface|extends|implements|instanceof|new)s+)[w.\]+/,Prism.languages.insertBefore(”javascript“,”keyword“,{regex:{pattern:/((?:^|[^$wxA0-uFFFF.”‘])s])s*)/([(?:[^]\rn]|\.)*]|\.|[^/\[rn])+/[gimyu]{0,5}(?=s*($|[rn,.;})]]))/,lookbehind:!0,greedy:!0},“function-variable”:{pattern:/[_$a-zxA0-uFFFF][$wxA0-uFFFF]*(?=s*[=:]s*(?:functionb|(?:([^()]*)|[_$a-zxA0-uFFFF][$wxA0-uFFFF]*)s*=>))/i,alias:“function”},constant:/b[A-Z][A-Zd_]*b/}),Prism.languages.insertBefore(“javascript”,“string”,{“template-string”:{pattern:/`(?:\[sS]|${[^}]+}|[^\`])*`/,greedy:!0,inside:{interpolation:{pattern:/${[^}]+}/,inside:{“interpolation-punctuation”:{pattern:/^${|}$/,alias:“punctuation”},rest:Prism.languages.javascript}},string:/[sS]+/}}}),Prism.languages.markup&&Prism.languages.insertBefore(“markup”,“tag”,{script:{pattern:/()[sS]*?(?=<\/script>)/i,lookbehind:!0,inside:Prism.languages.javascript,alias:“language-javascript”,greedy:!0}}),Prism.languages.js=Prism.languages.javascript; Prism.languages.csharp=Prism.languages.extend(“clike”,{keyword:/b(?:abstract|add|alias|as|ascending|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|descending|do|double|dynamic|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|from|get|global|goto|group|if|implicit|in|int|interface|internal|into|is|join|let|lock|long|namespace|new|null|object|operator|orderby|out|override|params|partial|private|protected|public|readonly|ref|remove|return|sbyte|sealed|select|set|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|value|var|virtual|void|volatile|where|while|yield)b/,string:[{pattern:/@(“|’)(?:11|\[sS]|(?!1)[^\])*1/,greedy:!0},{pattern:/(”|‘)(?:\.|(?!1)[^\rn])*?1/,greedy:!0}],“class-name”:[{pattern:/b[A-Z]w*(?:.w+)*b(?=s+w+)/,inside:{punctuation:/./}},{pattern:/([)[A-Z]w*(?:.w+)*b/,lookbehind:!0,inside:{punctuation:/./}},{pattern:/(b(?:class|interface)s+[A-Z]w*(?:.w+)s:s*)[A-Z]w*(?:.w+)*b/,lookbehind:!0,inside:{punctuation:/./}},{pattern:/((?:b(?:class|interface|new)s+)|(?:catchs+())[A-Z]w*(?:.w+)*b/,lookbehind:!0,inside:{punctuation:/./}}],number:/b0x[da-f]+b|(?:bd+.?d*|B.d+)f?/i,operator:/>>=?|<<=?|[-=]>|([-+&|?])1|~|[-+*/%&|^!=<>]=?/,punctuation:/?.?|::|[{};(),.:]/}),Prism.languages.insertBefore(“csharp”,“class-name”,“generic-method”:{pattern:/w+s*<[^>rn]+?>s*(?=()/,inside:{“function”:/^w+/,“class-name”:{pattern:/b[A-Z]w*(?:.w+)*b/,inside:{punctuation:/./}},keyword:Prism.languages.csharp.keyword,punctuation:/[<>(),.:]/}},preprocessor:{pattern:/(^s*)#.*/m,lookbehind:!0,alias:“property”,inside:{directive:{pattern:/(s*#)b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)b/,lookbehind:!0,alias:“keyword”}}}}),Prism.languages.dotnet=Prism.languages.csharp; !function(e){var t={variable:[{pattern:/$?(([sS]+?))/,inside:{variable:[{pattern:/(^$(([sS]+)))/,lookbehind:!0},/^$((/],number:/b0x[dA-Fa-f]+b|(?:bd+.?d*|B.d+)(?:[Ee]-?d+)?/,operator:/–?|-=|++?|+=|!=?|~|**?|*=|/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|^=?|||?||=|?|:/,punctuation:/((?|))?|,|;/}},{pattern:/$([^)]+)|`[^`]+`/,greedy:!0,inside:{variable:/^$(|^`|)$|`$/}},/$(?:[w#?*!@]+|{[^}]+})/i]};e.languages.bash={shebang:{pattern:/^#!s*/bin/bash|^#!s*/bin/sh/,alias:“important”},comment:{pattern:/(^|[^“{\])#.*/,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<\s*)["']?(\w+?)["']?\s*\r?\n(?:[\s\S])*?\r?\n\2/,lookbehind:!0,greedy:!0,inside:t},{pattern:/(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/,greedy:!0,inside:t}],variable:t.variable,"function":{pattern:/(^|[\s;|&])(?:alias|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|hash|head|help|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logout|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tail|tar|tee|test|time|timeout|times|top|touch|tr|traceroute|trap|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip|zypper)(?=$|[\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&])(?:let|:|\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|[\s;|&])/,lookbehind:!0},"boolean":{pattern:/(^|[\s;|&])(?:true|false)(?=$|[\s;|&])/,lookbehind:!0},operator:/&&?|\|\|?|==?|!=?|<<>|<=?|>=?|=~/,punctuation:/$?((?|))?|..|[{;]/};var a=t.variable.inside;a.string=e.languages.bash.string,a=e.languages.bash,a.keyword=e.languages.bash.keyword,a=e.languages.bash,a.operator=e.languages.bash.operator,a.punctuation=e.languages.bash.punctuation,e.languages.shell=e.languages.bash}(Prism); !function(e){e.languages.ruby=e.languages.extend(”clike“,{comment:[/#.*/,{pattern:/^=begin(?:r?n|r)(?:.*(?:r?n|r))*?=end/m,greedy:!0}],keyword:/b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)b/});var n={pattern:/#{[^}]+}/,inside:{delimiter:{pattern:/^#{|}$/,alias:”tag“},rest:e.languages.ruby}};delete e.languages.ruby.function,e.languages.insertBefore(”ruby“,”keyword“,{regex:[{pattern:/%r([^a-zA-Z0-9s{([<])(?:(?!\1)[^\\]|\\[\s\S])*\1[gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/%r<(?:[^<>\]|\[sS])*>[gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/(^|[^/])/(?!/)([.+?]|\.|[^/\rn])+/[gim]{0,3}(?=s*($|[rn,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]w*(?:[?!]|b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]w*(?:[?!]|b)/,lookbehind:!0},”method-definition“:{pattern:/(bdefs+)[w.]+/,lookbehind:!0,inside:{”function“:/w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore(”ruby“,”number“,{builtin:/b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)b/,constant:/b[A-Z]w*(?:[?!]|b)/}),e.languages.ruby.string=[{pattern:/%[qQiIwWxs]?([^a-zA-Z0-9s{([<])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0,inside:{interpolation:n}},{pattern:/%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/,greedy:!0,inside:{interpolation:n}},{pattern:/%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/,greedy:!0,inside:{interpolation:n}},{pattern:/%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/,greedy:!0,inside:{interpolation:n}},{pattern:/%[qQiIwWxs]?<(?:[^<>\]|\[sS])*>/,greedy:!0,inside:{interpolation:n}},{pattern:/(”|’)(?:#{[^}]+}|\(?:rn|[sS])|(?!1)[^\rn])*1/,greedy:!0,inside:{interpolation:n}}]}(Prism); Prism.languages[“markup-templating”]={},Object.defineProperties(Prism.languages[“markup-templating”],{buildPlaceholders:{value:function(e,t,n,a){e.language===t&&(e.tokenStack=[],e.code=e.code.replace(n,function(n){if(“function”==typeof a&&!a(n))return n;for(var r=e.tokenStack.length;-1!==e.code.indexOf(“_”+t.toUpperCase()r_”);)++r;return e.tokenStack[r]=n,“_”+t.toUpperCase()r_”}),e.grammar=Prism.languages.markup)}},tokenizePlaceholders:{value:function(e,t){if(e.language===t&&e.tokenStack){e.grammar=Prism.languages[t];var n=0,a=Object.keys(e.tokenStack),r=function(o){if(!(n>=a.length))for(var i=0;i_“+t.toUpperCase()c_“);if(p>-1){++n;var f,u=l.substring(0,p),_=new Prism.Token(t,Prism.tokenize(s,e.grammar,t),”language-“+t,s),k=l.substring(p+(”_“+t.toUpperCase()c_=a.length)break}}else g.content&&“string”!=typeof g.content&&r(g.content)}};r(e.tokens)}}}}); Prism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^+.*/m,string:/(“|‘)(?:\.|(?!1)[^\rn])*1/m,command:{pattern:/^.*$ git .*$/m,inside:{parameter:/s–?w+/m}},coord:/^@@.*@@$/m,commit_sha1:/^commit w{40}$/m}; !function(a){var e=/b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while|var|null)b/,t=/b[A-Z](?:w*[a-z]w*)?b/;a.languages.java=a.languages.extend(”clike“,{”class-name“:[t,/b[A-Z]w*(?=s+w+s*[;,=())])/],keyword:e,”function“:[a.languages.clike.function,{pattern:/(::)[a-z_]w*/,lookbehind:!0}],number:/b0b[01][01_]*L?b|b0x[da-f_]*.?[da-f_p+-]+b|(?:bd[d_]*.?[d_]*|B.d[d_]*)(?:e[+-]?d[d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])2|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),a.languages.insertBefore(”java“,”class-name“,{annotation:{alias:”punctuation“,pattern:/(^|[^.])@w+/,lookbehind:!0},namespace:{pattern:/b(packages+|imports+(?:statics+)?)[a-z]w*(.[a-z]w*)+/,lookbehind:!0,inside:{punctuation:/./}},generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{”class-name“:t,keyword:e,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})}(Prism); Prism.languages.json={comment:///.*|/*[sS]*?(?:*/|$)/,property:{pattern:/”(?:\.|[^\“rn])*”(?=s*:)/,greedy:!0},string:{pattern:/“(?:\.|[^\”rn])*“(?!s*:)/,greedy:!0},number:/-?d+.?d*(e[+-]?d+)?/i,punctuation:/[{}[">”).length);if(u||k?(f=,]/,operator:/:/,“boolean”:/b(?:true|false)b/,“null”:/bnullb/},Prism.languages.jsonp=Prism.languages.json; !function(e)e.languages.php=e.languages.extend(“clike”,{keyword:/b(?:and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)b/i,constant:/b[A-Z0-9_]{2,}b/,comment:{pattern:/(^|[^\])(?:/*[sS]*?*/|//.*)/,lookbehind:!0}}),e.languages.insertBefore(“php”,“string”,{“shell-comment”:{pattern:/(^|[^\])#.*/,lookbehind:!0,alias:“comment”}}),e.languages.insertBefore(“php”,“keyword”,{delimiter:{pattern:/?>|<\?(?:php|=)?/i,alias:"important"},variable:/\$+(?:\w+\b|(?={))/i,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),e.languages.insertBefore("php","operator",{property:{pattern:/(->)[w]+/,lookbehind:!0}});var n={pattern:/{$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\{])$+(?:w+(?:[.+?]|->w+)*)/,lookbehind:!0,inside:{rest:e.languages.php}};e.languages.insertBefore(“php”,“string”,{“nowdoc-string”:{pattern:/<<<'([^']+)'(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;/,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},"heredoc-string":{pattern:/<<<(?:"([^"]+)"(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;|([a-z_]\w*)(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\2;)/i,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:n}},"single-quoted-string":{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,alias:"string",inside:{interpolation:n}}}),delete e.languages.php.string,e.hooks.add("before-tokenize",function(n){if(/(?:<\?php|<\?)/gi.test(n.code)){var t=/(?:<\?php|<\?)[\s\S]*?(?:\?>|$)/gi;e.languages[“markup-templating”].buildPlaceholders(n,“php”,t)}}),e.hooks.add(“after-tokenize”,function(n){e.languages[“markup-templating”].tokenizePlaceholders(n,“php”)})}(Prism); Prism.languages.python={comment:{pattern:/(^|[^\])#.*/,lookbehind:!0},“string-interpolation”:{pattern:/(?:f|rf|fr)(?:(“”“|”’)[sS]+?1|(”|‘)(?:\.|(?!2)[^\rn])*2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{“format-spec”:{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},“conversion-option”:{pattern:/![sra](?=[:}]$)/,alias:“punctuation”},rest:null}},string:/[sS]+/}},“triple-quoted-string”:{pattern:/(?:[rub]|rb|br)?(“”“|”’)[sS]+?1/i,greedy:!0,alias:”string“},string:{pattern:/(?:[rub]|rb|br)?(”|‘)(?:\.|(?!1)[^\rn])*1/i,greedy:!0},“function”:{pattern:/((?:^|s)def[ t]+)[a-zA-Z_]w*(?=s*()/g,lookbehind:!0},“class-name”:{pattern:/(bclasss+)w+/i,lookbehind:!0},decorator:{pattern:/(^s*)@w+(?:.w+)*/i,lookbehind:!0,alias:[“annotation”,“punctuation”],inside:{punctuation:/./}},keyword:/b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)b/,builtin:/b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)b/,“boolean”:/b(?:True|False|None)b/,number:/(?:b(?=d)|B(?=.))(?:0[bo])?(?:(?:d|0x[da-f])[da-f]*.?d*|.d+)(?:e[+-]?d+)?j?b/i,operator:/[-+%=]=?|!=|**?=?|//?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{;(),.:]/},Prism.languages.python.inside.interpolation.inside.rest=Prism.languages.python; !function(){function e(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function t(e,t){return t=“ ”t“ ”,(“ ”e.className“ ”).replace(//g,“ ”).indexOf(t)>-1}function n(e,n,i){n=“string”==typeof n?n:e.getAttribute(“data-line”);for(var o,l=n.replace(/s+/g,“”).split(“,”),a=+e.getAttribute(“data-line-offset”)||0,s=r()?parseInt:parseFloat,d=s(getComputedStyle(e).lineHeight),u=t(e,“line-numbers”),c=0;o=l;){var p=o.split(“-”),m=+p,f=+p||m,h=e.querySelector(’.line-highlight[data-range=“‘o’”]')||document.createElement(“div”);if(h.setAttribute(“aria-hidden”,“true”),h.setAttribute(“data-range”,o),h.className=(i||“”)+“ line-highlight”,u&&Prism.plugins.lineNumbers){var g=Prism.plugins.lineNumbers.getLine(e,m),y=Prism.plugins.lineNumbers.getLine(e,f);g&&(h.style.top=g.offsetTop+“px”),y&&(h.style.height=y.offsetTop-g.offsetTop+y.offsetHeight+“px”)}else h.setAttribute(“data-start”,m),f>m&&h.setAttribute(“data-end”,f),h.style.top=(m-a-1)*d+“px”,h.textContent=new Array(f-m+2).join(“ n”);u?e.appendChild(h):(e.querySelector(“code”)||e).appendChild(h)}}function i(){var t=location.hash.slice(1);e(“.temporary.line-highlight”).forEach(function(e){e.parentNode.removeChild(e)});var i=(t.match(/.(+)$/)||[,“”])[1];if(i&&!document.getElementById(t)){var r=t.slice(0,t.lastIndexOf(“.”)),o=document.getElementById®;o&&(o.hasAttribute(“data-line”)||o.setAttribute(“data-line”,“”),n(o,i,“temporary ”),document.querySelector(“.temporary.line-highlight”).scrollIntoView())}}if(“undefined”!=typeof self&&self.Prism&&self.document&&document.querySelector){var r=function(){var e;return function(){if(“undefined”==typeof e){var t=document.createElement(“div”);t.style.fontSize=“13px”,t.style.lineHeight=“1.5”,t.style.padding=0,t.style.border=0,t.innerHTML=“&nbsp;<br />&nbsp;”,document.body.appendChild(t),e=38===t.offsetHeight,document.body.removeChild(t)}return e}}(),o=0;Prism.hooks.add(“before-sanity-check”,function(t){var n=t.element.parentNode,i=n&&n.getAttribute(“data-line”);if(n&&i&&/pre/i.test(n.nodeName)){var r=0;e(“.line-highlight”,n).forEach(function(e){r+=e.textContent.length,e.parentNode.removeChild(e)}),r&&/^( n)+$/.test(t.code.slice(-r))&&(t.code=t.code.slice(0,-r))}}),Prism.hooks.add(“complete”,function l(e){var r=e.element.parentNode,a=r&&r.getAttribute(“data-line”);if(r&&a&&/pre/i.test(r.nodeName)){clearTimeout(o);var s=Prism.plugins.lineNumbers,d=e.plugins&&e.plugins.lineNumbers;t(r,“line-numbers”)&&s&&!d?Prism.hooks.add(“line-numbers”,l):(n(r,a),o=setTimeout(i,1))}}),window.addEventListener(“hashchange”,i),window.addEventListener(“resize”,function(){var e=document.querySelectorAll(“pre”);Array.prototype.forEach.call(e,function(e){n(e)})})}}(); !function(){if(“undefined”!=typeof self&&self.Prism&&self.document){var e=“line-numbers”,t=/n(?!$)/g,n=function(e){var n=r(e),s=n;if(“pre-wrap”===s||“pre-line”===s){var l=e.querySelector(“code”),i=e.querySelector(“.line-numbers-rows”),a=e.querySelector(“.line-numbers-sizer”),o=l.textContent.split(t);a||(a=document.createElement(“span”),a.className=“line-numbers-sizer”,l.appendChild(a)),a.style.display=“block”,o.forEach(function(e,t){a.textContent=e||“n”;var n=a.getBoundingClientRect().height;i.children.style.height=n+“px”}),a.textContent=“”,a.style.display=“none”}},r=function(e){return e?window.getComputedStyle?getComputedStyle(e):e.currentStyle||null:null};window.addEventListener(“resize”,function(){Array.prototype.forEach.call(document.querySelectorAll(“pre.”+e),n)}),Prism.hooks.add(“complete”,function(e){if(e.code){var r=e.element.parentNode,s=/s*bline-numbersbs*/;if(r&&/pre/i.test(r.nodeName)&&(s.test(r.className)||s.test(e.element.className))&&!e.element.querySelector(“.line-numbers-rows”)){s.test(e.element.className)&&(e.element.className=e.element.className.replace(s,“ ”)),s.test(r.className)||(r.className+=“ line-numbers”);var l,i=e.code.match(t),a=i?i.length+1:1,o=new Array(a+1);o=o.join(“<span></span>”),l=document.createElement(“span”),l.setAttribute(“aria-hidden”,“true”),l.className=“line-numbers-rows”,l.innerHTML=o,r.hasAttribute(“data-start”)&&(r.style.counterReset=“linenumber ”+(parseInt(r.getAttribute(“data-start”),10)-1)),e.element.appendChild(l),n®,Prism.hooks.run(“line-numbers”,e)}}}),Prism.hooks.add(“line-numbers”,function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}),Prism.plugins.lineNumbers={getLine:function(t,n){if(“PRE”===t.tagName&&t.classList.contains(e)){var r=t.querySelector(“.line-numbers-rows”),s=parseInt(t.getAttribute(“data-start”),10)||1,l=s+(r.children.length-1);s>n&&(n=s),n>l&&(n=l);var i=n-s;return r.children}}}}}(); !function(){if(“undefined”!=typeof self&&self.Prism&&self.document){var t=[],e={},n=function(){};Prism.plugins.toolbar={};var a=Prism.plugins.toolbar.registerButton=function(n,a){var o;o=“function”==typeof a?a:function(t){var e;return“function”==typeof a.onClick?(e=document.createElement(“button”),e.type=“button”,e.addEventListener(“click”,function(){a.onClick.call(this,t)})):“string”==typeof a.url?(e=document.createElement(“a”),e.href=a.url):e=document.createElement(“span”),e.textContent=a.text,e},t.push(e=o)},o=Prism.plugins.toolbar.hook=function(a){var o=a.element.parentNode;if(o&&/pre/i.test(o.nodeName)&&!o.parentNode.classList.contains(“code-toolbar”)){var r=document.createElement(“div”);r.classList.add(“code-toolbar”),o.parentNode.insertBefore(r,o),r.appendChild(o);var i=document.createElement(“div”);i.classList.add(“toolbar”),document.body.hasAttribute(“data-toolbar-order”)&&(t=document.body.getAttribute(“data-toolbar-order”).split(“,”).map(function(t){return e||n})),t.forEach(function(t){var e=t(a);if(e){var n=document.createElement(“div”);n.classList.add(“toolbar-item”),n.appendChild(e),i.appendChild(n)}}),r.appendChild(i)}};a(“label”,function(t){var e=t.element.parentNode;if(e&&/pre/i.test(e.nodeName)&&e.hasAttribute(“data-label”)){var n,a,o=e.getAttribute(“data-label”);try{a=document.querySelector(“template#”+o)}catch®{}return a?n=a.content:(e.hasAttribute(“data-url”)?(n=document.createElement(“a”),n.href=e.getAttribute(“data-url”)):n=document.createElement(“span”),n.textContent=o),n}}),Prism.hooks.add(“complete”,o)}}(); !function(){if(“undefined”!=typeof self&&self.Prism&&self.document){var e=/(?:^|s)command-line(?:s|$)/;Prism.hooks.add(“before-highlight”,function(t){var a=t.vars=t.vars||{},n=a=a||{};if(n.complete||!t.code)return n.complete=!0,void 0;var r=t.element.parentNode;if(!r||!/pre/i.test(r.nodeName)||!e.test(r.className)&&!e.test(t.element.className))return n.complete=!0,void 0;if(t.element.querySelector(“.command-line-prompt”))return n.complete=!0,void 0;var o=t.code.split(“n”);n.numberOfLines=o.length;var s=n.outputLines=[],i=r.getAttribute(“data-output”),l=r.getAttribute(“data-filter-output”);if(i||“”===i){i=i.split(“,”);for(var m=0;m<i.length;m++){var d=i.split(“-”),p=parseInt(d,10),c=2===d.length?parseInt(d,10):p;if(!isNaN(p)&&!isNaN©){1>p&&(p=1),c>o.length&&(c=o.length),p–,c–;for(var u=p;c>=u;u++)s=o,o=“”}}}else if(l)for(var m=0;m.indexOf(l)&&(s=o.slice(l.length),o=“”);t.code=o.join(“n”)}),Prism.hooks.add(“before-insert”,function(e){var t=e.vars=e.vars||{},a=t=t||{};if(!a.complete){for(var n=e.highlightedCode.split(“n”),r=0;r=a.outputLines);e.highlightedCode=n.join(“n”)}}),Prism.hooks.add(“complete”,function(t){var a=t.vars=t.vars||{},n=a=a||{};if(!n.complete){var r=t.element.parentNode;e.test(t.element.className)&&(t.element.className=t.element.className.replace(e,“ ”)),e.test(r.className)||(r.className+=“ command-line”);var o=function(e,t){return(r.getAttribute(e)||t).replace(/“/g,”&quot“)},s=new Array(n.numberOfLines+1),i=o(”data-prompt“,”“);if(”“!==i)s=s.join('<span data-prompt=”'i'“></span>');else{var l=o(”data-user“,”user“),m=o(”data-host“,”localhost“);s=s.join('<span data-user=”'l'“ data-host=”'m'“></span>')}var d=document.createElement(”span“);d.className=”command-line-prompt“,d.innerHTML=s;for(var p=0;p<n.outputLines.length;p++)if(n.outputLines.hasOwnProperty(p)){var c=d.children;c.removeAttribute(”data-user“),c.removeAttribute(”data-host“),c.removeAttribute(”data-prompt“)}t.element.insertBefore(d,t.element.firstChild),n.complete=!0}})}}(); !function(){”undefined“!=typeof self&&self.Prism&&self.document&&document.createRange&&(Prism.plugins.KeepMarkup=!0,Prism.hooks.add(”before-highlight“,function(e){if(e.element.children.length){var n=0,o=[],t=function(e,d){var r={};d||(r.clone=e.cloneNode(!1),r.posOpen=n,o.push®);for(var a=0,s=e.childNodes.length;s>a;a++){var l=e.childNodes;1===l.nodeType?t(l):3===l.nodeType&&(n+=l.data.length)}d||(r.posClose=n)};t(e.element,!0),o&&o.length&&(e.keepMarkup=o)}}),Prism.hooks.add(”after-highlight“,function(e){if(e.keepMarkup&&e.keepMarkup.length){var n=function(e,o){for(var t=0,d=e.childNodes.length;d>t;t++){var r=e.childNodes;if(1===r.nodeType){if(!n(r,o))return!1}else 3===r.nodeType&&(!o.nodeStart&&o.pos+r.data.length>o.node.posOpen&&(o.nodeStart=r,o.nodeStartPos=o.node.posOpen-o.pos),o.nodeStart&&o.pos+r.data.length>=o.node.posClose&&(o.nodeEnd=r,o.nodeEndPos=o.node.posClose-o.pos),o.pos+=r.data.length);if(o.nodeStart&&o.nodeEnd){var a=document.createRange();return a.setStart(o.nodeStart,o.nodeStartPos),a.setEnd(o.nodeEnd,o.nodeEndPos),o.node.clone.appendChild(a.extractContents()),a.insertNode(o.node.clone),a.detach(),!1}}return!0};e.keepMarkup.forEach(function(o){n(e.element,{node:o,pos:0})}),e.highlightedCode=e.element.innerHTML}}))}(); !function(){if(”undefined“!=typeof self&&self.Prism&&self.document){if(!Prism.plugins.toolbar)return console.warn(”Copy to Clipboard plugin loaded before Toolbar plugin.“),void 0;var o=window.ClipboardJS||void 0;o||”function“!=typeof require||(o=require(”clipboard“));var e=[];if(!o){var t=document.createElement(”script“),n=document.querySelector(”head“);t.onload=function(){if(o=window.ClipboardJS)for(;e.length;)e.pop()()},t.src=”cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js“,n.appendChild(t)}Prism.plugins.toolbar.registerButton(”copy-to-clipboard“,function(t){function n(){var e=new o(i,{text:function(){return t.code}});e.on(”success“,function(){i.textContent=”Copied!“,r()}),e.on(”error“,function(){i.textContent=”Press Ctrl+C to copy“,r()})}function r(){setTimeout(function(){i.textContent=”Copy“},5e3)}var i=document.createElement(”a“);return i.textContent=”Copy“,o?n():e.push(n),i})}}();