2021-01-31 10:05:52 +13:00
/ * P r i s m J S 1 . 2 3 . 0
https : //prismjs.com/download.html#themes=prism-okaidia&languages=markup+css+clike+javascript+bash+csharp+dart+go+graphql+http+java+json+kotlin+markup-templating+php+powershell+python+ruby+swift+typescript+yaml&plugins=line-numbers */
var _self = "undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : { } , Prism = function ( u ) { var c = /\blang(?:uage)?-([\w-]+)\b/i , n = 0 , M = { manual : u . Prism && u . Prism . manual , disableWorkerMessageHandler : u . Prism && u . Prism . disableWorkerMessageHandler , util : { encode : function e ( n ) { return n instanceof W ? new W ( n . type , e ( n . content ) , n . alias ) : Array . isArray ( n ) ? n . map ( e ) : n . replace ( /&/g , "&" ) . replace ( /</g , "<" ) . replace ( /\u00a0/g , " " ) } , type : function ( e ) { return Object . prototype . toString . call ( e ) . slice ( 8 , - 1 ) } , objId : function ( e ) { return e . _ _id || Object . defineProperty ( e , "__id" , { value : ++ n } ) , e . _ _id } , clone : function r ( e , t ) { var a , n ; switch ( t = t || { } , M . util . type ( e ) ) { case "Object" : if ( n = M . util . objId ( e ) , t [ n ] ) return t [ n ] ; for ( var i in a = { } , t [ n ] = a , e ) e . hasOwnProperty ( i ) && ( a [ i ] = r ( e [ i ] , t ) ) ; return a ; case "Array" : return n = M . util . objId ( e ) , t [ n ] ? t [ n ] : ( a = [ ] , t [ n ] = a , e . forEach ( function ( e , n ) { a [ n ] = r ( e , t ) } ) , a ) ; default : return e } } , getLanguage : function ( e ) { for ( ; e && ! c . test ( e . className ) ; ) e = e . parentElement ; return e ? ( e . className . match ( c ) || [ , "none" ] ) [ 1 ] . toLowerCase ( ) : "none" } , currentScript : function ( ) { if ( "undefined" == typeof document ) return null ; if ( "currentScript" in document ) return document . currentScript ; try { throw new Error } catch ( e ) { var n = ( /at [^(\r\n]*\((.*):.+:.+\)$/i . exec ( e . stack ) || [ ] ) [ 1 ] ; if ( n ) { var r = document . getElementsByTagName ( "script" ) ; for ( var t in r ) if ( r [ t ] . src == n ) return r [ t ] } return null } } , isActive : function ( e , n , r ) { for ( var t = "no-" + n ; e ; ) { var a = e . classList ; if ( a . contains ( n ) ) return ! 0 ; if ( a . contains ( t ) ) return ! 1 ; e = e . parentElement } return ! ! r } } , languages : { extend : function ( e , n ) { var r = M . util . clone ( M . languages [ e ] ) ; for ( var t in n ) r [ t ] = n [ t ] ; return r } , insertBefore : function ( r , e , n , t ) { var a = ( t = t || M . languages ) [ r ] , i = { } ; for ( var l in a ) if ( a . hasOwnProperty ( l ) ) { if ( l == e ) for ( var o in n ) n . hasOwnProperty ( o ) && ( i [ o ] = n [ o ] ) ; n . hasOwnProperty ( l ) || ( i [ l ] = a [ l ] ) } var s = t [ r ] ; return t [ r ] = i , M . languages . DFS ( M . languages , function ( e , n ) { n === s && e != r && ( this [ e ] = i ) } ) , i } , DFS : function e ( n , r , t , a ) { a = a || { } ; var i = M . util . objId ; for ( var l in n ) if ( n . hasOwnProperty ( l ) ) { r . call ( n , l , n [ l ] , t || l ) ; var o = n [ l ] , s = M . util . type ( o ) ; "Object" !== s || a [ i ( o ) ] ? "Array" !== s || a [ i ( o ) ] || ( a [ i ( o ) ] = ! 0 , e ( o , r , l , a ) ) : ( a [ i ( o ) ] = ! 0 , e ( o , r , null , a ) ) } } } , plugins : { } , highlightAll : function ( e , n ) { M . highlightAllUnder ( document , e , n ) } , highlightAllUnder : function ( e , n , r ) { var t = { callback : r , container : e , selector : 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code' } ; M . hooks . run ( "before-highlightall" , t ) , t . elements = Array . prototype . slice . apply ( t . container . querySelectorAll ( t . selector ) ) , M . hooks . run ( "before-all-elements-highlight" , t ) ; for ( var a , i = 0 ; a = t . elements [ i ++ ] ; ) M . highlightElement ( a , ! 0 === n , t . callback ) } , highlightElement : function ( e , n , r ) { var t = M . util . getLanguage ( e ) , a = M . languages [ t ] ; e . className = e . className . replace ( c , "" ) . replace ( /\s+/g , " " ) + " language-" + t ; var i = e . parentElement ; i && "pre" === i . nodeName . toLowerCase ( ) && ( i . className = i . className . replace ( c , "" ) . replace ( /\s+/g , " " ) + " language-" + t ) ; var l = { element : e , language : t , grammar : a , code : e . textContent } ; function o ( e ) { l . highlightedCode = e , M . hooks . run ( "before-insert" , l ) , l . element . innerHTML = l . highlightedCode , M . hooks . run ( "after-highlight" , l ) , M . hooks . run ( "complete" , l ) , r && r . call ( l . element ) } if ( M . hooks . run ( "before-sanity-check" , l ) , ! l . code ) return M . hooks . run ( "complete" , l ) , void ( r && r . call ( l . element ) ) ; if ( M . hooks . run ( "before-highlight" , l ) , l . grammar ) if ( n && u . Worker ) { var s = new Worker ( M . filename ) ; s . onmessage = function ( e ) { o ( e . data ) } , s . postMessage ( JSON . stringify ( { language : l . language , code : l . code , immediateClose : ! 0 } ) ) } else o ( M . highlight ( l . code , l . grammar , l . language ) ) ; else o ( M . util . encode ( l . code ) ) } , highlight : function ( e , n , r ) { var t = { code : e , grammar : n , language : r } ; return M . hooks . run ( "before-tokenize" , t ) , t . tokens = M . tokenize ( t . code , t . grammar ) , M . hooks . run ( "after-tokenize" , t ) , W . stringify ( M . util . encode ( t . tokens ) , t . language ) } , tokenize : function ( e , n ) { var r = n . rest ; if ( r ) { for ( var t in r ) n [ t ] = r [ t ] ; delete n . rest } var a = new i ; return I ( a , a . head , e ) , function e ( n , r , t , a , i , l ) { for ( var o in t ) if ( t . hasOwnProperty ( o ) && t [ o ] ) { var s = t [ o ] ; s = Array . isArray ( s ) ? s : [ s ] ; for ( var u = 0 ; u < s . length ; ++ u ) { if ( l && l . cause == o + "," + u ) return ; var c = s [ u ] , g = c .
Prism . languages . markup = { comment : /<!--[\s\S]*?-->/ , prolog : /<\?[\s\S]+?\?>/ , doctype : { pattern : /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i , greedy : ! 0 , inside : { "internal-subset" : { pattern : /(\[)[\s\S]+(?=\]>$)/ , lookbehind : ! 0 , greedy : ! 0 , inside : null } , string : { pattern : /"[^"]*"|'[^']*'/ , greedy : ! 0 } , punctuation : /^<!|>$|[[\]]/ , "doctype-tag" : /^DOCTYPE/ , name : /[^\s<>'"]+/ } } , cdata : /<!\[CDATA\[[\s\S]*?]]>/i , tag : { pattern : /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ , greedy : ! 0 , inside : { tag : { pattern : /^<\/?[^\s>\/]+/ , inside : { punctuation : /^<\/?/ , namespace : /^[^\s>\/:]+:/ } } , "attr-value" : { pattern : /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/ , inside : { punctuation : [ { pattern : /^=/ , alias : "attr-equals" } , /"|'/ ] } } , punctuation : /\/?>/ , "attr-name" : { pattern : /[^\s>\/]+/ , inside : { namespace : /^[^\s>\/:]+:/ } } } } , entity : [ { pattern : /&[\da-z]{1,8};/i , alias : "named-entity" } , /&#x?[\da-f]{1,8};/i ] } , Prism . languages . markup . tag . inside [ "attr-value" ] . inside . entity = Prism . languages . markup . entity , Prism . languages . markup . doctype . inside [ "internal-subset" ] . inside = Prism . languages . markup , Prism . hooks . add ( "wrap" , function ( a ) { "entity" === a . type && ( a . attributes . title = a . content . replace ( /&/ , "&" ) ) } ) , Object . defineProperty ( Prism . languages . markup . tag , "addInlined" , { value : function ( a , e ) { var s = { } ; s [ "language-" + e ] = { pattern : /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i , lookbehind : ! 0 , inside : Prism . languages [ e ] } , s . cdata = /^<!\[CDATA\[|\]\]>$/i ; var n = { "included-cdata" : { pattern : /<!\[CDATA\[[\s\S]*?\]\]>/i , inside : s } } ; n [ "language-" + e ] = { pattern : /[\s\S]+/ , inside : Prism . languages [ e ] } ; var t = { } ; t [ a ] = { pattern : RegExp ( "(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)" . replace ( /__/g , function ( ) { return a } ) , "i" ) , lookbehind : ! 0 , greedy : ! 0 , inside : n } , Prism . languages . insertBefore ( "markup" , "cdata" , t ) } } ) , Prism . languages . html = Prism . languages . markup , Prism . languages . mathml = Prism . languages . markup , Prism . languages . svg = Prism . languages . markup , Prism . languages . xml = Prism . languages . extend ( "markup" , { } ) , Prism . languages . ssml = Prism . languages . xml , Prism . languages . atom = Prism . languages . xml , Prism . languages . rss = Prism . languages . xml ;
! function ( s ) { var e = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ ; s . languages . css = { comment : /\/\*[\s\S]*?\*\// , atrule : { pattern : /@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/ , inside : { rule : /^@[\w-]+/ , "selector-function-argument" : { pattern : /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/ , lookbehind : ! 0 , alias : "selector" } , keyword : { pattern : /(^|[^\w-])(?:and|not|only|or)(?![\w-])/ , lookbehind : ! 0 } } } , url : { pattern : RegExp ( "\\burl\\((?:" + e . source + "|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)" , "i" ) , greedy : ! 0 , inside : { function : /^url/i , punctuation : /^\(|\)$/ , string : { pattern : RegExp ( "^" + e . source + "$" ) , alias : "url" } } } , selector : RegExp ( "[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|" + e . source + ")*(?=\\s*\\{)" ) , string : { pattern : e , greedy : ! 0 } , property : /(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i , important : /!important\b/i , function : /[-a-z0-9]+(?=\()/i , punctuation : /[(){};:,]/ } , s . languages . css . atrule . inside . rest = s . languages . css ; var t = s . languages . markup ; t && ( t . tag . addInlined ( "style" , "css" ) , s . languages . insertBefore ( "inside" , "attr-value" , { "style-attr" : { pattern : /(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i , lookbehind : ! 0 , inside : { "attr-value" : { pattern : /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/ , inside : { style : { pattern : /(["'])[\s\S]+(?=["']$)/ , lookbehind : ! 0 , alias : "language-css" , inside : s . languages . css } , punctuation : [ { pattern : /^=/ , alias : "attr-equals" } , /"|'/ ] } } , "attr-name" : /^style/i } } } , t . tag ) ) } ( Prism ) ;
Prism . languages . clike = { comment : [ { pattern : /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/ , lookbehind : ! 0 , greedy : ! 0 } , { pattern : /(^|[^\\:])\/\/.*/ , lookbehind : ! 0 , greedy : ! 0 } ] , string : { pattern : /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ , greedy : ! 0 } , "class-name" : { pattern : /(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\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|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i , operator : /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/ , punctuation : /[{}[\];(),.:]/ } ;
Prism . languages . javascript = Prism . languages . extend ( "clike" , { "class-name" : [ Prism . languages . clike [ "class-name" ] , { pattern : /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/ , lookbehind : ! 0 } ] , keyword : [ { pattern : /((?:^|})\s*)catch\b/ , lookbehind : ! 0 } , { pattern : /(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/ , lookbehind : ! 0 } ] , function : /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ , number : /\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/ , 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 : /((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/ , lookbehind : ! 0 , greedy : ! 0 , inside : { "regex-source" : { pattern : /^(\/)[\s\S]+(?=\/[a-z]*$)/ , lookbehind : ! 0 , alias : "language-regex" , inside : Prism . languages . regex } , "regex-flags" : /[a-z]+$/ , "regex-delimiter" : /^\/|\/$/ } } , "function-variable" : { pattern : /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/ , alias : "function" } , parameter : [ { pattern : /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/ , lookbehind : ! 0 , inside : Prism . languages . javascript } , { pattern : /(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i , inside : Prism . languages . javascript } , { pattern : /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/ , lookbehind : ! 0 , inside : Prism . languages . javascript } , { pattern : /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|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|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/ , lookbehind : ! 0 , inside : Prism . languages . javascript } ] , constant : /\b[A-Z](?:[A-Z_]|\dx?)*\b/ } ) , Prism . languages . insertBefore ( "javascript" , "string" , { "template-string" : { pattern : /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/ , greedy : ! 0 , inside : { "template-punctuation" : { pattern : /^`|`$/ , alias : "string" } , interpolation : { pattern : /((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/ , lookbehind : ! 0 , inside : { "interpolation-punctuation" : { pattern : /^\${|}$/ , alias : "punctuation" } , rest : Prism . languages . javascript } } , string : /[\s\S]+/ } } } ) , Prism . languages . markup && Prism . languages . markup . tag . addInlined ( "script" , "javascript" ) , Prism . languages . js = Prism . languages . javascript ;
! function ( e ) { var t = "\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b" , n = { pattern : /(^(["']?)\w+\2)[ \t]+\S.*/ , lookbehind : ! 0 , alias : "punctuation" , inside : null } , a = { bash : n , environment : { pattern : RegExp ( "\\$" + t ) , alias : "constant" } , variable : [ { pattern : /\$?\(\([\s\S]+?\)\)/ , greedy : ! 0 , inside : { variable : [ { pattern : /(^\$\(\([\s\S]+)\)\)/ , lookbehind : ! 0 } , /^\$\(\(/ ] , number : /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/ , operator : /--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/ , punctuation : /\(\(?|\)\)?|,|;/ } } , { pattern : /\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/ , greedy : ! 0 , inside : { variable : /^\$\(|^`|\)$|`$/ } } , { pattern : /\$\{[^}]+\}/ , greedy : ! 0 , inside : { operator : /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/ , punctuation : /[\[\]]/ , environment : { pattern : RegExp ( "(\\{)" + t ) , lookbehind : ! 0 , alias : "constant" } } } , /\$(?:\w+|[#?*!@$])/ ] , entity : /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/ } ; e . languages . bash = { shebang : { pattern : /^#!\s*\/.*/ , alias : "important" } , comment : { pattern : /(^|[^"{\\$])#.*/ , lookbehind : ! 0 } , "function-name" : [ { pattern : /(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ , lookbehind : ! 0 , alias : "function" } , { pattern : /\b\w+(?=\s*\(\s*\)\s*\{)/ , alias : "function" } ] , "for-or-select" : { pattern : /(\b(?:for|select)\s+)\w+(?=\s+in\s)/ , alias : "variable" , lookbehind : ! 0 } , "assign-left" : { pattern : /(^|[\s;|&]|[<>]\()\w+(?=\+?=)/ , inside : { environment : { pattern : RegExp ( "(^|[\\s;|&]|[<>]\\()" + t ) , lookbehind : ! 0 , alias : "constant" } } , alias : "variable" , lookbehind : ! 0 } , string : [ { pattern : /((?:^|[^<])<<-?\s*)(\w+?)\s[\s\S]*?(?:\r?\n|\r)\2/ , lookbehind : ! 0 , greedy : ! 0 , inside : a } , { pattern : /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/ , lookbehind : ! 0 , greedy : ! 0 , inside : { bash : n } } , { pattern : /(^|[^\\](?:\\\\)*)(["'])(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|(?!\2)[^\\`$])*\2/ , lookbehind : ! 0 , greedy : ! 0 , inside : a } ] , environment : { pattern : RegExp ( "\\$?" + t ) , alias : "constant" } , variable : a . variable , function : { pattern : / ( ^ | [ \ s ; | & ] | [ < > ] \ ( ) ( ? : a d d | a p r o p o s | a p t | a p t i t u d e | a p t - c a c h e | a p t - g e t | a s p e l l | a u t o m y s q l b a c k u p | a w k | b a s e n a m e | b a s h | b c | b c o n s o l e | b g | b z i p 2 | c a l | c a t | c f d i s k | c h g r p | c h k c o n f i g | c h m o d | c h o w n | c h r o o t | c k s u m | c l e a r | c m p | c o l u m n | c o m m | c o m p o s e r | c p | c r o n | c r o n t a b | c s p l i t | c u r l | c u t | d a t e | d c | d d | d d r e s c u e | d e b o o t s t r a p | d f | d i f f | d i f f 3 | d i g | d i r | d i r c o l o r s | d i r n a m e | d i r s | d m e s g | d u | e g r e p | e j e c t | e n v | e t h t o o l | e x p a n d | e x p e c t | e x p r | f d f o r m a t | f d i s k | f g | f g r e p | f i l e | f i n d | f m t | f o l d | f o r m a t | f r e e | f s c k | f t p | f u s e r | g a w k | g i t | g p a r t e d | g r e p | g r o u p a d d | g r o u p d e l | g r o u p m o d | g r o u p s | g r u b - m k c o n f i g | g z i p | h a l t | h e a d | h g | h i s t o r y | h o s t | h o s t n a m e | h t o p | i c o n v | i d | i f c o n f i g | i f d o w n | i f u p | i m p o r t | i n s t a l l | i p | j o b s | j o i n | k i l l | k i l l a l l | l e s s | l i n k | l n | l o c a t e | l o g n a m e | l o g r o t a t e | l o o k | l p c | l p r | l p r i n t | l p r i n t d | l p r i n t q | l p r m | l s | l s o f | l y n x | m a k e | m a n | m c | m d a d m | m k c o n f i g | m k d i r | m k e 2 f s | m k f i f o | m k f s | m k i s o f s | m k n o d | m k s w a p | m m v | m o r e | m o s t | m o u n t | m t o o l s | m t r | m u t t | m v | n a n o | n c | n e t s t a t | n i c e | n l | n o h u p | n o t i f y - s e n d | n p m | n s l o o k u p | o p | o p e n | p a r t e d | p a s s w d | p a s t e | p a t h c h k | p i n g | p k i l l | p n p m | p o p d | p r | p r i n t c a p | p r i n t e n v | p s | p u s h d | p v | q u o t a | q u o t a c h e c k | q u o t a c t l | r a m | r a r | r c p | r e b o o t | r e m s y n c | r e n a m e | r e n i c e | r e v | r m | r
! function ( s ) { function a ( e , s ) { return e . replace ( /<<(\d+)>>/g , function ( e , n ) { return "(?:" + s [ + n ] + ")" } ) } function t ( e , n , s ) { return RegExp ( a ( e , n ) , s || "" ) } function e ( e , n ) { for ( var s = 0 ; s < n ; s ++ ) e = e . replace ( /<<self>>/g , function ( ) { return "(?:" + e + ")" } ) ; return e . replace ( /<<self>>/g , "[^\\s\\S]" ) } var n = "bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void" , i = "class enum interface struct" , r = "add alias and ascending async await by descending from get global group into join let nameof not notnull on or orderby partial remove select set unmanaged value when where" , o = "abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield" ; function l ( e ) { return "\\b(?:" + e . trim ( ) . replace ( / /g , "|" ) + ")\\b" } var d = l ( i ) , p = RegExp ( l ( n + " " + i + " " + r + " " + o ) ) , c = l ( i + " " + r + " " + o ) , u = l ( n + " " + i + " " + o ) , g = e ( "<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>" , 2 ) , b = e ( "\\((?:[^()]|<<self>>)*\\)" , 2 ) , h = "@?\\b[A-Za-z_]\\w*\\b" , f = a ( "<<0>>(?:\\s*<<1>>)?" , [ h , g ] ) , m = a ( "(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*" , [ c , f ] ) , k = "\\[\\s*(?:,\\s*)*\\]" , y = a ( "<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?" , [ m , k ] ) , w = a ( "(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?" , [ a ( "\\(<<0>>+(?:,<<0>>+)+\\)" , [ a ( "[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>" , [ g , b , k ] ) ] ) , m , k ] ) , v = { keyword : p , punctuation : /[<>()?,.:[\]]/ } , x = "'(?:[^\r\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'" , $ = '"(?:\\\\.|[^\\\\"\r\n])*"' ; s . languages . csharp = s . languages . extend ( "clike" , { string : [ { pattern : t ( "(^|[^$\\\\])<<0>>" , [ '@"(?:""|\\\\[^]|[^\\\\"])*"(?!")' ] ) , lookbehind : ! 0 , greedy : ! 0 } , { pattern : t ( "(^|[^@$\\\\])<<0>>" , [ $ ] ) , lookbehind : ! 0 , greedy : ! 0 } , { pattern : RegExp ( x ) , greedy : ! 0 , alias : "character" } ] , "class-name" : [ { pattern : t ( "(\\busing\\s+static\\s+)<<0>>(?=\\s*;)" , [ m ] ) , lookbehind : ! 0 , inside : v } , { pattern : t ( "(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)" , [ h , w ] ) , lookbehind : ! 0 , inside : v } , { pattern : t ( "(\\busing\\s+)<<0>>(?=\\s*=)" , [ h ] ) , lookbehind : ! 0 } , { pattern : t ( "(\\b<<0>>\\s+)<<1>>" , [ d , f ] ) , lookbehind : ! 0 , inside : v } , { pattern : t ( "(\\bcatch\\s*\\(\\s*)<<0>>" , [ m ] ) , lookbehind : ! 0 , inside : v } , { pattern : t ( "(\\bwhere\\s+)<<0>>" , [ h ] ) , lookbehind : ! 0 } , { pattern : t ( "(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>" , [ y ] ) , lookbehind : ! 0 , inside : v } , { pattern : t ( "\\b<<0>>(?=\\s+(?!<<1>>)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))" , [ w , u , h ] ) , inside : v } ] , keyword : p , number : /(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:ul|lu|[dflmu])?\b/i , operator : />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/ , punctuation : /\?\.?|::|[{}[\];(),.:]/ } ) , s . languages . insertBefore ( "csharp" , "number" , { range : { pattern : /\.\./ , alias : "operator" } } ) , s . languages . insertBefore ( "csharp" , "punctuation" , { "named-parameter" : { pattern : t ( "([(,]\\s*)<<0>>(?=\\s*:)" , [ h ] ) , lookbehind : ! 0 , alias : "punctuation" } } ) , s . languages . insertBefore ( "csharp" , "class-name" , { namespace : { pattern : t ( "(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])" , [ h ] ) , lookbehind : ! 0 , inside : { punctuation : /\./ } } , "type-expression" : { pattern : t ( "(\\b(?:default|typeof|sizeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))" , [ b ] ) , lookbehind : ! 0 , alias : "class-name" , inside : v } , "return-type" : { pattern : t ( "<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))" , [ w , m ] ) , inside : v , alias : "class-name" } , "constructor-invocation" : { pattern : t ( "(\\bnew\\s+)<<0>>(?=\\s*[[({])" , [ w ] ) , lookbehind : ! 0 , inside : v , alias : "class-name" } , "generic-method" : { pattern : t ( "<<0>>\\s*<<1>>(?=\\s*\\()" , [ h , g ] ) , inside : { function : t ( "^<<0>>" , [ h ] ) , generic : { pattern : RegExp ( g ) , alias : "class-name" , inside : v } } } , "type-list" : { pattern : t ( "\\b((?:<<0>>\\s+<<1>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>)(?:\\s*,\\s*(?:<<3>>|<<4>>))*(?=\\s*(?:where|[{;]|=>|$))" , [ d , f , h , w , p . source ] ) , lookbehind : ! 0 , inside : { keyword : p , "class-name" : { pattern : RegExp ( w ) , greedy : ! 0 , inside : v } , punctuation : /,/ } } , preprocessor : { pattern : /(^\s*)#.*/m
Prism . languages . dart = Prism . languages . extend ( "clike" , { string : [ { pattern : /r?("""|''')[\s\S]*?\1/ , greedy : ! 0 } , { pattern : /r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/ , greedy : ! 0 } ] , keyword : [ /\b(?:async|sync|yield)\*/ , /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/ ] , operator : /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/ } ) , Prism . languages . insertBefore ( "dart" , "function" , { metadata : { pattern : /@\w+/ , alias : "symbol" } } ) ;
Prism . languages . go = Prism . languages . extend ( "clike" , { string : { pattern : /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/ , greedy : ! 0 } , keyword : /\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/ , boolean : /\b(?:_|iota|nil|true|false)\b/ , number : /(?:\b0x[a-f\d]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[-+]?\d+)?)i?/i , operator : /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ , builtin : /\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/ } ) , delete Prism . languages . go [ "class-name" ] ;
Prism . languages . graphql = { comment : /#.*/ , description : { pattern : /(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i , greedy : ! 0 , alias : "string" , inside : { "language-markdown" : { pattern : /(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/ , lookbehind : ! 0 , inside : Prism . languages . markdown } } } , string : { pattern : /"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/ , greedy : ! 0 } , number : /(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i , boolean : /\b(?:true|false)\b/ , variable : /\$[a-z_]\w*/i , directive : { pattern : /@[a-z_]\w*/i , alias : "function" } , "attr-name" : { pattern : /[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i , greedy : ! 0 } , "class-name" : { pattern : /(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[a-zA-Z_]\w*/ , lookbehind : ! 0 } , fragment : { pattern : /(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/ , lookbehind : ! 0 , alias : "function" } , keyword : /\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/ , operator : /[!=|&]|\.{3}/ , punctuation : /[!(){}\[\]:=,]/ , constant : /\b(?!ID\b)[A-Z][A-Z_\d]*\b/ } ;
! function ( t ) { t . languages . http = { "request-line" : { pattern : /^(?:GET|HEAD|POST|PUT|DELETE|CONNECT|OPTIONS|TRACE|PATCH|PRI|SEARCH)\s(?:https?:\/\/|\/)\S*\sHTTP\/[0-9.]+/m , inside : { method : { pattern : /^[A-Z]+\b/ , alias : "property" } , "request-target" : { pattern : /^(\s)(?:https?:\/\/|\/)\S*(?=\s)/ , lookbehind : ! 0 , alias : "url" , inside : t . languages . uri } , "http-version" : { pattern : /^(\s)HTTP\/[0-9.]+/ , lookbehind : ! 0 , alias : "property" } } } , "response-status" : { pattern : /^HTTP\/[0-9.]+ \d+ .+/m , inside : { "http-version" : { pattern : /^HTTP\/[0-9.]+/ , alias : "property" } , "status-code" : { pattern : /^(\s)\d+(?=\s)/ , lookbehind : ! 0 , alias : "number" } , "reason-phrase" : { pattern : /^(\s).+/ , lookbehind : ! 0 , alias : "string" } } } , "header-name" : { pattern : /^[\w-]+:(?=.)/m , alias : "keyword" } } ; var a , e , s , n = t . languages , i = { "application/javascript" : n . javascript , "application/json" : n . json || n . javascript , "application/xml" : n . xml , "text/xml" : n . xml , "text/html" : n . html , "text/css" : n . css } , r = { "application/json" : ! 0 , "application/xml" : ! 0 } ; for ( var p in i ) if ( i [ p ] ) { a = a || { } ; var o = r [ p ] ? ( void 0 , s = ( e = p ) . replace ( /^[a-z]+\// , "" ) , "(?:" + e + "|\\w+/(?:[\\w.-]+\\+)+" + s + "(?![+\\w.-]))" ) : p ; a [ p . replace ( /\//g , "-" ) ] = { pattern : RegExp ( "(content-type:\\s*" + o + ".*)(?:\\r?\\n|\\r){2}[\\s\\S]*" , "i" ) , lookbehind : ! 0 , inside : i [ p ] } } a && t . languages . insertBefore ( "http" , "header-name" , a ) } ( Prism ) ;
! function ( e ) { var t = /\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/ , n = "(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*" , a = { pattern : RegExp ( n + "[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b" ) , lookbehind : ! 0 , inside : { namespace : { pattern : /^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/ , inside : { punctuation : /\./ } } , punctuation : /\./ } } ; e . languages . java = e . languages . extend ( "clike" , { "class-name" : [ a , { pattern : RegExp ( n + "[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])" ) , lookbehind : ! 0 , inside : a . inside } ] , keyword : t , function : [ e . languages . clike . function , { pattern : /(\:\:\s*)[a-z_]\w*/ , lookbehind : ! 0 } ] , number : /\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i , operator : { pattern : /(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m , lookbehind : ! 0 } } ) , e . languages . insertBefore ( "java" , "string" , { "triple-quoted-string" : { pattern : /"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/ , greedy : ! 0 , alias : "string" } } ) , e . languages . insertBefore ( "java" , "class-name" , { annotation : { pattern : /(^|[^.])@\w+(?:\s*\.\s*\w+)*/ , lookbehind : ! 0 , alias : "punctuation" } , generics : { pattern : /<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/ , inside : { "class-name" : a , keyword : t , punctuation : /[<>(),.:]/ , operator : /[?&|]/ } } , namespace : { pattern : RegExp ( "(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?" . replace ( /<keyword>/g , function ( ) { return t . source } ) ) , lookbehind : ! 0 , inside : { punctuation : /\./ } } } ) } ( Prism ) ;
Prism . languages . json = { property : { pattern : /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/ , lookbehind : ! 0 , greedy : ! 0 } , string : { pattern : /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/ , lookbehind : ! 0 , greedy : ! 0 } , comment : { pattern : /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/ , greedy : ! 0 } , number : /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i , punctuation : /[{}[\],]/ , operator : /:/ , boolean : /\b(?:true|false)\b/ , null : { pattern : /\bnull\b/ , alias : "keyword" } } , Prism . languages . webmanifest = Prism . languages . json ;
! function ( e ) { e . languages . kotlin = e . languages . extend ( "clike" , { keyword : { pattern : /(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/ , lookbehind : ! 0 } , function : [ { pattern : /(?:`[^\r\n`]+`|\w+)(?=\s*\()/ , greedy : ! 0 } , { pattern : /(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/ , lookbehind : ! 0 , greedy : ! 0 } ] , number : /\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/ , operator : /\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ } ) , delete e . languages . kotlin [ "class-name" ] , e . languages . insertBefore ( "kotlin" , "string" , { "raw-string" : { pattern : /("""|''')[\s\S]*?\1/ , alias : "string" } } ) , e . languages . insertBefore ( "kotlin" , "keyword" , { annotation : { pattern : /\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ , alias : "builtin" } } ) , e . languages . insertBefore ( "kotlin" , "function" , { label : { pattern : /\w+@|@\w+/ , alias : "symbol" } } ) ; var n = [ { pattern : /\$\{[^}]+\}/ , inside : { delimiter : { pattern : /^\$\{|\}$/ , alias : "variable" } , rest : e . languages . kotlin } } , { pattern : /\$\w+/ , alias : "variable" } ] ; e . languages . kotlin . string . inside = e . languages . kotlin [ "raw-string" ] . inside = { interpolation : n } , e . languages . kt = e . languages . kotlin , e . languages . kts = e . languages . kotlin } ( Prism ) ;
2019-08-22 07:22:48 +12:00
! function ( h ) { function v ( e , n ) { return "___" + e . toUpperCase ( ) + n + "___" } Object . defineProperties ( h . languages [ "markup-templating" ] = { } , { buildPlaceholders : { value : function ( a , r , e , o ) { if ( a . language === r ) { var c = a . tokenStack = [ ] ; a . code = a . code . replace ( e , function ( e ) { if ( "function" == typeof o && ! o ( e ) ) return e ; for ( var n , t = c . length ; - 1 !== a . code . indexOf ( n = v ( r , t ) ) ; ) ++ t ; return c [ t ] = e , n } ) , a . grammar = h . languages . markup } } } , tokenizePlaceholders : { value : function ( p , k ) { if ( p . language === k && p . tokenStack ) { p . grammar = h . languages [ k ] ; var m = 0 , d = Object . keys ( p . tokenStack ) ; ! function e ( n ) { for ( var t = 0 ; t < n . length && ! ( m >= d . length ) ; t ++ ) { var a = n [ t ] ; if ( "string" == typeof a || a . content && "string" == typeof a . content ) { var r = d [ m ] , o = p . tokenStack [ r ] , c = "string" == typeof a ? a : a . content , i = v ( k , r ) , u = c . indexOf ( i ) ; if ( - 1 < u ) { ++ m ; var g = c . substring ( 0 , u ) , l = new h . Token ( k , h . tokenize ( o , p . grammar ) , "language-" + k , o ) , s = c . substring ( u + i . length ) , f = [ ] ; g && f . push . apply ( f , e ( [ g ] ) ) , f . push ( l ) , s && f . push . apply ( f , e ( [ s ] ) ) , "string" == typeof a ? n . splice . apply ( n , [ t , 1 ] . concat ( f ) ) : a . content = f } } else a . content && e ( a . content ) } return n } ( p . tokens ) } } } } ) } ( Prism ) ;
2021-01-31 10:05:52 +13:00
! function ( a ) { var e = /\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/ , t = [ { pattern : /\b(?:false|true)\b/i , alias : "boolean" } , /\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/ , /\b(?:null)\b/i ] , i = /\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i , n = /<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/ , s = /[{}\[\](),:;]/ ; a . languages . php = { delimiter : { pattern : /\?>$|^<\?(?:php(?=\s)|=)?/i , alias : "important" } , comment : e , variable : /\$+(?:\w+\b|(?={))/i , package : { pattern : /(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i , lookbehind : ! 0 , inside : { punctuation : /\\/ } } , "class-name-definition" : { pattern : /(\b(?:class|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i , lookbehind : ! 0 , alias : "class-name" } , keyword : [ { pattern : /(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i , alias : "type-casting" , greedy : ! 0 , lookbehind : ! 0 } , { pattern : /([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i , alias : "type-hint" , greedy : ! 0 , lookbehind : ! 0 } , { pattern : /([(,?]\s*[a-z0-9_|]\|\s*)(?:null|false)\b(?=\s*\$)/i , alias : "type-hint" , greedy : ! 0 , lookbehind : ! 0 } , { pattern : /(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i , alias : "return-type" , greedy : ! 0 , lookbehind : ! 0 } , { pattern : /(\)\s*:\s*(?:\?\s*)?[a-z0-9_|]\|\s*)(?:null|false)\b/i , alias : "return-type" , greedy : ! 0 , lookbehind : ! 0 } , { pattern : /\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i , alias : "type-declaration" , greedy : ! 0 } , { pattern : /(\|\s*)(?:null|false)\b/i , alias : "type-declaration" , greedy : ! 0 , lookbehind : ! 0 } , { pattern : /\b(?:parent|self|static)(?=\s*::)/i , alias : "static-context" , greedy : ! 0 } , /\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i ] , "argument-name" : /\b[a-z_]\w*(?=\s*:(?!:))/i , "class-name" : [ { pattern : /(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i , greedy : ! 0 , lookbehind : ! 0 } , { pattern : /(\|\s*)\b[a-z_]\w*(?!\\)\b/i , greedy : ! 0 , lookbehind : ! 0 } , { pattern : /\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i , greedy : ! 0 } , { pattern : /(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i , alias : "class-name-fully-qualified" , greedy : ! 0 , lookbehind : ! 0 , inside : { punctuation : /\\/ } } , { pattern : /(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i , alias : "class-name-fully-qualified" , greedy : ! 0 , inside : { punctuation : /\\/ } } , { pattern : /(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i , alias : "class-name-fully-qualified" , greedy : ! 0 , lookbehind : ! 0 , inside : { punctuation : /\\/ } } , { pattern : /\b[a-z_]\w*(?=\s*\$)/i , alias : "type-declaration" , greedy : ! 0 } , { pattern : /(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i , alias : [ "class-name-fully-qualified" , "type-declaration" ] , greedy : ! 0 , inside : { punctuation : /\\/ } } , { pattern : /\b[a-z_]\w*(?=\s*::)/i , alias : "static-context" , greedy : ! 0 } , { pattern : /(?:\\?\b[a-z_]\w*)+(?=\s*::)/i , alias : [ "class-name-fully-qualified" , "static-context" ] , greedy : ! 0 , inside : { punctuation : /\\/ } } , { pattern : /([(,?]\s*)[a-z_]\w*(?=\s*\$)/i , alias : "type-hint" , greedy : ! 0 , lookbehind : ! 0 } , { pattern : /([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i , alias : [ "class-name-fully-qualified" , "type-hint" ] , greedy : ! 0 , lookbehind : ! 0 , inside : { punctuation : /\\/ } } , { pattern : /(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i , alias : "return-type" , greedy : ! 0 , lookbehind : ! 0 } , { pattern : /(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i , alias : [ "class-name-fully-qualified" , "return-type" ] , greedy : ! 0 , lookbehind : ! 0 , inside : { punctuation : /\\/ } } ] , constant : t , function : /\w+\s*(?=\()/ , property : { pattern : /(->)[\w]+/ , lookbehind : ! 0 } , number : i , operator : n , punctuatio
! function ( e ) { var i = Prism . languages . powershell = { comment : [ { pattern : /(^|[^`])<#[\s\S]*?#>/ , lookbehind : ! 0 } , { pattern : /(^|[^`])#.*/ , lookbehind : ! 0 } ] , string : [ { pattern : /"(?:`[\s\S]|[^`"])*"/ , greedy : ! 0 , inside : { function : { pattern : /(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/ , lookbehind : ! 0 , inside : { } } } } , { pattern : /'(?:[^']|'')*'/ , greedy : ! 0 } ] , namespace : /\[[a-z](?:\[(?:\[[^\]]*]|[^\[\]])*]|[^\[\]])*]/i , boolean : /\$(?:true|false)\b/i , variable : /\$\w+\b/ , function : [ /\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i , /\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i ] , keyword : /\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i , operator : { pattern : /(\W?)(?:!|-(?:eq|ne|gt|ge|lt|le|sh[lr]|not|b?(?:and|x?or)|(?:Not)?(?:Like|Match|Contains|In)|Replace|Join|is(?:Not)?|as)\b|-[-=]?|\+[+=]?|[*\/%]=?)/i , lookbehind : ! 0 } , punctuation : /[|{}[\];(),.]/ } , r = i . string [ 0 ] . inside ; r . boolean = i . boolean , r . variable = i . variable , r . function . inside = i } ( ) ;
Prism . languages . python = { comment : { pattern : /(^|[^\\])#.*/ , lookbehind : ! 0 } , "string-interpolation" : { pattern : /(?:f|rf|fr)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i , greedy : ! 0 , inside : { interpolation : { pattern : /((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/ , lookbehind : ! 0 , inside : { "format-spec" : { pattern : /(:)[^:(){}]+(?=}$)/ , lookbehind : ! 0 } , "conversion-option" : { pattern : /![sra](?=[:}]$)/ , alias : "punctuation" } , rest : null } } , string : /[\s\S]+/ } } , "triple-quoted-string" : { pattern : /(?:[rub]|rb|br)?("""|''')[\s\S]*?\1/i , greedy : ! 0 , alias : "string" } , string : { pattern : /(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i , greedy : ! 0 } , function : { pattern : /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g , lookbehind : ! 0 } , "class-name" : { pattern : /(\bclass\s+)\w+/i , lookbehind : ! 0 } , decorator : { pattern : /(^\s*)@\w+(?:\.\w+)*/im , 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 [ "string-interpolation" ] . inside . interpolation . inside . rest = Prism . languages . python , Prism . languages . py = Prism . languages . python ;
! function ( e ) { e . languages . ruby = e . languages . extend ( "clike" , { comment : [ /#.*/ , { pattern : /^=begin\s[\s\S]*?^=end/m , greedy : ! 0 } ] , "class-name" : { pattern : /(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i , lookbehind : ! 0 , inside : { punctuation : /[.\\]/ } } , keyword : /\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|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 : RegExp ( "%r(?:" + [ "([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1[gim]{0,3}" , "\\((?:[^()\\\\]|\\\\[^])*\\)[gim]{0,3}" , "\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}[gim]{0,3}" , "\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\][gim]{0,3}" , "<(?:[^<>\\\\]|\\\\[^])*>[gim]{0,3}" ] . join ( "|" ) + ")" ) , greedy : ! 0 , inside : { interpolation : n } } , { pattern : /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})]))/ , lookbehind : ! 0 , greedy : ! 0 } ] , variable : /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/ , symbol : { pattern : /(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/ , lookbehind : ! 0 } , "method-definition" : { pattern : /(\bdef\s+)[\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 : RegExp ( "%[qQiIwWxs]?(?:" + [ "([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1" , "\\((?:[^()\\\\]|\\\\[^])*\\)" , "\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}" , "\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\]" , "<(?:[^<>\\\\]|\\\\[^])*>" ] . join ( "|" ) + ")" ) , greedy : ! 0 , inside : { interpolation : n } } , { pattern : /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/ , greedy : ! 0 , inside : { interpolation : n } } ] , e . languages . rb = e . languages . ruby } ( Prism ) ;
Prism . languages . swift = Prism . languages . extend ( "clike" , { string : { pattern : /("|')(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^(])|(?!\1)[^\\\r\n])*\1/ , greedy : ! 0 , inside : { interpolation : { pattern : /\\\((?:[^()]|\([^)]+\))+\)/ , inside : { delimiter : { pattern : /^\\\(|\)$/ , alias : "variable" } } } } } , keyword : /\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/ , number : /\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i , constant : /\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/ , atrule : /@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/ , builtin : /\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/ } ) , Prism . languages . swift . string . inside . interpolation . inside . rest = Prism . languages . swift ;
! function ( e ) { e . languages . typescript = e . languages . extend ( "javascript" , { "class-name" : { pattern : /(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ , lookbehind : ! 0 , greedy : ! 0 , inside : null } , keyword : /\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/ , builtin : /\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ } ) , delete e . languages . typescript . parameter ; var n = e . languages . extend ( "typescript" , { } ) ; delete n [ "class-name" ] , e . languages . typescript [ "class-name" ] . inside = n , e . languages . insertBefore ( "typescript" , "function" , { "generic-function" : { pattern : /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ , greedy : ! 0 , inside : { function : /^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/ , generic : { pattern : /<[\s\S]+/ , alias : "class-name" , inside : n } } } } ) , e . languages . ts = e . languages . typescript } ( Prism ) ;
! function ( e ) { var n = /[*&][^\s[\]{},]+/ , r = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/ , t = "(?:" + r . source + "(?:[ \t]+" + n . source + ")?|" + n . source + "(?:[ \t]+" + r . source + ")?)" , a = "(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*" . replace ( /<PLAIN>/g , function ( ) { return "[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]" } ) , d = "\"(?:[^\"\\\\\r\n]|\\\\.)*\"|'(?:[^'\\\\\r\n]|\\\\.)*'" ; function o ( e , n ) { n = ( n || "" ) . replace ( /m/g , "" ) + "m" ; var r = "([:\\-,[{]\\s*(?:\\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|]|}|(?:[\r\n]\\s*)?#))" . replace ( /<<prop>>/g , function ( ) { return t } ) . replace ( /<<value>>/g , function ( ) { return e } ) ; return RegExp ( r , n ) } e . languages . yaml = { scalar : { pattern : RegExp ( "([\\-:]\\s*(?:\\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)" . replace ( /<<prop>>/g , function ( ) { return t } ) ) , lookbehind : ! 0 , alias : "string" } , comment : /#.*/ , key : { pattern : RegExp ( "((?:^|[:\\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\\s*:\\s)" . replace ( /<<prop>>/g , function ( ) { return t } ) . replace ( /<<key>>/g , function ( ) { return "(?:" + a + "|" + d + ")" } ) ) , lookbehind : ! 0 , greedy : ! 0 , alias : "atrule" } , directive : { pattern : /(^[ \t]*)%.+/m , lookbehind : ! 0 , alias : "important" } , datetime : { pattern : o ( "\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?" ) , lookbehind : ! 0 , alias : "number" } , boolean : { pattern : o ( "true|false" , "i" ) , lookbehind : ! 0 , alias : "important" } , null : { pattern : o ( "null|~" , "i" ) , lookbehind : ! 0 , alias : "important" } , string : { pattern : o ( d ) , lookbehind : ! 0 , greedy : ! 0 } , number : { pattern : o ( "[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)" , "i" ) , lookbehind : ! 0 } , tag : r , important : n , punctuation : /---|[:[\]{}\-,|>?]|\.\.\./ } , e . languages . yml = e . languages . yaml } ( Prism ) ;
! function ( ) { if ( "undefined" != typeof self && self . Prism && self . document ) { var o = "line-numbers" , a = /\n(?!$)/g , e = Prism . plugins . lineNumbers = { getLine : function ( e , n ) { if ( "PRE" === e . tagName && e . classList . contains ( o ) ) { var t = e . querySelector ( ".line-numbers-rows" ) ; if ( t ) { var i = parseInt ( e . getAttribute ( "data-start" ) , 10 ) || 1 , r = i + ( t . children . length - 1 ) ; n < i && ( n = i ) , r < n && ( n = r ) ; var s = n - i ; return t . children [ s ] } } } , resize : function ( e ) { u ( [ e ] ) } , assumeViewportIndependence : ! 0 } , t = function ( e ) { return e ? window . getComputedStyle ? getComputedStyle ( e ) : e . currentStyle || null : null } , n = void 0 ; window . addEventListener ( "resize" , function ( ) { e . assumeViewportIndependence && n === window . innerWidth || ( n = window . innerWidth , u ( Array . prototype . slice . call ( document . querySelectorAll ( "pre." + o ) ) ) ) } ) , Prism . hooks . add ( "complete" , function ( e ) { if ( e . code ) { var n = e . element , t = n . parentNode ; if ( t && /pre/i . test ( t . nodeName ) && ! n . querySelector ( ".line-numbers-rows" ) && Prism . util . isActive ( n , o ) ) { n . classList . remove ( o ) , t . classList . add ( o ) ; var i , r = e . code . match ( a ) , s = r ? r . length + 1 : 1 , l = new Array ( s + 1 ) . join ( "<span></span>" ) ; ( i = document . createElement ( "span" ) ) . setAttribute ( "aria-hidden" , "true" ) , i . className = "line-numbers-rows" , i . innerHTML = l , t . hasAttribute ( "data-start" ) && ( t . style . counterReset = "linenumber " + ( parseInt ( t . getAttribute ( "data-start" ) , 10 ) - 1 ) ) , e . element . appendChild ( i ) , u ( [ t ] ) , Prism . hooks . run ( "line-numbers" , e ) } } } ) , Prism . hooks . add ( "line-numbers" , function ( e ) { e . plugins = e . plugins || { } , e . plugins . lineNumbers = ! 0 } ) } function u ( e ) { if ( 0 != ( e = e . filter ( function ( e ) { var n = t ( e ) [ "white-space" ] ; return "pre-wrap" === n || "pre-line" === n } ) ) . length ) { var n = e . map ( function ( e ) { var n = e . querySelector ( "code" ) , t = e . querySelector ( ".line-numbers-rows" ) ; if ( n && t ) { var i = e . querySelector ( ".line-numbers-sizer" ) , r = n . textContent . split ( a ) ; i || ( ( i = document . createElement ( "span" ) ) . className = "line-numbers-sizer" , n . appendChild ( i ) ) , i . innerHTML = "0" , i . style . display = "block" ; var s = i . getBoundingClientRect ( ) . height ; return i . innerHTML = "" , { element : e , lines : r , lineHeights : [ ] , oneLinerHeight : s , sizer : i } } } ) . filter ( Boolean ) ; n . forEach ( function ( e ) { var i = e . sizer , n = e . lines , r = e . lineHeights , s = e . oneLinerHeight ; r [ n . length - 1 ] = void 0 , n . forEach ( function ( e , n ) { if ( e && 1 < e . length ) { var t = i . appendChild ( document . createElement ( "span" ) ) ; t . style . display = "block" , t . textContent = e } else r [ n ] = s } ) } ) , n . forEach ( function ( e ) { for ( var n = e . sizer , t = e . lineHeights , i = 0 , r = 0 ; r < t . length ; r ++ ) void 0 === t [ r ] && ( t [ r ] = n . children [ i ++ ] . getBoundingClientRect ( ) . height ) } ) , n . forEach ( function ( e ) { var n = e . sizer , t = e . element . querySelector ( ".line-numbers-rows" ) ; n . style . display = "none" , n . innerHTML = "" , e . lineHeights . forEach ( function ( e , n ) { t . children [ n ] . style . height = e + "px" } ) } ) } } } ( ) ;