1/* PrismJS 1.19.0 2https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+bash+json */ 3var _self = 4 'undefined' != typeof window 5 ? window 6 : 'undefined' != typeof WorkerGlobalScope && 7 self instanceof WorkerGlobalScope 8 ? self 9 : {}, 10 Prism = (function(u) { 11 var c = /\blang(?:uage)?-([\w-]+)\b/i, 12 r = 0, 13 C = { 14 manual: u.Prism && u.Prism.manual, 15 disableWorkerMessageHandler: 16 u.Prism && u.Prism.disableWorkerMessageHandler, 17 util: { 18 encode: function e(r) { 19 return r instanceof _ 20 ? new _(r.type, e(r.content), r.alias) 21 : Array.isArray(r) 22 ? r.map(e) 23 : r 24 .replace(/&/g, '&') 25 .replace(/</g, '<') 26 .replace(/\u00a0/g, ' ') 27 }, 28 type: function(e) { 29 return Object.prototype.toString.call(e).slice(8, -1) 30 }, 31 objId: function(e) { 32 return ( 33 e.__id || 34 Object.defineProperty(e, '__id', { 35 value: ++r 36 }), 37 e.__id 38 ) 39 }, 40 clone: function n(e, t) { 41 var a, 42 r, 43 i = C.util.type(e) 44 switch (((t = t || {}), i)) { 45 case 'Object': 46 if (((r = C.util.objId(e)), t[r])) return t[r] 47 for (var o in ((a = {}), (t[r] = a), e)) 48 e.hasOwnProperty(o) && (a[o] = n(e[o], t)) 49 return a 50 case 'Array': 51 return ( 52 (r = C.util.objId(e)), 53 t[r] 54 ? t[r] 55 : ((a = []), 56 (t[r] = a), 57 e.forEach(function(e, r) { 58 a[r] = n(e, t) 59 }), 60 a) 61 ) 62 default: 63 return e 64 } 65 }, 66 getLanguage: function(e) { 67 for (; e && !c.test(e.className); ) e = e.parentElement 68 return e 69 ? (e.className.match(c) || [ 70 , 71 'none' 72 ])[1].toLowerCase() 73 : 'none' 74 }, 75 currentScript: function() { 76 if ('undefined' == typeof document) return null 77 if ('currentScript' in document) 78 return document.currentScript 79 try { 80 throw new Error() 81 } catch (e) { 82 var r = (/at [^(\r\n]*\((.*):.+:.+\)$/i.exec( 83 e.stack 84 ) || [])[1] 85 if (r) { 86 var n = document.getElementsByTagName('script') 87 for (var t in n) if (n[t].src == r) return n[t] 88 } 89 return null 90 } 91 } 92 }, 93 languages: { 94 extend: function(e, r) { 95 var n = C.util.clone(C.languages[e]) 96 for (var t in r) n[t] = r[t] 97 return n 98 }, 99 insertBefore: function(n, e, r, t) { 100 var a = (t = t || C.languages)[n], 101 i = {} 102 for (var o in a) 103 if (a.hasOwnProperty(o)) { 104 if (o == e) 105 for (var l in r) 106 r.hasOwnProperty(l) && (i[l] = r[l]) 107 r.hasOwnProperty(o) || (i[o] = a[o]) 108 } 109 var s = t[n] 110 return ( 111 (t[n] = i), 112 C.languages.DFS(C.languages, function(e, r) { 113 r === s && e != n && (this[e] = i) 114 }), 115 i 116 ) 117 }, 118 DFS: function e(r, n, t, a) { 119 a = a || {} 120 var i = C.util.objId 121 for (var o in r) 122 if (r.hasOwnProperty(o)) { 123 n.call(r, o, r[o], t || o) 124 var l = r[o], 125 s = C.util.type(l) 126 'Object' !== s || a[i(l)] 127 ? 'Array' !== s || 128 a[i(l)] || 129 ((a[i(l)] = !0), e(l, n, o, a)) 130 : ((a[i(l)] = !0), e(l, n, null, a)) 131 } 132 } 133 }, 134 plugins: {}, 135 highlightAll: function(e, r) { 136 C.highlightAllUnder(document, e, r) 137 }, 138 highlightAllUnder: function(e, r, n) { 139 var t = { 140 callback: n, 141 container: e, 142 selector: 143 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code' 144 } 145 C.hooks.run('before-highlightall', t), 146 (t.elements = Array.prototype.slice.apply( 147 t.container.querySelectorAll(t.selector) 148 )), 149 C.hooks.run('before-all-elements-highlight', t) 150 for (var a, i = 0; (a = t.elements[i++]); ) 151 C.highlightElement(a, !0 === r, t.callback) 152 }, 153 highlightElement: function(e, r, n) { 154 var t = C.util.getLanguage(e), 155 a = C.languages[t] 156 e.className = 157 e.className.replace(c, '').replace(/\s+/g, ' ') + 158 ' language-' + 159 t 160 var i = e.parentNode 161 i && 162 'pre' === i.nodeName.toLowerCase() && 163 (i.className = 164 i.className.replace(c, '').replace(/\s+/g, ' ') + 165 ' language-' + 166 t) 167 var o = { 168 element: e, 169 language: t, 170 grammar: a, 171 code: e.textContent 172 } 173 function l(e) { 174 ;
174(o.highlightedCode = e), 175 C.hooks.run('before-insert', o), 176 (o.element.innerHTML = o.highlightedCode), 177 C.hooks.run('after-highlight', o), 178 C.hooks.run('complete', o), 179 n && n.call(o.element) 180 } 181 if ((C.hooks.run('before-sanity-check', o), !o.code)) 182 return ( 183 C.hooks.run('complete', o), 184 void (n && n.call(o.element)) 185 ) 186 if ((C.hooks.run('before-highlight', o), o.grammar)) 187 if (r && u.Worker) { 188 var s = new Worker(C.filename) 189 ;(s.onmessage = function(e) { 190 l(e.data) 191 }), 192 s.postMessage( 193 JSON.stringify({ 194 language: o.language, 195 code: o.code, 196 immediateClose: !0 197 }) 198 ) 199 } else l(C.highlight(o.code, o.grammar, o.language)) 200 else l(C.util.encode(o.code)) 201 }, 202 highlight: function(e, r, n) { 203 var t = { code: e, grammar: r, language: n } 204 return ( 205 C.hooks.run('before-tokenize', t), 206 (t.tokens = C.tokenize(t.code, t.grammar)), 207 C.hooks.run('after-tokenize', t), 208 _.stringify(C.util.encode(t.tokens), t.language) 209 ) 210 }, 211 matchGrammar: function(e, r, n, t, a, i, o) { 212 for (var l in n) 213 if (n.hasOwnProperty(l) && n[l]) { 214 var s = n[l] 215 s = Array.isArray(s) ? s : [s] 216 for (var u = 0; u < s.length; ++u) { 217 if (o && o == l + ',' + u) return 218 var c = s[u], 219 g = c.inside, 220 f = !!c.lookbehind, 221 h = !!c.greedy, 222 d = 0, 223 m = c.alias 224 if (h && !c.pattern.global) { 225 var p = c.pattern 226 .toString() 227 .match(/[imsuy]*$/)[0] 228 c.pattern = RegExp( 229 c.pattern.source, 230 p + 'g' 231 ) 232 } 233 c = c.pattern || c 234 for ( 235 var y = t, v = a; 236 y < r.length; 237 v += r[y].length, ++y 238 ) { 239 var k = r[y] 240 if (r.length > e.length) return 241 if (!(k instanceof _)) { 242 if (h && y != r.length - 1) { 243 if ( 244 ((c.lastIndex = v), 245 !(S = c.exec(e))) 246 ) 247 break 248 for ( 249 var b = 250 S.index + 251 (f && S[1] 252 ? S[1].length 253 : 0), 254 w = S.index + S[0].length, 255 A = y, 256 P = v, 257 x = r.length; 258 A < x && 259 (P < w || 260 (!r[A].type && 261 !r[A - 1].greedy)); 262 ++A 263 ) 264 (P += r[A].length) <= b && 265 (++y, (v = P)) 266 if (r[y] instanceof _) continue 267 ;(O = A - y), 268 (k = e.slice(v, P)), 269 (S.index -= v) 270 } else { 271 c.lastIndex = 0 272 var S = c.exec(k), 273 O = 1 274 } 275 if (S) { 276 f && (d = S[1] ? S[1].length : 0) 277 w = 278 (b = S.index + d) + 279 (S = S[0].slice(d)).length 280 var E = k.slice(0, b), 281 N = k.slice(w), 282 j = [y, O] 283 E && 284 (++y,
285 (v += E.length), 286 j.push(E)) 287 var L = new _( 288 l, 289 g ? C.tokenize(S, g) : S, 290 m, 291 S, 292 h 293 ) 294 if ( 295 (j.push(L), 296 N && j.push(N), 297 Array.prototype.splice.apply( 298 r, 299 j 300 ), 301 1 != O && 302 C.matchGrammar( 303 e, 304 r, 305 n, 306 y, 307 v, 308 !0, 309 l + ',' + u 310 ), 311 i) 312 ) 313 break 314 } else if (i) break 315 } 316 } 317 } 318 } 319 }, 320 tokenize: function(e, r) { 321 var n = [e], 322 t = r.rest 323 if (t) { 324 for (var a in t) r[a] = t[a] 325 delete r.rest 326 } 327 return C.matchGrammar(e, n, r, 0, 0, !1), n 328 }, 329 hooks: { 330 all: {}, 331 add: function(e, r) { 332 var n = C.hooks.all 333 ;(n[e] = n[e] || []), n[e].push(r) 334 }, 335 run: function(e, r) { 336 var n = C.hooks.all[e] 337 if (n && n.length) 338 for (var t, a = 0; (t = n[a++]); ) t(r) 339 } 340 }, 341 Token: _ 342 } 343 function _(e, r, n, t, a) { 344 ;(this.type = e), 345 (this.content = r), 346 (this.alias = n), 347 (this.length = 0 | (t || '').length), 348 (this.greedy = !!a) 349 } 350 if ( 351 ((u.Prism = C), 352 (_.stringify = function r(e, n) { 353 if ('string' == typeof e) return e 354 if (Array.isArray(e)) { 355 var t = '' 356 return ( 357 e.forEach(function(e) { 358 t += r(e, n) 359 }), 360 t 361 ) 362 } 363 var a = { 364 type: e.type, 365 content: r(e.content, n), 366 tag: 'span', 367 classes: ['token', e.type], 368 attributes: {}, 369 language: n 370 }, 371 i = e.alias 372 i && 373 (Array.isArray(i) 374 ? Array.prototype.push.apply(a.classes, i) 375 : a.classes.push(i)), 376 C.hooks.run('wrap', a) 377 var o = '' 378 for (var l in a.attributes) 379 o += 380 ' ' + 381 l + 382 '="' + 383 (a.attributes[l] || '').replace(/"/g, '"') + 384 '"' 385 return ( 386 '<' + 387 a.tag + 388 ' class="' + 389 a.classes.join(' ') + 390 '"' + 391 o + 392 '>' + 393 a.content + 394 '</' + 395 a.tag + 396 '>' 397 ) 398 }), 399 !u.document) 400 ) 401 return ( 402 u.addEventListener && 403 (C.disableWorkerMessageHandler || 404 u.addEventListener( 405 'message', 406 function(e) { 407 var r = JSON.parse(e.data), 408 n = r.language, 409 t = r.code, 410 a = r.immediateClose 411 u.postMessage( 412 C.highlight(t, C.languages[n], n) 413 ), 414 a && u.close() 415 }, 416 !1 417 )), 418 C 419 ) 420 var e = C.util.currentScript() 421 function n() { 422 C.manual || C.highlightAll() 423 } 424 if ( 425 (e && 426 ((C.filename = e.src), 427 e.hasAttribute('data-manual') && (C.manual = !0)), 428 !C.manual) 429 ) { 430 var t = document.readyState 431 'loading' === t || ('interactive' === t && e && e.defer) 432 ? document.addEventListener('DOMContentLoaded', n) 433 : window.requestAnimationFrame 434 ? window.requestAnimationFrame(n) 435 : window.setTimeout(n, 16) 436 } 437 return C 438 })(_self) 439'undefined' != typeof module && module.exports && (module.exports = Prism), 440 'undefined' != typeof global && (global.Prism = Prism) 441;(Prism.languages.markup = { 442 comment: /<!--[\s\S]*?-->/, 443 prolog: /<\?[\s\S]+?\?>/, 444 doctype: { 445 pattern: /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:(?!<!--)[^"'\]]|"[^"]*"|'[^']*'|<!--[\s\S]*?-->)*\]\s*)?>/i, 446 greedy: !0 447 }, 448 cdata: /<!\[CDATA\[[\s\S]*?]]>/i, 449 tag: { 450 pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>
450\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i, 451 greedy: !0, 452 inside: { 453 tag: { 454 pattern: /^<\/?[^\s>\/]+/i, 455 inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ } 456 }, 457 'attr-value': { 458 pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i, 459 inside: { 460 punctuation: [ 461 /^=/, 462 { pattern: /^(\s*)["']|["']$/, lookbehind: !0 } 463 ] 464 } 465 }, 466 punctuation: /\/?>/, 467 'attr-name': { 468 pattern: /[^\s>\/]+/, 469 inside: { namespace: /^[^\s>\/:]+:/ } 470 } 471 } 472 }, 473 entity: /&#?[\da-z]{1,8};/i 474}), 475 (Prism.languages.markup.tag.inside['attr-value'].inside.entity = 476 Prism.languages.markup.entity), 477 Prism.hooks.add('wrap', function(a) { 478 'entity' === a.type && 479 (a.attributes.title = a.content.replace(/&/, '&')) 480 }), 481 Object.defineProperty(Prism.languages.markup.tag, 'addInlined', { 482 value: function(a, e) { 483 var s = {} 484 ;(s['language-' + e] = { 485 pattern: /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i, 486 lookbehind: !0, 487 inside: Prism.languages[e] 488 }), 489 (s.cdata = /^<!\[CDATA\[|\]\]>$/i) 490 var n = { 491 'included-cdata': { 492 pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i, 493 inside: s 494 } 495 } 496 n['language-' + e] = { 497 pattern: /[\s\S]+/, 498 inside: Prism.languages[e] 499 } 500 var t = {} 501 ;(t[a] = { 502 pattern: RegExp( 503 '(<__[\\s\\S]*?>)(?:<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\s*|[\\s\\S])*?(?=<\\/__>)'.replace( 504 /__/g, 505 a 506 ), 507 'i' 508 ), 509 lookbehind: !0, 510 greedy: !0, 511 inside: n 512 }), 513 Prism.languages.insertBefore('markup', 'cdata', t) 514 } 515 }), 516 (Prism.languages.xml = Prism.languages.extend('markup', {})), 517 (Prism.languages.html = Prism.languages.markup), 518 (Prism.languages.mathml = Prism.languages.markup), 519 (Prism.languages.svg = Prism.languages.markup) 520!(function(s) { 521 var e = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ 522 ;(s.languages.css = { 523 comment: /\/\*[\s\S]*?\*\//, 524 atrule: { 525 pattern: /@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/, 526 inside: { 527 rule: /^@[\w-]+/, 528 'selector-function-argument': { 529 pattern: /(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/, 530 lookbehind: !0, 531 alias: 'selector' 532 } 533 } 534 }, 535 url: { 536 pattern: RegExp('url\\((?:' + e.source + '|[^\n\r()]*)\\)', 'i'), 537 inside: { function: /^url/i, punctuation: /^\(|\)$/ } 538 }, 539 selector: RegExp('[^{}\\s](?:[^{};"\']|' + e.source + ')*?(?=\\s*\\{)'), 540 string: { pattern: e, greedy: !0 }, 541 property: /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i, 542 important: /!important\b/i, 543 function: /[-a-z0-9]+(?=\()/i, 544 punctuation: /[(){};:,]/ 545 }), 546 (s.languages.css.atrule.inside.rest = s.languages.css) 547 var t = s.languages.markup 548 t && 549 (t.tag.addInlined('style', 'css'), 550 s.languages.insertBefore( 551 'inside', 552 'attr-value', 553 { 554 'style-attr': { 555 pattern: /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i, 556 inside: { 557 'attr-name': { 558 pattern: /^\s*style/i, 559 inside: t.tag.inside 560 }, 561 punctuation: /^\s*=\s*['"]|['"]\s*$/, 562 'attr-value': { 563 pattern: /.+/i, 564 inside: s.languages.css 565 } 566 }, 567 alias: 'language-css' 568 } 569 }, 570 t.tag 571 )) 572})(Prism) 573Prism.languages.clike = { 574 comment: [ 575 { pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: !0 }, 576 { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 } 577 ], 578 string: { 579 pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, 580 greedy: !0 581 }, 582 'class-name': { 583 pattern: /(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i, 584 lookbehind: !0, 585 inside: { punctuation: /[.\\]/ } 586 }, 587 keyword: /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, 588 boolean: /\b(?:true|false)\b/, 589 function: /\w+(?=\()/, 590 number: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, 591 operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/, 592 punctuation: /[{}[\];(),.:]/ 593} 594;(Prism.languages.javascript = Prism.languages.extend('clike', { 595 'class-name': [ 596 Prism.languages.clike['class-name'], 597 { 598 pattern: /(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/, 599 lookbehind: !0 600 } 601 ], 602 keyword: [ 603 { pattern: /((?:^|})\s*)(?:catch|finally)\b/, lookbehind: !0 }, 604 { 605 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|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)\b/, 606 lookbehind: !0 607 } 608 ], 609 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)?)+)?/, 610 function: /#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, 611 operator: /--|\+\+|\*\*=?|=>|&&|\|\||[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?[.?]?|[~:]/ 612})), 613 (Prism.languages.javascript[ 614 'class-name' 615 ][0].pattern = /(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/), 616 Prism.languages.insertBefore('javascript', 'keyword', { 617 regex: { 618 pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*[\s\S]*?\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/, 619 lookbehind: !0, 620 greedy: !0 621 }, 622 'function-variable': { 623 pattern: /#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]
623*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/, 624 alias: 'function' 625 }, 626 parameter: [ 627 { 628 pattern: /(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/, 629 lookbehind: !0, 630 inside: Prism.languages.javascript 631 }, 632 { 633 pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i, 634 inside: Prism.languages.javascript 635 }, 636 { 637 pattern: /(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/, 638 lookbehind: !0, 639 inside: Prism.languages.javascript 640 }, 641 { 642 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]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/, 643 lookbehind: !0, 644 inside: Prism.languages.javascript 645 } 646 ], 647 constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/ 648 }), 649 Prism.languages.insertBefore('javascript', 'string', { 650 'template-string': { 651 pattern: /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/, 652 greedy: !0, 653 inside: { 654 'template-punctuation': { pattern: /^`|`$/, alias: 'string' }, 655 interpolation: { 656 pattern: /((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/, 657 lookbehind: !0, 658 inside: { 659 'interpolation-punctuation': { 660 pattern: /^\${|}$/, 661 alias: 'punctuation' 662 }, 663 rest: Prism.languages.javascript 664 } 665 }, 666 string: /[\s\S]+/ 667 } 668 } 669 }), 670 Prism.languages.markup && 671 Prism.languages.markup.tag.addInlined('script', 'javascript'), 672 (Prism.languages.js = Prism.languages.javascript) 673!(function(e) { 674 var t = 675 '\\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_
675CURRENT_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', 676 n = { 677 environment: { pattern: RegExp('\\$' + t), alias: 'constant' }, 678 variable: [ 679 { 680 pattern: /\$?\(\([\s\S]+?\)\)/, 681 greedy: !0, 682 inside: { 683 variable: [ 684 { pattern: /(^\$\(\([\s\S]+)\)\)/, lookbehind: !0 }, 685 /^\$\(\(/ 686 ], 687 number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/, 688 operator: /--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/, 689 punctuation: /\(\(?|\)\)?|,|;/ 690 } 691 }, 692 { 693 pattern: /\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/, 694 greedy: !0, 695 inside: { variable: /^\$\(|^`|\)$|`$/ } 696 }, 697 { 698 pattern: /\$\{[^}]+\}/, 699 greedy: !0, 700 inside: { 701 operator: /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/, 702 punctuation: /[\[\]]/, 703 environment: { 704 pattern: RegExp('(\\{)' + t), 705 lookbehind: !0, 706 alias: 'constant' 707 } 708 } 709 }, 710 /\$(?:\w+|[#?*!@$])/ 711 ], 712 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})/ 713 } 714 e.languages.bash = { 715 shebang: { pattern: /^#!\s*\/.*/, alias: 'important' }, 716 comment: { pattern: /(^|[^"{\\$])#.*/, lookbehind: !0 }, 717 'function-name': [ 718 { 719 pattern: /(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/, 720 lookbehind: !0, 721 alias: 'function' 722 }, 723 { pattern: /\b\w+(?=\s*\(\s*\)\s*\{)/, alias: 'function' } 724 ], 725 'for-or-select': { 726 pattern: /(\b(?:for|select)\s+)\w+(?=\s+in\s)/, 727 alias: 'variable', 728 lookbehind: !0 729 }, 730 'assign-left': { 731 pattern: /(^|[\s;|&]|[<>]\()\w+(?=\+?=)/, 732 inside: { 733 environment: { 734 pattern: RegExp('(^|[\\s;|&]|[<>]\\()' + t), 735 lookbehind: !0, 736 alias: 'constant' 737 } 738 }, 739 alias: 'variable', 740 lookbehind: !0 741 }, 742 string: [ 743 { 744 pattern: /((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\2/, 745 lookbehind: !0, 746 greedy: !0, 747 inside: n 748 }, 749 { 750 pattern: /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\3/, 751 lookbehind: !0, 752 greedy: !0 753 }, 754 { 755 pattern: /(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/, 756 greedy: !0, 757 inside: n 758 } 759 ], 760 environment: { pattern: RegExp('\\$?' + t), alias: 'constant' }, 761 variable: n.variable, 762 function: { 763 pattern: /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|
763scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/, 764 lookbehind: !0 765 }, 766 keyword: { 767 pattern: /(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/, 768 lookbehind: !0 769 }, 770 builtin: { 771 pattern: /(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/, 772 lookbehind: !0, 773 alias: 'class-name' 774 }, 775 boolean: { 776 pattern: /(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/, 777 lookbehind: !0 778 }, 779 'file-descriptor': { pattern: /\B&\d\b/, alias: 'important' }, 780 operator: { 781 pattern: /\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/, 782 inside: { 783 'file-descriptor': { pattern: /^\d/, alias: 'important' } 784 } 785 }, 786 punctuation: /\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/, 787 number: { 788 pattern: /(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/, 789 lookbehind: !0 790 } 791 } 792 for ( 793 var a = [ 794 'comment', 795 'function-name', 796 'for-or-select', 797 'assign-left', 798 'string', 799 'environment', 800 'function', 801 'keyword', 802 'builtin', 803 'boolean', 804 'file-descriptor', 805 'operator', 806 'punctuation', 807 'number' 808 ], 809 r = n.variable[1].inside, 810 s = 0; 811 s < a.length; 812 s++ 813 ) 814 r[a[s]] = e.languages.bash[a[s]] 815 e.languages.shell = e.languages.bash 816})(Prism) 817Prism.languages.json = { 818 property: { pattern: /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/, greedy: !0 }, 819 string: { pattern: /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/, greedy: !0 }, 820 comment: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/, 821 number: /-?\d+\.?\d*(?:e[+-]?\d+)?/i, 822 punctuation: /[{}[\],]/, 823 operator: /:/, 824 boolean: /\b(?:true|false)\b/, 825 null: { pattern: /\bnull\b/, alias: 'keyword' } 826}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.