Files
interblue.pl/modules/pshowimporter/manual/media/prism.js
2024-10-25 14:16:28 +02:00

26 lines
46 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+apacheconf+bash+c+csharp+cpp+css-extras+git+http+java+json+nginx+objectivec+perl+php+php-extras+sass+scss+smarty+sql+twig */
var _self = "undefined" != typeof window?window:"undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope?self:{}, Prism = function(){var e = /\blang(?:uage)?-(?!\*)(\w+)\b/i, t = _self.Prism = {util:{encode:function(e){return e instanceof n?new n(e.type, t.util.encode(e.content), e.alias):"Array" === t.util.type(e)?e.map(t.util.encode):e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\u00a0/g, " ")}, type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]}, clone:function(e){var n = t.util.type(e); switch (n){case"Object":var a = {}; for (var r in e)e.hasOwnProperty(r) && (a[r] = t.util.clone(e[r])); return a; case"Array":return e.map && e.map(function(e){return t.util.clone(e)})}return e}}, languages:{extend:function(e, n){var a = t.util.clone(t.languages[e]); for (var r in n)a[r] = n[r]; return a}, insertBefore:function(e, n, a, r){r = r || t.languages; var l = r[e]; if (2 == arguments.length){a = arguments[1]; for (var i in a)a.hasOwnProperty(i) && (l[i] = a[i]); return l}var o = {}; for (var s in l)if (l.hasOwnProperty(s)){if (s == n)for (var i in a)a.hasOwnProperty(i) && (o[i] = a[i]); o[s] = l[s]}return t.languages.DFS(t.languages, function(t, n){n === r[e] && t != e && (this[t] = o)}), r[e] = o}, DFS:function(e, n, a, r){r = r || {}; for (var l in e)e.hasOwnProperty(l) && (n.call(e, l, e[l], a || l), "Object" !== t.util.type(e[l]) || r[e[l]]?"Array" !== t.util.type(e[l]) || r[e[l]] || (r[e[l]] = !0, t.languages.DFS(e[l], n, l, r)):(r[e[l]] = !0, t.languages.DFS(e[l], n, null, r)))}}, plugins:{}, highlightAll:function(e, n){for (var a, r = document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'), l = 0; a = r[l++]; )t.highlightElement(a, e === !0, n)}, highlightElement:function(n, a, r){for (var l, i, o = n; o && !e.test(o.className); )o = o.parentNode; o && (l = (o.className.match(e) || [, ""])[1], i = t.languages[l]), n.className = n.className.replace(e, "").replace(/\s+/g, " ") + " language-" + l, o = n.parentNode, /pre/i.test(o.nodeName) && (o.className = o.className.replace(e, "").replace(/\s+/g, " ") + " language-" + l); var s = n.textContent, u = {element:n, language:l, grammar:i, code:s}; if (!s || !i)return t.hooks.run("complete", u), void 0; if (t.hooks.run("before-highlight", u), a && _self.Worker){var g = new Worker(t.filename); g.onmessage = function(e){u.highlightedCode = e.data, t.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, r && r.call(u.element), t.hooks.run("after-highlight", u), t.hooks.run("complete", u)}, g.postMessage(JSON.stringify({language:u.language, code:u.code, immediateClose:!0}))} else u.highlightedCode = t.highlight(u.code, u.grammar, u.language), t.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, r && r.call(n), t.hooks.run("after-highlight", u), t.hooks.run("complete", u)}, highlight:function(e, a, r){var l = t.tokenize(e, a); return n.stringify(t.util.encode(l), r)}, tokenize:function(e, n){var a = t.Token, r = [e], l = n.rest; if (l){for (var i in l)n[i] = l[i]; delete n.rest}e:for (var i in n)if (n.hasOwnProperty(i) && n[i]){var o = n[i]; o = "Array" === t.util.type(o)?o:[o]; for (var s = 0; s < o.length; ++s){var u = o[s], g = u.inside, c = !!u.lookbehind, f = 0, h = u.alias; u = u.pattern || u; for (var p = 0; p < r.length; p++){var d = r[p]; if (r.length > e.length)break e; if (!(d instanceof a)){u.lastIndex = 0; var m = u.exec(d); if (m){c && (f = m[1].length); var y = m.index - 1 + f, m = m[0].slice(f), v = m.length, k = y + v, b = d.slice(0, y + 1), w = d.slice(k + 1), P = [p, 1]; b && P.push(b); var A = new a(i, g?t.tokenize(m, g):m, h); P.push(A), w && P.push(w), Array.prototype.splice.apply(r, P)}}}}}return r}, hooks:{all:{}, add:function(e, n){var a = t.hooks.all; a[e] = a[e] || [], a[e].push(n)}, run:function(e, n){var a = t.hooks.all[e]; if (a && a.length)for (var r, l = 0; r = a[l++]; )r(n)}}}, n = t.Token = function(e, t, n){this.type = e, this.content = t, this.alias = n}; if (n.stringify = function(e, a, r){if ("string" == typeof e)return e; if ("Array" === t.util.type(e))return e.map(function(t){return n.stringify(t, a, e)}).join(""); var l = {type:e.type, content:n.stringify(e.content, a, r), tag:"span", classes:["token", e.type], attributes:{}, language:a, parent:r}; if ("comment" == l.type && (l.attributes.spellcheck = "true"), e.alias){var i = "Array" === t.util.type(e.alias)?e.alias:[e.alias]; Array.prototype.push.apply(l.classes, i)}t.hooks.run("wrap", l); var o = ""; for (var s in l.attributes)o += (o?" ":"") + s + '="' + (l.attributes[s] || "") + '"'; return"<" + l.tag + ' class="' + l.classes.join(" ") + '" ' + o + ">" + l.content + "</" + l.tag + ">"}, !_self.document)return _self.addEventListener?(_self.addEventListener("message", function(e){var n = JSON.parse(e.data), a = n.language, r = n.code, l = n.immediateClose; _self.postMessage(t.highlight(r, t.languages[a], a)), l && _self.close()}, !1), _self.Prism):_self.Prism; var a = document.getElementsByTagName("script"); return a = a[a.length - 1], a && (t.filename = a.src, document.addEventListener && !a.hasAttribute("data-manual") && document.addEventListener("DOMContentLoaded", t.highlightAll)), _self.Prism}(); "undefined" != typeof module && module.exports && (module.exports = Prism), "undefined" != typeof global && (global.Prism = Prism);
Prism.languages.markup = {comment:/<!--[\w\W]*?-->/, prolog:/<\?[\w\W]+?\?>/, doctype:/<!DOCTYPE[\w\W]+?>/, cdata:/<!\[CDATA\[[\w\W]*?]]>/i, tag:{pattern:/<\/?(?!\d)[^\s>\/=.$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i, inside:{tag:{pattern:/^<\/?[^\s>\/]+/i, inside:{punctuation:/^<\/?/, namespace:/^[^\s>\/:]+:/}}, "attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i, inside:{punctuation:/[=>"']/}}, punctuation:/\/?>/, "attr-name":{pattern:/[^\s>\/]+/, inside:{namespace:/^[^\s>\/:]+:/}}}}, entity:/&#?[\da-z]{1,8};/i}, Prism.hooks.add("wrap", function(a){"entity" === a.type && (a.attributes.title = a.content.replace(/&amp;/, "&"))}), Prism.languages.xml = Prism.languages.markup, Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup;
Prism.languages.css = {comment:/\/\*[\w\W]*?\*\//, atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i, inside:{rule:/@[\w-]+/}}, url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i, selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/, string:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/, property:/(\b|\B)[\w-]+(?=\s*:)/i, important:/\B!important\b/i, "function":/[-a-z0-9]+(?=\()/i, punctuation:/[(){};:]/}, Prism.languages.css.atrule.inside.rest = Prism.util.clone(Prism.languages.css), Prism.languages.markup && (Prism.languages.insertBefore("markup", "tag", {style:{pattern:/(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i, lookbehind:!0, inside:Prism.languages.css, alias:"language-css"}}), Prism.languages.insertBefore("inside", "attr-value", {"style-attr":{pattern:/\s*style=("|').*?\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:/(^|[^\\])\/\*[\w\W]*?\*\//, lookbehind:!0}, {pattern:/(^|[^\\:])\/\/.*/, lookbehind:!0}], string:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, "class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/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":/[a-z0-9_]+(?=\()/i, number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i, operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/, punctuation:/[{}[\];(),.:]/};
Prism.languages.javascript = Prism.languages.extend("clike", {keyword:/\b(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|var|void|while|with|yield)\b/, number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/, "function":/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i}), Prism.languages.insertBefore("javascript", "keyword", {regex:{pattern:/(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/, lookbehind:!0}}), Prism.languages.insertBefore("javascript", "class-name", {"template-string":{pattern:/`(?:\\`|\\?[^`])*`/, inside:{interpolation:{pattern:/\$\{[^}]+\}/, inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/, alias:"punctuation"}, rest:Prism.languages.javascript}}, string:/[\s\S]+/}}}), Prism.languages.markup && Prism.languages.insertBefore("markup", "tag", {script:{pattern:/(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i, lookbehind:!0, inside:Prism.languages.javascript, alias:"language-javascript"}}), Prism.languages.js = Prism.languages.javascript;
Prism.languages.apacheconf = {comment:/#.*/, "directive-inline":{pattern:/^(\s*)\b(AcceptFilter|AcceptPathInfo|AccessFileName|Action|AddAlt|AddAltByEncoding|AddAltByType|AddCharset|AddDefaultCharset|AddDescription|AddEncoding|AddHandler|AddIcon|AddIconByEncoding|AddIconByType|AddInputFilter|AddLanguage|AddModuleInfo|AddOutputFilter|AddOutputFilterByType|AddType|Alias|AliasMatch|Allow|AllowCONNECT|AllowEncodedSlashes|AllowMethods|AllowOverride|AllowOverrideList|Anonymous|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail|AsyncRequestWorkerFactor|AuthBasicAuthoritative|AuthBasicFake|AuthBasicProvider|AuthBasicUseDigestAlgorithm|AuthDBDUserPWQuery|AuthDBDUserRealmQuery|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile|AuthDigestAlgorithm|AuthDigestDomain|AuthDigestNonceLifetime|AuthDigestProvider|AuthDigestQop|AuthDigestShmemSize|AuthFormAuthoritative|AuthFormBody|AuthFormDisableNoStore|AuthFormFakeBasicAuth|AuthFormLocation|AuthFormLoginRequiredLocation|AuthFormLoginSuccessLocation|AuthFormLogoutLocation|AuthFormMethod|AuthFormMimetype|AuthFormPassword|AuthFormProvider|AuthFormSitePassphrase|AuthFormSize|AuthFormUsername|AuthGroupFile|AuthLDAPAuthorizePrefix|AuthLDAPBindAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareAsUser|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPInitialBindAsUser|AuthLDAPInitialBindPattern|AuthLDAPMaxSubGroupDepth|AuthLDAPRemoteUserAttribute|AuthLDAPRemoteUserIsDN|AuthLDAPSearchAsUser|AuthLDAPSubGroupAttribute|AuthLDAPSubGroupClass|AuthLDAPUrl|AuthMerging|AuthName|AuthnCacheContext|AuthnCacheEnable|AuthnCacheProvideFor|AuthnCacheSOCache|AuthnCacheTimeout|AuthnzFcgiCheckAuthnProvider|AuthnzFcgiDefineProvider|AuthType|AuthUserFile|AuthzDBDLoginToReferer|AuthzDBDQuery|AuthzDBDRedirectQuery|AuthzDBMType|AuthzSendForbiddenOnFailure|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|CacheDefaultExpire|CacheDetailHeader|CacheDirLength|CacheDirLevels|CacheDisable|CacheEnable|CacheFile|CacheHeader|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheIgnoreQueryString|CacheIgnoreURLSessionIdentifiers|CacheKeyBaseURL|CacheLastModifiedFactor|CacheLock|CacheLockMaxAge|CacheLockPath|CacheMaxExpire|CacheMaxFileSize|CacheMinExpire|CacheMinFileSize|CacheNegotiatedDocs|CacheQuickHandler|CacheReadSize|CacheReadTime|CacheRoot|CacheSocache|CacheSocacheMaxSize|CacheSocacheMaxTime|CacheSocacheMinTime|CacheSocacheReadSize|CacheSocacheReadTime|CacheStaleOnError|CacheStoreExpired|CacheStoreNoStore|CacheStorePrivate|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateInflateLimitRequestBody|DeflateInflateRatioBurst|DeflateInflateRatioLimit|DeflateMemLevel|DeflateWindowSize|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|HeartbeatAddress|HeartbeatListen|HeartbeatMaxServers|HeartbeatStorage|HeartbeatStorage|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|IndexHeadInsert|IndexIgnore|IndexIgnoreReset|IndexOptions|IndexOrderDefault|IndexStyleSheet|InputSed|ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionPoolTTL|LDAPConnectionTimeout|LDAPLibraryDebug|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPReferralHopLimit|LDAPReferrals|LDAPRetries|LDAPRetryDelay|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTimeout|LDAPTrustedClientCert|LDAPTrustedGlobalCert|LDAPTrustedMode|LDAPVerifyServerCert|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|LuaHookAccessChecker|LuaHookAuthChecker|LuaHookCheckUserID|LuaHookFixups|LuaHookInsertFilter|LuaHookLog|LuaHookMapToStorage|LuaHookTranslateName|LuaHookTypeChecker|LuaInherit|LuaInputFilter|LuaMapHandler|LuaOutputFilter|LuaPackageCPath|LuaPackagePath|LuaQuickHandler|LuaRoot|LuaScope|MaxConnectionsPerChild|MaxKeepAliveRequests|MaxMemFree|MaxRangeOverlaps|MaxRangeReversals|MaxRanges|MaxRequestWorkers|MaxSpareServers|MaxSpareThreads|MaxThreads|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|ProxyAddHeaders|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyExpressDBMFile|ProxyExpressDBMType|ProxyExpressEnable|ProxyFtpDirCharset|ProxyFtpEscapeWildcards|ProxyFtpListOnWildcard|ProxyHTMLBufSize|ProxyHTMLCharsetOut|ProxyHTMLDocType|ProxyHTMLEnable|ProxyHTMLEvents|ProxyHTMLExtended|ProxyHTMLFixups|ProxyHTMLInterp|ProxyHTMLLinks|ProxyHTMLMeta|ProxyHTMLStripComments|ProxyHTMLURLMap|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassInherit|ProxyPassInterpolateEnv|ProxyPassMatch|ProxyPassReverse|ProxyPassReverseCookieDomain|ProxyPassReverseCookiePath|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxySCGIInternalRedirect|ProxySCGISendfile|ProxySet|ProxySourceAddress|ProxyStatus|ProxyTimeout|ProxyVia|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIPHeader|RemoteIPInternalProxy|RemoteIPInternalProxyList|RemoteIPProxiesHeader|RemoteIPTrustedProxy|RemoteIPTrustedProxyList|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|RewriteBase|RewriteCond|RewriteEngine|RewriteMap|RewriteOptions|RewriteRule|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script|ScriptAlias|ScriptAliasMatch|ScriptInterpreterSource|ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock|SecureListen|SeeRequestTail|SendBufferSize|ServerAdmin|ServerAlias|ServerLimit|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|Session|SessionCookieName|SessionCookieName2|SessionCookieRemove|SessionCryptoCipher|SessionCryptoDriver|SessionCryptoPassphrase|SessionCryptoPassphraseFile|SessionDBDCookieName|SessionDBDCookieName2|SessionDBDCookieRemove|SessionDBDDeleteLabel|SessionDBDInsertLabel|SessionDBDPerUser|SessionDBDSelectLabel|SessionDBDUpdateLabel|SessionEnv|SessionExclude|SessionHeader|SessionInclude|SessionMaxAge|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSLCACertificateFile|SSLCACertificatePath|SSLCADNRequestFile|SSLCADNRequestPath|SSLCARevocationCheck|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLCompression|SSLCryptoDevice|SSLEngine|SSLFIPS|SSLHonorCipherOrder|SSLInsecureRenegotiation|SSLOCSPDefaultResponder|SSLOCSPEnable|SSLOCSPOverrideResponder|SSLOCSPResponderTimeout|SSLOCSPResponseMaxAge|SSLOCSPResponseTimeSkew|SSLOCSPUseRequestNonce|SSLOpenSSLConfCmd|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationCheck|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCheckPeerCN|SSLProxyCheckPeerExpire|SSLProxyCheckPeerName|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateChainFile|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRenegBufferSize|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLSessionTicketKeyFile|SSLSRPUnknownUserSeed|SSLSRPVerifierFile|SSLStaplingCache|SSLStaplingErrorCacheTimeout|SSLStaplingFakeTryLater|SSLStaplingForceURL|SSLStaplingResponderTimeout|SSLStaplingResponseMaxAge|SSLStaplingResponseTimeSkew|SSLStaplingReturnResponderErrors|SSLStaplingStandardCacheTimeout|SSLStrictSNIVHostCheck|SSLUserName|SSLUseStapling|SSLVerifyClient|SSLVerifyDepth|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im, lookbehind:!0, alias:"property"}, "directive-block":{pattern:/<\/?\b(AuthnProviderAlias|AuthzProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|RequireAll|RequireAny|RequireNone|VirtualHost)\b *.*>/i, inside:{"directive-block":{pattern:/^<\/?\w+/, inside:{punctuation:/^<\/?/}, alias:"tag"}, "directive-block-parameter":{pattern:/.*[^>]/, inside:{punctuation:/:/, string:{pattern:/("|').*\1/, inside:{variable:/(\$|%)\{?(\w\.?(\+|\-|:)?)+\}?/}}}, alias:"attr-value"}, punctuation:/>/}, alias:"tag"}, "directive-flags":{pattern:/\[(\w,?)+\]/, alias:"keyword"}, string:{pattern:/("|').*\1/, inside:{variable:/(\$|%)\{?(\w\.?(\+|\-|:)?)+\}?/}}, variable:/(\$|%)\{?(\w\.?(\+|\-|:)?)+\}?/, regex:/\^?.*\$|\^.*\$?/};
!function(e){var t = {variable:[{pattern:/\$?\(\([\w\W]+?\)\)/, inside:{variable:[{pattern:/(^\$\(\([\w\W]+)\)\)/, lookbehind:!0}, /^\$\(\(/], number:/\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+(?:[Ee]-?\d+)?)\b/, operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/, punctuation:/\(\(?|\)\)?|,|;/}}, {pattern:/\$\([^)]+\)|`[^`]+`/, inside:{variable:/^\$\(|^`|\)$|`$/}}, /\$(?:[a-z0-9_#\?\*!@]+|\{[^}]+\})/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/g, lookbehind:!0, inside:t}, {pattern:/("|')(?:\\?[\s\S])*?\1/g, inside:t}], variable:t.variable, "function":{pattern:/(^|\s|;|\||&)(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|cut|date|dc|dd|ddrescue|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|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)(?=$|\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[1].inside; a["function"] = e.languages.bash["function"], a.keyword = e.languages.bash.keyword, a.boolean = e.languages.bash.boolean, a.operator = e.languages.bash.operator, a.punctuation = e.languages.bash.punctuation}(Prism);
Prism.languages.c = Prism.languages.extend("clike", {keyword:/\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/, operator:/\-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*\/]/, number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i}), Prism.languages.insertBefore("c", "string", {macro:{pattern:/(^\s*)#\s*[a-z]+([^\r\n\\]|\\.|\\(?:\r\n?|\n))*/im, lookbehind:!0, alias:"property", inside:{string:{pattern:/(#\s*include\s*)(<.+?>|("|')(\\?.)+?\3)/, lookbehind:!0}, directive:{pattern:/(#\s*)\b(define|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/, lookbehind:!0, alias:"keyword"}}}, constant:/\b(__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|stdin|stdout|stderr)\b/}), delete Prism.languages.c["class-name"], delete Prism.languages.c["boolean"];
Prism.languages.csharp = Prism.languages.extend("clike", {keyword:/\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/, string:[/@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/, /("|')(\\?.)*?\1/], number:/\b-?(0x[\da-f]+|\d*\.?\d+f?)\b/i}), Prism.languages.insertBefore("csharp", "keyword", {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.cpp = Prism.languages.extend("c", {keyword:/\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/, "boolean":/\b(true|false)\b/, operator:/[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/}), Prism.languages.insertBefore("cpp", "keyword", {"class-name":{pattern:/(class\s+)[a-z0-9_]+/i, lookbehind:!0}});
Prism.languages.css.selector = {pattern:/[^\{\}\s][^\{\}]*(?=\s*\{)/, inside:{"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/, "pseudo-class":/:[-\w]+(?:\(.*\))?/, "class":/\.[-:\.\w]+/, id:/#[-:\.\w]+/}}, Prism.languages.insertBefore("css", "function", {hexcode:/#[\da-f]{3,6}/i, entity:/\\[\da-f]{1,8}/i, number:/[\d%\.]+/});
Prism.languages.git = {comment:/^#.*/m, deleted:/^[-].*/m, inserted:/^\+.*/m, string:/("|')(\\?.)*?\1/m, command:{pattern:/^.*\$ git .*$/m, inside:{parameter:/\s(--|-)\w+/m}}, coord:/^@@.*@@$/m, commit_sha1:/^commit \w{40}$/m};
Prism.languages.http = {"request-line":{pattern:/^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b\shttps?:\/\/\S+\sHTTP\/[0-9.]+/m, inside:{property:/^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/, "attr-name":/:\w+/}}, "response-status":{pattern:/^HTTP\/1.[01] [0-9]+.*/m, inside:{property:{pattern:/(^HTTP\/1.[01] )[0-9]+.*/i, lookbehind:!0}}}, "header-name":{pattern:/^[\w-]+:(?=.)/m, alias:"keyword"}}; var httpLanguages = {"application/json":Prism.languages.javascript, "application/xml":Prism.languages.markup, "text/xml":Prism.languages.markup, "text/html":Prism.languages.markup}; for (var contentType in httpLanguages)if (httpLanguages[contentType]){var options = {}; options[contentType] = {pattern:new RegExp("(content-type:\\s*" + contentType + "[\\w\\W]*?)(?:\\r?\\n|\\r){2}[\\w\\W]*", "i"), lookbehind:!0, inside:{rest:httpLanguages[contentType]}}, Prism.languages.insertBefore("http", "header-name", options)};
Prism.languages.java = Prism.languages.extend("clike", {keyword:/\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)\b/, number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i, operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m, lookbehind:!0}});
Prism.languages.json = {property:/".*?"(?=\s*:)/gi, string:/"(?!:)(\\?[^"])*?"(?!:)/g, number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g, punctuation:/[{}[\]);,]/g, operator:/:/g, "boolean":/\b(true|false)\b/gi, "null":/\bnull\b/gi}, Prism.languages.jsonp = Prism.languages.json;
Prism.languages.nginx = Prism.languages.extend("clike", {comment:{pattern:/(^|[^"{\\])#.*/, lookbehind:!0}, keyword:/\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|if_not_empty|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|http|server|events|location|include|accept_mutex|accept_mutex_delay|access_log|add_after_body|add_before_body|add_header|addition_types|aio|alias|allow|ancient_browser|ancient_browser_value|auth|auth_basic|auth_basic_user_file|auth_http|auth_http_header|auth_http_timeout|autoindex|autoindex_exact_size|autoindex_localtime|break|charset|charset_map|charset_types|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|create_full_put_path|daemon|dav_access|dav_methods|debug_connection|debug_points|default_type|deny|devpoll_changes|devpoll_events|directio|directio_alignment|disable_symlinks|empty_gif|env|epoll_events|error_log|error_page|expires|fastcgi_buffer_size|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_timeout|fastcgi_cache_methods|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_purge|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_connect_timeout|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_read_timeout|fastcgi_redirect_errors|fastcgi_send_timeout|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geo|geoip_city|geoip_country|google_perftools_profiles|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_static|gzip_types|gzip_vary|if|if_modified_since|ignore_invalid_headers|image_filter|image_filter_buffer|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|imap_capabilities|imap_client_buffer|include|index|internal|ip_hash|keepalive|keepalive_disable|keepalive_requests|keepalive_timeout|kqueue_changes|kqueue_events|large_client_header_buffers|limit_conn|limit_conn_log_level|limit_conn_zone|limit_except|limit_rate|limit_rate_after|limit_req|limit_req_log_level|limit_req_zone|limit_zone|lingering_close|lingering_time|lingering_timeout|listen|location|lock_file|log_format|log_format_combined|log_not_found|log_subrequest|map|map_hash_bucket_size|map_hash_max_size|master_process|max_ranges|memcached_buffer_size|memcached_connect_timeout|memcached_next_upstream|memcached_pass|memcached_read_timeout|memcached_send_timeout|merge_slashes|min_delete_depth|modern_browser|modern_browser_value|mp4|mp4_buffer_size|mp4_max_buffer_size|msie_padding|msie_refresh|multi_accept|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|open_log_file_cache|optimize_server_names|override_charset|pcre_jit|perl|perl_modules|perl_require|perl_set|pid|pop3_auth|pop3_capabilities|port_in_redirect|post_action|postpone_output|protocol|proxy|proxy_buffer|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_bypass|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_timeout|proxy_cache_methods|proxy_cache_min_uses|proxy_cache_path|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_headers_hash_bucket_size|proxy_headers_hash_max_size|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_max_temp_file_size|proxy_method|proxy_next_upstream|proxy_no_cache|proxy_pass|proxy_pass_error_message|proxy_pass_header|proxy_pass_request_body|proxy_pass_request_headers|proxy_read_timeout|proxy_redirect|proxy_redirect_errors|proxy_send_lowat|proxy_send_timeout|proxy_set_body|proxy_set_header|proxy_ssl_session_reuse|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|proxy_timeout|proxy_upstream_fail_timeout|proxy_upstream_max_fails|random_index|read_ahead|real_ip_header|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|return|rewrite|root|rtsig_overflow_events|rtsig_overflow_test|rtsig_overflow_threshold|rtsig_signo|satisfy|satisfy_any|secure_link_secret|send_lowat|send_timeout|sendfile|sendfile_max_chunk|server|server_name|server_name_in_redirect|server_names_hash_bucket_size|server_names_hash_max_size|server_tokens|set|set_real_ip_from|smtp_auth|smtp_capabilities|so_keepalive|source_charset|split_clients|ssi|ssi_silent_errors|ssi_types|ssi_value_length|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_client_certificate|ssl_crl|ssl_dhparam|ssl_engine|ssl_prefer_server_ciphers|ssl_protocols|ssl_session_cache|ssl_session_timeout|ssl_verify_client|ssl_verify_depth|starttls|stub_status|sub_filter|sub_filter_once|sub_filter_types|tcp_nodelay|tcp_nopush|timeout|timer_resolution|try_files|types|types_hash_bucket_size|types_hash_max_size|underscores_in_headers|uninitialized_variable_warn|upstream|use|user|userid|userid_domain|userid_expires|userid_name|userid_p3p|userid_path|userid_service|valid_referers|variables_hash_bucket_size|variables_hash_max_size|worker_connections|worker_cpu_affinity|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|worker_rlimit_sigpending|working_directory|xclient|xml_entities|xslt_entities|xslt_stylesheet|xslt_types)\b/i}), Prism.languages.insertBefore("nginx", "keyword", {variable:/\$[a-z_]+/i});
Prism.languages.objectivec = Prism.languages.extend("c", {keyword:/\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/, string:/("|')(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|@"(\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/});
Prism.languages.perl = {comment:[{pattern:/(^\s*)=\w+[\s\S]*?=cut.*/m, lookbehind:!0}, {pattern:/(^|[^\\$])#.*/, lookbehind:!0}], string:[/\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/, /\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:[^\\]|\\[\s\S])*?\1/, /\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/, /\b(?:q|qq|qx|qw)\s*\{(?:[^{}\\]|\\[\s\S])*\}/, /\b(?:q|qq|qx|qw)\s*\[(?:[^[\]\\]|\\[\s\S])*\]/, /\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[\s\S])*>/, /("|`)(?:[^\\]|\\[\s\S])*?\1/, /'(?:[^'\\\r\n]|\\.)*'/], regex:[/\b(?:m|qr)\s*([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1[msixpodualngc]*/, /\b(?:m|qr)\s+([a-zA-Z0-9])(?:[^\\]|\\.)*?\1[msixpodualngc]*/, /\b(?:m|qr)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngc]*/, /\b(?:m|qr)\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngc]*/, /\b(?:m|qr)\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngc]*/, /\b(?:m|qr)\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngc]*/, {pattern:/(^|[^-]\b)(?:s|tr|y)\s*([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\2(?:[^\\]|\\[\s\S])*?\2[msixpodualngcer]*/, lookbehind:!0}, {pattern:/(^|[^-]\b)(?:s|tr|y)\s+([a-zA-Z0-9])(?:[^\\]|\\[\s\S])*?\2(?:[^\\]|\\[\s\S])*?\2[msixpodualngcer]*/, lookbehind:!0}, {pattern:/(^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[\s\S])*\)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngcer]*/, lookbehind:!0}, {pattern:/(^|[^-]\b)(?:s|tr|y)\s*\{(?:[^{}\\]|\\[\s\S])*\}\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngcer]*/, lookbehind:!0}, {pattern:/(^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\]\\]|\\[\s\S])*\]\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngcer]*/, lookbehind:!0}, {pattern:/(^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[\s\S])*>\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngcer]*/, lookbehind:!0}, /\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/], variable:[/[&*$@%]\{\^[A-Z]+\}/, /[&*$@%]\^[A-Z_]/, /[&*$@%]#?(?=\{)/, /[&*$@%]#?((::)*'?(?!\d)[\w$]+)+(::)*/i, /[&*$@%]\d+/, /(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/], filehandle:{pattern:/<(?![<=])\S*>|\b_\b/, alias:"symbol"}, vstring:{pattern:/v\d+(\.\d+)*|\d+(\.\d+){2,}/, alias:"string"}, "function":{pattern:/sub [a-z0-9_]+/i, inside:{keyword:/sub/}}, keyword:/\b(any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\b/, number:/\b-?(0x[\dA-Fa-f](_?[\dA-Fa-f])*|0b[01](_?[01])*|(\d(_?\d)*)?\.?\d(_?\d)*([Ee][+-]?\d+)?)\b/, operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/, punctuation:/[{}[\];(),:]/};
Prism.languages.php = Prism.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:/(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/, lookbehind:!0}}), Prism.languages.insertBefore("php", "class-name", {"shell-comment":{pattern:/(^|[^\\])#.*/, lookbehind:!0, alias:"comment"}}), Prism.languages.insertBefore("php", "keyword", {delimiter:/\?>|<\?(?:php)?/i, variable:/\$\w+\b/i, "package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/, lookbehind:!0, inside:{punctuation:/\\/}}}), Prism.languages.insertBefore("php", "operator", {property:{pattern:/(->)[\w]+/, lookbehind:!0}}), Prism.languages.markup && (Prism.hooks.add("before-highlight", function(e){"php" === e.language && (e.tokenStack = [], e.backupCode = e.code, e.code = e.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/gi, function(a){return e.tokenStack.push(a), "{{{PHP" + e.tokenStack.length + "}}}"}))}), Prism.hooks.add("before-insert", function(e){"php" === e.language && (e.code = e.backupCode, delete e.backupCode)}), Prism.hooks.add("after-highlight", function(e){if ("php" === e.language){for (var a, n = 0; a = e.tokenStack[n]; n++)e.highlightedCode = e.highlightedCode.replace("{{{PHP" + (n + 1) + "}}}", Prism.highlight(a, e.grammar, "php").replace(/\$/g, "$$$$")); e.element.innerHTML = e.highlightedCode}}), Prism.hooks.add("wrap", function(e){"php" === e.language && "markup" === e.type && (e.content = e.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g, '<span class="token php">$1</span>'))}), Prism.languages.insertBefore("php", "comment", {markup:{pattern:/<[^?]\/?(.*?)>/, inside:Prism.languages.markup}, php:/\{\{\{PHP[0-9]+\}\}\}/}));
Prism.languages.insertBefore("php", "variable", {"this":/\$this\b/, global:/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)/, scope:{pattern:/\b[\w\\]+::/, inside:{keyword:/(static|self|parent)/, punctuation:/(::|\\)/}}});
!function(e){e.languages.sass = e.languages.extend("css", {comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m, lookbehind:!0}}), e.languages.insertBefore("sass", "atrule", {"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m, inside:{atrule:/(?:@[\w-]+|[+=])/m}}}), delete e.languages.sass.atrule; var a = /((\$[-_\w]+)|(#\{\$[-_\w]+\}))/i, t = [/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/, {pattern:/(\s+)-(?=\s)/, lookbehind:!0}]; e.languages.insertBefore("sass", "property", {"variable-line":{pattern:/^[ \t]*\$.+/m, inside:{punctuation:/:/, variable:a, operator:t}}, "property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m, inside:{property:[/[^:\s]+(?=\s*:)/, {pattern:/(:)[^:\s]+/, lookbehind:!0}], punctuation:/:/, variable:a, operator:t, important:e.languages.sass.important}}}), delete e.languages.sass.property, delete e.languages.sass.important, delete e.languages.sass.selector, e.languages.insertBefore("sass", "punctuation", {selector:{pattern:/([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/, lookbehind:!0}})}(Prism);
Prism.languages.scss = Prism.languages.extend("css", {comment:{pattern:/(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/, lookbehind:!0}, atrule:{pattern:/@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/, inside:{rule:/@[\w-]+/}}, url:/(?:[-a-z]+-)*url(?=\()/i, selector:{pattern:/(?=\S)[^@;\{\}\(\)]?([^@;\{\}\(\)]|&|#\{\$[-_\w]+\})+(?=\s*\{(\}|\s|[^\}]+(:|\{)[^\}]+))/m, inside:{placeholder:/%[-_\w]+/}}}), Prism.languages.insertBefore("scss", "atrule", {keyword:[/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i, {pattern:/( +)(?:from|through)(?= )/, lookbehind:!0}]}), Prism.languages.insertBefore("scss", "property", {variable:/\$[-_\w]+|#\{\$[-_\w]+\}/}), Prism.languages.insertBefore("scss", "function", {placeholder:{pattern:/%[-_\w]+/, alias:"selector"}, statement:/\B!(?:default|optional)\b/i, "boolean":/\b(?:true|false)\b/, "null":/\bnull\b/, operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/, lookbehind:!0}}), Prism.languages.scss.atrule.inside.rest = Prism.util.clone(Prism.languages.scss);
!function(e){var t = /\{\*[\w\W]+?\*\}|\{[\w\W]+?\}/g, a = "{literal}", n = "{/literal}", o = !1; e.languages.smarty = e.languages.extend("markup", {smarty:{pattern:t, inside:{delimiter:{pattern:/^\{|\}$/i, alias:"punctuation"}, string:/(["'])(?:\\?.)*?\1/, number:/\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+(?:[Ee][-+]?\d+)?)\b/, variable:[/\$(?!\d)\w+/, /#(?!\d)\w+#/, {pattern:/(\.|->)(?!\d)\w+/, lookbehind:!0}, {pattern:/(\[)(?!\d)\w+(?=\])/, lookbehind:!0}], "function":[{pattern:/(\|\s*)@?(?!\d)\w+/, lookbehind:!0}, /^\/?(?!\d)\w+/, /(?!\d)\w+(?=\()/], "attr-name":{pattern:/\w+\s*=\s*(?:(?!\d)\w+)?/, inside:{variable:{pattern:/(=\s*)(?!\d)\w+/, lookbehind:!0}, operator:/=/}}, punctuation:[/[\[\]().,:`]|\->/], operator:[/[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/, /\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/, /\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/], keyword:/\b(?:false|off|on|no|true|yes)\b/}}}), e.languages.insertBefore("smarty", "tag", {"smarty-comment":{pattern:/\{\*[\w\W]*?\*\}/, alias:["smarty", "comment"]}}), e.hooks.add("before-highlight", function(e){"smarty" === e.language && (e.tokenStack = [], e.backupCode = e.code, e.code = e.code.replace(t, function(t){return t === n && (o = !1), o?t:(t === a && (o = !0), e.tokenStack.push(t), "___SMARTY" + e.tokenStack.length + "___")}))}), e.hooks.add("before-insert", function(e){"smarty" === e.language && (e.code = e.backupCode, delete e.backupCode)}), e.hooks.add("after-highlight", function(t){if ("smarty" === t.language){for (var a, n = 0; a = t.tokenStack[n]; n++)t.highlightedCode = t.highlightedCode.replace("___SMARTY" + (n + 1) + "___", e.highlight(a, t.grammar, "smarty").replace(/\$/g, "$$$$")); t.element.innerHTML = t.highlightedCode}})}(Prism);
Prism.languages.sql = {comment:{pattern:/(^|[^\\])(?:\/\*[\w\W]*?\*\/|(?:--|\/\/|#).*)/, lookbehind:!0}, string:{pattern:/(^|[^@\\])("|')(?:\\?[\s\S])*?\2/, lookbehind:!0}, variable:/@[\w.$]+|@("|'|`)(?:\\?[\s\S])+?\1/, "function":/\b(?:COUNT|SUM|AVG|MIN|MAX|FIRST|LAST|UCASE|LCASE|MID|LEN|ROUND|NOW|FORMAT)(?=\s*\()/i, keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR VARYING|CHARACTER (?:SET|VARYING)|CHARSET|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|DATA(?:BASES?)?|DATETIME|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE(?: PRECISION)?|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE KEY|ELSE|ENABLE|ENCLOSED BY|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPE(?:D BY)?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTO|INVOKER|ISOLATION LEVEL|JOIN|KEYS?|KILL|LANGUAGE SQL|LAST|LEFT|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MODIFIES SQL DATA|MODIFY|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL(?: CHAR VARYING| CHARACTER(?: VARYING)?| VARCHAR)?|NATURAL|NCHAR(?: VARCHAR)?|NEXT|NO(?: SQL|CHECK|CYCLE)?|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READ(?:S SQL DATA|TEXT)?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEATABLE|REPLICATION|REQUIRE|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE MODE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|START(?:ING BY)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED BY|TEXT(?:SIZE)?|THEN|TIMESTAMP|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNPIVOT|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?)\b/i, "boolean":/\b(?:TRUE|FALSE|NULL)\b/i, number:/\b-?(?:0x)?\d*\.?[\da-f]+\b/, operator:/[-+*\/=%^~]|&&?|\|?\||!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i, punctuation:/[;[\]()`,.]/};
Prism.languages.twig = {comment:/\{#[\s\S]*?#\}/, tag:{pattern:/\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}/, inside:{ld:{pattern:/^(?:\{\{\-?|\{%\-?\s*\w+)/, inside:{punctuation:/^(?:\{\{|\{%)\-?/, keyword:/\w+/}}, rd:{pattern:/\-?(?:%\}|\}\})$/, inside:{punctuation:/.*/}}, string:{pattern:/("|')(?:\\?.)*?\1/, inside:{punctuation:/^['"]|['"]$/}}, keyword:/\b(?:even|if|odd)\b/, "boolean":/\b(?:true|false|null)\b/, number:/\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+([Ee][-+]?\d+)?)\b/, operator:[{pattern:/(\s)(?:and|b\-and|b\-xor|b\-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/, lookbehind:!0}, /[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/], property:/\b[a-zA-Z_][a-zA-Z0-9_]*\b/, punctuation:/[()\[\]{}:.,]/}}, other:{pattern:/\S(?:[\s\S]*\S)?/, inside:Prism.languages.markup}};