1 line
1.1 MiB
1 line
1.1 MiB
{"version":3,"file":"prism-C4r0NVHH.js","sources":["../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/prism.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-javascript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-markup.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-css.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-clike.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-regex.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-abap.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-abnf.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-actionscript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-ada.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-agda.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-al.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-antlr4.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-apacheconf.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-sql.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-apex.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-apl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-applescript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-aql.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-c.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-cpp.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-arduino.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-arff.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-armasm.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-bash.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-yaml.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-markdown.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-arturo.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-asciidoc.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-csharp.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-aspnet.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-asm6502.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-asmatmel.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-autohotkey.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-autoit.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-avisynth.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-avro-idl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-awk.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-basic.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-batch.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-bbcode.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-bbj.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-bicep.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-birb.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-bison.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-bnf.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-bqn.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-brainfuck.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-brightscript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-bro.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-cfscript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-chaiscript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-cil.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-cilkc.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-cilkcpp.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-clojure.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-cmake.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-cobol.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-coffeescript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-concurnas.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-csp.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-cooklang.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-ruby.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-crystal.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-csv.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-cue.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-cypher.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-d.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-dart.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-dataweave.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-dax.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-dhall.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-diff.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-markup-templating.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-django.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-dns-zone-file.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-docker.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-dot.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-ebnf.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-editorconfig.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-eiffel.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-ejs.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-elixir.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-elm.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-lua.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-etlua.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-erb.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-erlang.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-excel-formula.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-fsharp.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-factor.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-false.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-firestore-security-rules.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-flow.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-fortran.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-ftl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-gml.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-gap.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-gcode.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-gdscript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-gedcom.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-gettext.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-git.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-glsl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-gn.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-linker-script.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-go.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-go-module.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-gradle.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-graphql.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-groovy.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-less.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-scss.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-textile.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-haml.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-handlebars.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-haskell.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-haxe.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-hcl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-hlsl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-hoon.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-hpkp.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-hsts.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-json.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-uri.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-http.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-ichigojam.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-icon.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-icu-message-format.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-idris.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-ignore.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-inform7.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-ini.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-io.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-j.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-java.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-scala.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-php.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-javadoclike.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-javadoc.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-javastacktrace.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-jolie.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-jq.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-typescript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-jsdoc.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-n4js.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-json5.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-jsonp.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-jsstacktrace.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-julia.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-keepalived.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-keyman.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-kotlin.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-kusto.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-latex.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-latte.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-scheme.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-lilypond.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-liquid.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-lisp.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-livescript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-llvm.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-log.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-lolcode.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-magma.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-makefile.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-mata.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-matlab.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-maxscript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-mel.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-mermaid.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-metafont.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-mizar.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-mongodb.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-monkey.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-moonscript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-n1ql.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-nand2tetris-hdl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-naniscript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-nasm.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-neon.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-nevod.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-nginx.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-nim.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-nix.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-nsis.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-objectivec.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-ocaml.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-odin.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-opencl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-openqasm.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-oz.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-parigp.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-parser.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-pascal.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-pascaligo.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-psl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-pcaxis.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-peoplecode.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-perl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-phpdoc.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-plant-uml.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-plsql.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-powerquery.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-powershell.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-processing.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-prolog.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-promql.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-properties.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-protobuf.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-stylus.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-twig.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-pug.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-puppet.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-purebasic.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-python.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-qsharp.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-q.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-qml.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-qore.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-r.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-racket.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-cshtml.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-jsx.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-tsx.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-reason.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-rego.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-renpy.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-rescript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-rest.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-rip.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-roboconf.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-robotframework.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-rust.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-sas.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-sass.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-shell-session.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-smali.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-smalltalk.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-smarty.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-sml.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-solidity.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-solution-file.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-soy.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-splunk-spl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-sqf.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-squirrel.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-stan.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-stata.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-iecst.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-supercollider.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-swift.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-systemd.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-t4-templating.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-t4-cs.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-vbnet.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-t4-vb.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-tap.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-tcl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-tt2.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-toml.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-tremor.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-typoscript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-unrealscript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-uorazor.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-v.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-vala.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-velocity.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-verilog.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-vhdl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-vim.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-visual-basic.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-warpscript.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-wasm.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-web-idl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-wgsl.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-wiki.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-wolfram.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-wren.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-xeora.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-xojo.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-xquery.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-yang.js","../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-zig.js"],"sourcesContent":["\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// <reference lib=\"WebWorker\"/>\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new <script> to load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tmanual: _self.Prism && _self.Prism.manual,\n\t\t/**\n\t\t * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses\n\t\t * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your\n\t\t * own worker, you don't want it to do this.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not add its own listeners to the worker.\n\t\t *\n\t\t * You obviously have to change this value before Prism executes. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.disableWorkerMessageHandler = true;\n\t\t * // Load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the name of the type of the given value.\n\t\t\t *\n\t\t\t * @param {any} o\n\t\t\t * @returns {string}\n\t\t\t * @example\n\t\t\t * type(null) === 'Null'\n\t\t\t * type(undefined) === 'Undefined'\n\t\t\t * type(123) === 'Number'\n\t\t\t * type('foo') === 'String'\n\t\t\t * type(true) === 'Boolean'\n\t\t\t * type([1, 2]) === 'Array'\n\t\t\t * type({}) === 'Object'\n\t\t\t * type(String) === 'Function'\n\t\t\t * type(/abc+/) === 'RegExp'\n\t\t\t */\n\t\t\ttype: function (o) {\n\t\t\t\treturn Object.prototype.toString.call(o).slice(8, -1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns a unique number for the given object. Later calls will still return the same number.\n\t\t\t *\n\t\t\t * @param {Object} obj\n\t\t\t * @returns {number}\n\t\t\t */\n\t\t\tobjId: function (obj) {\n\t\t\t\tif (!obj['__id']) {\n\t\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t\t}\n\t\t\t\treturn obj['__id'];\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Creates a deep clone of the given object.\n\t\t\t *\n\t\t\t * The main intended use of this function is to clone language definitions.\n\t\t\t *\n\t\t\t * @param {T} o\n\t\t\t * @param {Record<number, any>} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record<string, any>} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the script element that is currently executing.\n\t\t\t *\n\t\t\t * This does __not__ work for line script element.\n\t\t\t *\n\t\t\t * @returns {HTMLScriptElement | null}\n\t\t\t */\n\t\t\tcurrentScript: function () {\n\t\t\t\tif (typeof document === 'undefined') {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n\t\t\t\t\treturn /** @type {any} */ (document.currentScript);\n\t\t\t\t}\n\n\t\t\t\t// IE11 workaround\n\t\t\t\t// we'll get the src of the current script by parsing IE11's error stack trace\n\t\t\t\t// this will not work for inline scripts\n\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Get file src url from stack. Specifically works with the format of stack traces in IE.\n\t\t\t\t\t// A stack will look like this:\n\t\t\t\t\t//\n\t\t\t\t\t// Error\n\t\t\t\t\t// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n\t\t\t\t\t// at Global code (http://localhost/components/prism-core.js:606:1)\n\n\t\t\t\t\tvar src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n\t\t\t\t\tif (src) {\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script');\n\t\t\t\t\t\tfor (var i in scripts) {\n\t\t\t\t\t\t\tif (scripts[i].src == src) {\n\t\t\t\t\t\t\t\treturn scripts[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n\t\t\t * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n\t\t\t * this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.markup.style = {\n\t\t\t * // token\n\t\t\t * };\n\t\t\t * ```\n\t\t\t *\n\t\t\t * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n\t\t\t * before existing tokens. For the CSS example above, you would use it like this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'cdata', {\n\t\t\t * 'style': {\n\t\t\t * // token\n\t\t\t * }\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Special cases\n\t\t\t *\n\t\t\t * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n\t\t\t * will be ignored.\n\t\t\t *\n\t\t\t * This behavior can be used to insert tokens after `before`:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'comment', {\n\t\t\t * 'comment': Prism.languages.markup.comment,\n\t\t\t * // tokens after 'comment'\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Limitations\n\t\t\t *\n\t\t\t * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n\t\t\t * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n\t\t\t * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n\t\t\t * deleting properties which is necessary to insert at arbitrary positions.\n\t\t\t *\n\t\t\t * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n\t\t\t * Instead, it will create a new object and replace all references to the target object with the new one. This\n\t\t\t * can be done without temporarily deleting properties, so the iteration order is well-defined.\n\t\t\t *\n\t\t\t * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n\t\t\t * you hold the target object in a variable, then the value of the variable will not change.\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * var oldMarkup = Prism.languages.markup;\n\t\t\t * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n\t\t\t *\n\t\t\t * assert(oldMarkup !== Prism.languages.markup);\n\t\t\t * assert(newMarkup === Prism.languages.markup);\n\t\t\t * ```\n\t\t\t *\n\t\t\t * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n\t\t\t * object to be modified.\n\t\t\t * @param {string} before The key to insert before.\n\t\t\t * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n\t\t\t * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n\t\t\t * object to be modified.\n\t\t\t *\n\t\t\t * Defaults to `Prism.languages`.\n\t\t\t * @returns {Grammar} The new grammar object.\n\t\t\t * @public\n\t\t\t */\n\t\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\t\troot = root || /** @type {any} */ (_.languages);\n\t\t\t\tvar grammar = root[inside];\n\t\t\t\t/** @type {Grammar} */\n\t\t\t\tvar ret = {};\n\n\t\t\t\tfor (var token in grammar) {\n\t\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\t\tif (token == before) {\n\t\t\t\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Do not insert token which also occur in insert. See #1525\n\t\t\t\t\t\tif (!insert.hasOwnProperty(token)) {\n\t\t\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar old = root[inside];\n\t\t\t\troot[inside] = ret;\n\n\t\t\t\t// Update references in other language definitions\n\t\t\t\t_.languages.DFS(_.languages, function (key, value) {\n\t\t\t\t\tif (value === old && key != inside) {\n\t\t\t\t\t\tthis[key] = ret;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn ret;\n\t\t\t},\n\n\t\t\t// Traverse a language definition with Depth First Search\n\t\t\tDFS: function DFS(o, callback, type, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar objId = _.util.objId;\n\n\t\t\t\tfor (var i in o) {\n\t\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\t\tvar property = o[i];\n\t\t\t\t\t\tvar propertyType = _.util.type(property);\n\n\t\t\t\t\t\tif (propertyType === 'Object' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, null, visited);\n\t\t\t\t\t\t} else if (propertyType === 'Array' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, i, visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tplugins: {},\n\n\t\t/**\n\t\t * This is the most high-level function in Prism’s API.\n\t\t * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n\t\t * each one of them.\n\t\t *\n\t\t * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n\t\t *\n\t\t * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAll: function (async, callback) {\n\t\t\t_.highlightAllUnder(document, async, callback);\n\t\t},\n\n\t\t/**\n\t\t * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n\t\t * {@link Prism.highlightElement} on each one of them.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-highlightall`\n\t\t * 2. `before-all-elements-highlight`\n\t\t * 3. All hooks of {@link Prism.highlightElement} for each element.\n\t\t *\n\t\t * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n\t\t * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAllUnder: function (container, async, callback) {\n\t\t\tvar env = {\n\t\t\t\tcallback: callback,\n\t\t\t\tcontainer: container,\n\t\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t\t};\n\n\t\t\t_.hooks.run('before-highlightall', env);\n\n\t\t\tenv.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n\t\t\t_.hooks.run('before-all-elements-highlight', env);\n\n\t\t\tfor (var i = 0, element; (element = env.elements[i++]);) {\n\t\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Highlights the code inside a single element.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-sanity-check`\n\t\t * 2. `before-highlight`\n\t\t * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.\n\t\t * 4. `before-insert`\n\t\t * 5. `after-highlight`\n\t\t * 6. `complete`\n\t\t *\n\t\t * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for\n\t\t * the element's language.\n\t\t *\n\t\t * @param {Element} element The element containing the code.\n\t\t * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n\t\t * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n\t\t * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n\t\t * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n\t\t *\n\t\t * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n\t\t * asynchronous highlighting to work. You can build your own bundle on the\n\t\t * [Download page](https://prismjs.com/download.html).\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n\t\t * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightElement: function (element, async, callback) {\n\t\t\t// Find language\n\t\t\tvar language = _.util.getLanguage(element);\n\t\t\tvar grammar = _.languages[language];\n\n\t\t\t// Set language on the element, if not present\n\t\t\t_.util.setLanguage(element, language);\n\n\t\t\t// Set language on the parent, for styling\n\t\t\tvar parent = element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre') {\n\t\t\t\t_.util.setLanguage(parent, language);\n\t\t\t}\n\n\t\t\tvar code = element.textContent;\n\n\t\t\tvar env = {\n\t\t\t\telement: element,\n\t\t\t\tlanguage: language,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tcode: code\n\t\t\t};\n\n\t\t\tfunction insertHighlightedCode(highlightedCode) {\n\t\t\t\tenv.highlightedCode = highlightedCode;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t}\n\n\t\t\t_.hooks.run('before-sanity-check', env);\n\n\t\t\t// plugins may change/add the parent/element\n\t\t\tparent = env.element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n\t\t\t\tparent.setAttribute('tabindex', '0');\n\t\t\t}\n\n\t\t\tif (!env.code) {\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_.hooks.run('before-highlight', env);\n\n\t\t\tif (!env.grammar) {\n\t\t\t\tinsertHighlightedCode(_.util.encode(env.code));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (async && _self.Worker) {\n\t\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\t\tworker.onmessage = function (evt) {\n\t\t\t\t\tinsertHighlightedCode(evt.data);\n\t\t\t\t};\n\n\t\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\t\tlanguage: env.language,\n\t\t\t\t\tcode: env.code,\n\t\t\t\t\timmediateClose: true\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tinsertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns a string with the HTML produced.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-tokenize`\n\t\t * 2. `after-tokenize`\n\t\t * 3. `wrap`: On each {@link Token}.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @param {string} language The name of the language definition passed to `grammar`.\n\t\t * @returns {string} The highlighted HTML.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n\t\t */\n\t\thighlight: function (text, grammar, language) {\n\t\t\tvar env = {\n\t\t\t\tcode: text,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tlanguage: language\n\t\t\t};\n\t\t\t_.hooks.run('before-tokenize', env);\n\t\t\tif (!env.grammar) {\n\t\t\t\tthrow new Error('The language \"' + env.language + '\" has no grammar.');\n\t\t\t}\n\t\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t\t_.hooks.run('after-tokenize', env);\n\t\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t\t},\n\n\t\t/**\n\t\t * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns an array with the tokenized code.\n\t\t *\n\t\t * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n\t\t *\n\t\t * This method could be useful in other contexts as well, as a very crude parser.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @returns {TokenStream} An array of strings and tokens, a token stream.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * let code = `var foo = 0;`;\n\t\t * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n\t\t * tokens.forEach(token => {\n\t\t * if (token instanceof Prism.Token && token.type === 'number') {\n\t\t * console.log(`Found numeric literal: ${token.content}`);\n\t\t * }\n\t\t * });\n\t\t */\n\t\ttokenize: function (text, grammar) {\n\t\t\tvar rest = grammar.rest;\n\t\t\tif (rest) {\n\t\t\t\tfor (var token in rest) {\n\t\t\t\t\tgrammar[token] = rest[token];\n\t\t\t\t}\n\n\t\t\t\tdelete grammar.rest;\n\t\t\t}\n\n\t\t\tvar tokenList = new LinkedList();\n\t\t\taddAfter(tokenList, tokenList.head, text);\n\n\t\t\tmatchGrammar(text, tokenList, grammar, tokenList.head, 0);\n\n\t\t\treturn toArray(tokenList);\n\t\t},\n\n\t\t/**\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thooks: {\n\t\t\tall: {},\n\n\t\t\t/**\n\t\t\t * Adds the given callback to the list of callbacks for the given hook.\n\t\t\t *\n\t\t\t * The callback will be invoked when the hook it is registered for is run.\n\t\t\t * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n\t\t\t *\n\t\t\t * One callback function can be registered to multiple hooks and the same hook multiple times.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {HookCallback} callback The callback function which is given environment variables.\n\t\t\t * @public\n\t\t\t */\n\t\t\tadd: function (name, callback) {\n\t\t\t\tvar hooks = _.hooks.all;\n\n\t\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\t\thooks[name].push(callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Runs a hook invoking all registered callbacks with the given environment variables.\n\t\t\t *\n\t\t\t * Callbacks will be invoked synchronously and in the order in which they were registered.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n\t\t\t * @public\n\t\t\t */\n\t\t\trun: function (name, env) {\n\t\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, callback; (callback = callbacks[i++]);) {\n\t\t\t\t\tcallback(env);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tToken: Token\n\t};\n\t_self.Prism = _;\n\n\n\t// Typescript note:\n\t// The following can be used to import the Token type in JSDoc:\n\t//\n\t// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n\t/**\n\t * Creates a new token.\n\t *\n\t * @param {string} type See {@link Token#type type}\n\t * @param {string | TokenStream} content See {@link Token#content content}\n\t * @param {string|string[]} [alias] The alias(es) of the token.\n\t * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n\t * @class\n\t * @global\n\t * @public\n\t */\n\tfunction Token(type, content, alias, matchedStr) {\n\t\t/**\n\t\t * The type of the token.\n\t\t *\n\t\t * This is usually the key of a pattern in a {@link Grammar}.\n\t\t *\n\t\t * @type {string}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.type = type;\n\t\t/**\n\t\t * The strings or tokens contained by this token.\n\t\t *\n\t\t * This will be a token stream if the pattern matched also defined an `inside` grammar.\n\t\t *\n\t\t * @type {string | TokenStream}\n\t\t * @public\n\t\t */\n\t\tthis.content = content;\n\t\t/**\n\t\t * The alias(es) of the token.\n\t\t *\n\t\t * @type {string|string[]}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.alias = alias;\n\t\t// Copy of the full string this token was created from\n\t\tthis.length = (matchedStr || '').length | 0;\n\t}\n\n\t/**\n\t * A token stream is an array of strings and {@link Token Token} objects.\n\t *\n\t * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n\t * them.\n\t *\n\t * 1. No adjacent strings.\n\t * 2. No empty strings.\n\t *\n\t * The only exception here is the token stream that only contains the empty string and nothing else.\n\t *\n\t * @typedef {Array<string | Token>} TokenStream\n\t * @global\n\t * @public\n\t */\n\n\t/**\n\t * Converts the given token or token stream to an HTML representation.\n\t *\n\t * The following hooks will be run:\n\t * 1. `wrap`: On each {@link Token}.\n\t *\n\t * @param {string | Token | TokenStream} o The token or token stream to be converted.\n\t * @param {string} language The name of current language.\n\t * @returns {string} The HTML representation of the token or token stream.\n\t * @memberof Token\n\t * @static\n\t */\n\tToken.stringify = function stringify(o, language) {\n\t\tif (typeof o == 'string') {\n\t\t\treturn o;\n\t\t}\n\t\tif (Array.isArray(o)) {\n\t\t\tvar s = '';\n\t\t\to.forEach(function (e) {\n\t\t\t\ts += stringify(e, language);\n\t\t\t});\n\t\t\treturn s;\n\t\t}\n\n\t\tvar env = {\n\t\t\ttype: o.type,\n\t\t\tcontent: stringify(o.content, language),\n\t\t\ttag: 'span',\n\t\t\tclasses: ['token', o.type],\n\t\t\tattributes: {},\n\t\t\tlanguage: language\n\t\t};\n\n\t\tvar aliases = o.alias;\n\t\tif (aliases) {\n\t\t\tif (Array.isArray(aliases)) {\n\t\t\t\tArray.prototype.push.apply(env.classes, aliases);\n\t\t\t} else {\n\t\t\t\tenv.classes.push(aliases);\n\t\t\t}\n\t\t}\n\n\t\t_.hooks.run('wrap', env);\n\n\t\tvar attributes = '';\n\t\tfor (var name in env.attributes) {\n\t\t\tattributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t\t}\n\n\t\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n\t};\n\n\t/**\n\t * @param {RegExp} pattern\n\t * @param {number} pos\n\t * @param {string} text\n\t * @param {boolean} lookbehind\n\t * @returns {RegExpExecArray | null}\n\t */\n\tfunction matchPattern(pattern, pos, text, lookbehind) {\n\t\tpattern.lastIndex = pos;\n\t\tvar match = pattern.exec(text);\n\t\tif (match && lookbehind && match[1]) {\n\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\tvar lookbehindLength = match[1].length;\n\t\t\tmatch.index += lookbehindLength;\n\t\t\tmatch[0] = match[0].slice(lookbehindLength);\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @param {string} text\n\t * @param {LinkedList<string | Token>} tokenList\n\t * @param {any} grammar\n\t * @param {LinkedListNode<string | Token>} startNode\n\t * @param {number} startPos\n\t * @param {RematchOptions} [rematch]\n\t * @returns {void}\n\t * @private\n\t *\n\t * @typedef RematchOptions\n\t * @property {string} cause\n\t * @property {number} reach\n\t */\n\tfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n\t\tfor (var token in grammar) {\n\t\t\tif (!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tif (rematch && rematch.cause == token + ',' + j) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar patternObj = patterns[j];\n\t\t\t\tvar inside = patternObj.inside;\n\t\t\t\tvar lookbehind = !!patternObj.lookbehind;\n\t\t\t\tvar greedy = !!patternObj.greedy;\n\t\t\t\tvar alias = patternObj.alias;\n\n\t\t\t\tif (greedy && !patternObj.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n\t\t\t\t\tpatternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n\t\t\t\t}\n\n\t\t\t\t/** @type {RegExp} */\n\t\t\t\tvar pattern = patternObj.pattern || patternObj;\n\n\t\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\t\tvar currentNode = startNode.next, pos = startPos;\n\t\t\t\t\tcurrentNode !== tokenList.tail;\n\t\t\t\t\tpos += currentNode.value.length, currentNode = currentNode.next\n\t\t\t\t) {\n\n\t\t\t\t\tif (rematch && pos >= rematch.reach) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar str = currentNode.value;\n\n\t\t\t\t\tif (tokenList.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeCount = 1; // this is the to parameter of removeBetween\n\t\t\t\t\tvar match;\n\n\t\t\t\t\tif (greedy) {\n\t\t\t\t\t\tmatch = matchPattern(pattern, pos, text, lookbehind);\n\t\t\t\t\t\tif (!match || match.index >= text.length) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index;\n\t\t\t\t\t\tvar to = match.index + match[0].length;\n\t\t\t\t\t\tvar p = pos;\n\n\t\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\twhile (from >= p) {\n\t\t\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// adjust pos (and p)\n\t\t\t\t\t\tp -= currentNode.value.length;\n\t\t\t\t\t\tpos = p;\n\n\t\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (currentNode.value instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar k = currentNode;\n\t\t\t\t\t\t\tk !== tokenList.tail && (p < to || typeof k.value === 'string');\n\t\t\t\t\t\t\tk = k.next\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveCount++;\n\t\t\t\t\t\t\tp += k.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremoveCount--;\n\n\t\t\t\t\t\t// replace with the new match\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmatch = matchPattern(pattern, 0, str, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line no-redeclare\n\t\t\t\t\tvar from = match.index;\n\t\t\t\t\tvar matchStr = match[0];\n\t\t\t\t\tvar before = str.slice(0, from);\n\t\t\t\t\tvar after = str.slice(from + matchStr.length);\n\n\t\t\t\t\tvar reach = pos + str.length;\n\t\t\t\t\tif (rematch && reach > rematch.reach) {\n\t\t\t\t\t\trematch.reach = reach;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeFrom = currentNode.prev;\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\tremoveFrom = addAfter(tokenList, removeFrom, before);\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t}\n\n\t\t\t\t\tremoveRange(tokenList, removeFrom, removeCount);\n\n\t\t\t\t\tvar wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n\t\t\t\t\tcurrentNode = addAfter(tokenList, removeFrom, wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\taddAfter(tokenList, currentNode, after);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (removeCount > 1) {\n\t\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\t\t/** @type {RematchOptions} */\n\t\t\t\t\t\tvar nestedRematch = {\n\t\t\t\t\t\t\tcause: token + ',' + j,\n\t\t\t\t\t\t\treach: reach\n\t\t\t\t\t\t};\n\t\t\t\t\t\tmatchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n\n\t\t\t\t\t\t// the reach might have been extended because of the rematching\n\t\t\t\t\t\tif (rematch && nestedRematch.reach > rematch.reach) {\n\t\t\t\t\t\t\trematch.reach = nestedRematch.reach;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @typedef LinkedListNode\n\t * @property {T} value\n\t * @property {LinkedListNode<T> | null} prev The previous node.\n\t * @property {LinkedListNode<T> | null} next The next node.\n\t * @template T\n\t * @private\n\t */\n\n\t/**\n\t * @template T\n\t * @private\n\t */\n\tfunction LinkedList() {\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar head = { value: null, prev: null, next: null };\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar tail = { value: null, prev: head, next: null };\n\t\thead.next = tail;\n\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.head = head;\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.tail = tail;\n\t\tthis.length = 0;\n\t}\n\n\t/**\n\t * Adds a new node with the given value to the list.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {T} value\n\t * @returns {LinkedListNode<T>} The added node.\n\t * @template T\n\t */\n\tfunction addAfter(list, node, value) {\n\t\t// assumes that node != list.tail && values.length >= 0\n\t\tvar next = node.next;\n\n\t\tvar newNode = { value: value, prev: node, next: next };\n\t\tnode.next = newNode;\n\t\tnext.prev = newNode;\n\t\tlist.length++;\n\n\t\treturn newNode;\n\t}\n\t/**\n\t * Removes `count` nodes after the given node. The given node will not be removed.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {number} count\n\t * @template T\n\t */\n\tfunction removeRange(list, node, count) {\n\t\tvar next = node.next;\n\t\tfor (var i = 0; i < count && next !== list.tail; i++) {\n\t\t\tnext = next.next;\n\t\t}\n\t\tnode.next = next;\n\t\tnext.prev = node;\n\t\tlist.length -= i;\n\t}\n\t/**\n\t * @param {LinkedList<T>} list\n\t * @returns {T[]}\n\t * @template T\n\t */\n\tfunction toArray(list) {\n\t\tvar array = [];\n\t\tvar node = list.head.next;\n\t\twhile (node !== list.tail) {\n\t\t\tarray.push(node.value);\n\t\t\tnode = node.next;\n\t\t}\n\t\treturn array;\n\t}\n\n\n\tif (!_self.document) {\n\t\tif (!_self.addEventListener) {\n\t\t\t// in Node.js\n\t\t\treturn _;\n\t\t}\n\n\t\tif (!_.disableWorkerMessageHandler) {\n\t\t\t// In worker\n\t\t\t_self.addEventListener('message', function (evt) {\n\t\t\t\tvar message = JSON.parse(evt.data);\n\t\t\t\tvar lang = message.language;\n\t\t\t\tvar code = message.code;\n\t\t\t\tvar immediateClose = message.immediateClose;\n\n\t\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\t\tif (immediateClose) {\n\t\t\t\t\t_self.close();\n\t\t\t\t}\n\t\t\t}, false);\n\t\t}\n\n\t\treturn _;\n\t}\n\n\t// Get current script and highlight\n\tvar script = _.util.currentScript();\n\n\tif (script) {\n\t\t_.filename = script.src;\n\n\t\tif (script.hasAttribute('data-manual')) {\n\t\t\t_.manual = true;\n\t\t}\n\t}\n\n\tfunction highlightAutomaticallyCallback() {\n\t\tif (!_.manual) {\n\t\t\t_.highlightAll();\n\t\t}\n\t}\n\n\tif (!_.manual) {\n\t\t// If the document state is \"loading\", then we'll use DOMContentLoaded.\n\t\t// If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n\t\t// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n\t\t// might take longer one animation frame to execute which can create a race condition where only some plugins have\n\t\t// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n\t\t// See https://github.com/PrismJS/prism/issues/2102\n\t\tvar readyState = document.readyState;\n\t\tif (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n\t\t\tdocument.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n\t\t} else {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(highlightAutomaticallyCallback);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(highlightAutomaticallyCallback, 16);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn _;\n\n}(_self));\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\n\n// some additional documentation/types\n\n/**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n/**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n/**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n/**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n\n\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n\n\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\n(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n\n\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\nPrism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\n\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|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/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\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*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\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*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n\n\n/* **********************************************\n Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n\n\tif (typeof Prism === 'undefined' || typeof document === 'undefined') {\n\t\treturn;\n\t}\n\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\tif (!Element.prototype.matches) {\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\t}\n\n\tvar LOADING_MESSAGE = 'Loading…';\n\tvar FAILURE_MESSAGE = function (status, message) {\n\t\treturn '✖ Error ' + status + ' while fetching file: ' + message;\n\t};\n\tvar FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';\n\n\tvar EXTENSIONS = {\n\t\t'js': 'javascript',\n\t\t'py': 'python',\n\t\t'rb': 'ruby',\n\t\t'ps1': 'powershell',\n\t\t'psm1': 'powershell',\n\t\t'sh': 'bash',\n\t\t'bat': 'batch',\n\t\t'h': 'c',\n\t\t'tex': 'latex'\n\t};\n\n\tvar STATUS_ATTR = 'data-src-status';\n\tvar STATUS_LOADING = 'loading';\n\tvar STATUS_LOADED = 'loaded';\n\tvar STATUS_FAILED = 'failed';\n\n\tvar SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '=\"' + STATUS_LOADED + '\"])'\n\t\t+ ':not([' + STATUS_ATTR + '=\"' + STATUS_LOADING + '\"])';\n\n\t/**\n\t * Loads the given file.\n\t *\n\t * @param {string} src The URL or path of the source file to load.\n\t * @param {(result: string) => void} success\n\t * @param {(reason: string) => void} error\n\t */\n\tfunction loadFile(src, success, error) {\n\t\tvar xhr = new XMLHttpRequest();\n\t\txhr.open('GET', src, true);\n\t\txhr.onreadystatechange = function () {\n\t\t\tif (xhr.readyState == 4) {\n\t\t\t\tif (xhr.status < 400 && xhr.responseText) {\n\t\t\t\t\tsuccess(xhr.responseText);\n\t\t\t\t} else {\n\t\t\t\t\tif (xhr.status >= 400) {\n\t\t\t\t\t\terror(FAILURE_MESSAGE(xhr.status, xhr.statusText));\n\t\t\t\t\t} else {\n\t\t\t\t\t\terror(FAILURE_EMPTY_MESSAGE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\txhr.send(null);\n\t}\n\n\t/**\n\t * Parses the given range.\n\t *\n\t * This returns a range with inclusive ends.\n\t *\n\t * @param {string | null | undefined} range\n\t * @returns {[number, number | undefined] | undefined}\n\t */\n\tfunction parseRange(range) {\n\t\tvar m = /^\\s*(\\d+)\\s*(?:(,)\\s*(?:(\\d+)\\s*)?)?$/.exec(range || '');\n\t\tif (m) {\n\t\t\tvar start = Number(m[1]);\n\t\t\tvar comma = m[2];\n\t\t\tvar end = m[3];\n\n\t\t\tif (!comma) {\n\t\t\t\treturn [start, start];\n\t\t\t}\n\t\t\tif (!end) {\n\t\t\t\treturn [start, undefined];\n\t\t\t}\n\t\t\treturn [start, Number(end)];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tPrism.hooks.add('before-highlightall', function (env) {\n\t\tenv.selector += ', ' + SELECTOR;\n\t});\n\n\tPrism.hooks.add('before-sanity-check', function (env) {\n\t\tvar pre = /** @type {HTMLPreElement} */ (env.element);\n\t\tif (pre.matches(SELECTOR)) {\n\t\t\tenv.code = ''; // fast-path the whole thing and go to complete\n\n\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading\n\n\t\t\t// add code element with loading message\n\t\t\tvar code = pre.appendChild(document.createElement('CODE'));\n\t\t\tcode.textContent = LOADING_MESSAGE;\n\n\t\t\tvar src = pre.getAttribute('data-src');\n\n\t\t\tvar language = env.language;\n\t\t\tif (language === 'none') {\n\t\t\t\t// the language might be 'none' because there is no language set;\n\t\t\t\t// in this case, we want to use the extension as the language\n\t\t\t\tvar extension = (/\\.(\\w+)$/.exec(src) || [, 'none'])[1];\n\t\t\t\tlanguage = EXTENSIONS[extension] || extension;\n\t\t\t}\n\n\t\t\t// set language classes\n\t\t\tPrism.util.setLanguage(code, language);\n\t\t\tPrism.util.setLanguage(pre, language);\n\n\t\t\t// preload the language\n\t\t\tvar autoloader = Prism.plugins.autoloader;\n\t\t\tif (autoloader) {\n\t\t\t\tautoloader.loadLanguages(language);\n\t\t\t}\n\n\t\t\t// load file\n\t\t\tloadFile(\n\t\t\t\tsrc,\n\t\t\t\tfunction (text) {\n\t\t\t\t\t// mark as loaded\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADED);\n\n\t\t\t\t\t// handle data-range\n\t\t\t\t\tvar range = parseRange(pre.getAttribute('data-range'));\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\tvar lines = text.split(/\\r\\n?|\\n/g);\n\n\t\t\t\t\t\t// the range is one-based and inclusive on both ends\n\t\t\t\t\t\tvar start = range[0];\n\t\t\t\t\t\tvar end = range[1] == null ? lines.length : range[1];\n\n\t\t\t\t\t\tif (start < 0) { start += lines.length; }\n\t\t\t\t\t\tstart = Math.max(0, Math.min(start - 1, lines.length));\n\t\t\t\t\t\tif (end < 0) { end += lines.length; }\n\t\t\t\t\t\tend = Math.max(0, Math.min(end, lines.length));\n\n\t\t\t\t\t\ttext = lines.slice(start, end).join('\\n');\n\n\t\t\t\t\t\t// add data-start for line numbers\n\t\t\t\t\t\tif (!pre.hasAttribute('data-start')) {\n\t\t\t\t\t\t\tpre.setAttribute('data-start', String(start + 1));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// highlight code\n\t\t\t\t\tcode.textContent = text;\n\t\t\t\t\tPrism.highlightElement(code);\n\t\t\t\t},\n\t\t\t\tfunction (error) {\n\t\t\t\t\t// mark as failed\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_FAILED);\n\n\t\t\t\t\tcode.textContent = error;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\n\tPrism.plugins.fileHighlight = {\n\t\t/**\n\t\t * Executes the File Highlight plugin for all matching `pre` elements under the given container.\n\t\t *\n\t\t * Note: Elements which are already loaded or currently loading will not be touched by this method.\n\t\t *\n\t\t * @param {ParentNode} [container=document]\n\t\t */\n\t\thighlight: function highlight(container) {\n\t\t\tvar elements = (container || document).querySelectorAll(SELECTOR);\n\n\t\t\tfor (var i = 0, element; (element = elements[i++]);) {\n\t\t\t\tPrism.highlightElement(element);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar logged = false;\n\t/** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */\n\tPrism.fileHighlight = function () {\n\t\tif (!logged) {\n\t\t\tconsole.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');\n\t\t\tlogged = true;\n\t\t}\n\t\tPrism.plugins.fileHighlight.highlight.apply(this, arguments);\n\t};\n\n}());\n","Prism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|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/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\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*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\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*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n","Prism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n","(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n","Prism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n","(function (Prism) {\n\n\tvar specialEscape = {\n\t\tpattern: /\\\\[\\\\(){}[\\]^$+*?|.]/,\n\t\talias: 'escape'\n\t};\n\tvar escape = /\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/;\n\tvar charSet = {\n\t\tpattern: /\\.|\\\\[wsd]|\\\\p\\{[^{}]+\\}/i,\n\t\talias: 'class-name'\n\t};\n\tvar charSetWithoutDot = {\n\t\tpattern: /\\\\[wsd]|\\\\p\\{[^{}]+\\}/i,\n\t\talias: 'class-name'\n\t};\n\n\tvar rangeChar = '(?:[^\\\\\\\\-]|' + escape.source + ')';\n\tvar range = RegExp(rangeChar + '-' + rangeChar);\n\n\t// the name of a capturing group\n\tvar groupName = {\n\t\tpattern: /(<|')[^<>']+(?=[>']$)/,\n\t\tlookbehind: true,\n\t\talias: 'variable'\n\t};\n\n\tPrism.languages.regex = {\n\t\t'char-class': {\n\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'char-class-negation': {\n\t\t\t\t\tpattern: /(^\\[)\\^/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'operator'\n\t\t\t\t},\n\t\t\t\t'char-class-punctuation': {\n\t\t\t\t\tpattern: /^\\[|\\]$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'range': {\n\t\t\t\t\tpattern: range,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'escape': escape,\n\t\t\t\t\t\t'range-punctuation': {\n\t\t\t\t\t\t\tpattern: /-/,\n\t\t\t\t\t\t\talias: 'operator'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'special-escape': specialEscape,\n\t\t\t\t'char-set': charSetWithoutDot,\n\t\t\t\t'escape': escape\n\t\t\t}\n\t\t},\n\t\t'special-escape': specialEscape,\n\t\t'char-set': charSet,\n\t\t'backreference': [\n\t\t\t{\n\t\t\t\t// a backreference which is not an octal escape\n\t\t\t\tpattern: /\\\\(?![123][0-7]{2})[1-9]/,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /\\\\k<[^<>']+>/,\n\t\t\t\talias: 'keyword',\n\t\t\t\tinside: {\n\t\t\t\t\t'group-name': groupName\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'anchor': {\n\t\t\tpattern: /[$^]|\\\\[ABbGZz]/,\n\t\t\talias: 'function'\n\t\t},\n\t\t'escape': escape,\n\t\t'group': [\n\t\t\t{\n\t\t\t\t// https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html\n\t\t\t\t// https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference?view=netframework-4.7.2#grouping-constructs\n\n\t\t\t\t// (), (?<name>), (?'name'), (?>), (?:), (?=), (?!), (?<=), (?<!), (?is-m), (?i-m:)\n\t\t\t\tpattern: /\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,\n\t\t\t\talias: 'punctuation',\n\t\t\t\tinside: {\n\t\t\t\t\t'group-name': groupName\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /\\)/,\n\t\t\t\talias: 'punctuation'\n\t\t\t}\n\t\t],\n\t\t'quantifier': {\n\t\t\tpattern: /(?:[+*?]|\\{\\d+(?:,\\d*)?\\})[?+]?/,\n\t\t\talias: 'number'\n\t\t},\n\t\t'alternation': {\n\t\t\tpattern: /\\|/,\n\t\t\talias: 'keyword'\n\t\t}\n\t};\n\n}(Prism));\n","Prism.languages.abap = {\n\t'comment': /^\\*.*/m,\n\t'string': /(`|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t'string-template': {\n\t\tpattern: /([|}])(?:\\\\.|[^\\\\|{\\r\\n])*(?=[|{])/,\n\t\tlookbehind: true,\n\t\talias: 'string'\n\t},\n\t/* End Of Line comments should not interfere with strings when the\n\tquote character occurs within them. We assume a string being highlighted\n\tinside an EOL comment is more acceptable than the opposite.\n\t*/\n\t'eol-comment': {\n\t\tpattern: /(^|\\s)\".*/m,\n\t\tlookbehind: true,\n\t\talias: 'comment'\n\t},\n\t'keyword': {\n\t\tpattern: /(\\s|\\.|^)(?:\\*-INPUT|\\?TO|ABAP-SOURCE|ABBREVIATED|ABS|ABSTRACT|ACCEPT|ACCEPTING|ACCESSPOLICY|ACCORDING|ACOS|ACTIVATION|ACTUAL|ADD|ADD-CORRESPONDING|ADJACENT|AFTER|ALIAS|ALIASES|ALIGN|ALL|ALLOCATE|ALPHA|ANALYSIS|ANALYZER|AND|ANY|APPEND|APPENDAGE|APPENDING|APPLICATION|ARCHIVE|AREA|ARITHMETIC|AS|ASCENDING|ASIN|ASPECT|ASSERT|ASSIGN|ASSIGNED|ASSIGNING|ASSOCIATION|ASYNCHRONOUS|AT|ATAN|ATTRIBUTES|AUTHORITY|AUTHORITY-CHECK|AVG|BACK|BACKGROUND|BACKUP|BACKWARD|BADI|BASE|BEFORE|BEGIN|BETWEEN|BIG|BINARY|BINDING|BIT|BIT-AND|BIT-NOT|BIT-OR|BIT-XOR|BLACK|BLANK|BLANKS|BLOB|BLOCK|BLOCKS|BLUE|BOUND|BOUNDARIES|BOUNDS|BOXED|BREAK-POINT|BT|BUFFER|BY|BYPASSING|BYTE|BYTE-CA|BYTE-CN|BYTE-CO|BYTE-CS|BYTE-NA|BYTE-NS|BYTE-ORDER|C|CA|CALL|CALLING|CASE|CAST|CASTING|CATCH|CEIL|CENTER|CENTERED|CHAIN|CHAIN-INPUT|CHAIN-REQUEST|CHANGE|CHANGING|CHANNELS|CHAR-TO-HEX|CHARACTER|CHARLEN|CHECK|CHECKBOX|CIRCULAR|CI_|CLASS|CLASS-CODING|CLASS-DATA|CLASS-EVENTS|CLASS-METHODS|CLASS-POOL|CLEANUP|CLEAR|CLIENT|CLOB|CLOCK|CLOSE|CN|CNT|CO|COALESCE|CODE|CODING|COLLECT|COLOR|COLUMN|COLUMNS|COL_BACKGROUND|COL_GROUP|COL_HEADING|COL_KEY|COL_NEGATIVE|COL_NORMAL|COL_POSITIVE|COL_TOTAL|COMMENT|COMMENTS|COMMIT|COMMON|COMMUNICATION|COMPARING|COMPONENT|COMPONENTS|COMPRESSION|COMPUTE|CONCAT|CONCATENATE|COND|CONDENSE|CONDITION|CONNECT|CONNECTION|CONSTANTS|CONTEXT|CONTEXTS|CONTINUE|CONTROL|CONTROLS|CONV|CONVERSION|CONVERT|COPIES|COPY|CORRESPONDING|COS|COSH|COUNT|COUNTRY|COVER|CP|CPI|CREATE|CREATING|CRITICAL|CS|CURRENCY|CURRENCY_CONVERSION|CURRENT|CURSOR|CURSOR-SELECTION|CUSTOMER|CUSTOMER-FUNCTION|DANGEROUS|DATA|DATABASE|DATAINFO|DATASET|DATE|DAYLIGHT|DBMAXLEN|DD\\/MM\\/YY|DD\\/MM\\/YYYY|DDMMYY|DEALLOCATE|DECIMALS|DECIMAL_SHIFT|DECLARATIONS|DEEP|DEFAULT|DEFERRED|DEFINE|DEFINING|DEFINITION|DELETE|DELETING|DEMAND|DEPARTMENT|DESCENDING|DESCRIBE|DESTINATION|DETAIL|DIALOG|DIRECTORY|DISCONNECT|DISPLAY|DISPLAY-MODE|DISTANCE|DISTINCT|DIV|DIVIDE|DIVIDE-CORRESPONDING|DIVISION|DO|DUMMY|DUPLICATE|DUPLICATES|DURATION|DURING|DYNAMIC|DYNPRO|E|EACH|EDIT|EDITOR-CALL|ELSE|ELSEIF|EMPTY|ENABLED|ENABLING|ENCODING|END|END-ENHANCEMENT-SECTION|END-LINES|END-OF-DEFINITION|END-OF-FILE|END-OF-PAGE|END-OF-SELECTION|ENDAT|ENDCASE|ENDCATCH|ENDCHAIN|ENDCLASS|ENDDO|ENDENHANCEMENT|ENDEXEC|ENDFOR|ENDFORM|ENDFUNCTION|ENDIAN|ENDIF|ENDING|ENDINTERFACE|ENDLOOP|ENDMETHOD|ENDMODULE|ENDON|ENDPROVIDE|ENDSELECT|ENDTRY|ENDWHILE|ENGINEERING|ENHANCEMENT|ENHANCEMENT-POINT|ENHANCEMENT-SECTION|ENHANCEMENTS|ENTRIES|ENTRY|ENVIRONMENT|EQ|EQUAL|EQUIV|ERRORMESSAGE|ERRORS|ESCAPE|ESCAPING|EVENT|EVENTS|EXACT|EXCEPT|EXCEPTION|EXCEPTION-TABLE|EXCEPTIONS|EXCLUDE|EXCLUDING|EXEC|EXECUTE|EXISTS|EXIT|EXIT-COMMAND|EXP|EXPAND|EXPANDING|EXPIRATION|EXPLICIT|EXPONENT|EXPORT|EXPORTING|EXTEND|EXTENDED|EXTENSION|EXTRACT|FAIL|FETCH|FIELD|FIELD-GROUPS|FIELD-SYMBOL|FIELD-SYMBOLS|FIELDS|FILE|FILTER|FILTER-TABLE|FILTERS|FINAL|FIND|FIRST|FIRST-LINE|FIXED-POINT|FKEQ|FKGE|FLOOR|FLUSH|FONT|FOR|FORM|FORMAT|FORWARD|FOUND|FRAC|FRAME|FRAMES|FREE|FRIENDS|FROM|FUNCTION|FUNCTION-POOL|FUNCTIONALITY|FURTHER|GAPS|GE|GENERATE|GET|GIVING|GKEQ|GKGE|GLOBAL|GRANT|GREATER|GREEN|GROUP|GROUPS|GT|HANDLE|HANDLER|HARMLESS|HASHED|HAVING|HDB|HEAD-LINES|HEADER|HEADERS|HEADING|HELP-ID|HELP-REQUEST|HIDE|HIGH|HINT|HOLD|HOTSPOT|I|ICON|ID|IDENTIFICATION|IDENTIFIER|IDS|IF|IGNORE|IGNORING|IMMEDIATELY|IMPLEMENTATION|IMPLEMENTATIONS|IMPLEMENTED|IMPLICIT|IMPORT|IMPORTING|IN|INACTIVE|INCL|INCLUDE|INCLUDES|INCLUDING|INCREMENT|INDEX|INDEX-LINE|INFOTYPES|INHERITING|INIT|INITIAL|INITIALIZATION|INNER|INOUT|INPUT|INSERT|INSTANCES|INTENSIFIED|INTERFACE|INTERFACE-POOL|INTERFACES|INTERNAL|INTERVALS|INTO|INVERSE|INVERTED-DATE|IS|ISO|ITERATOR|ITNO|JOB|JOIN|KEEP|KEEPING|KERNEL|KEY|KEYS|KEYWORDS|KIND|LANGUAGE|LAST|LATE|LAYOUT|LE|LEADING|LEAVE|LEFT|LEFT-JUSTIFIED|LEFTPLUS|LEFTSPACE|LEGACY|LENGTH|LESS|LET|LEVEL|LEVELS|LIKE|LINE|LINE-COUNT|LINE-SELECTION|LINE-SIZE|LINEFEED|LINES|LIST|LIST-PROCESSING|LISTBOX|LITTLE|LLANG|LOAD|LOAD-OF-PROGRAM|LOB|LOCAL|LOCALE|LOCATOR|LOG|LOG-POINT|LOG10|LOGFILE|LOGICAL|LONG|LOOP|LOW|LOWER|LPAD|LPI|LT|M|MAIL|MAIN|MAJOR-ID|MAPPING|MARGIN|MARK|MASK|MATCH|MATCHCODE|MAX|MAXIMUM|MEDIUM|MEMBERS|MEMORY|MESH|MESSAGE|MESSAGE-ID|MESSAGES|MESSAGING|METHOD|METHODS|MIN|MINIMUM|MINOR-ID|MM\\/DD\\/YY|MM\\/DD\\/YYYY|MMDDYY|MOD|MODE|MODIF|MODIFIER|MODIFY|MODULE|MOVE|MOVE-CORRESPONDING|MULTIPLY|MULTIPLY-CORRESPONDING|NA|NAME|NAMETAB|NATIVE|NB|NE|NESTED|NESTING|NEW|NEW-LINE|NEW-PAGE|NEW-SECTION|NEXT|NO|NO-DISPLAY|NO-EXTENSION|NO-GAP|NO-GAPS|NO-GROUPING|NO-HEADING|NO-SCROLLING|NO-SIGN|NO-TITLE|NO-TOPOFPAGE|NO-ZERO|NODE|NODES|NON-UNICODE|NON-UNIQUE|NOT|NP|NS|NULL|NUMBER|NUMOFCHAR|O|OBJECT|OBJECTS|OBLIGATORY|OCCURRENCE|OCCURRENCES|OCCURS|OF|OFF|OFFSET|OLE|ON|ONLY|OPEN|OPTION|OPTIONAL|OPTIONS|OR|ORDER|OTHER|OTHERS|OUT|OUTER|OUTPUT|OUTPUT-LENGTH|OVERFLOW|OVERLAY|PACK|PACKAGE|PAD|PADDING|PAGE|PAGES|PARAMETER|PARAMETER-TABLE|PARAMETERS|PART|PARTIALLY|PATTERN|PERCENTAGE|PERFORM|PERFORMING|PERSON|PF|PF-STATUS|PINK|PLACES|POOL|POSITION|POS_HIGH|POS_LOW|PRAGMAS|PRECOMPILED|PREFERRED|PRESERVING|PRIMARY|PRINT|PRINT-CONTROL|PRIORITY|PRIVATE|PROCEDURE|PROCESS|PROGRAM|PROPERTY|PROTECTED|PROVIDE|PUBLIC|PUSHBUTTON|PUT|QUEUE-ONLY|QUICKINFO|RADIOBUTTON|RAISE|RAISING|RANGE|RANGES|RAW|READ|READ-ONLY|READER|RECEIVE|RECEIVED|RECEIVER|RECEIVING|RED|REDEFINITION|REDUCE|REDUCED|REF|REFERENCE|REFRESH|REGEX|REJECT|REMOTE|RENAMING|REPLACE|REPLACEMENT|REPLACING|REPORT|REQUEST|REQUESTED|RESERVE|RESET|RESOLUTION|RESPECTING|RESPONSIBLE|RESULT|RESULTS|RESUMABLE|RESUME|RETRY|RETURN|RETURNCODE|RETURNING|RIGHT|RIGHT-JUSTIFIED|RIGHTPLUS|RIGHTSPACE|RISK|RMC_COMMUNICATION_FAILURE|RMC_INVALID_STATUS|RMC_SYSTEM_FAILURE|ROLE|ROLLBACK|ROUND|ROWS|RTTI|RUN|SAP|SAP-SPOOL|SAVING|SCALE_PRESERVING|SCALE_PRESERVING_SCIENTIFIC|SCAN|SCIENTIFIC|SCIENTIFIC_WITH_LEADING_ZERO|SCREEN|SCROLL|SCROLL-BOUNDARY|SCROLLING|SEARCH|SECONDARY|SECONDS|SECTION|SELECT|SELECT-OPTIONS|SELECTION|SELECTION-SCREEN|SELECTION-SET|SELECTION-SETS|SELECTION-TABLE|SELECTIONS|SELECTOR|SEND|SEPARATE|SEPARATED|SET|SHARED|SHIFT|SHORT|SHORTDUMP-ID|SIGN|SIGN_AS_POSTFIX|SIMPLE|SIN|SINGLE|SINH|SIZE|SKIP|SKIPPING|SMART|SOME|SORT|SORTABLE|SORTED|SOURCE|SPACE|SPECIFIED|SPLIT|SPOOL|SPOTS|SQL|SQLSCRIPT|SQRT|STABLE|STAMP|STANDARD|START-OF-SELECTION|STARTING|STATE|STATEMENT|STATEMENTS|STATIC|STATICS|STATUSINFO|STEP-LOOP|STOP|STRLEN|STRUCTURE|STRUCTURES|STYLE|SUBKEY|SUBMATCHES|SUBMIT|SUBROUTINE|SUBSCREEN|SUBSTRING|SUBTRACT|SUBTRACT-CORRESPONDING|SUFFIX|SUM|SUMMARY|SUMMING|SUPPLIED|SUPPLY|SUPPRESS|SWITCH|SWITCHSTATES|SYMBOL|SYNCPOINTS|SYNTAX|SYNTAX-CHECK|SYNTAX-TRACE|SYSTEM-CALL|SYSTEM-EXCEPTIONS|SYSTEM-EXIT|TAB|TABBED|TABLE|TABLES|TABLEVIEW|TABSTRIP|TAN|TANH|TARGET|TASK|TASKS|TEST|TESTING|TEXT|TEXTPOOL|THEN|THROW|TIME|TIMES|TIMESTAMP|TIMEZONE|TITLE|TITLE-LINES|TITLEBAR|TO|TOKENIZATION|TOKENS|TOP-LINES|TOP-OF-PAGE|TRACE-FILE|TRACE-TABLE|TRAILING|TRANSACTION|TRANSFER|TRANSFORMATION|TRANSLATE|TRANSPORTING|TRMAC|TRUNC|TRUNCATE|TRUNCATION|TRY|TYPE|TYPE-POOL|TYPE-POOLS|TYPES|ULINE|UNASSIGN|UNDER|UNICODE|UNION|UNIQUE|UNIT|UNIT_CONVERSION|UNIX|UNPACK|UNTIL|UNWIND|UP|UPDATE|UPPER|USER|USER-COMMAND|USING|UTF-8|VALID|VALUE|VALUE-REQUEST|VALUES|VARY|VARYING|VERIFICATION-MESSAGE|VERSION|VIA|VIEW|VISIBLE|WAIT|WARNING|WHEN|WHENEVER|WHERE|WHILE|WIDTH|WINDOW|WINDOWS|WITH|WITH-HEADING|WITH-TITLE|WITHOUT|WORD|WORK|WRITE|WRITER|X|XML|XOR|XSD|XSTRLEN|YELLOW|YES|YYMMDD|Z|ZERO|ZONE)(?![\\w-])/i,\n\t\tlookbehind: true\n\t},\n\t/* Numbers can be only integers. Decimal or Hex appear only as strings */\n\t'number': /\\b\\d+\\b/,\n\t/* Operators must always be surrounded by whitespace, they cannot be put\n\tadjacent to operands.\n\t*/\n\t'operator': {\n\t\tpattern: /(\\s)(?:\\*\\*?|<[=>]?|>=?|\\?=|[-+\\/=])(?=\\s)/,\n\t\tlookbehind: true\n\t},\n\t'string-operator': {\n\t\tpattern: /(\\s)&&?(?=\\s)/,\n\t\tlookbehind: true,\n\t\t/* The official editor highlights */\n\t\talias: 'keyword'\n\t},\n\t'token-operator': [{\n\t\t/* Special operators used to access structure components, class methods/attributes, etc. */\n\t\tpattern: /(\\w)(?:->?|=>|[~|{}])(?=\\w)/,\n\t\tlookbehind: true,\n\t\talias: 'punctuation'\n\t}, {\n\t\t/* Special tokens used do delimit string templates */\n\t\tpattern: /[|{}]/,\n\t\talias: 'punctuation'\n\t}],\n\t'punctuation': /[,.:()]/\n};\n","(function (Prism) {\n\n\tvar coreRules = '(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)';\n\n\tPrism.languages.abnf = {\n\t\t'comment': /;.*/,\n\t\t'string': {\n\t\t\tpattern: /(?:%[is])?\"[^\"\\n\\r]*\"/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^%[is]/\n\t\t\t}\n\t\t},\n\t\t'range': {\n\t\t\tpattern: /%(?:b[01]+-[01]+|d\\d+-\\d+|x[A-F\\d]+-[A-F\\d]+)/i,\n\t\t\talias: 'number'\n\t\t},\n\t\t'terminal': {\n\t\t\tpattern: /%(?:b[01]+(?:\\.[01]+)*|d\\d+(?:\\.\\d+)*|x[A-F\\d]+(?:\\.[A-F\\d]+)*)/i,\n\t\t\talias: 'number'\n\t\t},\n\t\t'repetition': {\n\t\t\tpattern: /(^|[^\\w-])(?:\\d*\\*\\d*|\\d+)/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'operator'\n\t\t},\n\t\t'definition': {\n\t\t\tpattern: /(^[ \\t]*)(?:[a-z][\\w-]*|<[^<>\\r\\n]*>)(?=\\s*=)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'keyword',\n\t\t\tinside: {\n\t\t\t\t'punctuation': /<|>/\n\t\t\t}\n\t\t},\n\t\t'core-rule': {\n\t\t\tpattern: RegExp('(?:(^|[^<\\\\w-])' + coreRules + '|<' + coreRules + '>)(?![\\\\w-])', 'i'),\n\t\t\tlookbehind: true,\n\t\t\talias: ['rule', 'constant'],\n\t\t\tinside: {\n\t\t\t\t'punctuation': /<|>/\n\t\t\t}\n\t\t},\n\t\t'rule': {\n\t\t\tpattern: /(^|[^<\\w-])[a-z][\\w-]*|<[^<>\\r\\n]*>/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /<|>/\n\t\t\t}\n\t\t},\n\t\t'operator': /=\\/?|\\//,\n\t\t'punctuation': /[()\\[\\]]/\n\t};\n\n}(Prism));\n","Prism.languages.actionscript = Prism.languages.extend('javascript', {\n\t'keyword': /\\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\\b/,\n\t'operator': /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/\n});\nPrism.languages.actionscript['class-name'].alias = 'function';\n\n// doesn't work with AS because AS is too complex\ndelete Prism.languages.actionscript['parameter'];\ndelete Prism.languages.actionscript['literal-property'];\n\nif (Prism.languages.markup) {\n\tPrism.languages.insertBefore('actionscript', 'string', {\n\t\t'xml': {\n\t\t\tpattern: /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.markup\n\t\t}\n\t});\n}\n","Prism.languages.ada = {\n\t'comment': /--.*/,\n\t'string': /\"(?:\"\"|[^\"\\r\\f\\n])*\"/,\n\t'number': [\n\t\t{\n\t\t\tpattern: /\\b\\d(?:_?\\d)*#[\\dA-F](?:_?[\\dA-F])*(?:\\.[\\dA-F](?:_?[\\dA-F])*)?#(?:E[+-]?\\d(?:_?\\d)*)?/i\n\t\t},\n\t\t{\n\t\t\tpattern: /\\b\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:E[+-]?\\d(?:_?\\d)*)?\\b/i\n\t\t}\n\t],\n\t'attribute': {\n\t\tpattern: /\\b'\\w+/,\n\t\talias: 'attr-name'\n\t},\n\t'keyword': /\\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|new|not|null|of|or|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|return|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\\b/i,\n\t'boolean': /\\b(?:false|true)\\b/i,\n\t'operator': /<[=>]?|>=?|=>?|:=|\\/=?|\\*\\*?|[&+-]/,\n\t'punctuation': /\\.\\.?|[,;():]/,\n\t'char': /'.'/,\n\t'variable': /\\b[a-z](?:\\w)*\\b/i\n};\n","(function (Prism) {\n\n\tPrism.languages.agda = {\n\t\t'comment': /\\{-[\\s\\S]*?(?:-\\}|$)|--.*/,\n\t\t'string': {\n\t\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n\t\t\tgreedy: true,\n\t\t},\n\t\t'punctuation': /[(){}⦃⦄.;@]/,\n\t\t'class-name': {\n\t\t\tpattern: /((?:data|record) +)\\S+/,\n\t\t\tlookbehind: true,\n\t\t},\n\t\t'function': {\n\t\t\tpattern: /(^[ \\t]*)(?!\\s)[^:\\r\\n]+(?=:)/m,\n\t\t\tlookbehind: true,\n\t\t},\n\t\t'operator': {\n\t\t\tpattern: /(^\\s*|\\s)(?:[=|:∀→λ\\\\?_]|->)(?=\\s)/,\n\t\t\tlookbehind: true,\n\t\t},\n\t\t'keyword': /\\b(?:Set|abstract|constructor|data|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\\b/,\n\t};\n}(Prism));\n","// based on https://github.com/microsoft/AL/blob/master/grammar/alsyntax.tmlanguage\n\nPrism.languages.al = {\n\t'comment': /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n\t'string': {\n\t\tpattern: /'(?:''|[^'\\r\\n])*'(?!')|\"(?:\"\"|[^\"\\r\\n])*\"(?!\")/,\n\t\tgreedy: true\n\t},\n\t'function': {\n\t\tpattern: /(\\b(?:event|procedure|trigger)\\s+|(?:^|[^.])\\.\\s*)[a-z_]\\w*(?=\\s*\\()/i,\n\t\tlookbehind: true\n\t},\n\t'keyword': [\n\t\t// keywords\n\t\t/\\b(?:array|asserterror|begin|break|case|do|downto|else|end|event|exit|for|foreach|function|if|implements|in|indataset|interface|internal|local|of|procedure|program|protected|repeat|runonclient|securityfiltering|suppressdispose|temporary|then|to|trigger|until|var|while|with|withevents)\\b/i,\n\t\t// objects and metadata that are used like keywords\n\t\t/\\b(?:action|actions|addafter|addbefore|addfirst|addlast|area|assembly|chartpart|codeunit|column|controladdin|cuegroup|customizes|dataitem|dataset|dotnet|elements|enum|enumextension|extends|field|fieldattribute|fieldelement|fieldgroup|fieldgroups|fields|filter|fixed|grid|group|key|keys|label|labels|layout|modify|moveafter|movebefore|movefirst|movelast|page|pagecustomization|pageextension|part|profile|query|repeater|report|requestpage|schema|separator|systempart|table|tableelement|tableextension|textattribute|textelement|type|usercontrol|value|xmlport)\\b/i\n\t],\n\t'number': /\\b(?:0x[\\da-f]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)(?:F|LL?|U(?:LL?)?)?\\b/i,\n\t'boolean': /\\b(?:false|true)\\b/i,\n\t'variable': /\\b(?:Curr(?:FieldNo|Page|Report)|x?Rec|RequestOptionsPage)\\b/,\n\t'class-name': /\\b(?:automation|biginteger|bigtext|blob|boolean|byte|char|clienttype|code|completiontriggererrorlevel|connectiontype|database|dataclassification|datascope|date|dateformula|datetime|decimal|defaultlayout|dialog|dictionary|dotnetassembly|dotnettypedeclaration|duration|errorinfo|errortype|executioncontext|executionmode|fieldclass|fieldref|fieldtype|file|filterpagebuilder|guid|httpclient|httpcontent|httpheaders|httprequestmessage|httpresponsemessage|instream|integer|joker|jsonarray|jsonobject|jsontoken|jsonvalue|keyref|list|moduledependencyinfo|moduleinfo|none|notification|notificationscope|objecttype|option|outstream|pageresult|record|recordid|recordref|reportformat|securityfilter|sessionsettings|tableconnectiontype|tablefilter|testaction|testfield|testfilterfield|testpage|testpermissions|testrequestpage|text|textbuilder|textconst|textencoding|time|transactionmodel|transactiontype|variant|verbosity|version|view|views|webserviceactioncontext|webserviceactionresultcode|xmlattribute|xmlattributecollection|xmlcdata|xmlcomment|xmldeclaration|xmldocument|xmldocumenttype|xmlelement|xmlnamespacemanager|xmlnametable|xmlnode|xmlnodelist|xmlprocessinginstruction|xmlreadoptions|xmltext|xmlwriteoptions)\\b/i,\n\t'operator': /\\.\\.|:[=:]|[-+*/]=?|<>|[<>]=?|=|\\b(?:and|div|mod|not|or|xor)\\b/i,\n\t'punctuation': /[()\\[\\]{}:.;,]/\n};\n","Prism.languages.antlr4 = {\n\t'comment': /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t'string': {\n\t\tpattern: /'(?:\\\\.|[^\\\\'\\r\\n])*'/,\n\t\tgreedy: true\n\t},\n\t'character-class': {\n\t\tpattern: /\\[(?:\\\\.|[^\\\\\\]\\r\\n])*\\]/,\n\t\tgreedy: true,\n\t\talias: 'regex',\n\t\tinside: {\n\t\t\t'range': {\n\t\t\t\tpattern: /([^[]|(?:^|[^\\\\])(?:\\\\\\\\)*\\\\\\[)-(?!\\])/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'punctuation'\n\t\t\t},\n\t\t\t'escape': /\\\\(?:u(?:[a-fA-F\\d]{4}|\\{[a-fA-F\\d]+\\})|[pP]\\{[=\\w-]+\\}|[^\\r\\nupP])/,\n\t\t\t'punctuation': /[\\[\\]]/\n\t\t}\n\t},\n\t'action': {\n\t\tpattern: /\\{(?:[^{}]|\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\\}/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'content': {\n\t\t\t\t// this might be C, C++, Python, Java, C#, or any other language ANTLR4 compiles to\n\t\t\t\tpattern: /(\\{)[\\s\\S]+(?=\\})/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'punctuation': /[{}]/\n\t\t}\n\t},\n\t'command': {\n\t\tpattern: /(->\\s*(?!\\s))(?:\\s*(?:,\\s*)?\\b[a-z]\\w*(?:\\s*\\([^()\\r\\n]*\\))?)+(?=\\s*;)/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'function': /\\b\\w+(?=\\s*(?:[,(]|$))/,\n\t\t\t'punctuation': /[,()]/\n\t\t}\n\t},\n\t'annotation': {\n\t\tpattern: /@\\w+(?:::\\w+)*/,\n\t\talias: 'keyword'\n\t},\n\t'label': {\n\t\tpattern: /#[ \\t]*\\w+/,\n\t\talias: 'punctuation'\n\t},\n\t'keyword': /\\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\\b/,\n\t'definition': [\n\t\t{\n\t\t\tpattern: /\\b[a-z]\\w*(?=\\s*:)/,\n\t\t\talias: ['rule', 'class-name']\n\t\t},\n\t\t{\n\t\t\tpattern: /\\b[A-Z]\\w*(?=\\s*:)/,\n\t\t\talias: ['token', 'constant']\n\t\t},\n\t],\n\t'constant': /\\b[A-Z][A-Z_]*\\b/,\n\t'operator': /\\.\\.|->|[|~]|[*+?]\\??/,\n\t'punctuation': /[;:()=]/\n};\n\nPrism.languages.g4 = Prism.languages.antlr4;\n","Prism.languages.apacheconf = {\n\t'comment': /#.*/,\n\t'directive-inline': {\n\t\tpattern: /(^[\\t ]*)\\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|Type|UserFile|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|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|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|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|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|Limit(?:InternalRecursion|Request(?:Body|Fields|FieldSize|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|SRPUnknownUserSeed|SRPVerifierFile|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UserName|UseStapling|VerifyClient|VerifyDepth)|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|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\\b/im,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n\t'directive-block': {\n\t\tpattern: /<\\/?\\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\\b.*>/i,\n\t\tinside: {\n\t\t\t'directive-block': {\n\t\t\t\tpattern: /^<\\/?\\w+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/\n\t\t\t\t},\n\t\t\t\talias: 'tag'\n\t\t\t},\n\t\t\t'directive-block-parameter': {\n\t\t\t\tpattern: /.*[^>]/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /:/,\n\t\t\t\t\t'string': {\n\t\t\t\t\t\tpattern: /(\"|').*\\1/,\n\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t'variable': /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\talias: 'attr-value'\n\t\t\t},\n\t\t\t'punctuation': />/\n\t\t},\n\t\talias: 'tag'\n\t},\n\t'directive-flags': {\n\t\tpattern: /\\[(?:[\\w=],?)+\\]/,\n\t\talias: 'keyword'\n\t},\n\t'string': {\n\t\tpattern: /(\"|').*\\1/,\n\t\tinside: {\n\t\t\t'variable': /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n\t\t}\n\t},\n\t'variable': /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/,\n\t'regex': /\\^?.*\\$|\\^.*\\$?/\n};\n","Prism.languages.sql = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n\t\tlookbehind: true\n\t},\n\t'variable': [\n\t\t{\n\t\t\tpattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t/@[\\w.$]+/\n\t],\n\t'string': {\n\t\tpattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n\t\tgreedy: true,\n\t\tlookbehind: true\n\t},\n\t'identifier': {\n\t\tpattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,\n\t\tgreedy: true,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /^`|`$/\n\t\t}\n\t},\n\t'function': /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, // Should we highlight user defined functions too?\n\t'keyword': /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|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|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|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|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n\t'boolean': /\\b(?:FALSE|NULL|TRUE)\\b/i,\n\t'number': /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n\t'operator': /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n\t'punctuation': /[;[\\]()`,.]/\n};\n","(function (Prism) {\n\n\tvar keywords = /\\b(?:(?:after|before)(?=\\s+[a-z])|abstract|activate|and|any|array|as|asc|autonomous|begin|bigdecimal|blob|boolean|break|bulk|by|byte|case|cast|catch|char|class|collect|commit|const|continue|currency|date|datetime|decimal|default|delete|desc|do|double|else|end|enum|exception|exit|export|extends|final|finally|float|for|from|get(?=\\s*[{};])|global|goto|group|having|hint|if|implements|import|in|inner|insert|instanceof|int|integer|interface|into|join|like|limit|list|long|loop|map|merge|new|not|null|nulls|number|object|of|on|or|outer|override|package|parallel|pragma|private|protected|public|retrieve|return|rollback|select|set|short|sObject|sort|static|string|super|switch|synchronized|system|testmethod|then|this|throw|time|transaction|transient|trigger|try|undelete|update|upsert|using|virtual|void|webservice|when|where|while|(?:inherited|with|without)\\s+sharing)\\b/i;\n\n\tvar className = /\\b(?:(?=[a-z_]\\w*\\s*[<\\[])|(?!<keyword>))[A-Z_]\\w*(?:\\s*\\.\\s*[A-Z_]\\w*)*\\b(?:\\s*(?:\\[\\s*\\]|<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>))*/.source\n\t\t.replace(/<keyword>/g, function () { return keywords.source; });\n\t/** @param {string} pattern */\n\tfunction insertClassName(pattern) {\n\t\treturn RegExp(pattern.replace(/<CLASS-NAME>/g, function () { return className; }), 'i');\n\t}\n\n\tvar classNameInside = {\n\t\t'keyword': keywords,\n\t\t'punctuation': /[()\\[\\]{};,:.<>]/\n\t};\n\n\tPrism.languages.apex = {\n\t\t'comment': Prism.languages.clike.comment,\n\t\t'string': Prism.languages.clike.string,\n\t\t'sql': {\n\t\t\tpattern: /((?:[=,({:]|\\breturn)\\s*)\\[[^\\[\\]]*\\]/i,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'language-sql',\n\t\t\tinside: Prism.languages.sql\n\t\t},\n\n\t\t'annotation': {\n\t\t\tpattern: /@\\w+\\b/,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'class-name': [\n\t\t\t{\n\t\t\t\tpattern: insertClassName(/(\\b(?:class|enum|extends|implements|instanceof|interface|new|trigger\\s+\\w+\\s+on)\\s+)<CLASS-NAME>/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: classNameInside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// cast\n\t\t\t\tpattern: insertClassName(/(\\(\\s*)<CLASS-NAME>(?=\\s*\\)\\s*[\\w(])/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: classNameInside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// variable/parameter declaration and return types\n\t\t\t\tpattern: insertClassName(/<CLASS-NAME>(?=\\s*\\w+\\s*[;=,(){:])/.source),\n\t\t\t\tinside: classNameInside\n\t\t\t}\n\t\t],\n\t\t'trigger': {\n\t\t\tpattern: /(\\btrigger\\s+)\\w+\\b/i,\n\t\t\tlookbehind: true,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'keyword': keywords,\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\n\t\t'boolean': /\\b(?:false|true)\\b/i,\n\n\t\t'number': /(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d+|L)?)\\b/i,\n\t\t'operator': /[!=](?:==?)?|\\?\\.?|&&|\\|\\||--|\\+\\+|[-+*/^&|]=?|:|<<?=?|>{1,3}=?/,\n\t\t'punctuation': /[()\\[\\]{};,.]/\n\t};\n\n}(Prism));\n","Prism.languages.apl = {\n\t'comment': /(?:⍝|#[! ]).*$/m,\n\t'string': {\n\t\tpattern: /'(?:[^'\\r\\n]|'')*'/,\n\t\tgreedy: true\n\t},\n\t'number': /¯?(?:\\d*\\.?\\b\\d+(?:e[+¯]?\\d+)?|¯|∞)(?:j¯?(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+¯]?\\d+)?|¯|∞))?/i,\n\t'statement': /:[A-Z][a-z][A-Za-z]*\\b/,\n\t'system-function': {\n\t\tpattern: /⎕[A-Z]+/i,\n\t\talias: 'function'\n\t},\n\t'constant': /[⍬⌾#⎕⍞]/,\n\t'function': /[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/,\n\t'monadic-operator': {\n\t\tpattern: /[\\\\\\/⌿⍀¨⍨⌶&∥]/,\n\t\talias: 'operator'\n\t},\n\t'dyadic-operator': {\n\t\tpattern: /[.⍣⍠⍤∘⌸@⌺⍥]/,\n\t\talias: 'operator'\n\t},\n\t'assignment': {\n\t\tpattern: /←/,\n\t\talias: 'keyword'\n\t},\n\t'punctuation': /[\\[;\\]()◇⋄]/,\n\t'dfn': {\n\t\tpattern: /[{}⍺⍵⍶⍹∇⍫:]/,\n\t\talias: 'builtin'\n\t}\n};\n","Prism.languages.applescript = {\n\t'comment': [\n\t\t// Allow one level of nesting\n\t\t/\\(\\*(?:\\(\\*(?:[^*]|\\*(?!\\)))*\\*\\)|(?!\\(\\*)[\\s\\S])*?\\*\\)/,\n\t\t/--.+/,\n\t\t/#.+/\n\t],\n\t'string': /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n\t'number': /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e-?\\d+)?\\b/i,\n\t'operator': [\n\t\t/[&=≠≤≥*+\\-\\/÷^]|[<>]=?/,\n\t\t/\\b(?:(?:begin|end|start)s? with|(?:contains?|(?:does not|doesn't) contain)|(?:is|isn't|is not) (?:contained by|in)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:comes|(?:does not|doesn't) come) (?:after|before)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equal to|equals|is not|isn't)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|as|div|mod|not|or))\\b/\n\t],\n\t'keyword': /\\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\b/,\n\t'class-name': /\\b(?:POSIX file|RGB color|alias|application|boolean|centimeters|centimetres|class|constant|cubic centimeters|cubic centimetres|cubic feet|cubic inches|cubic meters|cubic metres|cubic yards|date|degrees Celsius|degrees Fahrenheit|degrees Kelvin|feet|file|gallons|grams|inches|integer|kilograms|kilometers|kilometres|list|liters|litres|meters|metres|miles|number|ounces|pounds|quarts|real|record|reference|script|square feet|square kilometers|square kilometres|square meters|square metres|square miles|square yards|text|yards)\\b/,\n\t'punctuation': /[{}():,¬«»《》]/\n};\n","Prism.languages.aql = {\n\t'comment': /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n\t'property': {\n\t\tpattern: /([{,]\\s*)(?:(?!\\d)\\w+|([\"'´`])(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2)(?=\\s*:)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /([\"'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\.)*\\1/,\n\t\tgreedy: true\n\t},\n\t'identifier': {\n\t\tpattern: /([´`])(?:(?!\\1)[^\\\\\\r\\n]|\\\\.)*\\1/,\n\t\tgreedy: true\n\t},\n\t'variable': /@@?\\w+/,\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /(\\bWITH\\s+)COUNT(?=\\s+INTO\\b)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t/\\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_PATHS|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WINDOW|WITH)\\b/i,\n\t\t// pseudo keywords get a lookbehind to avoid false positives\n\t\t{\n\t\t\tpattern: /(^|[^\\w.[])(?:KEEP|PRUNE|SEARCH|TO)\\b/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\w.[])(?:CURRENT|NEW|OLD)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /\\bOPTIONS(?=\\s*\\{)/i\n\t\t}\n\t],\n\t'function': /\\b(?!\\d)\\w+(?=\\s*\\()/,\n\t'boolean': /\\b(?:false|true)\\b/i,\n\t'range': {\n\t\tpattern: /\\.\\./,\n\t\talias: 'operator'\n\t},\n\t'number': [\n\t\t/\\b0b[01]+/i,\n\t\t/\\b0x[0-9a-f]+/i,\n\t\t/(?:\\B\\.\\d+|\\b(?:0|[1-9]\\d*)(?:\\.\\d+)?)(?:e[+-]?\\d+)?/i\n\t],\n\t'operator': /\\*{2,}|[=!]~|[!=<>]=?|&&|\\|\\||[-+*/%]/,\n\t'punctuation': /::|[?.:,;()[\\]{}]/\n};\n","Prism.languages.c = Prism.languages.extend('clike', {\n\t'comment': {\n\t\tpattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\t// https://en.cppreference.com/w/c/language/string_literal\n\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n\t'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'char': {\n\t\t// https://en.cppreference.com/w/c/language/character_constant\n\t\tpattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n\t\tgreedy: true\n\t}\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'macro': {\n\t\t// allow for multiline macro definitions\n\t\t// spaces after the # character compile fine with gcc\n\t\tpattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'string': [\n\t\t\t\t{\n\t\t\t\t\t// highlight the path of the include statement as a string\n\t\t\t\t\tpattern: /^(#\\s*include\\s*)<[^>]+>/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\tPrism.languages.c['string']\n\t\t\t],\n\t\t\t'char': Prism.languages.c['char'],\n\t\t\t'comment': Prism.languages.c['comment'],\n\t\t\t'macro-name': [\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'function'\n\t\t\t\t}\n\t\t\t],\n\t\t\t// highlight macro directives as keywords\n\t\t\t'directive': {\n\t\t\t\tpattern: /^(#\\s*)[a-z]+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t'directive-hash': /^#/,\n\t\t\t'punctuation': /##|\\\\(?=[\\r\\n])/,\n\t\t\t'expression': {\n\t\t\t\tpattern: /\\S[\\s\\S]*/,\n\t\t\t\tinside: Prism.languages.c\n\t\t\t}\n\t\t}\n\t}\n});\n\nPrism.languages.insertBefore('c', 'function', {\n\t// highlight predefined macros as constants\n\t'constant': /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n});\n\ndelete Prism.languages.c['boolean'];\n","(function (Prism) {\n\n\tvar keyword = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/;\n\tvar modName = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g, function () { return keyword.source; });\n\n\tPrism.languages.cpp = Prism.languages.extend('c', {\n\t\t'class-name': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source\n\t\t\t\t\t.replace(/<keyword>/g, function () { return keyword.source; })),\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t// This is intended to capture the class name of method implementations like:\n\t\t\t// void foo::bar() const {}\n\t\t\t// However! The `foo` in the above example could also be a namespace, so we only capture the class name if\n\t\t\t// it starts with an uppercase letter. This approximation should give decent results.\n\t\t\t/\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/,\n\t\t\t// This will capture the class name before destructors like:\n\t\t\t// Foo::~Foo() {}\n\t\t\t/\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i,\n\t\t\t// This also intends to capture the class name of method implementations but here the class has template\n\t\t\t// parameters, so it can't be a namespace (until C++ adds generic namespaces).\n\t\t\t/\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/\n\t\t],\n\t\t'keyword': keyword,\n\t\t'number': {\n\t\t\tpattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,\n\t\t\tgreedy: true\n\t\t},\n\t\t'operator': />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/\n\t});\n\n\tPrism.languages.insertBefore('cpp', 'string', {\n\t\t'module': {\n\t\t\t// https://en.cppreference.com/w/cpp/language/modules\n\t\t\tpattern: RegExp(\n\t\t\t\t/(\\b(?:import|module)\\s+)/.source +\n\t\t\t\t'(?:' +\n\t\t\t\t// header-name\n\t\t\t\t/\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source +\n\t\t\t\t'|' +\n\t\t\t\t// module name or partition or both\n\t\t\t\t/<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g, function () { return modName; }) +\n\t\t\t\t')'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'string': /^[<\"][\\s\\S]+/,\n\t\t\t\t'operator': /:/,\n\t\t\t\t'punctuation': /\\./\n\t\t\t}\n\t\t},\n\t\t'raw-string': {\n\t\t\tpattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n\t\t\talias: 'string',\n\t\t\tgreedy: true\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('cpp', 'keyword', {\n\t\t'generic-function': {\n\t\t\tpattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,\n\t\t\tinside: {\n\t\t\t\t'function': /^\\w+/,\n\t\t\t\t'generic': {\n\t\t\t\t\tpattern: /<[\\s\\S]+/,\n\t\t\t\t\talias: 'class-name',\n\t\t\t\t\tinside: Prism.languages.cpp\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('cpp', 'operator', {\n\t\t'double-colon': {\n\t\t\tpattern: /::/,\n\t\t\talias: 'punctuation'\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('cpp', 'class-name', {\n\t\t// the base clause is an optional list of parent classes\n\t\t// https://en.cppreference.com/w/cpp/language/class\n\t\t'base-clause': {\n\t\t\tpattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: Prism.languages.extend('cpp', {})\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('inside', 'double-colon', {\n\t\t// All untokenized words that are not namespaces should be class names\n\t\t'class-name': /\\b[a-z_]\\w*\\b(?!\\s*::)/i\n\t}, Prism.languages.cpp['base-clause']);\n\n}(Prism));\n","Prism.languages.arduino = Prism.languages.extend('cpp', {\n\t'keyword': /\\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\\b/,\n\t'constant': /\\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\\b/,\n\t'builtin': /\\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\\b/\n});\n\nPrism.languages.ino = Prism.languages.arduino;\n","Prism.languages.arff = {\n\t'comment': /%.*/,\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'keyword': /@(?:attribute|data|end|relation)\\b/i,\n\t'number': /\\b\\d+(?:\\.\\d+)?\\b/,\n\t'punctuation': /[{},]/\n};\n","Prism.languages.armasm = {\n\t'comment': {\n\t\tpattern: /;.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"(?:[^\"\\r\\n]|\"\")*\"/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'variable': {\n\t\t\t\tpattern: /((?:^|[^$])(?:\\${2})*)\\$\\w+/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t}\n\t},\n\t'char': {\n\t\tpattern: /'(?:[^'\\r\\n]{0,4}|'')'/,\n\t\tgreedy: true\n\t},\n\t'version-symbol': {\n\t\tpattern: /\\|[\\w@]+\\|/,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t},\n\n\t'boolean': /\\b(?:FALSE|TRUE)\\b/,\n\t'directive': {\n\t\tpattern: /\\b(?:ALIAS|ALIGN|AREA|ARM|ASSERT|ATTR|CN|CODE|CODE16|CODE32|COMMON|CP|DATA|DCB|DCD|DCDO|DCDU|DCFD|DCFDU|DCI|DCQ|DCQU|DCW|DCWU|DN|ELIF|ELSE|END|ENDFUNC|ENDIF|ENDP|ENTRY|EQU|EXPORT|EXPORTAS|EXTERN|FIELD|FILL|FN|FUNCTION|GBLA|GBLL|GBLS|GET|GLOBAL|IF|IMPORT|INCBIN|INCLUDE|INFO|KEEP|LCLA|LCLL|LCLS|LTORG|MACRO|MAP|MEND|MEXIT|NOFP|OPT|PRESERVE8|PROC|QN|READONLY|RELOC|REQUIRE|REQUIRE8|RLIST|ROUT|SETA|SETL|SETS|SN|SPACE|SUBT|THUMB|THUMBX|TTL|WEND|WHILE)\\b/,\n\t\talias: 'property'\n\t},\n\t'instruction': {\n\t\tpattern: /((?:^|(?:^|[^\\\\])(?:\\r\\n?|\\n))[ \\t]*(?:(?:[A-Z][A-Z0-9_]*[a-z]\\w*|[a-z]\\w*|\\d+)[ \\t]+)?)\\b[A-Z.]+\\b/,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t},\n\t'variable': /\\$\\w+/,\n\n\t'number': /(?:\\b[2-9]_\\d+|(?:\\b\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e-?\\d+)?|\\b0(?:[fd]_|x)[0-9a-f]+|&[0-9a-f]+)\\b/i,\n\n\t'register': {\n\t\tpattern: /\\b(?:r\\d|lr)\\b/,\n\t\talias: 'symbol'\n\t},\n\n\t'operator': /<>|<<|>>|&&|\\|\\||[=!<>/]=?|[+\\-*%#?&|^]|:[A-Z]+:/,\n\t'punctuation': /[()[\\],]/\n};\n\nPrism.languages['arm-asm'] = Prism.languages.armasm;\n","(function (Prism) {\n\t// $ set | grep '^[A-Z][^[:space:]]*=' | cut -d= -f1 | tr '\\n' '|'\n\t// + LC_ALL, RANDOM, REPLY, SECONDS.\n\t// + make sure PS1..4 are here as they are not always set,\n\t// - some useless things.\n\tvar envVars = '\\\\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\n\tvar commandAfterHeredoc = {\n\t\tpattern: /(^([\"']?)\\w+\\2)[ \\t]+\\S.*/,\n\t\tlookbehind: true,\n\t\talias: 'punctuation', // this looks reasonably well in all themes\n\t\tinside: null // see below\n\t};\n\n\tvar insideString = {\n\t\t'bash': commandAfterHeredoc,\n\t\t'environment': {\n\t\t\tpattern: RegExp('\\\\$' + envVars),\n\t\t\talias: 'constant'\n\t\t},\n\t\t'variable': [\n\t\t\t// [0]: Arithmetic Environment\n\t\t\t{\n\t\t\t\tpattern: /\\$?\\(\\([\\s\\S]+?\\)\\)/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t// If there is a $ sign at the beginning highlight $(( and )) as variable\n\t\t\t\t\t'variable': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /(^\\$\\(\\([\\s\\S]+)\\)\\)/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t/^\\$\\(\\(/\n\t\t\t\t\t],\n\t\t\t\t\t'number': /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n\t\t\t\t\t// Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic\n\t\t\t\t\t'operator': /--|\\+\\+|\\*\\*=?|<<=?|>>=?|&&|\\|\\||[=!+\\-*/%<>^&|]=?|[?~:]/,\n\t\t\t\t\t// If there is no $ sign at the beginning highlight (( and )) as punctuation\n\t\t\t\t\t'punctuation': /\\(\\(?|\\)\\)?|,|;/\n\t\t\t\t}\n\t\t\t},\n\t\t\t// [1]: Command Substitution\n\t\t\t{\n\t\t\t\tpattern: /\\$\\((?:\\([^)]+\\)|[^()])+\\)|`[^`]+`/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'variable': /^\\$\\(|^`|\\)$|`$/\n\t\t\t\t}\n\t\t\t},\n\t\t\t// [2]: Brace expansion\n\t\t\t{\n\t\t\t\tpattern: /\\$\\{[^}]+\\}/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'operator': /:[-=?+]?|[!\\/]|##?|%%?|\\^\\^?|,,?/,\n\t\t\t\t\t'punctuation': /[\\[\\]]/,\n\t\t\t\t\t'environment': {\n\t\t\t\t\t\tpattern: RegExp('(\\\\{)' + envVars),\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\talias: 'constant'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t/\\$(?:\\w+|[#?*!@$])/\n\t\t],\n\t\t// Escape sequences from echo and printf's manuals, and escaped quotes.\n\t\t'entity': /\\\\(?:[abceEfnrtv\\\\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/\n\t};\n\n\tPrism.languages.bash = {\n\t\t'shebang': {\n\t\t\tpattern: /^#!\\s*\\/.*/,\n\t\t\talias: 'important'\n\t\t},\n\t\t'comment': {\n\t\t\tpattern: /(^|[^\"{\\\\$])#.*/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'function-name': [\n\t\t\t// a) function foo {\n\t\t\t// b) foo() {\n\t\t\t// c) function foo() {\n\t\t\t// but not “foo {”\n\t\t\t{\n\t\t\t\t// a) and c)\n\t\t\t\tpattern: /(\\bfunction\\s+)[\\w-]+(?=(?:\\s*\\(?:\\s*\\))?\\s*\\{)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'function'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// b)\n\t\t\t\tpattern: /\\b[\\w-]+(?=\\s*\\(\\s*\\)\\s*\\{)/,\n\t\t\t\talias: 'function'\n\t\t\t}\n\t\t],\n\t\t// Highlight variable names as variables in for and select beginnings.\n\t\t'for-or-select': {\n\t\t\tpattern: /(\\b(?:for|select)\\s+)\\w+(?=\\s+in\\s)/,\n\t\t\talias: 'variable',\n\t\t\tlookbehind: true\n\t\t},\n\t\t// Highlight variable names as variables in the left-hand part\n\t\t// of assignments (“=” and “+=”).\n\t\t'assign-left': {\n\t\t\tpattern: /(^|[\\s;|&]|[<>]\\()\\w+(?:\\.\\w+)*(?=\\+?=)/,\n\t\t\tinside: {\n\t\t\t\t'environment': {\n\t\t\t\t\tpattern: RegExp('(^|[\\\\s;|&]|[<>]\\\\()' + envVars),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'constant'\n\t\t\t\t}\n\t\t\t},\n\t\t\talias: 'variable',\n\t\t\tlookbehind: true\n\t\t},\n\t\t// Highlight parameter names as variables\n\t\t'parameter': {\n\t\t\tpattern: /(^|\\s)-{1,2}(?:\\w+:[+-]?)?\\w+(?:\\.\\w+)*(?=[=\\s]|$)/,\n\t\t\talias: 'variable',\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': [\n\t\t\t// Support for Here-documents https://en.wikipedia.org/wiki/Here_document\n\t\t\t{\n\t\t\t\tpattern: /((?:^|[^<])<<-?\\s*)(\\w+)\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\2/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: insideString\n\t\t\t},\n\t\t\t// Here-document with quotes around the tag\n\t\t\t// → No expansion (so no “inside”).\n\t\t\t{\n\t\t\t\tpattern: /((?:^|[^<])<<-?\\s*)([\"'])(\\w+)\\2\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\3/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'bash': commandAfterHeredoc\n\t\t\t\t}\n\t\t\t},\n\t\t\t// “Normal” string\n\t\t\t{\n\t\t\t\t// https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html\n\t\t\t\tpattern: /(^|[^\\\\](?:\\\\\\\\)*)\"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^\"\\\\`$])*\"/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: insideString\n\t\t\t},\n\t\t\t{\n\t\t\t\t// https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html\n\t\t\t\tpattern: /(^|[^$\\\\])'[^']*'/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html\n\t\t\t\tpattern: /\\$'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'entity': insideString.entity\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'environment': {\n\t\t\tpattern: RegExp('\\\\$?' + envVars),\n\t\t\talias: 'constant'\n\t\t},\n\t\t'variable': insideString.variable,\n\t\t'function': {\n\t\t\tpattern: /(^|[\\s;|&]|[<>]\\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|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|java|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|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|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|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\\s;|&])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'keyword': {\n\t\t\tpattern: /(^|[\\s;|&]|[<>]\\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\\s;|&])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t// https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n\t\t'builtin': {\n\t\t\tpattern: /(^|[\\s;|&]|[<>]\\()(?:\\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\\s;|&])/,\n\t\t\tlookbehind: true,\n\t\t\t// Alias added to make those easier to distinguish from strings.\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'boolean': {\n\t\t\tpattern: /(^|[\\s;|&]|[<>]\\()(?:false|true)(?=$|[)\\s;|&])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'file-descriptor': {\n\t\t\tpattern: /\\B&\\d\\b/,\n\t\t\talias: 'important'\n\t\t},\n\t\t'operator': {\n\t\t\t// Lots of redirections here, but not just that.\n\t\t\tpattern: /\\d?<>|>\\||\\+=|=[=~]?|!=?|<<[<-]?|[&\\d]?>>|\\d[<>]&?|[<>][&=]?|&[>&]?|\\|[&|]?/,\n\t\t\tinside: {\n\t\t\t\t'file-descriptor': {\n\t\t\t\t\tpattern: /^\\d/,\n\t\t\t\t\talias: 'important'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'punctuation': /\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];\\\\]/,\n\t\t'number': {\n\t\t\tpattern: /(^|\\s)(?:[1-9]\\d*|0)(?:[.,]\\d+)?\\b/,\n\t\t\tlookbehind: true\n\t\t}\n\t};\n\n\tcommandAfterHeredoc.inside = Prism.languages.bash;\n\n\t/* Patterns in command substitution. */\n\tvar toBeCopied = [\n\t\t'comment',\n\t\t'function-name',\n\t\t'for-or-select',\n\t\t'assign-left',\n\t\t'parameter',\n\t\t'string',\n\t\t'environment',\n\t\t'function',\n\t\t'keyword',\n\t\t'builtin',\n\t\t'boolean',\n\t\t'file-descriptor',\n\t\t'operator',\n\t\t'punctuation',\n\t\t'number'\n\t];\n\tvar inside = insideString.variable[1].inside;\n\tfor (var i = 0; i < toBeCopied.length; i++) {\n\t\tinside[toBeCopied[i]] = Prism.languages.bash[toBeCopied[i]];\n\t}\n\n\tPrism.languages.sh = Prism.languages.bash;\n\tPrism.languages.shell = Prism.languages.bash;\n}(Prism));\n","(function (Prism) {\n\n\t// https://yaml.org/spec/1.2/spec.html#c-ns-anchor-property\n\t// https://yaml.org/spec/1.2/spec.html#c-ns-alias-node\n\tvar anchorOrAlias = /[*&][^\\s[\\]{},]+/;\n\t// https://yaml.org/spec/1.2/spec.html#c-ns-tag-property\n\tvar tag = /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/;\n\t// https://yaml.org/spec/1.2/spec.html#c-ns-properties(n,c)\n\tvar properties = '(?:' + tag.source + '(?:[ \\t]+' + anchorOrAlias.source + ')?|'\n\t\t+ anchorOrAlias.source + '(?:[ \\t]+' + tag.source + ')?)';\n\t// https://yaml.org/spec/1.2/spec.html#ns-plain(n,c)\n\t// This is a simplified version that doesn't support \"#\" and multiline keys\n\t// All these long scarry character classes are simplified versions of YAML's characters\n\tvar plainKey = /(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source\n\t\t.replace(/<PLAIN>/g, function () { return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source; });\n\tvar string = /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source;\n\n\t/**\n\t *\n\t * @param {string} value\n\t * @param {string} [flags]\n\t * @returns {RegExp}\n\t */\n\tfunction createValuePattern(value, flags) {\n\t\tflags = (flags || '').replace(/m/g, '') + 'm'; // add m flag\n\t\tvar pattern = /([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source\n\t\t\t.replace(/<<prop>>/g, function () { return properties; }).replace(/<<value>>/g, function () { return value; });\n\t\treturn RegExp(pattern, flags);\n\t}\n\n\tPrism.languages.yaml = {\n\t\t'scalar': {\n\t\t\tpattern: RegExp(/([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source\n\t\t\t\t.replace(/<<prop>>/g, function () { return properties; })),\n\t\t\tlookbehind: true,\n\t\t\talias: 'string'\n\t\t},\n\t\t'comment': /#.*/,\n\t\t'key': {\n\t\t\tpattern: RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source\n\t\t\t\t.replace(/<<prop>>/g, function () { return properties; })\n\t\t\t\t.replace(/<<key>>/g, function () { return '(?:' + plainKey + '|' + string + ')'; })),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'atrule'\n\t\t},\n\t\t'directive': {\n\t\t\tpattern: /(^[ \\t]*)%.+/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'important'\n\t\t},\n\t\t'datetime': {\n\t\t\tpattern: createValuePattern(/\\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*)?)?/.source),\n\t\t\tlookbehind: true,\n\t\t\talias: 'number'\n\t\t},\n\t\t'boolean': {\n\t\t\tpattern: createValuePattern(/false|true/.source, 'i'),\n\t\t\tlookbehind: true,\n\t\t\talias: 'important'\n\t\t},\n\t\t'null': {\n\t\t\tpattern: createValuePattern(/null|~/.source, 'i'),\n\t\t\tlookbehind: true,\n\t\t\talias: 'important'\n\t\t},\n\t\t'string': {\n\t\t\tpattern: createValuePattern(string),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t'number': {\n\t\t\tpattern: createValuePattern(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source, 'i'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'tag': tag,\n\t\t'important': anchorOrAlias,\n\t\t'punctuation': /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n\t};\n\n\tPrism.languages.yml = Prism.languages.yaml;\n\n}(Prism));\n","(function (Prism) {\n\n\t// Allow only one line break\n\tvar inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n\n\t/**\n\t * This function is intended for the creation of the bold or italic pattern.\n\t *\n\t * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n\t *\n\t * _Note:_ Keep in mind that this adds a capturing group.\n\t *\n\t * @param {string} pattern\n\t * @returns {RegExp}\n\t */\n\tfunction createInline(pattern) {\n\t\tpattern = pattern.replace(/<inner>/g, function () { return inner; });\n\t\treturn RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')');\n\t}\n\n\n\tvar tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source;\n\tvar tableRow = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function () { return tableCell; });\n\tvar tableLine = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source;\n\n\n\tPrism.languages.markdown = Prism.languages.extend('markup', {});\n\tPrism.languages.insertBefore('markdown', 'prolog', {\n\t\t'front-matter-block': {\n\t\t\tpattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^---|---$/,\n\t\t\t\t'front-matter': {\n\t\t\t\t\tpattern: /\\S+(?:\\s+\\S+)*/,\n\t\t\t\t\talias: ['yaml', 'language-yaml'],\n\t\t\t\t\tinside: Prism.languages.yaml\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'blockquote': {\n\t\t\t// > ...\n\t\t\tpattern: /^>(?:[\\t ]*>)*/m,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'table': {\n\t\t\tpattern: RegExp('^' + tableRow + tableLine + '(?:' + tableRow + ')*', 'm'),\n\t\t\tinside: {\n\t\t\t\t'table-data-rows': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-data': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-line': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /\\||:?-{3,}:?/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-header-row': {\n\t\t\t\t\tpattern: RegExp('^' + tableRow + '$'),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-header': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\talias: 'important',\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'code': [\n\t\t\t{\n\t\t\t\t// Prefixed by 4 spaces or 1 tab and preceded by an empty line\n\t\t\t\tpattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// ```optional language\n\t\t\t\t// code block\n\t\t\t\t// ```\n\t\t\t\tpattern: /^```[\\s\\S]*?^```$/m,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'code-block': {\n\t\t\t\t\t\tpattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'code-language': {\n\t\t\t\t\t\tpattern: /^(```).+/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /```/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'title': [\n\t\t\t{\n\t\t\t\t// title 1\n\t\t\t\t// =======\n\n\t\t\t\t// title 2\n\t\t\t\t// -------\n\t\t\t\tpattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /==+$|--+$/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// # title 1\n\t\t\t\t// ###### title 6\n\t\t\t\tpattern: /(^\\s*)#.+/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /^#+|#+$/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'hr': {\n\t\t\t// ***\n\t\t\t// ---\n\t\t\t// * * *\n\t\t\t// -----------\n\t\t\tpattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'list': {\n\t\t\t// * item\n\t\t\t// + item\n\t\t\t// - item\n\t\t\t// 1. item\n\t\t\tpattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'url-reference': {\n\t\t\t// [id]: http://example.com \"Optional title\"\n\t\t\t// [id]: http://example.com 'Optional title'\n\t\t\t// [id]: http://example.com (Optional title)\n\t\t\t// [id]: <http://example.com> \"Optional title\"\n\t\t\tpattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n\t\t\tinside: {\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /^(!?\\[)[^\\]]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n\t\t\t\t'punctuation': /^[\\[\\]!:]|[<>]/\n\t\t\t},\n\t\t\talias: 'url'\n\t\t},\n\t\t'bold': {\n\t\t\t// **strong**\n\t\t\t// __strong__\n\n\t\t\t// allow one nested instance of italic text using the same delimiter\n\t\t\tpattern: createInline(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^..)[\\s\\S]+(?=..$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\*\\*|__/\n\t\t\t}\n\t\t},\n\t\t'italic': {\n\t\t\t// *em*\n\t\t\t// _em_\n\n\t\t\t// allow one nested instance of bold text using the same delimiter\n\t\t\tpattern: createInline(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^.)[\\s\\S]+(?=.$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /[*_]/\n\t\t\t}\n\t\t},\n\t\t'strike': {\n\t\t\t// ~~strike through~~\n\t\t\t// ~strike~\n\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\tpattern: createInline(/(~~?)(?:(?!~)<inner>)+\\2/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /~~?/\n\t\t\t}\n\t\t},\n\t\t'code-snippet': {\n\t\t\t// `code`\n\t\t\t// ``code``\n\t\t\tpattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: ['code', 'keyword']\n\t\t},\n\t\t'url': {\n\t\t\t// [example](http://example.com \"Optional title\")\n\t\t\t// [example][id]\n\t\t\t// [example] [id]\n\t\t\tpattern: createInline(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'operator': /^!/,\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^\\[)[^\\]]+(?=\\])/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'url': {\n\t\t\t\t\tpattern: /(^\\]\\()[^\\s)]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n\t\t['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (inside) {\n\t\t\tif (token !== inside) {\n\t\t\t\tPrism.languages.markdown[token].inside.content.inside[inside] = Prism.languages.markdown[inside];\n\t\t\t}\n\t\t});\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tif (env.language !== 'markdown' && env.language !== 'md') {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction walkTokens(tokens) {\n\t\t\tif (!tokens || typeof tokens === 'string') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i = 0, l = tokens.length; i < l; i++) {\n\t\t\t\tvar token = tokens[i];\n\n\t\t\t\tif (token.type !== 'code') {\n\t\t\t\t\twalkTokens(token.content);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t/*\n\t\t\t\t * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n\t\t\t\t * is optional. But the grammar is defined so that there is only one case we have to handle:\n\t\t\t\t *\n\t\t\t\t * token.content = [\n\t\t\t\t * <span class=\"punctuation\">```</span>,\n\t\t\t\t * <span class=\"code-language\">xxxx</span>,\n\t\t\t\t * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n\t\t\t\t * <span class=\"code-block\">...</span>,\n\t\t\t\t * '\\n', // exactly one new lines again\n\t\t\t\t * <span class=\"punctuation\">```</span>\n\t\t\t\t * ];\n\t\t\t\t */\n\n\t\t\t\tvar codeLang = token.content[1];\n\t\t\t\tvar codeBlock = token.content[3];\n\n\t\t\t\tif (codeLang && codeBlock &&\n\t\t\t\t\tcodeLang.type === 'code-language' && codeBlock.type === 'code-block' &&\n\t\t\t\t\ttypeof codeLang.content === 'string') {\n\n\t\t\t\t\t// this might be a language that Prism does not support\n\n\t\t\t\t\t// do some replacements to support C++, C#, and F#\n\t\t\t\t\tvar lang = codeLang.content.replace(/\\b#/g, 'sharp').replace(/\\b\\+\\+/g, 'pp');\n\t\t\t\t\t// only use the first word\n\t\t\t\t\tlang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase();\n\t\t\t\t\tvar alias = 'language-' + lang;\n\n\t\t\t\t\t// add alias\n\t\t\t\t\tif (!codeBlock.alias) {\n\t\t\t\t\t\tcodeBlock.alias = [alias];\n\t\t\t\t\t} else if (typeof codeBlock.alias === 'string') {\n\t\t\t\t\t\tcodeBlock.alias = [codeBlock.alias, alias];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcodeBlock.alias.push(alias);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twalkTokens(env.tokens);\n\t});\n\n\tPrism.hooks.add('wrap', function (env) {\n\t\tif (env.type !== 'code-block') {\n\t\t\treturn;\n\t\t}\n\n\t\tvar codeLang = '';\n\t\tfor (var i = 0, l = env.classes.length; i < l; i++) {\n\t\t\tvar cls = env.classes[i];\n\t\t\tvar match = /language-(.+)/.exec(cls);\n\t\t\tif (match) {\n\t\t\t\tcodeLang = match[1];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar grammar = Prism.languages[codeLang];\n\n\t\tif (!grammar) {\n\t\t\tif (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n\t\t\t\tvar id = 'md-' + new Date().valueOf() + '-' + Math.floor(Math.random() * 1e16);\n\t\t\t\tenv.attributes['id'] = id;\n\n\t\t\t\tPrism.plugins.autoloader.loadLanguages(codeLang, function () {\n\t\t\t\t\tvar ele = document.getElementById(id);\n\t\t\t\t\tif (ele) {\n\t\t\t\t\t\tele.innerHTML = Prism.highlight(ele.textContent, Prism.languages[codeLang], codeLang);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tenv.content = Prism.highlight(textContent(env.content), grammar, codeLang);\n\t\t}\n\t});\n\n\tvar tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi');\n\n\t/**\n\t * A list of known entity names.\n\t *\n\t * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.\n\t *\n\t * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}\n\t */\n\tvar KNOWN_ENTITY_NAMES = {\n\t\t'amp': '&',\n\t\t'lt': '<',\n\t\t'gt': '>',\n\t\t'quot': '\"',\n\t};\n\n\t// IE 11 doesn't support `String.fromCodePoint`\n\tvar fromCodePoint = String.fromCodePoint || String.fromCharCode;\n\n\t/**\n\t * Returns the text content of a given HTML source code string.\n\t *\n\t * @param {string} html\n\t * @returns {string}\n\t */\n\tfunction textContent(html) {\n\t\t// remove all tags\n\t\tvar text = html.replace(tagPattern, '');\n\n\t\t// decode known entities\n\t\ttext = text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function (m, code) {\n\t\t\tcode = code.toLowerCase();\n\n\t\t\tif (code[0] === '#') {\n\t\t\t\tvar value;\n\t\t\t\tif (code[1] === 'x') {\n\t\t\t\t\tvalue = parseInt(code.slice(2), 16);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = Number(code.slice(1));\n\t\t\t\t}\n\n\t\t\t\treturn fromCodePoint(value);\n\t\t\t} else {\n\t\t\t\tvar known = KNOWN_ENTITY_NAMES[code];\n\t\t\t\tif (known) {\n\t\t\t\t\treturn known;\n\t\t\t\t}\n\n\t\t\t\t// unable to decode\n\t\t\t\treturn m;\n\t\t\t}\n\t\t});\n\n\t\treturn text;\n\t}\n\n\tPrism.languages.md = Prism.languages.markdown;\n\n}(Prism));\n","(function (Prism) {\n\t/**\n\t * @param {string} lang\n\t * @param {string} pattern\n\t */\n\tvar createLanguageString = function (lang, pattern) {\n\t\treturn {\n\t\t\tpattern: RegExp(/\\{!/.source + '(?:' + (pattern || lang) + ')' + /$[\\s\\S]*\\}/.source, 'm'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'embedded': {\n\t\t\t\t\tpattern: /(^\\{!\\w+\\b)[\\s\\S]+(?=\\}$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'language-' + lang,\n\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t},\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t};\n\t};\n\n\tPrism.languages.arturo = {\n\t\t'comment': {\n\t\t\tpattern: /;.*/,\n\t\t\tgreedy: true\n\t\t},\n\n\t\t'character': {\n\t\t\tpattern: /`.`/,\n\t\t\talias: 'char',\n\t\t\tgreedy: true\n\t\t},\n\n\t\t'number': {\n\t\t\tpattern: /\\b\\d+(?:\\.\\d+(?:\\.\\d+(?:-[\\w+-]+)?)?)?\\b/,\n\t\t},\n\n\t\t'string': {\n\t\t\tpattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,\n\t\t\tgreedy: true\n\t\t},\n\n\t\t'regex': {\n\t\t\tpattern: /\\{\\/.*?\\/\\}/,\n\t\t\tgreedy: true\n\t\t},\n\n\t\t'html-string': createLanguageString('html'),\n\t\t'css-string': createLanguageString('css'),\n\t\t'js-string': createLanguageString('js'),\n\t\t'md-string': createLanguageString('md'),\n\t\t'sql-string': createLanguageString('sql'),\n\t\t'sh-string': createLanguageString('shell', 'sh'),\n\n\t\t'multistring': {\n\t\t\tpattern: /».*|\\{:[\\s\\S]*?:\\}|\\{[\\s\\S]*?\\}|^-{6}$[\\s\\S]*/m,\n\t\t\talias: 'string',\n\t\t\tgreedy: true\n\t\t},\n\n\t\t'label': {\n\t\t\tpattern: /\\w+\\b\\??:/,\n\t\t\talias: 'property'\n\t\t},\n\n\t\t'literal': {\n\t\t\tpattern: /'(?:\\w+\\b\\??:?)/,\n\t\t\talias: 'constant'\n\t\t},\n\n\t\t'type': {\n\t\t\tpattern: /:(?:\\w+\\b\\??:?)/,\n\t\t\talias: 'class-name'\n\t\t},\n\n\t\t'color': /#\\w+/,\n\n\t\t'predicate': {\n\t\t\tpattern: /\\b(?:all|and|any|ascii|attr|attribute|attributeLabel|binary|block|char|contains|database|date|dictionary|empty|equal|even|every|exists|false|floating|function|greater|greaterOrEqual|if|in|inline|integer|is|key|label|leap|less|lessOrEqual|literal|logical|lower|nand|negative|nor|not|notEqual|null|numeric|odd|or|path|pathLabel|positive|prefix|prime|regex|same|set|some|sorted|standalone|string|subset|suffix|superset|symbol|symbolLiteral|true|try|type|unless|upper|when|whitespace|word|xnor|xor|zero)\\?/,\n\t\t\talias: 'keyword'\n\t\t},\n\n\t\t'builtin-function': {\n\t\t\tpattern: /\\b(?:abs|acos|acosh|acsec|acsech|actan|actanh|add|after|alert|alias|and|angle|append|arg|args|arity|array|as|asec|asech|asin|asinh|atan|atan2|atanh|attr|attrs|average|before|benchmark|blend|break|call|capitalize|case|ceil|chop|clear|clip|close|color|combine|conj|continue|copy|cos|cosh|crc|csec|csech|ctan|ctanh|cursor|darken|dec|decode|define|delete|desaturate|deviation|dialog|dictionary|difference|digest|digits|div|do|download|drop|dup|e|else|empty|encode|ensure|env|escape|execute|exit|exp|extend|extract|factors|fdiv|filter|first|flatten|floor|fold|from|function|gamma|gcd|get|goto|hash|hypot|if|inc|indent|index|infinity|info|input|insert|inspect|intersection|invert|jaro|join|keys|kurtosis|last|let|levenshtein|lighten|list|ln|log|loop|lower|mail|map|match|max|median|min|mod|module|mul|nand|neg|new|nor|normalize|not|now|null|open|or|outdent|pad|palette|panic|path|pause|permissions|permutate|pi|pop|popup|pow|powerset|powmod|prefix|print|prints|process|product|query|random|range|read|relative|remove|rename|render|repeat|replace|request|return|reverse|round|sample|saturate|script|sec|sech|select|serve|set|shl|shr|shuffle|sin|sinh|size|skewness|slice|sort|spin|split|sqrt|squeeze|stack|strip|sub|suffix|sum|switch|symbols|symlink|sys|take|tan|tanh|terminal|terminate|to|truncate|try|type|unclip|union|unique|unless|until|unzip|upper|values|var|variance|volume|webview|while|with|wordwrap|write|xnor|xor|zip)\\b/,\n\t\t\talias: 'keyword'\n\t\t},\n\n\t\t'sugar': {\n\t\t\tpattern: /->|=>|\\||::/,\n\t\t\talias: 'operator'\n\t\t},\n\n\t\t'punctuation': /[()[\\],]/,\n\n\t\t'symbol': {\n\t\t\tpattern: /<:|-:|ø|@|#|\\+|\\||\\*|\\$|---|-|%|\\/|\\.\\.|\\^|~|=|<|>|\\\\/\n\t\t},\n\n\t\t'boolean': {\n\t\t\tpattern: /\\b(?:false|maybe|true)\\b/\n\t\t}\n\t};\n\n\tPrism.languages.art = Prism.languages['arturo'];\n}(Prism));\n","(function (Prism) {\n\n\tvar attributes = {\n\t\tpattern: /(^[ \\t]*)\\[(?!\\[)(?:([\"'$`])(?:(?!\\2)[^\\\\]|\\\\.)*\\2|\\[(?:[^\\[\\]\\\\]|\\\\.)*\\]|[^\\[\\]\\\\\"'$`]|\\\\.)*\\]/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'quoted': {\n\t\t\t\tpattern: /([$`])(?:(?!\\1)[^\\\\]|\\\\.)*\\1/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^[$`]|[$`]$/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'interpreted': {\n\t\t\t\tpattern: /'(?:[^'\\\\]|\\\\.)*'/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^'|'$/\n\t\t\t\t\t// See rest below\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /\"(?:[^\"\\\\]|\\\\.)*\"/,\n\t\t\t'variable': /\\w+(?==)/,\n\t\t\t'punctuation': /^\\[|\\]$|,/,\n\t\t\t'operator': /=/,\n\t\t\t// The negative look-ahead prevents blank matches\n\t\t\t'attr-value': /(?!^\\s+$).+/\n\t\t}\n\t};\n\n\tvar asciidoc = Prism.languages.asciidoc = {\n\t\t'comment-block': {\n\t\t\tpattern: /^(\\/{4,})$[\\s\\S]*?^\\1/m,\n\t\t\talias: 'comment'\n\t\t},\n\t\t'table': {\n\t\t\tpattern: /^\\|={3,}(?:(?:\\r?\\n|\\r(?!\\n)).*)*?(?:\\r?\\n|\\r)\\|={3,}$/m,\n\t\t\tinside: {\n\t\t\t\t'specifiers': {\n\t\t\t\t\tpattern: /(?:(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)[+*](?:[<^>](?:\\.[<^>])?|\\.[<^>])?|[<^>](?:\\.[<^>])?|\\.[<^>])[a-z]*|[a-z]+)(?=\\|)/,\n\t\t\t\t\talias: 'attr-value'\n\t\t\t\t},\n\t\t\t\t'punctuation': {\n\t\t\t\t\tpattern: /(^|[^\\\\])[|!]=*/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\n\t\t'passthrough-block': {\n\t\t\tpattern: /^(\\+{4,})$[\\s\\S]*?^\\1$/m,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^\\++|\\++$/\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t// Literal blocks and listing blocks\n\t\t'literal-block': {\n\t\t\tpattern: /^(-{4,}|\\.{4,})$[\\s\\S]*?^\\1$/m,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^(?:-+|\\.+)|(?:-+|\\.+)$/\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t// Sidebar blocks, quote blocks, example blocks and open blocks\n\t\t'other-block': {\n\t\t\tpattern: /^(--|\\*{4,}|_{4,}|={4,})$[\\s\\S]*?^\\1$/m,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^(?:-+|\\*+|_+|=+)|(?:-+|\\*+|_+|=+)$/\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\n\t\t// list-punctuation and list-label must appear before indented-block\n\t\t'list-punctuation': {\n\t\t\tpattern: /(^[ \\t]*)(?:-|\\*{1,5}|\\.{1,5}|(?:[a-z]|\\d+)\\.|[xvi]+\\))(?= )/im,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'list-label': {\n\t\t\tpattern: /(^[ \\t]*)[a-z\\d].+(?::{2,4}|;;)(?=\\s)/im,\n\t\t\tlookbehind: true,\n\t\t\talias: 'symbol'\n\t\t},\n\t\t'indented-block': {\n\t\t\tpattern: /((\\r?\\n|\\r)\\2)([ \\t]+)\\S.*(?:(?:\\r?\\n|\\r)\\3.+)*(?=\\2{2}|$)/,\n\t\t\tlookbehind: true\n\t\t},\n\n\t\t'comment': /^\\/\\/.*/m,\n\t\t'title': {\n\t\t\tpattern: /^.+(?:\\r?\\n|\\r)(?:={3,}|-{3,}|~{3,}|\\^{3,}|\\+{3,})$|^={1,5} .+|^\\.(?![\\s.]).*/m,\n\t\t\talias: 'important',\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^(?:\\.|=+)|(?:=+|-+|~+|\\^+|\\++)$/\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'attribute-entry': {\n\t\t\tpattern: /^:[^:\\r\\n]+:(?: .*?(?: \\+(?:\\r?\\n|\\r).*?)*)?$/m,\n\t\t\talias: 'tag'\n\t\t},\n\t\t'attributes': attributes,\n\t\t'hr': {\n\t\t\tpattern: /^'{3,}$/m,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'page-break': {\n\t\t\tpattern: /^<{3,}$/m,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'admonition': {\n\t\t\tpattern: /^(?:CAUTION|IMPORTANT|NOTE|TIP|WARNING):/m,\n\t\t\talias: 'keyword'\n\t\t},\n\t\t'callout': [\n\t\t\t{\n\t\t\t\tpattern: /(^[ \\t]*)<?\\d*>/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'symbol'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /<\\d+>/,\n\t\t\t\talias: 'symbol'\n\t\t\t}\n\t\t],\n\t\t'macro': {\n\t\t\tpattern: /\\b[a-z\\d][a-z\\d-]*::?(?:[^\\s\\[\\]]*\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1|\\\\.)*\\])/,\n\t\t\tinside: {\n\t\t\t\t'function': /^[a-z\\d-]+(?=:)/,\n\t\t\t\t'punctuation': /^::?/,\n\t\t\t\t'attributes': {\n\t\t\t\t\tpattern: /(?:\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1|\\\\.)*\\])/,\n\t\t\t\t\tinside: attributes.inside\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'inline': {\n\t\t\t/*\n\t\t\tThe initial look-behind prevents the highlighting of escaped quoted text.\n\n\t\t\tQuoted text can be multi-line but cannot span an empty line.\n\t\t\tAll quoted text can have attributes before [foobar, 'foobar', baz=\"bar\"].\n\n\t\t\tFirst, we handle the constrained quotes.\n\t\t\tThose must be bounded by non-word chars and cannot have spaces between the delimiter and the first char.\n\t\t\tThey are, in order: _emphasis_, ``double quotes'', `single quotes', `monospace`, 'emphasis', *strong*, +monospace+ and #unquoted#\n\n\t\t\tThen we handle the unconstrained quotes.\n\t\t\tThose do not have the restrictions of the constrained quotes.\n\t\t\tThey are, in order: __emphasis__, **strong**, ++monospace++, +++passthrough+++, ##unquoted##, $$passthrough$$, ~subscript~, ^superscript^, {attribute-reference}, [[anchor]], [[[bibliography anchor]]], <<xref>>, (((indexes))) and ((indexes))\n\t\t\t */\n\t\t\tpattern: /(^|[^\\\\])(?:(?:\\B\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\2)[^\\\\]|\\\\.)*\\2|\\\\.)*\\])?(?:\\b_(?!\\s)(?: _|[^_\\\\\\r\\n]|\\\\.)+(?:(?:\\r?\\n|\\r)(?: _|[^_\\\\\\r\\n]|\\\\.)+)*_\\b|\\B``(?!\\s).+?(?:(?:\\r?\\n|\\r).+?)*''\\B|\\B`(?!\\s)(?:[^`'\\s]|\\s+\\S)+['`]\\B|\\B(['*+#])(?!\\s)(?: \\3|(?!\\3)[^\\\\\\r\\n]|\\\\.)+(?:(?:\\r?\\n|\\r)(?: \\3|(?!\\3)[^\\\\\\r\\n]|\\\\.)+)*\\3\\B)|(?:\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\4)[^\\\\]|\\\\.)*\\4|\\\\.)*\\])?(?:(__|\\*\\*|\\+\\+\\+?|##|\\$\\$|[~^]).+?(?:(?:\\r?\\n|\\r).+?)*\\5|\\{[^}\\r\\n]+\\}|\\[\\[\\[?.+?(?:(?:\\r?\\n|\\r).+?)*\\]?\\]\\]|<<.+?(?:(?:\\r?\\n|\\r).+?)*>>|\\(\\(\\(?.+?(?:(?:\\r?\\n|\\r).+?)*\\)?\\)\\)))/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attributes': attributes,\n\t\t\t\t'url': {\n\t\t\t\t\tpattern: /^(?:\\[\\[\\[?.+?\\]?\\]\\]|<<.+?>>)$/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /^(?:\\[\\[\\[?|<<)|(?:\\]\\]\\]?|>>)$/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'attribute-ref': {\n\t\t\t\t\tpattern: /^\\{.+\\}$/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'variable': {\n\t\t\t\t\t\t\tpattern: /(^\\{)[a-z\\d,+_-]+/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'operator': /^[=?!#%@$]|!(?=[:}])/,\n\t\t\t\t\t\t'punctuation': /^\\{|\\}$|::?/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'italic': {\n\t\t\t\t\tpattern: /^(['_])[\\s\\S]+\\1$/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /^(?:''?|__?)|(?:''?|__?)$/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'bold': {\n\t\t\t\t\tpattern: /^\\*[\\s\\S]+\\*$/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\tpunctuation: /^\\*\\*?|\\*\\*?$/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'punctuation': /^(?:``?|\\+{1,3}|##?|\\$\\$|[~^]|\\(\\(\\(?)|(?:''?|\\+{1,3}|##?|\\$\\$|[~^`]|\\)?\\)\\))$/\n\t\t\t}\n\t\t},\n\t\t'replacement': {\n\t\t\tpattern: /\\((?:C|R|TM)\\)/,\n\t\t\talias: 'builtin'\n\t\t},\n\t\t'entity': /&#?[\\da-z]{1,8};/i,\n\t\t'line-continuation': {\n\t\t\tpattern: /(^| )\\+$/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t}\n\t};\n\n\n\t// Allow some nesting. There is no recursion though, so cloning should not be needed.\n\n\tfunction copyFromAsciiDoc(keys) {\n\t\tkeys = keys.split(' ');\n\n\t\tvar o = {};\n\t\tfor (var i = 0, l = keys.length; i < l; i++) {\n\t\t\to[keys[i]] = asciidoc[keys[i]];\n\t\t}\n\t\treturn o;\n\t}\n\n\tattributes.inside['interpreted'].inside.rest = copyFromAsciiDoc('macro inline replacement entity');\n\n\tasciidoc['passthrough-block'].inside.rest = copyFromAsciiDoc('macro');\n\n\tasciidoc['literal-block'].inside.rest = copyFromAsciiDoc('callout');\n\n\tasciidoc['table'].inside.rest = copyFromAsciiDoc('comment-block passthrough-block literal-block other-block list-punctuation indented-block comment title attribute-entry attributes hr page-break admonition list-label callout macro inline replacement entity line-continuation');\n\n\tasciidoc['other-block'].inside.rest = copyFromAsciiDoc('table list-punctuation indented-block comment attribute-entry attributes hr page-break admonition list-label macro inline replacement entity line-continuation');\n\n\tasciidoc['title'].inside.rest = copyFromAsciiDoc('macro inline replacement entity');\n\n\n\t// Plugin to make entity title show the real entity, idea by Roman Komarov\n\tPrism.hooks.add('wrap', function (env) {\n\t\tif (env.type === 'entity') {\n\t\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t\t}\n\t});\n\n\tPrism.languages.adoc = Prism.languages.asciidoc;\n}(Prism));\n","(function (Prism) {\n\n\t/**\n\t * Replaces all placeholders \"<<n>>\" of given pattern with the n-th replacement (zero based).\n\t *\n\t * Note: This is a simple text based replacement. Be careful when using backreferences!\n\t *\n\t * @param {string} pattern the given pattern.\n\t * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.\n\t * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.\n\t * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source\n\t */\n\tfunction replace(pattern, replacements) {\n\t\treturn pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n\t\t\treturn '(?:' + replacements[+index] + ')';\n\t\t});\n\t}\n\t/**\n\t * @param {string} pattern\n\t * @param {string[]} replacements\n\t * @param {string} [flags]\n\t * @returns {RegExp}\n\t */\n\tfunction re(pattern, replacements, flags) {\n\t\treturn RegExp(replace(pattern, replacements), flags || '');\n\t}\n\n\t/**\n\t * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n\t *\n\t * @param {string} pattern\n\t * @param {number} depthLog2\n\t * @returns {string}\n\t */\n\tfunction nested(pattern, depthLog2) {\n\t\tfor (var i = 0; i < depthLog2; i++) {\n\t\t\tpattern = pattern.replace(/<<self>>/g, function () { return '(?:' + pattern + ')'; });\n\t\t}\n\t\treturn pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]');\n\t}\n\n\t// https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/\n\tvar keywordKinds = {\n\t\t// keywords which represent a return or variable type\n\t\ttype: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',\n\t\t// keywords which are used to declare a type\n\t\ttypeDeclaration: 'class enum interface record struct',\n\t\t// contextual keywords\n\t\t// (\"var\" and \"dynamic\" are missing because they are used like types)\n\t\tcontextual: 'add alias and ascending async await by descending from(?=\\\\s*(?:\\\\w|$)) get global group into init(?=\\\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\\\s*{)',\n\t\t// all other keywords\n\t\tother: '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'\n\t};\n\n\t// keywords\n\tfunction keywordsToPattern(words) {\n\t\treturn '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b';\n\t}\n\tvar typeDeclarationKeywords = keywordsToPattern(keywordKinds.typeDeclaration);\n\tvar keywords = RegExp(keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other));\n\tvar nonTypeKeywords = keywordsToPattern(keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other);\n\tvar nonContextualKeywords = keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.other);\n\n\t// types\n\tvar generic = nested(/<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>/.source, 2); // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.\n\tvar nestedRound = nested(/\\((?:[^()]|<<self>>)*\\)/.source, 2);\n\tvar name = /@?\\b[A-Za-z_]\\w*\\b/.source;\n\tvar genericName = replace(/<<0>>(?:\\s*<<1>>)?/.source, [name, generic]);\n\tvar identifier = replace(/(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*/.source, [nonTypeKeywords, genericName]);\n\tvar array = /\\[\\s*(?:,\\s*)*\\]/.source;\n\tvar typeExpressionWithoutTuple = replace(/<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?/.source, [identifier, array]);\n\tvar tupleElement = replace(/[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source, [generic, nestedRound, array]);\n\tvar tuple = replace(/\\(<<0>>+(?:,<<0>>+)+\\)/.source, [tupleElement]);\n\tvar typeExpression = replace(/(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source, [tuple, identifier, array]);\n\n\tvar typeInside = {\n\t\t'keyword': keywords,\n\t\t'punctuation': /[<>()?,.:[\\]]/\n\t};\n\n\t// strings & characters\n\t// https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals\n\t// https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals\n\tvar character = /'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'/.source; // simplified pattern\n\tvar regularString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/.source;\n\tvar verbatimString = /@\"(?:\"\"|\\\\[\\s\\S]|[^\\\\\"])*\"(?!\")/.source;\n\n\n\tPrism.languages.csharp = Prism.languages.extend('clike', {\n\t\t'string': [\n\t\t\t{\n\t\t\t\tpattern: re(/(^|[^$\\\\])<<0>>/.source, [verbatimString]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: re(/(^|[^@$\\\\])<<0>>/.source, [regularString]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'class-name': [\n\t\t\t{\n\t\t\t\t// Using static\n\t\t\t\t// using static System.Math;\n\t\t\t\tpattern: re(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source, [identifier]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: typeInside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// Using alias (type)\n\t\t\t\t// using Project = PC.MyCompany.Project;\n\t\t\t\tpattern: re(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source, [name, typeExpression]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: typeInside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// Using alias (alias)\n\t\t\t\t// using Project = PC.MyCompany.Project;\n\t\t\t\tpattern: re(/(\\busing\\s+)<<0>>(?=\\s*=)/.source, [name]),\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// Type declarations\n\t\t\t\t// class Foo<A, B>\n\t\t\t\t// interface Foo<out A, B>\n\t\t\t\tpattern: re(/(\\b<<0>>\\s+)<<1>>/.source, [typeDeclarationKeywords, genericName]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: typeInside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// Single catch exception declaration\n\t\t\t\t// catch(Foo)\n\t\t\t\t// (things like catch(Foo e) is covered by variable declaration)\n\t\t\t\tpattern: re(/(\\bcatch\\s*\\(\\s*)<<0>>/.source, [identifier]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: typeInside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// Name of the type parameter of generic constraints\n\t\t\t\t// where Foo : class\n\t\t\t\tpattern: re(/(\\bwhere\\s+)<<0>>/.source, [name]),\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// Casts and checks via as and is.\n\t\t\t\t// as Foo<A>, is Bar<B>\n\t\t\t\t// (things like if(a is Foo b) is covered by variable declaration)\n\t\t\t\tpattern: re(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source, [typeExpressionWithoutTuple]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: typeInside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// Variable, field and parameter declaration\n\t\t\t\t// (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)\n\t\t\t\tpattern: re(/\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/.source, [typeExpression, nonContextualKeywords, name]),\n\t\t\t\tinside: typeInside\n\t\t\t}\n\t\t],\n\t\t'keyword': keywords,\n\t\t// https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals\n\t\t'number': /(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:[dflmu]|lu|ul)?\\b/i,\n\t\t'operator': />>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,\n\t\t'punctuation': /\\?\\.?|::|[{}[\\];(),.:]/\n\t});\n\n\tPrism.languages.insertBefore('csharp', 'number', {\n\t\t'range': {\n\t\t\tpattern: /\\.\\./,\n\t\t\talias: 'operator'\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('csharp', 'punctuation', {\n\t\t'named-parameter': {\n\t\t\tpattern: re(/([(,]\\s*)<<0>>(?=\\s*:)/.source, [name]),\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('csharp', 'class-name', {\n\t\t'namespace': {\n\t\t\t// namespace Foo.Bar {}\n\t\t\t// using Foo.Bar;\n\t\t\tpattern: re(/(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])/.source, [name]),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\./\n\t\t\t}\n\t\t},\n\t\t'type-expression': {\n\t\t\t// default(Foo), typeof(Foo<Bar>), sizeof(int)\n\t\t\tpattern: re(/(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))/.source, [nestedRound]),\n\t\t\tlookbehind: true,\n\t\t\talias: 'class-name',\n\t\t\tinside: typeInside\n\t\t},\n\t\t'return-type': {\n\t\t\t// Foo<Bar> ForBar(); Foo IFoo.Bar() => 0\n\t\t\t// int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];\n\t\t\t// int Foo => 0; int Foo { get; set } = 0;\n\t\t\tpattern: re(/<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source, [typeExpression, identifier]),\n\t\t\tinside: typeInside,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'constructor-invocation': {\n\t\t\t// new List<Foo<Bar[]>> { }\n\t\t\tpattern: re(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source, [typeExpression]),\n\t\t\tlookbehind: true,\n\t\t\tinside: typeInside,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t/*'explicit-implementation': {\n\t\t\t// int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();\n\t\t\tpattern: replace(/\\b<<0>>(?=\\.<<1>>)/, className, methodOrPropertyDeclaration),\n\t\t\tinside: classNameInside,\n\t\t\talias: 'class-name'\n\t\t},*/\n\t\t'generic-method': {\n\t\t\t// foo<Bar>()\n\t\t\tpattern: re(/<<0>>\\s*<<1>>(?=\\s*\\()/.source, [name, generic]),\n\t\t\tinside: {\n\t\t\t\t'function': re(/^<<0>>/.source, [name]),\n\t\t\t\t'generic': {\n\t\t\t\t\tpattern: RegExp(generic),\n\t\t\t\t\talias: 'class-name',\n\t\t\t\t\tinside: typeInside\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'type-list': {\n\t\t\t// The list of types inherited or of generic constraints\n\t\t\t// class Foo<F> : Bar, IList<FooBar>\n\t\t\t// where F : Bar, IList<int>\n\t\t\tpattern: re(\n\t\t\t\t/\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))/.source,\n\t\t\t\t[typeDeclarationKeywords, genericName, name, typeExpression, keywords.source, nestedRound, /\\bnew\\s*\\(\\s*\\)/.source]\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'record-arguments': {\n\t\t\t\t\tpattern: re(/(^(?!new\\s*\\()<<0>>\\s*)<<1>>/.source, [genericName, nestedRound]),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tgreedy: true,\n\t\t\t\t\tinside: Prism.languages.csharp\n\t\t\t\t},\n\t\t\t\t'keyword': keywords,\n\t\t\t\t'class-name': {\n\t\t\t\t\tpattern: RegExp(typeExpression),\n\t\t\t\t\tgreedy: true,\n\t\t\t\t\tinside: typeInside\n\t\t\t\t},\n\t\t\t\t'punctuation': /[,()]/\n\t\t\t}\n\t\t},\n\t\t'preprocessor': {\n\t\t\tpattern: /(^[\\t ]*)#.*/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'property',\n\t\t\tinside: {\n\t\t\t\t// highlight preprocessor directives as keywords\n\t\t\t\t'directive': {\n\t\t\t\t\tpattern: /(#)\\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\\b/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'keyword'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t// attributes\n\tvar regularStringOrCharacter = regularString + '|' + character;\n\tvar regularStringCharacterOrComment = replace(/\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source, [regularStringOrCharacter]);\n\tvar roundExpression = nested(replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [regularStringCharacterOrComment]), 2);\n\n\t// https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets\n\tvar attrTarget = /\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/.source;\n\tvar attr = replace(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source, [identifier, roundExpression]);\n\n\tPrism.languages.insertBefore('csharp', 'class-name', {\n\t\t'attribute': {\n\t\t\t// Attributes\n\t\t\t// [Foo], [Foo(1), Bar(2, Prop = \"foo\")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]\n\t\t\tpattern: re(/((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/.source, [attrTarget, attr]),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'target': {\n\t\t\t\t\tpattern: re(/^<<0>>(?=\\s*:)/.source, [attrTarget]),\n\t\t\t\t\talias: 'keyword'\n\t\t\t\t},\n\t\t\t\t'attribute-arguments': {\n\t\t\t\t\tpattern: re(/\\(<<0>>*\\)/.source, [roundExpression]),\n\t\t\t\t\tinside: Prism.languages.csharp\n\t\t\t\t},\n\t\t\t\t'class-name': {\n\t\t\t\t\tpattern: RegExp(identifier),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /\\./\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'punctuation': /[:,]/\n\t\t\t}\n\t\t}\n\t});\n\n\n\t// string interpolation\n\tvar formatString = /:[^}\\r\\n]+/.source;\n\t// multi line\n\tvar mInterpolationRound = nested(replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [regularStringCharacterOrComment]), 2);\n\tvar mInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [mInterpolationRound, formatString]);\n\t// single line\n\tvar sInterpolationRound = nested(replace(/[^\"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/.source, [regularStringOrCharacter]), 2);\n\tvar sInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [sInterpolationRound, formatString]);\n\n\tfunction createInterpolationInside(interpolation, interpolationRound) {\n\t\treturn {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: re(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source, [interpolation]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'format-string': {\n\t\t\t\t\t\tpattern: re(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source, [interpolationRound, formatString]),\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t'punctuation': /^:/\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /^\\{|\\}$/,\n\t\t\t\t\t'expression': {\n\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\talias: 'language-csharp',\n\t\t\t\t\t\tinside: Prism.languages.csharp\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t};\n\t}\n\n\tPrism.languages.insertBefore('csharp', 'string', {\n\t\t'interpolation-string': [\n\t\t\t{\n\t\t\t\tpattern: re(/(^|[^\\\\])(?:\\$@|@\\$)\"(?:\"\"|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{\"])*\"/.source, [mInterpolation]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: createInterpolationInside(mInterpolation, mInterpolationRound),\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: re(/(^|[^@\\\\])\\$\"(?:\\\\.|\\{\\{|<<0>>|[^\\\\\"{])*\"/.source, [sInterpolation]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: createInterpolationInside(sInterpolation, sInterpolationRound),\n\t\t\t}\n\t\t],\n\t\t'char': {\n\t\t\tpattern: RegExp(character),\n\t\t\tgreedy: true\n\t\t}\n\t});\n\n\tPrism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;\n\n}(Prism));\n","Prism.languages.aspnet = Prism.languages.extend('markup', {\n\t'page-directive': {\n\t\tpattern: /<%\\s*@.*%>/,\n\t\talias: 'tag',\n\t\tinside: {\n\t\t\t'page-directive': {\n\t\t\t\tpattern: /<%\\s*@\\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,\n\t\t\t\talias: 'tag'\n\t\t\t},\n\t\t\trest: Prism.languages.markup.tag.inside\n\t\t}\n\t},\n\t'directive': {\n\t\tpattern: /<%.*%>/,\n\t\talias: 'tag',\n\t\tinside: {\n\t\t\t'directive': {\n\t\t\t\tpattern: /<%\\s*?[$=%#:]{0,2}|%>/,\n\t\t\t\talias: 'tag'\n\t\t\t},\n\t\t\trest: Prism.languages.csharp\n\t\t}\n\t}\n});\n// Regexp copied from prism-markup, with a negative look-ahead added\nPrism.languages.aspnet.tag.pattern = /<(?!%)\\/?[^\\s>\\/]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/;\n\n// match directives of attribute value foo=\"<% Bar %>\"\nPrism.languages.insertBefore('inside', 'punctuation', {\n\t'directive': Prism.languages.aspnet['directive']\n}, Prism.languages.aspnet.tag.inside['attr-value']);\n\nPrism.languages.insertBefore('aspnet', 'comment', {\n\t'asp-comment': {\n\t\tpattern: /<%--[\\s\\S]*?--%>/,\n\t\talias: ['asp', 'comment']\n\t}\n});\n\n// script runat=\"server\" contains csharp, not javascript\nPrism.languages.insertBefore('aspnet', Prism.languages.javascript ? 'script' : 'tag', {\n\t'asp-script': {\n\t\tpattern: /(<script(?=.*runat=['\"]?server\\b)[^>]*>)[\\s\\S]*?(?=<\\/script>)/i,\n\t\tlookbehind: true,\n\t\talias: ['asp', 'script'],\n\t\tinside: Prism.languages.csharp || {}\n\t}\n});\n","Prism.languages.asm6502 = {\n\t'comment': /;.*/,\n\t'directive': {\n\t\tpattern: /\\.\\w+(?= )/,\n\t\talias: 'property'\n\t},\n\t'string': /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t'op-code': {\n\t\tpattern: /\\b(?:ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA|adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya)\\b/,\n\t\talias: 'keyword'\n\t},\n\t'hex-number': {\n\t\tpattern: /#?\\$[\\da-f]{1,4}\\b/i,\n\t\talias: 'number'\n\t},\n\t'binary-number': {\n\t\tpattern: /#?%[01]+\\b/,\n\t\talias: 'number'\n\t},\n\t'decimal-number': {\n\t\tpattern: /#?\\b\\d+\\b/,\n\t\talias: 'number'\n\t},\n\t'register': {\n\t\tpattern: /\\b[xya]\\b/i,\n\t\talias: 'variable'\n\t},\n\t'punctuation': /[(),:]/\n};\n","Prism.languages.asmatmel = {\n\t'comment': {\n\t\tpattern: /;.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\n\t'constant': /\\b(?:PORT[A-Z]|DDR[A-Z]|(?:DD|P)[A-Z](?:\\d|[0-2]\\d|3[01]))\\b/,\n\n\t'directive': {\n\t\tpattern: /\\.\\w+(?= )/,\n\t\talias: 'property'\n\t},\n\t'r-register': {\n\t\tpattern: /\\br(?:\\d|[12]\\d|3[01])\\b/,\n\t\talias: 'variable'\n\t},\n\t'op-code': {\n\t\tpattern: /\\b(?:ADC|ADD|ADIW|AND|ANDI|ASR|BCLR|BLD|BRBC|BRBS|BRCC|BRCS|BREAK|BREQ|BRGE|BRHC|BRHS|BRID|BRIE|BRLO|BRLT|BRMI|BRNE|BRPL|BRSH|BRTC|BRTS|BRVC|BRVS|BSET|BST|CALL|CBI|CBR|CLC|CLH|CLI|CLN|CLR|CLS|CLT|CLV|CLZ|COM|CP|CPC|CPI|CPSE|DEC|DES|EICALL|EIJMP|ELPM|EOR|FMUL|FMULS|FMULSU|ICALL|IJMP|IN|INC|JMP|LAC|LAS|LAT|LD|LD[A-Za-z0-9]|LPM|LSL|LSR|MOV|MOVW|MUL|MULS|MULSU|NEG|NOP|OR|ORI|OUT|POP|PUSH|RCALL|RET|RETI|RJMP|ROL|ROR|SBC|SBCI|SBI|SBIC|SBIS|SBIW|SBR|SBRC|SBRS|SEC|SEH|SEI|SEN|SER|SES|SET|SEV|SEZ|SLEEP|SPM|ST|ST[A-Z0-9]|SUB|SUBI|SWAP|TST|WDR|XCH|adc|add|adiw|and|andi|asr|bclr|bld|brbc|brbs|brcc|brcs|break|breq|brge|brhc|brhs|brid|brie|brlo|brlt|brmi|brne|brpl|brsh|brtc|brts|brvc|brvs|bset|bst|call|cbi|cbr|clc|clh|cli|cln|clr|cls|clt|clv|clz|com|cp|cpc|cpi|cpse|dec|des|eicall|eijmp|elpm|eor|fmul|fmuls|fmulsu|icall|ijmp|in|inc|jmp|lac|las|lat|ld|ld[a-z0-9]|lpm|lsl|lsr|mov|movw|mul|muls|mulsu|neg|nop|or|ori|out|pop|push|rcall|ret|reti|rjmp|rol|ror|sbc|sbci|sbi|sbic|sbis|sbiw|sbr|sbrc|sbrs|sec|seh|sei|sen|ser|ses|set|sev|sez|sleep|spm|st|st[a-zA-Z0-9]|sub|subi|swap|tst|wdr|xch)\\b/,\n\t\talias: 'keyword'\n\t},\n\t'hex-number': {\n\t\tpattern: /#?\\$[\\da-f]{2,4}\\b/i,\n\t\talias: 'number'\n\t},\n\t'binary-number': {\n\t\tpattern: /#?%[01]+\\b/,\n\t\talias: 'number'\n\t},\n\t'decimal-number': {\n\t\tpattern: /#?\\b\\d+\\b/,\n\t\talias: 'number'\n\t},\n\t'register': {\n\t\tpattern: /\\b[acznvshtixy]\\b/i,\n\t\talias: 'variable'\n\t},\n\t'operator': />>=?|<<=?|&[&=]?|\\|[\\|=]?|[-+*/%^!=<>?]=?/,\n\t'punctuation': /[(),:]/\n};\n","// NOTES - follows first-first highlight method, block is locked after highlight, different from SyntaxHl\nPrism.languages.autohotkey = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|\\s);.*/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^[\\t ]*)\\/\\*(?:[\\r\\n](?![ \\t]*\\*\\/)|[^\\r\\n])*(?:[\\r\\n][ \\t]*\\*\\/)?/m,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'tag': {\n\t\t// labels\n\t\tpattern: /^([ \\t]*)[^\\s,`\":]+(?=:[ \\t]*$)/m,\n\t\tlookbehind: true\n\t},\n\t'string': /\"(?:[^\"\\n\\r]|\"\")*\"/,\n\t'variable': /%\\w+%/,\n\t'number': /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n\t'operator': /\\?|\\/\\/?=?|:=|\\|[=|]?|&[=&]?|\\+[=+]?|-[=-]?|\\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\\b(?:AND|NOT|OR)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\n\t'command': {\n\t\tpattern: /\\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\\b/i,\n\t\talias: 'selector'\n\t},\n\n\t'constant': /\\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guicontrol|a_guicontrolevent|a_guievent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel|programfiles)\\b/i,\n\n\t'builtin': /\\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|isfunc|islabel|IsObject|ln|log|ltrim|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|numget|numput|onmessage|regexmatch|regexreplace|registercallback|round|rtrim|sb_seticon|sb_setparts|sb_settext|sin|sqrt|strlen|strreplace|strsplit|substr|tan|tv_add|tv_delete|tv_get|tv_getchild|tv_getcount|tv_getnext|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__Call|__Get|__New|__Set)\\b/i,\n\n\t'symbol': /\\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\\b/i,\n\n\t'directive': {\n\t\tpattern: /#[a-z]+\\b/i,\n\t\talias: 'important'\n\t},\n\n\t'keyword': /\\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Catch|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|Finally|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|Region|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Throw|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|Try|TryAgain|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\\b/i,\n\t'function': /[^(); \\t,\\n+*\\-=?>:\\\\\\/<&%\\[\\]]+(?=\\()/,\n\t'punctuation': /[{}[\\]():,]/\n};\n","Prism.languages.autoit = {\n\t'comment': [\n\t\t/;.*/,\n\t\t{\n\t\t\t// The multi-line comments delimiters can actually be commented out with \";\"\n\t\t\tpattern: /(^[\\t ]*)#(?:comments-start|cs)[\\s\\S]*?^[ \\t]*#(?:ce|comments-end)/m,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'url': {\n\t\tpattern: /(^[\\t ]*#include\\s+)(?:<[^\\r\\n>]+>|\"[^\\r\\n\"]+\")/m,\n\t\tlookbehind: true\n\t},\n\t'string': {\n\t\tpattern: /([\"'])(?:\\1\\1|(?!\\1)[^\\r\\n])*\\1/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'variable': /([%$@])\\w+\\1/\n\t\t}\n\t},\n\t'directive': {\n\t\tpattern: /(^[\\t ]*)#[\\w-]+/m,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t},\n\t'function': /\\b\\w+(?=\\()/,\n\t// Variables and macros\n\t'variable': /[$@]\\w+/,\n\t'keyword': /\\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\\b/i,\n\t'number': /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i,\n\t'boolean': /\\b(?:False|True)\\b/i,\n\t'operator': /<[=>]?|[-+*\\/=&>]=?|[?^]|\\b(?:And|Not|Or)\\b/i,\n\t'punctuation': /[\\[\\]().,:]/\n};\n","// http://avisynth.nl/index.php/The_full_AviSynth_grammar\n(function (Prism) {\n\n\tfunction replace(pattern, replacements) {\n\t\treturn pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n\t\t\treturn replacements[+index];\n\t\t});\n\t}\n\n\tfunction re(pattern, replacements, flags) {\n\t\treturn RegExp(replace(pattern, replacements), flags || '');\n\t}\n\n\tvar types = /bool|clip|float|int|string|val/.source;\n\tvar internals = [\n\t\t// bools\n\t\t/is(?:bool|clip|float|int|string)|defined|(?:(?:internal)?function|var)?exists?/.source,\n\t\t// control\n\t\t/apply|assert|default|eval|import|nop|select|undefined/.source,\n\t\t// global\n\t\t/opt_(?:allowfloataudio|avipadscanlines|dwchannelmask|enable_(?:b64a|planartopackedrgb|v210|y3_10_10|y3_10_16)|usewaveextensible|vdubplanarhack)|set(?:cachemode|maxcpu|memorymax|planarlegacyalignment|workingdir)/.source,\n\t\t// conv\n\t\t/hex(?:value)?|value/.source,\n\t\t// numeric\n\t\t/abs|ceil|continued(?:denominator|numerator)?|exp|floor|fmod|frac|log(?:10)?|max|min|muldiv|pi|pow|rand|round|sign|spline|sqrt/.source,\n\t\t// trig\n\t\t/a?sinh?|a?cosh?|a?tan[2h]?/.source,\n\t\t// bit\n\t\t/(?:bit(?:and|not|x?or|[lr]?shift[aslu]?|sh[lr]|sa[lr]|[lr]rotatel?|ro[rl]|te?st|set(?:count)?|cl(?:ea)?r|ch(?:an)?ge?))/.source,\n\t\t// runtime\n\t\t/average(?:[bgr]|chroma[uv]|luma)|(?:[rgb]|chroma[uv]|luma|rgb|[yuv](?=difference(?:fromprevious|tonext)))difference(?:fromprevious|tonext)?|[yuvrgb]plane(?:median|min|max|minmaxdifference)/.source,\n\t\t// script\n\t\t/getprocessinfo|logmsg|script(?:dir(?:utf8)?|file(?:utf8)?|name(?:utf8)?)|setlogparams/.source,\n\t\t// string\n\t\t/chr|(?:fill|find|left|mid|replace|rev|right)str|format|[lu]case|ord|str(?:cmpi?|fromutf8|len|toutf8)|time|trim(?:all|left|right)/.source,\n\t\t// version\n\t\t/isversionorgreater|version(?:number|string)/.source,\n\t\t// helper\n\t\t/buildpixeltype|colorspacenametopixeltype/.source,\n\t\t// avsplus\n\t\t/addautoloaddir|on(?:cpu|cuda)|prefetch|setfiltermtmode/.source\n\t].join('|');\n\tvar properties = [\n\t\t// content\n\t\t/has(?:audio|video)/.source,\n\t\t// resolution\n\t\t/height|width/.source,\n\t\t// framerate\n\t\t/frame(?:count|rate)|framerate(?:denominator|numerator)/.source,\n\t\t// interlacing\n\t\t/getparity|is(?:field|frame)based/.source,\n\t\t// color format\n\t\t/bitspercomponent|componentsize|hasalpha|is(?:planar(?:rgba?)?|interleaved|rgb(?:24|32|48|64)?|y(?:8|u(?:va?|y2))?|yv(?:12|16|24|411)|420|422|444|packedrgb)|numcomponents|pixeltype/.source,\n\t\t// audio\n\t\t/audio(?:bits|channels|duration|length(?:[fs]|hi|lo)?|rate)|isaudio(?:float|int)/.source\n\t].join('|');\n\tvar filters = [\n\t\t// source\n\t\t/avi(?:file)?source|directshowsource|image(?:reader|source|sourceanim)|opendmlsource|segmented(?:avisource|directshowsource)|wavsource/.source,\n\t\t// color\n\t\t/coloryuv|convertbacktoyuy2|convertto(?:RGB(?:24|32|48|64)|(?:planar)?RGBA?|Y8?|YV(?:12|16|24|411)|YUVA?(?:411|420|422|444)|YUY2)|fixluminance|gr[ae]yscale|invert|levels|limiter|mergea?rgb|merge(?:chroma|luma)|rgbadjust|show(?:alpha|blue|green|red)|swapuv|tweak|[uv]toy8?|ytouv/.source,\n\t\t// overlay\n\t\t/(?:colorkey|reset)mask|layer|mask(?:hs)?|merge|overlay|subtract/.source,\n\t\t// geometry\n\t\t/addborders|(?:bicubic|bilinear|blackman|gauss|lanczos4|lanczos|point|sinc|spline(?:16|36|64))resize|crop(?:bottom)?|flip(?:horizontal|vertical)|(?:horizontal|vertical)?reduceby2|letterbox|skewrows|turn(?:180|left|right)/.source,\n\t\t// pixel\n\t\t/blur|fixbrokenchromaupsampling|generalconvolution|(?:spatial|temporal)soften|sharpen/.source,\n\t\t// timeline\n\t\t/trim|(?:un)?alignedsplice|(?:assume|assumescaled|change|convert)FPS|(?:delete|duplicate)frame|dissolve|fade(?:in|io|out)[02]?|freezeframe|interleave|loop|reverse|select(?:even|odd|(?:range)?every)/.source,\n\t\t// interlace\n\t\t/assume[bt]ff|assume(?:field|frame)based|bob|complementparity|doubleweave|peculiarblend|pulldown|separate(?:columns|fields|rows)|swapfields|weave(?:columns|rows)?/.source,\n\t\t// audio\n\t\t/amplify(?:db)?|assumesamplerate|audiodub(?:ex)?|audiotrim|convertaudioto(?:(?:8|16|24|32)bit|float)|converttomono|delayaudio|ensurevbrmp3sync|get(?:left|right)?channel|kill(?:audio|video)|mergechannels|mixaudio|monotostereo|normalize|resampleaudio|ssrc|supereq|timestretch/.source,\n\t\t// conditional\n\t\t/animate|applyrange|conditional(?:filter|reader|select)|frameevaluate|scriptclip|tcp(?:server|source)|writefile(?:end|if|start)?/.source,\n\t\t// export\n\t\t/imagewriter/.source,\n\t\t// debug\n\t\t/blackness|blankclip|colorbars(?:hd)?|compare|dumpfiltergraph|echo|histogram|info|messageclip|preroll|setgraphanalysis|show(?:framenumber|smpte|time)|showfiveversions|stack(?:horizontal|vertical)|subtitle|tone|version/.source\n\t].join('|');\n\tvar allinternals = [internals, properties, filters].join('|');\n\n\tPrism.languages.avisynth = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\t// Matches [* *] nestable block comments, but only supports 1 level of nested comments\n\t\t\t\t// /\\[\\*(?:[^\\[*]|\\[(?!\\*)|\\*(?!\\])|<self>)*\\*\\]/\n\t\t\t\tpattern: /(^|[^\\\\])\\[\\*(?:[^\\[*]|\\[(?!\\*)|\\*(?!\\])|\\[\\*(?:[^\\[*]|\\[(?!\\*)|\\*(?!\\]))*\\*\\])*\\*\\]/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// Matches /* */ block comments\n\t\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// Matches # comments\n\t\t\t\tpattern: /(^|[^\\\\$])#.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\n\t\t// Handle before strings because optional arguments are surrounded by double quotes\n\t\t'argument': {\n\t\t\tpattern: re(/\\b(?:<<0>>)\\s+(\"?)\\w+\\1/.source, [types], 'i'),\n\t\t\tinside: {\n\t\t\t\t'keyword': /^\\w+/\n\t\t\t}\n\t\t},\n\n\t\t// Optional argument assignment\n\t\t'argument-label': {\n\t\t\tpattern: /([,(][\\s\\\\]*)\\w+\\s*=(?!=)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'argument-name': {\n\t\t\t\t\tpattern: /^\\w+/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'punctuation': /=$/\n\t\t\t}\n\t\t},\n\n\t\t'string': [\n\t\t\t{\n\t\t\t\t// triple double-quoted\n\t\t\t\tpattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n\t\t\t\tgreedy: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\t// single double-quoted\n\t\t\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'constant': {\n\t\t\t\t\t\t// These *are* case-sensitive!\n\t\t\t\t\t\tpattern: /\\b(?:DEFAULT_MT_MODE|(?:MAINSCRIPT|PROGRAM|SCRIPT)DIR|(?:MACHINE|USER)_(?:CLASSIC|PLUS)_PLUGINS)\\b/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\n\t\t// The special \"last\" variable that takes the value of the last implicitly returned clip\n\t\t'variable': /\\b(?:last)\\b/i,\n\n\t\t'boolean': /\\b(?:false|no|true|yes)\\b/i,\n\n\t\t'keyword': /\\b(?:catch|else|for|function|global|if|return|try|while|__END__)\\b/i,\n\n\t\t'constant': /\\bMT_(?:MULTI_INSTANCE|NICE_FILTER|SERIALIZED|SPECIAL_MT)\\b/,\n\n\t\t// AviSynth's internal functions, filters, and properties\n\t\t'builtin-function': {\n\t\t\tpattern: re(/\\b(?:<<0>>)\\b/.source, [allinternals], 'i'),\n\t\t\talias: 'function'\n\t\t},\n\n\t\t'type-cast': {\n\t\t\tpattern: re(/\\b(?:<<0>>)(?=\\s*\\()/.source, [types], 'i'),\n\t\t\talias: 'keyword'\n\t\t},\n\n\t\t// External/user-defined filters\n\t\t'function': {\n\t\t\tpattern: /\\b[a-z_]\\w*(?=\\s*\\()|(\\.)[a-z_]\\w*\\b/i,\n\t\t\tlookbehind: true\n\t\t},\n\n\t\t// Matches a \\ as the first or last character on a line\n\t\t'line-continuation': {\n\t\t\tpattern: /(^[ \\t]*)\\\\|\\\\(?=[ \\t]*$)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\n\t\t'number': /\\B\\$(?:[\\da-f]{6}|[\\da-f]{8})\\b|(?:(?:\\b|\\B-)\\d+(?:\\.\\d*)?\\b|\\B\\.\\d+\\b)/i,\n\n\t\t'operator': /\\+\\+?|[!=<>]=?|&&|\\|\\||[?:*/%-]/,\n\n\t\t'punctuation': /[{}\\[\\]();,.]/\n\t};\n\n\tPrism.languages.avs = Prism.languages.avisynth;\n\n}(Prism));\n","// GitHub: https://github.com/apache/avro\n// Docs: https://avro.apache.org/docs/current/idl.html\n\nPrism.languages['avro-idl'] = {\n\t'comment': {\n\t\tpattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(^|[^\\\\])\"(?:[^\\r\\n\"\\\\]|\\\\.)*\"/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\n\t'annotation': {\n\t\tpattern: /@(?:[$\\w.-]|`[^\\r\\n`]+`)+/,\n\t\tgreedy: true,\n\t\talias: 'function'\n\t},\n\t'function-identifier': {\n\t\tpattern: /`[^\\r\\n`]+`(?=\\s*\\()/,\n\t\tgreedy: true,\n\t\talias: 'function'\n\t},\n\t'identifier': {\n\t\tpattern: /`[^\\r\\n`]+`/,\n\t\tgreedy: true\n\t},\n\n\t'class-name': {\n\t\tpattern: /(\\b(?:enum|error|protocol|record|throws)\\b\\s+)[$\\w]+/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:array|boolean|bytes|date|decimal|double|enum|error|false|fixed|float|idl|import|int|local_timestamp_ms|long|map|null|oneway|protocol|record|schema|string|throws|time_ms|timestamp_ms|true|union|uuid|void)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\n\t'number': [\n\t\t{\n\t\t\tpattern: /(^|[^\\w.])-?(?:(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|0x(?:[a-f0-9]+(?:\\.[a-f0-9]*)?|\\.[a-f0-9]+)(?:p[+-]?\\d+)?)[dfl]?(?![\\w.])/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t/-?\\b(?:Infinity|NaN)\\b/\n\t],\n\n\t'operator': /=/,\n\t'punctuation': /[()\\[\\]{}<>.:,;-]/\n};\n\nPrism.languages.avdl = Prism.languages['avro-idl'];\n","Prism.languages.awk = {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'comment': {\n\t\tpattern: /#.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(^|[^\\\\])\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'regex': {\n\t\tpattern: /((?:^|[^\\w\\s)])\\s*)\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\//,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\n\t'variable': /\\$\\w+/,\n\t'keyword': /\\b(?:BEGIN|BEGINFILE|END|ENDFILE|break|case|continue|default|delete|do|else|exit|for|function|getline|if|in|next|nextfile|printf?|return|switch|while)\\b|@(?:include|load)\\b/,\n\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'number': /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[a-fA-F0-9]+)\\b/,\n\n\t'operator': /--|\\+\\+|!?~|>&|>>|<<|(?:\\*\\*|[<>!=+\\-*/%^])=?|&&|\\|[|&]|[?:]/,\n\t'punctuation': /[()[\\]{},;]/\n};\n\nPrism.languages.gawk = Prism.languages.awk;\n","Prism.languages.basic = {\n\t'comment': {\n\t\tpattern: /(?:!|REM\\b).+/i,\n\t\tinside: {\n\t\t\t'keyword': /^REM/i\n\t\t}\n\t},\n\t'string': {\n\t\tpattern: /\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^\\w +\\-.])*\"/,\n\t\tgreedy: true\n\t},\n\t'number': /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n\t'keyword': /\\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\\$|\\b)/i,\n\t'function': /\\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\\$|\\b)/i,\n\t'operator': /<[=>]?|>=?|[+\\-*\\/^=&]|\\b(?:AND|EQV|IMP|NOT|OR|XOR)\\b/i,\n\t'punctuation': /[,;:()]/\n};\n","(function (Prism) {\n\tvar variable = /%%?[~:\\w]+%?|!\\S+!/;\n\tvar parameter = {\n\t\tpattern: /\\/[a-z?]+(?=[ :]|$):?|-[a-z]\\b|--[a-z-]+\\b/im,\n\t\talias: 'attr-name',\n\t\tinside: {\n\t\t\t'punctuation': /:/\n\t\t}\n\t};\n\tvar string = /\"(?:[\\\\\"]\"|[^\"])*\"(?!\")/;\n\tvar number = /(?:\\b|-)\\d+\\b/;\n\n\tPrism.languages.batch = {\n\t\t'comment': [\n\t\t\t/^::.*/m,\n\t\t\t{\n\t\t\t\tpattern: /((?:^|[&(])[ \\t]*)rem\\b(?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'label': {\n\t\t\tpattern: /^:.*/m,\n\t\t\talias: 'property'\n\t\t},\n\t\t'command': [\n\t\t\t{\n\t\t\t\t// FOR command\n\t\t\t\tpattern: /((?:^|[&(])[ \\t]*)for(?: \\/[a-z?](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* \\S+ in \\([^)]+\\) do/im,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'keyword': /\\b(?:do|in)\\b|^for\\b/i,\n\t\t\t\t\t'string': string,\n\t\t\t\t\t'parameter': parameter,\n\t\t\t\t\t'variable': variable,\n\t\t\t\t\t'number': number,\n\t\t\t\t\t'punctuation': /[()',]/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// IF command\n\t\t\t\tpattern: /((?:^|[&(])[ \\t]*)if(?: \\/[a-z?](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* (?:not )?(?:cmdextversion \\d+|defined \\w+|errorlevel \\d+|exist \\S+|(?:\"[^\"]*\"|(?!\")(?:(?!==)\\S)+)?(?:==| (?:equ|geq|gtr|leq|lss|neq) )(?:\"[^\"]*\"|[^\\s\"]\\S*))/im,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'keyword': /\\b(?:cmdextversion|defined|errorlevel|exist|not)\\b|^if\\b/i,\n\t\t\t\t\t'string': string,\n\t\t\t\t\t'parameter': parameter,\n\t\t\t\t\t'variable': variable,\n\t\t\t\t\t'number': number,\n\t\t\t\t\t'operator': /\\^|==|\\b(?:equ|geq|gtr|leq|lss|neq)\\b/i\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// ELSE command\n\t\t\t\tpattern: /((?:^|[&()])[ \\t]*)else\\b/im,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'keyword': /^else\\b/i\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// SET command\n\t\t\t\tpattern: /((?:^|[&(])[ \\t]*)set(?: \\/[a-z](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* (?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'keyword': /^set\\b/i,\n\t\t\t\t\t'string': string,\n\t\t\t\t\t'parameter': parameter,\n\t\t\t\t\t'variable': [\n\t\t\t\t\t\tvariable,\n\t\t\t\t\t\t/\\w+(?=(?:[*\\/%+\\-&^|]|<<|>>)?=)/\n\t\t\t\t\t],\n\t\t\t\t\t'number': number,\n\t\t\t\t\t'operator': /[*\\/%+\\-&^|]=?|<<=?|>>=?|[!~_=]/,\n\t\t\t\t\t'punctuation': /[()',]/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// Other commands\n\t\t\t\tpattern: /((?:^|[&(])[ \\t]*@?)\\w+\\b(?:\"(?:[\\\\\"]\"|[^\"])*\"(?!\")|[^\"^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'keyword': /^\\w+\\b/,\n\t\t\t\t\t'string': string,\n\t\t\t\t\t'parameter': parameter,\n\t\t\t\t\t'label': {\n\t\t\t\t\t\tpattern: /(^\\s*):\\S+/m,\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\talias: 'property'\n\t\t\t\t\t},\n\t\t\t\t\t'variable': variable,\n\t\t\t\t\t'number': number,\n\t\t\t\t\t'operator': /\\^/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'operator': /[&@]/,\n\t\t'punctuation': /[()']/\n\t};\n}(Prism));\n","Prism.languages.bbcode = {\n\t'tag': {\n\t\tpattern: /\\[\\/?[^\\s=\\]]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+))?(?:\\s+[^\\s=\\]]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+))*\\s*\\]/,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^\\[\\/?[^\\s=\\]]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^\\[\\/?/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t/^=/,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\]/,\n\t\t\t'attr-name': /[^\\s=\\]]+/\n\t\t}\n\t}\n};\n\nPrism.languages.shortcode = Prism.languages.bbcode;\n","(function (Prism) {\n\tPrism.languages.bbj = {\n\t\t'comment': {\n\t\t\tpattern: /(^|[^\\\\:])rem\\s+.*/i,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /(['\"])(?:(?!\\1|\\\\).|\\\\.)*\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'number': /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n\t\t'keyword': /\\b(?:abstract|all|argc|begin|bye|callback|case|chn|class|classend|ctl|day|declare|delete|dim|dom|dread|dsz|else|end|endif|err|exitto|extends|fi|field|for|from|gosub|goto|if|implements|interface|interfaceend|iol|iolist|let|list|load|method|methodend|methodret|on|opts|pfx|print|private|process_events|protected|psz|public|read|read_resource|release|remove_callback|repeat|restore|return|rev|seterr|setesc|sqlchn|sqlunt|ssn|start|static|swend|switch|sys|then|tim|unt|until|use|void|wend|where|while)\\b/i,\n\t\t'function': /\\b\\w+(?=\\()/,\n\t\t'boolean': /\\b(?:BBjAPI\\.TRUE|BBjAPI\\.FALSE)\\b/i,\n\t\t'operator': /<[=>]?|>=?|[+\\-*\\/^=&]|\\b(?:and|not|or|xor)\\b/i,\n\t\t'punctuation': /[.,;:()]/\n\t};\n}(Prism));\n","// based loosely upon: https://github.com/Azure/bicep/blob/main/src/textmate/bicep.tmlanguage\nPrism.languages.bicep = {\n\t'comment': [\n\t\t{\n\t\t\t// multiline comments eg /* ASDF */\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\t// singleline comments eg // ASDF\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\n\t'property': [\n\t\t{\n\t\t\tpattern: /([\\r\\n][ \\t]*)[a-z_]\\w*(?=[ \\t]*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /([\\r\\n][ \\t]*)'(?:\\\\.|\\$(?!\\{)|[^'\\\\\\r\\n$])*'(?=[ \\t]*:)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': [\n\t\t{\n\t\t\tpattern: /'''[^'][\\s\\S]*?'''/,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\'])'(?:\\\\.|\\$(?!\\{)|[^'\\\\\\r\\n$])*'/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t}\n\t],\n\t'interpolated-string': {\n\t\tpattern: /(^|[^\\\\'])'(?:\\\\.|\\$(?:(?!\\{)|\\{[^{}\\r\\n]*\\})|[^'\\\\\\r\\n$])*'/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /\\$\\{[^{}\\r\\n]*\\}/,\n\t\t\t\tinside: {\n\t\t\t\t\t'expression': {\n\t\t\t\t\t\tpattern: /(^\\$\\{)[\\s\\S]+(?=\\}$)/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /^\\$\\{|\\}$/,\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\n\t'datatype': {\n\t\tpattern: /(\\b(?:output|param)\\b[ \\t]+\\w+[ \\t]+)\\w+\\b/,\n\t\tlookbehind: true,\n\t\talias: 'class-name'\n\t},\n\n\t'boolean': /\\b(?:false|true)\\b/,\n\t// https://github.com/Azure/bicep/blob/114a3251b4e6e30082a58729f19a8cc4e374ffa6/src/textmate/bicep.tmlanguage#L184\n\t'keyword': /\\b(?:existing|for|if|in|module|null|output|param|resource|targetScope|var)\\b/,\n\n\t'decorator': /@\\w+\\b/,\n\t'function': /\\b[a-z_]\\w*(?=[ \\t]*\\()/i,\n\n\t'number': /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/,\n\t'punctuation': /[{}[\\];(),.:]/,\n};\n\nPrism.languages.bicep['interpolated-string'].inside['interpolation'].inside['expression'].inside = Prism.languages.bicep;\n","Prism.languages.birb = Prism.languages.extend('clike', {\n\t'string': {\n\t\tpattern: /r?(\"|')(?:\\\\.|(?!\\1)[^\\\\])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': [\n\t\t/\\b[A-Z](?:[\\d_]*[a-zA-Z]\\w*)?\\b/,\n\n\t\t// matches variable and function return types (parameters as well).\n\t\t/\\b(?:[A-Z]\\w*|(?!(?:var|void)\\b)[a-z]\\w*)(?=\\s+\\w+\\s*[;,=()])/\n\t],\n\t'keyword': /\\b(?:assert|break|case|class|const|default|else|enum|final|follows|for|grab|if|nest|new|next|noSeeb|return|static|switch|throw|var|void|while)\\b/,\n\t'operator': /\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?|:/,\n\t'variable': /\\b[a-z_]\\w*\\b/,\n});\n\nPrism.languages.insertBefore('birb', 'function', {\n\t'metadata': {\n\t\tpattern: /<\\w+>/,\n\t\tgreedy: true,\n\t\talias: 'symbol'\n\t}\n});\n","Prism.languages.bison = Prism.languages.extend('c', {});\n\nPrism.languages.insertBefore('bison', 'comment', {\n\t'bison': {\n\t\t// This should match all the beginning of the file\n\t\t// including the prologue(s), the bison declarations and\n\t\t// the grammar rules.\n\t\tpattern: /^(?:[^%]|%(?!%))*%%[\\s\\S]*?%%/,\n\t\tinside: {\n\t\t\t'c': {\n\t\t\t\t// Allow for one level of nested braces\n\t\t\t\tpattern: /%\\{[\\s\\S]*?%\\}|\\{(?:\\{[^}]*\\}|[^{}])*\\}/,\n\t\t\t\tinside: {\n\t\t\t\t\t'delimiter': {\n\t\t\t\t\t\tpattern: /^%?\\{|%?\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\t'bison-variable': {\n\t\t\t\t\t\tpattern: /[$@](?:<[^\\s>]+>)?[\\w$]+/,\n\t\t\t\t\t\talias: 'variable',\n\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t'punctuation': /<|>/\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.c\n\t\t\t\t}\n\t\t\t},\n\t\t\t'comment': Prism.languages.c.comment,\n\t\t\t'string': Prism.languages.c.string,\n\t\t\t'property': /\\S+(?=:)/,\n\t\t\t'keyword': /%\\w+/,\n\t\t\t'number': {\n\t\t\t\tpattern: /(^|[^@])\\b(?:0x[\\da-f]+|\\d+)/i,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'punctuation': /%[%?]|[|:;\\[\\]<>]/\n\t\t}\n\t}\n});\n","Prism.languages.bnf = {\n\t'string': {\n\t\tpattern: /\"[^\\r\\n\"]*\"|'[^\\r\\n']*'/\n\t},\n\t'definition': {\n\t\tpattern: /<[^<>\\r\\n\\t]+>(?=\\s*::=)/,\n\t\talias: ['rule', 'keyword'],\n\t\tinside: {\n\t\t\t'punctuation': /^<|>$/\n\t\t}\n\t},\n\t'rule': {\n\t\tpattern: /<[^<>\\r\\n\\t]+>/,\n\t\tinside: {\n\t\t\t'punctuation': /^<|>$/\n\t\t}\n\t},\n\t'operator': /::=|[|()[\\]{}*+?]|\\.{3}/\n};\n\nPrism.languages.rbnf = Prism.languages.bnf;\n","Prism.languages.bqn = {\n\t'shebang': {\n\t\tpattern: /^#![ \\t]*\\/.*/,\n\t\talias: 'important',\n\t\tgreedy: true\n\t},\n\t'comment': {\n\t\tpattern: /#.*/,\n\t\tgreedy: true\n\t},\n\t'string-literal': {\n\t\tpattern: /\"(?:[^\"]|\"\")*\"/,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'character-literal': {\n\t\tpattern: /'(?:[\\s\\S]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF])'/,\n\t\tgreedy: true,\n\t\talias: 'char'\n\t},\n\t'function': /•[\\w¯.∞π]+[\\w¯.∞π]*/,\n\t'dot-notation-on-brackets': {\n\t\tpattern: /\\{(?=.*\\}\\.)|\\}\\./,\n\t\talias: 'namespace'\n\t},\n\t'special-name': {\n\t\tpattern: /(?:𝕨|𝕩|𝕗|𝕘|𝕤|𝕣|𝕎|𝕏|𝔽|𝔾|𝕊|_𝕣_|_𝕣)/,\n\t\talias: 'keyword'\n\t},\n\t'dot-notation-on-name': {\n\t\tpattern: /[A-Za-z_][\\w¯∞π]*\\./,\n\t\talias: 'namespace'\n\t},\n\t'word-number-scientific': {\n\t\tpattern: /\\d+(?:\\.\\d+)?[eE]¯?\\d+/,\n\t\talias: 'number'\n\t},\n\t'word-name': {\n\t\tpattern: /[A-Za-z_][\\w¯∞π]*/,\n\t\talias: 'symbol'\n\t},\n\t'word-number': {\n\t\tpattern: /[¯∞π]?(?:\\d*\\.?\\b\\d+(?:e[+¯]?\\d+|E[+¯]?\\d+)?|¯|∞|π)(?:j¯?(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+¯]?\\d+|E[+¯]?\\d+)?|¯|∞|π))?/,\n\t\talias: 'number'\n\t},\n\t'null-literal': {\n\t\tpattern: /@/,\n\t\talias: 'char'\n\t},\n\t'primitive-functions': {\n\t\tpattern: /[-+×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!]/,\n\t\talias: 'operator'\n\t},\n\t'primitive-1-operators': {\n\t\tpattern: /[`˜˘¨⁼⌜´˝˙]/,\n\t\talias: 'operator'\n\t},\n\t'primitive-2-operators': {\n\t\tpattern: /[∘⊸⟜○⌾⎉⚇⍟⊘◶⎊]/,\n\t\talias: 'operator'\n\t},\n\t'punctuation': /[←⇐↩(){}⟨⟩[\\]‿·⋄,.;:?]/\n};\n","Prism.languages.brainfuck = {\n\t'pointer': {\n\t\tpattern: /<|>/,\n\t\talias: 'keyword'\n\t},\n\t'increment': {\n\t\tpattern: /\\+/,\n\t\talias: 'inserted'\n\t},\n\t'decrement': {\n\t\tpattern: /-/,\n\t\talias: 'deleted'\n\t},\n\t'branching': {\n\t\tpattern: /\\[|\\]/,\n\t\talias: 'important'\n\t},\n\t'operator': /[.,]/,\n\t'comment': /\\S+/\n};\n","Prism.languages.brightscript = {\n\t'comment': /(?:\\brem|').*/i,\n\t'directive-statement': {\n\t\tpattern: /(^[\\t ]*)#(?:const|else(?:[\\t ]+if)?|end[\\t ]+if|error|if).*/im,\n\t\tlookbehind: true,\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'error-message': {\n\t\t\t\tpattern: /(^#error).+/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'directive': {\n\t\t\t\tpattern: /^#(?:const|else(?:[\\t ]+if)?|end[\\t ]+if|error|if)/,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t'expression': {\n\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\tinside: null // see below\n\t\t\t}\n\t\t}\n\t},\n\t'property': {\n\t\tpattern: /([\\r\\n{,][\\t ]*)(?:(?!\\d)\\w+|\"(?:[^\"\\r\\n]|\"\")*\"(?!\"))(?=[ \\t]*:)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\bAs[\\t ]+)\\w+/i,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step|Stop|Sub|Then|To|While)\\b/i,\n\t'boolean': /\\b(?:false|true)\\b/i,\n\t'function': /\\b(?!\\d)\\w+(?=[\\t ]*\\()/,\n\t'number': /(?:\\b\\d+(?:\\.\\d+)?(?:[ed][+-]\\d+)?|&h[a-f\\d]+)\\b[%&!#]?/i,\n\t'operator': /--|\\+\\+|>>=?|<<=?|<>|[-+*/\\\\<>]=?|[:^=?]|\\b(?:and|mod|not|or)\\b/i,\n\t'punctuation': /[.,;()[\\]{}]/,\n\t'constant': /\\b(?:LINE_NUM)\\b/i\n};\n\nPrism.languages.brightscript['directive-statement'].inside.expression.inside = Prism.languages.brightscript;\n","Prism.languages.bro = {\n\n\t'comment': {\n\t\tpattern: /(^|[^\\\\$])#.*/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'italic': /\\b(?:FIXME|TODO|XXX)\\b/\n\t\t}\n\t},\n\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\n\t'boolean': /\\b[TF]\\b/,\n\n\t'function': {\n\t\tpattern: /(\\b(?:event|function|hook)[ \\t]+)\\w+(?:::\\w+)?/,\n\t\tlookbehind: true\n\t},\n\n\t'builtin': /(?:@(?:load(?:-(?:plugin|sigs))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:add_func|create_expire|default|delete_func|encrypt|error_handler|expire_func|group|log|mergeable|optional|persistent|priority|raw_output|read_expire|redef|rotate_interval|rotate_size|synchronized|type_column|write_expire))/,\n\n\t'constant': {\n\t\tpattern: /(\\bconst[ \\t]+)\\w+/i,\n\t\tlookbehind: true\n\t},\n\n\t'keyword': /\\b(?:add|addr|alarm|any|bool|break|const|continue|count|delete|double|else|enum|event|export|file|for|function|global|hook|if|in|int|interval|local|module|next|of|opaque|pattern|port|print|record|return|schedule|set|string|subnet|table|time|timeout|using|vector|when)\\b/,\n\n\t'operator': /--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,\n\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\n\t'punctuation': /[{}[\\];(),.:]/\n};\n","// https://cfdocs.org/script\nPrism.languages.cfscript = Prism.languages.extend('clike', {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'annotation': {\n\t\t\t\t\tpattern: /(?:^|[^.])@[\\w\\.]+/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'keyword': /\\b(?:abstract|break|catch|component|continue|default|do|else|extends|final|finally|for|function|if|in|include|package|private|property|public|remote|required|rethrow|return|static|switch|throw|try|var|while|xml)\\b(?!\\s*=)/,\n\t'operator': [\n\t\t/\\+\\+|--|&&|\\|\\||::|=>|[!=]==|[-+*/%&|^!=<>]=?|\\?(?:\\.|:)?|:/,\n\t\t/\\b(?:and|contains|eq|equal|eqv|gt|gte|imp|is|lt|lte|mod|not|or|xor)\\b/\n\t],\n\t'scope': {\n\t\tpattern: /\\b(?:application|arguments|cgi|client|cookie|local|session|super|this|variables)\\b/,\n\t\talias: 'global'\n\t},\n\t'type': {\n\t\tpattern: /\\b(?:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|void|xml)\\b/,\n\t\talias: 'builtin'\n\t}\n});\n\nPrism.languages.insertBefore('cfscript', 'keyword', {\n\t// This must be declared before keyword because we use \"function\" inside the lookahead\n\t'function-variable': {\n\t\tpattern: /[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t}\n});\n\ndelete Prism.languages.cfscript['class-name'];\nPrism.languages.cfc = Prism.languages['cfscript'];\n","Prism.languages.chaiscript = Prism.languages.extend('clike', {\n\t'string': {\n\t\tpattern: /(^|[^\\\\])'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'class-name': [\n\t\t{\n\t\t\t// e.g. class Rectangle { ... }\n\t\t\tpattern: /(\\bclass\\s+)\\w+/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\t// e.g. attr Rectangle::height, def Rectangle::area() { ... }\n\t\t\tpattern: /(\\b(?:attr|def)\\s+)\\w+(?=\\s*::)/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': /\\b(?:attr|auto|break|case|catch|class|continue|def|default|else|finally|for|fun|global|if|return|switch|this|try|var|while)\\b/,\n\t'number': [\n\t\tPrism.languages.cpp.number,\n\t\t/\\b(?:Infinity|NaN)\\b/\n\t],\n\t'operator': />>=?|<<=?|\\|\\||&&|:[:=]?|--|\\+\\+|[=!<>+\\-*/%|&^]=?|[?~]|`[^`\\r\\n]{1,4}`/,\n});\n\nPrism.languages.insertBefore('chaiscript', 'operator', {\n\t'parameter-type': {\n\t\t// e.g. def foo(int x, Vector y) {...}\n\t\tpattern: /([,(]\\s*)\\w+(?=\\s+\\w)/,\n\t\tlookbehind: true,\n\t\talias: 'class-name'\n\t},\n});\n\nPrism.languages.insertBefore('chaiscript', 'string', {\n\t'string-interpolation': {\n\t\tpattern: /(^|[^\\\\])\"(?:[^\"$\\\\]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\"/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-expression': {\n\t\t\t\t\t\tpattern: /(^\\$\\{)[\\s\\S]+(?=\\}$)/,\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\tinside: Prism.languages.chaiscript\n\t\t\t\t\t},\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n});\n","Prism.languages.cil = {\n\t'comment': /\\/\\/.*/,\n\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\n\t'directive': {\n\t\tpattern: /(^|\\W)\\.[a-z]+(?=\\s)/,\n\t\tlookbehind: true,\n\t\talias: 'class-name'\n\t},\n\n\t// Actually an assembly reference\n\t'variable': /\\[[\\w\\.]+\\]/,\n\n\n\t'keyword': /\\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|u?int(?:8|16|32|64)?|iant|idispatch|implements|import|initonly|instance|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\\b/,\n\n\t'function': /\\b(?:(?:constrained|no|readonly|tail|unaligned|volatile)\\.)?(?:conv\\.(?:[iu][1248]?|ovf\\.[iu][1248]?(?:\\.un)?|r\\.un|r4|r8)|ldc\\.(?:i4(?:\\.\\d+|\\.[mM]1|\\.s)?|i8|r4|r8)|ldelem(?:\\.[iu][1248]?|\\.r[48]|\\.ref|a)?|ldind\\.(?:[iu][1248]?|r[48]|ref)|stelem\\.?(?:i[1248]?|r[48]|ref)?|stind\\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\\.[0-3s]|a(?:\\.s)?)?|ldloc(?:\\.\\d+|\\.s)?|sub(?:\\.ovf(?:\\.un)?)?|mul(?:\\.ovf(?:\\.un)?)?|add(?:\\.ovf(?:\\.un)?)?|stloc(?:\\.[0-3s])?|refany(?:type|val)|blt(?:\\.un)?(?:\\.s)?|ble(?:\\.un)?(?:\\.s)?|bgt(?:\\.un)?(?:\\.s)?|bge(?:\\.un)?(?:\\.s)?|unbox(?:\\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\\.s)?|bne\\.un(?:\\.s)?|ldloca(?:\\.s)?|brzero(?:\\.s)?|brtrue(?:\\.s)?|brnull(?:\\.s)?|brinst(?:\\.s)?|starg(?:\\.s)?|leave(?:\\.s)?|shr(?:\\.un)?|rem(?:\\.un)?|div(?:\\.un)?|clt(?:\\.un)?|alignment|castclass|ldvirtftn|beq(?:\\.s)?|ckfinite|ldsflda|ldtoken|localloc|mkrefany|rethrow|cgt\\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\\b/,\n\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'number': /\\b-?(?:0x[0-9a-f]+|\\d+)(?:\\.[0-9a-f]+)?\\b/i,\n\n\t'punctuation': /[{}[\\];(),:=]|IL_[0-9A-Za-z]+/\n};\n","Prism.languages.cilkc = Prism.languages.insertBefore('c', 'function', {\n\t'parallel-keyword': {\n\t\tpattern: /\\bcilk_(?:for|reducer|s(?:cope|pawn|ync))\\b/,\n\t\talias: 'keyword'\n\t}\n});\n\nPrism.languages['cilk-c'] = Prism.languages['cilkc'];\n","Prism.languages.cilkcpp = Prism.languages.insertBefore('cpp', 'function', {\n\t'parallel-keyword': {\n\t\tpattern: /\\bcilk_(?:for|reducer|s(?:cope|pawn|ync))\\b/,\n\t\talias: 'keyword'\n\t}\n});\n\nPrism.languages['cilk-cpp'] = Prism.languages['cilkcpp'];\nPrism.languages['cilk'] = Prism.languages['cilkcpp'];\n","// Copied from https://github.com/jeluard/prism-clojure\nPrism.languages.clojure = {\n\t'comment': {\n\t\tpattern: /;.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n\t\tgreedy: true\n\t},\n\t'char': /\\\\\\w+/,\n\t'symbol': {\n\t\tpattern: /(^|[\\s()\\[\\]{},])::?[\\w*+!?'<>=/.-]+/,\n\t\tlookbehind: true\n\t},\n\t'keyword': {\n\t\tpattern: /(\\()(?:-|->|->>|\\.|\\.\\.|\\*|\\/|\\+|<|<=|=|==|>|>=|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|cond|conj|cons|constantly|construct-proxy|contains\\?|count|create-ns|create-struct|cycle|dec|declare|def|def-|definline|definterface|defmacro|defmethod|defmulti|defn|defn-|defonce|defproject|defprotocol|defrecord|defstruct|deftype|deref|difference|disj|dissoc|distinct|do|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\\?|ensure|eval|every\\?|false\\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|fn|fnseq|for|frest|gensym|get|get-proxy-class|hash-map|hash-set|identical\\?|identity|if|if-let|if-not|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\\?|last|lazy-cat|lazy-cons|left|lefts|let|line-seq|list|list\\*|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|monitor-enter|name|namespace|neg\\?|new|newline|next|nil\\?|node|not|not-any\\?|not-every\\?|not=|ns|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|quote|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|recur|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\\?|set|set!|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\\?|split-at|split-with|str|string\\?|struct|struct-map|subs|subvec|symbol|symbol\\?|sync|take|take-nth|take-while|test|throw|time|to-array|to-array-2d|tree-seq|true\\?|try|union|up|update-proxy|val|vals|var|var-get|var-set|var\\?|vector|vector-zip|vector\\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\\?|zipmap|zipper)(?=[\\s)]|$)/,\n\t\tlookbehind: true\n\t},\n\t'boolean': /\\b(?:false|nil|true)\\b/,\n\t'number': {\n\t\tpattern: /(^|[^\\w$@])(?:\\d+(?:[/.]\\d+)?(?:e[+-]?\\d+)?|0x[a-f0-9]+|[1-9]\\d?r[a-z0-9]+)[lmn]?(?![\\w$@])/i,\n\t\tlookbehind: true\n\t},\n\t'function': {\n\t\tpattern: /((?:^|[^'])\\()[\\w*+!?'<>=/.-]+(?=[\\s)]|$)/,\n\t\tlookbehind: true\n\t},\n\t'operator': /[#@^`~]/,\n\t'punctuation': /[{}\\[\\](),]/\n};\n","Prism.languages.cmake = {\n\t'comment': /#.*/,\n\t'string': {\n\t\tpattern: /\"(?:[^\\\\\"]|\\\\.)*\"/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /\\$\\{(?:[^{}$]|\\$\\{[^{}$]*\\})*\\}/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\$\\{|\\}/,\n\t\t\t\t\t'variable': /\\w+/\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t'variable': /\\b(?:CMAKE_\\w+|\\w+_(?:(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT|VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?)|(?:ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_NAME|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE))\\b/,\n\t'property': /\\b(?:cxx_\\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\\w+|\\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\\b/,\n\t'keyword': /\\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\\s*\\()\\b/,\n\t'boolean': /\\b(?:FALSE|OFF|ON|TRUE)\\b/,\n\t'namespace': /\\b(?:INTERFACE|PRIVATE|PROPERTIES|PUBLIC|SHARED|STATIC|TARGET_OBJECTS)\\b/,\n\t'operator': /\\b(?:AND|DEFINED|EQUAL|GREATER|LESS|MATCHES|NOT|OR|STREQUAL|STRGREATER|STRLESS|VERSION_EQUAL|VERSION_GREATER|VERSION_LESS)\\b/,\n\t'inserted': {\n\t\tpattern: /\\b\\w+::\\w+\\b/,\n\t\talias: 'class-name'\n\t},\n\t'number': /\\b\\d+(?:\\.\\d+)*\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()\\b/i,\n\t'punctuation': /[()>}]|\\$[<{]/\n};\n","Prism.languages.cobol = {\n\t'comment': {\n\t\tpattern: /\\*>.*|(^[ \\t]*)\\*.*/m,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /[xzgn]?(?:\"(?:[^\\r\\n\"]|\"\")*\"(?!\")|'(?:[^\\r\\n']|'')*'(?!'))/i,\n\t\tgreedy: true\n\t},\n\n\t'level': {\n\t\tpattern: /(^[ \\t]*)\\d+\\b/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'number'\n\t},\n\n\t'class-name': {\n\t\t// https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015\n\t\tpattern: /(\\bpic(?:ture)?\\s+)(?:(?:[-\\w$/,:*+<>]|\\.(?!\\s|$))(?:\\(\\d+\\))?)+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'number': {\n\t\t\t\tpattern: /(\\()\\d+/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'punctuation': /[()]/\n\t\t}\n\t},\n\n\t'keyword': {\n\t\tpattern: /(^|[^\\w-])(?:ABORT|ACCEPT|ACCESS|ADD|ADDRESS|ADVANCING|AFTER|ALIGNED|ALL|ALPHABET|ALPHABETIC|ALPHABETIC-LOWER|ALPHABETIC-UPPER|ALPHANUMERIC|ALPHANUMERIC-EDITED|ALSO|ALTER|ALTERNATE|ANY|ARE|AREA|AREAS|AS|ASCENDING|ASCII|ASSIGN|ASSOCIATED-DATA|ASSOCIATED-DATA-LENGTH|AT|ATTRIBUTE|AUTHOR|AUTO|AUTO-SKIP|BACKGROUND-COLOR|BACKGROUND-COLOUR|BASIS|BEEP|BEFORE|BEGINNING|BELL|BINARY|BIT|BLANK|BLINK|BLOCK|BOTTOM|BOUNDS|BY|BYFUNCTION|BYTITLE|CALL|CANCEL|CAPABLE|CCSVERSION|CD|CF|CH|CHAINING|CHANGED|CHANNEL|CHARACTER|CHARACTERS|CLASS|CLASS-ID|CLOCK-UNITS|CLOSE|CLOSE-DISPOSITION|COBOL|CODE|CODE-SET|COL|COLLATING|COLUMN|COM-REG|COMMA|COMMITMENT|COMMON|COMMUNICATION|COMP|COMP-1|COMP-2|COMP-3|COMP-4|COMP-5|COMPUTATIONAL|COMPUTATIONAL-1|COMPUTATIONAL-2|COMPUTATIONAL-3|COMPUTATIONAL-4|COMPUTATIONAL-5|COMPUTE|CONFIGURATION|CONTAINS|CONTENT|CONTINUE|CONTROL|CONTROL-POINT|CONTROLS|CONVENTION|CONVERTING|COPY|CORR|CORRESPONDING|COUNT|CRUNCH|CURRENCY|CURSOR|DATA|DATA-BASE|DATE|DATE-COMPILED|DATE-WRITTEN|DAY|DAY-OF-WEEK|DBCS|DE|DEBUG-CONTENTS|DEBUG-ITEM|DEBUG-LINE|DEBUG-NAME|DEBUG-SUB-1|DEBUG-SUB-2|DEBUG-SUB-3|DEBUGGING|DECIMAL-POINT|DECLARATIVES|DEFAULT|DEFAULT-DISPLAY|DEFINITION|DELETE|DELIMITED|DELIMITER|DEPENDING|DESCENDING|DESTINATION|DETAIL|DFHRESP|DFHVALUE|DISABLE|DISK|DISPLAY|DISPLAY-1|DIVIDE|DIVISION|DONTCARE|DOUBLE|DOWN|DUPLICATES|DYNAMIC|EBCDIC|EGCS|EGI|ELSE|EMI|EMPTY-CHECK|ENABLE|END|END-ACCEPT|END-ADD|END-CALL|END-COMPUTE|END-DELETE|END-DIVIDE|END-EVALUATE|END-IF|END-MULTIPLY|END-OF-PAGE|END-PERFORM|END-READ|END-RECEIVE|END-RETURN|END-REWRITE|END-SEARCH|END-START|END-STRING|END-SUBTRACT|END-UNSTRING|END-WRITE|ENDING|ENTER|ENTRY|ENTRY-PROCEDURE|ENVIRONMENT|EOL|EOP|EOS|ERASE|ERROR|ESCAPE|ESI|EVALUATE|EVENT|EVERY|EXCEPTION|EXCLUSIVE|EXHIBIT|EXIT|EXPORT|EXTEND|EXTENDED|EXTERNAL|FD|FILE|FILE-CONTROL|FILLER|FINAL|FIRST|FOOTING|FOR|FOREGROUND-COLOR|FOREGROUND-COLOUR|FROM|FULL|FUNCTION|FUNCTION-POINTER|FUNCTIONNAME|GENERATE|GIVING|GLOBAL|GO|GOBACK|GRID|GROUP|HEADING|HIGH-VALUE|HIGH-VALUES|HIGHLIGHT|I-O|I-O-CONTROL|ID|IDENTIFICATION|IF|IMPLICIT|IMPORT|IN|INDEX|INDEXED|INDICATE|INITIAL|INITIALIZE|INITIATE|INPUT|INPUT-OUTPUT|INSPECT|INSTALLATION|INTEGER|INTO|INVALID|INVOKE|IS|JUST|JUSTIFIED|KANJI|KEPT|KEY|KEYBOARD|LABEL|LANGUAGE|LAST|LB|LD|LEADING|LEFT|LEFTLINE|LENGTH|LENGTH-CHECK|LIBACCESS|LIBPARAMETER|LIBRARY|LIMIT|LIMITS|LINAGE|LINAGE-COUNTER|LINE|LINE-COUNTER|LINES|LINKAGE|LIST|LOCAL|LOCAL-STORAGE|LOCK|LONG-DATE|LONG-TIME|LOW-VALUE|LOW-VALUES|LOWER|LOWLIGHT|MEMORY|MERGE|MESSAGE|MMDDYYYY|MODE|MODULES|MORE-LABELS|MOVE|MULTIPLE|MULTIPLY|NAMED|NATIONAL|NATIONAL-EDITED|NATIVE|NEGATIVE|NETWORK|NEXT|NO|NO-ECHO|NULL|NULLS|NUMBER|NUMERIC|NUMERIC-DATE|NUMERIC-EDITED|NUMERIC-TIME|OBJECT-COMPUTER|OCCURS|ODT|OF|OFF|OMITTED|ON|OPEN|OPTIONAL|ORDER|ORDERLY|ORGANIZATION|OTHER|OUTPUT|OVERFLOW|OVERLINE|OWN|PACKED-DECIMAL|PADDING|PAGE|PAGE-COUNTER|PASSWORD|PERFORM|PF|PH|PIC|PICTURE|PLUS|POINTER|PORT|POSITION|POSITIVE|PRINTER|PRINTING|PRIVATE|PROCEDURE|PROCEDURE-POINTER|PROCEDURES|PROCEED|PROCESS|PROGRAM|PROGRAM-ID|PROGRAM-LIBRARY|PROMPT|PURGE|QUEUE|QUOTE|QUOTES|RANDOM|RD|READ|READER|REAL|RECEIVE|RECEIVED|RECORD|RECORDING|RECORDS|RECURSIVE|REDEFINES|REEL|REF|REFERENCE|REFERENCES|RELATIVE|RELEASE|REMAINDER|REMARKS|REMOTE|REMOVAL|REMOVE|RENAMES|REPLACE|REPLACING|REPORT|REPORTING|REPORTS|REQUIRED|RERUN|RESERVE|RESET|RETURN|RETURN-CODE|RETURNING|REVERSE-VIDEO|REVERSED|REWIND|REWRITE|RF|RH|RIGHT|ROUNDED|RUN|SAME|SAVE|SCREEN|SD|SEARCH|SECTION|SECURE|SECURITY|SEGMENT|SEGMENT-LIMIT|SELECT|SEND|SENTENCE|SEPARATE|SEQUENCE|SEQUENTIAL|SET|SHARED|SHAREDBYALL|SHAREDBYRUNUNIT|SHARING|SHIFT-IN|SHIFT-OUT|SHORT-DATE|SIGN|SIZE|SORT|SORT-CONTROL|SORT-CORE-SIZE|SORT-FILE-SIZE|SORT-MERGE|SORT-MESSAGE|SORT-MODE-SIZE|SORT-RETURN|SOURCE|SOURCE-COMPUTER|SPACE|SPACES|SPECIAL-NAMES|STANDARD|STANDARD-1|STANDARD-2|START|STATUS|STOP|STRING|SUB-QUEUE-1|SUB-QUEUE-2|SUB-QUEUE-3|SUBTRACT|SUM|SUPPRESS|SYMBOL|SYMBOLIC|SYNC|SYNCHRONIZED|TABLE|TALLY|TALLYING|TAPE|TASK|TERMINAL|TERMINATE|TEST|TEXT|THEN|THREAD|THREAD-LOCAL|THROUGH|THRU|TIME|TIMER|TIMES|TITLE|TO|TODAYS-DATE|TODAYS-NAME|TOP|TRAILING|TRUNCATED|TYPE|TYPEDEF|UNDERLINE|UNIT|UNSTRING|UNTIL|UP|UPON|USAGE|USE|USING|VALUE|VALUES|VARYING|VIRTUAL|WAIT|WHEN|WHEN-COMPILED|WITH|WORDS|WORKING-STORAGE|WRITE|YEAR|YYYYDDD|YYYYMMDD|ZERO-FILL|ZEROES|ZEROS)(?![\\w-])/i,\n\t\tlookbehind: true\n\t},\n\n\t'boolean': {\n\t\tpattern: /(^|[^\\w-])(?:false|true)(?![\\w-])/i,\n\t\tlookbehind: true\n\t},\n\t'number': {\n\t\tpattern: /(^|[^\\w-])(?:[+-]?(?:(?:\\d+(?:[.,]\\d+)?|[.,]\\d+)(?:e[+-]?\\d+)?|zero))(?![\\w-])/i,\n\t\tlookbehind: true\n\t},\n\t'operator': [\n\t\t/<>|[<>]=?|[=+*/&]/,\n\t\t{\n\t\t\tpattern: /(^|[^\\w-])(?:-|and|equal|greater|less|not|or|than)(?![\\w-])/i,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'punctuation': /[.:,()]/\n};\n","(function (Prism) {\n\n\t// Ignore comments starting with { to privilege string interpolation highlighting\n\tvar comment = /#(?!\\{).+/;\n\tvar interpolation = {\n\t\tpattern: /#\\{[^}]+\\}/,\n\t\talias: 'variable'\n\t};\n\n\tPrism.languages.coffeescript = Prism.languages.extend('javascript', {\n\t\t'comment': comment,\n\t\t'string': [\n\n\t\t\t// Strings are multiline\n\t\t\t{\n\t\t\t\tpattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\n\t\t\t{\n\t\t\t\t// Strings are multiline\n\t\t\t\tpattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation': interpolation\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'keyword': /\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/,\n\t\t'class-member': {\n\t\t\tpattern: /@(?!\\d)\\w+/,\n\t\t\talias: 'variable'\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('coffeescript', 'comment', {\n\t\t'multiline-comment': {\n\t\t\tpattern: /###[\\s\\S]+?###/,\n\t\t\talias: 'comment'\n\t\t},\n\n\t\t// Block regexp can contain comments and interpolation\n\t\t'block-regex': {\n\t\t\tpattern: /\\/{3}[\\s\\S]*?\\/{3}/,\n\t\t\talias: 'regex',\n\t\t\tinside: {\n\t\t\t\t'comment': comment,\n\t\t\t\t'interpolation': interpolation\n\t\t\t}\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('coffeescript', 'string', {\n\t\t'inline-javascript': {\n\t\t\tpattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n\t\t\tinside: {\n\t\t\t\t'delimiter': {\n\t\t\t\t\tpattern: /^`|`$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'script': {\n\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\talias: 'language-javascript',\n\t\t\t\t\tinside: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Block strings\n\t\t'multiline-string': [\n\t\t\t{\n\t\t\t\tpattern: /'''[\\s\\S]*?'''/,\n\t\t\t\tgreedy: true,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n\t\t\t\tgreedy: true,\n\t\t\t\talias: 'string',\n\t\t\t\tinside: {\n\t\t\t\t\tinterpolation: interpolation\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\n\t});\n\n\tPrism.languages.insertBefore('coffeescript', 'keyword', {\n\t\t// Object property\n\t\t'property': /(?!\\d)\\w+(?=\\s*:(?!:))/\n\t});\n\n\tdelete Prism.languages.coffeescript['template-string'];\n\n\tPrism.languages.coffee = Prism.languages.coffeescript;\n}(Prism));\n","Prism.languages.concurnas = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\/\\/.*)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'langext': {\n\t\tpattern: /\\b\\w+\\s*\\|\\|[\\s\\S]+?\\|\\|/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'class-name': /^\\w+/,\n\t\t\t'string': {\n\t\t\t\tpattern: /(^\\s*\\|\\|)[\\s\\S]+(?=\\|\\|$)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'punctuation': /\\|\\|/\n\t\t}\n\t},\n\t'function': {\n\t\tpattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'number': /\\b0b[01][01_]*L?\\b|\\b0x(?:[\\da-f_]*\\.)?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfls]?/i,\n\t'punctuation': /[{}[\\];(),.:]/,\n\t'operator': /<==|>==|=>|->|<-|<>|&==|&<>|\\?:?|\\.\\?|\\+\\+|--|[-+*/=<>]=?|[!^~]|\\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\\b=?/,\n\t'annotation': {\n\t\tpattern: /@(?:\\w+:)?(?:\\w+|\\[[^\\]]+\\])?/,\n\t\talias: 'builtin'\n\t}\n};\n\nPrism.languages.insertBefore('concurnas', 'langext', {\n\t'regex-literal': {\n\t\tpattern: /\\br(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: Prism.languages.concurnas\n\t\t\t},\n\t\t\t'regex': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-literal': {\n\t\tpattern: /(?:\\B|\\bs)(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: Prism.languages.concurnas\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t}\n});\n\nPrism.languages.conc = Prism.languages.concurnas;\n","/**\n * Original by Scott Helme.\n *\n * Reference: https://scotthelme.co.uk/csp-cheat-sheet/\n *\n * Supports the following:\n * - https://www.w3.org/TR/CSP1/\n * - https://www.w3.org/TR/CSP2/\n * - https://www.w3.org/TR/CSP3/\n */\n\n(function (Prism) {\n\n\t/**\n\t * @param {string} source\n\t * @returns {RegExp}\n\t */\n\tfunction value(source) {\n\t\treturn RegExp(/([ \\t])/.source + '(?:' + source + ')' + /(?=[\\s;]|$)/.source, 'i');\n\t}\n\n\tPrism.languages.csp = {\n\t\t'directive': {\n\t\t\tpattern: /(^|[\\s;])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[\\s;]|$)/i,\n\t\t\tlookbehind: true,\n\t\t\talias: 'property'\n\t\t},\n\t\t'scheme': {\n\t\t\tpattern: value(/[a-z][a-z0-9.+-]*:/.source),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'none': {\n\t\t\tpattern: value(/'none'/.source),\n\t\t\tlookbehind: true,\n\t\t\talias: 'keyword'\n\t\t},\n\t\t'nonce': {\n\t\t\tpattern: value(/'nonce-[-+/\\w=]+'/.source),\n\t\t\tlookbehind: true,\n\t\t\talias: 'number'\n\t\t},\n\t\t'hash': {\n\t\t\tpattern: value(/'sha(?:256|384|512)-[-+/\\w=]+'/.source),\n\t\t\tlookbehind: true,\n\t\t\talias: 'number'\n\t\t},\n\t\t'host': {\n\t\t\tpattern: value(\n\t\t\t\t/[a-z][a-z0-9.+-]*:\\/\\/[^\\s;,']*/.source +\n\t\t\t\t'|' +\n\t\t\t\t/\\*[^\\s;,']*/.source +\n\t\t\t\t'|' +\n\t\t\t\t/[a-z0-9-]+(?:\\.[a-z0-9-]+)+(?::[\\d*]+)?(?:\\/[^\\s;,']*)?/.source\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\talias: 'url',\n\t\t\tinside: {\n\t\t\t\t'important': /\\*/\n\t\t\t}\n\t\t},\n\t\t'keyword': [\n\t\t\t{\n\t\t\t\tpattern: value(/'unsafe-[a-z-]+'/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'unsafe'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: value(/'[a-z-]+'/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'safe'\n\t\t\t},\n\t\t],\n\t\t'punctuation': /;/\n\t};\n\n}(Prism));\n","(function (Prism) {\n\n\t// see https://github.com/cooklang/spec/blob/main/EBNF.md\n\n\tvar single_token_suffix = /(?:(?!\\s)[\\d$+<=a-zA-Z\\x80-\\uFFFF])+/.source;\n\tvar multi_token_infix = /[^{}@#]+/.source;\n\tvar multi_token_suffix = /\\{[^}#@]*\\}/.source;\n\n\tvar multi_token = multi_token_infix + multi_token_suffix;\n\n\tvar timer_units = /(?:h|hours|hrs|m|min|minutes)/.source;\n\n\tvar amount_group_impl = {\n\t\tpattern: /\\{[^{}]*\\}/,\n\t\tinside: {\n\t\t\t'amount': {\n\t\t\t\tpattern: /([\\{|])[^{}|*%]+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'number',\n\t\t\t},\n\t\t\t'unit': {\n\t\t\t\tpattern: /(%)[^}]+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'symbol',\n\t\t\t},\n\t\t\t'servings-scaler': {\n\t\t\t\tpattern: /\\*/,\n\t\t\t\talias: 'operator',\n\t\t\t},\n\t\t\t'servings-alternative-separator': {\n\t\t\t\tpattern: /\\|/,\n\t\t\t\talias: 'operator',\n\t\t\t},\n\t\t\t'unit-separator': {\n\t\t\t\tpattern: /(?:%|(\\*)%)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'operator',\n\t\t\t},\n\t\t\t'punctuation': /[{}]/,\n\t\t}\n\t};\n\n\n\tPrism.languages.cooklang = {\n\t\t'comment': {\n\t\t\t// [- comment -]\n\t\t\t// -- comment\n\t\t\tpattern: /\\[-[\\s\\S]*?-\\]|--.*/,\n\t\t\tgreedy: true,\n\t\t},\n\t\t'meta': { // >> key: value\n\t\t\tpattern: />>.*:.*/,\n\t\t\tinside: {\n\t\t\t\t'property': { // key:\n\t\t\t\t\tpattern: /(>>\\s*)[^\\s:](?:[^:]*[^\\s:])?/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'cookware-group': { // #...{...}, #...\n\t\t\tpattern: new RegExp('#(?:'\n\t\t\t\t+ multi_token\n\t\t\t\t+ '|'\n\t\t\t\t+ single_token_suffix\n\t\t\t\t+ ')'\n\t\t\t),\n\t\t\tinside: {\n\t\t\t\t'cookware': {\n\t\t\t\t\tpattern: new RegExp('(^#)(?:'\n\t\t\t\t\t\t+ multi_token_infix\n\t\t\t\t\t\t+ ')'\n\t\t\t\t\t),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'variable',\n\t\t\t\t},\n\t\t\t\t'cookware-keyword': {\n\t\t\t\t\tpattern: /^#/,\n\t\t\t\t\talias: 'keyword',\n\t\t\t\t},\n\t\t\t\t'quantity-group': {\n\t\t\t\t\tpattern: new RegExp(/\\{[^{}@#]*\\}/),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'quantity': {\n\t\t\t\t\t\t\tpattern: new RegExp(/(^\\{)/.source + multi_token_infix),\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: 'number',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /[{}]/,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t'ingredient-group': { // @...{...}, @...\n\t\t\tpattern: new RegExp('@(?:'\n\t\t\t\t+ multi_token\n\t\t\t\t+ '|'\n\t\t\t\t+ single_token_suffix\n\t\t\t\t+ ')'),\n\t\t\tinside: {\n\t\t\t\t'ingredient': {\n\t\t\t\t\tpattern: new RegExp('(^@)(?:'\n\t\t\t\t\t\t+ multi_token_infix\n\t\t\t\t\t\t+ ')'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'variable',\n\t\t\t\t},\n\t\t\t\t'ingredient-keyword': {\n\t\t\t\t\tpattern: /^@/,\n\t\t\t\t\talias: 'keyword',\n\t\t\t\t},\n\t\t\t\t'amount-group': amount_group_impl,\n\t\t\t}\n\t\t},\n\t\t'timer-group': { // ~timer{...}\n\t\t\t// eslint-disable-next-line regexp/sort-alternatives\n\t\t\tpattern: /~(?!\\s)[^@#~{}]*\\{[^{}]*\\}/,\n\t\t\tinside: {\n\t\t\t\t'timer': {\n\t\t\t\t\tpattern: /(^~)[^{]+/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'variable',\n\t\t\t\t},\n\t\t\t\t'duration-group': { // {...}\n\t\t\t\t\tpattern: /\\{[^{}]*\\}/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /[{}]/,\n\t\t\t\t\t\t'unit': {\n\t\t\t\t\t\t\tpattern: new RegExp(/(%\\s*)/.source + timer_units + /\\b/.source),\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: 'symbol',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'operator': /%/,\n\t\t\t\t\t\t'duration': {\n\t\t\t\t\t\t\tpattern: /\\d+/,\n\t\t\t\t\t\t\talias: 'number',\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'timer-keyword': {\n\t\t\t\t\tpattern: /^~/,\n\t\t\t\t\talias: 'keyword',\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t};\n}(Prism));\n","/**\n * Original by Samuel Flores\n *\n * Adds the following new token classes:\n * constant, builtin, variable, symbol, regex\n */\n(function (Prism) {\n\tPrism.languages.ruby = Prism.languages.extend('clike', {\n\t\t'comment': {\n\t\t\tpattern: /#.*|^=begin\\s[\\s\\S]*?^=end/m,\n\t\t\tgreedy: true\n\t\t},\n\t\t'class-name': {\n\t\t\tpattern: /(\\b(?:class|module)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+|\\b[A-Z_]\\w*(?=\\s*\\.\\s*new\\b)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /[.\\\\]/\n\t\t\t}\n\t\t},\n\t\t'keyword': /\\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/,\n\t\t'operator': /\\.{2,3}|&\\.|===|<?=>|[!=]?~|(?:&&|\\|\\||<<|>>|\\*\\*|[+\\-*/%<>!^&|=])=?|[?:]/,\n\t\t'punctuation': /[(){}[\\].,;]/,\n\t});\n\n\tPrism.languages.insertBefore('ruby', 'operator', {\n\t\t'double-colon': {\n\t\t\tpattern: /::/,\n\t\t\talias: 'punctuation'\n\t\t},\n\t});\n\n\tvar interpolation = {\n\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)#\\{(?:[^{}]|\\{[^{}]*\\})*\\}/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'content': {\n\t\t\t\tpattern: /^(#\\{)[\\s\\S]+(?=\\}$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: Prism.languages.ruby\n\t\t\t},\n\t\t\t'delimiter': {\n\t\t\t\tpattern: /^#\\{|\\}$/,\n\t\t\t\talias: 'punctuation'\n\t\t\t}\n\t\t}\n\t};\n\n\tdelete Prism.languages.ruby.function;\n\n\tvar percentExpression = '(?:' + [\n\t\t/([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,\n\t\t/\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)/.source,\n\t\t/\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}/.source,\n\t\t/\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]/.source,\n\t\t/<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>/.source\n\t].join('|') + ')';\n\n\tvar symbolName = /(?:\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)/.source;\n\n\tPrism.languages.insertBefore('ruby', 'keyword', {\n\t\t'regex-literal': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/%r/.source + percentExpression + /[egimnosux]{0,6}/.source),\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation': interpolation,\n\t\t\t\t\t'regex': /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[egimnosux]{0,6}(?=\\s*(?:$|[\\r\\n,.;})#]))/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation': interpolation,\n\t\t\t\t\t'regex': /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'variable': /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n\t\t'symbol': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(^|[^:]):/.source + symbolName),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: RegExp(/([\\r\\n{(,][ \\t]*)/.source + symbolName + /(?=:(?!:))/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t],\n\t\t'method-definition': {\n\t\t\tpattern: /(\\bdef\\s+)\\w+(?:\\s*\\.\\s*\\w+)?/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'function': /\\b\\w+$/,\n\t\t\t\t'keyword': /^self\\b/,\n\t\t\t\t'class-name': /^\\w+/,\n\t\t\t\t'punctuation': /\\./\n\t\t\t}\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('ruby', 'string', {\n\t\t'string-literal': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation': interpolation,\n\t\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\"|')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation': interpolation,\n\t\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /<<[-~]?([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n\t\t\t\talias: 'heredoc-string',\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'delimiter': {\n\t\t\t\t\t\tpattern: /^<<[-~]?[a-z_]\\w*|\\b[a-z_]\\w*$/i,\n\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t'symbol': /\\b\\w+/,\n\t\t\t\t\t\t\t'punctuation': /^<<[-~]?/\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t'interpolation': interpolation,\n\t\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /<<[-~]?'([a-z_]\\w*)'[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n\t\t\t\talias: 'heredoc-string',\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'delimiter': {\n\t\t\t\t\t\tpattern: /^<<[-~]?'[a-z_]\\w*'|\\b[a-z_]\\w*$/i,\n\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t'symbol': /\\b\\w+/,\n\t\t\t\t\t\t\t'punctuation': /^<<[-~]?'|'$/,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'command-literal': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/%x/.source + percentExpression),\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation': interpolation,\n\t\t\t\t\t'command': {\n\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\talias: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /`(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|[^\\\\`#\\r\\n])*`/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation': interpolation,\n\t\t\t\t\t'command': {\n\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\talias: 'string'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t});\n\n\tdelete Prism.languages.ruby.string;\n\n\tPrism.languages.insertBefore('ruby', 'number', {\n\t\t'builtin': /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\\b/,\n\t\t'constant': /\\b[A-Z][A-Z0-9_]*(?:[?!]|\\b)/\n\t});\n\n\tPrism.languages.rb = Prism.languages.ruby;\n}(Prism));\n","(function (Prism) {\n\tPrism.languages.crystal = Prism.languages.extend('ruby', {\n\t\t'keyword': [\n\t\t\t/\\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\\b/,\n\t\t\t{\n\t\t\t\tpattern: /(\\.\\s*)(?:is_a|responds_to)\\?/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'number': /\\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\\da-fA-F_]*[\\da-fA-F]|(?:\\d(?:[\\d_]*\\d)?)(?:\\.[\\d_]*\\d)?(?:[eE][+-]?[\\d_]*\\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\\b/,\n\t\t'operator': [\n\t\t\t/->/,\n\t\t\tPrism.languages.ruby.operator,\n\t\t],\n\t\t'punctuation': /[(){}[\\].,;\\\\]/,\n\t});\n\n\tPrism.languages.insertBefore('crystal', 'string-literal', {\n\t\t'attribute': {\n\t\t\tpattern: /@\\[.*?\\]/,\n\t\t\tinside: {\n\t\t\t\t'delimiter': {\n\t\t\t\t\tpattern: /^@\\[|\\]$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'attribute': {\n\t\t\t\t\tpattern: /^(\\s*)\\w+/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'class-name'\n\t\t\t\t},\n\t\t\t\t'args': {\n\t\t\t\t\tpattern: /\\S(?:[\\s\\S]*\\S)?/,\n\t\t\t\t\tinside: Prism.languages.crystal\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t\t'expansion': {\n\t\t\tpattern: /\\{(?:\\{.*?\\}|%.*?%)\\}/,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /^(\\{.)[\\s\\S]+(?=.\\}$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: Prism.languages.crystal\n\t\t\t\t},\n\t\t\t\t'delimiter': {\n\t\t\t\t\tpattern: /^\\{[\\{%]|[\\}%]\\}$/,\n\t\t\t\t\talias: 'operator'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'char': {\n\t\t\tpattern: /'(?:[^\\\\\\r\\n]{1,2}|\\\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\\{[A-Fa-f0-9]{1,6}\\})))'/,\n\t\t\tgreedy: true\n\t\t}\n\t});\n\n}(Prism));\n","// https://tools.ietf.org/html/rfc4180\n\nPrism.languages.csv = {\n\t'value': /[^\\r\\n,\"]+|\"(?:[^\"]|\"\")*\"(?!\")/,\n\t'punctuation': /,/\n};\n","(function (Prism) {\n\n\t// https://cuelang.org/docs/references/spec/\n\n\t// eslint-disable-next-line regexp/strict\n\tvar stringEscape = /\\\\(?:(?!\\2)|\\2(?:[^()\\r\\n]|\\([^()]*\\)))/.source;\n\t// eslint-disable-next-line regexp/strict\n\tvar stringTypes = /\"\"\"(?:[^\\\\\"]|\"(?!\"\"\\2)|<esc>)*\"\"\"/.source +\n\t\t// eslint-disable-next-line regexp/strict\n\t\t'|' + /'''(?:[^\\\\']|'(?!''\\2)|<esc>)*'''/.source +\n\t\t// eslint-disable-next-line regexp/strict\n\t\t'|' + /\"(?:[^\\\\\\r\\n\"]|\"(?!\\2)|<esc>)*\"/.source +\n\t\t// eslint-disable-next-line regexp/strict\n\t\t'|' + /'(?:[^\\\\\\r\\n']|'(?!\\2)|<esc>)*'/.source;\n\tvar stringLiteral = '(?:' + stringTypes.replace(/<esc>/g, stringEscape) + ')';\n\n\tPrism.languages.cue = {\n\t\t'comment': {\n\t\t\tpattern: /\\/\\/.*/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'string-literal': {\n\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\tpattern: RegExp(/(^|[^#\"'\\\\])(#*)/.source + stringLiteral + /(?![\"'])\\2/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t// I'm using dirty hack here. We have to know the number hashes at the start of the string somehow,\n\t\t\t\t// but we can't look back. So instead, we will use a lookahead, go to the end of the string, and\n\t\t\t\t// capture the hashes at the end of the string.\n\t\t\t\t'escape': {\n\t\t\t\t\tpattern: /(?=[\\s\\S]*[\"'](#*)$)\\\\\\1(?:U[a-fA-F0-9]{1,8}|u[a-fA-F0-9]{1,4}|x[a-fA-F0-9]{1,2}|\\d{2,3}|[^(])/,\n\t\t\t\t\tgreedy: true,\n\t\t\t\t\talias: 'string'\n\t\t\t\t},\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(?=[\\s\\S]*[\"'](#*)$)\\\\\\1\\([^()]*\\)/,\n\t\t\t\t\tgreedy: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /^\\\\#*\\(|\\)$/,\n\t\t\t\t\t\t'expression': {\n\t\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\t\tinside: null\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\n\t\t'keyword': {\n\t\t\tpattern: /(^|[^\\w$])(?:for|if|import|in|let|null|package)(?![\\w$])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'boolean': {\n\t\t\tpattern: /(^|[^\\w$])(?:false|true)(?![\\w$])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'builtin': {\n\t\t\tpattern: /(^|[^\\w$])(?:bool|bytes|float|float(?:32|64)|u?int(?:8|16|32|64|128)?|number|rune|string)(?![\\w$])/,\n\t\t\tlookbehind: true\n\t\t},\n\n\t\t'attribute': {\n\t\t\tpattern: /@[\\w$]+(?=\\s*\\()/,\n\t\t\talias: 'function'\n\t\t},\n\t\t'function': {\n\t\t\tpattern: /(^|[^\\w$])[a-z_$][\\w$]*(?=\\s*\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\n\t\t'number': {\n\t\t\tpattern: /(^|[^\\w$.])(?:0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|0[xX][0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[eE][+-]?\\d+(?:_\\d+)*)?(?:[KMGTP]i?)?)(?![\\w$])/,\n\t\t\tlookbehind: true\n\t\t},\n\n\t\t'operator': /\\.{3}|_\\|_|&&?|\\|\\|?|[=!]~|[<>=!]=?|[+\\-*/?]/,\n\t\t'punctuation': /[()[\\]{},.:]/\n\t};\n\n\tPrism.languages.cue['string-literal'].inside.interpolation.inside.expression.inside = Prism.languages.cue;\n\n}(Prism));\n","Prism.languages.cypher = {\n\t// https://neo4j.com/docs/cypher-manual/current/syntax/comments/\n\t'comment': /\\/\\/.*/,\n\t'string': {\n\t\tpattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(:\\s*)(?:\\w+|`(?:[^`\\\\\\r\\n])*`)(?=\\s*[{):])/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'relationship': {\n\t\tpattern: /(-\\[\\s*(?:\\w+\\s*|`(?:[^`\\\\\\r\\n])*`\\s*)?:\\s*|\\|\\s*:\\s*)(?:\\w+|`(?:[^`\\\\\\r\\n])*`)/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t},\n\t'identifier': {\n\t\tpattern: /`(?:[^`\\\\\\r\\n])*`/,\n\t\tgreedy: true\n\t},\n\n\t'variable': /\\$\\w+/,\n\n\t// https://neo4j.com/docs/cypher-manual/current/syntax/reserved/\n\t'keyword': /\\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\\b/i,\n\n\t'function': /\\b\\w+\\b(?=\\s*\\()/,\n\n\t'boolean': /\\b(?:false|null|true)\\b/i,\n\t'number': /\\b(?:0x[\\da-fA-F]+|\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)\\b/,\n\t// https://neo4j.com/docs/cypher-manual/current/syntax/operators/\n\t'operator': /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\\.\\.\\.?/,\n\t'punctuation': /[()[\\]{},;.]/\n};\n","Prism.languages.d = Prism.languages.extend('clike', {\n\t'comment': [\n\t\t{\n\t\t\t// Shebang\n\t\t\tpattern: /^\\s*#!.+/,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: RegExp(/(^|[^\\\\])/.source + '(?:' + [\n\t\t\t\t// /+ comment +/\n\t\t\t\t// Allow one level of nesting\n\t\t\t\t/\\/\\+(?:\\/\\+(?:[^+]|\\+(?!\\/))*\\+\\/|(?!\\/\\+)[\\s\\S])*?\\+\\//.source,\n\t\t\t\t// // comment\n\t\t\t\t/\\/\\/.*/.source,\n\t\t\t\t// /* comment */\n\t\t\t\t/\\/\\*[\\s\\S]*?\\*\\//.source\n\t\t\t].join('|') + ')'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': [\n\t\t{\n\t\t\tpattern: RegExp([\n\t\t\t\t// r\"\", x\"\"\n\t\t\t\t/\\b[rx]\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"[cwd]?/.source,\n\n\t\t\t\t// q\"[]\", q\"()\", q\"<>\", q\"{}\"\n\t\t\t\t/\\bq\"(?:\\[[\\s\\S]*?\\]|\\([\\s\\S]*?\\)|<[\\s\\S]*?>|\\{[\\s\\S]*?\\})\"/.source,\n\n\t\t\t\t// q\"IDENT\n\t\t\t\t// ...\n\t\t\t\t// IDENT\"\n\t\t\t\t/\\bq\"((?!\\d)\\w+)$[\\s\\S]*?^\\1\"/.source,\n\n\t\t\t\t// q\"//\", q\"||\", etc.\n\t\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\t\t/\\bq\"(.)[\\s\\S]*?\\2\"/.source,\n\n\t\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\t\t/([\"`])(?:\\\\[\\s\\S]|(?!\\3)[^\\\\])*\\3[cwd]?/.source\n\t\t\t].join('|'), 'm'),\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /\\bq\\{(?:\\{[^{}]*\\}|[^{}])*\\}/,\n\t\t\tgreedy: true,\n\t\t\talias: 'token-string'\n\t\t}\n\t],\n\n\t// In order: $, keywords and special tokens, globally defined symbols\n\t'keyword': /\\$|\\b(?:__(?:(?:DATE|EOF|FILE|FUNCTION|LINE|MODULE|PRETTY_FUNCTION|TIMESTAMP|TIME|VENDOR|VERSION)__|gshared|parameters|traits|vector)|abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|dstring|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|ptrdiff_t|public|pure|real|ref|return|scope|shared|short|size_t|static|string|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|wstring)\\b/,\n\n\t'number': [\n\t\t// The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator\n\t\t// Hexadecimal numbers must be handled separately to avoid problems with exponent \"e\"\n\t\t/\\b0x\\.?[a-f\\d_]+(?:(?!\\.\\.)\\.[a-f\\d_]*)?(?:p[+-]?[a-f\\d_]+)?[ulfi]{0,4}/i,\n\t\t{\n\t\t\tpattern: /((?:\\.\\.)?)(?:\\b0b\\.?|\\b|\\.)\\d[\\d_]*(?:(?!\\.\\.)\\.[\\d_]*)?(?:e[+-]?\\d[\\d_]*)?[ulfi]{0,4}/i,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\n\t'operator': /\\|[|=]?|&[&=]?|\\+[+=]?|-[-=]?|\\.?\\.\\.|=[>=]?|!(?:i[ns]\\b|<>?=?|>=?|=)?|\\bi[ns]\\b|(?:<[<>]?|>>?>?|\\^\\^|[*\\/%^~])=?/\n});\n\nPrism.languages.insertBefore('d', 'string', {\n\t// Characters\n\t// 'a', '\\\\', '\\n', '\\xFF', '\\377', '\\uFFFF', '\\U0010FFFF', '\\quot'\n\t'char': /'(?:\\\\(?:\\W|\\w+)|[^\\\\])'/\n});\n\nPrism.languages.insertBefore('d', 'keyword', {\n\t'property': /\\B@\\w*/\n});\n\nPrism.languages.insertBefore('d', 'function', {\n\t'register': {\n\t\t// Iasm registers\n\t\tpattern: /\\b(?:[ABCD][LHX]|E?(?:BP|DI|SI|SP)|[BS]PL|[ECSDGF]S|CR[0234]|[DS]IL|DR[012367]|E[ABCD]X|X?MM[0-7]|R(?:1[0-5]|[89])[BWD]?|R[ABCD]X|R[BS]P|R[DS]I|TR[3-7]|XMM(?:1[0-5]|[89])|YMM(?:1[0-5]|\\d))\\b|\\bST(?:\\([0-7]\\)|\\b)/,\n\t\talias: 'variable'\n\t}\n});\n","(function (Prism) {\n\tvar keywords = [\n\t\t/\\b(?:async|sync|yield)\\*/,\n\t\t/\\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|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/\n\t];\n\n\t// Handles named imports, such as http.Client\n\tvar packagePrefix = /(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source;\n\n\t// based on the dart naming conventions\n\tvar className = {\n\t\tpattern: RegExp(packagePrefix + /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'namespace': {\n\t\t\t\tpattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\./\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t};\n\n\tPrism.languages.dart = Prism.languages.extend('clike', {\n\t\t'class-name': [\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t// variables and parameters\n\t\t\t\t// this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n\t\t\t\tpattern: RegExp(packagePrefix + /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: className.inside\n\t\t\t}\n\t\t],\n\t\t'keyword': keywords,\n\t\t'operator': /\\bis!|\\b(?:as|is)\\b|\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?/\n\t});\n\n\tPrism.languages.insertBefore('dart', 'string', {\n\t\t'string-literal': {\n\t\t\tpattern: /r?(?:(\"\"\"|''')[\\s\\S]*?\\1|([\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2(?!\\2))/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\w+|\\{(?:[^{}]|\\{[^{}]*\\})*\\})/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /^\\$\\{?|\\}$/,\n\t\t\t\t\t\t'expression': {\n\t\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\t\tinside: Prism.languages.dart\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t'string': undefined\n\t});\n\n\tPrism.languages.insertBefore('dart', 'class-name', {\n\t\t'metadata': {\n\t\t\tpattern: /@\\w+/,\n\t\t\talias: 'function'\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('dart', 'class-name', {\n\t\t'generics': {\n\t\t\tpattern: /<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,\n\t\t\tinside: {\n\t\t\t\t'class-name': className,\n\t\t\t\t'keyword': keywords,\n\t\t\t\t'punctuation': /[<>(),.:]/,\n\t\t\t\t'operator': /[?&|]/\n\t\t\t}\n\t\t},\n\t});\n}(Prism));\n","(function (Prism) {\n\tPrism.languages.dataweave = {\n\t\t'url': /\\b[A-Za-z]+:\\/\\/[\\w/:.?=&-]+|\\burn:[\\w:.?=&-]+/,\n\t\t'property': {\n\t\t\tpattern: /(?:\\b\\w+#)?(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|\\b\\w+)(?=\\s*[:@])/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'mime-type': /\\b(?:application|audio|image|multipart|text|video)\\/[\\w+-]+/,\n\t\t'date': {\n\t\t\tpattern: /\\|[\\w:+-]+\\|/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'regex': {\n\t\t\tpattern: /\\/(?:[^\\\\\\/\\r\\n]|\\\\[^\\r\\n])+\\//,\n\t\t\tgreedy: true\n\t\t},\n\t\t'keyword': /\\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\\b/,\n\t\t'function': /\\b[A-Z_]\\w*(?=\\s*\\()/i,\n\t\t'number': /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n\t\t'punctuation': /[{}[\\];(),.:@]/,\n\t\t'operator': /<<|>>|->|[<>~=]=?|!=|--?-?|\\+\\+?|!|\\?/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t};\n\n}(Prism));\n","Prism.languages.dax = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/).*)/,\n\t\tlookbehind: true\n\t},\n\t'data-field': {\n\t\tpattern: /'(?:[^']|'')*'(?!')(?:\\[[ \\w\\xA0-\\uFFFF]+\\])?|\\w+\\[[ \\w\\xA0-\\uFFFF]+\\]/,\n\t\talias: 'symbol'\n\t},\n\t'measure': {\n\t\tpattern: /\\[[ \\w\\xA0-\\uFFFF]+\\]/,\n\t\talias: 'constant'\n\t},\n\t'string': {\n\t\tpattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n\t\tgreedy: true\n\t},\n\t'function': /\\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\\.DIST|BETA\\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\\.DIST|CHISQ\\.DIST\\.RT|CHISQ\\.INV|CHISQ\\.INV\\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\\.NORM|CONFIDENCE\\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\\.DIST|NORM\\.INV|NORM\\.S\\.DIST|NORM\\.S\\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\\.EXC|PERCENTILE\\.INC|PERCENTILEX\\.EXC|PERCENTILEX\\.INC|PERMUT|PI|POISSON\\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\\.P|STDEV\\.S|STDEVX\\.P|STDEVX\\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\\.DIST|T\\.DIST\\.2T|T\\.DIST\\.RT|T\\.INV|T\\.INV\\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\\.P|VAR\\.S|VARX\\.P|VARX\\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\\s*\\()/i,\n\t'keyword': /\\b(?:DEFINE|EVALUATE|MEASURE|ORDER\\s+BY|RETURN|VAR|START\\s+AT|ASC|DESC)\\b/i,\n\t'boolean': {\n\t\tpattern: /\\b(?:FALSE|NULL|TRUE)\\b/i,\n\t\talias: 'constant'\n\t},\n\t'number': /\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/,\n\t'operator': /:=|[-+*\\/=^]|&&?|\\|\\||<(?:=>?|<|>)?|>[>=]?|\\b(?:IN|NOT)\\b/i,\n\t'punctuation': /[;\\[\\](){}`,.]/\n};\n","// ABNF grammar:\n// https://github.com/dhall-lang/dhall-lang/blob/master/standard/dhall.abnf\n\nPrism.languages.dhall = {\n\t// Multi-line comments can be nested. E.g. {- foo {- bar -} -}\n\t// The multi-line pattern is essentially this:\n\t// \\{-(?:[^-{]|-(?!\\})|\\{(?!-)|<SELF>)*-\\}\n\t'comment': /--.*|\\{-(?:[^-{]|-(?!\\})|\\{(?!-)|\\{-(?:[^-{]|-(?!\\})|\\{(?!-))*-\\})*-\\}/,\n\t'string': {\n\t\tpattern: /\"(?:[^\"\\\\]|\\\\.)*\"|''(?:[^']|'(?!')|'''|''\\$\\{)*''(?!'|\\$)/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /\\$\\{[^{}]*\\}/,\n\t\t\t\tinside: {\n\t\t\t\t\t'expression': {\n\t\t\t\t\t\tpattern: /(^\\$\\{)[\\s\\S]+(?=\\}$)/,\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\talias: 'language-dhall',\n\t\t\t\t\t\tinside: null // see blow\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /\\$\\{|\\}/\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t'label': {\n\t\tpattern: /`[^`]*`/,\n\t\tgreedy: true\n\t},\n\t'url': {\n\t\t// https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L596\n\t\tpattern: /\\bhttps?:\\/\\/[\\w.:%!$&'*+;=@~-]+(?:\\/[\\w.:%!$&'*+;=@~-]*)*(?:\\?[/?\\w.:%!$&'*+;=@~-]*)?/,\n\t\tgreedy: true\n\t},\n\t'env': {\n\t\t// https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L661\n\t\tpattern: /\\benv:(?:(?!\\d)\\w+|\"(?:[^\"\\\\=]|\\\\.)*\")/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'function': /^env/,\n\t\t\t'operator': /^:/,\n\t\t\t'variable': /[\\s\\S]+/\n\t\t}\n\t},\n\t'hash': {\n\t\t// https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L725\n\t\tpattern: /\\bsha256:[\\da-fA-F]{64}\\b/,\n\t\tinside: {\n\t\t\t'function': /sha256/,\n\t\t\t'operator': /:/,\n\t\t\t'number': /[\\da-fA-F]{64}/\n\t\t}\n\t},\n\n\t// https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L359\n\t'keyword': /\\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\\b|\\u2200/,\n\t'builtin': /\\b(?:None|Some)\\b/,\n\n\t'boolean': /\\b(?:False|True)\\b/,\n\t'number': /\\bNaN\\b|-?\\bInfinity\\b|[+-]?\\b(?:0x[\\da-fA-F]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/,\n\t'operator': /\\/\\\\|\\/\\/\\\\\\\\|&&|\\|\\||===|[!=]=|\\/\\/|->|\\+\\+|::|[+*#@=:?<>|\\\\\\u2227\\u2a53\\u2261\\u2afd\\u03bb\\u2192]/,\n\t'punctuation': /\\.\\.|[{}\\[\\](),./]/,\n\n\t// we'll just assume that every capital word left is a type name\n\t'class-name': /\\b[A-Z]\\w*\\b/\n};\n\nPrism.languages.dhall.string.inside.interpolation.inside.expression.inside = Prism.languages.dhall;\n","(function (Prism) {\n\n\tPrism.languages.diff = {\n\t\t'coord': [\n\t\t\t// Match all kinds of coord lines (prefixed by \"+++\", \"---\" or \"***\").\n\t\t\t/^(?:\\*{3}|-{3}|\\+{3}).*$/m,\n\t\t\t// Match \"@@ ... @@\" coord lines in unified diff.\n\t\t\t/^@@.*@@$/m,\n\t\t\t// Match coord lines in normal diff (starts with a number).\n\t\t\t/^\\d.*$/m\n\t\t]\n\n\t\t// deleted, inserted, unchanged, diff\n\t};\n\n\t/**\n\t * A map from the name of a block to its line prefix.\n\t *\n\t * @type {Object<string, string>}\n\t */\n\tvar PREFIXES = {\n\t\t'deleted-sign': '-',\n\t\t'deleted-arrow': '<',\n\t\t'inserted-sign': '+',\n\t\t'inserted-arrow': '>',\n\t\t'unchanged': ' ',\n\t\t'diff': '!',\n\t};\n\n\t// add a token for each prefix\n\tObject.keys(PREFIXES).forEach(function (name) {\n\t\tvar prefix = PREFIXES[name];\n\n\t\tvar alias = [];\n\t\tif (!/^\\w+$/.test(name)) { // \"deleted-sign\" -> \"deleted\"\n\t\t\talias.push(/\\w+/.exec(name)[0]);\n\t\t}\n\t\tif (name === 'diff') {\n\t\t\talias.push('bold');\n\t\t}\n\n\t\tPrism.languages.diff[name] = {\n\t\t\tpattern: RegExp('^(?:[' + prefix + '].*(?:\\r\\n?|\\n|(?![\\\\s\\\\S])))+', 'm'),\n\t\t\talias: alias,\n\t\t\tinside: {\n\t\t\t\t'line': {\n\t\t\t\t\tpattern: /(.)(?=[\\s\\S]).*(?:\\r\\n?|\\n)?/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'prefix': {\n\t\t\t\t\tpattern: /[\\s\\S]/,\n\t\t\t\t\talias: /\\w+/.exec(name)[0]\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t});\n\n\t// make prefixes available to Diff plugin\n\tObject.defineProperty(Prism.languages.diff, 'PREFIXES', {\n\t\tvalue: PREFIXES\n\t});\n\n}(Prism));\n","(function (Prism) {\n\n\t/**\n\t * Returns the placeholder for the given language id and index.\n\t *\n\t * @param {string} language\n\t * @param {string|number} index\n\t * @returns {string}\n\t */\n\tfunction getPlaceholder(language, index) {\n\t\treturn '___' + language.toUpperCase() + index + '___';\n\t}\n\n\tObject.defineProperties(Prism.languages['markup-templating'] = {}, {\n\t\tbuildPlaceholders: {\n\t\t\t/**\n\t\t\t * Tokenize all inline templating expressions matching `placeholderPattern`.\n\t\t\t *\n\t\t\t * If `replaceFilter` is provided, only matches of `placeholderPattern` for which `replaceFilter` returns\n\t\t\t * `true` will be replaced.\n\t\t\t *\n\t\t\t * @param {object} env The environment of the `before-tokenize` hook.\n\t\t\t * @param {string} language The language id.\n\t\t\t * @param {RegExp} placeholderPattern The matches of this pattern will be replaced by placeholders.\n\t\t\t * @param {(match: string) => boolean} [replaceFilter]\n\t\t\t */\n\t\t\tvalue: function (env, language, placeholderPattern, replaceFilter) {\n\t\t\t\tif (env.language !== language) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar tokenStack = env.tokenStack = [];\n\n\t\t\t\tenv.code = env.code.replace(placeholderPattern, function (match) {\n\t\t\t\t\tif (typeof replaceFilter === 'function' && !replaceFilter(match)) {\n\t\t\t\t\t\treturn match;\n\t\t\t\t\t}\n\t\t\t\t\tvar i = tokenStack.length;\n\t\t\t\t\tvar placeholder;\n\n\t\t\t\t\t// Check for existing strings\n\t\t\t\t\twhile (env.code.indexOf(placeholder = getPlaceholder(language, i)) !== -1) {\n\t\t\t\t\t\t++i;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Create a sparse array\n\t\t\t\t\ttokenStack[i] = match;\n\n\t\t\t\t\treturn placeholder;\n\t\t\t\t});\n\n\t\t\t\t// Switch the grammar to markup\n\t\t\t\tenv.grammar = Prism.languages.markup;\n\t\t\t}\n\t\t},\n\t\ttokenizePlaceholders: {\n\t\t\t/**\n\t\t\t * Replace placeholders with proper tokens after tokenizing.\n\t\t\t *\n\t\t\t * @param {object} env The environment of the `after-tokenize` hook.\n\t\t\t * @param {string} language The language id.\n\t\t\t */\n\t\t\tvalue: function (env, language) {\n\t\t\t\tif (env.language !== language || !env.tokenStack) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Switch the grammar back\n\t\t\t\tenv.grammar = Prism.languages[language];\n\n\t\t\t\tvar j = 0;\n\t\t\t\tvar keys = Object.keys(env.tokenStack);\n\n\t\t\t\tfunction walkTokens(tokens) {\n\t\t\t\t\tfor (var i = 0; i < tokens.length; i++) {\n\t\t\t\t\t\t// all placeholders are replaced already\n\t\t\t\t\t\tif (j >= keys.length) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar token = tokens[i];\n\t\t\t\t\t\tif (typeof token === 'string' || (token.content && typeof token.content === 'string')) {\n\t\t\t\t\t\t\tvar k = keys[j];\n\t\t\t\t\t\t\tvar t = env.tokenStack[k];\n\t\t\t\t\t\t\tvar s = typeof token === 'string' ? token : token.content;\n\t\t\t\t\t\t\tvar placeholder = getPlaceholder(language, k);\n\n\t\t\t\t\t\t\tvar index = s.indexOf(placeholder);\n\t\t\t\t\t\t\tif (index > -1) {\n\t\t\t\t\t\t\t\t++j;\n\n\t\t\t\t\t\t\t\tvar before = s.substring(0, index);\n\t\t\t\t\t\t\t\tvar middle = new Prism.Token(language, Prism.tokenize(t, env.grammar), 'language-' + language, t);\n\t\t\t\t\t\t\t\tvar after = s.substring(index + placeholder.length);\n\n\t\t\t\t\t\t\t\tvar replacement = [];\n\t\t\t\t\t\t\t\tif (before) {\n\t\t\t\t\t\t\t\t\treplacement.push.apply(replacement, walkTokens([before]));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treplacement.push(middle);\n\t\t\t\t\t\t\t\tif (after) {\n\t\t\t\t\t\t\t\t\treplacement.push.apply(replacement, walkTokens([after]));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (typeof token === 'string') {\n\t\t\t\t\t\t\t\t\ttokens.splice.apply(tokens, [i, 1].concat(replacement));\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\ttoken.content = replacement;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (token.content /* && typeof token.content !== 'string' */) {\n\t\t\t\t\t\t\twalkTokens(token.content);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn tokens;\n\t\t\t\t}\n\n\t\t\t\twalkTokens(env.tokens);\n\t\t\t}\n\t\t}\n\t});\n\n}(Prism));\n","// Django/Jinja2 syntax definition for Prism.js <http://prismjs.com> syntax highlighter.\n// Mostly it works OK but can paint code incorrectly on complex html/template tag combinations.\n\n(function (Prism) {\n\n\tPrism.languages.django = {\n\t\t'comment': /^\\{#[\\s\\S]*?#\\}$/,\n\t\t'tag': {\n\t\t\tpattern: /(^\\{%[+-]?\\s*)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'keyword'\n\t\t},\n\t\t'delimiter': {\n\t\t\tpattern: /^\\{[{%][+-]?|[+-]?[}%]\\}$/,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'filter': {\n\t\t\tpattern: /(\\|)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'test': {\n\t\t\tpattern: /(\\bis\\s+(?:not\\s+)?)(?!not\\b)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'function': /\\b[a-z_]\\w+(?=\\s*\\()/i,\n\t\t'keyword': /\\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\\b/,\n\t\t'operator': /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n\t\t'number': /\\b\\d+(?:\\.\\d+)?\\b/,\n\t\t'boolean': /[Ff]alse|[Nn]one|[Tt]rue/,\n\t\t'variable': /\\b\\w+\\b/,\n\t\t'punctuation': /[{}[\\](),.:;]/\n\t};\n\n\n\tvar pattern = /\\{\\{[\\s\\S]*?\\}\\}|\\{%[\\s\\S]*?%\\}|\\{#[\\s\\S]*?#\\}/g;\n\tvar markupTemplating = Prism.languages['markup-templating'];\n\n\tPrism.hooks.add('before-tokenize', function (env) {\n\t\tmarkupTemplating.buildPlaceholders(env, 'django', pattern);\n\t});\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tmarkupTemplating.tokenizePlaceholders(env, 'django');\n\t});\n\n\t// Add an Jinja2 alias\n\tPrism.languages.jinja2 = Prism.languages.django;\n\tPrism.hooks.add('before-tokenize', function (env) {\n\t\tmarkupTemplating.buildPlaceholders(env, 'jinja2', pattern);\n\t});\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tmarkupTemplating.tokenizePlaceholders(env, 'jinja2');\n\t});\n\n}(Prism));\n","Prism.languages['dns-zone-file'] = {\n\t'comment': /;.*/,\n\t'string': {\n\t\tpattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'variable': [\n\t\t{\n\t\t\tpattern: /(^\\$ORIGIN[ \\t]+)\\S+/m,\n\t\t\tlookbehind: true,\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|\\s)@(?=\\s|$)/,\n\t\t\tlookbehind: true,\n\t\t}\n\t],\n\t'keyword': /^\\$(?:INCLUDE|ORIGIN|TTL)(?=\\s|$)/m,\n\t'class': {\n\t\t// https://tools.ietf.org/html/rfc1035#page-13\n\t\tpattern: /(^|\\s)(?:CH|CS|HS|IN)(?=\\s|$)/,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t},\n\t'type': {\n\t\t// https://en.wikipedia.org/wiki/List_of_DNS_record_types\n\t\tpattern: /(^|\\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\\s|$)/,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t},\n\t'punctuation': /[()]/\n};\n\nPrism.languages['dns-zone'] = Prism.languages['dns-zone-file'];\n","(function (Prism) {\n\n\t// Many of the following regexes will contain negated lookaheads like `[ \\t]+(?![ \\t])`. This is a trick to ensure\n\t// that quantifiers behave *atomically*. Atomic quantifiers are necessary to prevent exponential backtracking.\n\n\tvar spaceAfterBackSlash = /\\\\[\\r\\n](?:\\s|\\\\[\\r\\n]|#.*(?!.))*(?![\\s#]|\\\\[\\r\\n])/.source;\n\t// At least one space, comment, or line break\n\tvar space = /(?:[ \\t]+(?![ \\t])(?:<SP_BS>)?|<SP_BS>)/.source\n\t\t.replace(/<SP_BS>/g, function () { return spaceAfterBackSlash; });\n\n\tvar string = /\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"|'(?:[^'\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*'/.source;\n\tvar option = /--[\\w-]+=(?:<STR>|(?![\"'])(?:[^\\s\\\\]|\\\\.)+)/.source.replace(/<STR>/g, function () { return string; });\n\n\tvar stringRule = {\n\t\tpattern: RegExp(string),\n\t\tgreedy: true\n\t};\n\tvar commentRule = {\n\t\tpattern: /(^[ \\t]*)#.*/m,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t};\n\n\t/**\n\t * @param {string} source\n\t * @param {string} flags\n\t * @returns {RegExp}\n\t */\n\tfunction re(source, flags) {\n\t\tsource = source\n\t\t\t.replace(/<OPT>/g, function () { return option; })\n\t\t\t.replace(/<SP>/g, function () { return space; });\n\n\t\treturn RegExp(source, flags);\n\t}\n\n\tPrism.languages.docker = {\n\t\t'instruction': {\n\t\t\tpattern: /(^[ \\t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)(?:\\\\.|[^\\r\\n\\\\])*(?:\\\\$(?:\\s|#.*$)*(?![\\s#])(?:\\\\.|[^\\r\\n\\\\])*)*/im,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'options': {\n\t\t\t\t\tpattern: re(/(^(?:ONBUILD<SP>)?\\w+<SP>)<OPT>(?:<SP><OPT>)*/.source, 'i'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tgreedy: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'property': {\n\t\t\t\t\t\t\tpattern: /(^|\\s)--[\\w-]+/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'string': [\n\t\t\t\t\t\t\tstringRule,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /(=)(?![\"'])(?:[^\\s\\\\]|\\\\.)+/,\n\t\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\t'operator': /\\\\$/m,\n\t\t\t\t\t\t'punctuation': /=/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'keyword': [\n\t\t\t\t\t{\n\t\t\t\t\t\t// https://docs.docker.com/engine/reference/builder/#healthcheck\n\t\t\t\t\t\tpattern: re(/(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\\b/.source, 'i'),\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\tgreedy: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t// https://docs.docker.com/engine/reference/builder/#from\n\t\t\t\t\t\tpattern: re(/(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \\t\\\\]+<SP>)AS/.source, 'i'),\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\tgreedy: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t// https://docs.docker.com/engine/reference/builder/#onbuild\n\t\t\t\t\t\tpattern: re(/(^ONBUILD<SP>)\\w+/.source, 'i'),\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\tgreedy: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: /^\\w+/,\n\t\t\t\t\t\tgreedy: true\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t'comment': commentRule,\n\t\t\t\t'string': stringRule,\n\t\t\t\t'variable': /\\$(?:\\w+|\\{[^{}\"'\\\\]*\\})/,\n\t\t\t\t'operator': /\\\\$/m\n\t\t\t}\n\t\t},\n\t\t'comment': commentRule\n\t};\n\n\tPrism.languages.dockerfile = Prism.languages.docker;\n\n}(Prism));\n","// https://www.graphviz.org/doc/info/lang.html\n\n(function (Prism) {\n\n\tvar ID = '(?:' + [\n\t\t// an identifier\n\t\t/[a-zA-Z_\\x80-\\uFFFF][\\w\\x80-\\uFFFF]*/.source,\n\t\t// a number\n\t\t/-?(?:\\.\\d+|\\d+(?:\\.\\d*)?)/.source,\n\t\t// a double-quoted string\n\t\t/\"[^\"\\\\]*(?:\\\\[\\s\\S][^\"\\\\]*)*\"/.source,\n\t\t// HTML-like string\n\t\t/<(?:[^<>]|(?!<!--)<(?:[^<>\"']|\"[^\"]*\"|'[^']*')+>|<!--(?:[^-]|-(?!->))*-->)*>/.source\n\t].join('|') + ')';\n\n\tvar IDInside = {\n\t\t'markup': {\n\t\t\tpattern: /(^<)[\\s\\S]+(?=>$)/,\n\t\t\tlookbehind: true,\n\t\t\talias: ['language-markup', 'language-html', 'language-xml'],\n\t\t\tinside: Prism.languages.markup\n\t\t}\n\t};\n\n\t/**\n\t * @param {string} source\n\t * @param {string} flags\n\t * @returns {RegExp}\n\t */\n\tfunction withID(source, flags) {\n\t\treturn RegExp(source.replace(/<ID>/g, function () { return ID; }), flags);\n\t}\n\n\tPrism.languages.dot = {\n\t\t'comment': {\n\t\t\tpattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\/|^#.*/m,\n\t\t\tgreedy: true\n\t\t},\n\t\t'graph-name': {\n\t\t\tpattern: withID(/(\\b(?:digraph|graph|subgraph)[ \\t\\r\\n]+)<ID>/.source, 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'class-name',\n\t\t\tinside: IDInside\n\t\t},\n\t\t'attr-value': {\n\t\t\tpattern: withID(/(=[ \\t\\r\\n]*)<ID>/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: IDInside\n\t\t},\n\t\t'attr-name': {\n\t\t\tpattern: withID(/([\\[;, \\t\\r\\n])<ID>(?=[ \\t\\r\\n]*=)/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: IDInside\n\t\t},\n\t\t'keyword': /\\b(?:digraph|edge|graph|node|strict|subgraph)\\b/i,\n\t\t'compass-point': {\n\t\t\tpattern: /(:[ \\t\\r\\n]*)(?:[ewc_]|[ns][ew]?)(?![\\w\\x80-\\uFFFF])/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'builtin'\n\t\t},\n\t\t'node': {\n\t\t\tpattern: withID(/(^|[^-.\\w\\x80-\\uFFFF\\\\])<ID>/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: IDInside\n\t\t},\n\t\t'operator': /[=:]|-[->]/,\n\t\t'punctuation': /[\\[\\]{};,]/\n\t};\n\n\tPrism.languages.gv = Prism.languages.dot;\n\n}(Prism));\n","Prism.languages.ebnf = {\n\t'comment': /\\(\\*[\\s\\S]*?\\*\\)/,\n\t'string': {\n\t\tpattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n\t\tgreedy: true\n\t},\n\t'special': {\n\t\tpattern: /\\?[^?\\r\\n]*\\?/,\n\t\tgreedy: true,\n\t\talias: 'class-name'\n\t},\n\n\t'definition': {\n\t\tpattern: /^([\\t ]*)[a-z]\\w*(?:[ \\t]+[a-z]\\w*)*(?=\\s*=)/im,\n\t\tlookbehind: true,\n\t\talias: ['rule', 'keyword']\n\t},\n\t'rule': /\\b[a-z]\\w*(?:[ \\t]+[a-z]\\w*)*\\b/i,\n\n\t'punctuation': /\\([:/]|[:/]\\)|[.,;()[\\]{}]/,\n\t'operator': /[-=|*/!]/\n};\n","Prism.languages.editorconfig = {\n\t// https://editorconfig-specification.readthedocs.io\n\t'comment': /[;#].*/,\n\t'section': {\n\t\tpattern: /(^[ \\t]*)\\[.+\\]/m,\n\t\tlookbehind: true,\n\t\talias: 'selector',\n\t\tinside: {\n\t\t\t'regex': /\\\\\\\\[\\[\\]{},!?.*]/, // Escape special characters with '\\\\'\n\t\t\t'operator': /[!?]|\\.\\.|\\*{1,2}/,\n\t\t\t'punctuation': /[\\[\\]{},]/\n\t\t}\n\t},\n\t'key': {\n\t\tpattern: /(^[ \\t]*)[^\\s=]+(?=[ \\t]*=)/m,\n\t\tlookbehind: true,\n\t\talias: 'attr-name'\n\t},\n\t'value': {\n\t\tpattern: /=.*/,\n\t\talias: 'attr-value',\n\t\tinside: {\n\t\t\t'punctuation': /^=/\n\t\t}\n\t}\n};\n","Prism.languages.eiffel = {\n\t'comment': /--.*/,\n\t'string': [\n\t\t// Aligned-verbatim-strings\n\t\t{\n\t\t\tpattern: /\"([^[]*)\\[[\\s\\S]*?\\]\\1\"/,\n\t\t\tgreedy: true\n\t\t},\n\t\t// Non-aligned-verbatim-strings\n\t\t{\n\t\t\tpattern: /\"([^{]*)\\{[\\s\\S]*?\\}\\1\"/,\n\t\t\tgreedy: true\n\t\t},\n\t\t// Single-line string\n\t\t{\n\t\t\tpattern: /\"(?:%(?:(?!\\n)\\s)*\\n\\s*%|%\\S|[^%\"\\r\\n])*\"/,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t// normal char | special char | char code\n\t'char': /'(?:%.|[^%'\\r\\n])+'/,\n\t'keyword': /\\b(?:across|agent|alias|all|and|as|assign|attached|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\\b/i,\n\t'boolean': /\\b(?:False|True)\\b/i,\n\t// Convention: class-names are always all upper-case characters\n\t'class-name': /\\b[A-Z][\\dA-Z_]*\\b/,\n\t'number': [\n\t\t// hexa | octal | bin\n\t\t/\\b0[xcb][\\da-f](?:_*[\\da-f])*\\b/i,\n\t\t// Decimal\n\t\t/(?:\\b\\d(?:_*\\d)*)?\\.(?:(?:\\d(?:_*\\d)*)?e[+-]?)?\\d(?:_*\\d)*\\b|\\b\\d(?:_*\\d)*\\b\\.?/i\n\t],\n\t'punctuation': /:=|<<|>>|\\(\\||\\|\\)|->|\\.(?=\\w)|[{}[\\];(),:?]/,\n\t'operator': /\\\\\\\\|\\|\\.\\.\\||\\.\\.|\\/[~\\/=]?|[><]=?|[-+*^=~]/\n};\n","(function (Prism) {\n\n\tPrism.languages.ejs = {\n\t\t'delimiter': {\n\t\t\tpattern: /^<%[-_=]?|[-_]?%>$/,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'comment': /^#[\\s\\S]*/,\n\t\t'language-javascript': {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t};\n\n\tPrism.hooks.add('before-tokenize', function (env) {\n\t\tvar ejsPattern = /<%(?!%)[\\s\\S]+?%>/g;\n\t\tPrism.languages['markup-templating'].buildPlaceholders(env, 'ejs', ejsPattern);\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tPrism.languages['markup-templating'].tokenizePlaceholders(env, 'ejs');\n\t});\n\n\tPrism.languages.eta = Prism.languages.ejs;\n\n}(Prism));\n","Prism.languages.elixir = {\n\t'doc': {\n\t\tpattern: /@(?:doc|moduledoc)\\s+(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2)/,\n\t\tinside: {\n\t\t\t'attribute': /^@\\w+/,\n\t\t\t'string': /['\"][\\s\\S]+/\n\t\t}\n\t},\n\t'comment': {\n\t\tpattern: /#.*/,\n\t\tgreedy: true\n\t},\n\t// ~r\"\"\"foo\"\"\" (multi-line), ~r'''foo''' (multi-line), ~r/foo/, ~r|foo|, ~r\"foo\", ~r'foo', ~r(foo), ~r[foo], ~r{foo}, ~r<foo>\n\t'regex': {\n\t\tpattern: /~[rR](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[uismxfr]*/,\n\t\tgreedy: true\n\t},\n\t'string': [\n\t\t{\n\t\t\t// ~s\"\"\"foo\"\"\" (multi-line), ~s'''foo''' (multi-line), ~s/foo/, ~s|foo|, ~s\"foo\", ~s'foo', ~s(foo), ~s[foo], ~s{foo} (with interpolation care), ~s<foo>\n\t\t\tpattern: /~[cCsSwW](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|#\\{[^}]+\\}|#(?!\\{)|[^#\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[csa]?/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t// See interpolation below\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: /(\"\"\"|''')[\\s\\S]*?\\1/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t// See interpolation below\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t// Multi-line strings are allowed\n\t\t\tpattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t// See interpolation below\n\t\t\t}\n\t\t}\n\t],\n\t'atom': {\n\t\t// Look-behind prevents bad highlighting of the :: operator\n\t\tpattern: /(^|[^:]):\\w+/,\n\t\tlookbehind: true,\n\t\talias: 'symbol'\n\t},\n\t'module': {\n\t\tpattern: /\\b[A-Z]\\w*\\b/,\n\t\talias: 'class-name'\n\t},\n\t// Look-ahead prevents bad highlighting of the :: operator\n\t'attr-name': /\\b\\w+\\??:(?!:)/,\n\t'argument': {\n\t\t// Look-behind prevents bad highlighting of the && operator\n\t\tpattern: /(^|[^&])&\\d+/,\n\t\tlookbehind: true,\n\t\talias: 'variable'\n\t},\n\t'attribute': {\n\t\tpattern: /@\\w+/,\n\t\talias: 'variable'\n\t},\n\t'function': /\\b[_a-zA-Z]\\w*[?!]?(?:(?=\\s*(?:\\.\\s*)?\\()|(?=\\/\\d))/,\n\t'number': /\\b(?:0[box][a-f\\d_]+|\\d[\\d_]*)(?:\\.[\\d_]+)?(?:e[+-]?[\\d_]+)?\\b/i,\n\t'keyword': /\\b(?:after|alias|and|case|catch|cond|def(?:callback|delegate|exception|impl|macro|module|n|np|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|quote|raise|require|rescue|try|unless|unquote|use|when)\\b/,\n\t'boolean': /\\b(?:false|nil|true)\\b/,\n\t'operator': [\n\t\t/\\bin\\b|&&?|\\|[|>]?|\\\\\\\\|::|\\.\\.\\.?|\\+\\+?|-[->]?|<[-=>]|>=|!==?|\\B!|=(?:==?|[>~])?|[*\\/^]/,\n\t\t{\n\t\t\t// We don't want to match <<\n\t\t\tpattern: /([^<])<(?!<)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\t// We don't want to match >>\n\t\t\tpattern: /([^>])>(?!>)/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'punctuation': /<<|>>|[.,%\\[\\]{}()]/\n};\n\nPrism.languages.elixir.string.forEach(function (o) {\n\to.inside = {\n\t\t'interpolation': {\n\t\t\tpattern: /#\\{[^}]+\\}/,\n\t\t\tinside: {\n\t\t\t\t'delimiter': {\n\t\t\t\t\tpattern: /^#\\{|\\}$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\trest: Prism.languages.elixir\n\t\t\t}\n\t\t}\n\t};\n});\n","Prism.languages.elm = {\n\t'comment': /--.*|\\{-[\\s\\S]*?-\\}/,\n\t'char': {\n\t\tpattern: /'(?:[^\\\\'\\r\\n]|\\\\(?:[abfnrtv\\\\']|\\d+|x[0-9a-fA-F]+|u\\{[0-9a-fA-F]+\\}))'/,\n\t\tgreedy: true\n\t},\n\t'string': [\n\t\t{\n\t\t\t// Multiline strings are wrapped in triple \". Quotes may appear unescaped.\n\t\t\tpattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"/,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'import-statement': {\n\t\t// The imported or hidden names are not included in this import\n\t\t// statement. This is because we want to highlight those exactly like\n\t\t// we do for the names in the program.\n\t\tpattern: /(^[\\t ]*)import\\s+[A-Z]\\w*(?:\\.[A-Z]\\w*)*(?:\\s+as\\s+(?:[A-Z]\\w*)(?:\\.[A-Z]\\w*)*)?(?:\\s+exposing\\s+)?/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'keyword': /\\b(?:as|exposing|import)\\b/\n\t\t}\n\t},\n\t'keyword': /\\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\\b/,\n\t// These are builtin variables only. Constructors are highlighted later as a constant.\n\t'builtin': /\\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\\b/,\n\t// decimal integers and floating point numbers | hexadecimal integers\n\t'number': /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[0-9a-f]+)\\b/i,\n\t// Most of this is needed because of the meaning of a single '.'.\n\t// If it stands alone freely, it is the function composition.\n\t// It may also be a separator between a module name and an identifier => no\n\t// operator. If it comes together with other special characters it is an\n\t// operator too.\n\t// Valid operator characters in 0.18: +-/*=.$<>:&|^?%#@~!\n\t// Ref: https://groups.google.com/forum/#!msg/elm-dev/0AHSnDdkSkQ/E0SVU70JEQAJ\n\t'operator': /\\s\\.\\s|[+\\-/*=.$<>:&|^?%#@~!]{2,}|[+\\-/*=$<>:&|^?%#@~!]/,\n\t// In Elm, nearly everything is a variable, do not highlight these.\n\t'hvariable': /\\b(?:[A-Z]\\w*\\.)*[a-z]\\w*\\b/,\n\t'constant': /\\b(?:[A-Z]\\w*\\.)*[A-Z]\\w*\\b/,\n\t'punctuation': /[{}[\\]|(),.:]/\n};\n","Prism.languages.lua = {\n\t'comment': /^#!.+|--(?:\\[(=*)\\[[\\s\\S]*?\\]\\1\\]|.*)/m,\n\t// \\z may be used to skip the following space\n\t'string': {\n\t\tpattern: /([\"'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\z(?:\\r\\n|\\s)|\\\\(?:\\r\\n|[^z]))*\\1|\\[(=*)\\[[\\s\\S]*?\\]\\2\\]/,\n\t\tgreedy: true\n\t},\n\t'number': /\\b0x[a-f\\d]+(?:\\.[a-f\\d]*)?(?:p[+-]?\\d+)?\\b|\\b\\d+(?:\\.\\B|(?:\\.\\d*)?(?:e[+-]?\\d+)?\\b)|\\B\\.\\d+(?:e[+-]?\\d+)?\\b/i,\n\t'keyword': /\\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\\b/,\n\t'function': /(?!\\d)\\w+(?=\\s*(?:[({]))/,\n\t'operator': [\n\t\t/[-+*%^&|#]|\\/\\/?|<[<=]?|>[>=]?|[=~]=?/,\n\t\t{\n\t\t\t// Match \"..\" but don't break \"...\"\n\t\t\tpattern: /(^|[^.])\\.\\.(?!\\.)/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'punctuation': /[\\[\\](){},;]|\\.+|:+/\n};\n","(function (Prism) {\n\n\tPrism.languages.etlua = {\n\t\t'delimiter': {\n\t\t\tpattern: /^<%[-=]?|-?%>$/,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'language-lua': {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages.lua\n\t\t}\n\t};\n\n\tPrism.hooks.add('before-tokenize', function (env) {\n\t\tvar pattern = /<%[\\s\\S]+?%>/g;\n\t\tPrism.languages['markup-templating'].buildPlaceholders(env, 'etlua', pattern);\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tPrism.languages['markup-templating'].tokenizePlaceholders(env, 'etlua');\n\t});\n\n}(Prism));\n","(function (Prism) {\n\n\tPrism.languages.erb = {\n\t\t'delimiter': {\n\t\t\tpattern: /^(\\s*)<%=?|%>(?=\\s*$)/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'ruby': {\n\t\t\tpattern: /\\s*\\S[\\s\\S]*/,\n\t\t\talias: 'language-ruby',\n\t\t\tinside: Prism.languages.ruby\n\t\t}\n\t};\n\n\tPrism.hooks.add('before-tokenize', function (env) {\n\t\tvar erbPattern = /<%=?(?:[^\\r\\n]|[\\r\\n](?!=begin)|[\\r\\n]=begin\\s(?:[^\\r\\n]|[\\r\\n](?!=end))*[\\r\\n]=end)+?%>/g;\n\t\tPrism.languages['markup-templating'].buildPlaceholders(env, 'erb', erbPattern);\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tPrism.languages['markup-templating'].tokenizePlaceholders(env, 'erb');\n\t});\n\n}(Prism));\n","Prism.languages.erlang = {\n\t'comment': /%.+/,\n\t'string': {\n\t\tpattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'quoted-function': {\n\t\tpattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'(?=\\()/,\n\t\talias: 'function'\n\t},\n\t'quoted-atom': {\n\t\tpattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'/,\n\t\talias: 'atom'\n\t},\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'keyword': /\\b(?:after|begin|case|catch|end|fun|if|of|receive|try|when)\\b/,\n\t'number': [\n\t\t/\\$\\\\?./,\n\t\t/\\b\\d+#[a-z0-9]+/i,\n\t\t/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i\n\t],\n\t'function': /\\b[a-z][\\w@]*(?=\\()/,\n\t'variable': {\n\t\t// Look-behind is used to prevent wrong highlighting of atoms containing \"@\"\n\t\tpattern: /(^|[^@])(?:\\b|\\?)[A-Z_][\\w@]*/,\n\t\tlookbehind: true\n\t},\n\t'operator': [\n\t\t/[=\\/<>:]=|=[:\\/]=|\\+\\+?|--?|[=*\\/!]|\\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\\b/,\n\t\t{\n\t\t\t// We don't want to match <<\n\t\t\tpattern: /(^|[^<])<(?!<)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\t// We don't want to match >>\n\t\t\tpattern: /(^|[^>])>(?!>)/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'atom': /\\b[a-z][\\w@]*/,\n\t'punctuation': /[()[\\]{}:;,.#|]|<<|>>/\n\n};\n","Prism.languages['excel-formula'] = {\n\t'comment': {\n\t\tpattern: /(\\bN\\(\\s*)\"(?:[^\"]|\"\")*\"(?=\\s*\\))/i,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n\t\tgreedy: true\n\t},\n\t'reference': {\n\t\t// https://www.ablebits.com/office-addins-blog/2015/12/08/excel-reference-another-sheet-workbook/\n\n\t\t// Sales!B2\n\t\t// 'Winter sales'!B2\n\t\t// [Sales.xlsx]Jan!B2:B5\n\t\t// D:\\Reports\\[Sales.xlsx]Jan!B2:B5\n\t\t// '[Sales.xlsx]Jan sales'!B2:B5\n\t\t// 'D:\\Reports\\[Sales.xlsx]Jan sales'!B2:B5\n\n\t\tpattern: /(?:'[^']*'|(?:[^\\s()[\\]{}<>*?\"';,$&]*\\[[^^\\s()[\\]{}<>*?\"']+\\])?\\w+)!/,\n\t\tgreedy: true,\n\t\talias: 'string',\n\t\tinside: {\n\t\t\t'operator': /!$/,\n\t\t\t'punctuation': /'/,\n\t\t\t'sheet': {\n\t\t\t\tpattern: /[^[\\]]+$/,\n\t\t\t\talias: 'function'\n\t\t\t},\n\t\t\t'file': {\n\t\t\t\tpattern: /\\[[^[\\]]+\\]$/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /[[\\]]/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'path': /[\\s\\S]+/\n\t\t}\n\t},\n\t'function-name': {\n\t\tpattern: /\\b[A-Z]\\w*(?=\\()/i,\n\t\talias: 'builtin'\n\t},\n\t'range': {\n\t\tpattern: /\\$?\\b(?:[A-Z]+\\$?\\d+:\\$?[A-Z]+\\$?\\d+|[A-Z]+:\\$?[A-Z]+|\\d+:\\$?\\d+)\\b/i,\n\t\talias: 'selector',\n\t\tinside: {\n\t\t\t'operator': /:/,\n\t\t\t'cell': /\\$?[A-Z]+\\$?\\d+/i,\n\t\t\t'column': /\\$?[A-Z]+/i,\n\t\t\t'row': /\\$?\\d+/\n\t\t}\n\t},\n\t'cell': {\n\t\t// Excel is case insensitive, so the string \"foo1\" could be either a variable or a cell.\n\t\t// To combat this, we match cells case insensitive, if the contain at least one \"$\", and case sensitive otherwise.\n\t\tpattern: /\\b[A-Z]+\\d+\\b|\\$[A-Za-z]+\\$?\\d+\\b|\\b[A-Za-z]+\\$\\d+\\b/,\n\t\talias: 'selector'\n\t},\n\t'number': /(?:\\b\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[+-]?\\d+)?\\b/i,\n\t'boolean': /\\b(?:FALSE|TRUE)\\b/i,\n\t'operator': /[-+*/^%=&,]|<[=>]?|>=?/,\n\t'punctuation': /[[\\]();{}|]/\n};\n\nPrism.languages['xlsx'] = Prism.languages['xls'] = Prism.languages['excel-formula'];\n","Prism.languages.fsharp = Prism.languages.extend('clike', {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\(\\*(?!\\))[\\s\\S]*?\\*\\)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /(?:\"\"\"[\\s\\S]*?\"\"\"|@\"(?:\"\"|[^\"])*\"|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")B?/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:exception|inherit|interface|new|of|type)\\s+|\\w\\s*:\\s*|\\s:\\??>\\s*)[.\\w]+\\b(?:\\s*(?:->|\\*)\\s*[.\\w]+\\b)*(?!\\s*[:.])/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'operator': /->|\\*/,\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'keyword': /\\b(?:let|return|use|yield)(?:!\\B|\\b)|\\b(?:abstract|and|as|asr|assert|atomic|base|begin|break|checked|class|component|const|constraint|constructor|continue|default|delegate|do|done|downcast|downto|eager|elif|else|end|event|exception|extern|external|false|finally|fixed|for|fun|function|functor|global|if|in|include|inherit|inline|interface|internal|land|lazy|lor|lsl|lsr|lxor|match|member|method|mixin|mod|module|mutable|namespace|new|not|null|object|of|open|or|override|parallel|private|process|protected|public|pure|rec|sealed|select|sig|static|struct|tailcall|then|to|trait|true|try|type|upcast|val|virtual|void|volatile|when|while|with)\\b/,\n\t'number': [\n\t\t/\\b0x[\\da-fA-F]+(?:LF|lf|un)?\\b/,\n\t\t/\\b0b[01]+(?:uy|y)?\\b/,\n\t\t/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[fm]|e[+-]?\\d+)?\\b/i,\n\t\t/\\b\\d+(?:[IlLsy]|UL|u[lsy]?)?\\b/\n\t],\n\t'operator': /([<>~&^])\\1\\1|([*.:<>&])\\2|<-|->|[!=:]=|<?\\|{1,3}>?|\\??(?:<=|>=|<>|[-+*/%=<>])\\??|[!?^&]|~[+~-]|:>|:\\?>?/\n});\nPrism.languages.insertBefore('fsharp', 'keyword', {\n\t'preprocessor': {\n\t\tpattern: /(^[\\t ]*)#.*/m,\n\t\tlookbehind: true,\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'directive': {\n\t\t\t\tpattern: /(^#)\\b(?:else|endif|if|light|line|nowarn)\\b/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t}\n\t\t}\n\t}\n});\nPrism.languages.insertBefore('fsharp', 'punctuation', {\n\t'computation-expression': {\n\t\tpattern: /\\b[_a-z]\\w*(?=\\s*\\{)/i,\n\t\talias: 'keyword'\n\t}\n});\nPrism.languages.insertBefore('fsharp', 'string', {\n\t'annotation': {\n\t\tpattern: /\\[<.+?>\\]/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'punctuation': /^\\[<|>\\]$/,\n\t\t\t'class-name': {\n\t\t\t\tpattern: /^\\w+$|(^|;\\s*)[A-Z]\\w*(?=\\()/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'annotation-content': {\n\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\tinside: Prism.languages.fsharp\n\t\t\t}\n\t\t}\n\t},\n\t'char': {\n\t\tpattern: /'(?:[^\\\\']|\\\\(?:.|\\d{3}|x[a-fA-F\\d]{2}|u[a-fA-F\\d]{4}|U[a-fA-F\\d]{8}))'B?/,\n\t\tgreedy: true\n\t}\n});\n","(function (Prism) {\n\n\tvar comment_inside = {\n\t\t'function': /\\b(?:BUGS?|FIX(?:MES?)?|NOTES?|TODOS?|XX+|HACKS?|WARN(?:ING)?|\\?{2,}|!{2,})\\b/\n\t};\n\tvar string_inside = {\n\t\t'number': /\\\\[^\\s']|%\\w/\n\t};\n\n\tvar factor = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\t// ! single-line exclamation point comments with whitespace after/around the !\n\t\t\t\tpattern: /(^|\\s)(?:! .*|!$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: comment_inside\n\t\t\t},\n\n\t\t\t/* from basis/multiline: */\n\t\t\t{\n\t\t\t\t// /* comment */, /* comment*/\n\t\t\t\tpattern: /(^|\\s)\\/\\*\\s[\\s\\S]*?\\*\\/(?=\\s|$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: comment_inside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// ![[ comment ]] , ![===[ comment]===]\n\t\t\t\tpattern: /(^|\\s)!\\[(={0,6})\\[\\s[\\s\\S]*?\\]\\2\\](?=\\s|$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: comment_inside\n\t\t\t}\n\t\t],\n\n\t\t'number': [\n\t\t\t{\n\t\t\t\t// basic base 10 integers 9, -9\n\t\t\t\tpattern: /(^|\\s)[+-]?\\d+(?=\\s|$)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// base prefix integers 0b010 0o70 0xad 0d10 0XAD -0xa9\n\t\t\t\tpattern: /(^|\\s)[+-]?0(?:b[01]+|o[0-7]+|d\\d+|x[\\dA-F]+)(?=\\s|$)/i,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// fractional ratios 1/5 -1/5 and the literal float approximations 1/5. -1/5.\n\t\t\t\tpattern: /(^|\\s)[+-]?\\d+\\/\\d+\\.?(?=\\s|$)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// positive mixed numbers 23+1/5 +23+1/5\n\t\t\t\tpattern: /(^|\\s)\\+?\\d+\\+\\d+\\/\\d+(?=\\s|$)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// negative mixed numbers -23-1/5\n\t\t\t\tpattern: /(^|\\s)-\\d+-\\d+\\/\\d+(?=\\s|$)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// basic decimal floats -0.01 0. .0 .1 -.1 -1. -12.13 +12.13\n\t\t\t\t// and scientific notation with base 10 exponents 3e4 3e-4 .3e-4\n\t\t\t\tpattern: /(^|\\s)[+-]?(?:\\d*\\.\\d+|\\d+\\.\\d*|\\d+)(?:e[+-]?\\d+)?(?=\\s|$)/i,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// NAN literal syntax NAN: 80000deadbeef, NAN: a\n\t\t\t\tpattern: /(^|\\s)NAN:\\s+[\\da-fA-F]+(?=\\s|$)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t/*\n\t\t\t\t\tbase prefix floats 0x1.0p3 (8.0) 0b1.010p2 (5.0) 0x1.p1 0b1.11111111p11111...\n\t\t\t\t\t\"The normalized hex form ±0x1.MMMMMMMMMMMMM[pP]±EEEE allows any floating-point number to be specified precisely.\n\t\t\t\t\tThe values of MMMMMMMMMMMMM and EEEE map directly to the mantissa and exponent fields of the binary IEEE 754 representation.\"\n\t\t\t\t\t<https://docs.factorcode.org/content/article-syntax-floats.html>\n\t\t\t\t*/\n\t\t\t\tpattern: /(^|\\s)[+-]?0(?:b1\\.[01]*|o1\\.[0-7]*|d1\\.\\d*|x1\\.[\\dA-F]*)p\\d+(?=\\s|$)/i,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\n\t\t// R/ regexp?\\/\\\\/\n\t\t'regexp': {\n\t\t\tpattern: /(^|\\s)R\\/\\s(?:\\\\\\S|[^\\\\/])*\\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\\s|$)/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'number',\n\t\t\tinside: {\n\t\t\t\t'variable': /\\\\\\S/,\n\t\t\t\t'keyword': /[+?*\\[\\]^$(){}.|]/,\n\t\t\t\t'operator': {\n\t\t\t\t\tpattern: /(\\/)[idmsr]+(?:-[idmsr]+)?/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t'boolean': {\n\t\t\tpattern: /(^|\\s)[tf](?=\\s|$)/,\n\t\t\tlookbehind: true\n\t\t},\n\n\t\t// SBUF\" asd\", URL\" ://...\", P\" /etc/\"\n\t\t'custom-string': {\n\t\t\tpattern: /(^|\\s)[A-Z0-9\\-]+\"\\s(?:\\\\\\S|[^\"\\\\])*\"/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'string',\n\t\t\tinside: {\n\t\t\t\t'number': /\\\\\\S|%\\w|\\//\n\t\t\t}\n\t\t},\n\n\t\t'multiline-string': [\n\t\t\t{\n\t\t\t\t// STRING: name \\n content \\n ; -> CONSTANT: name \"content\" (symbol)\n\t\t\t\tpattern: /(^|\\s)STRING:\\s+\\S+(?:\\n|\\r\\n).*(?:\\n|\\r\\n)\\s*;(?=\\s|$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\talias: 'string',\n\t\t\t\tinside: {\n\t\t\t\t\t'number': string_inside.number,\n\t\t\t\t\t// trailing semicolon on its own line\n\t\t\t\t\t'semicolon-or-setlocal': {\n\t\t\t\t\t\tpattern: /([\\r\\n][ \\t]*);(?=\\s|$)/,\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\talias: 'function'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// HEREDOC: marker \\n content \\n marker ; -> \"content\" (immediate)\n\t\t\t\tpattern: /(^|\\s)HEREDOC:\\s+\\S+(?:\\n|\\r\\n).*(?:\\n|\\r\\n)\\s*\\S+(?=\\s|$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\talias: 'string',\n\t\t\t\tinside: string_inside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// [[ string ]], [==[ string]==]\n\t\t\t\tpattern: /(^|\\s)\\[(={0,6})\\[\\s[\\s\\S]*?\\]\\2\\](?=\\s|$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\talias: 'string',\n\t\t\t\tinside: string_inside\n\t\t\t}\n\t\t],\n\n\t\t'special-using': {\n\t\t\tpattern: /(^|\\s)USING:(?:\\s\\S+)*(?=\\s+;(?:\\s|$))/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function',\n\t\t\tinside: {\n\t\t\t\t// this is essentially a regex for vocab names, which i don't want to specify\n\t\t\t\t// but the USING: gets picked up as a vocab name\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: /(\\s)[^:\\s]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/* this description of stack effect literal syntax is not complete and not as specific as theoretically possible\n\t\t\ttrying to do better is more work and regex-computation-time than it's worth though.\n\t\t\t- we'd like to have the \"delimiter\" parts of the stack effect [ (, --, and ) ] be a different (less-important or comment-like) colour to the stack effect contents\n\t\t\t- we'd like if nested stack effects were treated as such rather than just appearing flat (with `inside`)\n\t\t\t- we'd like if the following variable name conventions were recognised specifically:\n\t\t\t\tspecial row variables = ..a b..\n\t\t\t\ttype and stack effect annotations end with a colon = ( quot: ( a: ( -- ) -- b ) -- x ), ( x: number -- )\n\t\t\t\tword throws unconditional error = *\n\t\t\t\tany other word-like variable name = a ? q' etc\n\n\t\t\thttps://docs.factorcode.org/content/article-effects.html\n\n\t\t\tthese are pretty complicated to highlight properly without a real parser, and therefore out of scope\n\t\t\tthe old pattern, which may be later useful, was: (^|\\s)(?:call|execute|eval)?\\((?:\\s+[^\"\\r\\n\\t ]\\S*)*?\\s+--(?:\\s+[^\"\\n\\t ]\\S*)*?\\s+\\)(?=\\s|$)\n\t\t*/\n\n\t\t// current solution is not great\n\t\t'stack-effect-delimiter': [\n\t\t\t{\n\t\t\t\t// opening parenthesis\n\t\t\t\tpattern: /(^|\\s)(?:call|eval|execute)?\\((?=\\s)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'operator'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// middle --\n\t\t\t\tpattern: /(\\s)--(?=\\s)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'operator'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// closing parenthesis\n\t\t\t\tpattern: /(\\s)\\)(?=\\s|$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'operator'\n\t\t\t}\n\t\t],\n\n\t\t'combinators': {\n\t\t\tpattern: null,\n\t\t\tlookbehind: true,\n\t\t\talias: 'keyword'\n\t\t},\n\n\t\t'kernel-builtin': {\n\t\t\tpattern: null,\n\t\t\tlookbehind: true,\n\t\t\talias: 'variable'\n\t\t},\n\n\t\t'sequences-builtin': {\n\t\t\tpattern: null,\n\t\t\tlookbehind: true,\n\t\t\talias: 'variable'\n\t\t},\n\n\t\t'math-builtin': {\n\t\t\tpattern: null,\n\t\t\tlookbehind: true,\n\t\t\talias: 'variable'\n\t\t},\n\n\t\t'constructor-word': {\n\t\t\t// <array> but not <=>\n\t\t\tpattern: /(^|\\s)<(?!=+>|-+>)\\S+>(?=\\s|$)/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'keyword'\n\t\t},\n\n\t\t'other-builtin-syntax': {\n\t\t\tpattern: null,\n\t\t\tlookbehind: true,\n\t\t\talias: 'operator'\n\t\t},\n\n\t\t/*\n\t\t\tfull list of supported word naming conventions: (the convention appears outside of the [brackets])\n\t\t\t\tset-[x]\n\t\t\t\tchange-[x]\n\t\t\t\twith-[x]\n\t\t\t\tnew-[x]\n\t\t\t\t>[string]\n\t\t\t\t[base]>\n\t\t\t\t[string]>[number]\n\t\t\t\t+[symbol]+\n\t\t\t\t[boolean-word]?\n\t\t\t\t?[of]\n\t\t\t\t[slot-reader]>>\n\t\t\t\t>>[slot-setter]\n\t\t\t\t[slot-writer]<<\n\t\t\t\t([implementation-detail])\n\t\t\t\t[mutater]!\n\t\t\t\t[variant]*\n\t\t\t\t[prettyprint].\n\t\t\t\t$[help-markup]\n\n\t\t\t<constructors>, SYNTAX:, etc are supported by their own patterns.\n\n\t\t\t`with` and `new` from `kernel` are their own builtins.\n\n\t\t\tsee <https://docs.factorcode.org/content/article-conventions.html>\n\t\t*/\n\t\t'conventionally-named-word': {\n\t\t\tpattern: /(^|\\s)(?!\")(?:(?:change|new|set|with)-\\S+|\\$\\S+|>[^>\\s]+|[^:>\\s]+>|[^>\\s]+>[^>\\s]+|\\+[^+\\s]+\\+|[^?\\s]+\\?|\\?[^?\\s]+|[^>\\s]+>>|>>[^>\\s]+|[^<\\s]+<<|\\([^()\\s]+\\)|[^!\\s]+!|[^*\\s]\\S*\\*|[^.\\s]\\S*\\.)(?=\\s|$)/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'keyword'\n\t\t},\n\n\t\t'colon-syntax': {\n\t\t\tpattern: /(^|\\s)(?:[A-Z0-9\\-]+#?)?:{1,2}\\s+(?:;\\S+|(?!;)\\S+)(?=\\s|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'function'\n\t\t},\n\n\t\t'semicolon-or-setlocal': {\n\t\t\tpattern: /(\\s)(?:;|:>)(?=\\s|$)/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\n\t\t// do not highlight leading } or trailing X{ at the begin/end of the file as it's invalid syntax\n\t\t'curly-brace-literal-delimiter': [\n\t\t\t{\n\t\t\t\t// opening\n\t\t\t\tpattern: /(^|\\s)[a-z]*\\{(?=\\s)/i,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'operator'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// closing\n\t\t\t\tpattern: /(\\s)\\}(?=\\s|$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'operator'\n\t\t\t},\n\n\t\t],\n\n\t\t// do not highlight leading ] or trailing [ at the begin/end of the file as it's invalid syntax\n\t\t'quotation-delimiter': [\n\t\t\t{\n\t\t\t\t// opening\n\t\t\t\tpattern: /(^|\\s)\\[(?=\\s)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'operator'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// closing\n\t\t\t\tpattern: /(\\s)\\](?=\\s|$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'operator'\n\t\t\t},\n\t\t],\n\n\t\t'normal-word': {\n\t\t\tpattern: /(^|\\s)[^\"\\s]\\S*(?=\\s|$)/,\n\t\t\tlookbehind: true\n\t\t},\n\n\t\t/*\n\t\t\tbasic first-class string \"a\"\n\t\t\t\twith escaped double-quote \"a\\\"\"\n\t\t\t\tescaped backslash \"\\\\\"\n\t\t\t\tand general escapes since Factor has so many \"\\N\"\n\n\t\t\tsyntax that works in the reference implementation that isn't fully\n\t\t\tsupported because it's an implementation detail:\n\t\t\t\t\"string 1\"\"string 2\" -> 2 strings (works anyway)\n\t\t\t\t\"string\"5 -> string, 5\n\t\t\t\t\"string\"[ ] -> string, quotation\n\t\t\t\t{ \"a\"} -> array<string>\n\n\t\t\tthe rest of those examples all properly recognise the string, but not\n\t\t\t\tthe other object (number, quotation, etc)\n\t\t\tthis is fine for a regex-only implementation.\n\t\t*/\n\t\t'string': {\n\t\t\tpattern: /\"(?:\\\\\\S|[^\"\\\\])*\"/,\n\t\t\tgreedy: true,\n\t\t\tinside: string_inside\n\t\t}\n\t};\n\n\tvar escape = function (str) {\n\t\treturn (str + '').replace(/([.?*+\\^$\\[\\]\\\\(){}|\\-])/g, '\\\\$1');\n\t};\n\n\tvar arrToWordsRegExp = function (arr) {\n\t\treturn new RegExp(\n\t\t\t'(^|\\\\s)(?:' + arr.map(escape).join('|') + ')(?=\\\\s|$)'\n\t\t);\n\t};\n\n\tvar builtins = {\n\t\t'kernel-builtin': [\n\t\t\t'or', '2nipd', '4drop', 'tuck', 'wrapper', 'nip', 'wrapper?', 'callstack>array', 'die', 'dupd', 'callstack', 'callstack?', '3dup', 'hashcode', 'pick', '4nip', 'build', '>boolean', 'nipd', 'clone', '5nip', 'eq?', '?', '=', 'swapd', '2over', 'clear', '2dup', 'get-retainstack', 'not', 'tuple?', 'dup', '3nipd', 'call', '-rotd', 'object', 'drop', 'assert=', 'assert?', '-rot', 'execute', 'boa', 'get-callstack', 'curried?', '3drop', 'pickd', 'overd', 'over', 'roll', '3nip', 'swap', 'and', '2nip', 'rotd', 'throw', '(clone)', 'hashcode*', 'spin', 'reach', '4dup', 'equal?', 'get-datastack', 'assert', '2drop', '<wrapper>', 'boolean?', 'identity-hashcode', 'identity-tuple?', 'null', 'composed?', 'new', '5drop', 'rot', '-roll', 'xor', 'identity-tuple', 'boolean'\n\t\t],\n\t\t'other-builtin-syntax': [\n\t\t\t// syntax\n\t\t\t'=======', 'recursive', 'flushable', '>>', '<<<<<<', 'M\\\\', 'B', 'PRIVATE>', '\\\\', '======', 'final', 'inline', 'delimiter', 'deprecated', '<PRIVATE', '>>>>>>', '<<<<<<<', 'parse-complex', 'malformed-complex', 'read-only', '>>>>>>>', 'call-next-method', '<<', 'foldable',\n\t\t\t// literals\n\t\t\t'$', '$[', '${'\n\t\t],\n\t\t'sequences-builtin': [\n\t\t\t'member-eq?', 'mismatch', 'append', 'assert-sequence=', 'longer', 'repetition', 'clone-like', '3sequence', 'assert-sequence?', 'last-index-from', 'reversed', 'index-from', 'cut*', 'pad-tail', 'join-as', 'remove-eq!', 'concat-as', 'but-last', 'snip', 'nths', 'nth', 'sequence', 'longest', 'slice?', '<slice>', 'remove-nth', 'tail-slice', 'empty?', 'tail*', 'member?', 'virtual-sequence?', 'set-length', 'drop-prefix', 'iota', 'unclip', 'bounds-error?', 'unclip-last-slice', 'non-negative-integer-expected', 'non-negative-integer-expected?', 'midpoint@', 'longer?', '?set-nth', '?first', 'rest-slice', 'prepend-as', 'prepend', 'fourth', 'sift', 'subseq-start', 'new-sequence', '?last', 'like', 'first4', '1sequence', 'reverse', 'slice', 'virtual@', 'repetition?', 'set-last', 'index', '4sequence', 'max-length', 'set-second', 'immutable-sequence', 'first2', 'first3', 'supremum', 'unclip-slice', 'suffix!', 'insert-nth', 'tail', '3append', 'short', 'suffix', 'concat', 'flip', 'immutable?', 'reverse!', '2sequence', 'sum', 'delete-all', 'indices', 'snip-slice', '<iota>', 'check-slice', 'sequence?', 'head', 'append-as', 'halves', 'sequence=', 'collapse-slice', '?second', 'slice-error?', 'product', 'bounds-check?', 'bounds-check', 'immutable', 'virtual-exemplar', 'harvest', 'remove', 'pad-head', 'last', 'set-fourth', 'cartesian-product', 'remove-eq', 'shorten', 'shorter', 'reversed?', 'shorter?', 'shortest', 'head-slice', 'pop*', 'tail-slice*', 'but-last-slice', 'iota?', 'append!', 'cut-slice', 'new-resizable', 'head-slice*', 'sequence-hashcode', 'pop', 'set-nth', '?nth', 'second', 'join', 'immutable-sequence?', '<reversed>', '3append-as', 'virtual-sequence', 'subseq?', 'remove-nth!', 'length', 'last-index', 'lengthen', 'assert-sequence', 'copy', 'move', 'third', 'first', 'tail?', 'set-first', 'prefix', 'bounds-error', '<repetition>', 'exchange', 'surround', 'cut', 'min-length', 'set-third', 'push-all', 'head?', 'subseq-start-from', 'delete-slice', 'rest', 'sum-lengths', 'head*', 'infimum', 'remove!', 'glue', 'slice-error', 'subseq', 'push', 'replace-slice', 'subseq-as', 'unclip-last'\n\t\t],\n\t\t'math-builtin': [\n\t\t\t'number=', 'next-power-of-2', '?1+', 'fp-special?', 'imaginary-part', 'float>bits', 'number?', 'fp-infinity?', 'bignum?', 'fp-snan?', 'denominator', 'gcd', '*', '+', 'fp-bitwise=', '-', 'u>=', '/', '>=', 'bitand', 'power-of-2?', 'log2-expects-positive', 'neg?', '<', 'log2', '>', 'integer?', 'number', 'bits>double', '2/', 'zero?', 'bits>float', 'float?', 'shift', 'ratio?', 'rect>', 'even?', 'ratio', 'fp-sign', 'bitnot', '>fixnum', 'complex?', '/i', 'integer>fixnum', '/f', 'sgn', '>bignum', 'next-float', 'u<', 'u>', 'mod', 'recip', 'rational', '>float', '2^', 'integer', 'fixnum?', 'neg', 'fixnum', 'sq', 'bignum', '>rect', 'bit?', 'fp-qnan?', 'simple-gcd', 'complex', '<fp-nan>', 'real', '>fraction', 'double>bits', 'bitor', 'rem', 'fp-nan-payload', 'real-part', 'log2-expects-positive?', 'prev-float', 'align', 'unordered?', 'float', 'fp-nan?', 'abs', 'bitxor', 'integer>fixnum-strict', 'u<=', 'odd?', '<=', '/mod', '>integer', 'real?', 'rational?', 'numerator'\n\t\t]\n\t\t// that's all for now\n\t};\n\n\tObject.keys(builtins).forEach(function (k) {\n\t\tfactor[k].pattern = arrToWordsRegExp(builtins[k]);\n\t});\n\n\tvar combinators = [\n\t\t// kernel\n\t\t'2bi', 'while', '2tri', 'bi*', '4dip', 'both?', 'same?', 'tri@', 'curry', 'prepose', '3bi', '?if', 'tri*', '2keep', '3keep', 'curried', '2keepd', 'when', '2bi*', '2tri*', '4keep', 'bi@', 'keepdd', 'do', 'unless*', 'tri-curry', 'if*', 'loop', 'bi-curry*', 'when*', '2bi@', '2tri@', 'with', '2with', 'either?', 'bi', 'until', '3dip', '3curry', 'tri-curry*', 'tri-curry@', 'bi-curry', 'keepd', 'compose', '2dip', 'if', '3tri', 'unless', 'tuple', 'keep', '2curry', 'tri', 'most', 'while*', 'dip', 'composed', 'bi-curry@',\n\t\t// sequences\n\t\t'find-last-from', 'trim-head-slice', 'map-as', 'each-from', 'none?', 'trim-tail', 'partition', 'if-empty', 'accumulate*', 'reject!', 'find-from', 'accumulate-as', 'collector-for-as', 'reject', 'map', 'map-sum', 'accumulate!', '2each-from', 'follow', 'supremum-by', 'map!', 'unless-empty', 'collector', 'padding', 'reduce-index', 'replicate-as', 'infimum-by', 'trim-tail-slice', 'count', 'find-index', 'filter', 'accumulate*!', 'reject-as', 'map-integers', 'map-find', 'reduce', 'selector', 'interleave', '2map', 'filter-as', 'binary-reduce', 'map-index-as', 'find', 'produce', 'filter!', 'replicate', 'cartesian-map', 'cartesian-each', 'find-index-from', 'map-find-last', '3map-as', '3map', 'find-last', 'selector-as', '2map-as', '2map-reduce', 'accumulate', 'each', 'each-index', 'accumulate*-as', 'when-empty', 'all?', 'collector-as', 'push-either', 'new-like', 'collector-for', '2selector', 'push-if', '2all?', 'map-reduce', '3each', 'any?', 'trim-slice', '2reduce', 'change-nth', 'produce-as', '2each', 'trim', 'trim-head', 'cartesian-find', 'map-index',\n\t\t// math\n\t\t'if-zero', 'each-integer', 'unless-zero', '(find-integer)', 'when-zero', 'find-last-integer', '(all-integers?)', 'times', '(each-integer)', 'find-integer', 'all-integers?',\n\t\t// math.combinators\n\t\t'unless-negative', 'if-positive', 'when-positive', 'when-negative', 'unless-positive', 'if-negative',\n\t\t// combinators\n\t\t'case', '2cleave', 'cond>quot', 'case>quot', '3cleave', 'wrong-values', 'to-fixed-point', 'alist>quot', 'cond', 'cleave', 'call-effect', 'recursive-hashcode', 'spread', 'deep-spread>quot',\n\t\t// combinators.short-circuit\n\t\t'2||', '0||', 'n||', '0&&', '2&&', '3||', '1||', '1&&', 'n&&', '3&&',\n\t\t// combinators.smart\n\t\t'smart-unless*', 'keep-inputs', 'reduce-outputs', 'smart-when*', 'cleave>array', 'smart-with', 'smart-apply', 'smart-if', 'inputs/outputs', 'output>sequence-n', 'map-outputs', 'map-reduce-outputs', 'dropping', 'output>array', 'smart-map-reduce', 'smart-2map-reduce', 'output>array-n', 'nullary', 'input<sequence', 'append-outputs', 'drop-inputs', 'inputs', 'smart-2reduce', 'drop-outputs', 'smart-reduce', 'preserving', 'smart-when', 'outputs', 'append-outputs-as', 'smart-unless', 'smart-if*', 'sum-outputs', 'input<sequence-unsafe', 'output>sequence',\n\t\t// tafn\n\t];\n\n\tfactor.combinators.pattern = arrToWordsRegExp(combinators);\n\n\tPrism.languages.factor = factor;\n\n}(Prism));\n","(function (Prism) {\n\t/**\n\t * Based on the manual by Wouter van Oortmerssen.\n\t *\n\t * @see {@link https://github.com/PrismJS/prism/issues/2801#issue-829717504}\n\t */\n\tPrism.languages['false'] = {\n\t\t'comment': {\n\t\t\tpattern: /\\{[^}]*\\}/\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /\"[^\"]*\"/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'character-code': {\n\t\t\tpattern: /'(?:[^\\r]|\\r\\n?)/,\n\t\t\talias: 'number'\n\t\t},\n\t\t'assembler-code': {\n\t\t\tpattern: /\\d+`/,\n\t\t\talias: 'important'\n\t\t},\n\t\t'number': /\\d+/,\n\t\t'operator': /[-!#$%&'*+,./:;=>?@\\\\^_`|~ßø]/,\n\t\t'punctuation': /\\[|\\]/,\n\t\t'variable': /[a-z]/,\n\t\t'non-standard': {\n\t\t\tpattern: /[()<BDO®]/,\n\t\t\talias: 'bold'\n\t\t}\n\t};\n}(Prism));\n","Prism.languages['firestore-security-rules'] = Prism.languages.extend('clike', {\n\t'comment': /\\/\\/.*/,\n\t'keyword': /\\b(?:allow|function|if|match|null|return|rules_version|service)\\b/,\n\t'operator': /&&|\\|\\||[<>!=]=?|[-+*/%]|\\b(?:in|is)\\b/,\n});\n\ndelete Prism.languages['firestore-security-rules']['class-name'];\n\nPrism.languages.insertBefore('firestore-security-rules', 'keyword', {\n\t'path': {\n\t\tpattern: /(^|[\\s(),])(?:\\/(?:[\\w\\xA0-\\uFFFF]+|\\{[\\w\\xA0-\\uFFFF]+(?:=\\*\\*)?\\}|\\$\\([\\w\\xA0-\\uFFFF.]+\\)))+/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'variable': {\n\t\t\t\tpattern: /\\{[\\w\\xA0-\\uFFFF]+(?:=\\*\\*)?\\}|\\$\\([\\w\\xA0-\\uFFFF.]+\\)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'operator': /=/,\n\t\t\t\t\t'keyword': /\\*\\*/,\n\t\t\t\t\t'punctuation': /[.$(){}]/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\//\n\t\t}\n\t},\n\t'method': {\n\t\t// to make the pattern shorter, the actual method names are omitted\n\t\tpattern: /(\\ballow\\s+)[a-z]+(?:\\s*,\\s*[a-z]+)*(?=\\s*[:;])/,\n\t\tlookbehind: true,\n\t\talias: 'builtin',\n\t\tinside: {\n\t\t\t'punctuation': /,/\n\t\t}\n\t},\n});\n","(function (Prism) {\n\tPrism.languages.flow = Prism.languages.extend('javascript', {});\n\n\tPrism.languages.insertBefore('flow', 'keyword', {\n\t\t'type': [\n\t\t\t{\n\t\t\t\tpattern: /\\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\\b/,\n\t\t\t\talias: 'class-name'\n\t\t\t}\n\t\t]\n\t});\n\tPrism.languages.flow['function-variable'].pattern = /(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/i;\n\tdelete Prism.languages.flow['parameter'];\n\n\tPrism.languages.insertBefore('flow', 'operator', {\n\t\t'flow-punctuation': {\n\t\t\tpattern: /\\{\\||\\|\\}/,\n\t\t\talias: 'punctuation'\n\t\t}\n\t});\n\n\tif (!Array.isArray(Prism.languages.flow.keyword)) {\n\t\tPrism.languages.flow.keyword = [Prism.languages.flow.keyword];\n\t}\n\tPrism.languages.flow.keyword.unshift(\n\t\t{\n\t\t\tpattern: /(^|[^$]\\b)(?:Class|declare|opaque|type)\\b(?!\\$)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$]\\B)\\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\\b(?!\\$)/,\n\t\t\tlookbehind: true\n\t\t}\n\t);\n}(Prism));\n","Prism.languages.fortran = {\n\t'quoted-number': {\n\t\tpattern: /[BOZ](['\"])[A-F0-9]+\\1/i,\n\t\talias: 'number'\n\t},\n\t'string': {\n\t\tpattern: /(?:\\b\\w+_)?(['\"])(?:\\1\\1|&(?:\\r\\n?|\\n)(?:[ \\t]*!.*(?:\\r\\n?|\\n)|(?![ \\t]*!))|(?!\\1).)*(?:\\1|&)/,\n\t\tinside: {\n\t\t\t'comment': {\n\t\t\t\tpattern: /(&(?:\\r\\n?|\\n)\\s*)!.*/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t}\n\t},\n\t'comment': {\n\t\tpattern: /!.*/,\n\t\tgreedy: true\n\t},\n\t'boolean': /\\.(?:FALSE|TRUE)\\.(?:_\\w+)?/i,\n\t'number': /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[ED][+-]?\\d+)?(?:_\\w+)?/i,\n\t'keyword': [\n\t\t// Types\n\t\t/\\b(?:CHARACTER|COMPLEX|DOUBLE ?PRECISION|INTEGER|LOGICAL|REAL)\\b/i,\n\t\t// END statements\n\t\t/\\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\\b/i,\n\t\t// Statements\n\t\t/\\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\\b/i,\n\t\t// Others\n\t\t/\\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEIF|ELSEWHERE|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\\b/i\n\t],\n\t'operator': [\n\t\t/\\*\\*|\\/\\/|=>|[=\\/]=|[<>]=?|::|[+\\-*=%]|\\.[A-Z]+\\./i,\n\t\t{\n\t\t\t// Use lookbehind to prevent confusion with (/ /)\n\t\t\tpattern: /(^|(?!\\().)\\/(?!\\))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'punctuation': /\\(\\/|\\/\\)|[(),;:&]/\n};\n","(function (Prism) {\n\n\t// https://freemarker.apache.org/docs/dgui_template_exp.html\n\n\t// FTL expression with 4 levels of nesting supported\n\tvar FTL_EXPR = /[^<()\"']|\\((?:<expr>)*\\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|\"(?:[^\\\\\"]|\\\\.)*\"|'(?:[^\\\\']|\\\\.)*'/.source;\n\tfor (var i = 0; i < 2; i++) {\n\t\tFTL_EXPR = FTL_EXPR.replace(/<expr>/g, function () { return FTL_EXPR; });\n\t}\n\tFTL_EXPR = FTL_EXPR.replace(/<expr>/g, /[^\\s\\S]/.source);\n\n\tvar ftl = {\n\t\t'comment': /<#--[\\s\\S]*?-->/,\n\t\t'string': [\n\t\t\t{\n\t\t\t\t// raw string\n\t\t\t\tpattern: /\\br(\"|')(?:(?!\\1)[^\\\\]|\\\\.)*\\1/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(\"|')(?:(?!\\1|\\$\\{)[^\\\\]|\\\\.|\\$\\{(?:(?!\\})(?:<expr>))*\\})*\\1/.source.replace(/<expr>/g, function () { return FTL_EXPR; })),\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation': {\n\t\t\t\t\t\tpattern: RegExp(/((?:^|[^\\\\])(?:\\\\\\\\)*)\\$\\{(?:(?!\\})(?:<expr>))*\\}/.source.replace(/<expr>/g, function () { return FTL_EXPR; })),\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trest: null\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'keyword': /\\b(?:as)\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'builtin-function': {\n\t\t\tpattern: /((?:^|[^?])\\?\\s*)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'function': /\\b\\w+(?=\\s*\\()/,\n\t\t'number': /\\b\\d+(?:\\.\\d+)?\\b/,\n\t\t'operator': /\\.\\.[<*!]?|->|--|\\+\\+|&&|\\|\\||\\?{1,2}|[-+*/%!=<>]=?|\\b(?:gt|gte|lt|lte)\\b/,\n\t\t'punctuation': /[,;.:()[\\]{}]/\n\t};\n\n\tftl.string[1].inside.interpolation.inside.rest = ftl;\n\n\tPrism.languages.ftl = {\n\t\t'ftl-comment': {\n\t\t\t// the pattern is shortened to be more efficient\n\t\t\tpattern: /^<#--[\\s\\S]*/,\n\t\t\talias: 'comment'\n\t\t},\n\t\t'ftl-directive': {\n\t\t\tpattern: /^<[\\s\\S]+>$/,\n\t\t\tinside: {\n\t\t\t\t'directive': {\n\t\t\t\t\tpattern: /(^<\\/?)[#@][a-z]\\w*/i,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'keyword'\n\t\t\t\t},\n\t\t\t\t'punctuation': /^<\\/?|\\/?>$/,\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /\\s*\\S[\\s\\S]*/,\n\t\t\t\t\talias: 'ftl',\n\t\t\t\t\tinside: ftl\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'ftl-interpolation': {\n\t\t\tpattern: /^\\$\\{[\\s\\S]*\\}$/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^\\$\\{|\\}$/,\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /\\s*\\S[\\s\\S]*/,\n\t\t\t\t\talias: 'ftl',\n\t\t\t\t\tinside: ftl\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tPrism.hooks.add('before-tokenize', function (env) {\n\t\t// eslint-disable-next-line regexp/no-useless-lazy\n\t\tvar pattern = RegExp(/<#--[\\s\\S]*?-->|<\\/?[#@][a-zA-Z](?:<expr>)*?>|\\$\\{(?:<expr>)*?\\}/.source.replace(/<expr>/g, function () { return FTL_EXPR; }), 'gi');\n\t\tPrism.languages['markup-templating'].buildPlaceholders(env, 'ftl', pattern);\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tPrism.languages['markup-templating'].tokenizePlaceholders(env, 'ftl');\n\t});\n\n}(Prism));\n","Prism.languages.gamemakerlanguage = Prism.languages.gml = Prism.languages.extend('clike', {\n\t'keyword': /\\b(?:break|case|continue|default|do|else|enum|exit|for|globalvar|if|repeat|return|switch|until|var|while)\\b/,\n\t'number': /(?:\\b0x[\\da-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ulf]{0,4}/i,\n\t'operator': /--|\\+\\+|[-+%/=]=?|!=|\\*\\*?=?|<[<=>]?|>[=>]?|&&?|\\^\\^?|\\|\\|?|~|\\b(?:and|at|not|or|with|xor)\\b/,\n\t'constant': /\\b(?:GM_build_date|GM_version|action_(?:continue|restart|reverse|stop)|all|gamespeed_(?:fps|microseconds)|global|local|noone|other|pi|pointer_(?:invalid|null)|self|timezone_(?:local|utc)|undefined|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|post|pre)|keypress|keyrelease|trigger|(?:left|middle|no|right)_button|(?:left|middle|right)_press|(?:left|middle|right)_release|mouse_(?:enter|leave|wheel_down|wheel_up)|global_(?:left|middle|right)_button|global_(?:left|middle|right)_press|global_(?:left|middle|right)_release|joystick(?:1|2)_(?:button1|button2|button3|button4|button5|button6|button7|button8|down|left|right|up)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\\d|gui|gui_begin|gui_end|step_(?:begin|end|normal))|vk_(?:alt|anykey|backspace|control|delete|down|end|enter|escape|home|insert|left|nokey|pagedown|pageup|pause|printscreen|return|right|shift|space|tab|up|f\\d|numpad\\d|add|decimal|divide|lalt|lcontrol|lshift|multiply|ralt|rcontrol|rshift|subtract)|achievement_(?:filter_(?:all_players|favorites_only|friends_only)|friends_info|info|leaderboard_info|our_info|pic_loaded|show_(?:achievement|bank|friend_picker|leaderboard|profile|purchase_prompt|ui)|type_challenge|type_score_challenge)|asset_(?:font|object|path|room|script|shader|sound|sprite|tiles|timeline|unknown)|audio_(?:3d|falloff_(?:exponent_distance|exponent_distance_clamped|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|none)|mono|new_system|old_system|stereo)|bm_(?:add|complex|dest_alpha|dest_color|dest_colour|inv_dest_alpha|inv_dest_color|inv_dest_colour|inv_src_alpha|inv_src_color|inv_src_colour|max|normal|one|src_alpha|src_alpha_sat|src_color|src_colour|subtract|zero)|browser_(?:chrome|firefox|ie|ie_mobile|not_a_browser|opera|safari|safari_mobile|tizen|unknown|windows_store)|buffer_(?:bool|f16|f32|f64|fast|fixed|generalerror|grow|invalidtype|network|outofbounds|outofspace|s16|s32|s8|seek_end|seek_relative|seek_start|string|text|u16|u32|u64|u8|vbuffer|wrap)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)|cmpfunc_(?:always|equal|greater|greaterequal|less|lessequal|never|notequal)|cr_(?:appstart|arrow|beam|cross|default|drag|handpoint|hourglass|none|size_all|size_nesw|size_ns|size_nwse|size_we|uparrow)|cull_(?:clockwise|counterclockwise|noculling)|device_(?:emulator|tablet)|device_ios_(?:ipad|ipad_retina|iphone|iphone5|iphone6|iphone6plus|iphone_retina|unknown)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|dll_(?:cdecl|cdel|stdcall)|ds_type_(?:grid|list|map|priority|queue|stack)|ef_(?:cloud|ellipse|explosion|firework|flare|rain|ring|smoke|smokeup|snow|spark|star)|fa_(?:archive|bottom|center|directory|hidden|left|middle|readonly|right|sysfile|top|volumeid)|fb_login_(?:default|fallback_to_webview|forcing_safari|forcing_webview|no_fallback_to_webview|use_system_account)|iap_(?:available|canceled|ev_consume|ev_product|ev_purchase|ev_restore|ev_storeload|failed|purchased|refunded|status_available|status_loading|status_processing|status_restoring|status_unavailable|status_uninitialised|storeload_failed|storeload_ok|unavailable)|leaderboard_type_(?:number|time_mins_secs)|lighttype_(?:dir|point)|matrix_(?:projection|view|world)|mb_(?:any|left|middle|none|right)|network_(?:config_(?:connect_timeout|disable_reliable_udp|enable_reliable_udp|use_non_blocking_socket)|socket_(?:bluetooth|tcp|udp)|type_(?:connect|data|disconnect|non_blocking_connect))|of_challenge_(?:lose|tie|win)|os_(?:android|ios|linux|macosx|ps3|ps4|psvita|unknown|uwp|win32|win8native|windows|winphone|xboxone)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|angle|angle_limits|damping_ratio|frequency|length_1|length_2|lower_angle_limit|max_force|max_length|max_motor_force|max_motor_torque|max_torque|motor_force|motor_speed|motor_torque|reaction_force_x|reaction_force_y|reaction_torque|speed|translation|upper_angle_limit)|phy_particle_data_flag_(?:category|color|colour|position|typeflags|velocity)|phy_particle_flag_(?:colormixing|colourmixing|elastic|powder|spring|tensile|viscous|wall|water|zombie)|phy_particle_group_flag_(?:rigid|solid)|pr_(?:linelist|linestrip|pointlist|trianglefan|trianglelist|trianglestrip)|ps_(?:distr|shape)_(?:diamond|ellipse|gaussian|invgaussian|line|linear|rectangle)|pt_shape_(?:circle|cloud|disk|explosion|flare|line|pixel|ring|smoke|snow|spark|sphere|square|star)|ty_(?:real|string)|gp_(?:face\\d|axislh|axislv|axisrh|axisrv|padd|padl|padr|padu|select|shoulderl|shoulderlb|shoulderr|shoulderrb|start|stickl|stickr)|lb_disp_(?:none|numeric|time_ms|time_sec)|lb_sort_(?:ascending|descending|none)|ov_(?:achievements|community|friends|gamegroup|players|settings)|ugc_(?:filetype_(?:community|microtrans)|list_(?:Favorited|Followed|Published|Subscribed|UsedOrPlayed|VotedDown|VotedOn|VotedUp|WillVoteLater)|match_(?:AllGuides|Artwork|Collections|ControllerBindings|IntegratedGuides|Items|Items_Mtx|Items_ReadyToUse|Screenshots|UsableInGame|Videos|WebGuides)|query_(?:AcceptedForGameRankedByAcceptanceDate|CreatedByFriendsRankedByPublicationDate|FavoritedByFriendsRankedByPublicationDate|NotYetRated)|query_RankedBy(?:NumTimesReported|PublicationDate|TextSearch|TotalVotesAsc|Trend|Vote|VotesUp)|result_success|sortorder_CreationOrder(?:Asc|Desc)|sortorder_(?:ForModeration|LastUpdatedDesc|SubscriptionDateDesc|TitleAsc|VoteScoreDesc)|visibility_(?:friends_only|private|public))|vertex_usage_(?:binormal|blendindices|blendweight|color|colour|depth|fog|normal|position|psize|sample|tangent|texcoord|textcoord)|vertex_type_(?:float\\d|color|colour|ubyte4)|input_type|layerelementtype_(?:background|instance|oldtilemap|particlesystem|sprite|tile|tilemap|undefined)|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|tile_(?:flip|index_mask|mirror|rotate)|(?:obj|rm|scr|spr)\\w+)\\b/,\n\t'variable': /\\b(?:alarm|application_surface|async_load|background_(?:alpha|blend|color|colour|foreground|height|hspeed|htiled|index|showcolor|showcolour|visible|vspeed|vtiled|width|x|xscale|y|yscale)|bbox_(?:bottom|left|right|top)|browser_(?:height|width)|caption_(?:health|lives|score)|current_(?:day|hour|minute|month|second|time|weekday|year)|cursor_sprite|debug_mode|delta_time|direction|display_aa|error_(?:last|occurred)|event_(?:action|number|object|type)|fps|fps_real|friction|game_(?:display|project|save)_(?:id|name)|gamemaker_(?:pro|registered|version)|gravity|gravity_direction|(?:h|v)speed|health|iap_data|id|image_(?:alpha|angle|blend|depth|index|number|speed|xscale|yscale)|instance_(?:count|id)|keyboard_(?:key|lastchar|lastkey|string)|layer|lives|mask_index|mouse_(?:button|lastbutton|x|y)|object_index|os_(?:browser|device|type|version)|path_(?:endaction|index|orientation|position|positionprevious|scale|speed)|persistent|phy_(?:rotation|(?:col_normal|collision|com|linear_velocity|position|speed)_(?:x|y)|angular_(?:damping|velocity)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|pointer_(?:invalid|null)|room|room_(?:caption|first|height|last|persistent|speed|width)|score|secure_mode|show_(?:health|lives|score)|solid|speed|sprite_(?:height|index|width|xoffset|yoffset)|temp_directory|timeline_(?:index|loop|position|running|speed)|transition_(?:color|kind|steps)|undefined|view_(?:angle|current|enabled|(?:h|v)(?:border|speed)|(?:h|w|x|y)port|(?:h|w|x|y)view|object|surface_id|visible)|visible|webgl_enabled|working_directory|(?:x|y)(?:previous|start)|x|y|argument(?:_relitive|_count|\\d)|argument|global|local|other|self)\\b/\n});\n","// https://www.gap-system.org/Manuals/doc/ref/chap4.html\n// https://www.gap-system.org/Manuals/doc/ref/chap27.html\n\nPrism.languages.gap = {\n\t'shell': {\n\t\tpattern: /^gap>[\\s\\S]*?(?=^gap>|$(?![\\s\\S]))/m,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'gap': {\n\t\t\t\tpattern: /^(gap>).+(?:(?:\\r(?:\\n|(?!\\n))|\\n)>.*)*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'punctuation': /^gap>/\n\t\t}\n\t},\n\n\t'comment': {\n\t\tpattern: /#.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(^|[^\\\\'\"])(?:'(?:[^\\r\\n\\\\']|\\\\.){1,10}'|\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"(?!\")|\"\"\"[\\s\\S]*?\"\"\")/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'continuation': {\n\t\t\t\tpattern: /([\\r\\n])>/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'punctuation'\n\t\t\t}\n\t\t}\n\t},\n\n\t'keyword': /\\b(?:Assert|Info|IsBound|QUIT|TryNextMethod|Unbind|and|atomic|break|continue|do|elif|else|end|fi|for|function|if|in|local|mod|not|od|or|quit|readonly|readwrite|rec|repeat|return|then|until|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\n\t'number': {\n\t\tpattern: /(^|[^\\w.]|\\.\\.)(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?:_[a-z]?)?(?=$|[^\\w.]|\\.\\.)/,\n\t\tlookbehind: true\n\t},\n\n\t'continuation': {\n\t\tpattern: /([\\r\\n])>/,\n\t\tlookbehind: true,\n\t\talias: 'punctuation'\n\t},\n\t'operator': /->|[-+*/^~=!]|<>|[<>]=?|:=|\\.\\./,\n\t'punctuation': /[()[\\]{},;.:]/\n};\n\nPrism.languages.gap.shell.inside.gap.inside = Prism.languages.gap;\n","Prism.languages.gcode = {\n\t'comment': /;.*|\\B\\(.*?\\)\\B/,\n\t'string': {\n\t\tpattern: /\"(?:\"\"|[^\"])*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b[GM]\\d+(?:\\.\\d+)?\\b/,\n\t'property': /\\b[A-Z]/,\n\t'checksum': {\n\t\tpattern: /(\\*)\\d+/,\n\t\tlookbehind: true,\n\t\talias: 'number'\n\t},\n\t// T0:0:0\n\t'punctuation': /[:*]/\n};\n","Prism.languages.gdscript = {\n\t'comment': /#.*/,\n\t'string': {\n\t\tpattern: /@?(?:(\"|')(?:(?!\\1)[^\\n\\\\]|\\\\[\\s\\S])*\\1(?!\"|')|\"\"\"(?:[^\\\\]|\\\\[\\s\\S])*?\"\"\")/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\t// class_name Foo, extends Bar, class InnerClass\n\t\t// export(int) var baz, export(int, 0) var i\n\t\t// as Node\n\t\t// const FOO: int = 9, var bar: bool = true\n\t\t// func add(reference: Item, amount: int) -> Item:\n\t\tpattern: /(^(?:class|class_name|extends)[ \\t]+|^export\\([ \\t]*|\\bas[ \\t]+|(?:\\b(?:const|var)[ \\t]|[,(])[ \\t]*\\w+[ \\t]*:[ \\t]*|->[ \\t]*)[a-zA-Z_]\\w*/m,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=[ \\t]*\\()/i,\n\t'variable': /\\$\\w+/,\n\t'number': [\n\t\t/\\b0b[01_]+\\b|\\b0x[\\da-fA-F_]+\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.[\\d_]+)(?:e[+-]?[\\d_]+)?\\b/,\n\t\t/\\b(?:INF|NAN|PI|TAU)\\b/\n\t],\n\t'constant': /\\b[A-Z][A-Z_\\d]*\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'operator': /->|:=|&&|\\|\\||<<|>>|[-+*/%&|!<>=]=?|[~^]/,\n\t'punctuation': /[.:,;()[\\]{}]/\n};\n","Prism.languages.gedcom = {\n\t'line-value': {\n\t\t// Preceded by level, optional pointer, and tag\n\t\tpattern: /(^[\\t ]*\\d+ +(?:@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@ +)?\\w+ ).+/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'pointer': {\n\t\t\t\tpattern: /^@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@$/,\n\t\t\t\talias: 'variable'\n\t\t\t}\n\t\t}\n\t},\n\t'record': {\n\t\t// Preceded by level and optional pointer\n\t\tpattern: /(^[\\t ]*\\d+ +(?:@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@ +)?)\\w+/m,\n\t\tlookbehind: true,\n\t\talias: 'tag'\n\t},\n\t'level': {\n\t\tpattern: /(^[\\t ]*)\\d+/m,\n\t\tlookbehind: true,\n\t\talias: 'number'\n\t},\n\t'pointer': {\n\t\tpattern: /@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@/,\n\t\talias: 'variable'\n\t}\n};\n","Prism.languages.gettext = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /# .*/,\n\t\t\tgreedy: true,\n\t\t\talias: 'translator-comment'\n\t\t},\n\t\t{\n\t\t\tpattern: /#\\..*/,\n\t\t\tgreedy: true,\n\t\t\talias: 'extracted-comment'\n\t\t},\n\t\t{\n\t\t\tpattern: /#:.*/,\n\t\t\tgreedy: true,\n\t\t\talias: 'reference-comment'\n\t\t},\n\t\t{\n\t\t\tpattern: /#,.*/,\n\t\t\tgreedy: true,\n\t\t\talias: 'flag-comment'\n\t\t},\n\t\t{\n\t\t\tpattern: /#\\|.*/,\n\t\t\tgreedy: true,\n\t\t\talias: 'previously-untranslated-comment'\n\t\t},\n\t\t{\n\t\t\tpattern: /#.*/,\n\t\t\tgreedy: true\n\t\t},\n\t],\n\t'string': {\n\t\tpattern: /(^|[^\\\\])\"(?:[^\"\\\\]|\\\\.)*\"/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'keyword': /^msg(?:ctxt|id|id_plural|str)\\b/m,\n\t'number': /\\b\\d+\\b/,\n\t'punctuation': /[\\[\\]]/\n};\n\nPrism.languages.po = Prism.languages.gettext;\n","Prism.languages.git = {\n\t/*\n\t * A simple one line comment like in a git status command\n\t * For instance:\n\t * $ git status\n\t * # On branch infinite-scroll\n\t * # Your branch and 'origin/sharedBranches/frontendTeam/infinite-scroll' have diverged,\n\t * # and have 1 and 2 different commits each, respectively.\n\t * nothing to commit (working directory clean)\n\t */\n\t'comment': /^#.*/m,\n\n\t/*\n\t * Regexp to match the changed lines in a git diff output. Check the example below.\n\t */\n\t'deleted': /^[-–].*/m,\n\t'inserted': /^\\+.*/m,\n\n\t/*\n\t * a string (double and simple quote)\n\t */\n\t'string': /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\n\t/*\n\t * a git command. It starts with a random prompt finishing by a $, then \"git\" then some other parameters\n\t * For instance:\n\t * $ git add file.txt\n\t */\n\t'command': {\n\t\tpattern: /^.*\\$ git .*$/m,\n\t\tinside: {\n\t\t\t/*\n\t\t\t * A git command can contain a parameter starting by a single or a double dash followed by a string\n\t\t\t * For instance:\n\t\t\t * $ git diff --cached\n\t\t\t * $ git log -p\n\t\t\t */\n\t\t\t'parameter': /\\s--?\\w+/\n\t\t}\n\t},\n\n\t/*\n\t * Coordinates displayed in a git diff command\n\t * For instance:\n\t * $ git diff\n\t * diff --git file.txt file.txt\n\t * index 6214953..1d54a52 100644\n\t * --- file.txt\n\t * +++ file.txt\n\t * @@ -1 +1,2 @@\n\t * -Here's my tetx file\n\t * +Here's my text file\n\t * +And this is the second line\n\t */\n\t'coord': /^@@.*@@$/m,\n\n\t/*\n\t * Match a \"commit [SHA1]\" line in a git log output.\n\t * For instance:\n\t * $ git log\n\t * commit a11a14ef7e26f2ca62d4b35eac455ce636d0dc09\n\t * Author: lgiraudel\n\t * Date: Mon Feb 17 11:18:34 2014 +0100\n\t *\n\t * Add of a new line\n\t */\n\t'commit-sha1': /^commit \\w{40}$/m\n};\n","Prism.languages.glsl = Prism.languages.extend('c', {\n\t'keyword': /\\b(?:active|asm|atomic_uint|attribute|[ibdu]?vec[234]|bool|break|buffer|case|cast|centroid|class|coherent|common|const|continue|d?mat[234](?:x[234])?|default|discard|do|double|else|enum|extern|external|false|filter|fixed|flat|float|for|fvec[234]|goto|half|highp|hvec[234]|[iu]?sampler2DMS(?:Array)?|[iu]?sampler2DRect|[iu]?samplerBuffer|[iu]?samplerCube|[iu]?samplerCubeArray|[iu]?sampler[123]D|[iu]?sampler[12]DArray|[iu]?image2DMS(?:Array)?|[iu]?image2DRect|[iu]?imageBuffer|[iu]?imageCube|[iu]?imageCubeArray|[iu]?image[123]D|[iu]?image[12]DArray|if|in|inline|inout|input|int|interface|invariant|layout|long|lowp|mediump|namespace|noinline|noperspective|out|output|partition|patch|precise|precision|public|readonly|resource|restrict|return|sample|sampler[12]DArrayShadow|sampler[12]DShadow|sampler2DRectShadow|sampler3DRect|samplerCubeArrayShadow|samplerCubeShadow|shared|short|sizeof|smooth|static|struct|subroutine|superp|switch|template|this|true|typedef|uint|uniform|union|unsigned|using|varying|void|volatile|while|writeonly)\\b/\n});\n","// https://gn.googlesource.com/gn/+/refs/heads/main/docs/reference.md#grammar\n\nPrism.languages.gn = {\n\t'comment': {\n\t\tpattern: /#.*/,\n\t\tgreedy: true\n\t},\n\t'string-literal': {\n\t\tpattern: /(^|[^\\\\\"])\"(?:[^\\r\\n\"\\\\]|\\\\.)*\"/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\{[\\s\\S]*?\\}|[a-zA-Z_]\\w*|0x[a-fA-F0-9]{2})/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'number': /^\\$0x[\\s\\S]{2}$/,\n\t\t\t\t\t'variable': /^\\$\\w+$/,\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\t'expression': {\n\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\tinside: null // see below\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\n\t'keyword': /\\b(?:else|if)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'builtin-function': {\n\t\t// a few functions get special highlighting to improve readability\n\t\tpattern: /\\b(?:assert|defined|foreach|import|pool|print|template|tool|toolchain)(?=\\s*\\()/i,\n\t\talias: 'keyword'\n\t},\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'constant': /\\b(?:current_cpu|current_os|current_toolchain|default_toolchain|host_cpu|host_os|root_build_dir|root_gen_dir|root_out_dir|target_cpu|target_gen_dir|target_os|target_out_dir)\\b/,\n\n\t'number': /-?\\b\\d+\\b/,\n\n\t'operator': /[-+!=<>]=?|&&|\\|\\|/,\n\t'punctuation': /[(){}[\\],.]/\n};\n\nPrism.languages.gn['string-literal'].inside['interpolation'].inside['expression'].inside = Prism.languages.gn;\n\nPrism.languages.gni = Prism.languages.gn;\n","Prism.languages['linker-script'] = {\n\t'comment': {\n\t\tpattern: /(^|\\s)\\/\\*[\\s\\S]*?(?:$|\\*\\/)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'identifier': {\n\t\tpattern: /\"[^\"\\r\\n]*\"/,\n\t\tgreedy: true\n\t},\n\n\t'location-counter': {\n\t\tpattern: /\\B\\.\\B/,\n\t\talias: 'important'\n\t},\n\n\t'section': {\n\t\tpattern: /(^|[^\\w*])\\.\\w+\\b/,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t},\n\t'function': /\\b[A-Z][A-Z_]*(?=\\s*\\()/,\n\n\t'number': /\\b(?:0[xX][a-fA-F0-9]+|\\d+)[KM]?\\b/,\n\n\t'operator': />>=?|<<=?|->|\\+\\+|--|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?/,\n\t'punctuation': /[(){},;]/\n};\n\nPrism.languages['ld'] = Prism.languages['linker-script'];\n","Prism.languages.go = Prism.languages.extend('clike', {\n\t'string': {\n\t\tpattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'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/,\n\t'boolean': /\\b(?:_|false|iota|nil|true)\\b/,\n\t'number': [\n\t\t// binary and octal integers\n\t\t/\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i,\n\t\t// hexadecimal integers and floats\n\t\t/\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i,\n\t\t// decimal integers and floats\n\t\t/(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i\n\t],\n\t'operator': /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,\n\t'builtin': /\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/\n});\n\nPrism.languages.insertBefore('go', 'string', {\n\t'char': {\n\t\tpattern: /'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/,\n\t\tgreedy: true\n\t}\n});\n\ndelete Prism.languages.go['class-name'];\n","// https://go.dev/ref/mod#go-mod-file-module\n\nPrism.languages['go-mod'] = Prism.languages['go-module'] = {\n\t'comment': {\n\t\tpattern: /\\/\\/.*/,\n\t\tgreedy: true\n\t},\n\t'version': {\n\t\tpattern: /(^|[\\s()[\\],])v\\d+\\.\\d+\\.\\d+(?:[+-][-+.\\w]*)?(?![^\\s()[\\],])/,\n\t\tlookbehind: true,\n\t\talias: 'number'\n\t},\n\t'go-version': {\n\t\tpattern: /((?:^|\\s)go\\s+)\\d+(?:\\.\\d+){1,2}/,\n\t\tlookbehind: true,\n\t\talias: 'number'\n\t},\n\t'keyword': {\n\t\tpattern: /^([ \\t]*)(?:exclude|go|module|replace|require|retract)\\b/m,\n\t\tlookbehind: true\n\t},\n\t'operator': /=>/,\n\t'punctuation': /[()[\\],]/\n};\n","(function (Prism) {\n\tvar interpolation = {\n\t\tpattern: /((?:^|[^\\\\$])(?:\\\\{2})*)\\$(?:\\w+|\\{[^{}]*\\})/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'interpolation-punctuation': {\n\t\t\t\tpattern: /^\\$\\{?|\\}$/,\n\t\t\t\talias: 'punctuation',\n\t\t\t},\n\t\t\t'expression': {\n\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\tinside: null,\n\t\t\t},\n\t\t},\n\t};\n\n\tPrism.languages.gradle = Prism.languages.extend('clike', {\n\t\t'string': {\n\t\t\tpattern: /'''(?:[^\\\\]|\\\\[\\s\\S])*?'''|'(?:\\\\.|[^\\\\'\\r\\n])*'/,\n\t\t\tgreedy: true,\n\t\t},\n\t\t'keyword':\n\t\t\t/\\b(?:apply|def|dependencies|else|if|implementation|import|plugin|plugins|project|repositories|repository|sourceSets|tasks|val)\\b/,\n\t\t'number': /\\b(?:0b[01_]+|0x[\\da-f_]+(?:\\.[\\da-f_p\\-]+)?|[\\d_]+(?:\\.[\\d_]+)?(?:e[+-]?\\d+)?)[glidf]?\\b/i,\n\t\t'operator': {\n\t\t\tpattern:\n\t\t\t\t/(^|[^.])(?:~|==?~?|\\?[.:]?|\\*(?:[.=]|\\*=?)?|\\.[@&]|\\.\\.<|\\.\\.(?!\\.)|-[-=>]?|\\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\\|[|=]?|\\/=?|\\^=?|%=?)/,\n\t\t\tlookbehind: true,\n\t\t},\n\t\t'punctuation': /\\.+|[{}[\\];(),:$]/,\n\t});\n\n\tPrism.languages.insertBefore('gradle', 'string', {\n\t\t'shebang': {\n\t\t\tpattern: /#!.+/,\n\t\t\talias: 'comment',\n\t\t\tgreedy: true,\n\t\t},\n\t\t'interpolation-string': {\n\t\t\tpattern:\n\t\t\t\t/\"\"\"(?:[^\\\\]|\\\\[\\s\\S])*?\"\"\"|([\"/])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1|\\$\\/(?:[^/$]|\\$(?:[/$]|(?![/$]))|\\/(?!\\$))*\\/\\$/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': interpolation,\n\t\t\t\t'string': /[\\s\\S]+/,\n\t\t\t},\n\t\t},\n\t});\n\n\tPrism.languages.insertBefore('gradle', 'punctuation', {\n\t\t'spock-block': /\\b(?:and|cleanup|expect|given|setup|then|when|where):/,\n\t});\n\n\tPrism.languages.insertBefore('gradle', 'function', {\n\t\t'annotation': {\n\t\t\tpattern: /(^|[^.])@\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation',\n\t\t},\n\t});\n\n\tinterpolation.inside.expression.inside = Prism.languages.gradle;\n}(Prism));\n","Prism.languages.graphql = {\n\t'comment': /#.*/,\n\t'description': {\n\t\tpattern: /(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i,\n\t\tgreedy: true,\n\t\talias: 'string',\n\t\tinside: {\n\t\t\t'language-markdown': {\n\t\t\t\tpattern: /(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: Prism.languages.markdown\n\t\t\t}\n\t\t}\n\t},\n\t'string': {\n\t\tpattern: /\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'number': /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'variable': /\\$[a-z_]\\w*/i,\n\t'directive': {\n\t\tpattern: /@[a-z_]\\w*/i,\n\t\talias: 'function'\n\t},\n\t'attr-name': {\n\t\tpattern: /\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i,\n\t\tgreedy: true\n\t},\n\t'atom-input': {\n\t\tpattern: /\\b[A-Z]\\w*Input\\b/,\n\t\talias: 'class-name'\n\t},\n\t'scalar': /\\b(?:Boolean|Float|ID|Int|String)\\b/,\n\t'constant': /\\b[A-Z][A-Z_\\d]*\\b/,\n\t'class-name': {\n\t\tpattern: /(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/,\n\t\tlookbehind: true\n\t},\n\t'fragment': {\n\t\tpattern: /(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'definition-mutation': {\n\t\tpattern: /(\\bmutation\\s+)[a-zA-Z_]\\w*/,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'definition-query': {\n\t\tpattern: /(\\bquery\\s+)[a-zA-Z_]\\w*/,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'keyword': /\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/,\n\t'operator': /[!=|&]|\\.{3}/,\n\t'property-query': /\\w+(?=\\s*\\()/,\n\t'object': /\\w+(?=\\s*\\{)/,\n\t'punctuation': /[!(){}\\[\\]:=,]/,\n\t'property': /\\w+/\n};\n\nPrism.hooks.add('after-tokenize', function afterTokenizeGraphql(env) {\n\tif (env.language !== 'graphql') {\n\t\treturn;\n\t}\n\n\t/**\n\t * get the graphql token stream that we want to customize\n\t *\n\t * @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\t * @type {Token[]}\n\t */\n\tvar validTokens = env.tokens.filter(function (token) {\n\t\treturn typeof token !== 'string' && token.type !== 'comment' && token.type !== 'scalar';\n\t});\n\n\tvar currentIndex = 0;\n\n\t/**\n\t * Returns whether the token relative to the current index has the given type.\n\t *\n\t * @param {number} offset\n\t * @returns {Token | undefined}\n\t */\n\tfunction getToken(offset) {\n\t\treturn validTokens[currentIndex + offset];\n\t}\n\n\t/**\n\t * Returns whether the token relative to the current index has the given type.\n\t *\n\t * @param {readonly string[]} types\n\t * @param {number} [offset=0]\n\t * @returns {boolean}\n\t */\n\tfunction isTokenType(types, offset) {\n\t\toffset = offset || 0;\n\t\tfor (var i = 0; i < types.length; i++) {\n\t\t\tvar token = getToken(i + offset);\n\t\t\tif (!token || token.type !== types[i]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns the index of the closing bracket to an opening bracket.\n\t *\n\t * It is assumed that `token[currentIndex - 1]` is an opening bracket.\n\t *\n\t * If no closing bracket could be found, `-1` will be returned.\n\t *\n\t * @param {RegExp} open\n\t * @param {RegExp} close\n\t * @returns {number}\n\t */\n\tfunction findClosingBracket(open, close) {\n\t\tvar stackHeight = 1;\n\n\t\tfor (var i = currentIndex; i < validTokens.length; i++) {\n\t\t\tvar token = validTokens[i];\n\t\t\tvar content = token.content;\n\n\t\t\tif (token.type === 'punctuation' && typeof content === 'string') {\n\t\t\t\tif (open.test(content)) {\n\t\t\t\t\tstackHeight++;\n\t\t\t\t} else if (close.test(content)) {\n\t\t\t\t\tstackHeight--;\n\n\t\t\t\t\tif (stackHeight === 0) {\n\t\t\t\t\t\treturn i;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn -1;\n\t}\n\n\t/**\n\t * Adds an alias to the given token.\n\t *\n\t * @param {Token} token\n\t * @param {string} alias\n\t * @returns {void}\n\t */\n\tfunction addAlias(token, alias) {\n\t\tvar aliases = token.alias;\n\t\tif (!aliases) {\n\t\t\ttoken.alias = aliases = [];\n\t\t} else if (!Array.isArray(aliases)) {\n\t\t\ttoken.alias = aliases = [aliases];\n\t\t}\n\t\taliases.push(alias);\n\t}\n\n\tfor (; currentIndex < validTokens.length;) {\n\t\tvar startToken = validTokens[currentIndex++];\n\n\t\t// add special aliases for mutation tokens\n\t\tif (startToken.type === 'keyword' && startToken.content === 'mutation') {\n\t\t\t// any array of the names of all input variables (if any)\n\t\t\tvar inputVariables = [];\n\n\t\t\tif (isTokenType(['definition-mutation', 'punctuation']) && getToken(1).content === '(') {\n\t\t\t\t// definition\n\n\t\t\t\tcurrentIndex += 2; // skip 'definition-mutation' and 'punctuation'\n\n\t\t\t\tvar definitionEnd = findClosingBracket(/^\\($/, /^\\)$/);\n\t\t\t\tif (definitionEnd === -1) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// find all input variables\n\t\t\t\tfor (; currentIndex < definitionEnd; currentIndex++) {\n\t\t\t\t\tvar t = getToken(0);\n\t\t\t\t\tif (t.type === 'variable') {\n\t\t\t\t\t\taddAlias(t, 'variable-input');\n\t\t\t\t\t\tinputVariables.push(t.content);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcurrentIndex = definitionEnd + 1;\n\t\t\t}\n\n\t\t\tif (isTokenType(['punctuation', 'property-query']) && getToken(0).content === '{') {\n\t\t\t\tcurrentIndex++; // skip opening bracket\n\n\t\t\t\taddAlias(getToken(0), 'property-mutation');\n\n\t\t\t\tif (inputVariables.length > 0) {\n\t\t\t\t\tvar mutationEnd = findClosingBracket(/^\\{$/, /^\\}$/);\n\t\t\t\t\tif (mutationEnd === -1) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// give references to input variables a special alias\n\t\t\t\t\tfor (var i = currentIndex; i < mutationEnd; i++) {\n\t\t\t\t\t\tvar varToken = validTokens[i];\n\t\t\t\t\t\tif (varToken.type === 'variable' && inputVariables.indexOf(varToken.content) >= 0) {\n\t\t\t\t\t\t\taddAlias(varToken, 'variable-input');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","(function (Prism) {\n\n\tvar interpolation = {\n\t\tpattern: /((?:^|[^\\\\$])(?:\\\\{2})*)\\$(?:\\w+|\\{[^{}]*\\})/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'interpolation-punctuation': {\n\t\t\t\tpattern: /^\\$\\{?|\\}$/,\n\t\t\t\talias: 'punctuation'\n\t\t\t},\n\t\t\t'expression': {\n\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\tinside: null // see below\n\t\t\t}\n\t\t}\n\t};\n\n\tPrism.languages.groovy = Prism.languages.extend('clike', {\n\t\t'string': {\n\t\t\t// https://groovy-lang.org/syntax.html#_dollar_slashy_string\n\t\t\tpattern: /'''(?:[^\\\\]|\\\\[\\s\\S])*?'''|'(?:\\\\.|[^\\\\'\\r\\n])*'/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'keyword': /\\b(?:abstract|as|assert|boolean|break|byte|case|catch|char|class|const|continue|def|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|in|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\\b/,\n\t\t'number': /\\b(?:0b[01_]+|0x[\\da-f_]+(?:\\.[\\da-f_p\\-]+)?|[\\d_]+(?:\\.[\\d_]+)?(?:e[+-]?\\d+)?)[glidf]?\\b/i,\n\t\t'operator': {\n\t\t\tpattern: /(^|[^.])(?:~|==?~?|\\?[.:]?|\\*(?:[.=]|\\*=?)?|\\.[@&]|\\.\\.<|\\.\\.(?!\\.)|-[-=>]?|\\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\\|[|=]?|\\/=?|\\^=?|%=?)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /\\.+|[{}[\\];(),:$]/\n\t});\n\n\tPrism.languages.insertBefore('groovy', 'string', {\n\t\t'shebang': {\n\t\t\tpattern: /#!.+/,\n\t\t\talias: 'comment',\n\t\t\tgreedy: true\n\t\t},\n\t\t'interpolation-string': {\n\t\t\t// TODO: Slash strings (e.g. /foo/) can contain line breaks but this will cause a lot of trouble with\n\t\t\t// simple division (see JS regex), so find a fix maybe?\n\t\t\tpattern: /\"\"\"(?:[^\\\\]|\\\\[\\s\\S])*?\"\"\"|([\"/])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1|\\$\\/(?:[^/$]|\\$(?:[/$]|(?![/$]))|\\/(?!\\$))*\\/\\$/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': interpolation,\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('groovy', 'punctuation', {\n\t\t'spock-block': /\\b(?:and|cleanup|expect|given|setup|then|when|where):/\n\t});\n\n\tPrism.languages.insertBefore('groovy', 'function', {\n\t\t'annotation': {\n\t\t\tpattern: /(^|[^.])@\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t}\n\t});\n\n\tinterpolation.inside.expression.inside = Prism.languages.groovy;\n\n}(Prism));\n","/* FIXME :\n :extend() is not handled specifically : its highlighting is buggy.\n Mixin usage must be inside a ruleset to be highlighted.\n At-rules (e.g. import) containing interpolations are buggy.\n Detached rulesets are highlighted as at-rules.\n A comment before a mixin usage prevents the latter to be properly highlighted.\n */\n\nPrism.languages.less = Prism.languages.extend('css', {\n\t'comment': [\n\t\t/\\/\\*[\\s\\S]*?\\*\\//,\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\/.*/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'atrule': {\n\t\tpattern: /@[\\w-](?:\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,\n\t\tinside: {\n\t\t\t'punctuation': /[:()]/\n\t\t}\n\t},\n\t// selectors and mixins are considered the same\n\t'selector': {\n\t\tpattern: /(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};@\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,\n\t\tinside: {\n\t\t\t// mixin parameters\n\t\t\t'variable': /@+[\\w-]+/\n\t\t}\n\t},\n\n\t'property': /(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/,\n\t'operator': /[+\\-*\\/]/\n});\n\nPrism.languages.insertBefore('less', 'property', {\n\t'variable': [\n\t\t// Variable declaration (the colon must be consumed!)\n\t\t{\n\t\t\tpattern: /@[\\w-]+\\s*:/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /:/\n\t\t\t}\n\t\t},\n\n\t\t// Variable usage\n\t\t/@@?[\\w-]+/\n\t],\n\t'mixin-usage': {\n\t\tpattern: /([{;]\\s*)[.#](?!\\d)[\\w-].*?(?=[(;])/,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t}\n});\n","Prism.languages.scss = Prism.languages.extend('css', {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n\t\tlookbehind: true\n\t},\n\t'atrule': {\n\t\tpattern: /@[\\w-](?:\\([^()]+\\)|[^()\\s]|\\s+(?!\\s))*?(?=\\s+[{;])/,\n\t\tinside: {\n\t\t\t'rule': /@[\\w-]+/\n\t\t\t// See rest below\n\t\t}\n\t},\n\t// url, compassified\n\t'url': /(?:[-a-z]+-)?url(?=\\()/i,\n\t// CSS selector regex is not appropriate for Sass\n\t// since there can be lot more things (var, @ directive, nesting..)\n\t// a selector must start at the end of a property or after a brace (end of other rules or nesting)\n\t// it can contain some characters that aren't used for defining rules or end of selector, & (parent selector), or interpolated variable\n\t// the end of a selector is found when there is no rules in it ( {} or {\\s}) or if there is a property (because an interpolated var\n\t// can \"pass\" as a selector- e.g: proper#{$erty})\n\t// this one was hard to do, so please be careful if you edit this one :)\n\t'selector': {\n\t\t// Initial look-ahead is used to prevent matching of blank selectors\n\t\tpattern: /(?=\\S)[^@;{}()]?(?:[^@;{}()\\s]|\\s+(?!\\s)|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}][^:{}]*[:{][^}]))/,\n\t\tinside: {\n\t\t\t'parent': {\n\t\t\t\tpattern: /&/,\n\t\t\t\talias: 'important'\n\t\t\t},\n\t\t\t'placeholder': /%[-\\w]+/,\n\t\t\t'variable': /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n\t\t}\n\t},\n\t'property': {\n\t\tpattern: /(?:[-\\w]|\\$[-\\w]|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,\n\t\tinside: {\n\t\t\t'variable': /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n\t\t}\n\t}\n});\n\nPrism.languages.insertBefore('scss', 'atrule', {\n\t'keyword': [\n\t\t/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\\b/i,\n\t\t{\n\t\t\tpattern: /( )(?:from|through)(?= )/,\n\t\t\tlookbehind: true\n\t\t}\n\t]\n});\n\nPrism.languages.insertBefore('scss', 'important', {\n\t// var and interpolated vars\n\t'variable': /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n});\n\nPrism.languages.insertBefore('scss', 'function', {\n\t'module-modifier': {\n\t\tpattern: /\\b(?:as|hide|show|with)\\b/i,\n\t\talias: 'keyword'\n\t},\n\t'placeholder': {\n\t\tpattern: /%[-\\w]+/,\n\t\talias: 'selector'\n\t},\n\t'statement': {\n\t\tpattern: /\\B!(?:default|optional)\\b/i,\n\t\talias: 'keyword'\n\t},\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'null': {\n\t\tpattern: /\\bnull\\b/,\n\t\talias: 'keyword'\n\t},\n\t'operator': {\n\t\tpattern: /(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|not|or)(?=\\s)/,\n\t\tlookbehind: true\n\t}\n});\n\nPrism.languages.scss['atrule'].inside.rest = Prism.languages.scss;\n","(function (Prism) {\n\t// We don't allow for pipes inside parentheses\n\t// to not break table pattern |(. foo |). bar |\n\tvar modifierRegex = /\\([^|()\\n]+\\)|\\[[^\\]\\n]+\\]|\\{[^}\\n]+\\}/.source;\n\t// Opening and closing parentheses which are not a modifier\n\t// This pattern is necessary to prevent exponential backtracking\n\tvar parenthesesRegex = /\\)|\\((?![^|()\\n]+\\))/.source;\n\t/**\n\t * @param {string} source\n\t * @param {string} [flags]\n\t */\n\tfunction withModifier(source, flags) {\n\t\treturn RegExp(\n\t\t\tsource\n\t\t\t\t.replace(/<MOD>/g, function () { return '(?:' + modifierRegex + ')'; })\n\t\t\t\t.replace(/<PAR>/g, function () { return '(?:' + parenthesesRegex + ')'; }),\n\t\t\tflags || '');\n\t}\n\n\tvar modifierTokens = {\n\t\t'css': {\n\t\t\tpattern: /\\{[^{}]+\\}/,\n\t\t\tinside: {\n\t\t\t\trest: Prism.languages.css\n\t\t\t}\n\t\t},\n\t\t'class-id': {\n\t\t\tpattern: /(\\()[^()]+(?=\\))/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'attr-value'\n\t\t},\n\t\t'lang': {\n\t\t\tpattern: /(\\[)[^\\[\\]]+(?=\\])/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'attr-value'\n\t\t},\n\t\t// Anything else is punctuation (the first pattern is for row/col spans inside tables)\n\t\t'punctuation': /[\\\\\\/]\\d+|\\S/\n\t};\n\n\n\tvar textile = Prism.languages.textile = Prism.languages.extend('markup', {\n\t\t'phrase': {\n\t\t\tpattern: /(^|\\r|\\n)\\S[\\s\\S]*?(?=$|\\r?\\n\\r?\\n|\\r\\r)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\n\t\t\t\t// h1. Header 1\n\t\t\t\t'block-tag': {\n\t\t\t\t\tpattern: withModifier(/^[a-z]\\w*(?:<MOD>|<PAR>|[<>=])*\\./.source),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'modifier': {\n\t\t\t\t\t\t\tpattern: withModifier(/(^[a-z]\\w*)(?:<MOD>|<PAR>|[<>=])+(?=\\.)/.source),\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\tinside: modifierTokens\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'tag': /^[a-z]\\w*/,\n\t\t\t\t\t\t'punctuation': /\\.$/\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t// # List item\n\t\t\t\t// * List item\n\t\t\t\t'list': {\n\t\t\t\t\tpattern: withModifier(/^[*#]+<MOD>*\\s+\\S.*/.source, 'm'),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'modifier': {\n\t\t\t\t\t\t\tpattern: withModifier(/(^[*#]+)<MOD>+/.source),\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\tinside: modifierTokens\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /^[*#]+/\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t// | cell | cell | cell |\n\t\t\t\t'table': {\n\t\t\t\t\t// Modifiers can be applied to the row: {color:red}.|1|2|3|\n\t\t\t\t\t// or the cell: |{color:red}.1|2|3|\n\t\t\t\t\tpattern: withModifier(/^(?:(?:<MOD>|<PAR>|[<>=^~])+\\.\\s*)?(?:\\|(?:(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+\\.|(?!(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+\\.))[^|]*)+\\|/.source, 'm'),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'modifier': {\n\t\t\t\t\t\t\t// Modifiers for rows after the first one are\n\t\t\t\t\t\t\t// preceded by a pipe and a line feed\n\t\t\t\t\t\t\tpattern: withModifier(/(^|\\|(?:\\r?\\n|\\r)?)(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+(?=\\.)/.source),\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\tinside: modifierTokens\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\||^\\./\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t'inline': {\n\t\t\t\t\t// eslint-disable-next-line regexp/no-super-linear-backtracking\n\t\t\t\t\tpattern: withModifier(/(^|[^a-zA-Z\\d])(\\*\\*|__|\\?\\?|[*_%@+\\-^~])<MOD>*.+?\\2(?![a-zA-Z\\d])/.source),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t// Note: superscripts and subscripts are not handled specifically\n\n\t\t\t\t\t\t// *bold*, **bold**\n\t\t\t\t\t\t'bold': {\n\t\t\t\t\t\t\t// eslint-disable-next-line regexp/no-super-linear-backtracking\n\t\t\t\t\t\t\tpattern: withModifier(/(^(\\*\\*?)<MOD>*).+?(?=\\2)/.source),\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t// _italic_, __italic__\n\t\t\t\t\t\t'italic': {\n\t\t\t\t\t\t\t// eslint-disable-next-line regexp/no-super-linear-backtracking\n\t\t\t\t\t\t\tpattern: withModifier(/(^(__?)<MOD>*).+?(?=\\2)/.source),\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t// ??cite??\n\t\t\t\t\t\t'cite': {\n\t\t\t\t\t\t\t// eslint-disable-next-line regexp/no-super-linear-backtracking\n\t\t\t\t\t\t\tpattern: withModifier(/(^\\?\\?<MOD>*).+?(?=\\?\\?)/.source),\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: 'string'\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t// @code@\n\t\t\t\t\t\t'code': {\n\t\t\t\t\t\t\t// eslint-disable-next-line regexp/no-super-linear-backtracking\n\t\t\t\t\t\t\tpattern: withModifier(/(^@<MOD>*).+?(?=@)/.source),\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: 'keyword'\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t// +inserted+\n\t\t\t\t\t\t'inserted': {\n\t\t\t\t\t\t\t// eslint-disable-next-line regexp/no-super-linear-backtracking\n\t\t\t\t\t\t\tpattern: withModifier(/(^\\+<MOD>*).+?(?=\\+)/.source),\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t// -deleted-\n\t\t\t\t\t\t'deleted': {\n\t\t\t\t\t\t\t// eslint-disable-next-line regexp/no-super-linear-backtracking\n\t\t\t\t\t\t\tpattern: withModifier(/(^-<MOD>*).+?(?=-)/.source),\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t// %span%\n\t\t\t\t\t\t'span': {\n\t\t\t\t\t\t\t// eslint-disable-next-line regexp/no-super-linear-backtracking\n\t\t\t\t\t\t\tpattern: withModifier(/(^%<MOD>*).+?(?=%)/.source),\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t'modifier': {\n\t\t\t\t\t\t\tpattern: withModifier(/(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])<MOD>+/.source),\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\tinside: modifierTokens\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /[*_%?@+\\-^~]+/\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t// [alias]http://example.com\n\t\t\t\t'link-ref': {\n\t\t\t\t\tpattern: /^\\[[^\\]]+\\]\\S+$/m,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'string': {\n\t\t\t\t\t\t\tpattern: /(^\\[)[^\\]]+(?=\\])/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'url': {\n\t\t\t\t\t\t\tpattern: /(^\\])\\S+$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /[\\[\\]]/\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t// \"text\":http://example.com\n\t\t\t\t// \"text\":link-ref\n\t\t\t\t'link': {\n\t\t\t\t\t// eslint-disable-next-line regexp/no-super-linear-backtracking\n\t\t\t\t\tpattern: withModifier(/\"<MOD>*[^\"]+\":.+?(?=[^\\w/]?(?:\\s|$))/.source),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'text': {\n\t\t\t\t\t\t\t// eslint-disable-next-line regexp/no-super-linear-backtracking\n\t\t\t\t\t\t\tpattern: withModifier(/(^\"<MOD>*)[^\"]+(?=\")/.source),\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'modifier': {\n\t\t\t\t\t\t\tpattern: withModifier(/(^\")<MOD>+/.source),\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\tinside: modifierTokens\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'url': {\n\t\t\t\t\t\t\tpattern: /(:).+/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /[\":]/\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t// !image.jpg!\n\t\t\t\t// !image.jpg(Title)!:http://example.com\n\t\t\t\t'image': {\n\t\t\t\t\tpattern: withModifier(/!(?:<MOD>|<PAR>|[<>=])*(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?/.source),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'source': {\n\t\t\t\t\t\t\tpattern: withModifier(/(^!(?:<MOD>|<PAR>|[<>=])*)(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?(?=!)/.source),\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: 'url'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'modifier': {\n\t\t\t\t\t\t\tpattern: withModifier(/(^!)(?:<MOD>|<PAR>|[<>=])+/.source),\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\tinside: modifierTokens\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'url': {\n\t\t\t\t\t\t\tpattern: /(:).+/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /[!:]/\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t// Footnote[1]\n\t\t\t\t'footnote': {\n\t\t\t\t\tpattern: /\\b\\[\\d+\\]/,\n\t\t\t\t\talias: 'comment',\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /\\[|\\]/\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t// CSS(Cascading Style Sheet)\n\t\t\t\t'acronym': {\n\t\t\t\t\tpattern: /\\b[A-Z\\d]+\\([^)]+\\)/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'comment': {\n\t\t\t\t\t\t\tpattern: /(\\()[^()]+(?=\\))/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /[()]/\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t// Prism(C)\n\t\t\t\t'mark': {\n\t\t\t\t\tpattern: /\\b\\((?:C|R|TM)\\)/,\n\t\t\t\t\talias: 'comment',\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /[()]/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tvar phraseInside = textile['phrase'].inside;\n\tvar nestedPatterns = {\n\t\t'inline': phraseInside['inline'],\n\t\t'link': phraseInside['link'],\n\t\t'image': phraseInside['image'],\n\t\t'footnote': phraseInside['footnote'],\n\t\t'acronym': phraseInside['acronym'],\n\t\t'mark': phraseInside['mark']\n\t};\n\n\t// Only allow alpha-numeric HTML tags, not XML tags\n\ttextile.tag.pattern = /<\\/?(?!\\d)[a-z0-9]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i;\n\n\t// Allow some nesting\n\tvar phraseInlineInside = phraseInside['inline'].inside;\n\tphraseInlineInside['bold'].inside = nestedPatterns;\n\tphraseInlineInside['italic'].inside = nestedPatterns;\n\tphraseInlineInside['inserted'].inside = nestedPatterns;\n\tphraseInlineInside['deleted'].inside = nestedPatterns;\n\tphraseInlineInside['span'].inside = nestedPatterns;\n\n\t// Allow some styles inside table cells\n\tvar phraseTableInside = phraseInside['table'].inside;\n\tphraseTableInside['inline'] = nestedPatterns['inline'];\n\tphraseTableInside['link'] = nestedPatterns['link'];\n\tphraseTableInside['image'] = nestedPatterns['image'];\n\tphraseTableInside['footnote'] = nestedPatterns['footnote'];\n\tphraseTableInside['acronym'] = nestedPatterns['acronym'];\n\tphraseTableInside['mark'] = nestedPatterns['mark'];\n\n}(Prism));\n","/* TODO\n\tHandle multiline code after tag\n\t %foo= some |\n\t\t\tmultiline |\n\t\t\tcode |\n*/\n\n(function (Prism) {\n\n\tPrism.languages.haml = {\n\t\t// Multiline stuff should appear before the rest\n\n\t\t'multiline-comment': {\n\t\t\tpattern: /((?:^|\\r?\\n|\\r)([\\t ]*))(?:\\/|-#).*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)*/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'comment'\n\t\t},\n\n\t\t'multiline-code': [\n\t\t\t{\n\t\t\t\tpattern: /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*,[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ].*,[\\t ]*)*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: Prism.languages.ruby\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*\\|[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ].*\\|[\\t ]*)*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: Prism.languages.ruby\n\t\t\t}\n\t\t],\n\n\t\t// See at the end of the file for known filters\n\t\t'filter': {\n\t\t\tpattern: /((?:^|\\r?\\n|\\r)([\\t ]*)):[\\w-]+(?:(?:\\r?\\n|\\r)(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'filter-name': {\n\t\t\t\t\tpattern: /^:[\\w-]+/,\n\t\t\t\t\talias: 'symbol'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t'markup': {\n\t\t\tpattern: /((?:^|\\r?\\n|\\r)[\\t ]*)<.+/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.markup\n\t\t},\n\t\t'doctype': {\n\t\t\tpattern: /((?:^|\\r?\\n|\\r)[\\t ]*)!!!(?: .+)?/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'tag': {\n\t\t\t// Allows for one nested group of braces\n\t\t\tpattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[%.#][\\w\\-#.]*[\\w\\-](?:\\([^)]+\\)|\\{(?:\\{[^}]+\\}|[^{}])+\\}|\\[[^\\]]+\\])*[\\/<>]*/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attributes': [\n\t\t\t\t\t{\n\t\t\t\t\t\t// Lookbehind tries to prevent interpolations from breaking it all\n\t\t\t\t\t\t// Allows for one nested group of braces\n\t\t\t\t\t\tpattern: /(^|[^#])\\{(?:\\{[^}]+\\}|[^{}])+\\}/,\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\tinside: Prism.languages.ruby\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: /\\([^)]+\\)/,\n\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t'attr-value': {\n\t\t\t\t\t\t\t\tpattern: /(=\\s*)(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|[^)\\s]+)/,\n\t\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'attr-name': /[\\w:-]+(?=\\s*!?=|\\s*[,)])/,\n\t\t\t\t\t\t\t'punctuation': /[=(),]/\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: /\\[[^\\]]+\\]/,\n\t\t\t\t\t\tinside: Prism.languages.ruby\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t'punctuation': /[<>]/\n\t\t\t}\n\t\t},\n\t\t'code': {\n\t\t\tpattern: /((?:^|\\r?\\n|\\r)[\\t ]*(?:[~-]|[&!]?=)).+/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.ruby\n\t\t},\n\t\t// Interpolations in plain text\n\t\t'interpolation': {\n\t\t\tpattern: /#\\{[^}]+\\}/,\n\t\t\tinside: {\n\t\t\t\t'delimiter': {\n\t\t\t\t\tpattern: /^#\\{|\\}$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'ruby': {\n\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\tinside: Prism.languages.ruby\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'punctuation': {\n\t\t\tpattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[~=\\-&!]+/,\n\t\t\tlookbehind: true\n\t\t}\n\t};\n\n\tvar filter_pattern = '((?:^|\\\\r?\\\\n|\\\\r)([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r)(?:\\\\2[\\\\t ].+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+';\n\n\t// Non exhaustive list of available filters and associated languages\n\tvar filters = [\n\t\t'css',\n\t\t{ filter: 'coffee', language: 'coffeescript' },\n\t\t'erb',\n\t\t'javascript',\n\t\t'less',\n\t\t'markdown',\n\t\t'ruby',\n\t\t'scss',\n\t\t'textile'\n\t];\n\tvar all_filters = {};\n\tfor (var i = 0, l = filters.length; i < l; i++) {\n\t\tvar filter = filters[i];\n\t\tfilter = typeof filter === 'string' ? { filter: filter, language: filter } : filter;\n\t\tif (Prism.languages[filter.language]) {\n\t\t\tall_filters['filter-' + filter.filter] = {\n\t\t\t\tpattern: RegExp(filter_pattern.replace('{{filter_name}}', function () { return filter.filter; })),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'filter-name': {\n\t\t\t\t\t\tpattern: /^:[\\w-]+/,\n\t\t\t\t\t\talias: 'symbol'\n\t\t\t\t\t},\n\t\t\t\t\t'text': {\n\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\talias: [filter.language, 'language-' + filter.language],\n\t\t\t\t\t\tinside: Prism.languages[filter.language]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}\n\n\tPrism.languages.insertBefore('haml', 'filter', all_filters);\n\n}(Prism));\n","(function (Prism) {\n\n\tPrism.languages.handlebars = {\n\t\t'comment': /\\{\\{![\\s\\S]*?\\}\\}/,\n\t\t'delimiter': {\n\t\t\tpattern: /^\\{\\{\\{?|\\}\\}\\}?$/,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'string': /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\t'number': /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'block': {\n\t\t\tpattern: /^(\\s*(?:~\\s*)?)[#\\/]\\S+?(?=\\s*(?:~\\s*)?$|\\s)/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'keyword'\n\t\t},\n\t\t'brackets': {\n\t\t\tpattern: /\\[[^\\]]+\\]/,\n\t\t\tinside: {\n\t\t\t\tpunctuation: /\\[|\\]/,\n\t\t\t\tvariable: /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t'punctuation': /[!\"#%&':()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]/,\n\t\t'variable': /[^!\"#%&'()*+,\\/;<=>@\\[\\\\\\]^`{|}~\\s]+/\n\t};\n\n\tPrism.hooks.add('before-tokenize', function (env) {\n\t\tvar handlebarsPattern = /\\{\\{\\{[\\s\\S]+?\\}\\}\\}|\\{\\{[\\s\\S]+?\\}\\}/g;\n\t\tPrism.languages['markup-templating'].buildPlaceholders(env, 'handlebars', handlebarsPattern);\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tPrism.languages['markup-templating'].tokenizePlaceholders(env, 'handlebars');\n\t});\n\n\tPrism.languages.hbs = Prism.languages.handlebars;\n\tPrism.languages.mustache = Prism.languages.handlebars;\n\n}(Prism));\n","Prism.languages.haskell = {\n\t'comment': {\n\t\tpattern: /(^|[^-!#$%*+=?&@|~.:<>^\\\\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\\\\/].*|$)|\\{-[\\s\\S]*?-\\})/m,\n\t\tlookbehind: true\n\t},\n\t'char': {\n\t\tpattern: /'(?:[^\\\\']|\\\\(?:[abfnrtv\\\\\"'&]|\\^[A-Z@[\\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\\d+|o[0-7]+|x[0-9a-fA-F]+))'/,\n\t\talias: 'string'\n\t},\n\t'string': {\n\t\tpattern: /\"(?:[^\\\\\"]|\\\\(?:\\S|\\s+\\\\))*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b/,\n\t'import-statement': {\n\t\t// The imported or hidden names are not included in this import\n\t\t// statement. This is because we want to highlight those exactly like\n\t\t// we do for the names in the program.\n\t\tpattern: /(^[\\t ]*)import\\s+(?:qualified\\s+)?(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'keyword': /\\b(?:as|hiding|import|qualified)\\b/,\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t// These are builtin variables only. Constructors are highlighted later as a constant.\n\t'builtin': /\\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b/,\n\t// decimal integers and floating point numbers | octal integers | hexadecimal integers\n\t'number': /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0o[0-7]+|0x[0-9a-f]+)\\b/i,\n\t'operator': [\n\t\t{\n\t\t\t// infix operator\n\t\t\tpattern: /`(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*`/,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\t// function composition\n\t\t\tpattern: /(\\s)\\.(?=\\s)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t// Most of this is needed because of the meaning of a single '.'.\n\t\t// If it stands alone freely, it is the function composition.\n\t\t// It may also be a separator between a module name and an identifier => no\n\t\t// operator. If it comes together with other special characters it is an\n\t\t// operator too.\n\t\t//\n\t\t// This regex means: /[-!#$%*+=?&@|~.:<>^\\\\\\/]+/ without /\\./.\n\t\t/[-!#$%*+=?&@|~:<>^\\\\\\/][-!#$%*+=?&@|~.:<>^\\\\\\/]*|\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]+/,\n\t],\n\t// In Haskell, nearly everything is a variable, do not highlight these.\n\t'hvariable': {\n\t\tpattern: /\\b(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*/,\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'constant': {\n\t\tpattern: /\\b(?:[A-Z][\\w']*\\.)*[A-Z][\\w']*/,\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\nPrism.languages.hs = Prism.languages.haskell;\n","Prism.languages.haxe = Prism.languages.extend('clike', {\n\t'string': {\n\t\t// Strings can be multi-line\n\t\tpattern: /\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"/,\n\t\tgreedy: true\n\t},\n\t'class-name': [\n\t\t{\n\t\t\tpattern: /(\\b(?:abstract|class|enum|extends|implements|interface|new|typedef)\\s+)[A-Z_]\\w*/,\n\t\t\tlookbehind: true,\n\t\t},\n\t\t// based on naming convention\n\t\t/\\b[A-Z]\\w*/\n\t],\n\t// The final look-ahead prevents highlighting of keywords if expressions such as \"haxe.macro.Expr\"\n\t'keyword': /\\bthis\\b|\\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|final|for|from|function|if|implements|import|in|inline|interface|macro|new|null|operator|overload|override|package|private|public|return|static|super|switch|throw|to|try|typedef|untyped|using|var|while)(?!\\.)\\b/,\n\t'function': {\n\t\tpattern: /\\b[a-z_]\\w*(?=\\s*(?:<[^<>]*>\\s*)?\\()/i,\n\t\tgreedy: true\n\t},\n\t'operator': /\\.{3}|\\+\\+|--|&&|\\|\\||->|=>|(?:<<?|>{1,3}|[-+*/%!=&|^])=?|[?:~]/\n});\n\nPrism.languages.insertBefore('haxe', 'string', {\n\t'string-interpolation': {\n\t\tpattern: /'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /(^|[^\\\\])\\$(?:\\w+|\\{[^{}]+\\})/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{?|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\t'expression': {\n\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\tinside: Prism.languages.haxe\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t}\n});\n\nPrism.languages.insertBefore('haxe', 'class-name', {\n\t'regex': {\n\t\tpattern: /~\\/(?:[^\\/\\\\\\r\\n]|\\\\.)+\\/[a-z]*/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-flags': /\\b[a-z]+$/,\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(~\\/)[\\s\\S]+(?=\\/$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^~\\/|\\/$/,\n\t\t}\n\t}\n});\n\nPrism.languages.insertBefore('haxe', 'keyword', {\n\t'preprocessor': {\n\t\tpattern: /#(?:else|elseif|end|if)\\b.*/,\n\t\talias: 'property'\n\t},\n\t'metadata': {\n\t\tpattern: /@:?[\\w.]+/,\n\t\talias: 'symbol'\n\t},\n\t'reification': {\n\t\tpattern: /\\$(?:\\w+|(?=\\{))/,\n\t\talias: 'important'\n\t}\n});\n","Prism.languages.hcl = {\n\t'comment': /(?:\\/\\/|#).*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t'heredoc': {\n\t\tpattern: /<<-?(\\w+\\b)[\\s\\S]*?^[ \\t]*\\1/m,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /(?:data|resource)\\s+(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")(?=\\s+\"[\\w-]+\"\\s+\\{)/i,\n\t\t\tinside: {\n\t\t\t\t'type': {\n\t\t\t\t\tpattern: /(resource|data|\\s+)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")/i,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'variable'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: /(?:backend|module|output|provider|provisioner|variable)\\s+(?:[\\w-]+|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")\\s+(?=\\{)/i,\n\t\t\tinside: {\n\t\t\t\t'type': {\n\t\t\t\t\tpattern: /(backend|module|output|provider|provisioner|variable)\\s+(?:[\\w-]+|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")\\s+/i,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'variable'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/[\\w-]+(?=\\s+\\{)/\n\t],\n\t'property': [\n\t\t/[-\\w\\.]+(?=\\s*=(?!=))/,\n\t\t/\"(?:\\\\[\\s\\S]|[^\\\\\"])+\"(?=\\s*[:=])/,\n\t],\n\t'string': {\n\t\tpattern: /\"(?:[^\\\\$\"]|\\\\[\\s\\S]|\\$(?:(?=\")|\\$+(?!\\$)|[^\"${])|\\$\\{(?:[^{}\"]|\"(?:[^\\\\\"]|\\\\[\\s\\S])*\")*\\})*\"/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /(^|[^$])\\$\\{(?:[^{}\"]|\"(?:[^\\\\\"]|\\\\[\\s\\S])*\")*\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'type': {\n\t\t\t\t\t\tpattern: /(\\b(?:count|data|local|module|path|self|terraform|var)\\b\\.)[\\w\\*]+/i,\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\talias: 'variable'\n\t\t\t\t\t},\n\t\t\t\t\t'keyword': /\\b(?:count|data|local|module|path|self|terraform|var)\\b/i,\n\t\t\t\t\t'function': /\\w+(?=\\()/,\n\t\t\t\t\t'string': {\n\t\t\t\t\t\tpattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n\t\t\t\t\t\tgreedy: true,\n\t\t\t\t\t},\n\t\t\t\t\t'number': /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,\n\t\t\t\t\t'punctuation': /[!\\$#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~?:]/,\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t},\n\t'number': /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,\n\t'boolean': /\\b(?:false|true)\\b/i,\n\t'punctuation': /[=\\[\\]{}]/,\n};\n","Prism.languages.hlsl = Prism.languages.extend('c', {\n\n\t// Regarding keywords and class names:\n\t// The list of all keywords was split into 'keyword' and 'class-name' tokens based on whether they are capitalized.\n\t// https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-keywords\n\t// https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-reserved-words\n\t'class-name': [\n\t\tPrism.languages.c['class-name'],\n\t\t/\\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|RasterizerState|RenderTargetView|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\\b/\n\t],\n\t'keyword': [\n\t\t// HLSL keyword\n\t\t/\\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\\b/,\n\t\t// scalar, vector, and matrix types\n\t\t/\\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\\b/\n\t],\n\t// https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-grammar#floating-point-numbers\n\t'number': /(?:(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?|\\b0x[\\da-fA-F]+)[fFhHlLuU]?\\b/,\n\t'boolean': /\\b(?:false|true)\\b/\n});\n","Prism.languages.hoon = {\n\t'comment': {\n\t\tpattern: /::.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'/,\n\t\tgreedy: true\n\t},\n\t'constant': /%(?:\\.[ny]|[\\w-]+)/,\n\t'class-name': /@(?:[a-z0-9-]*[a-z0-9])?|\\*/i,\n\t'function': /(?:\\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,\n\t'keyword': /\\.[\\^\\+\\*=\\?]|![><:\\.=\\?!]|=[>|:,\\.\\-\\^<+;/~\\*\\?]|\\?[>|:\\.\\-\\^<\\+&~=@!]|\\|[\\$_%:\\.\\-\\^~\\*=@\\?]|\\+[|\\$\\+\\*]|:[_\\-\\^\\+~\\*]|%[_:\\.\\-\\^\\+~\\*=]|\\^[|:\\.\\-\\+&~\\*=\\?]|\\$[|_%:<>\\-\\^&~@=\\?]|;[:<\\+;\\/~\\*=]|~[>|\\$_%<\\+\\/&=\\?!]|--|==/\n};\n","/**\n * Original by Scott Helme.\n *\n * Reference: https://scotthelme.co.uk/hpkp-cheat-sheet/\n */\n\nPrism.languages.hpkp = {\n\t'directive': {\n\t\tpattern: /\\b(?:includeSubDomains|max-age|pin-sha256|preload|report-to|report-uri|strict)(?=[\\s;=]|$)/i,\n\t\talias: 'property'\n\t},\n\t'operator': /=/,\n\t'punctuation': /;/\n};\n","/**\n * Original by Scott Helme.\n *\n * Reference: https://scotthelme.co.uk/hsts-cheat-sheet/\n */\n\nPrism.languages.hsts = {\n\t'directive': {\n\t\tpattern: /\\b(?:includeSubDomains|max-age|preload)(?=[\\s;=]|$)/i,\n\t\talias: 'property'\n\t},\n\t'operator': /=/,\n\t'punctuation': /;/\n};\n","// https://www.json.org/json-en.html\nPrism.languages.json = {\n\t'property': {\n\t\tpattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'comment': {\n\t\tpattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\tgreedy: true\n\t},\n\t'number': /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n\t'punctuation': /[{}[\\],]/,\n\t'operator': /:/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'null': {\n\t\tpattern: /\\bnull\\b/,\n\t\talias: 'keyword'\n\t}\n};\n\nPrism.languages.webmanifest = Prism.languages.json;\n","// https://tools.ietf.org/html/rfc3986#appendix-A\n\nPrism.languages.uri = {\n\t'scheme': {\n\t\tpattern: /^[a-z][a-z0-9+.-]*:/im,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'scheme-delimiter': /:$/\n\t\t}\n\t},\n\t'fragment': {\n\t\tpattern: /#[\\w\\-.~!$&'()*+,;=%:@/?]*/,\n\t\tinside: {\n\t\t\t'fragment-delimiter': /^#/\n\t\t}\n\t},\n\t'query': {\n\t\tpattern: /\\?[\\w\\-.~!$&'()*+,;=%:@/?]*/,\n\t\tinside: {\n\t\t\t'query-delimiter': {\n\t\t\t\tpattern: /^\\?/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'pair-delimiter': /[&;]/,\n\t\t\t'pair': {\n\t\t\t\tpattern: /^[^=][\\s\\S]*/,\n\t\t\t\tinside: {\n\t\t\t\t\t'key': /^[^=]+/,\n\t\t\t\t\t'value': {\n\t\t\t\t\t\tpattern: /(^=)[\\s\\S]+/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t'authority': {\n\t\tpattern: RegExp(\n\t\t\t/^\\/\\//.source\n\t\t\t// [ userinfo \"@\" ]\n\t\t\t+ /(?:[\\w\\-.~!$&'()*+,;=%:]*@)?/.source\n\t\t\t// host\n\t\t\t+ (\n\t\t\t\t'(?:'\n\t\t\t\t// IP-literal\n\t\t\t\t+ /\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\.[\\w\\-.~!$&'()*+,;=]+)\\]/.source\n\t\t\t\t+ '|'\n\t\t\t\t// IPv4address or registered name\n\t\t\t\t+ /[\\w\\-.~!$&'()*+,;=%]*/.source\n\t\t\t\t+ ')'\n\t\t\t)\n\t\t\t// [ \":\" port ]\n\t\t\t+ /(?::\\d*)?/.source,\n\t\t\t'm'\n\t\t),\n\t\tinside: {\n\t\t\t'authority-delimiter': /^\\/\\//,\n\t\t\t'user-info-segment': {\n\t\t\t\tpattern: /^[\\w\\-.~!$&'()*+,;=%:]*@/,\n\t\t\t\tinside: {\n\t\t\t\t\t'user-info-delimiter': /@$/,\n\t\t\t\t\t'user-info': /^[\\w\\-.~!$&'()*+,;=%:]+/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'port-segment': {\n\t\t\t\tpattern: /:\\d*$/,\n\t\t\t\tinside: {\n\t\t\t\t\t'port-delimiter': /^:/,\n\t\t\t\t\t'port': /^\\d+/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'host': {\n\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'ip-literal': {\n\t\t\t\t\t\tpattern: /^\\[[\\s\\S]+\\]$/,\n\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t'ip-literal-delimiter': /^\\[|\\]$/,\n\t\t\t\t\t\t\t'ipv-future': /^v[\\s\\S]+/,\n\t\t\t\t\t\t\t'ipv6-address': /^[\\s\\S]+/\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t'ipv4-address': /^(?:(?:[03-9]\\d?|[12]\\d{0,2})\\.){3}(?:[03-9]\\d?|[12]\\d{0,2})$/\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t'path': {\n\t\tpattern: /^[\\w\\-.~!$&'()*+,;=%:@/]+/m,\n\t\tinside: {\n\t\t\t'path-separator': /\\//\n\t\t}\n\t}\n};\n\nPrism.languages.url = Prism.languages.uri;\n","(function (Prism) {\n\n\t/**\n\t * @param {string} name\n\t * @returns {RegExp}\n\t */\n\tfunction headerValueOf(name) {\n\t\treturn RegExp('(^(?:' + name + '):[ \\t]*(?![ \\t]))[^]+', 'i');\n\t}\n\n\tPrism.languages.http = {\n\t\t'request-line': {\n\t\t\tpattern: /^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\\s(?:https?:\\/\\/|\\/)\\S*\\sHTTP\\/[\\d.]+/m,\n\t\t\tinside: {\n\t\t\t\t// HTTP Method\n\t\t\t\t'method': {\n\t\t\t\t\tpattern: /^[A-Z]+\\b/,\n\t\t\t\t\talias: 'property'\n\t\t\t\t},\n\t\t\t\t// Request Target e.g. http://example.com, /path/to/file\n\t\t\t\t'request-target': {\n\t\t\t\t\tpattern: /^(\\s)(?:https?:\\/\\/|\\/)\\S*(?=\\s)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'url',\n\t\t\t\t\tinside: Prism.languages.uri\n\t\t\t\t},\n\t\t\t\t// HTTP Version\n\t\t\t\t'http-version': {\n\t\t\t\t\tpattern: /^(\\s)HTTP\\/[\\d.]+/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'property'\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t\t'response-status': {\n\t\t\tpattern: /^HTTP\\/[\\d.]+ \\d+ .+/m,\n\t\t\tinside: {\n\t\t\t\t// HTTP Version\n\t\t\t\t'http-version': {\n\t\t\t\t\tpattern: /^HTTP\\/[\\d.]+/,\n\t\t\t\t\talias: 'property'\n\t\t\t\t},\n\t\t\t\t// Status Code\n\t\t\t\t'status-code': {\n\t\t\t\t\tpattern: /^(\\s)\\d+(?=\\s)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'number'\n\t\t\t\t},\n\t\t\t\t// Reason Phrase\n\t\t\t\t'reason-phrase': {\n\t\t\t\t\tpattern: /^(\\s).+/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'string'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'header': {\n\t\t\tpattern: /^[\\w-]+:.+(?:(?:\\r\\n?|\\n)[ \\t].+)*/m,\n\t\t\tinside: {\n\t\t\t\t'header-value': [\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: headerValueOf(/Content-Security-Policy/.source),\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\talias: ['csp', 'languages-csp'],\n\t\t\t\t\t\tinside: Prism.languages.csp\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: headerValueOf(/Public-Key-Pins(?:-Report-Only)?/.source),\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\talias: ['hpkp', 'languages-hpkp'],\n\t\t\t\t\t\tinside: Prism.languages.hpkp\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: headerValueOf(/Strict-Transport-Security/.source),\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\talias: ['hsts', 'languages-hsts'],\n\t\t\t\t\t\tinside: Prism.languages.hsts\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: headerValueOf(/[^:]+/.source),\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t'header-name': {\n\t\t\t\t\tpattern: /^[^:]+/,\n\t\t\t\t\talias: 'keyword'\n\t\t\t\t},\n\t\t\t\t'punctuation': /^:/\n\t\t\t}\n\t\t}\n\t};\n\n\t// Create a mapping of Content-Type headers to language definitions\n\tvar langs = Prism.languages;\n\tvar httpLanguages = {\n\t\t'application/javascript': langs.javascript,\n\t\t'application/json': langs.json || langs.javascript,\n\t\t'application/xml': langs.xml,\n\t\t'text/xml': langs.xml,\n\t\t'text/html': langs.html,\n\t\t'text/css': langs.css,\n\t\t'text/plain': langs.plain\n\t};\n\n\t// Declare which types can also be suffixes\n\tvar suffixTypes = {\n\t\t'application/json': true,\n\t\t'application/xml': true\n\t};\n\n\t/**\n\t * Returns a pattern for the given content type which matches it and any type which has it as a suffix.\n\t *\n\t * @param {string} contentType\n\t * @returns {string}\n\t */\n\tfunction getSuffixPattern(contentType) {\n\t\tvar suffix = contentType.replace(/^[a-z]+\\//, '');\n\t\tvar suffixPattern = '\\\\w+/(?:[\\\\w.-]+\\\\+)+' + suffix + '(?![+\\\\w.-])';\n\t\treturn '(?:' + contentType + '|' + suffixPattern + ')';\n\t}\n\n\t// Insert each content type parser that has its associated language\n\t// currently loaded.\n\tvar options;\n\tfor (var contentType in httpLanguages) {\n\t\tif (httpLanguages[contentType]) {\n\t\t\toptions = options || {};\n\n\t\t\tvar pattern = suffixTypes[contentType] ? getSuffixPattern(contentType) : contentType;\n\t\t\toptions[contentType.replace(/\\//g, '-')] = {\n\t\t\t\tpattern: RegExp(\n\t\t\t\t\t'(' + /content-type:\\s*/.source + pattern + /(?:(?:\\r\\n?|\\n)[\\w-].*)*(?:\\r(?:\\n|(?!\\n))|\\n)/.source + ')' +\n\t\t\t\t\t// This is a little interesting:\n\t\t\t\t\t// The HTTP format spec required 1 empty line before the body to make everything unambiguous.\n\t\t\t\t\t// However, when writing code by hand (e.g. to display on a website) people can forget about this,\n\t\t\t\t\t// so we want to be liberal here. We will allow the empty line to be omitted if the first line of\n\t\t\t\t\t// the body does not start with a [\\w-] character (as headers do).\n\t\t\t\t\t/[^ \\t\\w-][\\s\\S]*/.source,\n\t\t\t\t\t'i'\n\t\t\t\t),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: httpLanguages[contentType]\n\t\t\t};\n\t\t}\n\t}\n\tif (options) {\n\t\tPrism.languages.insertBefore('http', 'header', options);\n\t}\n\n}(Prism));\n","// according to the offical reference (EN)\n// https://ichigojam.net/IchigoJam-en.html\nPrism.languages.ichigojam = {\n\t'comment': /(?:\\B'|REM)(?:[^\\n\\r]*)/i,\n\t'string': {\n\t\tpattern: /\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^\\w +\\-.])*\"/,\n\t\tgreedy: true\n\t},\n\t'number': /\\B#[0-9A-F]+|\\B`[01]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n\t'keyword': /\\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GOTO|GSB|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RIGHT|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\\$|\\b)/i,\n\t'function': /\\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\\$|\\b)/i,\n\t'label': /(?:\\B@\\S+)/,\n\t'operator': /<[=>]?|>=?|\\|\\||&&|[+\\-*\\/=|&^~!]|\\b(?:AND|NOT|OR)\\b/i,\n\t'punctuation': /[\\[,;:()\\]]/\n};\n","Prism.languages.icon = {\n\t'comment': /#.*/,\n\t'string': {\n\t\tpattern: /([\"'])(?:(?!\\1)[^\\\\\\r\\n_]|\\\\.|_(?!\\1)(?:\\r\\n|[\\s\\S]))*\\1/,\n\t\tgreedy: true\n\t},\n\t'number': /\\b(?:\\d+r[a-z\\d]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b|\\.\\d+\\b/i,\n\t'builtin-keyword': {\n\t\tpattern: /&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\\b/,\n\t\talias: 'variable'\n\t},\n\t'directive': {\n\t\tpattern: /\\$\\w+/,\n\t\talias: 'builtin'\n\t},\n\t'keyword': /\\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\\b/,\n\t'function': /\\b(?!\\d)\\w+(?=\\s*[({]|\\s*!\\s*\\[)/,\n\t'operator': /[+-]:(?!=)|(?:[\\/?@^%&]|\\+\\+?|--?|==?=?|~==?=?|\\*\\*?|\\|\\|\\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\\\|~]/,\n\t'punctuation': /[\\[\\](){},;]/\n};\n","// https://unicode-org.github.io/icu/userguide/format_parse/messages/\n// https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/MessageFormat.html\n\n(function (Prism) {\n\n\t/**\n\t * @param {string} source\n\t * @param {number} level\n\t * @returns {string}\n\t */\n\tfunction nested(source, level) {\n\t\tif (level <= 0) {\n\t\t\treturn /[]/.source;\n\t\t} else {\n\t\t\treturn source.replace(/<SELF>/g, function () { return nested(source, level - 1); });\n\t\t}\n\t}\n\n\tvar stringPattern = /'[{}:=,](?:[^']|'')*'(?!')/;\n\n\tvar escape = {\n\t\tpattern: /''/,\n\t\tgreedy: true,\n\t\talias: 'operator'\n\t};\n\tvar string = {\n\t\tpattern: stringPattern,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'escape': escape\n\t\t}\n\t};\n\n\tvar argumentSource = nested(\n\t\t/\\{(?:[^{}']|'(?![{},'])|''|<STR>|<SELF>)*\\}/.source\n\t\t\t.replace(/<STR>/g, function () { return stringPattern.source; }),\n\t\t8\n\t);\n\n\tvar nestedMessage = {\n\t\tpattern: RegExp(argumentSource),\n\t\tinside: {\n\t\t\t'message': {\n\t\t\t\tpattern: /^(\\{)[\\s\\S]+(?=\\}$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'message-delimiter': {\n\t\t\t\tpattern: /./,\n\t\t\t\talias: 'punctuation'\n\t\t\t}\n\t\t}\n\t};\n\n\tPrism.languages['icu-message-format'] = {\n\t\t'argument': {\n\t\t\tpattern: RegExp(argumentSource),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /^(\\{)[\\s\\S]+(?=\\}$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'argument-name': {\n\t\t\t\t\t\t\tpattern: /^(\\s*)[^{}:=,\\s]+/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'choice-style': {\n\t\t\t\t\t\t\t// https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1ChoiceFormat.html#details\n\t\t\t\t\t\t\tpattern: /^(\\s*,\\s*choice\\s*,\\s*)\\S(?:[\\s\\S]*\\S)?/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t\t'punctuation': /\\|/,\n\t\t\t\t\t\t\t\t'range': {\n\t\t\t\t\t\t\t\t\tpattern: /^(\\s*)[+-]?(?:\\d+(?:\\.\\d*)?|\\u221e)\\s*[<#\\u2264]/,\n\t\t\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t\t\t\t'operator': /[<#\\u2264]/,\n\t\t\t\t\t\t\t\t\t\t'number': /\\S+/\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\trest: null // see below\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'plural-style': {\n\t\t\t\t\t\t\t// https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/PluralFormat.html#:~:text=Patterns%20and%20Their%20Interpretation\n\t\t\t\t\t\t\tpattern: /^(\\s*,\\s*(?:plural|selectordinal)\\s*,\\s*)\\S(?:[\\s\\S]*\\S)?/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t\t'offset': /^offset:\\s*\\d+/,\n\t\t\t\t\t\t\t\t'nested-message': nestedMessage,\n\t\t\t\t\t\t\t\t'selector': {\n\t\t\t\t\t\t\t\t\tpattern: /=\\d+|[^{}:=,\\s]+/,\n\t\t\t\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t\t\t\t'keyword': /^(?:few|many|one|other|two|zero)$/\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'select-style': {\n\t\t\t\t\t\t\t// https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/SelectFormat.html#:~:text=Patterns%20and%20Their%20Interpretation\n\t\t\t\t\t\t\tpattern: /^(\\s*,\\s*select\\s*,\\s*)\\S(?:[\\s\\S]*\\S)?/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t\t'nested-message': nestedMessage,\n\t\t\t\t\t\t\t\t'selector': {\n\t\t\t\t\t\t\t\t\tpattern: /[^{}:=,\\s]+/,\n\t\t\t\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t\t\t\t'keyword': /^other$/\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'keyword': /\\b(?:choice|plural|select|selectordinal)\\b/,\n\t\t\t\t\t\t'arg-type': {\n\t\t\t\t\t\t\tpattern: /\\b(?:date|duration|number|ordinal|spellout|time)\\b/,\n\t\t\t\t\t\t\talias: 'keyword'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'arg-skeleton': {\n\t\t\t\t\t\t\tpattern: /(,\\s*)::[^{}:=,\\s]+/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'arg-style': {\n\t\t\t\t\t\t\tpattern: /(,\\s*)(?:currency|full|integer|long|medium|percent|short)(?=\\s*$)/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'arg-style-text': {\n\t\t\t\t\t\t\tpattern: RegExp(/(^\\s*,\\s*(?=\\S))/.source + nested(/(?:[^{}']|'[^']*'|\\{(?:<SELF>)?\\})+/.source, 8) + '$'),\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /,/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'argument-delimiter': {\n\t\t\t\t\tpattern: /./,\n\t\t\t\t\talias: 'operator'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'escape': escape,\n\t\t'string': string\n\t};\n\n\tnestedMessage.inside.message.inside = Prism.languages['icu-message-format'];\n\tPrism.languages['icu-message-format'].argument.inside.content.inside['choice-style'].inside.rest = Prism.languages['icu-message-format'];\n\n}(Prism));\n","Prism.languages.idris = Prism.languages.extend('haskell', {\n\t'comment': {\n\t\tpattern: /(?:(?:--|\\|\\|\\|).*$|\\{-[\\s\\S]*?-\\})/m,\n\t},\n\t'keyword': /\\b(?:Type|case|class|codata|constructor|corecord|data|do|dsl|else|export|if|implementation|implicit|import|impossible|in|infix|infixl|infixr|instance|interface|let|module|mutual|namespace|of|parameters|partial|postulate|private|proof|public|quoteGoal|record|rewrite|syntax|then|total|using|where|with)\\b/,\n\t'builtin': undefined\n});\n\nPrism.languages.insertBefore('idris', 'keyword', {\n\t'import-statement': {\n\t\tpattern: /(^\\s*import\\s+)(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t}\n});\n\nPrism.languages.idr = Prism.languages.idris;\n","(function (Prism) {\n\tPrism.languages.ignore = {\n\t\t// https://git-scm.com/docs/gitignore\n\t\t'comment': /^#.*/m,\n\t\t'entry': {\n\t\t\tpattern: /\\S(?:.*(?:(?:\\\\ )|\\S))?/,\n\t\t\talias: 'string',\n\t\t\tinside: {\n\t\t\t\t'operator': /^!|\\*\\*?|\\?/,\n\t\t\t\t'regex': {\n\t\t\t\t\tpattern: /(^|[^\\\\])\\[[^\\[\\]]*\\]/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\//\n\t\t\t}\n\t\t}\n\t};\n\n\tPrism.languages.gitignore = Prism.languages.ignore;\n\tPrism.languages.hgignore = Prism.languages.ignore;\n\tPrism.languages.npmignore = Prism.languages.ignore;\n\n}(Prism));\n","Prism.languages.inform7 = {\n\t'string': {\n\t\tpattern: /\"[^\"]*\"/,\n\t\tinside: {\n\t\t\t'substitution': {\n\t\t\t\tpattern: /\\[[^\\[\\]]+\\]/,\n\t\t\t\tinside: {\n\t\t\t\t\t'delimiter': {\n\t\t\t\t\t\tpattern: /\\[|\\]/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t}\n\t\t\t\t\t// See rest below\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t'comment': {\n\t\tpattern: /\\[[^\\[\\]]+\\]/,\n\t\tgreedy: true\n\t},\n\t'title': {\n\t\tpattern: /^[ \\t]*(?:book|chapter|part(?! of)|section|table|volume)\\b.+/im,\n\t\talias: 'important'\n\t},\n\t'number': {\n\t\tpattern: /(^|[^-])(?:\\b\\d+(?:\\.\\d+)?(?:\\^\\d+)?(?:(?!\\d)\\w+)?|\\b(?:eight|eleven|five|four|nine|one|seven|six|ten|three|twelve|two))\\b(?!-)/i,\n\t\tlookbehind: true\n\t},\n\t'verb': {\n\t\tpattern: /(^|[^-])\\b(?:answering|applying to|are|asking|attacking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:ing|s)?|consulting|contain(?:ing|s)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:s|ve|ving)|hold(?:ing|s)?|impl(?:ies|y)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:ing|s)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:ing|s)?|setting|showing|singing|sleeping|smelling|squeezing|support(?:ing|s)?|swearing|switching|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:ing|s)?|var(?:ies|y|ying)|waiting|waking|waving|wear(?:ing|s)?)\\b(?!-)/i,\n\t\tlookbehind: true,\n\t\talias: 'operator'\n\t},\n\t'keyword': {\n\t\tpattern: /(^|[^-])\\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|the story|unless)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\\b(?!-)/i,\n\t\tlookbehind: true\n\t},\n\t'property': {\n\t\tpattern: /(^|[^-])\\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: off| on)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\\b(?!-)/i,\n\t\tlookbehind: true,\n\t\talias: 'symbol'\n\t},\n\t'position': {\n\t\tpattern: /(^|[^-])\\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\\b(?!-)/i,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t},\n\t'type': {\n\t\tpattern: /(^|[^-])\\b(?:actions?|activit(?:ies|y)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdall)?|regions?|relations?|rooms?|rule(?:book)?s?|scenes?|someone|something|supporters?|tables?|texts?|things?|time|vehicles?|wom[ae]n)\\b(?!-)/i,\n\t\tlookbehind: true,\n\t\talias: 'variable'\n\t},\n\t'punctuation': /[.,:;(){}]/\n};\n\nPrism.languages.inform7['string'].inside['substitution'].inside.rest = Prism.languages.inform7;\n// We don't want the remaining text in the substitution to be highlighted as the string.\nPrism.languages.inform7['string'].inside['substitution'].inside.rest.text = {\n\tpattern: /\\S(?:\\s*\\S)*/,\n\talias: 'comment'\n};\n","Prism.languages.ini = {\n\n\t/**\n\t * The component mimics the behavior of the Win32 API parser.\n\t *\n\t * @see {@link https://github.com/PrismJS/prism/issues/2775#issuecomment-787477723}\n\t */\n\n\t'comment': {\n\t\tpattern: /(^[ \\f\\t\\v]*)[#;][^\\n\\r]*/m,\n\t\tlookbehind: true\n\t},\n\t'section': {\n\t\tpattern: /(^[ \\f\\t\\v]*)\\[[^\\n\\r\\]]*\\]?/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'section-name': {\n\t\t\t\tpattern: /(^\\[[ \\f\\t\\v]*)[^ \\f\\t\\v\\]]+(?:[ \\f\\t\\v]+[^ \\f\\t\\v\\]]+)*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'selector'\n\t\t\t},\n\t\t\t'punctuation': /\\[|\\]/\n\t\t}\n\t},\n\t'key': {\n\t\tpattern: /(^[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v=]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v=]+)*(?=[ \\f\\t\\v]*=)/m,\n\t\tlookbehind: true,\n\t\talias: 'attr-name'\n\t},\n\t'value': {\n\t\tpattern: /(=[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v]+)*/,\n\t\tlookbehind: true,\n\t\talias: 'attr-value',\n\t\tinside: {\n\t\t\t'inner-value': {\n\t\t\t\tpattern: /^(\"|').+(?=\\1$)/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t}\n\t},\n\t'punctuation': /=/\n};\n","Prism.languages.io = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\/\\/.*|#.*)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'triple-quoted-string': {\n\t\tpattern: /\"\"\"(?:\\\\[\\s\\S]|(?!\"\"\")[^\\\\])*\"\"\"/,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'string': {\n\t\tpattern: /\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:activate|activeCoroCount|asString|block|break|call|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getEnvironmentVariable|getSlot|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|try|type|uniqueId|updateSlot|wait|while|write|yield)\\b/,\n\t'builtin': /\\b(?:Array|AudioDevice|AudioMixer|BigNum|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Random|Regex|SGML|SGMLElement|SGMLParser|SQLite|Sequence|Server|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink)\\b/,\n\t'boolean': /\\b(?:false|nil|true)\\b/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e-?\\d+)?/i,\n\t'operator': /[=!*/%+\\-^&|]=|>>?=?|<<?=?|:?:?=|\\+\\+?|--?|\\*\\*?|\\/\\/?|%|\\|\\|?|&&?|\\b(?:and|not|or|return)\\b|@@?|\\?\\??|\\.\\./,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n","Prism.languages.j = {\n\t'comment': {\n\t\tpattern: /\\bNB\\..*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /'(?:''|[^'\\r\\n])*'/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:(?:CR|LF|adverb|conjunction|def|define|dyad|monad|noun|verb)\\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\\w+|goto_\\w+|if|label_\\w+|return|select|throw|try|while|whilst)\\.)/,\n\t'verb': {\n\t\t// Negative look-ahead prevents bad highlighting\n\t\t// of ^: ;. =. =: !. !:\n\t\tpattern: /(?!\\^:|;\\.|[=!][.:])(?:\\{(?:\\.|::?)?|p(?:\\.\\.?|:)|[=!\\]]|[<>+*\\-%$|,#][.:]?|[?^]\\.?|[;\\[]:?|[~}\"i][.:]|[ACeEIjLor]\\.|(?:[_\\/\\\\qsux]|_?\\d):)/,\n\t\talias: 'keyword'\n\t},\n\t'number': /\\b_?(?:(?!\\d:)\\d+(?:\\.\\d+)?(?:(?:ad|ar|[ejpx])_?\\d+(?:\\.\\d+)?)*(?:b_?[\\da-z]+(?:\\.[\\da-z]+)?)?|_\\b(?!\\.))/,\n\t'adverb': {\n\t\tpattern: /[~}]|[\\/\\\\]\\.?|[bfM]\\.|t[.:]/,\n\t\talias: 'builtin'\n\t},\n\t'operator': /[=a][.:]|_\\./,\n\t'conjunction': {\n\t\tpattern: /&(?:\\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\\.|`:?|[\\^LS]:|\"/,\n\t\talias: 'variable'\n\t},\n\t'punctuation': /[()]/\n};\n","(function (Prism) {\n\n\tvar keywords = /\\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(?!\\s*[(){}[\\]<>=%~.:,;?+\\-*/&|^])|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\n\t// full package (optional) + parent classes (optional)\n\tvar classNamePrefix = /(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source;\n\n\t// based on the java naming conventions\n\tvar className = {\n\t\tpattern: RegExp(/(^|[^\\w.])/.source + classNamePrefix + /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'namespace': {\n\t\t\t\tpattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\./\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\./\n\t\t}\n\t};\n\n\tPrism.languages.java = Prism.languages.extend('clike', {\n\t\t'string': {\n\t\t\tpattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t'class-name': [\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t// variables, parameters, and constructor references\n\t\t\t\t// this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n\t\t\t\tpattern: RegExp(/(^|[^\\w.])/.source + classNamePrefix + /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: className.inside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// class names based on keyword\n\t\t\t\t// this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n\t\t\t\tpattern: RegExp(/(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)/.source + classNamePrefix + /[A-Z]\\w*\\b/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: className.inside\n\t\t\t}\n\t\t],\n\t\t'keyword': keywords,\n\t\t'function': [\n\t\t\tPrism.languages.clike.function,\n\t\t\t{\n\t\t\t\tpattern: /(::\\s*)[a-z_]\\w*/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'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,\n\t\t'operator': {\n\t\t\tpattern: /(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'constant': /\\b[A-Z][A-Z_\\d]+\\b/\n\t});\n\n\tPrism.languages.insertBefore('java', 'string', {\n\t\t'triple-quoted-string': {\n\t\t\t// http://openjdk.java.net/jeps/355#Description\n\t\t\tpattern: /\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,\n\t\t\tgreedy: true,\n\t\t\talias: 'string'\n\t\t},\n\t\t'char': {\n\t\t\tpattern: /'(?:\\\\.|[^'\\\\\\r\\n]){1,6}'/,\n\t\t\tgreedy: true\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('java', 'class-name', {\n\t\t'annotation': {\n\t\t\tpattern: /(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'generics': {\n\t\t\tpattern: /<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,\n\t\t\tinside: {\n\t\t\t\t'class-name': className,\n\t\t\t\t'keyword': keywords,\n\t\t\t\t'punctuation': /[<>(),.:]/,\n\t\t\t\t'operator': /[?&|]/\n\t\t\t}\n\t\t},\n\t\t'import': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(\\bimport\\s+)/.source + classNamePrefix + /(?:[A-Z]\\w*|\\*)(?=\\s*;)/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': className.inside.namespace,\n\t\t\t\t\t'punctuation': /\\./,\n\t\t\t\t\t'operator': /\\*/,\n\t\t\t\t\t'class-name': /\\w+/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(\\bimport\\s+static\\s+)/.source + classNamePrefix + /(?:\\w+|\\*)(?=\\s*;)/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'static',\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': className.inside.namespace,\n\t\t\t\t\t'static': /\\b\\w+$/,\n\t\t\t\t\t'punctuation': /\\./,\n\t\t\t\t\t'operator': /\\*/,\n\t\t\t\t\t'class-name': /\\w+/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'namespace': {\n\t\t\tpattern: RegExp(\n\t\t\t\t/(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/\n\t\t\t\t\t.source.replace(/<keyword>/g, function () { return keywords.source; })),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\./,\n\t\t\t}\n\t\t}\n\t});\n}(Prism));\n","Prism.languages.scala = Prism.languages.extend('java', {\n\t'triple-quoted-string': {\n\t\tpattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'string': {\n\t\tpattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'keyword': /<-|=>|\\b(?:abstract|case|catch|class|def|derives|do|else|enum|extends|extension|final|finally|for|forSome|given|if|implicit|import|infix|inline|lazy|match|new|null|object|opaque|open|override|package|private|protected|return|sealed|self|super|this|throw|trait|transparent|try|type|using|val|var|while|with|yield)\\b/,\n\t'number': /\\b0x(?:[\\da-f]*\\.)?[\\da-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e\\d+)?[dfl]?/i,\n\t'builtin': /\\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\\b/,\n\t'symbol': /'[^\\d\\s\\\\]\\w*/\n});\n\nPrism.languages.insertBefore('scala', 'triple-quoted-string', {\n\t'string-interpolation': {\n\t\tpattern: /\\b[a-z]\\w*(?:\"\"\"(?:[^$]|\\$(?:[^{]|\\{(?:[^{}]|\\{[^{}]*\\})*\\}))*?\"\"\"|\"(?:[^$\"\\r\\n]|\\$(?:[^{]|\\{(?:[^{}]|\\{[^{}]*\\})*\\}))*\")/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'id': {\n\t\t\t\tpattern: /^\\w+/,\n\t\t\t\tgreedy: true,\n\t\t\t\talias: 'function'\n\t\t\t},\n\t\t\t'escape': {\n\t\t\t\tpattern: /\\\\\\$\"|\\$[$\"]/,\n\t\t\t\tgreedy: true,\n\t\t\t\talias: 'symbol'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /\\$(?:\\w+|\\{(?:[^{}]|\\{[^{}]*\\})*\\})/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^\\$\\{?|\\}$/,\n\t\t\t\t\t'expression': {\n\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\tinside: Prism.languages.scala\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t}\n});\n\ndelete Prism.languages.scala['class-name'];\ndelete Prism.languages.scala['function'];\ndelete Prism.languages.scala['constant'];\n","/**\n * Original by Aaron Harun: http://aahacreative.com/2012/07/31/php-syntax-highlighting-prism/\n * Modified by Miles Johnson: http://milesj.me\n * Rewritten by Tom Pavelec\n *\n * Supports PHP 5.3 - 8.0\n */\n(function (Prism) {\n\tvar comment = /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/;\n\tvar constant = [\n\t\t{\n\t\t\tpattern: /\\b(?:false|true)\\b/i,\n\t\t\talias: 'boolean'\n\t\t},\n\t\t{\n\t\t\tpattern: /(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,\n\t\t\tgreedy: true,\n\t\t\tlookbehind: true,\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,\n\t\t\tgreedy: true,\n\t\t\tlookbehind: true,\n\t\t},\n\t\t/\\b(?:null)\\b/i,\n\t\t/\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/,\n\t];\n\tvar number = /\\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\tvar operator = /<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/;\n\tvar punctuation = /[{}\\[\\](),:;]/;\n\n\tPrism.languages.php = {\n\t\t'delimiter': {\n\t\t\tpattern: /\\?>$|^<\\?(?:php(?=\\s)|=)?/i,\n\t\t\talias: 'important'\n\t\t},\n\t\t'comment': comment,\n\t\t'variable': /\\$+(?:\\w+\\b|(?=\\{))/,\n\t\t'package': {\n\t\t\tpattern: /(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\\\/\n\t\t\t}\n\t\t},\n\t\t'class-name-definition': {\n\t\t\tpattern: /(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n\t\t\tlookbehind: true,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'function-definition': {\n\t\t\tpattern: /(\\bfunction\\s+)[a-z_]\\w*(?=\\s*\\()/i,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'keyword': [\n\t\t\t{\n\t\t\t\tpattern: /(\\(\\s*)\\b(?:array|bool|boolean|float|int|integer|object|string)\\b(?=\\s*\\))/i,\n\t\t\t\talias: 'type-casting',\n\t\t\t\tgreedy: true,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /([(,?]\\s*)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string)\\b(?=\\s*\\$)/i,\n\t\t\t\talias: 'type-hint',\n\t\t\t\tgreedy: true,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|never|object|self|static|string|void)\\b/i,\n\t\t\t\talias: 'return-type',\n\t\t\t\tgreedy: true,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /\\b(?:array(?!\\s*\\()|bool|float|int|iterable|mixed|object|string|void)\\b/i,\n\t\t\t\talias: 'type-declaration',\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\|\\s*)(?:false|null)\\b|\\b(?:false|null)(?=\\s*\\|)/i,\n\t\t\t\talias: 'type-declaration',\n\t\t\t\tgreedy: true,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /\\b(?:parent|self|static)(?=\\s*::)/i,\n\t\t\t\talias: 'static-context',\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// yield from\n\t\t\t\tpattern: /(\\byield\\s+)from\\b/i,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t// `class` is always a keyword unlike other keywords\n\t\t\t/\\bclass\\b/i,\n\t\t\t{\n\t\t\t\t// https://www.php.net/manual/en/reserved.keywords.php\n\t\t\t\t//\n\t\t\t\t// keywords cannot be preceded by \"->\"\n\t\t\t\t// the complex lookbehind means `(?<!(?:->|::)\\s*)`\n\t\t\t\tpattern: /((?:^|[^\\s>:]|(?:^|[^-])>|(?:^|[^:]):)\\s*)\\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\\b/i,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'argument-name': {\n\t\t\tpattern: /([(,]\\s*)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'class-name': [\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,\n\t\t\t\tgreedy: true,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n\t\t\t\tgreedy: true,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,\n\t\t\t\talias: 'class-name-fully-qualified',\n\t\t\t\tgreedy: true,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\\\/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,\n\t\t\t\talias: 'class-name-fully-qualified',\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\\\/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n\t\t\t\talias: 'class-name-fully-qualified',\n\t\t\t\tgreedy: true,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\\\/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /\\b[a-z_]\\w*(?=\\s*\\$)/i,\n\t\t\t\talias: 'type-declaration',\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n\t\t\t\talias: ['class-name-fully-qualified', 'type-declaration'],\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\\\/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /\\b[a-z_]\\w*(?=\\s*::)/i,\n\t\t\t\talias: 'static-context',\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,\n\t\t\t\talias: ['class-name-fully-qualified', 'static-context'],\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\\\/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,\n\t\t\t\talias: 'type-hint',\n\t\t\t\tgreedy: true,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n\t\t\t\talias: ['class-name-fully-qualified', 'type-hint'],\n\t\t\t\tgreedy: true,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\\\/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n\t\t\t\talias: 'return-type',\n\t\t\t\tgreedy: true,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n\t\t\t\talias: ['class-name-fully-qualified', 'return-type'],\n\t\t\t\tgreedy: true,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\\\/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'constant': constant,\n\t\t'function': {\n\t\t\tpattern: /(^|[^\\\\\\w])\\\\?[a-z_](?:[\\w\\\\]*\\w)?(?=\\s*\\()/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\\\/\n\t\t\t}\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(->\\s*)\\w+/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'number': number,\n\t\t'operator': operator,\n\t\t'punctuation': punctuation\n\t};\n\n\tvar string_interpolation = {\n\t\tpattern: /\\{\\$(?:\\{(?:\\{[^{}]+\\}|[^{}]+)\\}|[^{}])+\\}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)?)/,\n\t\tlookbehind: true,\n\t\tinside: Prism.languages.php\n\t};\n\n\tvar string = [\n\t\t{\n\t\t\tpattern: /<<<'([^']+)'[\\r\\n](?:.*[\\r\\n])*?\\1;/,\n\t\t\talias: 'nowdoc-string',\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'delimiter': {\n\t\t\t\t\tpattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n\t\t\t\t\talias: 'symbol',\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /^<<<'?|[';]$/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: /<<<(?:\"([^\"]+)\"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,\n\t\t\talias: 'heredoc-string',\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'delimiter': {\n\t\t\t\t\tpattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n\t\t\t\t\talias: 'symbol',\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /^<<<\"?|[\";]$/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'interpolation': string_interpolation\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n\t\t\talias: 'backtick-quoted-string',\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n\t\t\talias: 'single-quoted-string',\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n\t\t\talias: 'double-quoted-string',\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': string_interpolation\n\t\t\t}\n\t\t}\n\t];\n\n\tPrism.languages.insertBefore('php', 'variable', {\n\t\t'string': string,\n\t\t'attribute': {\n\t\t\tpattern: /#\\[(?:[^\"'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*')+\\](?=\\s*[a-z$#])/im,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'attribute-content': {\n\t\t\t\t\tpattern: /^(#\\[)[\\s\\S]+(?=\\]$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t// inside can appear subset of php\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'comment': comment,\n\t\t\t\t\t\t'string': string,\n\t\t\t\t\t\t'attribute-class-name': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n\t\t\t\t\t\t\t\talias: 'class-name',\n\t\t\t\t\t\t\t\tgreedy: true,\n\t\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,\n\t\t\t\t\t\t\t\talias: [\n\t\t\t\t\t\t\t\t\t'class-name',\n\t\t\t\t\t\t\t\t\t'class-name-fully-qualified'\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tgreedy: true,\n\t\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t\t\t'punctuation': /\\\\/\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\t'constant': constant,\n\t\t\t\t\t\t'number': number,\n\t\t\t\t\t\t'operator': operator,\n\t\t\t\t\t\t'punctuation': punctuation\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'delimiter': {\n\t\t\t\t\tpattern: /^#\\[|\\]$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t});\n\n\tPrism.hooks.add('before-tokenize', function (env) {\n\t\tif (!/<\\?/.test(env.code)) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar phpPattern = /<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/g;\n\t\tPrism.languages['markup-templating'].buildPlaceholders(env, 'php', phpPattern);\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tPrism.languages['markup-templating'].tokenizePlaceholders(env, 'php');\n\t});\n\n}(Prism));\n","(function (Prism) {\n\n\tvar javaDocLike = Prism.languages.javadoclike = {\n\t\t'parameter': {\n\t\t\tpattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*@(?:arg|arguments|param)\\s+)\\w+/m,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'keyword': {\n\t\t\t// keywords are the first word in a line preceded be an `@` or surrounded by curly braces.\n\t\t\t// @word, {@word}\n\t\t\tpattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*|\\{)@[a-z][a-zA-Z-]+\\b/m,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[{}]/\n\t};\n\n\n\t/**\n\t * Adds doc comment support to the given language and calls a given callback on each doc comment pattern.\n\t *\n\t * @param {string} lang the language add doc comment support to.\n\t * @param {(pattern: {inside: {rest: undefined}}) => void} callback the function called with each doc comment pattern as argument.\n\t */\n\tfunction docCommentSupport(lang, callback) {\n\t\tvar tokenName = 'doc-comment';\n\n\t\tvar grammar = Prism.languages[lang];\n\t\tif (!grammar) {\n\t\t\treturn;\n\t\t}\n\t\tvar token = grammar[tokenName];\n\n\t\tif (!token) {\n\t\t\t// add doc comment: /** */\n\t\t\tvar definition = {};\n\t\t\tdefinition[tokenName] = {\n\t\t\t\tpattern: /(^|[^\\\\])\\/\\*\\*[^/][\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'comment'\n\t\t\t};\n\n\t\t\tgrammar = Prism.languages.insertBefore(lang, 'comment', definition);\n\t\t\ttoken = grammar[tokenName];\n\t\t}\n\n\t\tif (token instanceof RegExp) { // convert regex to object\n\t\t\ttoken = grammar[tokenName] = { pattern: token };\n\t\t}\n\n\t\tif (Array.isArray(token)) {\n\t\t\tfor (var i = 0, l = token.length; i < l; i++) {\n\t\t\t\tif (token[i] instanceof RegExp) {\n\t\t\t\t\ttoken[i] = { pattern: token[i] };\n\t\t\t\t}\n\t\t\t\tcallback(token[i]);\n\t\t\t}\n\t\t} else {\n\t\t\tcallback(token);\n\t\t}\n\t}\n\n\t/**\n\t * Adds doc-comment support to the given languages for the given documentation language.\n\t *\n\t * @param {string[]|string} languages\n\t * @param {Object} docLanguage\n\t */\n\tfunction addSupport(languages, docLanguage) {\n\t\tif (typeof languages === 'string') {\n\t\t\tlanguages = [languages];\n\t\t}\n\n\t\tlanguages.forEach(function (lang) {\n\t\t\tdocCommentSupport(lang, function (pattern) {\n\t\t\t\tif (!pattern.inside) {\n\t\t\t\t\tpattern.inside = {};\n\t\t\t\t}\n\t\t\t\tpattern.inside.rest = docLanguage;\n\t\t\t});\n\t\t});\n\t}\n\n\tObject.defineProperty(javaDocLike, 'addSupport', { value: addSupport });\n\n\tjavaDocLike.addSupport(['java', 'javascript', 'php'], javaDocLike);\n\n}(Prism));\n","(function (Prism) {\n\n\tvar codeLinePattern = /(^(?:[\\t ]*(?:\\*\\s*)*))[^*\\s].*$/m;\n\n\tvar memberReference = /#\\s*\\w+(?:\\s*\\([^()]*\\))?/.source;\n\tvar reference = /(?:\\b[a-zA-Z]\\w+\\s*\\.\\s*)*\\b[A-Z]\\w*(?:\\s*<mem>)?|<mem>/.source.replace(/<mem>/g, function () { return memberReference; });\n\n\tPrism.languages.javadoc = Prism.languages.extend('javadoclike', {});\n\tPrism.languages.insertBefore('javadoc', 'keyword', {\n\t\t'reference': {\n\t\t\tpattern: RegExp(/(@(?:exception|link|linkplain|see|throws|value)\\s+(?:\\*\\s*)?)/.source + '(?:' + reference + ')'),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'function': {\n\t\t\t\t\tpattern: /(#\\s*)\\w+(?=\\s*\\()/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'field': {\n\t\t\t\t\tpattern: /(#\\s*)\\w+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'namespace': {\n\t\t\t\t\tpattern: /\\b(?:[a-z]\\w*\\s*\\.\\s*)+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /\\./\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'class-name': /\\b[A-Z]\\w*/,\n\t\t\t\t'keyword': Prism.languages.java.keyword,\n\t\t\t\t'punctuation': /[#()[\\],.]/\n\t\t\t}\n\t\t},\n\t\t'class-name': {\n\t\t\t// @param <T> the first generic type parameter\n\t\t\tpattern: /(@param\\s+)<[A-Z]\\w*>/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /[.<>]/\n\t\t\t}\n\t\t},\n\t\t'code-section': [\n\t\t\t{\n\t\t\t\tpattern: /(\\{@code\\s+(?!\\s))(?:[^\\s{}]|\\s+(?![\\s}])|\\{(?:[^{}]|\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\\})+(?=\\s*\\})/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'code': {\n\t\t\t\t\t\t// there can't be any HTML inside of {@code} tags\n\t\t\t\t\t\tpattern: codeLinePattern,\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\tinside: Prism.languages.java,\n\t\t\t\t\t\talias: 'language-java'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(<(code|pre|tt)>(?!<code>)\\s*)\\S(?:\\S|\\s+\\S)*?(?=\\s*<\\/\\2>)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'line': {\n\t\t\t\t\t\tpattern: codeLinePattern,\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t// highlight HTML tags and entities\n\t\t\t\t\t\t\t'tag': Prism.languages.markup.tag,\n\t\t\t\t\t\t\t'entity': Prism.languages.markup.entity,\n\t\t\t\t\t\t\t'code': {\n\t\t\t\t\t\t\t\t// everything else is Java code\n\t\t\t\t\t\t\t\tpattern: /.+/,\n\t\t\t\t\t\t\t\tinside: Prism.languages.java,\n\t\t\t\t\t\t\t\talias: 'language-java'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'tag': Prism.languages.markup.tag,\n\t\t'entity': Prism.languages.markup.entity,\n\t});\n\n\tPrism.languages.javadoclike.addSupport('java', Prism.languages.javadoc);\n}(Prism));\n","// Specification:\n// https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Throwable.html#printStackTrace()\n\nPrism.languages.javastacktrace = {\n\n\t// java.sql.SQLException: Violation of unique constraint MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement [...]\n\t// Caused by: java.sql.SQLException: Violation of unique constraint MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement [...]\n\t// Caused by: com.example.myproject.MyProjectServletException\n\t// Caused by: MidLevelException: LowLevelException\n\t// Suppressed: Resource$CloseFailException: Resource ID = 0\n\t'summary': {\n\t\tpattern: /^([\\t ]*)(?:(?:Caused by:|Suppressed:|Exception in thread \"[^\"]*\")[\\t ]+)?[\\w$.]+(?::.*)?$/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'keyword': {\n\t\t\t\tpattern: /^([\\t ]*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\n\t\t\t// the current thread if the summary starts with 'Exception in thread'\n\t\t\t'string': {\n\t\t\t\tpattern: /^(\\s*)\"[^\"]*\"/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'exceptions': {\n\t\t\t\tpattern: /^(:?\\s*)[\\w$.]+(?=:|$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'class-name': /[\\w$]+$/,\n\t\t\t\t\t'namespace': /\\b[a-z]\\w*\\b/,\n\t\t\t\t\t'punctuation': /\\./\n\t\t\t\t}\n\t\t\t},\n\t\t\t'message': {\n\t\t\t\tpattern: /(:\\s*)\\S.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'punctuation': /:/\n\t\t}\n\t},\n\n\t// at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)\n\t// at org.hsqldb.jdbc.Util.throwError(Unknown Source) here could be some notes\n\t// at java.base/java.lang.Class.forName0(Native Method)\n\t// at Util.<init>(Unknown Source)\n\t// at com.foo.loader/foo@9.0/com.foo.Main.run(Main.java:101)\n\t// at com.foo.loader//com.foo.bar.App.run(App.java:12)\n\t// at acme@2.1/org.acme.Lib.test(Lib.java:80)\n\t// at MyClass.mash(MyClass.java:9)\n\t//\n\t// More information:\n\t// https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/StackTraceElement.html#toString()\n\t//\n\t// A valid Java module name is defined as:\n\t// \"A module name consists of one or more Java identifiers (§3.8) separated by \".\" tokens.\"\n\t// https://docs.oracle.com/javase/specs/jls/se9/html/jls-6.html#jls-ModuleName\n\t//\n\t// A Java module version is defined by this class:\n\t// https://docs.oracle.com/javase/9/docs/api/java/lang/module/ModuleDescriptor.Version.html\n\t// This is the implementation of the `parse` method in JDK13:\n\t// https://github.com/matcdac/jdk/blob/2305df71d1b7710266ae0956d73927a225132c0f/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java#L1108\n\t// However, to keep this simple, a version will be matched by the pattern /@[\\w$.+-]*/.\n\t'stack-frame': {\n\t\tpattern: /^([\\t ]*)at (?:[\\w$./]|@[\\w$.+-]*\\/)+(?:<init>)?\\([^()]*\\)/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'keyword': {\n\t\t\t\tpattern: /^(\\s*)at(?= )/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'source': [\n\t\t\t\t// (Main.java:15)\n\t\t\t\t// (Main.scala:15)\n\t\t\t\t{\n\t\t\t\t\tpattern: /(\\()\\w+\\.\\w+:\\d+(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'file': /^\\w+\\.\\w+/,\n\t\t\t\t\t\t'punctuation': /:/,\n\t\t\t\t\t\t'line-number': {\n\t\t\t\t\t\t\tpattern: /\\b\\d+\\b/,\n\t\t\t\t\t\t\talias: 'number'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t// (Unknown Source)\n\t\t\t\t// (Native Method)\n\t\t\t\t// (...something...)\n\t\t\t\t{\n\t\t\t\t\tpattern: /(\\()[^()]*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'keyword': /^(?:Native Method|Unknown Source)$/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\t'class-name': /[\\w$]+(?=\\.(?:<init>|[\\w$]+)\\()/,\n\t\t\t'function': /(?:<init>|[\\w$]+)(?=\\()/,\n\t\t\t'class-loader': {\n\t\t\t\tpattern: /(\\s)[a-z]\\w*(?:\\.[a-z]\\w*)*(?=\\/[\\w@$.]*\\/)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\./\n\t\t\t\t}\n\t\t\t},\n\t\t\t'module': {\n\t\t\t\tpattern: /([\\s/])[a-z]\\w*(?:\\.[a-z]\\w*)*(?:@[\\w$.+-]*)?(?=\\/)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'version': {\n\t\t\t\t\t\tpattern: /(@)[\\s\\S]+/,\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\talias: 'number'\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /[@.]/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'namespace': {\n\t\t\t\tpattern: /(?:\\b[a-z]\\w*\\.)+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\./\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /[()/.]/\n\t\t}\n\t},\n\n\t// ... 32 more\n\t// ... 32 common frames omitted\n\t'more': {\n\t\tpattern: /^([\\t ]*)\\.{3} \\d+ [a-z]+(?: [a-z]+)*/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /\\.{3}/,\n\t\t\t'number': /\\d+/,\n\t\t\t'keyword': /\\b[a-z]+(?: [a-z]+)*\\b/\n\t\t}\n\t}\n\n};\n","Prism.languages.jolie = Prism.languages.extend('clike', {\n\t'string': {\n\t\tpattern: /(^|[^\\\\])\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /((?:\\b(?:as|courier|embed|in|inputPort|outputPort|service)\\b|@)[ \\t]*)\\w+/,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:as|cH|comp|concurrent|constants|courier|cset|csets|default|define|else|embed|embedded|execution|exit|extender|for|foreach|forward|from|global|if|import|in|include|init|inputPort|install|instanceof|interface|is_defined|linkIn|linkOut|main|new|nullProcess|outputPort|over|private|provide|public|scope|sequential|service|single|spawn|synchronized|this|throw|throws|type|undef|until|while|with)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=[ \\t]*[@(])/i,\n\t'number': /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?l?/i,\n\t'operator': /-[-=>]?|\\+[+=]?|<[<=]?|[>=*!]=?|&&|\\|\\||[?\\/%^@|]/,\n\t'punctuation': /[()[\\]{},;.:]/,\n\t'builtin': /\\b(?:Byte|any|bool|char|double|enum|float|int|length|long|ranges|regex|string|undefined|void)\\b/\n});\n\nPrism.languages.insertBefore('jolie', 'keyword', {\n\t'aggregates': {\n\t\tpattern: /(\\bAggregates\\s*:\\s*)(?:\\w+(?:\\s+with\\s+\\w+)?\\s*,\\s*)*\\w+(?:\\s+with\\s+\\w+)?/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'keyword': /\\bwith\\b/,\n\t\t\t'class-name': /\\w+/,\n\t\t\t'punctuation': /,/\n\t\t}\n\t},\n\t'redirects': {\n\t\tpattern: /(\\bRedirects\\s*:\\s*)(?:\\w+\\s*=>\\s*\\w+\\s*,\\s*)*(?:\\w+\\s*=>\\s*\\w+)/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /,/,\n\t\t\t'class-name': /\\w+/,\n\t\t\t'operator': /=>/\n\t\t}\n\t},\n\t'property': {\n\t\tpattern: /\\b(?:Aggregates|[Ii]nterfaces|Java|Javascript|Jolie|[Ll]ocation|OneWay|[Pp]rotocol|Redirects|RequestResponse)\\b(?=[ \\t]*:)/\n\t}\n});\n","(function (Prism) {\n\n\tvar interpolation = /\\\\\\((?:[^()]|\\([^()]*\\))*\\)/.source;\n\tvar string = RegExp(/(^|[^\\\\])\"(?:[^\"\\r\\n\\\\]|\\\\[^\\r\\n(]|__)*\"/.source.replace(/__/g, function () { return interpolation; }));\n\tvar stringInterpolation = {\n\t\t'interpolation': {\n\t\t\tpattern: RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + interpolation),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /^(\\\\\\()[\\s\\S]+(?=\\)$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /^\\\\\\(|\\)$/\n\t\t\t}\n\t\t}\n\t};\n\n\tvar jq = Prism.languages.jq = {\n\t\t'comment': /#.*/,\n\t\t'property': {\n\t\t\tpattern: RegExp(string.source + /(?=\\s*:(?!:))/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: stringInterpolation\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: stringInterpolation\n\t\t},\n\n\t\t'function': {\n\t\t\tpattern: /(\\bdef\\s+)[a-z_]\\w+/i,\n\t\t\tlookbehind: true\n\t\t},\n\n\t\t'variable': /\\B\\$\\w+/,\n\t\t'property-literal': {\n\t\t\tpattern: /\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n\t\t\talias: 'property'\n\t\t},\n\t\t'keyword': /\\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'number': /(?:\\b\\d+\\.|\\B\\.)?\\b\\d+(?:[eE][+-]?\\d+)?\\b/,\n\n\t\t'operator': [\n\t\t\t{\n\t\t\t\tpattern: /\\|=?/,\n\t\t\t\talias: 'pipe'\n\t\t\t},\n\t\t\t/\\.\\.|[!=<>]?=|\\?\\/\\/|\\/\\/=?|[-+*/%]=?|[<>?]|\\b(?:and|not|or)\\b/\n\t\t],\n\t\t'c-style-function': {\n\t\t\tpattern: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t\t\talias: 'function'\n\t\t},\n\t\t'punctuation': /::|[()\\[\\]{},:;]|\\.(?=\\s*[\\[\\w$])/,\n\t\t'dot': {\n\t\t\tpattern: /\\./,\n\t\t\talias: 'important'\n\t\t}\n\t};\n\n\tstringInterpolation.interpolation.inside.content.inside = jq;\n\n}(Prism));\n","(function (Prism) {\n\n\tPrism.languages.typescript = Prism.languages.extend('javascript', {\n\t\t'class-name': {\n\t\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: null // see below\n\t\t},\n\t\t'builtin': /\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/,\n\t});\n\n\t// The keywords TypeScript adds to JavaScript\n\tPrism.languages.typescript.keyword.push(\n\t\t/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/,\n\t\t// keywords that have to be followed by an identifier\n\t\t/\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/,\n\t\t// This is for `import type *, {}`\n\t\t/\\btype\\b(?=\\s*(?:[\\{*]|$))/\n\t);\n\n\t// doesn't work with TS because TS is too complex\n\tdelete Prism.languages.typescript['parameter'];\n\tdelete Prism.languages.typescript['literal-property'];\n\n\t// a version of typescript specifically for highlighting types\n\tvar typeInside = Prism.languages.extend('typescript', {});\n\tdelete typeInside['class-name'];\n\n\tPrism.languages.typescript['class-name'].inside = typeInside;\n\n\tPrism.languages.insertBefore('typescript', 'function', {\n\t\t'decorator': {\n\t\t\tpattern: /@[$\\w\\xA0-\\uFFFF]+/,\n\t\t\tinside: {\n\t\t\t\t'at': {\n\t\t\t\t\tpattern: /^@/,\n\t\t\t\t\talias: 'operator'\n\t\t\t\t},\n\t\t\t\t'function': /^[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t'generic-function': {\n\t\t\t// e.g. foo<T extends \"bar\" | \"baz\">( ...\n\t\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,\n\t\t\t\t'generic': {\n\t\t\t\t\tpattern: /<[\\s\\S]+/, // everything after the first <\n\t\t\t\t\talias: 'class-name',\n\t\t\t\t\tinside: typeInside\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tPrism.languages.ts = Prism.languages.typescript;\n\n}(Prism));\n","(function (Prism) {\n\n\tvar javascript = Prism.languages.javascript;\n\n\tvar type = /\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}/.source;\n\tvar parameterPrefix = '(@(?:arg|argument|param|property)\\\\s+(?:' + type + '\\\\s+)?)';\n\n\tPrism.languages.jsdoc = Prism.languages.extend('javadoclike', {\n\t\t'parameter': {\n\t\t\t// @param {string} foo - foo bar\n\t\t\tpattern: RegExp(parameterPrefix + /(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)/.source),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\./\n\t\t\t}\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('jsdoc', 'keyword', {\n\t\t'optional-parameter': {\n\t\t\t// @param {string} [baz.foo=\"bar\"] foo bar\n\t\t\tpattern: RegExp(parameterPrefix + /\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)/.source),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'parameter': {\n\t\t\t\t\tpattern: /(^\\[)[$\\w\\xA0-\\uFFFF\\.]+/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /\\./\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'code': {\n\t\t\t\t\tpattern: /(=)[\\s\\S]*(?=\\]$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: javascript,\n\t\t\t\t\talias: 'language-javascript'\n\t\t\t\t},\n\t\t\t\t'punctuation': /[=[\\]]/\n\t\t\t}\n\t\t},\n\t\t'class-name': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<TYPE>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*/.source.replace(/<TYPE>/g, function () { return type; })),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\./\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: RegExp('(@[a-z]+\\\\s+)' + type),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'string': javascript.string,\n\t\t\t\t\t'number': javascript.number,\n\t\t\t\t\t'boolean': javascript.boolean,\n\t\t\t\t\t'keyword': Prism.languages.typescript.keyword,\n\t\t\t\t\t'operator': /=>|\\.\\.\\.|[&|?:*]/,\n\t\t\t\t\t'punctuation': /[.,;=<>{}()[\\]]/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'example': {\n\t\t\tpattern: /(@example\\s+(?!\\s))(?:[^@\\s]|\\s+(?!\\s))+?(?=\\s*(?:\\*\\s*)?(?:@\\w|\\*\\/))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'code': {\n\t\t\t\t\tpattern: /^([\\t ]*(?:\\*\\s*)?)\\S.*$/m,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: javascript,\n\t\t\t\t\talias: 'language-javascript'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tPrism.languages.javadoclike.addSupport('javascript', Prism.languages.jsdoc);\n\n}(Prism));\n","Prism.languages.n4js = Prism.languages.extend('javascript', {\n\t// Keywords from N4JS language spec: https://numberfour.github.io/n4js/spec/N4JSSpec.html\n\t'keyword': /\\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/\n});\n\nPrism.languages.insertBefore('n4js', 'constant', {\n\t// Annotations in N4JS spec: https://numberfour.github.io/n4js/spec/N4JSSpec.html#_annotations\n\t'annotation': {\n\t\tpattern: /@+\\w+/,\n\t\talias: 'operator'\n\t}\n});\n\nPrism.languages.n4jsd = Prism.languages.n4js;\n","(function (Prism) {\n\n\tvar string = /(\"|')(?:\\\\(?:\\r\\n?|\\n|.)|(?!\\1)[^\\\\\\r\\n])*\\1/;\n\n\tPrism.languages.json5 = Prism.languages.extend('json', {\n\t\t'property': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(string.source + '(?=\\\\s*:)'),\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/,\n\t\t\t\talias: 'unquoted'\n\t\t\t}\n\t\t],\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'number': /[+-]?\\b(?:NaN|Infinity|0x[a-fA-F\\d]+)\\b|[+-]?(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+\\b)?/\n\t});\n\n}(Prism));\n","Prism.languages.jsonp = Prism.languages.extend('json', {\n\t'punctuation': /[{}[\\]();,.]/\n});\n\nPrism.languages.insertBefore('jsonp', 'punctuation', {\n\t'function': /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*\\()/\n});\n","Prism.languages.jsstacktrace = {\n\t'error-message': {\n\t\tpattern: /^\\S.*/m,\n\t\talias: 'string'\n\t},\n\n\t'stack-frame': {\n\t\tpattern: /(^[ \\t]+)at[ \\t].*/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'not-my-code': {\n\t\t\t\tpattern: /^at[ \\t]+(?!\\s)(?:node\\.js|<unknown>|.*(?:node_modules|\\(<anonymous>\\)|\\(<unknown>|<anonymous>$|\\(internal\\/|\\(node\\.js)).*/m,\n\t\t\t\talias: 'comment'\n\t\t\t},\n\n\t\t\t'filename': {\n\t\t\t\tpattern: /(\\bat\\s+(?!\\s)|\\()(?:[a-zA-Z]:)?[^():]+(?=:)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'url'\n\t\t\t},\n\n\t\t\t'function': {\n\t\t\t\tpattern: /(\\bat\\s+(?:new\\s+)?)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF<][.$\\w\\xA0-\\uFFFF<>]*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\./\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t'punctuation': /[()]/,\n\n\t\t\t'keyword': /\\b(?:at|new)\\b/,\n\n\t\t\t'alias': {\n\t\t\t\tpattern: /\\[(?:as\\s+)?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\]/,\n\t\t\t\talias: 'variable'\n\t\t\t},\n\n\t\t\t'line-number': {\n\t\t\t\tpattern: /:\\d+(?::\\d+)?\\b/,\n\t\t\t\talias: 'number',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /:/\n\t\t\t\t}\n\t\t\t},\n\n\t\t}\n\t}\n};\n","Prism.languages.julia = {\n\t'comment': {\n\t\t// support one level of nested comments\n\t\t// https://github.com/JuliaLang/julia/pull/6128\n\t\tpattern: /(^|[^\\\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/,\n\t\tlookbehind: true\n\t},\n\t'regex': {\n\t\t// https://docs.julialang.org/en/v1/manual/strings/#Regular-Expressions-1\n\t\tpattern: /r\"(?:\\\\.|[^\"\\\\\\r\\n])*\"[imsx]{0,4}/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\t// https://docs.julialang.org/en/v1/manual/strings/#String-Basics-1\n\t\t// https://docs.julialang.org/en/v1/manual/strings/#non-standard-string-literals-1\n\t\t// https://docs.julialang.org/en/v1/manual/running-external-programs/#Running-External-Programs-1\n\t\tpattern: /\"\"\"[\\s\\S]+?\"\"\"|(?:\\b\\w+)?\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`(?:[^\\\\`\\r\\n]|\\\\.)*`/,\n\t\tgreedy: true\n\t},\n\t'char': {\n\t\t// https://docs.julialang.org/en/v1/manual/strings/#man-characters-1\n\t\tpattern: /(^|[^\\w'])'(?:\\\\[^\\r\\n][^'\\r\\n]*|[^\\\\\\r\\n])'/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'number': /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[box])?(?:[\\da-f]+(?:_[\\da-f]+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[efp][+-]?\\d+(?:_\\d+)*)?j?/i,\n\t// https://docs.julialang.org/en/v1/manual/mathematical-operations/\n\t// https://docs.julialang.org/en/v1/manual/mathematical-operations/#Operator-Precedence-and-Associativity-1\n\t'operator': /&&|\\|\\||[-+*^%÷⊻&$\\\\]=?|\\/[\\/=]?|!=?=?|\\|[=>]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥'√∛]/,\n\t'punctuation': /::?|[{}[\\]();,.?]/,\n\t// https://docs.julialang.org/en/v1/base/numbers/#Base.im\n\t'constant': /\\b(?:(?:Inf|NaN)(?:16|32|64)?|im|pi)\\b|[πℯ]/\n};\n","Prism.languages.keepalived = {\n\t'comment': {\n\t\tpattern: /[#!].*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(^|[^\\\\])(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\n\t// support IPv4, IPv6, subnet mask\n\t'ip': {\n\t\tpattern: RegExp(\n\t\t\t/\\b(?:(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){5}:(?:[\\da-f]{1,4}:)?[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){4}:(?:[\\da-f]{1,4}:){0,2}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){3}:(?:[\\da-f]{1,4}:){0,3}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){2}:(?:[\\da-f]{1,4}:){0,4}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){6}<ipv4>|(?:[\\da-f]{1,4}:){0,5}:<ipv4>|::(?:[\\da-f]{1,4}:){0,5}<ipv4>|[\\da-f]{1,4}::(?:[\\da-f]{1,4}:){0,5}[\\da-f]{1,4}|::(?:[\\da-f]{1,4}:){0,6}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:)(?:\\/\\d{1,3})?|<ipv4>(?:\\/\\d{1,2})?)\\b/.source\n\t\t\t\t.replace(/<ipv4>/g, function () { return /(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))/.source; }),\n\t\t\t'i'\n\t\t),\n\t\talias: 'number'\n\t},\n\n\t// support *nix / Windows, directory / file\n\t'path': {\n\t\tpattern: /(\\s)\\/(?:[^\\/\\s]+\\/)*[^\\/\\s]*|\\b[a-zA-Z]:\\\\(?:[^\\\\\\s]+\\\\)*[^\\\\\\s]*/,\n\t\tlookbehind: true,\n\t\talias: 'string',\n\t},\n\t'variable': /\\$\\{?\\w+\\}?/,\n\t'email': {\n\t\tpattern: /[\\w-]+@[\\w-]+(?:\\.[\\w-]{2,3}){1,2}/,\n\t\talias: 'string',\n\t},\n\t'conditional-configuration': {\n\t\tpattern: /@\\^?[\\w-]+/,\n\t\talias: 'variable'\n\t},\n\t'operator': /=/,\n\n\t'property': /\\b(?:BFD_CHECK|DNS_CHECK|FILE_CHECK|HTTP_GET|MISC_CHECK|NAME|PING_CHECK|SCRIPTS|SMTP_CHECK|SSL|SSL_GET|TCP_CHECK|UDP_CHECK|accept|advert_int|alpha|auth_pass|auth_type|authentication|bfd_cpu_affinity|bfd_instance|bfd_no_swap|bfd_priority|bfd_process_name|bfd_rlimit_rttime|bfd_rt_priority|bind_if|bind_port|bindto|ca|certificate|check_unicast_src|checker|checker_cpu_affinity|checker_log_all_failures|checker_no_swap|checker_priority|checker_rlimit_rttime|checker_rt_priority|child_wait_time|connect_ip|connect_port|connect_timeout|dbus_service_name|debug|default_interface|delay|delay_before_retry|delay_loop|digest|dont_track_primary|dynamic|dynamic_interfaces|enable_(?:dbus|script_security|sni|snmp_checker|snmp_rfc|snmp_rfcv2|snmp_rfcv3|snmp_vrrp|traps)|end|fall|fast_recovery|file|flag-[123]|fork_delay|full_command|fwmark|garp_group|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|global_defs|global_tracking|gna_interval|group|ha_suspend|hashed|helo_name|higher_prio_send_advert|hoplimit|http_protocol|hysteresis|idle_tx|include|inhibit_on_failure|init_fail|init_file|instance|interface|interfaces|interval|ip_family|ipvs_process_name|keepalived.conf|kernel_rx_buf_size|key|linkbeat_interfaces|linkbeat_use_polling|log_all_failures|log_unknown_vrids|lower_prio_no_advert|lthreshold|lvs_flush|lvs_flush_onstop|lvs_method|lvs_netlink_cmd_rcv_bufs|lvs_netlink_cmd_rcv_bufs_force|lvs_netlink_monitor_rcv_bufs|lvs_netlink_monitor_rcv_bufs_force|lvs_notify_fifo|lvs_notify_fifo_script|lvs_sched|lvs_sync_daemon|max_auto_priority|max_hops|mcast_src_ip|mh-fallback|mh-port|min_auto_priority_delay|min_rx|min_tx|misc_dynamic|misc_path|misc_timeout|multiplier|name|namespace_with_ipsets|native_ipv6|neighbor_ip|net_namespace|net_namespace_ipvs|nftables|nftables_counters|nftables_ifindex|nftables_priority|no_accept|no_checker_emails|no_email_faults|nopreempt|notification_email|notification_email_from|notify|notify_backup|notify_deleted|notify_down|notify_fault|notify_fifo|notify_fifo_script|notify_master|notify_master_rx_lower_pri|notify_priority_changes|notify_stop|notify_up|old_unicast_checksum|omega|ops|param_match|passive|password|path|persistence_engine|persistence_granularity|persistence_timeout|preempt|preempt_delay|priority|process|process_monitor_rcv_bufs|process_monitor_rcv_bufs_force|process_name|process_names|promote_secondaries|protocol|proxy_arp|proxy_arp_pvlan|quorum|quorum_down|quorum_max|quorum_up|random_seed|real_server|regex|regex_max_offset|regex_min_offset|regex_no_match|regex_options|regex_stack|reload_repeat|reload_time_file|require_reply|retry|rise|router_id|rs_init_notifies|script|script_user|sh-fallback|sh-port|shutdown_script|shutdown_script_timeout|skip_check_adv_addr|smtp_alert|smtp_alert_checker|smtp_alert_vrrp|smtp_connect_timeout|smtp_helo_name|smtp_server|snmp_socket|sorry_server|sorry_server_inhibit|sorry_server_lvs_method|source_ip|start|startup_script|startup_script_timeout|state|static_ipaddress|static_routes|static_rules|status_code|step|strict_mode|sync_group_tracking_weight|terminate_delay|timeout|track_bfd|track_file|track_group|track_interface|track_process|track_script|track_src_ip|ttl|type|umask|unicast_peer|unicast_src_ip|unicast_ttl|url|use_ipvlan|use_pid_dir|use_vmac|user|uthreshold|val[123]|version|virtual_ipaddress|virtual_ipaddress_excluded|virtual_router_id|virtual_routes|virtual_rules|virtual_server|virtual_server_group|virtualhost|vmac_xmit_base|vrrp|vrrp_(?:check_unicast_src|cpu_affinity|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|gna_interval|higher_prio_send_advert|instance|ipsets|iptables|lower_prio_no_advert|mcast_group4|mcast_group6|min_garp|netlink_cmd_rcv_bufs|netlink_cmd_rcv_bufs_force|netlink_monitor_rcv_bufs|netlink_monitor_rcv_bufs_force|no_swap|notify_fifo|notify_fifo_script|notify_priority_changes|priority|process_name|rlimit_rttime|rt_priority|rx_bufs_multiplier|rx_bufs_policy|script|skip_check_adv_addr|startup_delay|strict|sync_group|track_process|version)|warmup|weight)\\b/,\n\n\t'constant': /\\b(?:A|AAAA|AH|BACKUP|CNAME|DR|MASTER|MX|NAT|NS|PASS|SCTP|SOA|TCP|TUN|TXT|UDP|dh|fo|lblc|lblcr|lc|mh|nq|ovf|rr|sed|sh|wlc|wrr)\\b/,\n\n\t'number': {\n\t\tpattern: /(^|[^\\w.-])-?\\d+(?:\\.\\d+)?/,\n\t\tlookbehind: true\n\t},\n\n\t'boolean': /\\b(?:false|no|off|on|true|yes)\\b/,\n\n\t'punctuation': /[\\{\\}]/\n};\n","Prism.languages.keyman = {\n\t'comment': {\n\t\tpattern: /\\bc .*/i,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n\t\tgreedy: true\n\t},\n\t'virtual-key': {\n\t\tpattern: /\\[\\s*(?:(?:ALT|CAPS|CTRL|LALT|LCTRL|NCAPS|RALT|RCTRL|SHIFT)\\s+)*(?:[TKU]_[\\w?]+|[A-E]\\d\\d?|\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')\\s*\\]/i,\n\t\tgreedy: true,\n\t\talias: 'function' // alias for styles\n\t},\n\n\t// https://help.keyman.com/developer/language/guide/headers\n\t'header-keyword': {\n\t\tpattern: /&\\w+/,\n\t\talias: 'bold' // alias for styles\n\t},\n\t'header-statement': {\n\t\tpattern: /\\b(?:bitmap|bitmaps|caps always off|caps on only|copyright|hotkey|language|layout|message|name|shift frees caps|version)\\b/i,\n\t\talias: 'bold' // alias for styles\n\t},\n\n\t'rule-keyword': {\n\t\tpattern: /\\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|reset|return|save|set|store|use)\\b/i,\n\t\talias: 'keyword'\n\t},\n\t'structural-keyword': {\n\t\tpattern: /\\b(?:ansi|begin|group|match|newcontext|nomatch|postkeystroke|readonly|unicode|using keys)\\b/i,\n\t\talias: 'keyword'\n\t},\n\n\t'compile-target': {\n\t\tpattern: /\\$(?:keyman|keymanonly|keymanweb|kmfl|weaver):/i,\n\t\talias: 'property'\n\t},\n\n\t// U+####, x###, d### characters and numbers\n\t'number': /\\b(?:U\\+[\\dA-F]+|d\\d+|x[\\da-f]+|\\d+)\\b/i,\n\t'operator': /[+>\\\\$]|\\.\\./,\n\t'punctuation': /[()=,]/\n};\n","(function (Prism) {\n\tPrism.languages.kotlin = Prism.languages.extend('clike', {\n\t\t'keyword': {\n\t\t\t// The lookbehind prevents wrong highlighting of e.g. kotlin.properties.get\n\t\t\tpattern: /(^|[^.])\\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/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'function': [\n\t\t\t{\n\t\t\t\tpattern: /(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'number': /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,\n\t\t'operator': /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/\n\t});\n\n\tdelete Prism.languages.kotlin['class-name'];\n\n\tvar interpolationInside = {\n\t\t'interpolation-punctuation': {\n\t\t\tpattern: /^\\$\\{?|\\}$/,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'expression': {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages.kotlin\n\t\t}\n\t};\n\n\tPrism.languages.insertBefore('kotlin', 'string', {\n\t\t// https://kotlinlang.org/spec/expressions.html#string-interpolation-expressions\n\t\t'string-literal': [\n\t\t\t{\n\t\t\t\tpattern: /\"\"\"(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?\"\"\"/,\n\t\t\t\talias: 'multiline',\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation': {\n\t\t\t\t\t\tpattern: /\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,\n\t\t\t\t\t\tinside: interpolationInside\n\t\t\t\t\t},\n\t\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /\"(?:[^\"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*\"/,\n\t\t\t\talias: 'singleline',\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation': {\n\t\t\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\tinside: interpolationInside\n\t\t\t\t\t},\n\t\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'char': {\n\t\t\t// https://kotlinlang.org/spec/expressions.html#character-literals\n\t\t\tpattern: /'(?:[^'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))'/,\n\t\t\tgreedy: true\n\t\t}\n\t});\n\n\tdelete Prism.languages.kotlin['string'];\n\n\tPrism.languages.insertBefore('kotlin', 'keyword', {\n\t\t'annotation': {\n\t\t\tpattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,\n\t\t\talias: 'builtin'\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('kotlin', 'function', {\n\t\t'label': {\n\t\t\tpattern: /\\b\\w+@|@\\w+\\b/,\n\t\t\talias: 'symbol'\n\t\t}\n\t});\n\n\tPrism.languages.kt = Prism.languages.kotlin;\n\tPrism.languages.kts = Prism.languages.kotlin;\n}(Prism));\n","Prism.languages.kusto = {\n\t'comment': {\n\t\tpattern: /\\/\\/.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /```[\\s\\S]*?```|[hH]?(?:\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|'(?:[^\\r\\n\\\\']|\\\\.)*'|@(?:\"[^\\r\\n\"]*\"|'[^\\r\\n']*'))/,\n\t\tgreedy: true\n\t},\n\n\t'verb': {\n\t\tpattern: /(\\|\\s*)[a-z][\\w-]*/i,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t},\n\n\t'command': {\n\t\tpattern: /\\.[a-z][a-z\\d-]*\\b/,\n\t\talias: 'keyword'\n\t},\n\n\t'class-name': /\\b(?:bool|datetime|decimal|dynamic|guid|int|long|real|string|timespan)\\b/,\n\t'keyword': /\\b(?:access|alias|and|anti|as|asc|auto|between|by|(?:contains|(?:ends|starts)with|has(?:perfix|suffix)?)(?:_cs)?|database|declare|desc|external|from|fullouter|has_all|in|ingestion|inline|inner|innerunique|into|(?:left|right)(?:anti(?:semi)?|inner|outer|semi)?|let|like|local|not|of|on|or|pattern|print|query_parameters|range|restrict|schema|set|step|table|tables|to|view|where|with|matches\\s+regex|nulls\\s+(?:first|last))(?![\\w-])/,\n\t'boolean': /\\b(?:false|null|true)\\b/,\n\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/,\n\n\t'datetime': [\n\t\t{\n\t\t\t// RFC 822 + RFC 850\n\t\t\tpattern: /\\b(?:(?:Fri|Friday|Mon|Monday|Sat|Saturday|Sun|Sunday|Thu|Thursday|Tue|Tuesday|Wed|Wednesday)\\s*,\\s*)?\\d{1,2}(?:\\s+|-)(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)(?:\\s+|-)\\d{2}\\s+\\d{2}:\\d{2}(?::\\d{2})?(?:\\s*(?:\\b(?:[A-Z]|(?:[ECMT][DS]|GM|U)T)|[+-]\\d{4}))?\\b/,\n\t\t\talias: 'number'\n\t\t},\n\t\t{\n\t\t\t// ISO 8601\n\t\t\tpattern: /[+-]?\\b(?:\\d{4}-\\d{2}-\\d{2}(?:[ T]\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?)?|\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?)Z?/,\n\t\t\talias: 'number'\n\t\t}\n\t],\n\t'number': /\\b(?:0x[0-9A-Fa-f]+|\\d+(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?)(?:(?:min|sec|[mnµ]s|[dhms]|microsecond|tick)\\b)?|[+-]?\\binf\\b/,\n\n\t'operator': /=>|[!=]~|[!=<>]=?|[-+*/%|]|\\.\\./,\n\t'punctuation': /[()\\[\\]{},;.:]/\n};\n","(function (Prism) {\n\tvar funcPattern = /\\\\(?:[^a-z()[\\]]|[a-z*]+)/i;\n\tvar insideEqu = {\n\t\t'equation-command': {\n\t\t\tpattern: funcPattern,\n\t\t\talias: 'regex'\n\t\t}\n\t};\n\n\tPrism.languages.latex = {\n\t\t'comment': /%.*/,\n\t\t// the verbatim environment prints whitespace to the document\n\t\t'cdata': {\n\t\t\tpattern: /(\\\\begin\\{((?:lstlisting|verbatim)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t/*\n\t\t * equations can be between $$ $$ or $ $ or \\( \\) or \\[ \\]\n\t\t * (all are multiline)\n\t\t */\n\t\t'equation': [\n\t\t\t{\n\t\t\t\tpattern: /\\$\\$(?:\\\\[\\s\\S]|[^\\\\$])+\\$\\$|\\$(?:\\\\[\\s\\S]|[^\\\\$])+\\$|\\\\\\([\\s\\S]*?\\\\\\)|\\\\\\[[\\s\\S]*?\\\\\\]/,\n\t\t\t\tinside: insideEqu,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\\\begin\\{((?:align|eqnarray|equation|gather|math|multline)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: insideEqu,\n\t\t\t\talias: 'string'\n\t\t\t}\n\t\t],\n\t\t/*\n\t\t * arguments which are keywords or references are highlighted\n\t\t * as keywords\n\t\t */\n\t\t'keyword': {\n\t\t\tpattern: /(\\\\(?:begin|cite|documentclass|end|label|ref|usepackage)(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'url': {\n\t\t\tpattern: /(\\\\url\\{)[^}]+(?=\\})/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t/*\n\t\t * section or chapter headlines are highlighted as bold so that\n\t\t * they stand out more\n\t\t */\n\t\t'headline': {\n\t\t\tpattern: /(\\\\(?:chapter|frametitle|paragraph|part|section|subparagraph|subsection|subsubparagraph|subsubsection|subsubsubparagraph)\\*?(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'function': {\n\t\t\tpattern: funcPattern,\n\t\t\talias: 'selector'\n\t\t},\n\t\t'punctuation': /[[\\]{}&]/\n\t};\n\n\tPrism.languages.tex = Prism.languages.latex;\n\tPrism.languages.context = Prism.languages.latex;\n}(Prism));\n","(function (Prism) {\n\tPrism.languages.latte = {\n\t\t'comment': /^\\{\\*[\\s\\S]*/,\n\t\t'latte-tag': {\n\t\t\t// https://latte.nette.org/en/tags\n\t\t\tpattern: /(^\\{(?:\\/(?=[a-z]))?)(?:[=_]|[a-z]\\w*\\b(?!\\())/i,\n\t\t\tlookbehind: true,\n\t\t\talias: 'important'\n\t\t},\n\t\t'delimiter': {\n\t\t\tpattern: /^\\{\\/?|\\}$/,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'php': {\n\t\t\tpattern: /\\S(?:[\\s\\S]*\\S)?/,\n\t\t\talias: 'language-php',\n\t\t\tinside: Prism.languages.php\n\t\t}\n\t};\n\n\tvar markupLatte = Prism.languages.extend('markup', {});\n\tPrism.languages.insertBefore('inside', 'attr-value', {\n\t\t'n-attr': {\n\t\t\tpattern: /n:[\\w-]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+))?/,\n\t\t\tinside: {\n\t\t\t\t'attr-name': {\n\t\t\t\t\tpattern: /^[^\\s=]+/,\n\t\t\t\t\talias: 'important'\n\t\t\t\t},\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t/^=/,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\t'php': {\n\t\t\t\t\t\t\tpattern: /\\S(?:[\\s\\S]*\\S)?/,\n\t\t\t\t\t\t\tinside: Prism.languages.php\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t}, markupLatte.tag);\n\n\tPrism.hooks.add('before-tokenize', function (env) {\n\t\tif (env.language !== 'latte') {\n\t\t\treturn;\n\t\t}\n\t\tvar lattePattern = /\\{\\*[\\s\\S]*?\\*\\}|\\{[^'\"\\s{}*](?:[^\"'/{}]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\}/g;\n\t\tPrism.languages['markup-templating'].buildPlaceholders(env, 'latte', lattePattern);\n\t\tenv.grammar = markupLatte;\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tPrism.languages['markup-templating'].tokenizePlaceholders(env, 'latte');\n\t});\n\n}(Prism));\n","(function (Prism) {\n\tPrism.languages.scheme = {\n\t\t// this supports \"normal\" single-line comments:\n\t\t// ; comment\n\t\t// and (potentially nested) multiline comments:\n\t\t// #| comment #| nested |# still comment |#\n\t\t// (only 1 level of nesting is supported)\n\t\t'comment': /;.*|#;\\s*(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\[(?:[^\\[\\]]|\\[[^\\[\\]]*\\])*\\])|#\\|(?:[^#|]|#(?!\\|)|\\|(?!#)|#\\|(?:[^#|]|#(?!\\|)|\\|(?!#))*\\|#)*\\|#/,\n\t\t'string': {\n\t\t\tpattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'symbol': {\n\t\t\tpattern: /'[^()\\[\\]#'\\s]+/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'char': {\n\t\t\tpattern: /#\\\\(?:[ux][a-fA-F\\d]+\\b|[-a-zA-Z]+\\b|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|\\S)/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'lambda-parameter': [\n\t\t\t// https://www.cs.cmu.edu/Groups/AI/html/r4rs/r4rs_6.html#SEC30\n\t\t\t{\n\t\t\t\tpattern: /((?:^|[^'`#])[(\\[]lambda\\s+)(?:[^|()\\[\\]'\\s]+|\\|(?:[^\\\\|]|\\\\.)*\\|)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /((?:^|[^'`#])[(\\[]lambda\\s+[(\\[])[^()\\[\\]']+/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'keyword': {\n\t\t\tpattern: /((?:^|[^'`#])[(\\[])(?:begin|case(?:-lambda)?|cond(?:-expand)?|define(?:-library|-macro|-record-type|-syntax|-values)?|defmacro|delay(?:-force)?|do|else|except|export|guard|if|import|include(?:-ci|-library-declarations)?|lambda|let(?:rec)?(?:-syntax|-values|\\*)?|let\\*-values|only|parameterize|prefix|(?:quasi-?)?quote|rename|set!|syntax-(?:case|rules)|unless|unquote(?:-splicing)?|when)(?=[()\\[\\]\\s]|$)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'builtin': {\n\t\t\t// all functions of the base library of R7RS plus some of built-ins of R5Rs\n\t\t\tpattern: /((?:^|[^'`#])[(\\[])(?:abs|and|append|apply|assoc|ass[qv]|binary-port\\?|boolean=?\\?|bytevector(?:-append|-copy|-copy!|-length|-u8-ref|-u8-set!|\\?)?|caar|cadr|call-with-(?:current-continuation|port|values)|call\\/cc|car|cdar|cddr|cdr|ceiling|char(?:->integer|-ready\\?|\\?|<\\?|<=\\?|=\\?|>\\?|>=\\?)|close-(?:input-port|output-port|port)|complex\\?|cons|current-(?:error|input|output)-port|denominator|dynamic-wind|eof-object\\??|eq\\?|equal\\?|eqv\\?|error|error-object(?:-irritants|-message|\\?)|eval|even\\?|exact(?:-integer-sqrt|-integer\\?|\\?)?|expt|features|file-error\\?|floor(?:-quotient|-remainder|\\/)?|flush-output-port|for-each|gcd|get-output-(?:bytevector|string)|inexact\\??|input-port(?:-open\\?|\\?)|integer(?:->char|\\?)|lcm|length|list(?:->string|->vector|-copy|-ref|-set!|-tail|\\?)?|make-(?:bytevector|list|parameter|string|vector)|map|max|member|memq|memv|min|modulo|negative\\?|newline|not|null\\?|number(?:->string|\\?)|numerator|odd\\?|open-(?:input|output)-(?:bytevector|string)|or|output-port(?:-open\\?|\\?)|pair\\?|peek-char|peek-u8|port\\?|positive\\?|procedure\\?|quotient|raise|raise-continuable|rational\\?|rationalize|read-(?:bytevector|bytevector!|char|error\\?|line|string|u8)|real\\?|remainder|reverse|round|set-c[ad]r!|square|string(?:->list|->number|->symbol|->utf8|->vector|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\\?|<\\?|<=\\?|=\\?|>\\?|>=\\?)?|substring|symbol(?:->string|\\?|=\\?)|syntax-error|textual-port\\?|truncate(?:-quotient|-remainder|\\/)?|u8-ready\\?|utf8->string|values|vector(?:->list|->string|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\\?)?|with-exception-handler|write-(?:bytevector|char|string|u8)|zero\\?)(?=[()\\[\\]\\s]|$)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'operator': {\n\t\t\tpattern: /((?:^|[^'`#])[(\\[])(?:[-+*%/]|[<>]=?|=>?)(?=[()\\[\\]\\s]|$)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'number': {\n\t\t\t// The number pattern from [the R7RS spec](https://small.r7rs.org/attachment/r7rs.pdf).\n\t\t\t//\n\t\t\t// <number> := <num 2>|<num 8>|<num 10>|<num 16>\n\t\t\t// <num R> := <prefix R><complex R>\n\t\t\t// <complex R> := <real R>(?:@<real R>|<imaginary R>)?|<imaginary R>\n\t\t\t// <imaginary R> := [+-](?:<ureal R>|(?:inf|nan)\\.0)?i\n\t\t\t// <real R> := [+-]?<ureal R>|[+-](?:inf|nan)\\.0\n\t\t\t// <ureal R> := <uint R>(?:\\/<uint R>)?\n\t\t\t// | <decimal R>\n\t\t\t//\n\t\t\t// <decimal 10> := (?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?\n\t\t\t// <uint R> := <digit R>+\n\t\t\t// <prefix R> := <radix R>(?:#[ei])?|(?:#[ei])?<radix R>\n\t\t\t// <radix 2> := #b\n\t\t\t// <radix 8> := #o\n\t\t\t// <radix 10> := (?:#d)?\n\t\t\t// <radix 16> := #x\n\t\t\t// <digit 2> := [01]\n\t\t\t// <digit 8> := [0-7]\n\t\t\t// <digit 10> := \\d\n\t\t\t// <digit 16> := [0-9a-f]\n\t\t\t//\n\t\t\t// The problem with this grammar is that the resulting regex is way to complex, so we simplify by grouping all\n\t\t\t// non-decimal bases together. This results in a decimal (dec) and combined binary, octal, and hexadecimal (box)\n\t\t\t// pattern:\n\t\t\tpattern: RegExp(SortedBNF({\n\t\t\t\t'<ureal dec>': /\\d+(?:\\/\\d+)|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[esfdl][+-]?\\d+)?/.source,\n\t\t\t\t'<real dec>': /[+-]?<ureal dec>|[+-](?:inf|nan)\\.0/.source,\n\t\t\t\t'<imaginary dec>': /[+-](?:<ureal dec>|(?:inf|nan)\\.0)?i/.source,\n\t\t\t\t'<complex dec>': /<real dec>(?:@<real dec>|<imaginary dec>)?|<imaginary dec>/.source,\n\t\t\t\t'<num dec>': /(?:#d(?:#[ei])?|#[ei](?:#d)?)?<complex dec>/.source,\n\n\t\t\t\t'<ureal box>': /[0-9a-f]+(?:\\/[0-9a-f]+)?/.source,\n\t\t\t\t'<real box>': /[+-]?<ureal box>|[+-](?:inf|nan)\\.0/.source,\n\t\t\t\t'<imaginary box>': /[+-](?:<ureal box>|(?:inf|nan)\\.0)?i/.source,\n\t\t\t\t'<complex box>': /<real box>(?:@<real box>|<imaginary box>)?|<imaginary box>/.source,\n\t\t\t\t'<num box>': /#[box](?:#[ei])?|(?:#[ei])?#[box]<complex box>/.source,\n\n\t\t\t\t'<number>': /(^|[()\\[\\]\\s])(?:<num dec>|<num box>)(?=[()\\[\\]\\s]|$)/.source,\n\t\t\t}), 'i'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'boolean': {\n\t\t\tpattern: /(^|[()\\[\\]\\s])#(?:[ft]|false|true)(?=[()\\[\\]\\s]|$)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'function': {\n\t\t\tpattern: /((?:^|[^'`#])[(\\[])(?:[^|()\\[\\]'\\s]+|\\|(?:[^\\\\|]|\\\\.)*\\|)(?=[()\\[\\]\\s]|$)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'identifier': {\n\t\t\tpattern: /(^|[()\\[\\]\\s])\\|(?:[^\\\\|]|\\\\.)*\\|(?=[()\\[\\]\\s]|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t'punctuation': /[()\\[\\]']/\n\t};\n\n\t/**\n\t * Given a topologically sorted BNF grammar, this will return the RegExp source of last rule of the grammar.\n\t *\n\t * @param {Record<string, string>} grammar\n\t * @returns {string}\n\t */\n\tfunction SortedBNF(grammar) {\n\t\tfor (var key in grammar) {\n\t\t\tgrammar[key] = grammar[key].replace(/<[\\w\\s]+>/g, function (key) {\n\t\t\t\treturn '(?:' + grammar[key].trim() + ')';\n\t\t\t});\n\t\t}\n\t\t// return the last item\n\t\treturn grammar[key];\n\t}\n\n}(Prism));\n","(function (Prism) {\n\n\tvar schemeExpression = /\\((?:[^();\"#\\\\]|\\\\[\\s\\S]|;.*(?!.)|\"(?:[^\"\\\\]|\\\\.)*\"|#(?:\\{(?:(?!#\\})[\\s\\S])*#\\}|[^{])|<expr>)*\\)/.source;\n\t// allow for up to pow(2, recursivenessLog2) many levels of recursive brace expressions\n\t// For some reason, this can't be 4\n\tvar recursivenessLog2 = 5;\n\tfor (var i = 0; i < recursivenessLog2; i++) {\n\t\tschemeExpression = schemeExpression.replace(/<expr>/g, function () { return schemeExpression; });\n\t}\n\tschemeExpression = schemeExpression.replace(/<expr>/g, /[^\\s\\S]/.source);\n\n\n\tvar lilypond = Prism.languages.lilypond = {\n\t\t'comment': /%(?:(?!\\{).*|\\{[\\s\\S]*?%\\})/,\n\t\t'embedded-scheme': {\n\t\t\tpattern: RegExp(/(^|[=\\s])#(?:\"(?:[^\"\\\\]|\\\\.)*\"|[^\\s()\"]*(?:[^\\s()]|<expr>))/.source.replace(/<expr>/g, function () { return schemeExpression; }), 'm'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'scheme': {\n\t\t\t\t\tpattern: /^(#)[\\s\\S]+$/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'language-scheme',\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'embedded-lilypond': {\n\t\t\t\t\t\t\tpattern: /#\\{[\\s\\S]*?#\\}/,\n\t\t\t\t\t\t\tgreedy: true,\n\t\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t\t'punctuation': /^#\\{|#\\}$/,\n\t\t\t\t\t\t\t\t'lilypond': {\n\t\t\t\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\t\t\t\talias: 'language-lilypond',\n\t\t\t\t\t\t\t\t\tinside: null // see below\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\trest: Prism.languages.scheme\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'punctuation': /#/\n\t\t\t}\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'class-name': {\n\t\t\tpattern: /(\\\\new\\s+)[\\w-]+/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'keyword': {\n\t\t\tpattern: /\\\\[a-z][-\\w]*/i,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^\\\\/\n\t\t\t}\n\t\t},\n\t\t'operator': /[=|]|<<|>>/,\n\t\t'punctuation': {\n\t\t\tpattern: /(^|[a-z\\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\\d))|[_^]\\.?|[.!])|[{}()[\\]<>^~]|\\\\[()[\\]<>\\\\!]|--|__/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'number': /\\b\\d+(?:\\/\\d+)?\\b/\n\t};\n\n\tlilypond['embedded-scheme'].inside['scheme'].inside['embedded-lilypond'].inside['lilypond'].inside = lilypond;\n\n\tPrism.languages.ly = lilypond;\n\n}(Prism));\n","Prism.languages.liquid = {\n\t'comment': {\n\t\tpattern: /(^\\{%\\s*comment\\s*%\\})[\\s\\S]+(?=\\{%\\s*endcomment\\s*%\\}$)/,\n\t\tlookbehind: true\n\t},\n\t'delimiter': {\n\t\tpattern: /^\\{(?:\\{\\{|[%\\{])-?|-?(?:\\}\\}|[%\\}])\\}$/,\n\t\talias: 'punctuation'\n\t},\n\t'string': {\n\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:as|assign|break|(?:end)?(?:capture|case|comment|for|form|if|paginate|raw|style|tablerow|unless)|continue|cycle|decrement|echo|else|elsif|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\\b/,\n\t'object': /\\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\\b/,\n\t'function': [\n\t\t{\n\t\t\tpattern: /(\\|\\s*)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'filter'\n\t\t},\n\t\t{\n\t\t\t// array functions\n\t\t\tpattern: /(\\.\\s*)(?:first|last|size)/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'boolean': /\\b(?:false|nil|true)\\b/,\n\t'range': {\n\t\tpattern: /\\.\\./,\n\t\talias: 'operator'\n\t},\n\t// https://github.com/Shopify/liquid/blob/698f5e0d967423e013f6169d9111bd969bd78337/lib/liquid/lexer.rb#L21\n\t'number': /\\b\\d+(?:\\.\\d+)?\\b/,\n\t'operator': /[!=]=|<>|[<>]=?|[|?:=-]|\\b(?:and|contains(?=\\s)|or)\\b/,\n\t'punctuation': /[.,\\[\\]()]/,\n\t'empty': {\n\t\tpattern: /\\bempty\\b/,\n\t\talias: 'keyword'\n\t},\n};\n\nPrism.hooks.add('before-tokenize', function (env) {\n\tvar liquidPattern = /\\{%\\s*comment\\s*%\\}[\\s\\S]*?\\{%\\s*endcomment\\s*%\\}|\\{(?:%[\\s\\S]*?%|\\{\\{[\\s\\S]*?\\}\\}|\\{[\\s\\S]*?\\})\\}/g;\n\tvar insideRaw = false;\n\n\tPrism.languages['markup-templating'].buildPlaceholders(env, 'liquid', liquidPattern, function (match) {\n\t\tvar tagMatch = /^\\{%-?\\s*(\\w+)/.exec(match);\n\t\tif (tagMatch) {\n\t\t\tvar tag = tagMatch[1];\n\t\t\tif (tag === 'raw' && !insideRaw) {\n\t\t\t\tinsideRaw = true;\n\t\t\t\treturn true;\n\t\t\t} else if (tag === 'endraw') {\n\t\t\t\tinsideRaw = false;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn !insideRaw;\n\t});\n});\n\nPrism.hooks.add('after-tokenize', function (env) {\n\tPrism.languages['markup-templating'].tokenizePlaceholders(env, 'liquid');\n});\n","(function (Prism) {\n\t/**\n\t * Functions to construct regular expressions\n\t * e.g. (interactive ... or (interactive)\n\t *\n\t * @param {string} name\n\t * @returns {RegExp}\n\t */\n\tfunction simple_form(name) {\n\t\treturn RegExp(/(\\()/.source + '(?:' + name + ')' + /(?=[\\s\\)])/.source);\n\t}\n\t/**\n\t * booleans and numbers\n\t *\n\t * @param {string} pattern\n\t * @returns {RegExp}\n\t */\n\tfunction primitive(pattern) {\n\t\treturn RegExp(/([\\s([])/.source + '(?:' + pattern + ')' + /(?=[\\s)])/.source);\n\t}\n\n\t// Patterns in regular expressions\n\n\t// Symbol name. See https://www.gnu.org/software/emacs/manual/html_node/elisp/Symbol-Type.html\n\t// & and : are excluded as they are usually used for special purposes\n\tvar symbol = /(?!\\d)[-+*/~!@$%^=<>{}\\w]+/.source;\n\t// symbol starting with & used in function arguments\n\tvar marker = '&' + symbol;\n\t// Open parenthesis for look-behind\n\tvar par = '(\\\\()';\n\tvar endpar = '(?=\\\\))';\n\t// End the pattern with look-ahead space\n\tvar space = '(?=\\\\s)';\n\tvar nestedPar = /(?:[^()]|\\((?:[^()]|\\((?:[^()]|\\((?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))*\\))*\\))*\\))*/.source;\n\n\tvar language = {\n\t\t// Three or four semicolons are considered a heading.\n\t\t// See https://www.gnu.org/software/emacs/manual/html_node/elisp/Comment-Tips.html\n\t\theading: {\n\t\t\tpattern: /;;;.*/,\n\t\t\talias: ['comment', 'title']\n\t\t},\n\t\tcomment: /;.*/,\n\t\tstring: {\n\t\t\tpattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\targument: /[-A-Z]+(?=[.,\\s])/,\n\t\t\t\tsymbol: RegExp('`' + symbol + \"'\")\n\t\t\t}\n\t\t},\n\t\t'quoted-symbol': {\n\t\t\tpattern: RegExp(\"#?'\" + symbol),\n\t\t\talias: ['variable', 'symbol']\n\t\t},\n\t\t'lisp-property': {\n\t\t\tpattern: RegExp(':' + symbol),\n\t\t\talias: 'property'\n\t\t},\n\t\tsplice: {\n\t\t\tpattern: RegExp(',@?' + symbol),\n\t\t\talias: ['symbol', 'variable']\n\t\t},\n\t\tkeyword: [\n\t\t\t{\n\t\t\t\tpattern: RegExp(\n\t\t\t\t\tpar +\n\t\t\t\t\t\t'(?:and|(?:cl-)?letf|cl-loop|cond|cons|error|if|(?:lexical-)?let\\\\*?|message|not|null|or|provide|require|setq|unless|use-package|when|while)' +\n\t\t\t\t\t\tspace\n\t\t\t\t),\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: RegExp(\n\t\t\t\t\tpar + '(?:append|by|collect|concat|do|finally|for|in|return)' + space\n\t\t\t\t),\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t],\n\t\tdeclare: {\n\t\t\tpattern: simple_form(/declare/.source),\n\t\t\tlookbehind: true,\n\t\t\talias: 'keyword'\n\t\t},\n\t\tinteractive: {\n\t\t\tpattern: simple_form(/interactive/.source),\n\t\t\tlookbehind: true,\n\t\t\talias: 'keyword'\n\t\t},\n\t\tboolean: {\n\t\t\tpattern: primitive(/nil|t/.source),\n\t\t\tlookbehind: true\n\t\t},\n\t\tnumber: {\n\t\t\tpattern: primitive(/[-+]?\\d+(?:\\.\\d*)?/.source),\n\t\t\tlookbehind: true\n\t\t},\n\t\tdefvar: {\n\t\t\tpattern: RegExp(par + 'def(?:const|custom|group|var)\\\\s+' + symbol),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\tkeyword: /^def[a-z]+/,\n\t\t\t\tvariable: RegExp(symbol)\n\t\t\t}\n\t\t},\n\t\tdefun: {\n\t\t\tpattern: RegExp(par + /(?:cl-)?(?:defmacro|defun\\*?)\\s+/.source + symbol + /\\s+\\(/.source + nestedPar + /\\)/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\tkeyword: /^(?:cl-)?def\\S+/,\n\t\t\t\t// See below, this property needs to be defined later so that it can\n\t\t\t\t// reference the language object.\n\t\t\t\targuments: null,\n\t\t\t\tfunction: {\n\t\t\t\t\tpattern: RegExp('(^\\\\s)' + symbol),\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\tpunctuation: /[()]/\n\t\t\t}\n\t\t},\n\t\tlambda: {\n\t\t\tpattern: RegExp(par + 'lambda\\\\s+\\\\(\\\\s*(?:&?' + symbol + '(?:\\\\s+&?' + symbol + ')*\\\\s*)?\\\\)'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\tkeyword: /^lambda/,\n\t\t\t\t// See below, this property needs to be defined later so that it can\n\t\t\t\t// reference the language object.\n\t\t\t\targuments: null,\n\t\t\t\tpunctuation: /[()]/\n\t\t\t}\n\t\t},\n\t\tcar: {\n\t\t\tpattern: RegExp(par + symbol),\n\t\t\tlookbehind: true\n\t\t},\n\t\tpunctuation: [\n\t\t\t// open paren, brackets, and close paren\n\t\t\t/(?:['`,]?\\(|[)\\[\\]])/,\n\t\t\t// cons\n\t\t\t{\n\t\t\t\tpattern: /(\\s)\\.(?=\\s)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t]\n\t};\n\n\tvar arg = {\n\t\t'lisp-marker': RegExp(marker),\n\t\t'varform': {\n\t\t\tpattern: RegExp(/\\(/.source + symbol + /\\s+(?=\\S)/.source + nestedPar + /\\)/.source),\n\t\t\tinside: language\n\t\t},\n\t\t'argument': {\n\t\t\tpattern: RegExp(/(^|[\\s(])/.source + symbol),\n\t\t\tlookbehind: true,\n\t\t\talias: 'variable'\n\t\t},\n\t\trest: language\n\t};\n\n\tvar forms = '\\\\S+(?:\\\\s+\\\\S+)*';\n\n\tvar arglist = {\n\t\tpattern: RegExp(par + nestedPar + endpar),\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'rest-vars': {\n\t\t\t\tpattern: RegExp('&(?:body|rest)\\\\s+' + forms),\n\t\t\t\tinside: arg\n\t\t\t},\n\t\t\t'other-marker-vars': {\n\t\t\t\tpattern: RegExp('&(?:aux|optional)\\\\s+' + forms),\n\t\t\t\tinside: arg\n\t\t\t},\n\t\t\tkeys: {\n\t\t\t\tpattern: RegExp('&key\\\\s+' + forms + '(?:\\\\s+&allow-other-keys)?'),\n\t\t\t\tinside: arg\n\t\t\t},\n\t\t\targument: {\n\t\t\t\tpattern: RegExp(symbol),\n\t\t\t\talias: 'variable'\n\t\t\t},\n\t\t\tpunctuation: /[()]/\n\t\t}\n\t};\n\n\tlanguage['lambda'].inside.arguments = arglist;\n\tlanguage['defun'].inside.arguments = Prism.util.clone(arglist);\n\tlanguage['defun'].inside.arguments.inside.sublist = arglist;\n\n\tPrism.languages.lisp = language;\n\tPrism.languages.elisp = language;\n\tPrism.languages.emacs = language;\n\tPrism.languages['emacs-lisp'] = language;\n}(Prism));\n","Prism.languages.livescript = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])#.*/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'interpolated-string': {\n\t\t/* Look-behind and look-ahead prevents wrong behavior of the greedy pattern\n\t\t* forcing it to match \"\"\"-quoted string when it would otherwise match \"-quoted first. */\n\t\tpattern: /(^|[^\"])(\"\"\"|\")(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2(?!\")/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'variable': {\n\t\t\t\tpattern: /(^|[^\\\\])#[a-z_](?:-?[a-z]|[\\d_])*/m,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /(^|[^\\\\])#\\{[^}]+\\}/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^#\\{|\\}$/,\n\t\t\t\t\t\talias: 'variable'\n\t\t\t\t\t}\n\t\t\t\t\t// See rest below\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string': [\n\t\t{\n\t\t\tpattern: /('''|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /<\\[[\\s\\S]*?\\]>/,\n\t\t\tgreedy: true\n\t\t},\n\t\t/\\\\[^\\s,;\\])}]+/\n\t],\n\t'regex': [\n\t\t{\n\t\t\tpattern: /\\/\\/(?:\\[[^\\r\\n\\]]*\\]|\\\\.|(?!\\/\\/)[^\\\\\\[])+\\/\\/[gimyu]{0,5}/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'comment': {\n\t\t\t\t\tpattern: /(^|[^\\\\])#.*/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: /\\/(?:\\[[^\\r\\n\\]]*\\]|\\\\.|[^/\\\\\\r\\n\\[])+\\/[gimyu]{0,5}/,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'keyword': {\n\t\tpattern: /(^|(?!-).)\\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\\b/m,\n\t\tlookbehind: true\n\t},\n\t'keyword-operator': {\n\t\tpattern: /(^|[^-])\\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?: not|nt)?|not|of|or|til|to|typeof|with|xor)(?!-)\\b)/m,\n\t\tlookbehind: true,\n\t\talias: 'operator'\n\t},\n\t'boolean': {\n\t\tpattern: /(^|[^-])\\b(?:false|no|off|on|true|yes)(?!-)\\b/m,\n\t\tlookbehind: true\n\t},\n\t'argument': {\n\t\t// Don't match .&. nor &&\n\t\tpattern: /(^|(?!\\.&\\.)[^&])&(?!&)\\d*/m,\n\t\tlookbehind: true,\n\t\talias: 'variable'\n\t},\n\t'number': /\\b(?:\\d+~[\\da-z]+|\\d[\\d_]*(?:\\.\\d[\\d_]*)?(?:[a-z]\\w*)?)/i,\n\t'identifier': /[a-z_](?:-?[a-z]|[\\d_])*/i,\n\t'operator': [\n\t\t// Spaced .\n\t\t{\n\t\t\tpattern: /( )\\.(?= )/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t// Full list, in order:\n\t\t// .= .~ .. ...\n\t\t// .&. .^. .<<. .>>. .>>>.\n\t\t// := :: ::=\n\t\t// &&\n\t\t// || |>\n\t\t// < << <<< <<<<\n\t\t// <- <-- <-! <--!\n\t\t// <~ <~~ <~! <~~!\n\t\t// <| <= <?\n\t\t// > >> >= >?\n\t\t// - -- -> -->\n\t\t// + ++\n\t\t// @ @@\n\t\t// % %%\n\t\t// * **\n\t\t// ! != !~=\n\t\t// !~> !~~>\n\t\t// !-> !-->\n\t\t// ~ ~> ~~> ~=\n\t\t// = ==\n\t\t// ^ ^^\n\t\t// / ?\n\t\t/\\.(?:[=~]|\\.\\.?)|\\.(?:[&|^]|<<|>>>?)\\.|:(?:=|:=?)|&&|\\|[|>]|<(?:<<?<?|--?!?|~~?!?|[|=?])?|>[>=?]?|-(?:->?|>)?|\\+\\+?|@@?|%%?|\\*\\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\\^\\^?|[\\/?]/\n\t],\n\t'punctuation': /[(){}\\[\\]|.,:;`]/\n};\n\nPrism.languages.livescript['interpolated-string'].inside['interpolation'].inside.rest = Prism.languages.livescript;\n","(function (Prism) {\n\tPrism.languages.llvm = {\n\t\t'comment': /;.*/,\n\t\t'string': {\n\t\t\tpattern: /\"[^\"]*\"/,\n\t\t\tgreedy: true,\n\t\t},\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'variable': /[%@!#](?:(?!\\d)(?:[-$.\\w]|\\\\[a-f\\d]{2})+|\\d+)/i,\n\t\t'label': /(?!\\d)(?:[-$.\\w]|\\\\[a-f\\d]{2})+:/i,\n\t\t'type': {\n\t\t\tpattern: /\\b(?:double|float|fp128|half|i[1-9]\\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\\b/,\n\t\t\talias: 'class-name',\n\t\t},\n\t\t'keyword': /\\b[a-z_][a-z_0-9]*\\b/,\n\t\t'number': /[+-]?\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b|\\b0x[\\dA-Fa-f]+\\b|\\b0xK[\\dA-Fa-f]{20}\\b|\\b0x[ML][\\dA-Fa-f]{32}\\b|\\b0xH[\\dA-Fa-f]{4}\\b/,\n\t\t'punctuation': /[{}[\\];(),.!*=<>]/,\n\t};\n}(Prism));\n","// This is a language definition for generic log files.\n// Since there is no one log format, this language definition has to support all formats to some degree.\n//\n// Based on https://github.com/MTDL9/vim-log-highlighting\n\nPrism.languages.log = {\n\t'string': {\n\t\t// Single-quoted strings must not be confused with plain text. E.g. Can't isn't Susan's Chris' toy\n\t\tpattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?![st] | \\w)(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n\t\tgreedy: true,\n\t},\n\n\t'exception': {\n\t\tpattern: /(^|[^\\w.])[a-z][\\w.]*(?:Error|Exception):.*(?:(?:\\r\\n?|\\n)[ \\t]*(?:at[ \\t].+|\\.{3}.*|Caused by:.*))+(?:(?:\\r\\n?|\\n)[ \\t]*\\.\\.\\. .*)?/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: ['javastacktrace', 'language-javastacktrace'],\n\t\tinside: Prism.languages['javastacktrace'] || {\n\t\t\t'keyword': /\\bat\\b/,\n\t\t\t'function': /[a-z_][\\w$]*(?=\\()/,\n\t\t\t'punctuation': /[.:()]/\n\t\t}\n\t},\n\n\t'level': [\n\t\t{\n\t\t\tpattern: /\\b(?:ALERT|CRIT|CRITICAL|EMERG|EMERGENCY|ERR|ERROR|FAILURE|FATAL|SEVERE)\\b/,\n\t\t\talias: ['error', 'important']\n\t\t},\n\t\t{\n\t\t\tpattern: /\\b(?:WARN|WARNING|WRN)\\b/,\n\t\t\talias: ['warning', 'important']\n\t\t},\n\t\t{\n\t\t\tpattern: /\\b(?:DISPLAY|INF|INFO|NOTICE|STATUS)\\b/,\n\t\t\talias: ['info', 'keyword']\n\t\t},\n\t\t{\n\t\t\tpattern: /\\b(?:DBG|DEBUG|FINE)\\b/,\n\t\t\talias: ['debug', 'keyword']\n\t\t},\n\t\t{\n\t\t\tpattern: /\\b(?:FINER|FINEST|TRACE|TRC|VERBOSE|VRB)\\b/,\n\t\t\talias: ['trace', 'comment']\n\t\t}\n\t],\n\n\t'property': {\n\t\tpattern: /((?:^|[\\]|])[ \\t]*)[a-z_](?:[\\w-]|\\b\\/\\b)*(?:[. ]\\(?\\w(?:[\\w-]|\\b\\/\\b)*\\)?)*:(?=\\s)/im,\n\t\tlookbehind: true\n\t},\n\n\t'separator': {\n\t\tpattern: /(^|[^-+])-{3,}|={3,}|\\*{3,}|- - /m,\n\t\tlookbehind: true,\n\t\talias: 'comment'\n\t},\n\n\t'url': /\\b(?:file|ftp|https?):\\/\\/[^\\s|,;'\"]*[^\\s|,;'\">.]/,\n\t'email': {\n\t\tpattern: /(^|\\s)[-\\w+.]+@[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9-]*)+(?=\\s)/,\n\t\tlookbehind: true,\n\t\talias: 'url'\n\t},\n\n\t'ip-address': {\n\t\tpattern: /\\b(?:\\d{1,3}(?:\\.\\d{1,3}){3})\\b/,\n\t\talias: 'constant'\n\t},\n\t'mac-address': {\n\t\tpattern: /\\b[a-f0-9]{2}(?::[a-f0-9]{2}){5}\\b/i,\n\t\talias: 'constant'\n\t},\n\t'domain': {\n\t\tpattern: /(^|\\s)[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9-]*)*\\.[a-z][a-z0-9-]+(?=\\s)/,\n\t\tlookbehind: true,\n\t\talias: 'constant'\n\t},\n\n\t'uuid': {\n\t\tpattern: /\\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\b/i,\n\t\talias: 'constant'\n\t},\n\t'hash': {\n\t\tpattern: /\\b(?:[a-f0-9]{32}){1,2}\\b/i,\n\t\talias: 'constant'\n\t},\n\n\t'file-path': {\n\t\tpattern: /\\b[a-z]:[\\\\/][^\\s|,;:(){}\\[\\]\"']+|(^|[\\s:\\[\\](>|])\\.{0,2}\\/\\w[^\\s|,;:(){}\\[\\]\"']*/i,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\n\t'date': {\n\t\tpattern: RegExp(\n\t\t\t/\\b\\d{4}[-/]\\d{2}[-/]\\d{2}(?:T(?=\\d{1,2}:)|(?=\\s\\d{1,2}:))/.source +\n\t\t\t'|' +\n\t\t\t/\\b\\d{1,4}[-/ ](?:\\d{1,2}|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)[-/ ]\\d{2,4}T?\\b/.source +\n\t\t\t'|' +\n\t\t\t/\\b(?:(?:Fri|Mon|Sat|Sun|Thu|Tue|Wed)(?:\\s{1,2}(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep))?|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)\\s{1,2}\\d{1,2}\\b/.source,\n\t\t\t'i'\n\t\t),\n\t\talias: 'number'\n\t},\n\t'time': {\n\t\tpattern: /\\b\\d{1,2}:\\d{1,2}:\\d{1,2}(?:[.,:]\\d+)?(?:\\s?[+-]\\d{2}:?\\d{2}|Z)?\\b/,\n\t\talias: 'number'\n\t},\n\n\t'boolean': /\\b(?:false|null|true)\\b/i,\n\t'number': {\n\t\tpattern: /(^|[^.\\w])(?:0x[a-f0-9]+|0o[0-7]+|0b[01]+|v?\\d[\\da-f]*(?:\\.\\d+)*(?:e[+-]?\\d+)?[a-z]{0,3}\\b)\\b(?!\\.\\w)/i,\n\t\tlookbehind: true\n\t},\n\n\t'operator': /[;:?<=>~/@!$%&+\\-|^(){}*#]/,\n\t'punctuation': /[\\[\\].,]/\n};\n","Prism.languages.lolcode = {\n\t'comment': [\n\t\t/\\bOBTW\\s[\\s\\S]*?\\sTLDR\\b/,\n\t\t/\\bBTW.+/\n\t],\n\t'string': {\n\t\tpattern: /\"(?::.|[^\":])*\"/,\n\t\tinside: {\n\t\t\t'variable': /:\\{[^}]+\\}/,\n\t\t\t'symbol': [\n\t\t\t\t/:\\([a-f\\d]+\\)/i,\n\t\t\t\t/:\\[[^\\]]+\\]/,\n\t\t\t\t/:[)>o\":]/\n\t\t\t]\n\t\t},\n\t\tgreedy: true\n\t},\n\t'number': /(?:\\B-)?(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)/,\n\t'symbol': {\n\t\tpattern: /(^|\\s)(?:A )?(?:BUKKIT|NOOB|NUMBAR|NUMBR|TROOF|YARN)(?=\\s|,|$)/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'keyword': /A(?=\\s)/\n\t\t}\n\t},\n\t'label': {\n\t\tpattern: /((?:^|\\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\\w*/,\n\t\tlookbehind: true,\n\t\talias: 'string'\n\t},\n\t'function': {\n\t\tpattern: /((?:^|\\s)(?:HOW IZ I|I IZ|IZ) )[a-zA-Z]\\w*/,\n\t\tlookbehind: true\n\t},\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /(^|\\s)(?:AN|FOUND YR|GIMMEH|GTFO|HAI|HAS A|HOW IZ I|I HAS A|I IZ|IF U SAY SO|IM IN YR|IM OUTTA YR|IS NOW(?: A)?|ITZ(?: A)?|IZ|KTHX|KTHXBYE|LIEK(?: A)?|MAEK|MEBBE|MKAY|NERFIN|NO WAI|O HAI IM|O RLY\\?|OIC|OMG|OMGWTF|R|SMOOSH|SRS|TIL|UPPIN|VISIBLE|WILE|WTF\\?|YA RLY|YR)(?=\\s|,|$)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t/'Z(?=\\s|,|$)/\n\t],\n\t'boolean': {\n\t\tpattern: /(^|\\s)(?:FAIL|WIN)(?=\\s|,|$)/,\n\t\tlookbehind: true\n\t},\n\t'variable': {\n\t\tpattern: /(^|\\s)IT(?=\\s|,|$)/,\n\t\tlookbehind: true\n\t},\n\t'operator': {\n\t\tpattern: /(^|\\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:ALL|ANY|BIGGR|BOTH|DIFF|EITHER|MOD|PRODUKT|QUOSHUNT|SMALLR|SUM|WON) OF)(?=\\s|,|$)/,\n\t\tlookbehind: true\n\t},\n\t'punctuation': /\\.{3}|…|,|!/\n};\n","Prism.languages.magma = {\n\t'output': {\n\t\tpattern: /^(>.*(?:\\r(?:\\n|(?!\\n))|\\n))(?!>)(?:.+|(?:\\r(?:\\n|(?!\\n))|\\n)(?!>).*)(?:(?:\\r(?:\\n|(?!\\n))|\\n)(?!>).*)*/m,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\n\t'comment': {\n\t\tpattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(^|[^\\\\\"])\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\n\t// http://magma.maths.usyd.edu.au/magma/handbook/text/82\n\t'keyword': /\\b(?:_|adj|and|assert|assert2|assert3|assigned|break|by|case|cat|catch|clear|cmpeq|cmpne|continue|declare|default|delete|diff|div|do|elif|else|end|eq|error|eval|exists|exit|for|forall|forward|fprintf|freeze|function|ge|gt|if|iload|import|in|intrinsic|is|join|le|load|local|lt|meet|mod|ne|not|notadj|notin|notsubset|or|print|printf|procedure|quit|random|read|readi|repeat|require|requirege|requirerange|restore|return|save|sdiff|select|subset|then|time|to|try|until|vprint|vprintf|vtime|when|where|while|xor)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\n\t'generator': {\n\t\tpattern: /\\b[a-z_]\\w*(?=\\s*<)/i,\n\t\talias: 'class-name'\n\t},\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\n\t'number': {\n\t\tpattern: /(^|[^\\w.]|\\.\\.)(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?:_[a-z]?)?(?=$|[^\\w.]|\\.\\.)/,\n\t\tlookbehind: true\n\t},\n\n\t'operator': /->|[-+*/^~!|#=]|:=|\\.\\./,\n\t'punctuation': /[()[\\]{}<>,;.:]/\n};\n","Prism.languages.makefile = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,\n\t\tlookbehind: true\n\t},\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\n\t'builtin-target': {\n\t\tpattern: /\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,\n\t\talias: 'builtin'\n\t},\n\n\t'target': {\n\t\tpattern: /^(?:[^:=\\s]|[ \\t]+(?![\\s:]))+(?=\\s*:(?!=))/m,\n\t\talias: 'symbol',\n\t\tinside: {\n\t\t\t'variable': /\\$+(?:(?!\\$)[^(){}:#=\\s]+|(?=[({]))/\n\t\t}\n\t},\n\t'variable': /\\$+(?:(?!\\$)[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,\n\n\t// Directives\n\t'keyword': /-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/,\n\n\t'function': {\n\t\tpattern: /(\\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \\t])/,\n\t\tlookbehind: true\n\t},\n\t'operator': /(?:::|[?:+!])?=|[|@]/,\n\t'punctuation': /[:;(){}]/\n};\n","// https://www.stata.com/manuals/m.pdf\n\n(function (Prism) {\n\n\tvar orgType = /\\b(?:(?:col|row)?vector|matrix|scalar)\\b/.source;\n\tvar type = /\\bvoid\\b|<org>|\\b(?:complex|numeric|pointer(?:\\s*\\([^()]*\\))?|real|string|(?:class|struct)\\s+\\w+|transmorphic)(?:\\s*<org>)?/.source\n\t\t.replace(/<org>/g, orgType);\n\n\tPrism.languages.mata = {\n\t\t'comment': {\n\t\t\tpattern: /\\/\\/.*|\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\//,\n\t\t\tgreedy: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /\"[^\"\\r\\n]*\"|[‘`']\".*?\"[’`']/,\n\t\t\tgreedy: true\n\t\t},\n\n\t\t'class-name': {\n\t\t\tpattern: /(\\b(?:class|extends|struct)\\s+)\\w+(?=\\s*(?:\\{|\\bextends\\b))/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'type': {\n\t\t\tpattern: RegExp(type),\n\t\t\talias: 'class-name',\n\t\t\tinside: {\n\t\t\t\t'punctuation': /[()]/,\n\t\t\t\t'keyword': /\\b(?:class|function|struct|void)\\b/\n\t\t\t}\n\t\t},\n\t\t'keyword': /\\b(?:break|class|continue|do|else|end|extends|external|final|for|function|goto|if|pragma|private|protected|public|return|static|struct|unset|unused|version|virtual|while)\\b/,\n\t\t'constant': /\\bNULL\\b/,\n\n\t\t'number': {\n\t\t\tpattern: /(^|[^\\w.])(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|\\d[a-f0-9]*(?:\\.[a-f0-9]+)?x[+-]?\\d+)i?(?![\\w.])/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'missing': {\n\t\t\tpattern: /(^|[^\\w.])(?:\\.[a-z]?)(?![\\w.])/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'symbol'\n\t\t},\n\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\n\t\t'operator': /\\.\\.|\\+\\+|--|&&|\\|\\||:?(?:[!=<>]=|[+\\-*/^<>&|:])|[!?=\\\\#’`']/,\n\t\t'punctuation': /[()[\\]{},;.]/\n\t};\n\n}(Prism));\n","Prism.languages.matlab = {\n\t'comment': [\n\t\t/%\\{[\\s\\S]*?\\}%/,\n\t\t/%.+/\n\t],\n\t'string': {\n\t\tpattern: /\\B'(?:''|[^'\\r\\n])*'/,\n\t\tgreedy: true\n\t},\n\t// FIXME We could handle imaginary numbers as a whole\n\t'number': /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?(?:[ij])?|\\b[ij]\\b/,\n\t'keyword': /\\b(?:NaN|break|case|catch|continue|else|elseif|end|for|function|if|inf|otherwise|parfor|pause|pi|return|switch|try|while)\\b/,\n\t'function': /\\b(?!\\d)\\w+(?=\\s*\\()/,\n\t'operator': /\\.?[*^\\/\\\\']|[+\\-:@]|[<>=~]=?|&&?|\\|\\|?/,\n\t'punctuation': /\\.{3}|[.,;\\[\\](){}!]/\n};\n","(function (Prism) {\n\n\tvar keywords = /\\b(?:about|and|animate|as|at|attributes|by|case|catch|collect|continue|coordsys|do|else|exit|fn|for|from|function|global|if|in|local|macroscript|mapped|max|not|of|off|on|or|parameters|persistent|plugin|rcmenu|return|rollout|set|struct|then|throw|to|tool|try|undo|utility|when|where|while|with)\\b/i;\n\n\n\tPrism.languages.maxscript = {\n\t\t'comment': {\n\t\t\tpattern: /\\/\\*[\\s\\S]*?(?:\\*\\/|$)|--.*/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /(^|[^\"\\\\@])(?:\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|@\"[^\"]*\")/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t'path': {\n\t\t\tpattern: /\\$(?:[\\w/\\\\.*?]|'[^']*')*/,\n\t\t\tgreedy: true,\n\t\t\talias: 'string'\n\t\t},\n\n\t\t'function-call': {\n\t\t\tpattern: RegExp(\n\t\t\t\t'((?:' + (\n\t\t\t\t\t// start of line\n\t\t\t\t\t/^/.source +\n\t\t\t\t\t'|' +\n\t\t\t\t\t// operators and other language constructs\n\t\t\t\t\t/[;=<>+\\-*/^({\\[]/.source +\n\t\t\t\t\t'|' +\n\t\t\t\t\t// keywords as part of statements\n\t\t\t\t\t/\\b(?:and|by|case|catch|collect|do|else|if|in|not|or|return|then|to|try|where|while|with)\\b/.source\n\t\t\t\t) + ')[ \\t]*)' +\n\n\t\t\t\t'(?!' + keywords.source + ')' + /[a-z_]\\w*\\b/.source +\n\n\t\t\t\t'(?=[ \\t]*(?:' + (\n\t\t\t\t\t// variable\n\t\t\t\t\t'(?!' + keywords.source + ')' + /[a-z_]/.source +\n\t\t\t\t\t'|' +\n\t\t\t\t\t// number\n\t\t\t\t\t/\\d|-\\.?\\d/.source +\n\t\t\t\t\t'|' +\n\t\t\t\t\t// other expressions or literals\n\t\t\t\t\t/[({'\"$@#?]/.source\n\t\t\t\t) + '))',\n\t\t\t\t'im'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'function'\n\t\t},\n\n\t\t'function-definition': {\n\t\t\tpattern: /(\\b(?:fn|function)\\s+)\\w+\\b/i,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\n\t\t'argument': {\n\t\t\tpattern: /\\b[a-z_]\\w*(?=:)/i,\n\t\t\talias: 'attr-name'\n\t\t},\n\n\t\t'keyword': keywords,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\n\t\t'time': {\n\t\t\tpattern: /(^|[^\\w.])(?:(?:(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eEdD][+-]\\d+|[LP])?[msft])+|\\d+:\\d+(?:\\.\\d*)?)(?![\\w.:])/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'number'\n\t\t},\n\t\t'number': [\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\w.])(?:(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eEdD][+-]\\d+|[LP])?|0x[a-fA-F0-9]+)(?![\\w.:])/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t/\\b(?:e|pi)\\b/\n\t\t],\n\n\t\t'constant': /\\b(?:dontcollect|ok|silentValue|undefined|unsupplied)\\b/,\n\t\t'color': {\n\t\t\tpattern: /\\b(?:black|blue|brown|gray|green|orange|red|white|yellow)\\b/i,\n\t\t\talias: 'constant'\n\t\t},\n\n\t\t'operator': /[-+*/<>=!]=?|[&^?]|#(?!\\()/,\n\t\t'punctuation': /[()\\[\\]{}.:,;]|#(?=\\()|\\\\$/m\n\t};\n\n}(Prism));\n","Prism.languages.mel = {\n\t'comment': {\n\t\tpattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n\t\tgreedy: true\n\t},\n\t'code': {\n\t\tpattern: /`(?:\\\\.|[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\talias: 'italic',\n\t\tinside: {\n\t\t\t'delimiter': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'punctuation'\n\t\t\t},\n\t\t\t'statement': {\n\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\tinside: null // see below\n\t\t\t}\n\t\t}\n\t},\n\t'string': {\n\t\tpattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'variable': /\\$\\w+/,\n\t'number': /\\b0x[\\da-fA-F]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+/,\n\t'flag': {\n\t\tpattern: /-[^\\d\\W]\\w*/,\n\t\talias: 'operator'\n\t},\n\t'keyword': /\\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\\b/,\n\t'function': {\n\t\tpattern: /((?:^|[{;])[ \\t]*)[a-z_]\\w*\\b(?!\\s*(?:\\.(?!\\.)|[[{=]))|\\b[a-z_]\\w*(?=[ \\t]*\\()/im,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\n\t'tensor-punctuation': {\n\t\tpattern: /<<|>>/,\n\t\talias: 'punctuation'\n\t},\n\t'operator': /\\+[+=]?|-[-=]?|&&|\\|\\||[<>]=?|[*\\/!=]=?|[%^]/,\n\t'punctuation': /[.,:;?\\[\\](){}]/\n};\n\nPrism.languages.mel['code'].inside['statement'].inside = Prism.languages.mel;\n","Prism.languages.mermaid = {\n\t'comment': {\n\t\tpattern: /%%.*/,\n\t\tgreedy: true\n\t},\n\n\t'style': {\n\t\tpattern: /^([ \\t]*(?:classDef|linkStyle|style)[ \\t]+[\\w$-]+[ \\t]+)\\w.*[^\\s;]/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'property': /\\b\\w[\\w-]*(?=[ \\t]*:)/,\n\t\t\t'operator': /:/,\n\t\t\t'punctuation': /,/\n\t\t}\n\t},\n\n\t'inter-arrow-label': {\n\t\tpattern: /([^<>ox.=-])(?:-[-.]|==)(?![<>ox.=-])[ \\t]*(?:\"[^\"\\r\\n]*\"|[^\\s\".=-](?:[^\\r\\n.=-]*[^\\s.=-])?)[ \\t]*(?:\\.+->?|--+[->]|==+[=>])(?![<>ox.=-])/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'arrow': {\n\t\t\t\tpattern: /(?:\\.+->?|--+[->]|==+[=>])$/,\n\t\t\t\talias: 'operator'\n\t\t\t},\n\t\t\t'label': {\n\t\t\t\tpattern: /^([\\s\\S]{2}[ \\t]*)\\S(?:[\\s\\S]*\\S)?/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'property'\n\t\t\t},\n\t\t\t'arrow-head': {\n\t\t\t\tpattern: /^\\S+/,\n\t\t\t\talias: ['arrow', 'operator']\n\t\t\t}\n\t\t}\n\t},\n\n\t'arrow': [\n\t\t// This might look complex but it really isn't.\n\t\t// There are many possible arrows (see tests) and it's impossible to fit all of them into one pattern. The\n\t\t// problem is that we only have one lookbehind per pattern. However, we cannot disallow too many arrow\n\t\t// characters in the one lookbehind because that would create too many false negatives. So we have to split the\n\t\t// arrows into different patterns.\n\t\t{\n\t\t\t// ER diagram\n\t\t\tpattern: /(^|[^{}|o.-])[|}][|o](?:--|\\.\\.)[|o][|{](?![{}|o.-])/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'operator'\n\t\t},\n\t\t{\n\t\t\t// flow chart\n\t\t\t// (?:==+|--+|-\\.*-)\n\t\t\tpattern: /(^|[^<>ox.=-])(?:[<ox](?:==+|--+|-\\.*-)[>ox]?|(?:==+|--+|-\\.*-)[>ox]|===+|---+|-\\.+-)(?![<>ox.=-])/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'operator'\n\t\t},\n\t\t{\n\t\t\t// sequence diagram\n\t\t\tpattern: /(^|[^<>()x-])(?:--?(?:>>|[x>)])(?![<>()x])|(?:<<|[x<(])--?(?!-))/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'operator'\n\t\t},\n\t\t{\n\t\t\t// class diagram\n\t\t\tpattern: /(^|[^<>|*o.-])(?:[*o]--|--[*o]|<\\|?(?:--|\\.\\.)|(?:--|\\.\\.)\\|?>|--|\\.\\.)(?![<>|*o.-])/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'operator'\n\t\t},\n\t],\n\n\t'label': {\n\t\tpattern: /(^|[^|<])\\|(?:[^\\r\\n\"|]|\"[^\"\\r\\n]*\")+\\|/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t},\n\n\t'text': {\n\t\tpattern: /(?:[(\\[{]+|\\b>)(?:[^\\r\\n\"()\\[\\]{}]|\"[^\"\\r\\n]*\")+(?:[)\\]}]+|>)/,\n\t\talias: 'string'\n\t},\n\t'string': {\n\t\tpattern: /\"[^\"\\r\\n]*\"/,\n\t\tgreedy: true\n\t},\n\n\t'annotation': {\n\t\tpattern: /<<(?:abstract|choice|enumeration|fork|interface|join|service)>>|\\[\\[(?:choice|fork|join)\\]\\]/i,\n\t\talias: 'important'\n\t},\n\n\t'keyword': [\n\t\t// This language has both case-sensitive and case-insensitive keywords\n\t\t{\n\t\t\tpattern: /(^[ \\t]*)(?:action|callback|class|classDef|classDiagram|click|direction|erDiagram|flowchart|gantt|gitGraph|graph|journey|link|linkStyle|pie|requirementDiagram|sequenceDiagram|stateDiagram|stateDiagram-v2|style|subgraph)(?![\\w$-])/m,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^[ \\t]*)(?:activate|alt|and|as|autonumber|deactivate|else|end(?:[ \\t]+note)?|loop|opt|par|participant|rect|state|note[ \\t]+(?:over|(?:left|right)[ \\t]+of))(?![\\w$-])/im,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\n\t'entity': /#[a-z0-9]+;/,\n\n\t'operator': {\n\t\tpattern: /(\\w[ \\t]*)&(?=[ \\t]*\\w)|:::|:/,\n\t\tlookbehind: true\n\t},\n\t'punctuation': /[(){};]/\n};\n","Prism.languages.metafont = {\n\t// Syntax of METAFONT with the added (public) elements of PlainMETAFONT. Except for internal quantities they are expected to be rarely redefined. Freely inspired by the syntax of Christophe Grandsire for the Crimson Editor.\n\t'comment': {\n\t\tpattern: /%.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"[^\\r\\n\"]*\"/,\n\t\tgreedy: true\n\t},\n\t'number': /\\d*\\.?\\d+/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'punctuation': [\n\t\t/[,;()]/,\n\t\t{\n\t\t\tpattern: /(^|[^{}])(?:\\{|\\})(?![{}])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^[])\\[(?!\\[)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\]])\\](?!\\])/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'constant': [\n\t\t{\n\t\t\tpattern: /(^|[^!?])\\?\\?\\?(?![!?])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^/*\\\\])(?:\\\\|\\\\\\\\)(?![/*\\\\])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t/\\b(?:_|blankpicture|bp|cc|cm|dd|ditto|down|eps|epsilon|fullcircle|halfcircle|identity|in|infinity|left|mm|nullpen|nullpicture|origin|pc|penrazor|penspeck|pensquare|penstroke|proof|pt|quartercircle|relax|right|smoke|unitpixel|unitsquare|up)\\b/\n\t],\n\t'quantity': {\n\t\tpattern: /\\b(?:autorounding|blacker|boundarychar|charcode|chardp|chardx|chardy|charext|charht|charic|charwd|currentwindow|day|designsize|displaying|fillin|fontmaking|granularity|hppp|join_radius|month|o_correction|pausing|pen_(?:bot|lft|rt|top)|pixels_per_inch|proofing|showstopping|smoothing|time|tolerance|tracingcapsules|tracingchoices|tracingcommands|tracingedges|tracingequations|tracingmacros|tracingonline|tracingoutput|tracingpens|tracingrestores|tracingspecs|tracingstats|tracingtitles|turningcheck|vppp|warningcheck|xoffset|year|yoffset)\\b/,\n\t\talias: 'keyword'\n\t},\n\t'command': {\n\t\tpattern: /\\b(?:addto|batchmode|charlist|cull|display|errhelp|errmessage|errorstopmode|everyjob|extensible|fontdimen|headerbyte|inner|interim|let|ligtable|message|newinternal|nonstopmode|numspecial|openwindow|outer|randomseed|save|scrollmode|shipout|show|showdependencies|showstats|showtoken|showvariable|special)\\b/,\n\t\talias: 'builtin'\n\t},\n\t'operator': [\n\t\t{\n\t\t\tpattern: /(^|[^>=<:|])(?:<|<=|=|=:|\\|=:|\\|=:>|=:\\|>|=:\\||\\|=:\\||\\|=:\\|>|\\|=:\\|>>|>|>=|:|:=|<>|::|\\|\\|:)(?![>=<:|])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^+-])(?:\\+|\\+\\+|-{1,3}|\\+-\\+)(?![+-])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^/*\\\\])(?:\\*|\\*\\*|\\/)(?![/*\\\\])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.])(?:\\.{2,3})(?!\\.)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^@#&$])&(?![@#&$])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t/\\b(?:and|not|or)\\b/\n\t],\n\t'macro': {\n\t\tpattern: /\\b(?:abs|beginchar|bot|byte|capsule_def|ceiling|change_width|clear_pen_memory|clearit|clearpen|clearxy|counterclockwise|cullit|cutdraw|cutoff|decr|define_blacker_pixels|define_corrected_pixels|define_good_x_pixels|define_good_y_pixels|define_horizontal_corrected_pixels|define_pixels|define_whole_blacker_pixels|define_whole_pixels|define_whole_vertical_blacker_pixels|define_whole_vertical_pixels|dir|direction|directionpoint|div|dotprod|downto|draw|drawdot|endchar|erase|fill|filldraw|fix_units|flex|font_coding_scheme|font_extra_space|font_identifier|font_normal_shrink|font_normal_space|font_normal_stretch|font_quad|font_size|font_slant|font_x_height|gfcorners|gobble|gobbled|good\\.(?:bot|lft|rt|top|x|y)|grayfont|hide|hround|imagerules|incr|interact|interpath|intersectionpoint|inverse|italcorr|killtext|labelfont|labels|lft|loggingall|lowres_fix|makegrid|makelabel(?:\\.(?:bot|lft|rt|top)(?:\\.nodot)?)?|max|min|mod|mode_def|mode_setup|nodisplays|notransforms|numtok|openit|penlabels|penpos|pickup|proofoffset|proofrule|proofrulethickness|range|reflectedabout|rotatedabout|rotatedaround|round|rt|savepen|screenchars|screenrule|screenstrokes|shipit|showit|slantfont|softjoin|solve|stop|superellipse|tensepath|thru|titlefont|top|tracingall|tracingnone|undraw|undrawdot|unfill|unfilldraw|upto|vround)\\b/,\n\t\talias: 'function'\n\t},\n\t'builtin': /\\b(?:ASCII|angle|char|cosd|decimal|directiontime|floor|hex|intersectiontimes|jobname|known|length|makepath|makepen|mexp|mlog|normaldeviate|oct|odd|pencircle|penoffset|point|postcontrol|precontrol|reverse|rotated|sind|sqrt|str|subpath|substring|totalweight|turningnumber|uniformdeviate|unknown|xpart|xxpart|xypart|ypart|yxpart|yypart)\\b/,\n\t'keyword': /\\b(?:also|at|atleast|begingroup|charexists|contour|controls|curl|cycle|def|delimiters|doublepath|dropping|dump|else|elseif|end|enddef|endfor|endgroup|endinput|exitif|exitunless|expandafter|fi|for|forever|forsuffixes|from|if|input|inwindow|keeping|kern|of|primarydef|quote|readstring|scaled|scantokens|secondarydef|shifted|skipto|slanted|step|tension|tertiarydef|to|transformed|until|vardef|withpen|withweight|xscaled|yscaled|zscaled)\\b/,\n\t'type': {\n\t\tpattern: /\\b(?:boolean|expr|numeric|pair|path|pen|picture|primary|secondary|string|suffix|tertiary|text|transform)\\b/,\n\t\talias: 'property'\n\t},\n\t'variable': {\n\t\tpattern: /(^|[^@#&$])(?:@#|#@|#|@)(?![@#&$])|\\b(?:aspect_ratio|currentpen|currentpicture|currenttransform|d|extra_beginchar|extra_endchar|extra_setup|h|localfont|mag|mode|screen_cols|screen_rows|w|whatever|x|y|z)\\b/,\n\t\tlookbehind: true\n\t}\n};\n","Prism.languages.mizar = {\n\t'comment': /::.+/,\n\t'keyword': /@proof\\b|\\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|end|environ|equals|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:ies|y)|when|where|with|wrt)\\b/,\n\t'parameter': {\n\t\tpattern: /\\$(?:10|\\d)/,\n\t\talias: 'variable'\n\t},\n\t'variable': /\\b\\w+(?=:)/,\n\t'number': /(?:\\b|-)\\d+\\b/,\n\t'operator': /\\.\\.\\.|->|&|\\.?=/,\n\t'punctuation': /\\(#|#\\)|[,:;\\[\\](){}]/\n};\n","(function (Prism) {\n\n\tvar operators = [\n\t\t// query and projection\n\t\t'$eq', '$gt', '$gte', '$in', '$lt', '$lte', '$ne', '$nin', '$and', '$not', '$nor', '$or',\n\t\t'$exists', '$type', '$expr', '$jsonSchema', '$mod', '$regex', '$text', '$where', '$geoIntersects',\n\t\t'$geoWithin', '$near', '$nearSphere', '$all', '$elemMatch', '$size', '$bitsAllClear', '$bitsAllSet',\n\t\t'$bitsAnyClear', '$bitsAnySet', '$comment', '$elemMatch', '$meta', '$slice',\n\n\t\t// update\n\t\t'$currentDate', '$inc', '$min', '$max', '$mul', '$rename', '$set', '$setOnInsert', '$unset',\n\t\t'$addToSet', '$pop', '$pull', '$push', '$pullAll', '$each', '$position', '$slice', '$sort', '$bit',\n\n\t\t// aggregation pipeline stages\n\t\t'$addFields', '$bucket', '$bucketAuto', '$collStats', '$count', '$currentOp', '$facet', '$geoNear',\n\t\t'$graphLookup', '$group', '$indexStats', '$limit', '$listLocalSessions', '$listSessions', '$lookup',\n\t\t'$match', '$merge', '$out', '$planCacheStats', '$project', '$redact', '$replaceRoot', '$replaceWith',\n\t\t'$sample', '$set', '$skip', '$sort', '$sortByCount', '$unionWith', '$unset', '$unwind', '$setWindowFields',\n\n\t\t// aggregation pipeline operators\n\t\t'$abs', '$accumulator', '$acos', '$acosh', '$add', '$addToSet', '$allElementsTrue', '$and',\n\t\t'$anyElementTrue', '$arrayElemAt', '$arrayToObject', '$asin', '$asinh', '$atan', '$atan2',\n\t\t'$atanh', '$avg', '$binarySize', '$bsonSize', '$ceil', '$cmp', '$concat', '$concatArrays', '$cond',\n\t\t'$convert', '$cos', '$dateFromParts', '$dateToParts', '$dateFromString', '$dateToString', '$dayOfMonth',\n\t\t'$dayOfWeek', '$dayOfYear', '$degreesToRadians', '$divide', '$eq', '$exp', '$filter', '$first',\n\t\t'$floor', '$function', '$gt', '$gte', '$hour', '$ifNull', '$in', '$indexOfArray', '$indexOfBytes',\n\t\t'$indexOfCP', '$isArray', '$isNumber', '$isoDayOfWeek', '$isoWeek', '$isoWeekYear', '$last',\n\t\t'$last', '$let', '$literal', '$ln', '$log', '$log10', '$lt', '$lte', '$ltrim', '$map', '$max',\n\t\t'$mergeObjects', '$meta', '$min', '$millisecond', '$minute', '$mod', '$month', '$multiply', '$ne',\n\t\t'$not', '$objectToArray', '$or', '$pow', '$push', '$radiansToDegrees', '$range', '$reduce',\n\t\t'$regexFind', '$regexFindAll', '$regexMatch', '$replaceOne', '$replaceAll', '$reverseArray', '$round',\n\t\t'$rtrim', '$second', '$setDifference', '$setEquals', '$setIntersection', '$setIsSubset', '$setUnion',\n\t\t'$size', '$sin', '$slice', '$split', '$sqrt', '$stdDevPop', '$stdDevSamp', '$strcasecmp', '$strLenBytes',\n\t\t'$strLenCP', '$substr', '$substrBytes', '$substrCP', '$subtract', '$sum', '$switch', '$tan',\n\t\t'$toBool', '$toDate', '$toDecimal', '$toDouble', '$toInt', '$toLong', '$toObjectId', '$toString',\n\t\t'$toLower', '$toUpper', '$trim', '$trunc', '$type', '$week', '$year', '$zip', '$count', '$dateAdd',\n\t\t'$dateDiff', '$dateSubtract', '$dateTrunc', '$getField', '$rand', '$sampleRate', '$setField', '$unsetField',\n\n\t\t// aggregation pipeline query modifiers\n\t\t'$comment', '$explain', '$hint', '$max', '$maxTimeMS', '$min', '$orderby', '$query',\n\t\t'$returnKey', '$showDiskLoc', '$natural',\n\t];\n\n\tvar builtinFunctions = [\n\t\t'ObjectId',\n\t\t'Code',\n\t\t'BinData',\n\t\t'DBRef',\n\t\t'Timestamp',\n\t\t'NumberLong',\n\t\t'NumberDecimal',\n\t\t'MaxKey',\n\t\t'MinKey',\n\t\t'RegExp',\n\t\t'ISODate',\n\t\t'UUID',\n\t];\n\n\toperators = operators.map(function (operator) {\n\t\treturn operator.replace('$', '\\\\$');\n\t});\n\n\tvar operatorsSource = '(?:' + operators.join('|') + ')\\\\b';\n\n\tPrism.languages.mongodb = Prism.languages.extend('javascript', {});\n\n\tPrism.languages.insertBefore('mongodb', 'string', {\n\t\t'property': {\n\t\t\tpattern: /(?:([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)(?=\\s*:)/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'keyword': RegExp('^([\\'\"])?' + operatorsSource + '(?:\\\\1)?$')\n\t\t\t}\n\t\t}\n\t});\n\n\tPrism.languages.mongodb.string.inside = {\n\t\turl: {\n\t\t\t// url pattern\n\t\t\tpattern: /https?:\\/\\/[-\\w@:%.+~#=]{1,256}\\.[a-z0-9()]{1,6}\\b[-\\w()@:%+.~#?&/=]*/i,\n\t\t\tgreedy: true\n\t\t},\n\t\tentity: {\n\t\t\t// ipv4\n\t\t\tpattern: /\\b(?:(?:[01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.){3}(?:[01]?\\d\\d?|2[0-4]\\d|25[0-5])\\b/,\n\t\t\tgreedy: true\n\t\t}\n\t};\n\n\tPrism.languages.insertBefore('mongodb', 'constant', {\n\t\t'builtin': {\n\t\t\tpattern: RegExp('\\\\b(?:' + builtinFunctions.join('|') + ')\\\\b'),\n\t\t\talias: 'keyword'\n\t\t}\n\t});\n\n}(Prism));\n","Prism.languages.monkey = {\n\t'comment': {\n\t\tpattern: /^#Rem\\s[\\s\\S]*?^#End|'.+/im,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"[^\"\\r\\n]*\"/,\n\t\tgreedy: true,\n\t},\n\t'preprocessor': {\n\t\tpattern: /(^[ \\t]*)#.+/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t},\n\n\t'function': /\\b\\w+(?=\\()/,\n\t'type-char': {\n\t\tpattern: /\\b[?%#$]/,\n\t\talias: 'class-name'\n\t},\n\t'number': {\n\t\tpattern: /((?:\\.\\.)?)(?:(?:\\b|\\B-\\.?|\\B\\.)\\d+(?:(?!\\.\\.)\\.\\d*)?|\\$[\\da-f]+)/i,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:Abstract|Array|Bool|Case|Catch|Class|Const|Continue|Default|Eachin|Else|ElseIf|End|EndIf|Exit|Extends|Extern|False|Field|Final|Float|For|Forever|Function|Global|If|Implements|Import|Inline|Int|Interface|Local|Method|Module|New|Next|Null|Object|Private|Property|Public|Repeat|Return|Select|Self|Step|Strict|String|Super|Then|Throw|To|True|Try|Until|Void|Wend|While)\\b/i,\n\t'operator': /\\.\\.|<[=>]?|>=?|:?=|(?:[+\\-*\\/&~|]|\\b(?:Mod|Shl|Shr)\\b)=?|\\b(?:And|Not|Or)\\b/i,\n\t'punctuation': /[.,:;()\\[\\]]/\n};\n","Prism.languages.moonscript = {\n\t'comment': /--.*/,\n\t'string': [\n\t\t{\n\t\t\tpattern: /'[^']*'|\\[(=*)\\[[\\s\\S]*?\\]\\1\\]/,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /\"[^\"]*\"/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /#\\{[^{}]*\\}/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'moonscript': {\n\t\t\t\t\t\t\tpattern: /(^#\\{)[\\s\\S]+(?=\\})/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\tinside: null // see beow\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\t\tpattern: /#\\{|\\}/,\n\t\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t],\n\t'class-name': [\n\t\t{\n\t\t\tpattern: /(\\b(?:class|extends)[ \\t]+)\\w+/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t// class-like names start with a capital letter\n\t\t/\\b[A-Z]\\w*/\n\t],\n\t'keyword': /\\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\\b/,\n\t'variable': /@@?\\w*/,\n\t'property': {\n\t\tpattern: /\\b(?!\\d)\\w+(?=:)|(:)(?!\\d)\\w+/,\n\t\tlookbehind: true\n\t},\n\t'function': {\n\t\tpattern: /\\b(?:_G|_VERSION|assert|collectgarbage|coroutine\\.(?:create|resume|running|status|wrap|yield)|debug\\.(?:debug|getfenv|gethook|getinfo|getlocal|getmetatable|getregistry|getupvalue|setfenv|sethook|setlocal|setmetatable|setupvalue|traceback)|dofile|error|getfenv|getmetatable|io\\.(?:close|flush|input|lines|open|output|popen|read|stderr|stdin|stdout|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\\.(?:abs|acos|asin|atan|atan2|ceil|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pi|pow|rad|random|randomseed|sin|sinh|sqrt|tan|tanh)|module|next|os\\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\\.(?:byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\\.(?:concat|insert|maxn|remove|sort)|tonumber|tostring|type|unpack|xpcall)\\b/,\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'number': /(?:\\B\\.\\d+|\\b\\d+\\.\\d+|\\b\\d+(?=[eE]))(?:[eE][-+]?\\d+)?\\b|\\b(?:0x[a-fA-F\\d]+|\\d+)(?:U?LL)?\\b/,\n\t'operator': /\\.{3}|[-=]>|~=|(?:[-+*/%<>!=]|\\.\\.)=?|[:#^]|\\b(?:and|or)\\b=?|\\b(?:not)\\b/,\n\t'punctuation': /[.,()[\\]{}\\\\]/\n};\n\nPrism.languages.moonscript.string[1].inside.interpolation.inside.moonscript.inside = Prism.languages.moonscript;\n\nPrism.languages.moon = Prism.languages.moonscript;\n","// https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/index.html\n\nPrism.languages.n1ql = {\n\t'comment': {\n\t\tpattern: /\\/\\*[\\s\\S]*?(?:$|\\*\\/)|--.*/,\n\t\tgreedy: true,\n\t},\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\]|\\1\\1)*\\1/,\n\t\tgreedy: true,\n\t},\n\t'identifier': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|[^\\\\`]|``)*`/,\n\t\tgreedy: true,\n\t},\n\t'parameter': /\\$[\\w.]+/,\n\t// https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html#n1ql-reserved-words\n\t'keyword': /\\b(?:ADVISE|ALL|ALTER|ANALYZE|AS|ASC|AT|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|COMMITTED|CONNECT|CONTINUE|CORRELATE|CORRELATED|COVER|CREATE|CURRENT|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FILTER|FLATTEN|FLUSH|FOLLOWING|FOR|FORCE|FROM|FTS|FUNCTION|GOLANG|GRANT|GROUP|GROUPS|GSI|HASH|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|ISOLATION|JAVASCRIPT|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LANGUAGE|LAST|LEFT|LET|LETTING|LEVEL|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NL|NO|NTH_VALUE|NULL|NULLS|NUMBER|OBJECT|OFFSET|ON|OPTION|OPTIONS|ORDER|OTHERS|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PRECEDING|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROBE|PROCEDURE|PUBLIC|RANGE|RAW|REALM|REDUCE|RENAME|RESPECT|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|ROW|ROWS|SATISFIES|SAVEPOINT|SCHEMA|SCOPE|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TIES|TO|TRAN|TRANSACTION|TRIGGER|TRUNCATE|UNBOUNDED|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WINDOW|WITH|WORK|XOR)\\b/i,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'boolean': /\\b(?:FALSE|TRUE)\\b/i,\n\t'number': /(?:\\b\\d+\\.|\\B\\.)\\d+e[+\\-]?\\d+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n\t'operator': /[-+*\\/%]|!=|==?|\\|\\||<[>=]?|>=?|\\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\\b/i,\n\t'punctuation': /[;[\\](),.{}:]/\n};\n","Prism.languages['nand2tetris-hdl'] = {\n\t'comment': /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t'keyword': /\\b(?:BUILTIN|CHIP|CLOCKED|IN|OUT|PARTS)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b[A-Za-z][A-Za-z0-9]*(?=\\()/,\n\t'number': /\\b\\d+\\b/,\n\t'operator': /=|\\.\\./,\n\t'punctuation': /[{}[\\];(),:]/\n};\n","(function (Prism) {\n\n\tvar expressionDef = /\\{[^\\r\\n\\[\\]{}]*\\}/;\n\n\tvar params = {\n\t\t'quoted-string': {\n\t\t\tpattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n\t\t\talias: 'operator'\n\t\t},\n\t\t'command-param-id': {\n\t\t\tpattern: /(\\s)\\w+:/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'property'\n\t\t},\n\t\t'command-param-value': [\n\t\t\t{\n\t\t\t\tpattern: expressionDef,\n\t\t\t\talias: 'selector',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /([\\t ])\\S+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\talias: 'operator',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /\\S(?:.*\\S)?/,\n\t\t\t\talias: 'operator',\n\t\t\t}\n\t\t]\n\t};\n\n\tPrism.languages.naniscript = {\n\t\t// ; ...\n\t\t'comment': {\n\t\t\tpattern: /^([\\t ]*);.*/m,\n\t\t\tlookbehind: true,\n\t\t},\n\t\t// > ...\n\t\t// Define is a control line starting with '>' followed by a word, a space and a text.\n\t\t'define': {\n\t\t\tpattern: /^>.+/m,\n\t\t\talias: 'tag',\n\t\t\tinside: {\n\t\t\t\t'value': {\n\t\t\t\t\tpattern: /(^>\\w+[\\t ]+)(?!\\s)[^{}\\r\\n]+/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'operator'\n\t\t\t\t},\n\t\t\t\t'key': {\n\t\t\t\t\tpattern: /(^>)\\w+/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// # ...\n\t\t'label': {\n\t\t\tpattern: /^([\\t ]*)#[\\t ]*\\w+[\\t ]*$/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'regex'\n\t\t},\n\t\t'command': {\n\t\t\tpattern: /^([\\t ]*)@\\w+(?=[\\t ]|$).*/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function',\n\t\t\tinside: {\n\t\t\t\t'command-name': /^@\\w+/,\n\t\t\t\t'expression': {\n\t\t\t\t\tpattern: expressionDef,\n\t\t\t\t\tgreedy: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'command-params': {\n\t\t\t\t\tpattern: /\\s*\\S[\\s\\S]*/,\n\t\t\t\t\tinside: params\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t\t// Generic is any line that doesn't start with operators: ;>#@\n\t\t'generic-text': {\n\t\t\tpattern: /(^[ \\t]*)[^#@>;\\s].*/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation',\n\t\t\tinside: {\n\t\t\t\t// \\{ ... \\} ... \\[ ... \\] ... \\\"\n\t\t\t\t'escaped-char': /\\\\[{}\\[\\]\"]/,\n\t\t\t\t'expression': {\n\t\t\t\t\tpattern: expressionDef,\n\t\t\t\t\tgreedy: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'inline-command': {\n\t\t\t\t\tpattern: /\\[[\\t ]*\\w[^\\r\\n\\[\\]]*\\]/,\n\t\t\t\t\tgreedy: true,\n\t\t\t\t\talias: 'function',\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'command-params': {\n\t\t\t\t\t\t\tpattern: /(^\\[[\\t ]*\\w+\\b)[\\s\\S]+(?=\\]$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\tinside: params\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'command-param-name': {\n\t\t\t\t\t\t\tpattern: /^(\\[[\\t ]*)\\w+/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: 'name',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'start-stop-char': /[\\[\\]]/,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t};\n\tPrism.languages.nani = Prism.languages['naniscript'];\n\n\t/** @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token */\n\n\t/**\n\t * This hook is used to validate generic-text tokens for balanced brackets.\n\t * Mark token as bad-line when contains not balanced brackets: {},[]\n\t */\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\t/** @type {(Token | string)[]} */\n\t\tvar tokens = env.tokens;\n\t\ttokens.forEach(function (token) {\n\t\t\tif (typeof token !== 'string' && token.type === 'generic-text') {\n\t\t\t\tvar content = getTextContent(token);\n\t\t\t\tif (!isBracketsBalanced(content)) {\n\t\t\t\t\ttoken.type = 'bad-line';\n\t\t\t\t\ttoken.content = content;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\n\t/**\n\t * @param {string} input\n\t * @returns {boolean}\n\t */\n\tfunction isBracketsBalanced(input) {\n\t\tvar brackets = '[]{}';\n\t\tvar stack = [];\n\t\tfor (var i = 0; i < input.length; i++) {\n\t\t\tvar bracket = input[i];\n\t\t\tvar bracketsIndex = brackets.indexOf(bracket);\n\t\t\tif (bracketsIndex !== -1) {\n\t\t\t\tif (bracketsIndex % 2 === 0) {\n\t\t\t\t\tstack.push(bracketsIndex + 1);\n\t\t\t\t} else if (stack.pop() !== bracketsIndex) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn stack.length === 0;\n\t}\n\n\t/**\n\t * @param {string | Token | (string | Token)[]} token\n\t * @returns {string}\n\t */\n\tfunction getTextContent(token) {\n\t\tif (typeof token === 'string') {\n\t\t\treturn token;\n\t\t} else if (Array.isArray(token)) {\n\t\t\treturn token.map(getTextContent).join('');\n\t\t} else {\n\t\t\treturn getTextContent(token.content);\n\t\t}\n\t}\n\n}(Prism));\n","Prism.languages.nasm = {\n\t'comment': /;.*$/m,\n\t'string': /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t'label': {\n\t\tpattern: /(^\\s*)[A-Za-z._?$][\\w.?$@~#]*:/m,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'keyword': [\n\t\t/\\[?BITS (?:16|32|64)\\]?/,\n\t\t{\n\t\t\tpattern: /(^\\s*)section\\s*[a-z.]+:?/im,\n\t\t\tlookbehind: true\n\t\t},\n\t\t/(?:extern|global)[^;\\r\\n]*/i,\n\t\t/(?:CPU|DEFAULT|FLOAT).*$/m\n\t],\n\t'register': {\n\t\tpattern: /\\b(?:st\\d|[xyz]mm\\d\\d?|[cdt]r\\d|r\\d\\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s)\\b/i,\n\t\talias: 'variable'\n\t},\n\t'number': /(?:\\b|(?=\\$))(?:0[hx](?:\\.[\\da-f]+|[\\da-f]+(?:\\.[\\da-f]+)?)(?:p[+-]?\\d+)?|\\d[\\da-f]+[hx]|\\$\\d[\\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\\d+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:\\.?e[+-]?\\d+)?[dt]?)\\b/i,\n\t'operator': /[\\[\\]*+\\-\\/%<>=&|$!]/\n};\n","Prism.languages.neon = {\n\t'comment': {\n\t\tpattern: /#.*/,\n\t\tgreedy: true\n\t},\n\t'datetime': {\n\t\tpattern: /(^|[[{(=:,\\s])\\d\\d\\d\\d-\\d\\d?-\\d\\d?(?:(?:[Tt]| +)\\d\\d?:\\d\\d:\\d\\d(?:\\.\\d*)? *(?:Z|[-+]\\d\\d?(?::?\\d\\d)?)?)?(?=$|[\\]}),\\s])/,\n\t\tlookbehind: true,\n\t\talias: 'number'\n\t},\n\t'key': {\n\t\tpattern: /(^|[[{(,\\s])[^,:=[\\]{}()'\"\\s]+(?=\\s*:(?:$|[\\]}),\\s])|\\s*=)/,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n\t'number': {\n\t\tpattern: /(^|[[{(=:,\\s])[+-]?(?:0x[\\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\\d+(?:\\.\\d*)?|\\.?\\d+)(?:[eE][+-]?\\d+)?)(?=$|[\\]}),:=\\s])/,\n\t\tlookbehind: true\n\t},\n\t'boolean': {\n\t\tpattern: /(^|[[{(=:,\\s])(?:false|no|true|yes)(?=$|[\\]}),:=\\s])/i,\n\t\tlookbehind: true\n\t},\n\t'null': {\n\t\tpattern: /(^|[[{(=:,\\s])(?:null)(?=$|[\\]}),:=\\s])/i,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t},\n\t'string': {\n\t\tpattern: /(^|[[{(=:,\\s])(?:('''|\"\"\")\\r?\\n(?:(?:[^\\r\\n]|\\r?\\n(?![\\t ]*\\2))*\\r?\\n)?[\\t ]*\\2|'[^'\\r\\n]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'literal': {\n\t\tpattern: /(^|[[{(=:,\\s])(?:[^#\"',:=[\\]{}()\\s`-]|[:-][^\"',=[\\]{}()\\s])(?:[^,:=\\]})(\\s]|:(?![\\s,\\]})]|$)|[ \\t]+[^#,:=\\]})(\\s])*/,\n\t\tlookbehind: true,\n\t\talias: 'string',\n\t},\n\t'punctuation': /[,:=[\\]{}()-]/,\n};\n","Prism.languages.nevod = {\n\t'comment': /\\/\\/.*|(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$))/,\n\t'string': {\n\t\tpattern: /(?:\"(?:\"\"|[^\"])*\"(?!\")|'(?:''|[^'])*'(?!'))!?\\*?/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'string-attrs': /!$|!\\*$|\\*$/,\n\t\t},\n\t},\n\t'namespace': {\n\t\tpattern: /(@namespace\\s+)[a-zA-Z0-9\\-.]+(?=\\s*\\{)/,\n\t\tlookbehind: true,\n\t},\n\t'pattern': {\n\t\tpattern: /(@pattern\\s+)?#?[a-zA-Z0-9\\-.]+(?:\\s*\\(\\s*(?:~\\s*)?[a-zA-Z0-9\\-.]+\\s*(?:,\\s*(?:~\\s*)?[a-zA-Z0-9\\-.]*)*\\))?(?=\\s*=)/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'pattern-name': {\n\t\t\t\tpattern: /^#?[a-zA-Z0-9\\-.]+/,\n\t\t\t\talias: 'class-name',\n\t\t\t},\n\t\t\t'fields': {\n\t\t\t\tpattern: /\\(.*\\)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'field-name': {\n\t\t\t\t\t\tpattern: /[a-zA-Z0-9\\-.]+/,\n\t\t\t\t\t\talias: 'variable',\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /[,()]/,\n\t\t\t\t\t'operator': {\n\t\t\t\t\t\tpattern: /~/,\n\t\t\t\t\t\talias: 'field-hidden-mark',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t'search': {\n\t\tpattern: /(@search\\s+|#)[a-zA-Z0-9\\-.]+(?:\\.\\*)?(?=\\s*;)/,\n\t\talias: 'function',\n\t\tlookbehind: true,\n\t},\n\t'keyword': /@(?:having|inside|namespace|outside|pattern|require|search|where)\\b/,\n\t'standard-pattern': {\n\t\tpattern: /\\b(?:Alpha|AlphaNum|Any|Blank|End|LineBreak|Num|NumAlpha|Punct|Space|Start|Symbol|Word|WordBreak)\\b(?:\\([a-zA-Z0-9\\-.,\\s+]*\\))?/,\n\t\tinside: {\n\t\t\t'standard-pattern-name': {\n\t\t\t\tpattern: /^[a-zA-Z0-9\\-.]+/,\n\t\t\t\talias: 'builtin',\n\t\t\t},\n\t\t\t'quantifier': {\n\t\t\t\tpattern: /\\b\\d+(?:\\s*\\+|\\s*-\\s*\\d+)?(?!\\w)/,\n\t\t\t\talias: 'number',\n\t\t\t},\n\t\t\t'standard-pattern-attr': {\n\t\t\t\tpattern: /[a-zA-Z0-9\\-.]+/,\n\t\t\t\talias: 'builtin',\n\t\t\t},\n\t\t\t'punctuation': /[,()]/,\n\t\t},\n\t},\n\t'quantifier': {\n\t\tpattern: /\\b\\d+(?:\\s*\\+|\\s*-\\s*\\d+)?(?!\\w)/,\n\t\talias: 'number',\n\t},\n\t'operator': [\n\t\t{\n\t\t\tpattern: /=/,\n\t\t\talias: 'pattern-def',\n\t\t},\n\t\t{\n\t\t\tpattern: /&/,\n\t\t\talias: 'conjunction',\n\t\t},\n\t\t{\n\t\t\tpattern: /~/,\n\t\t\talias: 'exception',\n\t\t},\n\t\t{\n\t\t\tpattern: /\\?/,\n\t\t\talias: 'optionality',\n\t\t},\n\t\t{\n\t\t\tpattern: /[[\\]]/,\n\t\t\talias: 'repetition',\n\t\t},\n\t\t{\n\t\t\tpattern: /[{}]/,\n\t\t\talias: 'variation',\n\t\t},\n\t\t{\n\t\t\tpattern: /[+_]/,\n\t\t\talias: 'sequence',\n\t\t},\n\t\t{\n\t\t\tpattern: /\\.{2,3}/,\n\t\t\talias: 'span',\n\t\t},\n\t],\n\t'field-capture': [\n\t\t{\n\t\t\tpattern: /([a-zA-Z0-9\\-.]+\\s*\\()\\s*[a-zA-Z0-9\\-.]+\\s*:\\s*[a-zA-Z0-9\\-.]+(?:\\s*,\\s*[a-zA-Z0-9\\-.]+\\s*:\\s*[a-zA-Z0-9\\-.]+)*(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'field-name': {\n\t\t\t\t\tpattern: /[a-zA-Z0-9\\-.]+/,\n\t\t\t\t\talias: 'variable',\n\t\t\t\t},\n\t\t\t\t'colon': /:/,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tpattern: /[a-zA-Z0-9\\-.]+\\s*:/,\n\t\t\tinside: {\n\t\t\t\t'field-name': {\n\t\t\t\t\tpattern: /[a-zA-Z0-9\\-.]+/,\n\t\t\t\t\talias: 'variable',\n\t\t\t\t},\n\t\t\t\t'colon': /:/,\n\t\t\t},\n\t\t},\n\t],\n\t'punctuation': /[:;,()]/,\n\t'name': /[a-zA-Z0-9\\-.]+/\n};\n","(function (Prism) {\n\n\tvar variable = /\\$(?:\\w[a-z\\d]*(?:_[^\\x00-\\x1F\\s\"'\\\\()$]*)?|\\{[^}\\s\"'\\\\]+\\})/i;\n\n\tPrism.languages.nginx = {\n\t\t'comment': {\n\t\t\tpattern: /(^|[\\s{};])#.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t'directive': {\n\t\t\tpattern: /(^|\\s)\\w(?:[^;{}\"'\\\\\\s]|\\\\.|\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'|\\s+(?:#.*(?!.)|(?![#\\s])))*?(?=\\s*[;{])/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\\\\\)*)(?:\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*')/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tgreedy: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'escape': {\n\t\t\t\t\t\t\tpattern: /\\\\[\"'\\\\nrt]/,\n\t\t\t\t\t\t\talias: 'entity'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'variable': variable\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'comment': {\n\t\t\t\t\tpattern: /(\\s)#.*/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tgreedy: true\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /^\\S+/,\n\t\t\t\t\tgreedy: true\n\t\t\t\t},\n\n\t\t\t\t// other patterns\n\n\t\t\t\t'boolean': {\n\t\t\t\t\tpattern: /(\\s)(?:off|on)(?!\\S)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'number': {\n\t\t\t\t\tpattern: /(\\s)\\d+[a-z]*(?!\\S)/i,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'variable': variable\n\t\t\t}\n\t\t},\n\t\t'punctuation': /[{};]/\n\t};\n\n}(Prism));\n","Prism.languages.nim = {\n\t'comment': {\n\t\tpattern: /#.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\t// Double-quoted strings can be prefixed by an identifier (Generalized raw string literals)\n\t\tpattern: /(?:\\b(?!\\d)(?:\\w|\\\\x[89a-fA-F][0-9a-fA-F])+)?(?:\"\"\"[\\s\\S]*?\"\"\"(?!\")|\"(?:\\\\[\\s\\S]|\"\"|[^\"\\\\])*\")/,\n\t\tgreedy: true\n\t},\n\t'char': {\n\t\t// Character literals are handled specifically to prevent issues with numeric type suffixes\n\t\tpattern: /'(?:\\\\(?:\\d+|x[\\da-fA-F]{0,2}|.)|[^'])'/,\n\t\tgreedy: true\n\t},\n\n\t'function': {\n\t\tpattern: /(?:(?!\\d)(?:\\w|\\\\x[89a-fA-F][0-9a-fA-F])+|`[^`\\r\\n]+`)\\*?(?:\\[[^\\]]+\\])?(?=\\s*\\()/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'operator': /\\*$/\n\t\t}\n\t},\n\t// We don't want to highlight operators (and anything really) inside backticks\n\t'identifier': {\n\t\tpattern: /`[^`\\r\\n]+`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'punctuation': /`/\n\t\t}\n\t},\n\n\t// The negative look ahead prevents wrong highlighting of the .. operator\n\t'number': /\\b(?:0[xXoObB][\\da-fA-F_]+|\\d[\\d_]*(?:(?!\\.\\.)\\.[\\d_]*)?(?:[eE][+-]?\\d[\\d_]*)?)(?:'?[iuf]\\d*)?/,\n\t'keyword': /\\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\\b/,\n\t'operator': {\n\t\t// Look behind and look ahead prevent wrong highlighting of punctuations [. .] {. .} (. .)\n\t\t// but allow the slice operator .. to take precedence over them\n\t\t// One can define his own operators in Nim so all combination of operators might be an operator.\n\t\tpattern: /(^|[({\\[](?=\\.\\.)|(?![({\\[]\\.).)(?:(?:[=+\\-*\\/<>@$~&%|!?^:\\\\]|\\.\\.|\\.(?![)}\\]]))+|\\b(?:and|div|in|is|isnot|mod|not|notin|of|or|shl|shr|xor)\\b)/m,\n\t\tlookbehind: true\n\t},\n\t'punctuation': /[({\\[]\\.|\\.[)}\\]]|[`(){}\\[\\],:]/\n};\n","Prism.languages.nix = {\n\t'comment': {\n\t\tpattern: /\\/\\*[\\s\\S]*?\\*\\/|#.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|''(?:(?!'')[\\s\\S]|''(?:'|\\\\|\\$\\{))*''/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\t// The lookbehind ensures the ${} is not preceded by \\ or ''\n\t\t\t\tpattern: /(^|(?:^|(?!'').)[^\\\\])\\$\\{(?:[^{}]|\\{[^}]*\\})*\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: null // see below\n\t\t\t}\n\t\t}\n\t},\n\t'url': [\n\t\t/\\b(?:[a-z]{3,7}:\\/\\/)[\\w\\-+%~\\/.:#=?&]+/,\n\t\t{\n\t\t\tpattern: /([^\\/])(?:[\\w\\-+%~.:#=?&]*(?!\\/\\/)[\\w\\-+%~\\/.:#=?&])?(?!\\/\\/)\\/[\\w\\-+%~\\/.:#=?&]*/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'antiquotation': {\n\t\tpattern: /\\$(?=\\{)/,\n\t\talias: 'important'\n\t},\n\t'number': /\\b\\d+\\b/,\n\t'keyword': /\\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\\b/,\n\t'function': /\\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:Tarball|url)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\\b|\\bfoldl'\\B/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'operator': /[=!<>]=?|\\+\\+?|\\|\\||&&|\\/\\/|->?|[?@]/,\n\t'punctuation': /[{}()[\\].,:;]/\n};\n\nPrism.languages.nix.string.inside.interpolation.inside = Prism.languages.nix;\n","/**\n * Original by Jan T. Sott (http://github.com/idleberg)\n *\n * Includes all commands and plug-ins shipped with NSIS 3.08\n */\nPrism.languages.nsis = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|[#;].*)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'keyword': {\n\t\tpattern: /(^[\\t ]*)(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient|Image)|Banner|BrandingText|BringToFront|CRCCheck|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|Seek|Write|WriteByte|WriteUTF16LE|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DLLVersion(?:Local)?|DlgItem|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|KnownFolderPath|LabelAddress|TempFileName|WinVer)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|RtlLanguage|ShellVarContextAll|Silent)|InitPluginsDir|InstProgressFlags|Inst(?:Type(?:GetText|SetText)?)|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|NSISdl|Name|Nop|OutFile|PE(?:DllCharacteristics|SubsysVer)|Page(?:Callbacks)?|Pop|Push|Quit|RMDir|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Target|UnRegDLL|Unicode|UninstPage|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UserInfo|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|Var|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle|ns(?:Dialogs|Exec))\\b/m,\n\t\tlookbehind: true\n\t},\n\t'property': /\\b(?:ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY|admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user)\\b/,\n\t'constant': /\\$\\{[!\\w\\.:\\^-]+\\}|\\$\\([!\\w\\.:\\^-]+\\)/,\n\t'variable': /\\$\\w[\\w\\.]*/,\n\t'number': /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n\t'operator': /--?|\\+\\+?|<=?|>=?|==?=?|&&?|\\|\\|?|[?*\\/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/,\n\t'important': {\n\t\tpattern: /(^[\\t ]*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|if|ifdef|ifmacrodef|ifmacrondef|ifndef|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|verbose|warning)\\b/im,\n\t\tlookbehind: true\n\t}\n};\n","Prism.languages.objectivec = Prism.languages.extend('c', {\n\t'string': {\n\t\tpattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n\t'operator': /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\n\ndelete Prism.languages.objectivec['class-name'];\n\nPrism.languages.objc = Prism.languages.objectivec;\n","// https://ocaml.org/manual/lex.html\n\nPrism.languages.ocaml = {\n\t'comment': {\n\t\tpattern: /\\(\\*[\\s\\S]*?\\*\\)/,\n\t\tgreedy: true\n\t},\n\t'char': {\n\t\tpattern: /'(?:[^\\\\\\r\\n']|\\\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,\n\t\tgreedy: true\n\t},\n\t'string': [\n\t\t{\n\t\t\tpattern: /\"(?:\\\\(?:[\\s\\S]|\\r\\n)|[^\\\\\\r\\n\"])*\"/,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /\\{([a-z_]*)\\|[\\s\\S]*?\\|\\1\\}/,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'number': [\n\t\t// binary and octal\n\t\t/\\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\\b/i,\n\t\t// hexadecimal\n\t\t/\\b0x[a-f0-9][a-f0-9_]*(?:\\.[a-f0-9_]*)?(?:p[+-]?\\d[\\d_]*)?(?!\\w)/i,\n\t\t// decimal\n\t\t/\\b\\d[\\d_]*(?:\\.[\\d_]*)?(?:e[+-]?\\d[\\d_]*)?(?!\\w)/i,\n\t],\n\t'directive': {\n\t\tpattern: /\\B#\\w+/,\n\t\talias: 'property'\n\t},\n\t'label': {\n\t\tpattern: /\\B~\\w+/,\n\t\talias: 'property'\n\t},\n\t'type-variable': {\n\t\tpattern: /\\B'\\w+/,\n\t\talias: 'function'\n\t},\n\t'variant': {\n\t\tpattern: /`\\w+/,\n\t\talias: 'symbol'\n\t},\n\t// For the list of keywords and operators,\n\t// see: http://caml.inria.fr/pub/docs/manual-ocaml/lex.html#sec84\n\t'keyword': /\\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\n\t'operator-like-punctuation': {\n\t\tpattern: /\\[[<>|]|[>|]\\]|\\{<|>\\}/,\n\t\talias: 'punctuation'\n\t},\n\t// Custom operators are allowed\n\t'operator': /\\.[.~]|:[=>]|[=<>@^|&+\\-*\\/$%!?~][!$%&*+\\-.\\/:<=>?@^|~]*|\\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\\b/,\n\t'punctuation': /;;|::|[(){}\\[\\].,:;#]|\\b_\\b/\n};\n","(function (Prism) {\n\tvar escapes = /\\\\(?:[\"'\\\\abefnrtv]|0[0-7]{2}|U[\\dA-Fa-f]{6}|u[\\dA-Fa-f]{4}|x[\\dA-Fa-f]{2})/;\n\n\tPrism.languages.odin = {\n\t\t/**\n\t\t * The current implementation supports only 1 level of nesting.\n\t\t *\n\t\t * @author Michael Schmidt\n\t\t * @author edukisto\n\t\t */\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: /\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:\\*(?!\\/)|[^*])*(?:\\*\\/|$))*(?:\\*\\/|$)/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /#![^\\n\\r]*/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /\\/\\/[^\\n\\r]*/,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\n\t\t/**\n\t\t * Should be found before strings because of '\"'\"- and '`'`-like sequences.\n\t\t */\n\t\t'char': {\n\t\t\tpattern: /'(?:\\\\(?:.|[0Uux][0-9A-Fa-f]{1,6})|[^\\n\\r'\\\\])'/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'symbol': escapes\n\t\t\t}\n\t\t},\n\n\t\t'string': [\n\t\t\t{\n\t\t\t\tpattern: /`[^`]*`/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /\"(?:\\\\.|[^\\n\\r\"\\\\])*\"/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'symbol': escapes\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\n\t\t'directive': {\n\t\t\tpattern: /#\\w+/,\n\t\t\talias: 'property'\n\t\t},\n\n\t\t'number': /\\b0(?:b[01_]+|d[\\d_]+|h_*(?:(?:(?:[\\dA-Fa-f]_*){8}){1,2}|(?:[\\dA-Fa-f]_*){4})|o[0-7_]+|x[\\dA-F_a-f]+|z[\\dAB_ab]+)\\b|(?:\\b\\d+(?:\\.(?!\\.)\\d*)?|\\B\\.\\d+)(?:[Ee][+-]?\\d*)?[ijk]?(?!\\w)/,\n\n\t\t'discard': {\n\t\t\tpattern: /\\b_\\b/,\n\t\t\talias: 'keyword'\n\t\t},\n\n\t\t'procedure-definition': {\n\t\t\tpattern: /\\b\\w+(?=[ \\t]*(?::\\s*){2}proc\\b)/,\n\t\t\talias: 'function'\n\t\t},\n\n\t\t'keyword': /\\b(?:asm|auto_cast|bit_set|break|case|cast|context|continue|defer|distinct|do|dynamic|else|enum|fallthrough|for|foreign|if|import|in|map|matrix|not_in|or_else|or_return|package|proc|return|struct|switch|transmute|typeid|union|using|when|where)\\b/,\n\n\t\t/**\n\t\t * false, nil, true can be used as procedure names. \"_\" and keywords can't.\n\t\t */\n\t\t'procedure-name': {\n\t\t\tpattern: /\\b\\w+(?=[ \\t]*\\()/,\n\t\t\talias: 'function'\n\t\t},\n\n\t\t'boolean': /\\b(?:false|nil|true)\\b/,\n\n\t\t'constant-parameter-sign': {\n\t\t\tpattern: /\\$/,\n\t\t\talias: 'important'\n\t\t},\n\n\t\t'undefined': {\n\t\t\tpattern: /---/,\n\t\t\talias: 'operator'\n\t\t},\n\n\t\t'arrow': {\n\t\t\tpattern: /->/,\n\t\t\talias: 'punctuation'\n\t\t},\n\n\t\t'operator': /\\+\\+|--|\\.\\.[<=]?|(?:&~|[-!*+/=~]|[%&<>|]{1,2})=?|[?^]/,\n\n\t\t'punctuation': /[(),.:;@\\[\\]{}]/\n\t};\n}(Prism));\n","(function (Prism) {\n\t/* OpenCL kernel language */\n\tPrism.languages.opencl = Prism.languages.extend('c', {\n\t\t// Extracted from the official specs (2.0) and http://streamcomputing.eu/downloads/?opencl.lang (opencl-keywords, opencl-types) and http://sourceforge.net/tracker/?func=detail&aid=2957794&group_id=95717&atid=612384 (Words2, partly Words3)\n\t\t'keyword': /\\b(?:(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|__attribute__|auto|(?:bool|u?(?:char|int|long|short)|half|quad)(?:2|3|4|8|16)?|break|case|complex|const|continue|(?:double|float)(?:16(?:x(?:1|2|4|8|16))?|1x(?:1|2|4|8|16)|2(?:x(?:1|2|4|8|16))?|3|4(?:x(?:1|2|4|8|16))?|8(?:x(?:1|2|4|8|16))?)?|default|do|else|enum|extern|for|goto|if|imaginary|inline|packed|pipe|register|restrict|return|signed|sizeof|static|struct|switch|typedef|uniform|union|unsigned|void|volatile|while)\\b/,\n\t\t// Extracted from http://streamcomputing.eu/downloads/?opencl.lang (opencl-const)\n\t\t// Math Constants: https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/mathConstants.html\n\t\t// Macros and Limits: https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/macroLimits.html\n\t\t'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[fuhl]{0,4}/i,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'constant-opencl-kernel': {\n\t\t\tpattern: /\\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:GLOBAL|LOCAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[US]NORM)_(?:INT(?:8|16|32))|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|(?:MAX|MIN)(?:(?:_10)?_EXP)?|MANT_DIG)|FLT_RADIX|HUGE_VALF?|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|INFINITY|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:2|10)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN|(?:UCHAR|UINT|ULONG|USHRT)_MAX)\\b/,\n\t\t\talias: 'constant'\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('opencl', 'class-name', {\n\t\t// https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/scalarDataTypes.html\n\t\t// https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/otherDataTypes.html\n\t\t'builtin-type': {\n\t\t\tpattern: /\\b(?:_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|cl_(?:image_format|mem_fence_flags)|clk_event_t|event_t|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|intptr_t|ndrange_t|ptrdiff_t|queue_t|reserve_id_t|sampler_t|size_t|uintptr_t)\\b/,\n\t\t\talias: 'keyword'\n\t\t}\n\t});\n\n\tvar attributes = {\n\t\t// Extracted from http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-types and opencl-host)\n\t\t'type-opencl-host': {\n\t\t\tpattern: /\\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|int|long|short)|double|float)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?))\\b/,\n\t\t\talias: 'keyword'\n\t\t},\n\t\t'boolean-opencl-host': {\n\t\t\tpattern: /\\bCL_(?:FALSE|TRUE)\\b/,\n\t\t\talias: 'boolean'\n\t\t},\n\t\t// Extracted from cl.h (2.0) and http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-const)\n\t\t'constant-opencl-host': {\n\t\t\tpattern: /\\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:8|16|24|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\\b/,\n\t\t\talias: 'constant'\n\t\t},\n\t\t// Extracted from cl.h (2.0) and http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-host)\n\t\t'function-opencl-host': {\n\t\t\tpattern: /\\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\\b/,\n\t\t\talias: 'function'\n\t\t}\n\t};\n\n\t/* OpenCL host API */\n\tPrism.languages.insertBefore('c', 'keyword', attributes);\n\n\t// C++ includes everything from the OpenCL C host API plus the classes defined in cl2.h\n\tif (Prism.languages.cpp) {\n\t\t// Extracted from doxygen class list http://github.khronos.org/OpenCL-CLHPP/annotated.html\n\t\tattributes['type-opencl-host-cpp'] = {\n\t\t\tpattern: /\\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|Sampler|UserEvent)\\b/,\n\t\t\talias: 'keyword'\n\t\t};\n\n\t\tPrism.languages.insertBefore('cpp', 'keyword', attributes);\n\t}\n}(Prism));\n","// https://qiskit.github.io/openqasm/grammar/index.html\n\nPrism.languages.openqasm = {\n\t'comment': /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*/,\n\t'string': {\n\t\tpattern: /\"[^\"\\r\\n\\t]*\"|'[^'\\r\\n\\t]*'/,\n\t\tgreedy: true\n\t},\n\n\t'keyword': /\\b(?:CX|OPENQASM|U|barrier|boxas|boxto|break|const|continue|ctrl|def|defcal|defcalgrammar|delay|else|end|for|gate|gphase|if|in|include|inv|kernel|lengthof|let|measure|pow|reset|return|rotary|stretchinf|while)\\b|#pragma\\b/,\n\t'class-name': /\\b(?:angle|bit|bool|creg|fixed|float|int|length|qreg|qubit|stretch|uint)\\b/,\n\t'function': /\\b(?:cos|exp|ln|popcount|rotl|rotr|sin|sqrt|tan)\\b(?=\\s*\\()/,\n\n\t'constant': /\\b(?:euler|pi|tau)\\b|π|𝜏|ℇ/,\n\t'number': {\n\t\tpattern: /(^|[^.\\w$])(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?(?:dt|ns|us|µs|ms|s)?/i,\n\t\tlookbehind: true\n\t},\n\t'operator': /->|>>=?|<<=?|&&|\\|\\||\\+\\+|--|[!=<>&|~^+\\-*/%]=?|@/,\n\t'punctuation': /[(){}\\[\\];,:.]/\n};\n\nPrism.languages.qasm = Prism.languages.openqasm;\n","Prism.languages.oz = {\n\t'comment': {\n\t\tpattern: /\\/\\*[\\s\\S]*?\\*\\/|%.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"/,\n\t\tgreedy: true\n\t},\n\t'atom': {\n\t\tpattern: /'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n\t\tgreedy: true,\n\t\talias: 'builtin'\n\t},\n\t'keyword': /\\$|\\[\\]|\\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\\b/,\n\t'function': [\n\t\t/\\b[a-z][A-Za-z\\d]*(?=\\()/,\n\t\t{\n\t\t\tpattern: /(\\{)[A-Z][A-Za-z\\d]*\\b/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'number': /\\b(?:0[bx][\\da-f]+|\\d+(?:\\.\\d*)?(?:e~?\\d+)?)\\b|&(?:[^\\\\]|\\\\(?:\\d{3}|.))/i,\n\t'variable': /`(?:[^`\\\\]|\\\\.)+`/,\n\t'attr-name': /\\b\\w+(?=[ \\t]*:(?![:=]))/,\n\t'operator': /:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\\\=:?|!!?|[|#+\\-*\\/,~^@]|\\b(?:andthen|div|mod|orelse)\\b/,\n\t'punctuation': /[\\[\\](){}.:;?]/\n};\n","Prism.languages.parigp = {\n\t'comment': /\\/\\*[\\s\\S]*?\\*\\/|\\\\\\\\.*/,\n\t'string': {\n\t\tpattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,\n\t\tgreedy: true\n\t},\n\t// PARI/GP does not care about white spaces at all\n\t// so let's process the keywords to build an appropriate regexp\n\t// (e.g. \"b *r *e *a *k\", etc.)\n\t'keyword': (function () {\n\t\tvar keywords = [\n\t\t\t'breakpoint', 'break', 'dbg_down', 'dbg_err', 'dbg_up', 'dbg_x',\n\t\t\t'forcomposite', 'fordiv', 'forell', 'forpart', 'forprime',\n\t\t\t'forstep', 'forsubgroup', 'forvec', 'for', 'iferr', 'if',\n\t\t\t'local', 'my', 'next', 'return', 'until', 'while'\n\t\t];\n\t\tkeywords = keywords.map(function (keyword) {\n\t\t\treturn keyword.split('').join(' *');\n\t\t}).join('|');\n\t\treturn RegExp('\\\\b(?:' + keywords + ')\\\\b');\n\t}()),\n\t'function': /\\b\\w(?:[\\w ]*\\w)?(?= *\\()/,\n\t'number': {\n\t\t// The lookbehind and the negative lookahead prevent from breaking the .. operator\n\t\tpattern: /((?:\\. *\\. *)?)(?:\\b\\d(?: *\\d)*(?: *(?!\\. *\\.)\\.(?: *\\d)*)?|\\. *\\d(?: *\\d)*)(?: *e *(?:[+-] *)?\\d(?: *\\d)*)?/i,\n\t\tlookbehind: true\n\t},\n\t'operator': /\\. *\\.|[*\\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\\+(?: *[+=])?|-(?: *[-=>])?|<(?: *>|(?: *<)?(?: *=)?)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\\\(?: *\\/)?(?: *=)?|&(?: *&)?|\\| *\\||['#~^]/,\n\t'punctuation': /[\\[\\]{}().,:;|]/\n};\n","(function (Prism) {\n\n\tvar parser = Prism.languages.parser = Prism.languages.extend('markup', {\n\t\t'keyword': {\n\t\t\tpattern: /(^|[^^])(?:\\^(?:case|eval|for|if|switch|throw)\\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\\b)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'variable': {\n\t\t\tpattern: /(^|[^^])\\B\\$(?:\\w+|(?=[.{]))(?:(?:\\.|::?)\\w+)*(?:\\.|::?)?/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\.|:+/\n\t\t\t}\n\t\t},\n\t\t'function': {\n\t\t\tpattern: /(^|[^^])\\B[@^]\\w+(?:(?:\\.|::?)\\w+)*(?:\\.|::?)?/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^@)(?:GET_|SET_)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\.|:+/\n\t\t\t}\n\t\t},\n\t\t'escape': {\n\t\t\tpattern: /\\^(?:[$^;@()\\[\\]{}\"':]|#[a-f\\d]*)/i,\n\t\t\talias: 'builtin'\n\t\t},\n\t\t'punctuation': /[\\[\\](){};]/\n\t});\n\n\tparser = Prism.languages.insertBefore('parser', 'keyword', {\n\t\t'parser-comment': {\n\t\t\tpattern: /(\\s)#.*/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'comment'\n\t\t},\n\t\t'expression': {\n\t\t\t// Allow for 3 levels of depth\n\t\t\tpattern: /(^|[^^])\\((?:[^()]|\\((?:[^()]|\\((?:[^()])*\\))*\\))*\\)/,\n\t\t\tgreedy: true,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: /(^|[^^])([\"'])(?:(?!\\2)[^^]|\\^[\\s\\S])*\\2/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'keyword': parser.keyword,\n\t\t\t\t'variable': parser.variable,\n\t\t\t\t'function': parser.function,\n\t\t\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t\t\t'number': /\\b(?:0x[a-f\\d]+|\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?)\\b/i,\n\t\t\t\t'escape': parser.escape,\n\t\t\t\t'operator': /[~+*\\/\\\\%]|!(?:\\|\\|?|=)?|&&?|\\|\\|?|==|<[<=]?|>[>=]?|-[fd]?|\\b(?:def|eq|ge|gt|in|is|le|lt|ne)\\b/,\n\t\t\t\t'punctuation': parser.punctuation\n\t\t\t}\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('inside', 'punctuation', {\n\t\t'expression': parser.expression,\n\t\t'keyword': parser.keyword,\n\t\t'variable': parser.variable,\n\t\t'function': parser.function,\n\t\t'escape': parser.escape,\n\t\t'parser-punctuation': {\n\t\t\tpattern: parser.punctuation,\n\t\t\talias: 'punctuation'\n\t\t}\n\t}, parser['tag'].inside['attr-value']);\n\n}(Prism));\n","// Based on Free Pascal\n\n/* TODO\n\tSupport inline asm ?\n*/\n\nPrism.languages.pascal = {\n\t'directive': {\n\t\tpattern: /\\{\\$[\\s\\S]*?\\}/,\n\t\tgreedy: true,\n\t\talias: ['marco', 'property']\n\t},\n\t'comment': {\n\t\tpattern: /\\(\\*[\\s\\S]*?\\*\\)|\\{[\\s\\S]*?\\}|\\/\\/.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(?:'(?:''|[^'\\r\\n])*'(?!')|#[&$%]?[a-f\\d]+)+|\\^[a-z]/i,\n\t\tgreedy: true\n\t},\n\t'asm': {\n\t\tpattern: /(\\basm\\b)[\\s\\S]+?(?=\\bend\\s*[;[])/i,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: null // see below\n\t},\n\t'keyword': [\n\t\t{\n\t\t\t// Turbo Pascal\n\t\t\tpattern: /(^|[^&])\\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\\b/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\t// Free Pascal\n\t\t\tpattern: /(^|[^&])\\b(?:dispose|exit|false|new|true)\\b/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\t// Object Pascal\n\t\t\tpattern: /(^|[^&])\\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\\b/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\t// Modifiers\n\t\t\tpattern: /(^|[^&])\\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\\b/i,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'number': [\n\t\t// Hexadecimal, octal and binary\n\t\t/(?:[&%]\\d+|\\$[a-f\\d]+)/i,\n\t\t// Decimal\n\t\t/\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?/i\n\t],\n\t'operator': [\n\t\t/\\.\\.|\\*\\*|:=|<[<=>]?|>[>=]?|[+\\-*\\/]=?|[@^=]/,\n\t\t{\n\t\t\tpattern: /(^|[^&])\\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\\b/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'punctuation': /\\(\\.|\\.\\)|[()\\[\\]:;,.]/\n};\n\nPrism.languages.pascal.asm.inside = Prism.languages.extend('pascal', {\n\t'asm': undefined,\n\t'keyword': undefined,\n\t'operator': undefined\n});\n\nPrism.languages.objectpascal = Prism.languages.pascal;\n","(function (Prism) {\n\n\t// Pascaligo is a layer 2 smart contract language for the tezos blockchain\n\n\tvar braces = /\\((?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))*\\)/.source;\n\tvar type = /(?:\\b\\w+(?:<braces>)?|<braces>)/.source.replace(/<braces>/g, function () { return braces; });\n\n\tvar pascaligo = Prism.languages.pascaligo = {\n\t\t'comment': /\\(\\*[\\s\\S]+?\\*\\)|\\/\\/.*/,\n\t\t'string': {\n\t\t\tpattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|\\^[a-z]/i,\n\t\t\tgreedy: true\n\t\t},\n\t\t'class-name': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(\\btype\\s+\\w+\\s+is\\s+)<type>/.source.replace(/<type>/g, function () { return type; }), 'i'),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: RegExp(/<type>(?=\\s+is\\b)/.source.replace(/<type>/g, function () { return type; }), 'i'),\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(:\\s*)<type>/.source.replace(/<type>/g, function () { return type; })),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: null // see below\n\t\t\t}\n\t\t],\n\t\t'keyword': {\n\t\t\tpattern: /(^|[^&])\\b(?:begin|block|case|const|else|end|fail|for|from|function|if|is|nil|of|remove|return|skip|then|type|var|while|with)\\b/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'boolean': {\n\t\t\tpattern: /(^|[^&])\\b(?:False|True)\\b/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'builtin': {\n\t\t\tpattern: /(^|[^&])\\b(?:bool|int|list|map|nat|record|string|unit)\\b/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'function': /\\b\\w+(?=\\s*\\()/,\n\t\t'number': [\n\t\t\t// Hexadecimal, octal and binary\n\t\t\t/%[01]+|&[0-7]+|\\$[a-f\\d]+/i,\n\t\t\t// Decimal\n\t\t\t/\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?(?:mtz|n)?/i\n\t\t],\n\t\t'operator': /->|=\\/=|\\.\\.|\\*\\*|:=|<[<=>]?|>[>=]?|[+\\-*\\/]=?|[@^=|]|\\b(?:and|mod|or)\\b/,\n\t\t'punctuation': /\\(\\.|\\.\\)|[()\\[\\]:;,.{}]/\n\t};\n\n\tvar classNameInside = ['comment', 'keyword', 'builtin', 'operator', 'punctuation'].reduce(function (accum, key) {\n\t\taccum[key] = pascaligo[key];\n\t\treturn accum;\n\t}, {});\n\n\tpascaligo['class-name'].forEach(function (p) {\n\t\tp.inside = classNameInside;\n\t});\n\n}(Prism));\n","Prism.languages.psl = {\n\t'comment': {\n\t\tpattern: /#.*/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"(?:\\\\.|[^\\\\\"])*\"/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'symbol': /\\\\[ntrbA-Z\"\\\\]/\n\t\t}\n\t},\n\t'heredoc-string': {\n\t\tpattern: /<<<([a-zA-Z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\1\\b/,\n\t\talias: 'string',\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:__multi|__single|case|default|do|else|elsif|exit|export|for|foreach|function|if|last|line|local|next|requires|return|switch|until|while|word)\\b/,\n\t'constant': /\\b(?:ALARM|CHART_ADD_GRAPH|CHART_DELETE_GRAPH|CHART_DESTROY|CHART_LOAD|CHART_PRINT|EOF|OFFLINE|OK|PSL_PROF_LOG|R_CHECK_HORIZ|R_CHECK_VERT|R_CLICKER|R_COLUMN|R_FRAME|R_ICON|R_LABEL|R_LABEL_CENTER|R_LIST_MULTIPLE|R_LIST_MULTIPLE_ND|R_LIST_SINGLE|R_LIST_SINGLE_ND|R_MENU|R_POPUP|R_POPUP_SCROLLED|R_RADIO_HORIZ|R_RADIO_VERT|R_ROW|R_SCALE_HORIZ|R_SCALE_VERT|R_SEP_HORIZ|R_SEP_VERT|R_SPINNER|R_TEXT_FIELD|R_TEXT_FIELD_LABEL|R_TOGGLE|TRIM_LEADING|TRIM_LEADING_AND_TRAILING|TRIM_REDUNDANT|TRIM_TRAILING|VOID|WARN)\\b/,\n\t'boolean': /\\b(?:FALSE|False|NO|No|TRUE|True|YES|Yes|false|no|true|yes)\\b/,\n\t'variable': /\\b(?:PslDebug|errno|exit_status)\\b/,\n\t'builtin': {\n\t\tpattern: /\\b(?:PslExecute|PslFunctionCall|PslFunctionExists|PslSetOptions|_snmp_debug|acos|add_diary|annotate|annotate_get|ascii_to_ebcdic|asctime|asin|atan|atexit|batch_set|blackout|cat|ceil|chan_exists|change_state|close|code_cvt|cond_signal|cond_wait|console_type|convert_base|convert_date|convert_locale_date|cos|cosh|create|date|dcget_text|destroy|destroy_lock|dget_text|difference|dump_hist|ebcdic_to_ascii|encrypt|event_archive|event_catalog_get|event_check|event_query|event_range_manage|event_range_query|event_report|event_schedule|event_trigger|event_trigger2|execute|exists|exp|fabs|file|floor|fmod|fopen|fseek|ftell|full_discovery|get|get_chan_info|get_ranges|get_text|get_vars|getenv|gethostinfo|getpid|getpname|grep|history|history_get_retention|in_transition|index|int|internal|intersection|is_var|isnumber|join|kill|length|lines|lock|lock_info|log|log10|loge|matchline|msg_check|msg_get_format|msg_get_severity|msg_printf|msg_sprintf|ntharg|nthargf|nthline|nthlinef|num_bytes|num_consoles|pconfig|popen|poplines|pow|print|printf|proc_exists|process|random|read|readln|refresh_parameters|remote_check|remote_close|remote_event_query|remote_event_trigger|remote_file_send|remote_open|remove|replace|rindex|sec_check_priv|sec_store_get|sec_store_set|set|set_alarm_ranges|set_locale|share|sin|sinh|sleep|snmp_agent_config|snmp_agent_start|snmp_agent_stop|snmp_close|snmp_config|snmp_get|snmp_get_next|snmp_h_get|snmp_h_get_next|snmp_h_set|snmp_open|snmp_set|snmp_trap_ignore|snmp_trap_listen|snmp_trap_raise_std_trap|snmp_trap_receive|snmp_trap_register_im|snmp_trap_send|snmp_walk|sopen|sort|splitline|sprintf|sqrt|srandom|str_repeat|strcasecmp|subset|substr|system|tail|tan|tanh|text_domain|time|tmpnam|tolower|toupper|trace_psl_process|trim|union|unique|unlock|unset|va_arg|va_start|write)\\b/,\n\t\talias: 'builtin-function'\n\t},\n\t'foreach-variable': {\n\t\tpattern: /(\\bforeach\\s+(?:(?:\\w+\\b|\"(?:\\\\.|[^\\\\\"])*\")\\s+){0,2})[_a-zA-Z]\\w*(?=\\s*\\()/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'function': /\\b[_a-z]\\w*\\b(?=\\s*\\()/i,\n\t'number': /\\b(?:0x[0-9a-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n\t'operator': /--|\\+\\+|&&=?|\\|\\|=?|<<=?|>>=?|[=!]~|[-+*/%&|^!=<>]=?|\\.|[:?]/,\n\t'punctuation': /[(){}\\[\\];,]/\n};\n","Prism.languages.pcaxis = {\n\t'string': /\"[^\"]*\"/,\n\t'keyword': {\n\t\tpattern: /((?:^|;)\\s*)[-A-Z\\d]+(?:\\s*\\[[-\\w]+\\])?(?:\\s*\\(\"[^\"]*\"(?:,\\s*\"[^\"]*\")*\\))?(?=\\s*=)/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'keyword': /^[-A-Z\\d]+/,\n\t\t\t'language': {\n\t\t\t\tpattern: /^(\\s*)\\[[-\\w]+\\]/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^\\[|\\]$/,\n\t\t\t\t\t'property': /[-\\w]+/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'sub-key': {\n\t\t\t\tpattern: /^(\\s*)\\S[\\s\\S]*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'parameter': {\n\t\t\t\t\t\tpattern: /\"[^\"]*\"/,\n\t\t\t\t\t\talias: 'property'\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /^\\(|\\)$|,/\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t'operator': /=/,\n\t'tlist': {\n\t\tpattern: /TLIST\\s*\\(\\s*\\w+(?:(?:\\s*,\\s*\"[^\"]*\")+|\\s*,\\s*\"[^\"]*\"-\"[^\"]*\")?\\s*\\)/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'function': /^TLIST/,\n\t\t\t'property': {\n\t\t\t\tpattern: /^(\\s*\\(\\s*)\\w+/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'string': /\"[^\"]*\"/,\n\t\t\t'punctuation': /[(),]/,\n\t\t\t'operator': /-/\n\t\t}\n\t},\n\t'punctuation': /[;,]/,\n\t'number': {\n\t\tpattern: /(^|\\s)\\d+(?:\\.\\d+)?(?!\\S)/,\n\t\tlookbehind: true\n\t},\n\t'boolean': /NO|YES/,\n};\n\nPrism.languages.px = Prism.languages.pcaxis;\n","Prism.languages.peoplecode = {\n\t'comment': RegExp([\n\t\t// C-style multiline comments\n\t\t/\\/\\*[\\s\\S]*?\\*\\//.source,\n\t\t// REM comments\n\t\t/\\bREM[^;]*;/.source,\n\t\t// Nested <* *> comments\n\t\t/<\\*(?:[^<*]|\\*(?!>)|<(?!\\*)|<\\*(?:(?!\\*>)[\\s\\S])*\\*>)*\\*>/.source,\n\t\t// /+ +/ comments\n\t\t/\\/\\+[\\s\\S]*?\\+\\//.source,\n\t].join('|')),\n\t'string': {\n\t\tpattern: /'(?:''|[^'\\r\\n])*'(?!')|\"(?:\"\"|[^\"\\r\\n])*\"(?!\")/,\n\t\tgreedy: true\n\t},\n\t'variable': /%\\w+/,\n\t'function-definition': {\n\t\tpattern: /((?:^|[^\\w-])(?:function|method)\\s+)\\w+/i,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'class-name': {\n\t\tpattern: /((?:^|[^-\\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\\s+)\\w+(?::\\w+)*/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /:/\n\t\t}\n\t},\n\t'keyword': /\\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(?:class|evaluate|for|function|get|if|method|set|try|while)|evaluate|extends|for|function|get|global|if|implements|import|instance|library|local|method|null|of|out|peopleCode|private|program|property|protected|readonly|ref|repeat|returns?|set|step|then|throw|to|try|until|value|when(?:-other)?|while)\\b/i,\n\t'operator-keyword': {\n\t\tpattern: /\\b(?:and|not|or)\\b/i,\n\t\talias: 'operator'\n\t},\n\t'function': /[_a-z]\\w*(?=\\s*\\()/i,\n\n\t'boolean': /\\b(?:false|true)\\b/i,\n\t'number': /\\b\\d+(?:\\.\\d+)?\\b/,\n\t'operator': /<>|[<>]=?|!=|\\*\\*|[-+*/|=@]/,\n\t'punctuation': /[:.;,()[\\]]/\n};\n\nPrism.languages.pcode = Prism.languages.peoplecode;\n","(function (Prism) {\n\n\tvar brackets = /(?:\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}|\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)/.source;\n\n\tPrism.languages.perl = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\t// POD\n\t\t\t\tpattern: /(^\\s*)=\\w[\\s\\S]*?=cut.*/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\$])#.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t// TODO Could be nice to handle Heredoc too.\n\t\t'string': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(\n\t\t\t\t\t/\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*/.source +\n\t\t\t\t\t'(?:' +\n\t\t\t\t\t[\n\t\t\t\t\t\t// q/.../\n\t\t\t\t\t\t/([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,\n\n\t\t\t\t\t\t// q a...a\n\t\t\t\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\t\t\t\t/([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source,\n\n\t\t\t\t\t\t// q(...)\n\t\t\t\t\t\t// q{...}\n\t\t\t\t\t\t// q[...]\n\t\t\t\t\t\t// q<...>\n\t\t\t\t\t\tbrackets,\n\t\t\t\t\t].join('|') +\n\t\t\t\t\t')'\n\t\t\t\t),\n\t\t\t\tgreedy: true\n\t\t\t},\n\n\t\t\t// \"...\", `...`\n\t\t\t{\n\t\t\t\tpattern: /(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\n\t\t\t// '...'\n\t\t\t// FIXME Multi-line single-quoted strings are not supported as they would break variables containing '\n\t\t\t{\n\t\t\t\tpattern: /'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'regex': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(\n\t\t\t\t\t/\\b(?:m|qr)(?![a-zA-Z0-9])\\s*/.source +\n\t\t\t\t\t'(?:' +\n\t\t\t\t\t[\n\t\t\t\t\t\t// m/.../\n\t\t\t\t\t\t/([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,\n\n\t\t\t\t\t\t// m a...a\n\t\t\t\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\t\t\t\t/([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source,\n\n\t\t\t\t\t\t// m(...)\n\t\t\t\t\t\t// m{...}\n\t\t\t\t\t\t// m[...]\n\t\t\t\t\t\t// m<...>\n\t\t\t\t\t\tbrackets,\n\t\t\t\t\t].join('|') +\n\t\t\t\t\t')' +\n\t\t\t\t\t/[msixpodualngc]*/.source\n\t\t\t\t),\n\t\t\t\tgreedy: true\n\t\t\t},\n\n\t\t\t// The lookbehinds prevent -s from breaking\n\t\t\t{\n\t\t\t\tpattern: RegExp(\n\t\t\t\t\t/(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*/.source +\n\t\t\t\t\t'(?:' +\n\t\t\t\t\t[\n\t\t\t\t\t\t// s/.../.../\n\t\t\t\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\t\t\t\t/([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source,\n\n\t\t\t\t\t\t// s a...a...a\n\t\t\t\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\t\t\t\t/([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3/.source,\n\n\t\t\t\t\t\t// s(...)(...)\n\t\t\t\t\t\t// s{...}{...}\n\t\t\t\t\t\t// s[...][...]\n\t\t\t\t\t\t// s<...><...>\n\t\t\t\t\t\t// s(...)[...]\n\t\t\t\t\t\tbrackets + /\\s*/.source + brackets,\n\t\t\t\t\t].join('|') +\n\t\t\t\t\t')' +\n\t\t\t\t\t/[msixpodualngcer]*/.source\n\t\t\t\t),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\n\t\t\t// /.../\n\t\t\t// The look-ahead tries to prevent two divisions on\n\t\t\t// the same line from being highlighted as regex.\n\t\t\t// This does not support multi-line regex.\n\t\t\t{\n\t\t\t\tpattern: /\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\\b))/,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\n\t\t// FIXME Not sure about the handling of ::, ', and #\n\t\t'variable': [\n\t\t\t// ${^POSTMATCH}\n\t\t\t/[&*$@%]\\{\\^[A-Z]+\\}/,\n\t\t\t// $^V\n\t\t\t/[&*$@%]\\^[A-Z_]/,\n\t\t\t// ${...}\n\t\t\t/[&*$@%]#?(?=\\{)/,\n\t\t\t// $foo\n\t\t\t/[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+(?![\\w$]))+(?:::)*/,\n\t\t\t// $1\n\t\t\t/[&*$@%]\\d+/,\n\t\t\t// $_, @_, %!\n\t\t\t// The negative lookahead prevents from breaking the %= operator\n\t\t\t/(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/\n\t\t],\n\t\t'filehandle': {\n\t\t\t// <>, <FOO>, _\n\t\t\tpattern: /<(?![<=])\\S*?>|\\b_\\b/,\n\t\t\talias: 'symbol'\n\t\t},\n\t\t'v-string': {\n\t\t\t// v1.2, 1.2.3\n\t\t\tpattern: /v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,\n\t\t\talias: 'string'\n\t\t},\n\t\t'function': {\n\t\t\tpattern: /(\\bsub[ \\t]+)\\w+/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'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|return|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,\n\t\t'number': /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,\n\t\t'operator': /-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\\b/,\n\t\t'punctuation': /[{}[\\];(),:]/\n\t};\n\n}(Prism));\n","(function (Prism) {\n\n\tvar typeExpression = /(?:\\b[a-zA-Z]\\w*|[|\\\\[\\]])+/.source;\n\n\tPrism.languages.phpdoc = Prism.languages.extend('javadoclike', {\n\t\t'parameter': {\n\t\t\tpattern: RegExp('(@(?:global|param|property(?:-read|-write)?|var)\\\\s+(?:' + typeExpression + '\\\\s+)?)\\\\$\\\\w+'),\n\t\t\tlookbehind: true\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('phpdoc', 'keyword', {\n\t\t'class-name': [\n\t\t\t{\n\t\t\t\tpattern: RegExp('(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\\\s+)' + typeExpression),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'keyword': /\\b(?:array|bool|boolean|callback|double|false|float|int|integer|mixed|null|object|resource|self|string|true|void)\\b/,\n\t\t\t\t\t'punctuation': /[|\\\\[\\]()]/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t});\n\n\tPrism.languages.javadoclike.addSupport('php', Prism.languages.phpdoc);\n\n}(Prism));\n","(function (Prism) {\n\tvar variable = /\\$\\w+|%[a-z]+%/;\n\n\tvar arrowAttr = /\\[[^[\\]]*\\]/.source;\n\tvar arrowDirection = /(?:[drlu]|do|down|le|left|ri|right|up)/.source;\n\tvar arrowBody = '(?:-+' + arrowDirection + '-+|\\\\.+' + arrowDirection + '\\\\.+|-+(?:' + arrowAttr + '-*)?|' + arrowAttr + '-+|\\\\.+(?:' + arrowAttr + '\\\\.*)?|' + arrowAttr + '\\\\.+)';\n\tvar arrowLeft = /(?:<{1,2}|\\/{1,2}|\\\\{1,2}|<\\||[#*^+}xo])/.source;\n\tvar arrowRight = /(?:>{1,2}|\\/{1,2}|\\\\{1,2}|\\|>|[#*^+{xo])/.source;\n\tvar arrowPrefix = /[[?]?[ox]?/.source;\n\tvar arrowSuffix = /[ox]?[\\]?]?/.source;\n\tvar arrow =\n\t\tarrowPrefix +\n\t\t'(?:' +\n\t\tarrowBody + arrowRight +\n\t\t'|' +\n\t\tarrowLeft + arrowBody + '(?:' + arrowRight + ')?' +\n\t\t')' +\n\t\tarrowSuffix;\n\n\tPrism.languages['plant-uml'] = {\n\t\t'comment': {\n\t\t\tpattern: /(^[ \\t]*)(?:'.*|\\/'[\\s\\S]*?'\\/)/m,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t'preprocessor': {\n\t\t\tpattern: /(^[ \\t]*)!.*/m,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'property',\n\t\t\tinside: {\n\t\t\t\t'variable': variable\n\t\t\t}\n\t\t},\n\t\t'delimiter': {\n\t\t\tpattern: /(^[ \\t]*)@(?:end|start)uml\\b/m,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\n\t\t'arrow': {\n\t\t\tpattern: RegExp(/(^|[^-.<>?|\\\\[\\]ox])/.source + arrow + /(?![-.<>?|\\\\\\]ox])/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'operator',\n\t\t\tinside: {\n\t\t\t\t'expression': {\n\t\t\t\t\tpattern: /(\\[)[^[\\]]+(?=\\])/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\[(?=$|\\])|^\\]/\n\t\t\t}\n\t\t},\n\n\t\t'string': {\n\t\t\tpattern: /\"[^\"]*\"/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'text': {\n\t\t\tpattern: /(\\[[ \\t]*[\\r\\n]+(?![\\r\\n]))[^\\]]*(?=\\])/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'string'\n\t\t},\n\n\t\t'keyword': [\n\t\t\t{\n\t\t\t\tpattern: /^([ \\t]*)(?:abstract\\s+class|end\\s+(?:box|fork|group|merge|note|ref|split|title)|(?:fork|split)(?:\\s+again)?|activate|actor|agent|alt|annotation|artifact|autoactivate|autonumber|backward|binary|boundary|box|break|caption|card|case|circle|class|clock|cloud|collections|component|concise|control|create|critical|database|deactivate|destroy|detach|diamond|else|elseif|end|end[hr]note|endif|endswitch|endwhile|entity|enum|file|folder|footer|frame|group|[hr]?note|header|hexagon|hide|if|interface|label|legend|loop|map|namespace|network|newpage|node|nwdiag|object|opt|package|page|par|participant|person|queue|rectangle|ref|remove|repeat|restore|return|robust|scale|set|show|skinparam|stack|start|state|stop|storage|switch|title|together|usecase|usecase\\/|while)(?=\\s|$)/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t/\\b(?:elseif|equals|not|while)(?=\\s*\\()/,\n\t\t\t/\\b(?:as|is|then)\\b/\n\t\t],\n\n\t\t'divider': {\n\t\t\tpattern: /^==.+==$/m,\n\t\t\tgreedy: true,\n\t\t\talias: 'important'\n\t\t},\n\n\t\t'time': {\n\t\t\tpattern: /@(?:\\d+(?:[:/]\\d+){2}|[+-]?\\d+|:[a-z]\\w*(?:[+-]\\d+)?)\\b/i,\n\t\t\tgreedy: true,\n\t\t\talias: 'number'\n\t\t},\n\n\t\t'color': {\n\t\t\tpattern: /#(?:[a-z_]+|[a-fA-F0-9]+)\\b/,\n\t\t\talias: 'symbol'\n\t\t},\n\t\t'variable': variable,\n\n\t\t'punctuation': /[:,;()[\\]{}]|\\.{3}/\n\t};\n\n\tPrism.languages['plant-uml'].arrow.inside.expression.inside = Prism.languages['plant-uml'];\n\n\tPrism.languages['plantuml'] = Prism.languages['plant-uml'];\n\n}(Prism));\n","Prism.languages.plsql = Prism.languages.extend('sql', {\n\t'comment': {\n\t\tpattern: /\\/\\*[\\s\\S]*?\\*\\/|--.*/,\n\t\tgreedy: true\n\t},\n\t// https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/plsql-reserved-words-keywords.html\n\t'keyword': /\\b(?:A|ACCESSIBLE|ADD|AGENT|AGGREGATE|ALL|ALTER|AND|ANY|ARRAY|AS|ASC|AT|ATTRIBUTE|AUTHID|AVG|BEGIN|BETWEEN|BFILE_BASE|BINARY|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BULK|BY|BYTE|C|CALL|CALLING|CASCADE|CASE|CHAR|CHARACTER|CHARSET|CHARSETFORM|CHARSETID|CHAR_BASE|CHECK|CLOB_BASE|CLONE|CLOSE|CLUSTER|CLUSTERS|COLAUTH|COLLECT|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPILED|COMPRESS|CONNECT|CONSTANT|CONSTRUCTOR|CONTEXT|CONTINUE|CONVERT|COUNT|CRASH|CREATE|CREDENTIAL|CURRENT|CURSOR|CUSTOMDATUM|DANGLING|DATA|DATE|DATE_BASE|DAY|DECLARE|DEFAULT|DEFINE|DELETE|DESC|DETERMINISTIC|DIRECTORY|DISTINCT|DOUBLE|DROP|DURATION|ELEMENT|ELSE|ELSIF|EMPTY|END|ESCAPE|EXCEPT|EXCEPTION|EXCEPTIONS|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXTERNAL|FETCH|FINAL|FIRST|FIXED|FLOAT|FOR|FORALL|FORCE|FROM|FUNCTION|GENERAL|GOTO|GRANT|GROUP|HASH|HAVING|HEAP|HIDDEN|HOUR|IDENTIFIED|IF|IMMEDIATE|IMMUTABLE|IN|INCLUDING|INDEX|INDEXES|INDICATOR|INDICES|INFINITE|INSERT|INSTANTIABLE|INT|INTERFACE|INTERSECT|INTERVAL|INTO|INVALIDATE|IS|ISOLATION|JAVA|LANGUAGE|LARGE|LEADING|LENGTH|LEVEL|LIBRARY|LIKE|LIKE2|LIKE4|LIKEC|LIMIT|LIMITED|LOCAL|LOCK|LONG|LOOP|MAP|MAX|MAXLEN|MEMBER|MERGE|MIN|MINUS|MINUTE|MOD|MODE|MODIFY|MONTH|MULTISET|MUTABLE|NAME|NAN|NATIONAL|NATIVE|NCHAR|NEW|NOCOMPRESS|NOCOPY|NOT|NOWAIT|NULL|NUMBER_BASE|OBJECT|OCICOLL|OCIDATE|OCIDATETIME|OCIDURATION|OCIINTERVAL|OCILOBLOCATOR|OCINUMBER|OCIRAW|OCIREF|OCIREFCURSOR|OCIROWID|OCISTRING|OCITYPE|OF|OLD|ON|ONLY|OPAQUE|OPEN|OPERATOR|OPTION|OR|ORACLE|ORADATA|ORDER|ORGANIZATION|ORLANY|ORLVARY|OTHERS|OUT|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETER|PARAMETERS|PARENT|PARTITION|PASCAL|PERSISTABLE|PIPE|PIPELINED|PLUGGABLE|POLYMORPHIC|PRAGMA|PRECISION|PRIOR|PRIVATE|PROCEDURE|PUBLIC|RAISE|RANGE|RAW|READ|RECORD|REF|REFERENCE|RELIES_ON|REM|REMAINDER|RENAME|RESOURCE|RESULT|RESULT_CACHE|RETURN|RETURNING|REVERSE|REVOKE|ROLLBACK|ROW|SAMPLE|SAVE|SAVEPOINT|SB1|SB2|SB4|SECOND|SEGMENT|SELECT|SELF|SEPARATE|SEQUENCE|SERIALIZABLE|SET|SHARE|SHORT|SIZE|SIZE_T|SOME|SPARSE|SQL|SQLCODE|SQLDATA|SQLNAME|SQLSTATE|STANDARD|START|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUM|SYNONYM|TABAUTH|TABLE|TDO|THE|THEN|TIME|TIMESTAMP|TIMEZONE_ABBR|TIMEZONE_HOUR|TIMEZONE_MINUTE|TIMEZONE_REGION|TO|TRAILING|TRANSACTION|TRANSACTIONAL|TRUSTED|TYPE|UB1|UB2|UB4|UNDER|UNION|UNIQUE|UNPLUG|UNSIGNED|UNTRUSTED|UPDATE|USE|USING|VALIST|VALUE|VALUES|VARIABLE|VARIANCE|VARRAY|VARYING|VIEW|VIEWS|VOID|WHEN|WHERE|WHILE|WITH|WORK|WRAPPED|WRITE|YEAR|ZONE)\\b/i,\n\t// https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/plsql-language-fundamentals.html#GUID-96A42F7C-7A71-4B90-8255-CA9C8BD9722E\n\t'operator': /:=?|=>|[<>^~!]=|\\.\\.|\\|\\||\\*\\*|[-+*/%<>=@]/\n});\n\nPrism.languages.insertBefore('plsql', 'operator', {\n\t'label': {\n\t\tpattern: /<<\\s*\\w+\\s*>>/,\n\t\talias: 'symbol'\n\t},\n});\n","// https://docs.microsoft.com/en-us/powerquery-m/power-query-m-language-specification\n\nPrism.languages.powerquery = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'quoted-identifier': {\n\t\tpattern: /#\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(?:#!)?\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,\n\t\tgreedy: true\n\t},\n\t'constant': [\n\t\t/\\bDay\\.(?:Friday|Monday|Saturday|Sunday|Thursday|Tuesday|Wednesday)\\b/,\n\t\t/\\bTraceLevel\\.(?:Critical|Error|Information|Verbose|Warning)\\b/,\n\t\t/\\bOccurrence\\.(?:All|First|Last)\\b/,\n\t\t/\\bOrder\\.(?:Ascending|Descending)\\b/,\n\t\t/\\bRoundingMode\\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\\b/,\n\t\t/\\bMissingField\\.(?:Error|Ignore|UseNull)\\b/,\n\t\t/\\bQuoteStyle\\.(?:Csv|None)\\b/,\n\t\t/\\bJoinKind\\.(?:FullOuter|Inner|LeftAnti|LeftOuter|RightAnti|RightOuter)\\b/,\n\t\t/\\bGroupKind\\.(?:Global|Local)\\b/,\n\t\t/\\bExtraValues\\.(?:Error|Ignore|List)\\b/,\n\t\t/\\bJoinAlgorithm\\.(?:Dynamic|LeftHash|LeftIndex|PairwiseHash|RightHash|RightIndex|SortMerge)\\b/,\n\t\t/\\bJoinSide\\.(?:Left|Right)\\b/,\n\t\t/\\bPrecision\\.(?:Decimal|Double)\\b/,\n\t\t/\\bRelativePosition\\.From(?:End|Start)\\b/,\n\t\t/\\bTextEncoding\\.(?:Ascii|BigEndianUnicode|Unicode|Utf16|Utf8|Windows)\\b/,\n\t\t/\\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Function|Int16|Int32|Int64|Int8|List|Logical|None|Number|Record|Table|Text|Time)\\.Type\\b/,\n\t\t/\\bnull\\b/\n\t],\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'keyword': /\\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\\b/,\n\t'function': {\n\t\tpattern: /(^|[^#\\w.])[a-z_][\\w.]*(?=\\s*\\()/i,\n\t\tlookbehind: true\n\t},\n\t'data-type': {\n\t\tpattern: /\\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time)\\b/,\n\t\talias: 'class-name'\n\t},\n\t'number': {\n\t\tpattern: /\\b0x[\\da-f]+\\b|(?:[+-]?(?:\\b\\d+\\.)?\\b\\d+|[+-]\\.\\d+|(^|[^.])\\B\\.\\d+)(?:e[+-]?\\d+)?\\b/i,\n\t\tlookbehind: true\n\t},\n\t'operator': /[-+*\\/&?@^]|<(?:=>?|>)?|>=?|=>?|\\.\\.\\.?/,\n\t'punctuation': /[,;\\[\\](){}]/\n};\n\nPrism.languages.pq = Prism.languages['powerquery'];\nPrism.languages.mscript = Prism.languages['powerquery'];\n","(function (Prism) {\n\n\tvar powershell = Prism.languages.powershell = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: /(^|[^`])<#[\\s\\S]*?#>/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^`])#.*/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'string': [\n\t\t\t{\n\t\t\t\tpattern: /\"(?:`[\\s\\S]|[^`\"])*\"/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /'(?:[^']|'')*'/,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t// Matches name spaces as well as casts, attribute decorators. Force starting with letter to avoid matching array indices\n\t\t// Supports two levels of nested brackets (e.g. `[OutputType([System.Collections.Generic.List[int]])]`)\n\t\t'namespace': /\\[[a-z](?:\\[(?:\\[[^\\]]*\\]|[^\\[\\]])*\\]|[^\\[\\]])*\\]/i,\n\t\t'boolean': /\\$(?:false|true)\\b/i,\n\t\t'variable': /\\$\\w+\\b/,\n\t\t// Cmdlets and aliases. Aliases should come last, otherwise \"write\" gets preferred over \"write-host\" for example\n\t\t// Get-Command | ?{ $_.ModuleName -match \"Microsoft.PowerShell.(Util|Core|Management)\" }\n\t\t// Get-Alias | ?{ $_.ReferencedCommand.Module.Name -match \"Microsoft.PowerShell.(Util|Core|Management)\" }\n\t\t'function': [\n\t\t\t/\\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,\n\t\t\t/\\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\n\t\t],\n\t\t// per http://technet.microsoft.com/en-us/library/hh847744.aspx\n\t\t'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,\n\t\t'operator': {\n\t\t\tpattern: /(^|\\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\\b|-[-=]?|\\+[+=]?|[*\\/%]=?)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[|{}[\\];(),.]/\n\t};\n\n\t// Variable interpolation inside strings, and nested expressions\n\tpowershell.string[0].inside = {\n\t\t'function': {\n\t\t\t// Allow for one level of nesting\n\t\t\tpattern: /(^|[^`])\\$\\((?:\\$\\([^\\r\\n()]*\\)|(?!\\$\\()[^\\r\\n)])*\\)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: powershell\n\t\t},\n\t\t'boolean': powershell.boolean,\n\t\t'variable': powershell.variable,\n\t};\n\n}(Prism));\n","Prism.languages.processing = Prism.languages.extend('clike', {\n\t'keyword': /\\b(?:break|case|catch|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\\b/,\n\t// Spaces are allowed between function name and parenthesis\n\t'function': /\\b\\w+(?=\\s*\\()/,\n\t'operator': /<[<=]?|>[>=]?|&&?|\\|\\|?|[%?]|[!=+\\-*\\/]=?/\n});\n\nPrism.languages.insertBefore('processing', 'number', {\n\t// Special case: XML is a type\n\t'constant': /\\b(?!XML\\b)[A-Z][A-Z\\d_]+\\b/,\n\t'type': {\n\t\tpattern: /\\b(?:boolean|byte|char|color|double|float|int|[A-Z]\\w*)\\b/,\n\t\talias: 'class-name'\n\t}\n});\n","Prism.languages.prolog = {\n\t// Syntax depends on the implementation\n\t'comment': {\n\t\tpattern: /\\/\\*[\\s\\S]*?\\*\\/|%.*/,\n\t\tgreedy: true\n\t},\n\t// Depending on the implementation, strings may allow escaped newlines and quote-escape\n\t'string': {\n\t\tpattern: /([\"'])(?:\\1\\1|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1(?!\\1)/,\n\t\tgreedy: true\n\t},\n\t'builtin': /\\b(?:fx|fy|xf[xy]?|yfx?)\\b/,\n\t// FIXME: Should we list all null-ary predicates (not followed by a parenthesis) like halt, trace, etc.?\n\t'function': /\\b[a-z]\\w*(?:(?=\\()|\\/\\d+)/,\n\t'number': /\\b\\d+(?:\\.\\d*)?/,\n\t// Custom operators are allowed\n\t'operator': /[:\\\\=><\\-?*@\\/;+^|!$.]+|\\b(?:is|mod|not|xor)\\b/,\n\t'punctuation': /[(){}\\[\\],]/\n};\n","// Thanks to: https://github.com/prometheus-community/monaco-promql/blob/master/src/promql/promql.ts\n// As well as: https://kausal.co/blog/slate-prism-add-new-syntax-promql/\n\n(function (Prism) {\n\t// PromQL Aggregation Operators\n\t// (https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators)\n\tvar aggregations = [\n\t\t'sum',\n\t\t'min',\n\t\t'max',\n\t\t'avg',\n\t\t'group',\n\t\t'stddev',\n\t\t'stdvar',\n\t\t'count',\n\t\t'count_values',\n\t\t'bottomk',\n\t\t'topk',\n\t\t'quantile'\n\t];\n\n\t// PromQL vector matching + the by and without clauses\n\t// (https://prometheus.io/docs/prometheus/latest/querying/operators/#vector-matching)\n\tvar vectorMatching = [\n\t\t'on',\n\t\t'ignoring',\n\t\t'group_right',\n\t\t'group_left',\n\t\t'by',\n\t\t'without',\n\t];\n\n\t// PromQL offset modifier\n\t// (https://prometheus.io/docs/prometheus/latest/querying/basics/#offset-modifier)\n\tvar offsetModifier = ['offset'];\n\n\tvar keywords = aggregations.concat(vectorMatching, offsetModifier);\n\n\tPrism.languages.promql = {\n\t\t'comment': {\n\t\t\tpattern: /(^[ \\t]*)#.*/m,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'vector-match': {\n\t\t\t// Match the comma-separated label lists inside vector matching:\n\t\t\tpattern: new RegExp('((?:' + vectorMatching.join('|') + ')\\\\s*)\\\\([^)]*\\\\)'),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'label-key': {\n\t\t\t\t\tpattern: /\\b[^,]+\\b/,\n\t\t\t\t\talias: 'attr-name',\n\t\t\t\t},\n\t\t\t\t'punctuation': /[(),]/\n\t\t\t},\n\t\t},\n\t\t'context-labels': {\n\t\t\tpattern: /\\{[^{}]*\\}/,\n\t\t\tinside: {\n\t\t\t\t'label-key': {\n\t\t\t\t\tpattern: /\\b[a-z_]\\w*(?=\\s*(?:=|![=~]))/,\n\t\t\t\t\talias: 'attr-name',\n\t\t\t\t},\n\t\t\t\t'label-value': {\n\t\t\t\t\tpattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n\t\t\t\t\tgreedy: true,\n\t\t\t\t\talias: 'attr-value',\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\{|\\}|=~?|![=~]|,/,\n\t\t\t},\n\t\t},\n\t\t'context-range': [\n\t\t\t{\n\t\t\t\tpattern: /\\[[\\w\\s:]+\\]/, // [1m]\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\[|\\]|:/,\n\t\t\t\t\t'range-duration': {\n\t\t\t\t\t\tpattern: /\\b(?:\\d+(?:[smhdwy]|ms))+\\b/i,\n\t\t\t\t\t\talias: 'number',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\boffset\\s+)\\w+/, // offset 1m\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'range-duration': {\n\t\t\t\t\t\tpattern: /\\b(?:\\d+(?:[smhdwy]|ms))+\\b/i,\n\t\t\t\t\t\talias: 'number',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t'keyword': new RegExp('\\\\b(?:' + keywords.join('|') + ')\\\\b', 'i'),\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t\t'number': /[-+]?(?:(?:\\b\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[-+]?\\d+)?\\b|\\b(?:0x[0-9a-f]+|nan|inf)\\b)/i,\n\t\t'operator': /[\\^*/%+-]|==|!=|<=|<|>=|>|\\b(?:and|or|unless)\\b/i,\n\t\t'punctuation': /[{};()`,.[\\]]/,\n\t};\n}(Prism));\n","Prism.languages.properties = {\n\t'comment': /^[ \\t]*[#!].*$/m,\n\t'value': {\n\t\tpattern: /(^[ \\t]*(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\s:=])+(?: *[=:] *(?! )| ))(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])+/m,\n\t\tlookbehind: true,\n\t\talias: 'attr-value'\n\t},\n\t'key': {\n\t\tpattern: /^[ \\t]*(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\s:=])+(?= *[=:]| )/m,\n\t\talias: 'attr-name'\n\t},\n\t'punctuation': /[=:]/\n};\n","(function (Prism) {\n\n\tvar builtinTypes = /\\b(?:bool|bytes|double|s?fixed(?:32|64)|float|[su]?int(?:32|64)|string)\\b/;\n\n\tPrism.languages.protobuf = Prism.languages.extend('clike', {\n\t\t'class-name': [\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:enum|extend|message|service)\\s+)[A-Za-z_]\\w*(?=\\s*\\{)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:rpc\\s+\\w+|returns)\\s*\\(\\s*(?:stream\\s+)?)\\.?[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*(?=\\s*\\))/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'keyword': /\\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\\s+\\w)|service|stream|syntax|to)\\b(?!\\s*=\\s*\\d)/,\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i\n\t});\n\n\tPrism.languages.insertBefore('protobuf', 'operator', {\n\t\t'map': {\n\t\t\tpattern: /\\bmap<\\s*[\\w.]+\\s*,\\s*[\\w.]+\\s*>(?=\\s+[a-z_]\\w*\\s*[=;])/i,\n\t\t\talias: 'class-name',\n\t\t\tinside: {\n\t\t\t\t'punctuation': /[<>.,]/,\n\t\t\t\t'builtin': builtinTypes\n\t\t\t}\n\t\t},\n\t\t'builtin': builtinTypes,\n\t\t'positional-class-name': {\n\t\t\tpattern: /(?:\\b|\\B\\.)[a-z_]\\w*(?:\\.[a-z_]\\w*)*(?=\\s+[a-z_]\\w*\\s*[=;])/i,\n\t\t\talias: 'class-name',\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\./\n\t\t\t}\n\t\t},\n\t\t'annotation': {\n\t\t\tpattern: /(\\[\\s*)[a-z_]\\w*(?=\\s*=)/i,\n\t\t\tlookbehind: true\n\t\t}\n\t});\n\n}(Prism));\n","(function (Prism) {\n\tvar unit = {\n\t\tpattern: /(\\b\\d+)(?:%|[a-z]+)/,\n\t\tlookbehind: true\n\t};\n\t// 123 -123 .123 -.123 12.3 -12.3\n\tvar number = {\n\t\tpattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/,\n\t\tlookbehind: true\n\t};\n\n\tvar inside = {\n\t\t'comment': {\n\t\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'url': {\n\t\t\tpattern: /\\burl\\(([\"']?).*?\\1\\)/i,\n\t\t\tgreedy: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'interpolation': null, // See below\n\t\t'func': null, // See below\n\t\t'important': /\\B!(?:important|optional)\\b/i,\n\t\t'keyword': {\n\t\t\tpattern: /(^|\\s+)(?:(?:else|for|if|return|unless)(?=\\s|$)|@[\\w-]+)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'hexcode': /#[\\da-f]{3,6}/i,\n\t\t'color': [\n\t\t\t/\\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\\b/i,\n\t\t\t{\n\t\t\t\tpattern: /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i,\n\t\t\t\tinside: {\n\t\t\t\t\t'unit': unit,\n\t\t\t\t\t'number': number,\n\t\t\t\t\t'function': /[\\w-]+(?=\\()/,\n\t\t\t\t\t'punctuation': /[(),]/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'entity': /\\\\[\\da-f]{1,8}/i,\n\t\t'unit': unit,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'operator': [\n\t\t\t// We want non-word chars around \"-\" because it is\n\t\t\t// accepted in property names.\n\t\t\t/~|[+!\\/%<>?=]=?|[-:]=|\\*[*=]?|\\.{2,3}|&&|\\|\\||\\B-\\B|\\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\\b/\n\t\t],\n\t\t'number': number,\n\t\t'punctuation': /[{}()\\[\\];:,]/\n\t};\n\n\tinside['interpolation'] = {\n\t\tpattern: /\\{[^\\r\\n}:]+\\}/,\n\t\talias: 'variable',\n\t\tinside: {\n\t\t\t'delimiter': {\n\t\t\t\tpattern: /^\\{|\\}$/,\n\t\t\t\talias: 'punctuation'\n\t\t\t},\n\t\t\trest: inside\n\t\t}\n\t};\n\tinside['func'] = {\n\t\tpattern: /[\\w-]+\\([^)]*\\).*/,\n\t\tinside: {\n\t\t\t'function': /^[^(]+/,\n\t\t\trest: inside\n\t\t}\n\t};\n\n\tPrism.languages.stylus = {\n\t\t'atrule-declaration': {\n\t\t\tpattern: /(^[ \\t]*)@.+/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'atrule': /^@[\\w-]+/,\n\t\t\t\trest: inside\n\t\t\t}\n\t\t},\n\t\t'variable-declaration': {\n\t\t\tpattern: /(^[ \\t]*)[\\w$-]+\\s*.?=[ \\t]*(?:\\{[^{}]*\\}|\\S.*|$)/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'variable': /^\\S+/,\n\t\t\t\trest: inside\n\t\t\t}\n\t\t},\n\n\t\t'statement': {\n\t\t\tpattern: /(^[ \\t]*)(?:else|for|if|return|unless)[ \\t].+/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'keyword': /^\\S+/,\n\t\t\t\trest: inside\n\t\t\t}\n\t\t},\n\n\t\t// A property/value pair cannot end with a comma or a brace\n\t\t// It cannot have indented content unless it ended with a semicolon\n\t\t'property-declaration': {\n\t\t\tpattern: /((?:^|\\{)([ \\t]*))(?:[\\w-]|\\{[^}\\r\\n]+\\})+(?:\\s*:\\s*|[ \\t]+)(?!\\s)[^{\\r\\n]*(?:;|[^{\\r\\n,]$(?!(?:\\r?\\n|\\r)(?:\\{|\\2[ \\t])))/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'property': {\n\t\t\t\t\tpattern: /^[^\\s:]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'interpolation': inside.interpolation\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\trest: inside\n\t\t\t}\n\t\t},\n\n\n\t\t// A selector can contain parentheses only as part of a pseudo-element\n\t\t// It can span multiple lines.\n\t\t// It must end with a comma or an accolade or have indented content.\n\t\t'selector': {\n\t\t\tpattern: /(^[ \\t]*)(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\)|(?![\\w-]))|\\{[^}\\r\\n]+\\})+)(?:(?:\\r?\\n|\\r)(?:\\1(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\)|(?![\\w-]))|\\{[^}\\r\\n]+\\})+)))*(?:,$|\\{|(?=(?:\\r?\\n|\\r)(?:\\{|\\1[ \\t])))/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': inside.interpolation,\n\t\t\t\t'comment': inside.comment,\n\t\t\t\t'punctuation': /[{},]/\n\t\t\t}\n\t\t},\n\n\t\t'func': inside.func,\n\t\t'string': inside.string,\n\t\t'comment': {\n\t\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t'interpolation': inside.interpolation,\n\t\t'punctuation': /[{}()\\[\\];:.]/\n\t};\n}(Prism));\n","Prism.languages.twig = {\n\t'comment': /^\\{#[\\s\\S]*?#\\}$/,\n\n\t'tag-name': {\n\t\tpattern: /(^\\{%-?\\s*)\\w+/,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t},\n\t'delimiter': {\n\t\tpattern: /^\\{[{%]-?|-?[%}]\\}$/,\n\t\talias: 'punctuation'\n\t},\n\n\t'string': {\n\t\tpattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tinside: {\n\t\t\t'punctuation': /^['\"]|['\"]$/\n\t\t}\n\t},\n\t'keyword': /\\b(?:even|if|odd)\\b/,\n\t'boolean': /\\b(?:false|null|true)\\b/,\n\t'number': /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n\t'operator': [\n\t\t{\n\t\t\tpattern: /(\\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t/[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/\n\t],\n\t'punctuation': /[()\\[\\]{}:.,]/\n};\n\nPrism.hooks.add('before-tokenize', function (env) {\n\tif (env.language !== 'twig') {\n\t\treturn;\n\t}\n\n\tvar pattern = /\\{(?:#[\\s\\S]*?#|%[\\s\\S]*?%|\\{[\\s\\S]*?\\})\\}/g;\n\tPrism.languages['markup-templating'].buildPlaceholders(env, 'twig', pattern);\n});\n\nPrism.hooks.add('after-tokenize', function (env) {\n\tPrism.languages['markup-templating'].tokenizePlaceholders(env, 'twig');\n});\n","(function (Prism) {\n\t// TODO:\n\t// - Add CSS highlighting inside <style> tags\n\t// - Add support for multi-line code blocks\n\t// - Add support for interpolation #{} and !{}\n\t// - Add support for tag interpolation #[]\n\t// - Add explicit support for plain text using |\n\t// - Add support for markup embedded in plain text\n\n\tPrism.languages.pug = {\n\n\t\t// Multiline stuff should appear before the rest\n\n\t\t// This handles both single-line and multi-line comments\n\t\t'comment': {\n\t\t\tpattern: /(^([\\t ]*))\\/\\/.*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)*/m,\n\t\t\tlookbehind: true\n\t\t},\n\n\t\t// All the tag-related part is in lookbehind\n\t\t// so that it can be highlighted by the \"tag\" pattern\n\t\t'multiline-script': {\n\t\t\tpattern: /(^([\\t ]*)script\\b.*\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\n\t\t// See at the end of the file for known filters\n\t\t'filter': {\n\t\t\tpattern: /(^([\\t ]*)):.+(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'filter-name': {\n\t\t\t\t\tpattern: /^:[\\w-]+/,\n\t\t\t\t\talias: 'variable'\n\t\t\t\t},\n\t\t\t\t'text': /\\S[\\s\\S]*/,\n\t\t\t}\n\t\t},\n\n\t\t'multiline-plain-text': {\n\t\t\tpattern: /(^([\\t ]*)[\\w\\-#.]+\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'markup': {\n\t\t\tpattern: /(^[\\t ]*)<.+/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.markup\n\t\t},\n\t\t'doctype': {\n\t\t\tpattern: /((?:^|\\n)[\\t ]*)doctype(?: .+)?/,\n\t\t\tlookbehind: true\n\t\t},\n\n\t\t// This handle all conditional and loop keywords\n\t\t'flow-control': {\n\t\t\tpattern: /(^[\\t ]*)(?:case|default|each|else|if|unless|when|while)\\b(?: .+)?/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'each': {\n\t\t\t\t\tpattern: /^each .+? in\\b/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'keyword': /\\b(?:each|in)\\b/,\n\t\t\t\t\t\t'punctuation': /,/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'branch': {\n\t\t\t\t\tpattern: /^(?:case|default|else|if|unless|when|while)\\b/,\n\t\t\t\t\talias: 'keyword'\n\t\t\t\t},\n\t\t\t\trest: Prism.languages.javascript\n\t\t\t}\n\t\t},\n\t\t'keyword': {\n\t\t\tpattern: /(^[\\t ]*)(?:append|block|extends|include|prepend)\\b.+/m,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'mixin': [\n\t\t\t// Declaration\n\t\t\t{\n\t\t\t\tpattern: /(^[\\t ]*)mixin .+/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'keyword': /^mixin/,\n\t\t\t\t\t'function': /\\w+(?=\\s*\\(|\\s*$)/,\n\t\t\t\t\t'punctuation': /[(),.]/\n\t\t\t\t}\n\t\t\t},\n\t\t\t// Usage\n\t\t\t{\n\t\t\t\tpattern: /(^[\\t ]*)\\+.+/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'name': {\n\t\t\t\t\t\tpattern: /^\\+\\w+/,\n\t\t\t\t\t\talias: 'function'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'script': {\n\t\t\tpattern: /(^[\\t ]*script(?:(?:&[^(]+)?\\([^)]+\\))*[\\t ]).+/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\n\t\t'plain-text': {\n\t\t\tpattern: /(^[\\t ]*(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?[\\t ]).+/m,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'tag': {\n\t\t\tpattern: /(^[\\t ]*)(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?:?/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attributes': [\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: /&[^(]+\\([^)]+\\)/,\n\t\t\t\t\t\tinside: Prism.languages.javascript\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: /\\([^)]+\\)/,\n\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t'attr-value': {\n\t\t\t\t\t\t\t\tpattern: /(=\\s*(?!\\s))(?:\\{[^}]*\\}|[^,)\\r\\n]+)/,\n\t\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\t\tinside: Prism.languages.javascript\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'attr-name': /[\\w-]+(?=\\s*!?=|\\s*[,)])/,\n\t\t\t\t\t\t\t'punctuation': /[!=(),]+/\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t'punctuation': /:/,\n\t\t\t\t'attr-id': /#[\\w\\-]+/,\n\t\t\t\t'attr-class': /\\.[\\w\\-]+/\n\t\t\t}\n\t\t},\n\t\t'code': [\n\t\t\t{\n\t\t\t\tpattern: /(^[\\t ]*(?:-|!?=)).+/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: Prism.languages.javascript\n\t\t\t}\n\t\t],\n\t\t'punctuation': /[.\\-!=|]+/\n\t};\n\n\tvar filter_pattern = /(^([\\t ]*)):<filter_name>(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/.source;\n\n\t// Non exhaustive list of available filters and associated languages\n\tvar filters = [\n\t\t{ filter: 'atpl', language: 'twig' },\n\t\t{ filter: 'coffee', language: 'coffeescript' },\n\t\t'ejs',\n\t\t'handlebars',\n\t\t'less',\n\t\t'livescript',\n\t\t'markdown',\n\t\t{ filter: 'sass', language: 'scss' },\n\t\t'stylus'\n\t];\n\tvar all_filters = {};\n\tfor (var i = 0, l = filters.length; i < l; i++) {\n\t\tvar filter = filters[i];\n\t\tfilter = typeof filter === 'string' ? { filter: filter, language: filter } : filter;\n\t\tif (Prism.languages[filter.language]) {\n\t\t\tall_filters['filter-' + filter.filter] = {\n\t\t\t\tpattern: RegExp(filter_pattern.replace('<filter_name>', function () { return filter.filter; }), 'm'),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'filter-name': {\n\t\t\t\t\t\tpattern: /^:[\\w-]+/,\n\t\t\t\t\t\talias: 'variable'\n\t\t\t\t\t},\n\t\t\t\t\t'text': {\n\t\t\t\t\t\tpattern: /\\S[\\s\\S]*/,\n\t\t\t\t\t\talias: [filter.language, 'language-' + filter.language],\n\t\t\t\t\t\tinside: Prism.languages[filter.language]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}\n\n\tPrism.languages.insertBefore('pug', 'filter', all_filters);\n\n}(Prism));\n","(function (Prism) {\n\tPrism.languages.puppet = {\n\t\t'heredoc': [\n\t\t\t// Matches the content of a quoted heredoc string (subject to interpolation)\n\t\t\t{\n\t\t\t\tpattern: /(@\\(\"([^\"\\r\\n\\/):]+)\"(?:\\/[nrts$uL]*)?\\).*(?:\\r?\\n|\\r))(?:.*(?:\\r?\\n|\\r(?!\\n)))*?[ \\t]*(?:\\|[ \\t]*)?(?:-[ \\t]*)?\\2/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'string',\n\t\t\t\tinside: {\n\t\t\t\t\t// Matches the end tag\n\t\t\t\t\t'punctuation': /(?=\\S).*\\S(?= *$)/\n\t\t\t\t\t// See interpolation below\n\t\t\t\t}\n\t\t\t},\n\t\t\t// Matches the content of an unquoted heredoc string (no interpolation)\n\t\t\t{\n\t\t\t\tpattern: /(@\\(([^\"\\r\\n\\/):]+)(?:\\/[nrts$uL]*)?\\).*(?:\\r?\\n|\\r))(?:.*(?:\\r?\\n|\\r(?!\\n)))*?[ \\t]*(?:\\|[ \\t]*)?(?:-[ \\t]*)?\\2/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\talias: 'string',\n\t\t\t\tinside: {\n\t\t\t\t\t// Matches the end tag\n\t\t\t\t\t'punctuation': /(?=\\S).*\\S(?= *$)/\n\t\t\t\t}\n\t\t\t},\n\t\t\t// Matches the start tag of heredoc strings\n\t\t\t{\n\t\t\t\tpattern: /@\\(\"?(?:[^\"\\r\\n\\/):]+)\"?(?:\\/[nrts$uL]*)?\\)/,\n\t\t\t\talias: 'string',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': {\n\t\t\t\t\t\tpattern: /(\\().+?(?=\\))/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'multiline-comment': {\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'comment'\n\t\t},\n\t\t'regex': {\n\t\t\t// Must be prefixed with the keyword \"node\" or a non-word char\n\t\t\tpattern: /((?:\\bnode\\s+|[~=\\(\\[\\{,]\\s*|[=+]>\\s*|^\\s*))\\/(?:[^\\/\\\\]|\\\\[\\s\\S])+\\/(?:[imx]+\\b|\\B)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t// Extended regexes must have the x flag. They can contain single-line comments.\n\t\t\t\t'extended-regex': {\n\t\t\t\t\tpattern: /^\\/(?:[^\\/\\\\]|\\\\[\\s\\S])+\\/[im]*x[im]*$/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'comment': /#.*/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'comment': {\n\t\t\tpattern: /(^|[^\\\\])#.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t},\n\t\t'string': {\n\t\t\t// Allow for one nested level of double quotes inside interpolation\n\t\t\tpattern: /([\"'])(?:\\$\\{(?:[^'\"}]|([\"'])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2)+\\}|\\$(?!\\{)|(?!\\1)[^\\\\$]|\\\\[\\s\\S])*\\1/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'double-quoted': {\n\t\t\t\t\tpattern: /^\"[\\s\\S]*\"$/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t// See interpolation below\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'variable': {\n\t\t\tpattern: /\\$(?:::)?\\w+(?:::\\w+)*/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /::/\n\t\t\t}\n\t\t},\n\t\t'attr-name': /(?:\\b\\w+|\\*)(?=\\s*=>)/,\n\t\t'function': [\n\t\t\t{\n\t\t\t\tpattern: /(\\.)(?!\\d)\\w+/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t/\\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\\b|\\b(?!\\d)\\w+(?=\\()/\n\t\t],\n\t\t'number': /\\b(?:0x[a-f\\d]+|\\d+(?:\\.\\d+)?(?:e-?\\d+)?)\\b/i,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t// Includes words reserved for future use\n\t\t'keyword': /\\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\\b/,\n\t\t'datatype': {\n\t\t\tpattern: /\\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\\b/,\n\t\t\talias: 'symbol'\n\t\t},\n\t\t'operator': /=[=~>]?|![=~]?|<(?:<\\|?|[=~|-])?|>[>=]?|->?|~>|\\|>?>?|[*\\/%+?]|\\b(?:and|in|or)\\b/,\n\t\t'punctuation': /[\\[\\]{}().,;]|:+/\n\t};\n\n\tvar interpolation = [\n\t\t{\n\t\t\t// Allow for one nested level of braces inside interpolation\n\t\t\tpattern: /(^|[^\\\\])\\$\\{(?:[^'\"{}]|\\{[^}]*\\}|([\"'])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2)+\\}/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'short-variable': {\n\t\t\t\t\t// Negative look-ahead prevent wrong highlighting of functions\n\t\t\t\t\tpattern: /(^\\$\\{)(?!\\w+\\()(?:::)?\\w+(?:::\\w+)*/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'variable',\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /::/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'delimiter': {\n\t\t\t\t\tpattern: /^\\$/,\n\t\t\t\t\talias: 'variable'\n\t\t\t\t},\n\t\t\t\trest: Prism.languages.puppet\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\$(?:::)?\\w+(?:::\\w+)*/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'variable',\n\t\t\tinside: {\n\t\t\t\t'punctuation': /::/\n\t\t\t}\n\t\t}\n\t];\n\tPrism.languages.puppet['heredoc'][0].inside.interpolation = interpolation;\n\tPrism.languages.puppet['string'].inside['double-quoted'].inside.interpolation = interpolation;\n}(Prism));\n","/*\nOriginal Code by Bas Groothedde\n!!MANY THANKS!! I never would have made this, regex and me will never be best friends ;)\n==> https://codepen.io/ImagineProgramming/details/JYydBy/\nslightly changed to pass all tests\n*/\n\n\n// PureBasic support, steal stuff from ansi-c\nPrism.languages.purebasic = Prism.languages.extend('clike', {\n\t'comment': /;.*/,\n\t'keyword': /\\b(?:align|and|as|break|calldebugger|case|compilercase|compilerdefault|compilerelse|compilerelseif|compilerendif|compilerendselect|compilererror|compilerif|compilerselect|continue|data|datasection|debug|debuglevel|declare|declarec|declarecdll|declaredll|declaremodule|default|define|dim|disableasm|disabledebugger|disableexplicit|else|elseif|enableasm|enabledebugger|enableexplicit|end|enddatasection|enddeclaremodule|endenumeration|endif|endimport|endinterface|endmacro|endmodule|endprocedure|endselect|endstructure|endstructureunion|endwith|enumeration|extends|fakereturn|for|foreach|forever|global|gosub|goto|if|import|importc|includebinary|includefile|includepath|interface|macro|module|newlist|newmap|next|not|or|procedure|procedurec|procedurecdll|proceduredll|procedurereturn|protected|prototype|prototypec|read|redim|repeat|restore|return|runtime|select|shared|static|step|structure|structureunion|swap|threaded|to|until|wend|while|with|xincludefile|xor)\\b/i,\n\t'function': /\\b\\w+(?:\\.\\w+)?\\s*(?=\\()/,\n\t'number': /(?:\\$[\\da-f]+|\\b-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+-]?\\d+)?)\\b/i,\n\t'operator': /(?:@\\*?|\\?|\\*)\\w+\\$?|-[>-]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|?\\||[~^%?*/@]/\n});\n\nPrism.languages.insertBefore('purebasic', 'keyword', {\n\t'tag': /#\\w+\\$?/,\n\t'asm': {\n\t\tpattern: /(^[\\t ]*)!.*/m,\n\t\tlookbehind: true,\n\t\talias: 'tag',\n\t\tinside: {\n\t\t\t'comment': /;.*/,\n\t\t\t'string': {\n\t\t\t\tpattern: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t// Anonymous label references, i.e.: jmp @b\n\t\t\t'label-reference-anonymous': {\n\t\t\t\tpattern: /(!\\s*j[a-z]+\\s+)@[fb]/i,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'fasm-label'\n\t\t\t},\n\t\t\t// Named label reference, i.e.: jne label1\n\t\t\t'label-reference-addressed': {\n\t\t\t\tpattern: /(!\\s*j[a-z]+\\s+)[A-Z._?$@][\\w.?$@~#]*/i,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'fasm-label'\n\t\t\t},\n\t\t\t'keyword': [\n\t\t\t\t/\\b(?:extern|global)\\b[^;\\r\\n]*/i,\n\t\t\t\t/\\b(?:CPU|DEFAULT|FLOAT)\\b.*/\n\t\t\t],\n\t\t\t'function': {\n\t\t\t\tpattern: /^([\\t ]*!\\s*)[\\da-z]+(?=\\s|$)/im,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'function-inline': {\n\t\t\t\tpattern: /(:\\s*)[\\da-z]+(?=\\s)/i,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'function'\n\t\t\t},\n\t\t\t'label': {\n\t\t\t\tpattern: /^([\\t ]*!\\s*)[A-Za-z._?$@][\\w.?$@~#]*(?=:)/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'fasm-label'\n\t\t\t},\n\t\t\t'register': /\\b(?:st\\d|[xyz]mm\\d\\d?|[cdt]r\\d|r\\d\\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s|mm\\d+)\\b/i,\n\t\t\t'number': /(?:\\b|-|(?=\\$))(?:0[hx](?:[\\da-f]*\\.)?[\\da-f]+(?:p[+-]?\\d+)?|\\d[\\da-f]+[hx]|\\$\\d[\\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\\d+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:\\.?e[+-]?\\d+)?[dt]?)\\b/i,\n\t\t\t'operator': /[\\[\\]*+\\-/%<>=&|$!,.:]/\n\t\t}\n\t}\n});\n\ndelete Prism.languages.purebasic['class-name'];\ndelete Prism.languages.purebasic['boolean'];\n\nPrism.languages.pbfasm = Prism.languages['purebasic'];\n","Prism.languages.python = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])#.*/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-interpolation': {\n\t\tpattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\t// \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n\t\t\t\tpattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'format-spec': {\n\t\t\t\t\t\tpattern: /(:)[^:(){}]+(?=\\}$)/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'conversion-option': {\n\t\t\t\t\t\tpattern: /![sra](?=[:}]$)/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: null\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'triple-quoted-string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n\t\tgreedy: true\n\t},\n\t'function': {\n\t\tpattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n\t\tlookbehind: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\bclass\\s+)\\w+/i,\n\t\tlookbehind: true\n\t},\n\t'decorator': {\n\t\tpattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n\t\tlookbehind: true,\n\t\talias: ['annotation', 'punctuation'],\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'keyword': /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n\t'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/,\n\t'boolean': /\\b(?:False|None|True)\\b/,\n\t'number': /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n\t'operator': /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\nPrism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\n\nPrism.languages.py = Prism.languages.python;\n","(function (Prism) {\n\n\t/**\n\t * Replaces all placeholders \"<<n>>\" of given pattern with the n-th replacement (zero based).\n\t *\n\t * Note: This is a simple text based replacement. Be careful when using backreferences!\n\t *\n\t * @param {string} pattern the given pattern.\n\t * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.\n\t * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.\n\t * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source\n\t */\n\tfunction replace(pattern, replacements) {\n\t\treturn pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n\t\t\treturn '(?:' + replacements[+index] + ')';\n\t\t});\n\t}\n\t/**\n\t * @param {string} pattern\n\t * @param {string[]} replacements\n\t * @param {string} [flags]\n\t * @returns {RegExp}\n\t */\n\tfunction re(pattern, replacements, flags) {\n\t\treturn RegExp(replace(pattern, replacements), flags || '');\n\t}\n\n\t/**\n\t * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n\t *\n\t * @param {string} pattern\n\t * @param {number} depthLog2\n\t * @returns {string}\n\t */\n\tfunction nested(pattern, depthLog2) {\n\t\tfor (var i = 0; i < depthLog2; i++) {\n\t\t\tpattern = pattern.replace(/<<self>>/g, function () { return '(?:' + pattern + ')'; });\n\t\t}\n\t\treturn pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]');\n\t}\n\n\t// https://docs.microsoft.com/en-us/azure/quantum/user-guide/language/typesystem/\n\t// https://github.com/microsoft/qsharp-language/tree/main/Specifications/Language/5_Grammar\n\tvar keywordKinds = {\n\t\t// keywords which represent a return or variable type\n\t\ttype: 'Adj BigInt Bool Ctl Double false Int One Pauli PauliI PauliX PauliY PauliZ Qubit Range Result String true Unit Zero',\n\t\t// all other keywords\n\t\tother: 'Adjoint adjoint apply as auto body borrow borrowing Controlled controlled distribute elif else fail fixup for function if in internal intrinsic invert is let mutable namespace new newtype open operation repeat return self set until use using while within'\n\t};\n\t// keywords\n\tfunction keywordsToPattern(words) {\n\t\treturn '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b';\n\t}\n\tvar keywords = RegExp(keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.other));\n\n\t// types\n\tvar identifier = /\\b[A-Za-z_]\\w*\\b/.source;\n\tvar qualifiedName = replace(/<<0>>(?:\\s*\\.\\s*<<0>>)*/.source, [identifier]);\n\n\tvar typeInside = {\n\t\t'keyword': keywords,\n\t\t'punctuation': /[<>()?,.:[\\]]/\n\t};\n\n\t// strings\n\tvar regularString = /\"(?:\\\\.|[^\\\\\"])*\"/.source;\n\n\tPrism.languages.qsharp = Prism.languages.extend('clike', {\n\t\t'comment': /\\/\\/.*/,\n\t\t'string': [\n\t\t\t{\n\t\t\t\tpattern: re(/(^|[^$\\\\])<<0>>/.source, [regularString]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'class-name': [\n\t\t\t{\n\t\t\t\t// open Microsoft.Quantum.Canon;\n\t\t\t\t// open Microsoft.Quantum.Canon as CN;\n\t\t\t\tpattern: re(/(\\b(?:as|open)\\s+)<<0>>(?=\\s*(?:;|as\\b))/.source, [qualifiedName]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: typeInside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// namespace Quantum.App1;\n\t\t\t\tpattern: re(/(\\bnamespace\\s+)<<0>>(?=\\s*\\{)/.source, [qualifiedName]),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: typeInside\n\t\t\t},\n\t\t],\n\t\t'keyword': keywords,\n\t\t'number': /(?:\\b0(?:x[\\da-f]+|b[01]+|o[0-7]+)|(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d*)?)(?:e[-+]?\\d+)?)l?\\b/i,\n\t\t'operator': /\\band=|\\bor=|\\band\\b|\\bnot\\b|\\bor\\b|<[-=]|[-=]>|>>>=?|<<<=?|\\^\\^\\^=?|\\|\\|\\|=?|&&&=?|w\\/=?|~~~|[*\\/+\\-^=!%]=?/,\n\t\t'punctuation': /::|[{}[\\];(),.:]/\n\t});\n\n\tPrism.languages.insertBefore('qsharp', 'number', {\n\t\t'range': {\n\t\t\tpattern: /\\.\\./,\n\t\t\talias: 'operator'\n\t\t}\n\t});\n\n\t// single line\n\tvar interpolationExpr = nested(replace(/\\{(?:[^\"{}]|<<0>>|<<self>>)*\\}/.source, [regularString]), 2);\n\n\tPrism.languages.insertBefore('qsharp', 'string', {\n\t\t'interpolation-string': {\n\t\t\tpattern: re(/\\$\"(?:\\\\.|<<0>>|[^\\\\\"{])*\"/.source, [interpolationExpr]),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: re(/((?:^|[^\\\\])(?:\\\\\\\\)*)<<0>>/.source, [interpolationExpr]),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /^\\{|\\}$/,\n\t\t\t\t\t\t'expression': {\n\t\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\t\talias: 'language-qsharp',\n\t\t\t\t\t\t\tinside: Prism.languages.qsharp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t}\n\t});\n\n}(Prism));\n\nPrism.languages.qs = Prism.languages.qsharp;\n","Prism.languages.q = {\n\t'string': /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n\t'comment': [\n\t\t// From http://code.kx.com/wiki/Reference/Slash:\n\t\t// When / is following a space (or a right parenthesis, bracket, or brace), it is ignored with the rest of the line.\n\t\t{\n\n\t\t\tpattern: /([\\t )\\]}])\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t// From http://code.kx.com/wiki/Reference/Slash:\n\t\t// A line which has / as its first character and contains at least one other non-whitespace character is a whole-line comment and is ignored entirely.\n\t\t// A / on a line by itself begins a multiline comment which is terminated by the next \\ on a line by itself.\n\t\t// If a / is not matched by a \\, the multiline comment is unterminated and continues to end of file.\n\t\t// The / and \\ must be the first char on the line, but may be followed by any amount of whitespace.\n\t\t{\n\t\t\tpattern: /(^|\\r?\\n|\\r)\\/[\\t ]*(?:(?:\\r?\\n|\\r)(?:.*(?:\\r?\\n|\\r(?!\\n)))*?(?:\\\\(?=[\\t ]*(?:\\r?\\n|\\r))|$)|\\S.*)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t// From http://code.kx.com/wiki/Reference/Slash:\n\t\t// A \\ on a line by itself with no preceding matching / will comment to end of file.\n\t\t{\n\t\t\tpattern: /^\\\\[\\t ]*(?:\\r?\\n|\\r)[\\s\\S]+/m,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /^#!.+/m,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'symbol': /`(?::\\S+|[\\w.]*)/,\n\t'datetime': {\n\t\tpattern: /0N[mdzuvt]|0W[dtz]|\\d{4}\\.\\d\\d(?:m|\\.\\d\\d(?:T(?:\\d\\d(?::\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?)?)?)?[dz]?)|\\d\\d:\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?[uvt]?/,\n\t\talias: 'number'\n\t},\n\t// The negative look-ahead prevents bad highlighting\n\t// of verbs 0: and 1:\n\t'number': /\\b(?![01]:)(?:0N[hje]?|0W[hj]?|0[wn]|0x[\\da-fA-F]+|\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?[hjfeb]?)/,\n\t'keyword': /\\\\\\w+\\b|\\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\\b/,\n\t'adverb': {\n\t\tpattern: /['\\/\\\\]:?|\\beach\\b/,\n\t\talias: 'function'\n\t},\n\t'verb': {\n\t\tpattern: /(?:\\B\\.\\B|\\b[01]:|<[=>]?|>=?|[:+\\-*%,!?~=|$&#@^]):?|\\b_\\b:?/,\n\t\talias: 'operator'\n\t},\n\t'punctuation': /[(){}\\[\\];.]/\n};\n","(function (Prism) {\n\n\tvar jsString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|'(?:\\\\.|[^\\\\'\\r\\n])*'/.source;\n\tvar jsComment = /\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\//.source;\n\n\tvar jsExpr = /(?:[^\\\\()[\\]{}\"'/]|<string>|\\/(?![*/])|<comment>|\\(<expr>*\\)|\\[<expr>*\\]|\\{<expr>*\\}|\\\\[\\s\\S])/\n\t\t.source.replace(/<string>/g, function () { return jsString; }).replace(/<comment>/g, function () { return jsComment; });\n\n\t// the pattern will blow up, so only a few iterations\n\tfor (var i = 0; i < 2; i++) {\n\t\tjsExpr = jsExpr.replace(/<expr>/g, function () { return jsExpr; });\n\t}\n\tjsExpr = jsExpr.replace(/<expr>/g, '[^\\\\s\\\\S]');\n\n\n\tPrism.languages.qml = {\n\t\t'comment': {\n\t\t\tpattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n\t\t\tgreedy: true\n\t\t},\n\t\t'javascript-function': {\n\t\t\tpattern: RegExp(/((?:^|;)[ \\t]*)function\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*\\(<js>*\\)\\s*\\{<js>*\\}/.source.replace(/<js>/g, function () { return jsExpr; }), 'm'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'language-javascript',\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t'class-name': {\n\t\t\tpattern: /((?:^|[:;])[ \\t]*)(?!\\d)\\w+(?=[ \\t]*\\{|[ \\t]+on\\b)/m,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'property': [\n\t\t\t{\n\t\t\t\tpattern: /((?:^|[;{])[ \\t]*)(?!\\d)\\w+(?:\\.\\w+)*(?=[ \\t]*:)/m,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /((?:^|[;{])[ \\t]*)property[ \\t]+(?!\\d)\\w+(?:\\.\\w+)*[ \\t]+(?!\\d)\\w+(?:\\.\\w+)*(?=[ \\t]*:)/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'keyword': /^property/,\n\t\t\t\t\t'property': /\\w+(?:\\.\\w+)*/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'javascript-expression': {\n\t\t\tpattern: RegExp(/(:[ \\t]*)(?![\\s;}[])(?:(?!$|[;}])<js>)+/.source.replace(/<js>/g, function () { return jsExpr; }), 'm'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'language-javascript',\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'keyword': /\\b(?:as|import|on)\\b/,\n\t\t'punctuation': /[{}[\\]:;,]/\n\t};\n\n}(Prism));\n","Prism.languages.qore = Prism.languages.extend('clike', {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:\\/\\/|#).*)/,\n\t\tlookbehind: true\n\t},\n\t// Overridden to allow unescaped multi-line strings\n\t'string': {\n\t\tpattern: /(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:bool|date|float|int|list|number|string)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/i,\n\t'function': /\\$?\\b(?!\\d)\\w+(?=\\()/,\n\t'number': /\\b(?:0b[01]+|0x(?:[\\da-f]*\\.)?[\\da-fp\\-]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e\\d+)?[df]|(?:\\d+(?:\\.\\d+)?|\\.\\d+))\\b/i,\n\t'operator': {\n\t\tpattern: /(^|[^.])(?:\\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\\|[|=]?|[*\\/%^]=?|[~?])/,\n\t\tlookbehind: true\n\t},\n\t'variable': /\\$(?!\\d)\\w+\\b/\n});\n","Prism.languages.r = {\n\t'comment': /#.*/,\n\t'string': {\n\t\tpattern: /(['\"])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'percent-operator': {\n\t\t// Includes user-defined operators\n\t\t// and %%, %*%, %/%, %in%, %o%, %x%\n\t\tpattern: /%[^%\\s]*%/,\n\t\talias: 'operator'\n\t},\n\t'boolean': /\\b(?:FALSE|TRUE)\\b/,\n\t'ellipsis': /\\.\\.(?:\\.|\\d+)/,\n\t'number': [\n\t\t/\\b(?:Inf|NaN)\\b/,\n\t\t/(?:\\b0x[\\dA-Fa-f]+(?:\\.\\d*)?|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[EePp][+-]?\\d+)?[iL]?/\n\t],\n\t'keyword': /\\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\\b/,\n\t'operator': /->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\\|\\|?|[+*\\/^$@~]/,\n\t'punctuation': /[(){}\\[\\],;]/\n};\n","Prism.languages.racket = Prism.languages.extend('scheme', {\n\t'lambda-parameter': {\n\t\t// the racket lambda syntax is a lot more complex, so we won't even attempt to capture it.\n\t\t// this will just prevent false positives of the `function` pattern\n\t\tpattern: /([(\\[]lambda\\s+[(\\[])[^()\\[\\]'\\s]+/,\n\t\tlookbehind: true\n\t}\n});\n\nPrism.languages.insertBefore('racket', 'string', {\n\t'lang': {\n\t\tpattern: /^#lang.+/m,\n\t\tgreedy: true,\n\t\talias: 'keyword'\n\t}\n});\n\nPrism.languages.rkt = Prism.languages.racket;\n","// Docs:\n// https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio\n// https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0\n\n(function (Prism) {\n\n\tvar commentLike = /\\/(?![/*])|\\/\\/.*[\\r\\n]|\\/\\*[^*]*(?:\\*(?!\\/)[^*]*)*\\*\\//.source;\n\tvar stringLike =\n\t\t/@(?!\")|\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|@\"(?:[^\\\\\"]|\"\"|\\\\[\\s\\S])*\"(?!\")/.source +\n\t\t'|' +\n\t\t/'(?:(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'|(?=[^\\\\](?!')))/.source;\n\n\t/**\n\t * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n\t *\n\t * @param {string} pattern\n\t * @param {number} depthLog2\n\t * @returns {string}\n\t */\n\tfunction nested(pattern, depthLog2) {\n\t\tfor (var i = 0; i < depthLog2; i++) {\n\t\t\tpattern = pattern.replace(/<self>/g, function () { return '(?:' + pattern + ')'; });\n\t\t}\n\t\treturn pattern\n\t\t\t.replace(/<self>/g, '[^\\\\s\\\\S]')\n\t\t\t.replace(/<str>/g, '(?:' + stringLike + ')')\n\t\t\t.replace(/<comment>/g, '(?:' + commentLike + ')');\n\t}\n\n\tvar round = nested(/\\((?:[^()'\"@/]|<str>|<comment>|<self>)*\\)/.source, 2);\n\tvar square = nested(/\\[(?:[^\\[\\]'\"@/]|<str>|<comment>|<self>)*\\]/.source, 1);\n\tvar curly = nested(/\\{(?:[^{}'\"@/]|<str>|<comment>|<self>)*\\}/.source, 2);\n\tvar angle = nested(/<(?:[^<>'\"@/]|<comment>|<self>)*>/.source, 1);\n\n\tvar inlineCs = /@/.source +\n\t\t/(?:await\\b\\s*)?/.source +\n\t\t'(?:' + /(?!await\\b)\\w+\\b/.source + '|' + round + ')' +\n\t\t'(?:' + /[?!]?\\.\\w+\\b/.source + '|' + '(?:' + angle + ')?' + round + '|' + square + ')*' +\n\t\t/(?![?!\\.(\\[]|<(?!\\/))/.source;\n\n\t// Note about the above bracket patterns:\n\t// They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and\n\t// comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which\n\t// messes up the bracket and string counting implemented by the above patterns.\n\t//\n\t// This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect\n\t// and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the\n\t// complexity of an HTML expression.\n\t//\n\t// To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also\n\t// allows invalid characters to support HTML expressions like this: <p>That's it!</p>.\n\n\tvar tagAttrInlineCs = /@(?![\\w()])/.source + '|' + inlineCs;\n\tvar tagAttrValue = '(?:' +\n\t\t/\"[^\"@]*\"|'[^'@]*'|[^\\s'\"@>=]+(?=[\\s>])/.source +\n\t\t'|' +\n\t\t'[\"\\'][^\"\\'@]*(?:(?:' + tagAttrInlineCs + ')[^\"\\'@]*)+[\"\\']' +\n\t\t')';\n\n\tvar tagAttrs = /(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*<tagAttrValue>|(?=[\\s/>])))+)?/.source.replace(/<tagAttrValue>/, tagAttrValue);\n\tvar tagContent = /(?!\\d)[^\\s>\\/=$<%]+/.source + tagAttrs + /\\s*\\/?>/.source;\n\tvar tagRegion =\n\t\t/\\B@?/.source +\n\t\t'(?:' +\n\t\t/<([a-zA-Z][\\w:]*)/.source + tagAttrs + /\\s*>/.source +\n\t\t'(?:' +\n\t\t(\n\t\t\t/[^<]/.source +\n\t\t\t'|' +\n\t\t\t// all tags that are not the start tag\n\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\t/<\\/?(?!\\1\\b)/.source + tagContent +\n\t\t\t'|' +\n\t\t\t// nested start tag\n\t\t\tnested(\n\t\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\t\t/<\\1/.source + tagAttrs + /\\s*>/.source +\n\t\t\t\t'(?:' +\n\t\t\t\t(\n\t\t\t\t\t/[^<]/.source +\n\t\t\t\t\t'|' +\n\t\t\t\t\t// all tags that are not the start tag\n\t\t\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\t\t\t/<\\/?(?!\\1\\b)/.source + tagContent +\n\t\t\t\t\t'|' +\n\t\t\t\t\t'<self>'\n\t\t\t\t) +\n\t\t\t\t')*' +\n\t\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\t\t/<\\/\\1\\s*>/.source,\n\t\t\t\t2\n\t\t\t)\n\t\t) +\n\t\t')*' +\n\t\t// eslint-disable-next-line regexp/strict\n\t\t/<\\/\\1\\s*>/.source +\n\t\t'|' +\n\t\t/</.source + tagContent +\n\t\t')';\n\n\t// Now for the actual language definition(s):\n\t//\n\t// Razor as a language has 2 parts:\n\t// 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.\n\t// 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.\n\t//\n\t// In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each\n\t// other. However, only CSHTML will be exported via `Prism.languages`.\n\n\tPrism.languages.cshtml = Prism.languages.extend('markup', {});\n\n\tvar csharpWithHtml = Prism.languages.insertBefore('csharp', 'string', {\n\t\t'html': {\n\t\t\tpattern: RegExp(tagRegion),\n\t\t\tgreedy: true,\n\t\t\tinside: Prism.languages.cshtml\n\t\t},\n\t}, { csharp: Prism.languages.extend('csharp', {}) });\n\n\tvar cs = {\n\t\tpattern: /\\S[\\s\\S]*/,\n\t\talias: 'language-csharp',\n\t\tinside: csharpWithHtml\n\t};\n\n\tvar inlineValue = {\n\t\tpattern: RegExp(/(^|[^@])/.source + inlineCs),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'variable',\n\t\tinside: {\n\t\t\t'keyword': /^@/,\n\t\t\t'csharp': cs\n\t\t}\n\t};\n\n\tPrism.languages.cshtml.tag.pattern = RegExp(/<\\/?/.source + tagContent);\n\tPrism.languages.cshtml.tag.inside['attr-value'].pattern = RegExp(/=\\s*/.source + tagAttrValue);\n\tPrism.languages.insertBefore('inside', 'punctuation', { 'value': inlineValue }, Prism.languages.cshtml.tag.inside['attr-value']);\n\n\tPrism.languages.insertBefore('cshtml', 'prolog', {\n\t\t'razor-comment': {\n\t\t\tpattern: /@\\*[\\s\\S]*?\\*@/,\n\t\t\tgreedy: true,\n\t\t\talias: 'comment'\n\t\t},\n\n\t\t'block': {\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^@])@/.source +\n\t\t\t\t'(?:' +\n\t\t\t\t[\n\t\t\t\t\t// @{ ... }\n\t\t\t\t\tcurly,\n\t\t\t\t\t// @code{ ... }\n\t\t\t\t\t/(?:code|functions)\\s*/.source + curly,\n\t\t\t\t\t// @for (...) { ... }\n\t\t\t\t\t/(?:for|foreach|lock|switch|using|while)\\s*/.source + round + /\\s*/.source + curly,\n\t\t\t\t\t// @do { ... } while (...);\n\t\t\t\t\t/do\\s*/.source + curly + /\\s*while\\s*/.source + round + /(?:\\s*;)?/.source,\n\t\t\t\t\t// @try { ... } catch (...) { ... } finally { ... }\n\t\t\t\t\t/try\\s*/.source + curly + /\\s*catch\\s*/.source + round + /\\s*/.source + curly + /\\s*finally\\s*/.source + curly,\n\t\t\t\t\t// @if (...) {...} else if (...) {...} else {...}\n\t\t\t\t\t/if\\s*/.source + round + /\\s*/.source + curly + '(?:' + /\\s*else/.source + '(?:' + /\\s+if\\s*/.source + round + ')?' + /\\s*/.source + curly + ')*',\n\t\t\t\t\t// @helper Ident(params) { ... }\n\t\t\t\t\t/helper\\s+\\w+\\s*/.source + round + /\\s*/.source + curly,\n\t\t\t\t].join('|') +\n\t\t\t\t')'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'keyword': /^@\\w*/,\n\t\t\t\t'csharp': cs\n\t\t\t}\n\t\t},\n\n\t\t'directive': {\n\t\t\tpattern: /^([ \\t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\\s).*/m,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'keyword': /^@\\w+/,\n\t\t\t\t'csharp': cs\n\t\t\t}\n\t\t},\n\n\t\t'value': inlineValue,\n\n\t\t'delegate-operator': {\n\t\t\tpattern: /(^|[^@])@(?=<)/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'operator'\n\t\t}\n\t});\n\n\tPrism.languages.razor = Prism.languages.cshtml;\n\n}(Prism));\n","(function (Prism) {\n\n\tvar javascript = Prism.util.clone(Prism.languages.javascript);\n\n\tvar space = /(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source;\n\tvar braces = /(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source;\n\tvar spread = /(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source;\n\n\t/**\n\t * @param {string} source\n\t * @param {string} [flags]\n\t */\n\tfunction re(source, flags) {\n\t\tsource = source\n\t\t\t.replace(/<S>/g, function () { return space; })\n\t\t\t.replace(/<BRACES>/g, function () { return braces; })\n\t\t\t.replace(/<SPREAD>/g, function () { return spread; });\n\t\treturn RegExp(source, flags);\n\t}\n\n\tspread = re(spread).source;\n\n\n\tPrism.languages.jsx = Prism.languages.extend('markup', javascript);\n\tPrism.languages.jsx.tag.pattern = re(\n\t\t/<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/.source\n\t);\n\n\tPrism.languages.jsx.tag.inside['tag'].pattern = /^<\\/?[^\\s>\\/]*/;\n\tPrism.languages.jsx.tag.inside['attr-value'].pattern = /=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/;\n\tPrism.languages.jsx.tag.inside['tag'].inside['class-name'] = /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/;\n\tPrism.languages.jsx.tag.inside['comment'] = javascript['comment'];\n\n\tPrism.languages.insertBefore('inside', 'attr-name', {\n\t\t'spread': {\n\t\t\tpattern: re(/<SPREAD>/.source),\n\t\t\tinside: Prism.languages.jsx\n\t\t}\n\t}, Prism.languages.jsx.tag);\n\n\tPrism.languages.insertBefore('inside', 'special-attr', {\n\t\t'script': {\n\t\t\t// Allow for two levels of nesting\n\t\t\tpattern: re(/=<BRACES>/.source),\n\t\t\talias: 'language-javascript',\n\t\t\tinside: {\n\t\t\t\t'script-punctuation': {\n\t\t\t\t\tpattern: /^=(?=\\{)/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\trest: Prism.languages.jsx\n\t\t\t},\n\t\t}\n\t}, Prism.languages.jsx.tag);\n\n\t// The following will handle plain text inside tags\n\tvar stringifyToken = function (token) {\n\t\tif (!token) {\n\t\t\treturn '';\n\t\t}\n\t\tif (typeof token === 'string') {\n\t\t\treturn token;\n\t\t}\n\t\tif (typeof token.content === 'string') {\n\t\t\treturn token.content;\n\t\t}\n\t\treturn token.content.map(stringifyToken).join('');\n\t};\n\n\tvar walkTokens = function (tokens) {\n\t\tvar openedTags = [];\n\t\tfor (var i = 0; i < tokens.length; i++) {\n\t\t\tvar token = tokens[i];\n\t\t\tvar notTagNorBrace = false;\n\n\t\t\tif (typeof token !== 'string') {\n\t\t\t\tif (token.type === 'tag' && token.content[0] && token.content[0].type === 'tag') {\n\t\t\t\t\t// We found a tag, now find its kind\n\n\t\t\t\t\tif (token.content[0].content[0].content === '</') {\n\t\t\t\t\t\t// Closing tag\n\t\t\t\t\t\tif (openedTags.length > 0 && openedTags[openedTags.length - 1].tagName === stringifyToken(token.content[0].content[1])) {\n\t\t\t\t\t\t\t// Pop matching opening tag\n\t\t\t\t\t\t\topenedTags.pop();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (token.content[token.content.length - 1].content === '/>') {\n\t\t\t\t\t\t\t// Autoclosed tag, ignore\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Opening tag\n\t\t\t\t\t\t\topenedTags.push({\n\t\t\t\t\t\t\t\ttagName: stringifyToken(token.content[0].content[1]),\n\t\t\t\t\t\t\t\topenedBraces: 0\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (openedTags.length > 0 && token.type === 'punctuation' && token.content === '{') {\n\n\t\t\t\t\t// Here we might have entered a JSX context inside a tag\n\t\t\t\t\topenedTags[openedTags.length - 1].openedBraces++;\n\n\t\t\t\t} else if (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces > 0 && token.type === 'punctuation' && token.content === '}') {\n\n\t\t\t\t\t// Here we might have left a JSX context inside a tag\n\t\t\t\t\topenedTags[openedTags.length - 1].openedBraces--;\n\n\t\t\t\t} else {\n\t\t\t\t\tnotTagNorBrace = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (notTagNorBrace || typeof token === 'string') {\n\t\t\t\tif (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces === 0) {\n\t\t\t\t\t// Here we are inside a tag, and not inside a JSX context.\n\t\t\t\t\t// That's plain text: drop any tokens matched.\n\t\t\t\t\tvar plainText = stringifyToken(token);\n\n\t\t\t\t\t// And merge text with adjacent text\n\t\t\t\t\tif (i < tokens.length - 1 && (typeof tokens[i + 1] === 'string' || tokens[i + 1].type === 'plain-text')) {\n\t\t\t\t\t\tplainText += stringifyToken(tokens[i + 1]);\n\t\t\t\t\t\ttokens.splice(i + 1, 1);\n\t\t\t\t\t}\n\t\t\t\t\tif (i > 0 && (typeof tokens[i - 1] === 'string' || tokens[i - 1].type === 'plain-text')) {\n\t\t\t\t\t\tplainText = stringifyToken(tokens[i - 1]) + plainText;\n\t\t\t\t\t\ttokens.splice(i - 1, 1);\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\n\t\t\t\t\ttokens[i] = new Prism.Token('plain-text', plainText, null, plainText);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (token.content && typeof token.content !== 'string') {\n\t\t\t\twalkTokens(token.content);\n\t\t\t}\n\t\t}\n\t};\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tif (env.language !== 'jsx' && env.language !== 'tsx') {\n\t\t\treturn;\n\t\t}\n\t\twalkTokens(env.tokens);\n\t});\n\n}(Prism));\n","(function (Prism) {\n\tvar typescript = Prism.util.clone(Prism.languages.typescript);\n\tPrism.languages.tsx = Prism.languages.extend('jsx', typescript);\n\n\t// doesn't work with TS because TS is too complex\n\tdelete Prism.languages.tsx['parameter'];\n\tdelete Prism.languages.tsx['literal-property'];\n\n\t// This will prevent collisions between TSX tags and TS generic types.\n\t// Idea by https://github.com/karlhorky\n\t// Discussion: https://github.com/PrismJS/prism/issues/2594#issuecomment-710666928\n\tvar tag = Prism.languages.tsx.tag;\n\ttag.pattern = RegExp(/(^|[^\\w$]|(?=<\\/))/.source + '(?:' + tag.pattern.source + ')', tag.pattern.flags);\n\ttag.lookbehind = true;\n}(Prism));\n","Prism.languages.reason = Prism.languages.extend('clike', {\n\t'string': {\n\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n\t\tgreedy: true\n\t},\n\t// 'class-name' must be matched *after* 'constructor' defined below\n\t'class-name': /\\b[A-Z]\\w*/,\n\t'keyword': /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/,\n\t'operator': /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/\n});\nPrism.languages.insertBefore('reason', 'class-name', {\n\t'char': {\n\t\tpattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/,\n\t\tgreedy: true\n\t},\n\t// Negative look-ahead prevents from matching things like String.capitalize\n\t'constructor': /\\b[A-Z]\\w*\\b(?!\\s*\\.)/,\n\t'label': {\n\t\tpattern: /\\b[a-z]\\w*(?=::)/,\n\t\talias: 'symbol'\n\t}\n});\n\n// We can't match functions property, so let's not even try.\ndelete Prism.languages.reason.function;\n","// https://www.openpolicyagent.org/docs/latest/policy-reference/\n\nPrism.languages.rego = {\n\t'comment': /#.*/,\n\t'property': {\n\t\tpattern: /(^|[^\\\\.])(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|`[^`]*`|\\b[a-z_]\\w*\\b)(?=\\s*:(?!=))/i,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|`[^`]*`/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\n\t'keyword': /\\b(?:as|default|else|import|not|null|package|set(?=\\s*\\()|some|with)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\n\t'function': {\n\t\tpattern: /\\b[a-z_]\\w*\\b(?:\\s*\\.\\s*\\b[a-z_]\\w*\\b)*(?=\\s*\\()/i,\n\t\tinside: {\n\t\t\t'namespace': /\\b\\w+\\b(?=\\s*\\.)/,\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\n\t'number': /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n\t'operator': /[-+*/%|&]|[<>:=]=?|!=|\\b_\\b/,\n\t'punctuation': /[,;.\\[\\]{}()]/\n};\n","Prism.languages.renpy = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])#.+/,\n\t\tlookbehind: true\n\t},\n\n\t'string': {\n\t\tpattern: /(\"\"\"|''')[\\s\\S]+?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\])*\\2|(?:^#?(?:(?:[0-9a-fA-F]){3}|[0-9a-fA-F]{6})$)/m,\n\t\tgreedy: true\n\t},\n\n\t'function': /\\b[a-z_]\\w*(?=\\()/i,\n\n\t'property': /\\b(?:Update|UpdateVersion|action|activate_sound|adv_nvl_transition|after_load_transition|align|alpha|alt|anchor|antialias|area|auto|background|bar_invert|bar_resizing|bar_vertical|black_color|bold|bottom_bar|bottom_gutter|bottom_margin|bottom_padding|box_reverse|box_wrap|can_update|caret|child|color|crop|default_afm_enable|default_afm_time|default_fullscreen|default_text_cps|developer|directory_name|drag_handle|drag_joined|drag_name|drag_raise|draggable|dragged|drop_shadow|drop_shadow_color|droppable|dropped|easein|easeout|edgescroll|end_game_transition|end_splash_transition|enter_replay_transition|enter_sound|enter_transition|enter_yesno_transition|executable_name|exit_replay_transition|exit_sound|exit_transition|exit_yesno_transition|fadein|fadeout|first_indent|first_spacing|fit_first|focus|focus_mask|font|foreground|game_main_transition|get_installed_packages|google_play_key|google_play_salt|ground|has_music|has_sound|has_voice|height|help|hinting|hover|hover_background|hover_color|hover_sound|hovered|hyperlink_functions|idle|idle_color|image_style|include_update|insensitive|insensitive_background|insensitive_color|inside|intra_transition|italic|justify|kerning|keyboard_focus|language|layer_clipping|layers|layout|left_bar|left_gutter|left_margin|left_padding|length|line_leading|line_overlap_split|line_spacing|linear|main_game_transition|main_menu_music|maximum|min_width|minimum|minwidth|modal|mouse|mousewheel|name|narrator_menu|newline_indent|nvl_adv_transition|offset|order_reverse|outlines|overlay_functions|pos|position|prefix|radius|range|rest_indent|right_bar|right_gutter|right_margin|right_padding|rotate|rotate_pad|ruby_style|sample_sound|save_directory|say_attribute_transition|screen_height|screen_width|scrollbars|selected_hover|selected_hover_color|selected_idle|selected_idle_color|selected_insensitive|show_side_image|show_two_window|side_spacing|side_xpos|side_ypos|size|size_group|slow_cps|slow_cps_multiplier|spacing|strikethrough|subpixel|text_align|text_style|text_xpos|text_y_fudge|text_ypos|thumb|thumb_offset|thumb_shadow|thumbnail_height|thumbnail_width|time|top_bar|top_gutter|top_margin|top_padding|translations|underline|unscrollable|update|value|version|version_name|version_tuple|vertical|width|window_hide_transition|window_icon|window_left_padding|window_show_transition|window_title|windows_icon|xadjustment|xalign|xanchor|xanchoraround|xaround|xcenter|xfill|xinitial|xmargin|xmaximum|xminimum|xoffset|xofsset|xpadding|xpos|xsize|xzoom|yadjustment|yalign|yanchor|yanchoraround|yaround|ycenter|yfill|yinitial|ymargin|ymaximum|yminimum|yoffset|ypadding|ypos|ysize|ysizexysize|yzoom|zoom|zorder)\\b/,\n\n\t'tag': /\\b(?:bar|block|button|buttoscreenn|drag|draggroup|fixed|frame|grid|[hv]box|hotbar|hotspot|image|imagebutton|imagemap|input|key|label|menu|mm_menu_frame|mousearea|nvl|parallel|screen|self|side|tag|text|textbutton|timer|vbar|viewport|window)\\b|\\$/,\n\n\t'keyword': /\\b(?:None|add|adjustment|alignaround|allow|angle|animation|around|as|assert|behind|box_layout|break|build|cache|call|center|changed|child_size|choice|circles|class|clear|clicked|clipping|clockwise|config|contains|continue|corner1|corner2|counterclockwise|def|default|define|del|delay|disabled|disabled_text|dissolve|elif|else|event|except|exclude|exec|expression|fade|finally|for|from|function|global|gm_root|has|hide|id|if|import|in|init|is|jump|knot|lambda|left|less_rounded|mm_root|movie|music|null|on|onlayer|pass|pause|persistent|play|print|python|queue|raise|random|renpy|repeat|return|right|rounded_window|scene|scope|set|show|slow|slow_abortable|slow_done|sound|stop|store|style|style_group|substitute|suffix|theme|transform|transform_anchor|transpose|try|ui|unhovered|updater|use|voice|while|widget|widget_hover|widget_selected|widget_text|yield)\\b/,\n\n\t'boolean': /\\b(?:[Ff]alse|[Tt]rue)\\b/,\n\n\t'number': /(?:\\b(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*(?:\\.\\d*)?)|\\B\\.\\d+)(?:e[+-]?\\d+)?j?/i,\n\n\t'operator': /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:and|at|not|or|with)\\b/,\n\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\nPrism.languages.rpy = Prism.languages.renpy;\n","Prism.languages.rescript = {\n\t'comment': {\n\t\tpattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\tgreedy: true\n\t},\n\t'char': { pattern: /'(?:[^\\r\\n\\\\]|\\\\(?:.|\\w+))'/, greedy: true },\n\t'string': {\n\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n\t\tgreedy: true\n\t},\n\t'class-name': /\\b[A-Z]\\w*|@[a-z.]*|#[A-Za-z]\\w*|#\\d/,\n\t'function': {\n\t\tpattern: /[a-zA-Z]\\w*(?=\\()|(\\.)[a-z]\\w*/,\n\t\tlookbehind: true,\n\t},\n\t'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'attr-value': /[A-Za-z]\\w*(?==)/,\n\t'constant': {\n\t\tpattern: /(\\btype\\s+)[a-z]\\w*/,\n\t\tlookbehind: true\n\t},\n\t'tag': {\n\t\tpattern: /(<)[a-z]\\w*|(?:<\\/)[a-z]\\w*/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'operator': /<|>|\\//,\n\t\t},\n\t},\n\t'keyword': /\\b(?:and|as|assert|begin|bool|class|constraint|do|done|downto|else|end|exception|external|float|for|fun|function|if|in|include|inherit|initializer|int|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|string|switch|then|to|try|type|when|while|with)\\b/,\n\t'operator': /\\.{3}|:[:=]?|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/,\n\t'punctuation': /[(){}[\\],;.]/\n};\n\nPrism.languages.insertBefore('rescript', 'string', {\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'tag'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.rescript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n});\n\nPrism.languages.res = Prism.languages.rescript;\n","Prism.languages.rest = {\n\t'table': [\n\t\t{\n\t\t\tpattern: /(^[\\t ]*)(?:\\+[=-]+)+\\+(?:\\r?\\n|\\r)(?:\\1[+|].+[+|](?:\\r?\\n|\\r))+\\1(?:\\+[=-]+)+\\+/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\||(?:\\+[=-]+)+\\+/\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: /(^[\\t ]*)=+ [ =]*=(?:(?:\\r?\\n|\\r)\\1.+)+(?:\\r?\\n|\\r)\\1=+ [ =]*=(?=(?:\\r?\\n|\\r){2}|\\s*$)/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /[=-]+/\n\t\t\t}\n\t\t}\n\t],\n\n\t// Directive-like patterns\n\n\t'substitution-def': {\n\t\tpattern: /(^[\\t ]*\\.\\. )\\|(?:[^|\\s](?:[^|]*[^|\\s])?)\\| [^:]+::/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'substitution': {\n\t\t\t\tpattern: /^\\|(?:[^|\\s]|[^|\\s][^|]*[^|\\s])\\|/,\n\t\t\t\talias: 'attr-value',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^\\||\\|$/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'directive': {\n\t\t\t\tpattern: /( )(?! )[^:]+::/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'function',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /::$/\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t'link-target': [\n\t\t{\n\t\t\tpattern: /(^[\\t ]*\\.\\. )\\[[^\\]]+\\]/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'string',\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^\\[|\\]$/\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: /(^[\\t ]*\\.\\. )_(?:`[^`]+`|(?:[^:\\\\]|\\\\.)+):/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'string',\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^_|:$/\n\t\t\t}\n\t\t}\n\t],\n\t'directive': {\n\t\tpattern: /(^[\\t ]*\\.\\. )[^:]+::/m,\n\t\tlookbehind: true,\n\t\talias: 'function',\n\t\tinside: {\n\t\t\t'punctuation': /::$/\n\t\t}\n\t},\n\t'comment': {\n\t\t// The two alternatives try to prevent highlighting of blank comments\n\t\tpattern: /(^[\\t ]*\\.\\.)(?:(?: .+)?(?:(?:\\r?\\n|\\r).+)+| .+)(?=(?:\\r?\\n|\\r){2}|$)/m,\n\t\tlookbehind: true\n\t},\n\n\t'title': [\n\t\t// Overlined and underlined\n\t\t{\n\t\t\tpattern: /^(([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2+)(?:\\r?\\n|\\r).+(?:\\r?\\n|\\r)\\1$/m,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+|[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+$/,\n\t\t\t\t'important': /.+/\n\t\t\t}\n\t\t},\n\n\t\t// Underlined only\n\t\t{\n\t\t\tpattern: /(^|(?:\\r?\\n|\\r){2}).+(?:\\r?\\n|\\r)([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2+(?=\\r?\\n|\\r|$)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+$/,\n\t\t\t\t'important': /.+/\n\t\t\t}\n\t\t}\n\t],\n\t'hr': {\n\t\tpattern: /((?:\\r?\\n|\\r){2})([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2{3,}(?=(?:\\r?\\n|\\r){2})/,\n\t\tlookbehind: true,\n\t\talias: 'punctuation'\n\t},\n\t'field': {\n\t\tpattern: /(^[\\t ]*):[^:\\r\\n]+:(?= )/m,\n\t\tlookbehind: true,\n\t\talias: 'attr-name'\n\t},\n\t'command-line-option': {\n\t\tpattern: /(^[\\t ]*)(?:[+-][a-z\\d]|(?:--|\\/)[a-z\\d-]+)(?:[ =](?:[a-z][\\w-]*|<[^<>]+>))?(?:, (?:[+-][a-z\\d]|(?:--|\\/)[a-z\\d-]+)(?:[ =](?:[a-z][\\w-]*|<[^<>]+>))?)*(?=(?:\\r?\\n|\\r)? {2,}\\S)/im,\n\t\tlookbehind: true,\n\t\talias: 'symbol'\n\t},\n\t'literal-block': {\n\t\tpattern: /::(?:\\r?\\n|\\r){2}([ \\t]+)(?![ \\t]).+(?:(?:\\r?\\n|\\r)\\1.+)*/,\n\t\tinside: {\n\t\t\t'literal-block-punctuation': {\n\t\t\t\tpattern: /^::/,\n\t\t\t\talias: 'punctuation'\n\t\t\t}\n\t\t}\n\t},\n\t'quoted-literal-block': {\n\t\tpattern: /::(?:\\r?\\n|\\r){2}([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]).*(?:(?:\\r?\\n|\\r)\\1.*)*/,\n\t\tinside: {\n\t\t\t'literal-block-punctuation': {\n\t\t\t\tpattern: /^(?:::|([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\1*)/m,\n\t\t\t\talias: 'punctuation'\n\t\t\t}\n\t\t}\n\t},\n\t'list-bullet': {\n\t\tpattern: /(^[\\t ]*)(?:[*+\\-•‣⁃]|\\(?(?:\\d+|[a-z]|[ivxdclm]+)\\)|(?:\\d+|[a-z]|[ivxdclm]+)\\.)(?= )/im,\n\t\tlookbehind: true,\n\t\talias: 'punctuation'\n\t},\n\t'doctest-block': {\n\t\tpattern: /(^[\\t ]*)>>> .+(?:(?:\\r?\\n|\\r).+)*/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /^>>>/\n\t\t}\n\t},\n\n\t'inline': [\n\t\t{\n\t\t\tpattern: /(^|[\\s\\-:\\/'\"<(\\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\\*\\*?|``?|\\|)(?!\\s)(?:(?!\\2).)*\\S\\2(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$))/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'bold': {\n\t\t\t\t\tpattern: /(^\\*\\*).+(?=\\*\\*$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'italic': {\n\t\t\t\t\tpattern: /(^\\*).+(?=\\*$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'inline-literal': {\n\t\t\t\t\tpattern: /(^``).+(?=``$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'symbol'\n\t\t\t\t},\n\t\t\t\t'role': {\n\t\t\t\t\tpattern: /^:[^:]+:|:[^:]+:$/,\n\t\t\t\t\talias: 'function',\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /^:|:$/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'interpreted-text': {\n\t\t\t\t\tpattern: /(^`).+(?=`$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'attr-value'\n\t\t\t\t},\n\t\t\t\t'substitution': {\n\t\t\t\t\tpattern: /(^\\|).+(?=\\|$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'attr-value'\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\*\\*?|``?|\\|/\n\t\t\t}\n\t\t}\n\t],\n\n\t'link': [\n\t\t{\n\t\t\tpattern: /\\[[^\\[\\]]+\\]_(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$)/,\n\t\t\talias: 'string',\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^\\[|\\]_$/\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: /(?:\\b[a-z\\d]+(?:[_.:+][a-z\\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$)/i,\n\t\t\talias: 'string',\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^_?`|`$|`?_?_$/\n\t\t\t}\n\t\t}\n\t],\n\n\t// Line block start,\n\t// quote attribution,\n\t// explicit markup start,\n\t// and anonymous hyperlink target shortcut (__)\n\t'punctuation': {\n\t\tpattern: /(^[\\t ]*)(?:\\|(?= |$)|(?:---?|—|\\.\\.|__)(?= )|\\.\\.$)/m,\n\t\tlookbehind: true\n\t}\n};\n","Prism.languages.rip = {\n\t'comment': {\n\t\tpattern: /#.*/,\n\t\tgreedy: true\n\t},\n\n\t'char': {\n\t\tpattern: /\\B`[^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]\\b/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\n\t'regex': {\n\t\tpattern: /(^|[^/])\\/(?!\\/)(?:\\[[^\\n\\r\\]]*\\]|\\\\.|[^/\\\\\\r\\n\\[])+\\/(?=\\s*(?:$|[\\r\\n,.;})]))/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\n\t'keyword': /(?:=>|->)|\\b(?:case|catch|class|else|exit|finally|if|raise|return|switch|try)\\b/,\n\n\t'builtin': /@|\\bSystem\\b/,\n\n\t'boolean': /\\b(?:false|true)\\b/,\n\n\t'date': /\\b\\d{4}-\\d{2}-\\d{2}\\b/,\n\t'time': /\\b\\d{2}:\\d{2}:\\d{2}\\b/,\n\t'datetime': /\\b\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\b/,\n\n\t'symbol': /:[^\\d\\s`'\",.:;#\\/\\\\()<>\\[\\]{}][^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]*/,\n\t'number': /[+-]?\\b(?:\\d+\\.\\d+|\\d+)\\b/,\n\n\t'punctuation': /(?:\\.{2,3})|[`,.:;=\\/\\\\()<>\\[\\]{}]/,\n\n\t'reference': /[^\\d\\s`'\",.:;#\\/\\\\()<>\\[\\]{}][^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]*/\n};\n","Prism.languages.roboconf = {\n\t'comment': /#.*/,\n\t'keyword': {\n\t\t'pattern': /(^|\\s)(?:(?:external|import)\\b|(?:facet|instance of)(?=[ \\t]+[\\w-]+[ \\t]*\\{))/,\n\t\tlookbehind: true\n\t},\n\t'component': {\n\t\tpattern: /[\\w-]+(?=[ \\t]*\\{)/,\n\t\talias: 'variable'\n\t},\n\t'property': /[\\w.-]+(?=[ \\t]*:)/,\n\t'value': {\n\t\tpattern: /(=[ \\t]*(?![ \\t]))[^,;]+/,\n\t\tlookbehind: true,\n\t\talias: 'attr-value'\n\t},\n\t'optional': {\n\t\tpattern: /\\(optional\\)/,\n\t\talias: 'builtin'\n\t},\n\t'wildcard': {\n\t\tpattern: /(\\.)\\*/,\n\t\tlookbehind: true,\n\t\talias: 'operator'\n\t},\n\t'punctuation': /[{},.;:=]/\n};\n","(function (Prism) {\n\n\tvar comment = {\n\t\tpattern: /(^[ \\t]*| {2}|\\t)#.*/m,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t};\n\n\tvar variable = {\n\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)[$@&%]\\{(?:[^{}\\r\\n]|\\{[^{}\\r\\n]*\\})*\\}/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /^[$@&%]\\{|\\}$/\n\t\t}\n\t};\n\n\tfunction createSection(name, inside) {\n\t\tvar extendecInside = {};\n\n\t\textendecInside['section-header'] = {\n\t\t\tpattern: /^ ?\\*{3}.+?\\*{3}/,\n\t\t\talias: 'keyword'\n\t\t};\n\n\t\t// copy inside tokens\n\t\tfor (var token in inside) {\n\t\t\textendecInside[token] = inside[token];\n\t\t}\n\n\t\textendecInside['tag'] = {\n\t\t\tpattern: /([\\r\\n](?: {2}|\\t)[ \\t]*)\\[[-\\w]+\\]/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\[|\\]/\n\t\t\t}\n\t\t};\n\t\textendecInside['variable'] = variable;\n\t\textendecInside['comment'] = comment;\n\n\t\treturn {\n\t\t\tpattern: RegExp(/^ ?\\*{3}[ \\t]*<name>[ \\t]*\\*{3}(?:.|[\\r\\n](?!\\*{3}))*/.source.replace(/<name>/g, function () { return name; }), 'im'),\n\t\t\talias: 'section',\n\t\t\tinside: extendecInside\n\t\t};\n\t}\n\n\n\tvar docTag = {\n\t\tpattern: /(\\[Documentation\\](?: {2}|\\t)[ \\t]*)(?![ \\t]|#)(?:.|(?:\\r\\n?|\\n)[ \\t]*\\.{3})+/,\n\t\tlookbehind: true,\n\t\talias: 'string'\n\t};\n\n\tvar testNameLike = {\n\t\tpattern: /([\\r\\n] ?)(?!#)(?:\\S(?:[ \\t]\\S)*)+/,\n\t\tlookbehind: true,\n\t\talias: 'function',\n\t\tinside: {\n\t\t\t'variable': variable\n\t\t}\n\t};\n\n\tvar testPropertyLike = {\n\t\tpattern: /([\\r\\n](?: {2}|\\t)[ \\t]*)(?!\\[|\\.{3}|#)(?:\\S(?:[ \\t]\\S)*)+/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'variable': variable\n\t\t}\n\t};\n\n\tPrism.languages['robotframework'] = {\n\t\t'settings': createSection('Settings', {\n\t\t\t'documentation': {\n\t\t\t\tpattern: /([\\r\\n] ?Documentation(?: {2}|\\t)[ \\t]*)(?![ \\t]|#)(?:.|(?:\\r\\n?|\\n)[ \\t]*\\.{3})+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'property': {\n\t\t\t\tpattern: /([\\r\\n] ?)(?!\\.{3}|#)(?:\\S(?:[ \\t]\\S)*)+/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t}),\n\t\t'variables': createSection('Variables'),\n\t\t'test-cases': createSection('Test Cases', {\n\t\t\t'test-name': testNameLike,\n\t\t\t'documentation': docTag,\n\t\t\t'property': testPropertyLike\n\t\t}),\n\t\t'keywords': createSection('Keywords', {\n\t\t\t'keyword-name': testNameLike,\n\t\t\t'documentation': docTag,\n\t\t\t'property': testPropertyLike\n\t\t}),\n\t\t'tasks': createSection('Tasks', {\n\t\t\t'task-name': testNameLike,\n\t\t\t'documentation': docTag,\n\t\t\t'property': testPropertyLike\n\t\t}),\n\t\t'comment': comment\n\t};\n\n\tPrism.languages.robot = Prism.languages['robotframework'];\n\n}(Prism));\n","(function (Prism) {\n\n\tvar multilineComment = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source;\n\tfor (var i = 0; i < 2; i++) {\n\t\t// support 4 levels of nested comments\n\t\tmultilineComment = multilineComment.replace(/<self>/g, function () { return multilineComment; });\n\t}\n\tmultilineComment = multilineComment.replace(/<self>/g, function () { return /[^\\s\\S]/.source; });\n\n\n\tPrism.languages.rust = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(^|[^\\\\])/.source + multilineComment),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'string': {\n\t\t\tpattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'char': {\n\t\t\tpattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'attribute': {\n\t\t\tpattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,\n\t\t\tgreedy: true,\n\t\t\talias: 'attr-name',\n\t\t\tinside: {\n\t\t\t\t'string': null // see below\n\t\t\t}\n\t\t},\n\n\t\t// Closure params should not be confused with bitwise OR |\n\t\t'closure-params': {\n\t\t\tpattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'closure-punctuation': {\n\t\t\t\t\tpattern: /^\\||\\|$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\trest: null // see below\n\t\t\t}\n\t\t},\n\n\t\t'lifetime-annotation': {\n\t\t\tpattern: /'\\w+/,\n\t\t\talias: 'symbol'\n\t\t},\n\n\t\t'fragment-specifier': {\n\t\t\tpattern: /(\\$\\w+:)[a-z]+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'variable': /\\$\\w+/,\n\n\t\t'function-definition': {\n\t\t\tpattern: /(\\bfn\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'type-definition': {\n\t\t\tpattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'module-declaration': [\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /::/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'keyword': [\n\t\t\t// https://github.com/rust-lang/reference/blob/master/src/keywords.md\n\t\t\t/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n\t\t\t// primitives and str\n\t\t\t// https://doc.rust-lang.org/stable/rust-by-example/primitives.html\n\t\t\t/\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/\n\t\t],\n\n\t\t// functions can technically start with an upper-case letter, but this will introduce a lot of false positives\n\t\t// and Rust's naming conventions recommend snake_case anyway.\n\t\t// https://doc.rust-lang.org/1.0.0/style/style/naming/README.html\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,\n\t\t'macro': {\n\t\t\tpattern: /\\b\\w+!/,\n\t\t\talias: 'property'\n\t\t},\n\t\t'constant': /\\b[A-Z_][A-Z_\\d]+\\b/,\n\t\t'class-name': /\\b[A-Z]\\w*\\b/,\n\n\t\t'namespace': {\n\t\t\tpattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /::/\n\t\t\t}\n\t\t},\n\n\t\t// Hex, oct, bin, dec numbers with visual separators and type suffix\n\t\t'number': /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'punctuation': /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,\n\t\t'operator': /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/\n\t};\n\n\tPrism.languages.rust['closure-params'].inside.rest = Prism.languages.rust;\n\tPrism.languages.rust['attribute'].inside['string'] = Prism.languages.rust['string'];\n\n}(Prism));\n","(function (Prism) {\n\n\tvar stringPattern = /(?:\"(?:\"\"|[^\"])*\"(?!\")|'(?:''|[^'])*'(?!'))/.source;\n\n\tvar number = /\\b(?:\\d[\\da-f]*x|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i;\n\tvar numericConstant = {\n\t\tpattern: RegExp(stringPattern + '[bx]'),\n\t\talias: 'number'\n\t};\n\n\tvar macroVariable = {\n\t\tpattern: /&[a-z_]\\w*/i\n\t};\n\n\tvar macroKeyword = {\n\t\tpattern: /((?:^|\\s|=|\\())%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMEXIST|SYMGLOBL|SYMLOCAL|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\\b/i,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t};\n\n\tvar step = {\n\t\tpattern: /(^|\\s)(?:proc\\s+\\w+|data(?!=)|quit|run)\\b/i,\n\t\talias: 'keyword',\n\t\tlookbehind: true\n\t};\n\n\tvar comment = [\n\t\t/\\/\\*[\\s\\S]*?\\*\\//,\n\t\t{\n\t\t\tpattern: /(^[ \\t]*|;\\s*)\\*[^;]*;/m,\n\t\t\tlookbehind: true\n\t\t}\n\t];\n\n\tvar string = {\n\t\tpattern: RegExp(stringPattern),\n\t\tgreedy: true\n\t};\n\n\tvar punctuation = /[$%@.(){}\\[\\];,\\\\]/;\n\n\tvar func = {\n\t\tpattern: /%?\\b\\w+(?=\\()/,\n\t\talias: 'keyword'\n\t};\n\n\tvar args = {\n\t\t'function': func,\n\t\t'arg-value': {\n\t\t\tpattern: /(=\\s*)[A-Z\\.]+/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'operator': /=/,\n\t\t'macro-variable': macroVariable,\n\t\t'arg': {\n\t\t\tpattern: /[A-Z]+/i,\n\t\t\talias: 'keyword'\n\t\t},\n\t\t'number': number,\n\t\t'numeric-constant': numericConstant,\n\t\t'punctuation': punctuation,\n\t\t'string': string\n\t};\n\n\tvar format = {\n\t\tpattern: /\\b(?:format|put)\\b=?[\\w'$.]+/i,\n\t\tinside: {\n\t\t\t'keyword': /^(?:format|put)(?==)/i,\n\t\t\t'equals': /=/,\n\t\t\t'format': {\n\t\t\t\tpattern: /(?:\\w|\\$\\d)+\\.\\d?/,\n\t\t\t\talias: 'number'\n\t\t\t}\n\t\t}\n\t};\n\n\tvar altformat = {\n\t\tpattern: /\\b(?:format|put)\\s+[\\w']+(?:\\s+[$.\\w]+)+(?=;)/i,\n\t\tinside: {\n\t\t\t'keyword': /^(?:format|put)/i,\n\t\t\t'format': {\n\t\t\t\tpattern: /[\\w$]+\\.\\d?/,\n\t\t\t\talias: 'number'\n\t\t\t}\n\t\t}\n\t};\n\n\tvar globalStatements = {\n\t\tpattern: /((?:^|\\s)=?)(?:catname|checkpoint execute_always|dm|endsas|filename|footnote|%include|libname|%list|lock|missing|options|page|resetline|%run|sasfile|skip|sysecho|title\\d?)\\b/i,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t};\n\n\tvar submitStatement = {\n\t\tpattern: /(^|\\s)(?:submit(?:\\s+(?:load|norun|parseonly))?|endsubmit)\\b/i,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t};\n\n\tvar actionSets = /aStore|accessControl|aggregation|audio|autotune|bayesianNetClassifier|bioMedImage|boolRule|builtins|cardinality|cdm|clustering|conditionalRandomFields|configuration|copula|countreg|dataDiscovery|dataPreprocess|dataSciencePilot|dataStep|decisionTree|deduplication|deepLearn|deepNeural|deepRnn|ds2|ecm|entityRes|espCluster|explainModel|factmac|fastKnn|fcmpact|fedSql|freqTab|gVarCluster|gam|gleam|graphSemiSupLearn|hiddenMarkovModel|hyperGroup|ica|image|iml|kernalPca|langModel|ldaTopic|loadStreams|mbc|mixed|mlTools|modelPublishing|network|neuralNet|nmf|nonParametricBayes|nonlinear|optNetwork|optimization|panel|pca|percentile|phreg|pls|qkb|qlim|quantreg|recommend|regression|reinforcementLearn|robustPca|ruleMining|sampling|sandwich|sccasl|search(?:Analytics)?|sentimentAnalysis|sequence|session(?:Prop)?|severity|simSystem|simple|smartData|sparkEmbeddedProcess|sparseML|spatialreg|spc|stabilityMonitoring|svDataDescription|svm|table|text(?:Filters|Frequency|Mining|Parse|Rule(?:Develop|Score)|Topic|Util)|timeData|transpose|tsInfo|tsReconcile|uniTimeSeries|varReduce/.source;\n\n\tvar casActions = {\n\t\tpattern: RegExp(/(^|\\s)(?:action\\s+)?(?:<act>)\\.[a-z]+\\b[^;]+/.source.replace(/<act>/g, function () { return actionSets; }), 'i'),\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'keyword': RegExp(/(?:<act>)\\.[a-z]+\\b/.source.replace(/<act>/g, function () { return actionSets; }), 'i'),\n\t\t\t'action': {\n\t\t\t\tpattern: /(?:action)/i,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t'comment': comment,\n\t\t\t'function': func,\n\t\t\t'arg-value': args['arg-value'],\n\t\t\t'operator': args.operator,\n\t\t\t'argument': args.arg,\n\t\t\t'number': number,\n\t\t\t'numeric-constant': numericConstant,\n\t\t\t'punctuation': punctuation,\n\t\t\t'string': string\n\t\t}\n\t};\n\n\tvar keywords = {\n\t\tpattern: /((?:^|\\s)=?)(?:after|analysis|and|array|barchart|barwidth|begingraph|by|call|cas|cbarline|cfill|class(?:lev)?|close|column|computed?|contains|continue|data(?==)|define|delete|describe|document|do\\s+over|do|dol|drop|dul|else|end(?:comp|source)?|entryTitle|eval(?:uate)?|exec(?:ute)?|exit|file(?:name)?|fill(?:attrs)?|flist|fnc|function(?:list)?|global|goto|group(?:by)?|headline|headskip|histogram|if|infile|keep|keylabel|keyword|label|layout|leave|legendlabel|length|libname|loadactionset|merge|midpoints|_?null_|name|noobs|nowd|ods|options|or|otherwise|out(?:put)?|over(?:lay)?|plot|print|put|raise|ranexp|rannor|rbreak|retain|return|select|session|sessref|set|source|statgraph|sum|summarize|table|temp|terminate|then\\s+do|then|title\\d?|to|var|when|where|xaxisopts|y2axisopts|yaxisopts)\\b/i,\n\t\tlookbehind: true,\n\t};\n\n\tPrism.languages.sas = {\n\t\t'datalines': {\n\t\t\tpattern: /^([ \\t]*)(?:cards|(?:data)?lines);[\\s\\S]+?^[ \\t]*;/im,\n\t\t\tlookbehind: true,\n\t\t\talias: 'string',\n\t\t\tinside: {\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /^(?:cards|(?:data)?lines)/i\n\t\t\t\t},\n\t\t\t\t'punctuation': /;/\n\t\t\t}\n\t\t},\n\n\t\t'proc-sql': {\n\t\t\tpattern: /(^proc\\s+(?:fed)?sql(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|data|quit|run);|(?![\\s\\S]))/im,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'sql': {\n\t\t\t\t\tpattern: RegExp(/^[ \\t]*(?:select|alter\\s+table|(?:create|describe|drop)\\s+(?:index|table(?:\\s+constraints)?|view)|create\\s+unique\\s+index|insert\\s+into|update)(?:<str>|[^;\"'])+;/.source.replace(/<str>/g, function () { return stringPattern; }), 'im'),\n\t\t\t\t\talias: 'language-sql',\n\t\t\t\t\tinside: Prism.languages.sql\n\t\t\t\t},\n\t\t\t\t'global-statements': globalStatements,\n\t\t\t\t'sql-statements': {\n\t\t\t\t\tpattern: /(^|\\s)(?:disconnect\\s+from|begin|commit|exec(?:ute)?|reset|rollback|validate)\\b/i,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'keyword'\n\t\t\t\t},\n\t\t\t\t'number': number,\n\t\t\t\t'numeric-constant': numericConstant,\n\t\t\t\t'punctuation': punctuation,\n\t\t\t\t'string': string\n\t\t\t}\n\t\t},\n\n\t\t'proc-groovy': {\n\t\t\tpattern: /(^proc\\s+groovy(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|data|quit|run);|(?![\\s\\S]))/im,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'comment': comment,\n\t\t\t\t'groovy': {\n\t\t\t\t\tpattern: RegExp(/(^[ \\t]*submit(?:\\s+(?:load|norun|parseonly))?)(?:<str>|[^\"'])+?(?=endsubmit;)/.source.replace(/<str>/g, function () { return stringPattern; }), 'im'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'language-groovy',\n\t\t\t\t\tinside: Prism.languages.groovy\n\t\t\t\t},\n\t\t\t\t'keyword': keywords,\n\t\t\t\t'submit-statement': submitStatement,\n\t\t\t\t'global-statements': globalStatements,\n\t\t\t\t'number': number,\n\t\t\t\t'numeric-constant': numericConstant,\n\t\t\t\t'punctuation': punctuation,\n\t\t\t\t'string': string\n\t\t\t}\n\t\t},\n\n\t\t'proc-lua': {\n\t\t\tpattern: /(^proc\\s+lua(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|data|quit|run);|(?![\\s\\S]))/im,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'comment': comment,\n\t\t\t\t'lua': {\n\t\t\t\t\tpattern: RegExp(/(^[ \\t]*submit(?:\\s+(?:load|norun|parseonly))?)(?:<str>|[^\"'])+?(?=endsubmit;)/.source.replace(/<str>/g, function () { return stringPattern; }), 'im'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'language-lua',\n\t\t\t\t\tinside: Prism.languages.lua\n\t\t\t\t},\n\t\t\t\t'keyword': keywords,\n\t\t\t\t'submit-statement': submitStatement,\n\t\t\t\t'global-statements': globalStatements,\n\t\t\t\t'number': number,\n\t\t\t\t'numeric-constant': numericConstant,\n\t\t\t\t'punctuation': punctuation,\n\t\t\t\t'string': string\n\t\t\t}\n\t\t},\n\n\t\t'proc-cas': {\n\t\t\tpattern: /(^proc\\s+cas(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|quit|data);|(?![\\s\\S]))/im,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'comment': comment,\n\t\t\t\t'statement-var': {\n\t\t\t\t\tpattern: /((?:^|\\s)=?)saveresult\\s[^;]+/im,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\n\t\t\t\t\t\t'statement': {\n\t\t\t\t\t\t\tpattern: /^saveresult\\s+\\S+/i,\n\t\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t\tkeyword: /^(?:saveresult)/i\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\trest: args\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'cas-actions': casActions,\n\t\t\t\t'statement': {\n\t\t\t\t\tpattern: /((?:^|\\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: args\n\t\t\t\t},\n\t\t\t\t'step': step,\n\t\t\t\t'keyword': keywords,\n\t\t\t\t'function': func,\n\t\t\t\t'format': format,\n\t\t\t\t'altformat': altformat,\n\t\t\t\t'global-statements': globalStatements,\n\t\t\t\t'number': number,\n\t\t\t\t'numeric-constant': numericConstant,\n\t\t\t\t'punctuation': punctuation,\n\t\t\t\t'string': string\n\t\t\t}\n\t\t},\n\n\t\t'proc-args': {\n\t\t\tpattern: RegExp(/(^proc\\s+\\w+\\s+)(?!\\s)(?:[^;\"']|<str>)+;/.source.replace(/<str>/g, function () { return stringPattern; }), 'im'),\n\t\t\tlookbehind: true,\n\t\t\tinside: args\n\t\t},\n\t\t/*Special keywords within macros*/\n\t\t'macro-keyword': macroKeyword,\n\t\t'macro-variable': macroVariable,\n\t\t'macro-string-functions': {\n\t\t\tpattern: /((?:^|\\s|=))%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)\\(.*?(?:[^%]\\))/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'function': {\n\t\t\t\t\tpattern: /%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)/i,\n\t\t\t\t\talias: 'keyword'\n\t\t\t\t},\n\t\t\t\t'macro-keyword': macroKeyword,\n\t\t\t\t'macro-variable': macroVariable,\n\t\t\t\t'escaped-char': {\n\t\t\t\t\tpattern: /%['\"()<>=¬^~;,#]/,\n\t\t\t\t},\n\t\t\t\t'punctuation': punctuation\n\t\t\t}\n\t\t},\n\t\t'macro-declaration': {\n\t\t\tpattern: /^%macro[^;]+(?=;)/im,\n\t\t\tinside: {\n\t\t\t\t'keyword': /%macro/i,\n\t\t\t}\n\t\t},\n\t\t'macro-end': {\n\t\t\tpattern: /^%mend[^;]+(?=;)/im,\n\t\t\tinside: {\n\t\t\t\t'keyword': /%mend/i,\n\t\t\t}\n\t\t},\n\t\t/*%_zscore(headcir, _lhc, _mhc, _shc, headcz, headcpct, _Fheadcz); */\n\t\t'macro': {\n\t\t\tpattern: /%_\\w+(?=\\()/,\n\t\t\talias: 'keyword'\n\t\t},\n\t\t'input': {\n\t\t\tpattern: /\\binput\\s[-\\w\\s/*.$&]+;/i,\n\t\t\tinside: {\n\t\t\t\t'input': {\n\t\t\t\t\talias: 'keyword',\n\t\t\t\t\tpattern: /^input/i,\n\t\t\t\t},\n\t\t\t\t'comment': comment,\n\t\t\t\t'number': number,\n\t\t\t\t'numeric-constant': numericConstant\n\t\t\t}\n\t\t},\n\t\t'options-args': {\n\t\t\tpattern: /(^options)[-'\"|/\\\\<>*+=:()\\w\\s]*(?=;)/im,\n\t\t\tlookbehind: true,\n\t\t\tinside: args\n\t\t},\n\t\t'cas-actions': casActions,\n\t\t'comment': comment,\n\t\t'function': func,\n\t\t'format': format,\n\t\t'altformat': altformat,\n\t\t'numeric-constant': numericConstant,\n\t\t'datetime': {\n\t\t\t// '1jan2013'd, '9:25:19pm't, '18jan2003:9:27:05am'dt\n\t\t\tpattern: RegExp(stringPattern + '(?:dt?|t)'),\n\t\t\talias: 'number'\n\t\t},\n\t\t'string': string,\n\t\t'step': step,\n\t\t'keyword': keywords,\n\t\t// In SAS Studio syntax highlighting, these operators are styled like keywords\n\t\t'operator-keyword': {\n\t\t\tpattern: /\\b(?:eq|ge|gt|in|le|lt|ne|not)\\b/i,\n\t\t\talias: 'operator'\n\t\t},\n\t\t// Decimal (1.2e23), hexadecimal (0c1x)\n\t\t'number': number,\n\t\t'operator': /\\*\\*?|\\|\\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\\/=&]|[~¬^]=?/,\n\t\t'punctuation': punctuation\n\t};\n\n}(Prism));\n","(function (Prism) {\n\tPrism.languages.sass = Prism.languages.extend('css', {\n\t\t// Sass comments don't need to be closed, only indented\n\t\t'comment': {\n\t\t\tpattern: /^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t].+)*/m,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('sass', 'atrule', {\n\t\t// We want to consume the whole line\n\t\t'atrule-line': {\n\t\t\t// Includes support for = and + shortcuts\n\t\t\tpattern: /^(?:[ \\t]*)[@+=].+/m,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'atrule': /(?:@[\\w-]+|[+=])/\n\t\t\t}\n\t\t}\n\t});\n\tdelete Prism.languages.sass.atrule;\n\n\n\tvar variable = /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/;\n\tvar operator = [\n\t\t/[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|not|or)\\b/,\n\t\t{\n\t\t\tpattern: /(\\s)-(?=\\s)/,\n\t\t\tlookbehind: true\n\t\t}\n\t];\n\n\tPrism.languages.insertBefore('sass', 'property', {\n\t\t// We want to consume the whole line\n\t\t'variable-line': {\n\t\t\tpattern: /^[ \\t]*\\$.+/m,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /:/,\n\t\t\t\t'variable': variable,\n\t\t\t\t'operator': operator\n\t\t\t}\n\t\t},\n\t\t// We want to consume the whole line\n\t\t'property-line': {\n\t\t\tpattern: /^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s].*)/m,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'property': [\n\t\t\t\t\t/[^:\\s]+(?=\\s*:)/,\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: /(:)[^:\\s]+/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t'punctuation': /:/,\n\t\t\t\t'variable': variable,\n\t\t\t\t'operator': operator,\n\t\t\t\t'important': Prism.languages.sass.important\n\t\t\t}\n\t\t}\n\t});\n\tdelete Prism.languages.sass.property;\n\tdelete Prism.languages.sass.important;\n\n\t// Now that whole lines for other patterns are consumed,\n\t// what's left should be selectors\n\tPrism.languages.insertBefore('sass', 'punctuation', {\n\t\t'selector': {\n\t\t\tpattern: /^([ \\t]*)\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*)*/m,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t});\n\n}(Prism));\n","(function (Prism) {\n\n\t// CAREFUL!\n\t// The following patterns are concatenated, so the group referenced by a back reference is non-obvious!\n\n\tvar strings = [\n\t\t// normal string\n\t\t/\"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^\"\\\\`$])*\"/.source,\n\t\t/'[^']*'/.source,\n\t\t/\\$'(?:[^'\\\\]|\\\\[\\s\\S])*'/.source,\n\n\t\t// here doc\n\t\t// 2 capturing groups\n\t\t/<<-?\\s*([\"']?)(\\w+)\\1\\s[\\s\\S]*?[\\r\\n]\\2/.source\n\t].join('|');\n\n\tPrism.languages['shell-session'] = {\n\t\t'command': {\n\t\t\tpattern: RegExp(\n\t\t\t\t// user info\n\t\t\t\t/^/.source +\n\t\t\t\t'(?:' +\n\t\t\t\t(\n\t\t\t\t\t// <user> \":\" ( <path> )?\n\t\t\t\t\t/[^\\s@:$#%*!/\\\\]+@[^\\r\\n@:$#%*!/\\\\]+(?::[^\\0-\\x1F$#%*?\"<>:;|]+)?/.source +\n\t\t\t\t\t'|' +\n\t\t\t\t\t// <path>\n\t\t\t\t\t// Since the path pattern is quite general, we will require it to start with a special character to\n\t\t\t\t\t// prevent false positives.\n\t\t\t\t\t/[/~.][^\\0-\\x1F$#%*?\"<>@:;|]*/.source\n\t\t\t\t) +\n\t\t\t\t')?' +\n\t\t\t\t// shell symbol\n\t\t\t\t/[$#%](?=\\s)/.source +\n\t\t\t\t// bash command\n\t\t\t\t/(?:[^\\\\\\r\\n \\t'\"<$]|[ \\t](?:(?!#)|#.*$)|\\\\(?:[^\\r]|\\r\\n?)|\\$(?!')|<(?!<)|<<str>>)+/.source.replace(/<<str>>/g, function () { return strings; }),\n\t\t\t\t'm'\n\t\t\t),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'info': {\n\t\t\t\t\t// foo@bar:~/files$ exit\n\t\t\t\t\t// foo@bar$ exit\n\t\t\t\t\t// ~/files$ exit\n\t\t\t\t\tpattern: /^[^#$%]+/,\n\t\t\t\t\talias: 'punctuation',\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'user': /^[^\\s@:$#%*!/\\\\]+@[^\\r\\n@:$#%*!/\\\\]+/,\n\t\t\t\t\t\t'punctuation': /:/,\n\t\t\t\t\t\t'path': /[\\s\\S]+/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'bash': {\n\t\t\t\t\tpattern: /(^[$#%]\\s*)\\S[\\s\\S]*/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'language-bash',\n\t\t\t\t\tinside: Prism.languages.bash\n\t\t\t\t},\n\t\t\t\t'shell-symbol': {\n\t\t\t\t\tpattern: /^[$#%]/,\n\t\t\t\t\talias: 'important'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'output': /.(?:.*(?:[\\r\\n]|.$))*/\n\t};\n\n\tPrism.languages['sh-session'] = Prism.languages['shellsession'] = Prism.languages['shell-session'];\n\n}(Prism));\n","// Test files for the parser itself:\n// https://github.com/JesusFreke/smali/tree/master/smali/src/test/resources/LexerTest\n\nPrism.languages.smali = {\n\t'comment': /#.*/,\n\t'string': {\n\t\tpattern: /\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|'(?:[^\\r\\n\\\\']|\\\\(?:.|u[\\da-fA-F]{4}))'/,\n\t\tgreedy: true\n\t},\n\n\t'class-name': {\n\t\tpattern: /(^|[^L])L(?:(?:\\w+|`[^`\\r\\n]*`)\\/)*(?:[\\w$]+|`[^`\\r\\n]*`)(?=\\s*;)/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'class-name': {\n\t\t\t\tpattern: /(^L|\\/)(?:[\\w$]+|`[^`\\r\\n]*`)$/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'namespace': {\n\t\t\t\tpattern: /^(L)(?:(?:\\w+|`[^`\\r\\n]*`)\\/)+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\//\n\t\t\t\t}\n\t\t\t},\n\t\t\t'builtin': /^L/\n\t\t}\n\t},\n\t'builtin': [\n\t\t{\n\t\t\t// Reference: https://github.com/JesusFreke/smali/wiki/TypesMethodsAndFields#types\n\t\t\tpattern: /([();\\[])[BCDFIJSVZ]+/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\t// e.g. .field mWifiOnUid:I\n\t\t\tpattern: /([\\w$>]:)[BCDFIJSVZ]/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /(\\.end\\s+)[\\w-]+/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\w.-])\\.(?!\\d)[\\w-]+/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\\w.-])/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'function': {\n\t\tpattern: /(^|[^\\w.-])(?:\\w+|<[\\w$-]+>)(?=\\()/,\n\t\tlookbehind: true\n\t},\n\n\t'field': {\n\t\tpattern: /[\\w$]+(?=:)/,\n\t\talias: 'variable'\n\t},\n\t'register': {\n\t\tpattern: /(^|[^\\w.-])[vp]\\d(?![\\w.-])/,\n\t\tlookbehind: true,\n\t\talias: 'variable'\n\t},\n\n\t'boolean': {\n\t\tpattern: /(^|[^\\w.-])(?:false|true)(?![\\w.-])/,\n\t\tlookbehind: true\n\t},\n\t'number': {\n\t\tpattern: /(^|[^/\\w.-])-?(?:NAN|INFINITY|0x(?:[\\dA-F]+(?:\\.[\\dA-F]*)?|\\.[\\dA-F]+)(?:p[+-]?[\\dA-F]+)?|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)[dflst]?(?![\\w.-])/i,\n\t\tlookbehind: true\n\t},\n\n\t'label': {\n\t\tpattern: /(:)\\w+/,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n\n\t'operator': /->|\\.\\.|[\\[=]/,\n\t'punctuation': /[{}(),;:]/\n};\n","Prism.languages.smalltalk = {\n\t'comment': {\n\t\tpattern: /\"(?:\"\"|[^\"])*\"/,\n\t\tgreedy: true\n\t},\n\t'char': {\n\t\tpattern: /\\$./,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /'(?:''|[^'])*'/,\n\t\tgreedy: true\n\t},\n\t'symbol': /#[\\da-z]+|#(?:-|([+\\/\\\\*~<>=@%|&?!])\\1?)|#(?=\\()/i,\n\t'block-arguments': {\n\t\tpattern: /(\\[\\s*):[^\\[|]*\\|/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'variable': /:[\\da-z]+/i,\n\t\t\t'punctuation': /\\|/\n\t\t}\n\t},\n\t'temporary-variables': {\n\t\tpattern: /\\|[^|]+\\|/,\n\t\tinside: {\n\t\t\t'variable': /[\\da-z]+/i,\n\t\t\t'punctuation': /\\|/\n\t\t}\n\t},\n\t'keyword': /\\b(?:new|nil|self|super)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'number': [\n\t\t/\\d+r-?[\\dA-Z]+(?:\\.[\\dA-Z]+)?(?:e-?\\d+)?/,\n\t\t/\\b\\d+(?:\\.\\d+)?(?:e-?\\d+)?/\n\t],\n\t'operator': /[<=]=?|:=|~[~=]|\\/\\/?|\\\\\\\\|>[>=]?|[!^+\\-*&|,@]/,\n\t'punctuation': /[.;:?\\[\\](){}]/\n};\n","(function (Prism) {\n\n\tPrism.languages.smarty = {\n\t\t'comment': {\n\t\t\tpattern: /^\\{\\*[\\s\\S]*?\\*\\}/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'embedded-php': {\n\t\t\tpattern: /^\\{php\\}[\\s\\S]*?\\{\\/php\\}/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'smarty': {\n\t\t\t\t\tpattern: /^\\{php\\}|\\{\\/php\\}$/,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'php': {\n\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\talias: 'language-php',\n\t\t\t\t\tinside: Prism.languages.php\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'string': [\n\t\t\t{\n\t\t\t\tpattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation': {\n\t\t\t\t\t\tpattern: /\\{[^{}]*\\}|`[^`]*`/,\n\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\t\t\tpattern: /^[{`]|[`}]$/,\n\t\t\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'expression': {\n\t\t\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\t\t\tinside: null // see below\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t'variable': /\\$\\w+/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /'(?:\\\\.|[^'\\\\\\r\\n])*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t],\n\t\t'keyword': {\n\t\t\tpattern: /(^\\{\\/?)[a-z_]\\w*\\b(?!\\()/i,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t'delimiter': {\n\t\t\tpattern: /^\\{\\/?|\\}$/,\n\t\t\tgreedy: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'number': /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n\t\t'variable': [\n\t\t\t/\\$(?!\\d)\\w+/,\n\t\t\t/#(?!\\d)\\w+#/,\n\t\t\t{\n\t\t\t\tpattern: /(\\.|->|\\w\\s*=)(?!\\d)\\w+\\b(?!\\()/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\[)(?!\\d)\\w+(?=\\])/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'function': {\n\t\t\tpattern: /(\\|\\s*)@?[a-z_]\\w*|\\b[a-z_]\\w*(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'attr-name': /\\b[a-z_]\\w*(?=\\s*=)/i,\n\t\t'boolean': /\\b(?:false|no|off|on|true|yes)\\b/,\n\t\t'punctuation': /[\\[\\](){}.,:`]|->/,\n\t\t'operator': [\n\t\t\t/[+\\-*\\/%]|==?=?|[!<>]=?|&&|\\|\\|?/,\n\t\t\t/\\bis\\s+(?:not\\s+)?(?:div|even|odd)(?:\\s+by)?\\b/,\n\t\t\t/\\b(?:and|eq|gt?e|gt|lt?e|lt|mod|neq?|not|or)\\b/\n\t\t]\n\t};\n\n\tPrism.languages.smarty['embedded-php'].inside.smarty.inside = Prism.languages.smarty;\n\tPrism.languages.smarty.string[0].inside.interpolation.inside.expression.inside = Prism.languages.smarty;\n\n\tvar string = /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|'(?:\\\\.|[^'\\\\\\r\\n])*'/;\n\tvar smartyPattern = RegExp(\n\t\t// comments\n\t\t/\\{\\*[\\s\\S]*?\\*\\}/.source +\n\t\t'|' +\n\t\t// php tags\n\t\t/\\{php\\}[\\s\\S]*?\\{\\/php\\}/.source +\n\t\t'|' +\n\t\t// smarty blocks\n\t\t/\\{(?:[^{}\"']|<str>|\\{(?:[^{}\"']|<str>|\\{(?:[^{}\"']|<str>)*\\})*\\})*\\}/.source\n\t\t\t.replace(/<str>/g, function () { return string.source; }),\n\t\t'g'\n\t);\n\n\t// Tokenize all inline Smarty expressions\n\tPrism.hooks.add('before-tokenize', function (env) {\n\t\tvar smartyLiteralStart = '{literal}';\n\t\tvar smartyLiteralEnd = '{/literal}';\n\t\tvar smartyLiteralMode = false;\n\n\t\tPrism.languages['markup-templating'].buildPlaceholders(env, 'smarty', smartyPattern, function (match) {\n\t\t\t// Smarty tags inside {literal} block are ignored\n\t\t\tif (match === smartyLiteralEnd) {\n\t\t\t\tsmartyLiteralMode = false;\n\t\t\t}\n\n\t\t\tif (!smartyLiteralMode) {\n\t\t\t\tif (match === smartyLiteralStart) {\n\t\t\t\t\tsmartyLiteralMode = true;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t});\n\n\t// Re-insert the tokens after tokenizing\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tPrism.languages['markup-templating'].tokenizePlaceholders(env, 'smarty');\n\t});\n\n}(Prism));\n","// https://smlfamily.github.io/sml97-defn.pdf\n// https://people.mpi-sws.org/~rossberg/sml.html\n(function (Prism) {\n\n\tvar keywords = /\\b(?:abstype|and|andalso|as|case|datatype|do|else|end|eqtype|exception|fn|fun|functor|handle|if|in|include|infix|infixr|let|local|nonfix|of|op|open|orelse|raise|rec|sharing|sig|signature|struct|structure|then|type|val|where|while|with|withtype)\\b/i;\n\n\tPrism.languages.sml = {\n\t\t// allow one level of nesting\n\t\t'comment': /\\(\\*(?:[^*(]|\\*(?!\\))|\\((?!\\*)|\\(\\*(?:[^*(]|\\*(?!\\))|\\((?!\\*))*\\*\\))*\\*\\)/,\n\t\t'string': {\n\t\t\tpattern: /#?\"(?:[^\"\\\\]|\\\\.)*\"/,\n\t\t\tgreedy: true\n\t\t},\n\n\t\t'class-name': [\n\t\t\t{\n\t\t\t\t// This is only an approximation since the real grammar is context-free\n\t\t\t\t//\n\t\t\t\t// Why the main loop so complex?\n\t\t\t\t// The main loop is approximately the same as /(?:\\s*(?:[*,]|->)\\s*<TERMINAL>)*/ which is, obviously, a lot\n\t\t\t\t// simpler. The difference is that if a comma is the last iteration of the loop, then the terminal must be\n\t\t\t\t// followed by a long identifier.\n\t\t\t\tpattern: RegExp(\n\t\t\t\t\t/((?:^|[^:]):\\s*)<TERMINAL>(?:\\s*(?:(?:\\*|->)\\s*<TERMINAL>|,\\s*<TERMINAL>(?:(?=<NOT-LAST>)|(?!<NOT-LAST>)\\s+<LONG-ID>)))*/.source\n\t\t\t\t\t\t.replace(/<NOT-LAST>/g, function () { return /\\s*(?:[*,]|->)/.source; })\n\t\t\t\t\t\t.replace(/<TERMINAL>/g, function () {\n\t\t\t\t\t\t\treturn /(?:'[\\w']*|<LONG-ID>|\\((?:[^()]|\\([^()]*\\))*\\)|\\{(?:[^{}]|\\{[^{}]*\\})*\\})(?:\\s+<LONG-ID>)*/.source;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.replace(/<LONG-ID>/g, function () { return /(?!<KEYWORD>)[a-z\\d_][\\w'.]*/.source; })\n\t\t\t\t\t\t.replace(/<KEYWORD>/g, function () { return keywords.source; }),\n\t\t\t\t\t'i'\n\t\t\t\t),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /((?:^|[^\\w'])(?:datatype|exception|functor|signature|structure|type)\\s+)[a-z_][\\w'.]*/i,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'function': {\n\t\t\tpattern: /((?:^|[^\\w'])fun\\s+)[a-z_][\\w'.]*/i,\n\t\t\tlookbehind: true\n\t\t},\n\n\t\t'keyword': keywords,\n\t\t'variable': {\n\t\t\tpattern: /(^|[^\\w'])'[\\w']*/,\n\t\t\tlookbehind: true,\n\t\t},\n\n\t\t'number': /~?\\b(?:\\d+(?:\\.\\d+)?(?:e~?\\d+)?|0x[\\da-f]+)\\b/i,\n\t\t'word': {\n\t\t\tpattern: /\\b0w(?:\\d+|x[\\da-f]+)\\b/i,\n\t\t\talias: 'constant'\n\t\t},\n\n\t\t'boolean': /\\b(?:false|true)\\b/i,\n\t\t'operator': /\\.\\.\\.|:[>=:]|=>?|->|[<>]=?|[!+\\-*/^#|@~]/,\n\t\t'punctuation': /[(){}\\[\\].:,;]/\n\t};\n\n\tPrism.languages.sml['class-name'][0].inside = Prism.languages.sml;\n\n\tPrism.languages.smlnj = Prism.languages.sml;\n\n}(Prism));\n","Prism.languages.solidity = Prism.languages.extend('clike', {\n\t'class-name': {\n\t\tpattern: /(\\b(?:contract|enum|interface|library|new|struct|using)\\s+)(?!\\d)[\\w$]+/,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\\b/,\n\t'operator': /=>|->|:=|=:|\\*\\*|\\+\\+|--|\\|\\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/\n});\n\nPrism.languages.insertBefore('solidity', 'keyword', {\n\t'builtin': /\\b(?:address|bool|byte|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|string|bytes(?:[1-9]|[12]\\d|3[0-2])?)\\b/\n});\n\nPrism.languages.insertBefore('solidity', 'number', {\n\t'version': {\n\t\tpattern: /([<>]=?|\\^)\\d+\\.\\d+\\.\\d+\\b/,\n\t\tlookbehind: true,\n\t\talias: 'number',\n\t}\n});\n\nPrism.languages.sol = Prism.languages.solidity;\n","(function (Prism) {\n\n\tvar guid = {\n\t\t// https://en.wikipedia.org/wiki/Universally_unique_identifier#Format\n\t\tpattern: /\\{[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}\\}/i,\n\t\talias: 'constant',\n\t\tinside: {\n\t\t\t'punctuation': /[{}]/\n\t\t}\n\t};\n\n\tPrism.languages['solution-file'] = {\n\t\t'comment': {\n\t\t\tpattern: /#.*/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'guid': guid\n\t\t\t}\n\t\t},\n\t\t'object': {\n\t\t\t// Foo\n\t\t\t// Bar(\"abs\") = 9\n\t\t\t// EndBar\n\t\t\t// Prop = TRUE\n\t\t\t// EndFoo\n\t\t\tpattern: /^([ \\t]*)(?:([A-Z]\\w*)\\b(?=.*(?:\\r\\n?|\\n)(?:\\1[ \\t].*(?:\\r\\n?|\\n))*\\1End\\2(?=[ \\t]*$))|End[A-Z]\\w*(?=[ \\t]*$))/m,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'keyword'\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /^([ \\t]*)(?!\\s)[^\\r\\n\"#=()]*[^\\s\"#=()](?=\\s*=)/m,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'guid': guid\n\t\t\t}\n\t\t},\n\t\t'guid': guid,\n\t\t'number': /\\b\\d+(?:\\.\\d+)*\\b/,\n\t\t'boolean': /\\b(?:FALSE|TRUE)\\b/,\n\t\t'operator': /=/,\n\t\t'punctuation': /[(),]/\n\t};\n\n\tPrism.languages['sln'] = Prism.languages['solution-file'];\n\n}(Prism));\n","(function (Prism) {\n\tvar stringPattern = /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/;\n\tvar numberPattern = /\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b|\\b0x[\\dA-F]+\\b/;\n\n\tPrism.languages.soy = {\n\t\t'comment': [\n\t\t\t/\\/\\*[\\s\\S]*?\\*\\//,\n\t\t\t{\n\t\t\t\tpattern: /(\\s)\\/\\/.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'command-arg': {\n\t\t\tpattern: /(\\{+\\/?\\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\\s+)\\.?[\\w.]+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'string',\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\./\n\t\t\t}\n\t\t},\n\t\t'parameter': {\n\t\t\tpattern: /(\\{+\\/?\\s*@?param\\??\\s+)\\.?[\\w.]+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'variable'\n\t\t},\n\t\t'keyword': [\n\t\t\t{\n\t\t\t\tpattern: /(\\{+\\/?[^\\S\\r\\n]*)(?:\\\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\\??|rb|sp|switch|template|xid)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t/\\b(?:any|as|attributes|bool|css|float|html|in|int|js|list|map|null|number|string|uri)\\b/\n\t\t],\n\t\t'delimiter': {\n\t\t\tpattern: /^\\{+\\/?|\\/?\\}+$/,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'property': /\\w+(?==)/,\n\t\t'variable': {\n\t\t\tpattern: /\\$[^\\W\\d]\\w*(?:\\??(?:\\.\\w+|\\[[^\\]]+\\]))*/,\n\t\t\tinside: {\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: stringPattern,\n\t\t\t\t\tgreedy: true\n\t\t\t\t},\n\t\t\t\t'number': numberPattern,\n\t\t\t\t'punctuation': /[\\[\\].?]/\n\t\t\t}\n\t\t},\n\t\t'string': {\n\t\t\tpattern: stringPattern,\n\t\t\tgreedy: true\n\t\t},\n\t\t'function': [\n\t\t\t/\\w+(?=\\()/,\n\t\t\t{\n\t\t\t\tpattern: /(\\|[^\\S\\r\\n]*)\\w+/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'number': numberPattern,\n\t\t'operator': /\\?:?|<=?|>=?|==?|!=|[+*/%-]|\\b(?:and|not|or)\\b/,\n\t\t'punctuation': /[{}()\\[\\]|.,:]/\n\t};\n\n\t// Tokenize all inline Soy expressions\n\tPrism.hooks.add('before-tokenize', function (env) {\n\t\tvar soyPattern = /\\{\\{.+?\\}\\}|\\{.+?\\}|\\s\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//g;\n\t\tvar soyLitteralStart = '{literal}';\n\t\tvar soyLitteralEnd = '{/literal}';\n\t\tvar soyLitteralMode = false;\n\n\t\tPrism.languages['markup-templating'].buildPlaceholders(env, 'soy', soyPattern, function (match) {\n\t\t\t// Soy tags inside {literal} block are ignored\n\t\t\tif (match === soyLitteralEnd) {\n\t\t\t\tsoyLitteralMode = false;\n\t\t\t}\n\n\t\t\tif (!soyLitteralMode) {\n\t\t\t\tif (match === soyLitteralStart) {\n\t\t\t\t\tsoyLitteralMode = true;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t});\n\n\t// Re-insert the tokens after tokenizing\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tPrism.languages['markup-templating'].tokenizePlaceholders(env, 'soy');\n\t});\n\n}(Prism));\n","Prism.languages['splunk-spl'] = {\n\t'comment': /`comment\\(\"(?:\\\\.|[^\\\\\"])*\"\\)`/,\n\t'string': {\n\t\tpattern: /\"(?:\\\\.|[^\\\\\"])*\"/,\n\t\tgreedy: true\n\t},\n\t// https://docs.splunk.com/Documentation/Splunk/7.3.0/SearchReference/ListOfSearchCommands\n\t'keyword': /\\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\\b/i,\n\t'operator-word': {\n\t\tpattern: /\\b(?:and|as|by|not|or|xor)\\b/i,\n\t\talias: 'operator'\n\t},\n\t'function': /\\b\\w+(?=\\s*\\()/,\n\t'property': /\\b\\w+(?=\\s*=(?!=))/,\n\t'date': {\n\t\t// MM/DD/YYYY(:HH:MM:SS)?\n\t\tpattern: /\\b\\d{1,2}\\/\\d{1,2}\\/\\d{1,4}(?:(?::\\d{1,2}){3})?\\b/,\n\t\talias: 'number'\n\t},\n\t'number': /\\b\\d+(?:\\.\\d+)?\\b/,\n\t'boolean': /\\b(?:f|false|t|true)\\b/i,\n\t'operator': /[<>=]=?|[-+*/%|]/,\n\t'punctuation': /[()[\\],]/\n};\n","Prism.languages.sqf = Prism.languages.extend('clike', {\n\t'string': {\n\t\tpattern: /\"(?:(?:\"\")?[^\"])*\"(?!\")|'(?:[^'])*'/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:breakOut|breakTo|call|case|catch|default|do|echo|else|execFSM|execVM|exitWith|for|forEach|forEachMember|forEachMemberAgent|forEachMemberTeam|from|goto|if|nil|preprocessFile|preprocessFileLineNumbers|private|scopeName|spawn|step|switch|then|throw|to|try|while|with)\\b/i,\n\t'boolean': /\\b(?:false|true)\\b/i,\n\t'function': /\\b(?:abs|accTime|acos|action|actionIDs|actionKeys|actionKeysImages|actionKeysNames|actionKeysNamesArray|actionName|actionParams|activateAddons|activatedAddons|activateKey|add3DENConnection|add3DENEventHandler|add3DENLayer|addAction|addBackpack|addBackpackCargo|addBackpackCargoGlobal|addBackpackGlobal|addCamShake|addCuratorAddons|addCuratorCameraArea|addCuratorEditableObjects|addCuratorEditingArea|addCuratorPoints|addEditorObject|addEventHandler|addForce|addForceGeneratorRTD|addGoggles|addGroupIcon|addHandgunItem|addHeadgear|addItem|addItemCargo|addItemCargoGlobal|addItemPool|addItemToBackpack|addItemToUniform|addItemToVest|addLiveStats|addMagazine|addMagazineAmmoCargo|addMagazineCargo|addMagazineCargoGlobal|addMagazineGlobal|addMagazinePool|addMagazines|addMagazineTurret|addMenu|addMenuItem|addMissionEventHandler|addMPEventHandler|addMusicEventHandler|addOwnedMine|addPlayerScores|addPrimaryWeaponItem|addPublicVariableEventHandler|addRating|addResources|addScore|addScoreSide|addSecondaryWeaponItem|addSwitchableUnit|addTeamMember|addToRemainsCollector|addTorque|addUniform|addVehicle|addVest|addWaypoint|addWeapon|addWeaponCargo|addWeaponCargoGlobal|addWeaponGlobal|addWeaponItem|addWeaponPool|addWeaponTurret|admin|agent|agents|AGLToASL|aimedAtTarget|aimPos|airDensityCurveRTD|airDensityRTD|airplaneThrottle|airportSide|AISFinishHeal|alive|all3DENEntities|allAirports|allControls|allCurators|allCutLayers|allDead|allDeadMen|allDisplays|allGroups|allMapMarkers|allMines|allMissionObjects|allow3DMode|allowCrewInImmobile|allowCuratorLogicIgnoreAreas|allowDamage|allowDammage|allowFileOperations|allowFleeing|allowGetIn|allowSprint|allPlayers|allSimpleObjects|allSites|allTurrets|allUnits|allUnitsUAV|allVariables|ammo|ammoOnPylon|animate|animateBay|animateDoor|animatePylon|animateSource|animationNames|animationPhase|animationSourcePhase|animationState|append|apply|armoryPoints|arrayIntersect|asin|ASLToAGL|ASLToATL|assert|assignAsCargo|assignAsCargoIndex|assignAsCommander|assignAsDriver|assignAsGunner|assignAsTurret|assignCurator|assignedCargo|assignedCommander|assignedDriver|assignedGunner|assignedItems|assignedTarget|assignedTeam|assignedVehicle|assignedVehicleRole|assignItem|assignTeam|assignToAirport|atan|atan2|atg|ATLToASL|attachedObject|attachedObjects|attachedTo|attachObject|attachTo|attackEnabled|backpack|backpackCargo|backpackContainer|backpackItems|backpackMagazines|backpackSpaceFor|behaviour|benchmark|binocular|blufor|boundingBox|boundingBoxReal|boundingCenter|briefingName|buildingExit|buildingPos|buldozer_EnableRoadDiag|buldozer_IsEnabledRoadDiag|buldozer_LoadNewRoads|buldozer_reloadOperMap|buttonAction|buttonSetAction|cadetMode|callExtension|camCommand|camCommit|camCommitPrepared|camCommitted|camConstuctionSetParams|camCreate|camDestroy|cameraEffect|cameraEffectEnableHUD|cameraInterest|cameraOn|cameraView|campaignConfigFile|camPreload|camPreloaded|camPrepareBank|camPrepareDir|camPrepareDive|camPrepareFocus|camPrepareFov|camPrepareFovRange|camPreparePos|camPrepareRelPos|camPrepareTarget|camSetBank|camSetDir|camSetDive|camSetFocus|camSetFov|camSetFovRange|camSetPos|camSetRelPos|camSetTarget|camTarget|camUseNVG|canAdd|canAddItemToBackpack|canAddItemToUniform|canAddItemToVest|cancelSimpleTaskDestination|canFire|canMove|canSlingLoad|canStand|canSuspend|canTriggerDynamicSimulation|canUnloadInCombat|canVehicleCargo|captive|captiveNum|cbChecked|cbSetChecked|ceil|channelEnabled|cheatsEnabled|checkAIFeature|checkVisibility|civilian|className|clear3DENAttribute|clear3DENInventory|clearAllItemsFromBackpack|clearBackpackCargo|clearBackpackCargoGlobal|clearForcesRTD|clearGroupIcons|clearItemCargo|clearItemCargoGlobal|clearItemPool|clearMagazineCargo|clearMagazineCargoGlobal|clearMagazinePool|clearOverlay|clearRadio|clearVehicleInit|clearWeaponCargo|clearWeaponCargoGlobal|clearWeaponPool|clientOwner|closeDialog|closeDisplay|closeOverlay|collapseObjectTree|collect3DENHistory|collectiveRTD|combatMode|commandArtilleryFire|commandChat|commander|commandFire|commandFollow|commandFSM|commandGetOut|commandingMenu|commandMove|commandRadio|commandStop|commandSuppressiveFire|commandTarget|commandWatch|comment|commitOverlay|compile|compileFinal|completedFSM|composeText|configClasses|configFile|configHierarchy|configName|configNull|configProperties|configSourceAddonList|configSourceMod|configSourceModList|confirmSensorTarget|connectTerminalToUAV|controlNull|controlsGroupCtrl|copyFromClipboard|copyToClipboard|copyWaypoints|cos|count|countEnemy|countFriendly|countSide|countType|countUnknown|create3DENComposition|create3DENEntity|createAgent|createCenter|createDialog|createDiaryLink|createDiaryRecord|createDiarySubject|createDisplay|createGearDialog|createGroup|createGuardedPoint|createLocation|createMarker|createMarkerLocal|createMenu|createMine|createMissionDisplay|createMPCampaignDisplay|createSimpleObject|createSimpleTask|createSite|createSoundSource|createTask|createTeam|createTrigger|createUnit|createVehicle|createVehicleCrew|createVehicleLocal|crew|ctAddHeader|ctAddRow|ctClear|ctCurSel|ctData|ctFindHeaderRows|ctFindRowHeader|ctHeaderControls|ctHeaderCount|ctRemoveHeaders|ctRemoveRows|ctrlActivate|ctrlAddEventHandler|ctrlAngle|ctrlAutoScrollDelay|ctrlAutoScrollRewind|ctrlAutoScrollSpeed|ctrlChecked|ctrlClassName|ctrlCommit|ctrlCommitted|ctrlCreate|ctrlDelete|ctrlEnable|ctrlEnabled|ctrlFade|ctrlHTMLLoaded|ctrlIDC|ctrlIDD|ctrlMapAnimAdd|ctrlMapAnimClear|ctrlMapAnimCommit|ctrlMapAnimDone|ctrlMapCursor|ctrlMapMouseOver|ctrlMapScale|ctrlMapScreenToWorld|ctrlMapWorldToScreen|ctrlModel|ctrlModelDirAndUp|ctrlModelScale|ctrlParent|ctrlParentControlsGroup|ctrlPosition|ctrlRemoveAllEventHandlers|ctrlRemoveEventHandler|ctrlScale|ctrlSetActiveColor|ctrlSetAngle|ctrlSetAutoScrollDelay|ctrlSetAutoScrollRewind|ctrlSetAutoScrollSpeed|ctrlSetBackgroundColor|ctrlSetChecked|ctrlSetDisabledColor|ctrlSetEventHandler|ctrlSetFade|ctrlSetFocus|ctrlSetFont|ctrlSetFontH1|ctrlSetFontH1B|ctrlSetFontH2|ctrlSetFontH2B|ctrlSetFontH3|ctrlSetFontH3B|ctrlSetFontH4|ctrlSetFontH4B|ctrlSetFontH5|ctrlSetFontH5B|ctrlSetFontH6|ctrlSetFontH6B|ctrlSetFontHeight|ctrlSetFontHeightH1|ctrlSetFontHeightH2|ctrlSetFontHeightH3|ctrlSetFontHeightH4|ctrlSetFontHeightH5|ctrlSetFontHeightH6|ctrlSetFontHeightSecondary|ctrlSetFontP|ctrlSetFontPB|ctrlSetFontSecondary|ctrlSetForegroundColor|ctrlSetModel|ctrlSetModelDirAndUp|ctrlSetModelScale|ctrlSetPixelPrecision|ctrlSetPosition|ctrlSetScale|ctrlSetStructuredText|ctrlSetText|ctrlSetTextColor|ctrlSetTextColorSecondary|ctrlSetTextSecondary|ctrlSetTooltip|ctrlSetTooltipColorBox|ctrlSetTooltipColorShade|ctrlSetTooltipColorText|ctrlShow|ctrlShown|ctrlText|ctrlTextHeight|ctrlTextSecondary|ctrlTextWidth|ctrlType|ctrlVisible|ctRowControls|ctRowCount|ctSetCurSel|ctSetData|ctSetHeaderTemplate|ctSetRowTemplate|ctSetValue|ctValue|curatorAddons|curatorCamera|curatorCameraArea|curatorCameraAreaCeiling|curatorCoef|curatorEditableObjects|curatorEditingArea|curatorEditingAreaType|curatorMouseOver|curatorPoints|curatorRegisteredObjects|curatorSelected|curatorWaypointCost|current3DENOperation|currentChannel|currentCommand|currentMagazine|currentMagazineDetail|currentMagazineDetailTurret|currentMagazineTurret|currentMuzzle|currentNamespace|currentTask|currentTasks|currentThrowable|currentVisionMode|currentWaypoint|currentWeapon|currentWeaponMode|currentWeaponTurret|currentZeroing|cursorObject|cursorTarget|customChat|customRadio|cutFadeOut|cutObj|cutRsc|cutText|damage|date|dateToNumber|daytime|deActivateKey|debriefingText|debugFSM|debugLog|deg|delete3DENEntities|deleteAt|deleteCenter|deleteCollection|deleteEditorObject|deleteGroup|deleteGroupWhenEmpty|deleteIdentity|deleteLocation|deleteMarker|deleteMarkerLocal|deleteRange|deleteResources|deleteSite|deleteStatus|deleteTeam|deleteVehicle|deleteVehicleCrew|deleteWaypoint|detach|detectedMines|diag_activeMissionFSMs|diag_activeScripts|diag_activeSQFScripts|diag_activeSQSScripts|diag_captureFrame|diag_captureFrameToFile|diag_captureSlowFrame|diag_codePerformance|diag_drawMode|diag_dynamicSimulationEnd|diag_enable|diag_enabled|diag_fps|diag_fpsMin|diag_frameNo|diag_lightNewLoad|diag_list|diag_log|diag_logSlowFrame|diag_mergeConfigFile|diag_recordTurretLimits|diag_setLightNew|diag_tickTime|diag_toggle|dialog|diarySubjectExists|didJIP|didJIPOwner|difficulty|difficultyEnabled|difficultyEnabledRTD|difficultyOption|direction|directSay|disableAI|disableCollisionWith|disableConversation|disableDebriefingStats|disableMapIndicators|disableNVGEquipment|disableRemoteSensors|disableSerialization|disableTIEquipment|disableUAVConnectability|disableUserInput|displayAddEventHandler|displayCtrl|displayNull|displayParent|displayRemoveAllEventHandlers|displayRemoveEventHandler|displaySetEventHandler|dissolveTeam|distance|distance2D|distanceSqr|distributionRegion|do3DENAction|doArtilleryFire|doFire|doFollow|doFSM|doGetOut|doMove|doorPhase|doStop|doSuppressiveFire|doTarget|doWatch|drawArrow|drawEllipse|drawIcon|drawIcon3D|drawLine|drawLine3D|drawLink|drawLocation|drawPolygon|drawRectangle|drawTriangle|driver|drop|dynamicSimulationDistance|dynamicSimulationDistanceCoef|dynamicSimulationEnabled|dynamicSimulationSystemEnabled|east|edit3DENMissionAttributes|editObject|editorSetEventHandler|effectiveCommander|emptyPositions|enableAI|enableAIFeature|enableAimPrecision|enableAttack|enableAudioFeature|enableAutoStartUpRTD|enableAutoTrimRTD|enableCamShake|enableCaustics|enableChannel|enableCollisionWith|enableCopilot|enableDebriefingStats|enableDiagLegend|enableDynamicSimulation|enableDynamicSimulationSystem|enableEndDialog|enableEngineArtillery|enableEnvironment|enableFatigue|enableGunLights|enableInfoPanelComponent|enableIRLasers|enableMimics|enablePersonTurret|enableRadio|enableReload|enableRopeAttach|enableSatNormalOnDetail|enableSaving|enableSentences|enableSimulation|enableSimulationGlobal|enableStamina|enableStressDamage|enableTeamSwitch|enableTraffic|enableUAVConnectability|enableUAVWaypoints|enableVehicleCargo|enableVehicleSensor|enableWeaponDisassembly|endl|endLoadingScreen|endMission|engineOn|enginesIsOnRTD|enginesPowerRTD|enginesRpmRTD|enginesTorqueRTD|entities|environmentEnabled|estimatedEndServerTime|estimatedTimeLeft|evalObjectArgument|everyBackpack|everyContainer|exec|execEditorScript|exp|expectedDestination|exportJIPMessages|eyeDirection|eyePos|face|faction|fadeMusic|fadeRadio|fadeSound|fadeSpeech|failMission|fillWeaponsFromPool|find|findCover|findDisplay|findEditorObject|findEmptyPosition|findEmptyPositionReady|findIf|findNearestEnemy|finishMissionInit|finite|fire|fireAtTarget|firstBackpack|flag|flagAnimationPhase|flagOwner|flagSide|flagTexture|fleeing|floor|flyInHeight|flyInHeightASL|fog|fogForecast|fogParams|forceAddUniform|forceAtPositionRTD|forcedMap|forceEnd|forceFlagTexture|forceFollowRoad|forceGeneratorRTD|forceMap|forceRespawn|forceSpeed|forceWalk|forceWeaponFire|forceWeatherChange|forgetTarget|format|formation|formationDirection|formationLeader|formationMembers|formationPosition|formationTask|formatText|formLeader|freeLook|fromEditor|fuel|fullCrew|gearIDCAmmoCount|gearSlotAmmoCount|gearSlotData|get3DENActionState|get3DENAttribute|get3DENCamera|get3DENConnections|get3DENEntity|get3DENEntityID|get3DENGrid|get3DENIconsVisible|get3DENLayerEntities|get3DENLinesVisible|get3DENMissionAttribute|get3DENMouseOver|get3DENSelected|getAimingCoef|getAllEnvSoundControllers|getAllHitPointsDamage|getAllOwnedMines|getAllSoundControllers|getAmmoCargo|getAnimAimPrecision|getAnimSpeedCoef|getArray|getArtilleryAmmo|getArtilleryComputerSettings|getArtilleryETA|getAssignedCuratorLogic|getAssignedCuratorUnit|getBackpackCargo|getBleedingRemaining|getBurningValue|getCameraViewDirection|getCargoIndex|getCenterOfMass|getClientState|getClientStateNumber|getCompatiblePylonMagazines|getConnectedUAV|getContainerMaxLoad|getCursorObjectParams|getCustomAimCoef|getDammage|getDescription|getDir|getDirVisual|getDLCAssetsUsage|getDLCAssetsUsageByName|getDLCs|getDLCUsageTime|getEditorCamera|getEditorMode|getEditorObjectScope|getElevationOffset|getEngineTargetRpmRTD|getEnvSoundController|getFatigue|getFieldManualStartPage|getForcedFlagTexture|getFriend|getFSMVariable|getFuelCargo|getGroupIcon|getGroupIconParams|getGroupIcons|getHideFrom|getHit|getHitIndex|getHitPointDamage|getItemCargo|getMagazineCargo|getMarkerColor|getMarkerPos|getMarkerSize|getMarkerType|getMass|getMissionConfig|getMissionConfigValue|getMissionDLCs|getMissionLayerEntities|getMissionLayers|getModelInfo|getMousePosition|getMusicPlayedTime|getNumber|getObjectArgument|getObjectChildren|getObjectDLC|getObjectMaterials|getObjectProxy|getObjectTextures|getObjectType|getObjectViewDistance|getOxygenRemaining|getPersonUsedDLCs|getPilotCameraDirection|getPilotCameraPosition|getPilotCameraRotation|getPilotCameraTarget|getPlateNumber|getPlayerChannel|getPlayerScores|getPlayerUID|getPlayerUIDOld|getPos|getPosASL|getPosASLVisual|getPosASLW|getPosATL|getPosATLVisual|getPosVisual|getPosWorld|getPylonMagazines|getRelDir|getRelPos|getRemoteSensorsDisabled|getRepairCargo|getResolution|getRotorBrakeRTD|getShadowDistance|getShotParents|getSlingLoad|getSoundController|getSoundControllerResult|getSpeed|getStamina|getStatValue|getSuppression|getTerrainGrid|getTerrainHeightASL|getText|getTotalDLCUsageTime|getTrimOffsetRTD|getUnitLoadout|getUnitTrait|getUserMFDText|getUserMFDValue|getVariable|getVehicleCargo|getWeaponCargo|getWeaponSway|getWingsOrientationRTD|getWingsPositionRTD|getWPPos|glanceAt|globalChat|globalRadio|goggles|group|groupChat|groupFromNetId|groupIconSelectable|groupIconsVisible|groupId|groupOwner|groupRadio|groupSelectedUnits|groupSelectUnit|grpNull|gunner|gusts|halt|handgunItems|handgunMagazine|handgunWeapon|handsHit|hasInterface|hasPilotCamera|hasWeapon|hcAllGroups|hcGroupParams|hcLeader|hcRemoveAllGroups|hcRemoveGroup|hcSelected|hcSelectGroup|hcSetGroup|hcShowBar|hcShownBar|headgear|hideBody|hideObject|hideObjectGlobal|hideSelection|hint|hintC|hintCadet|hintSilent|hmd|hostMission|htmlLoad|HUDMovementLevels|humidity|image|importAllGroups|importance|in|inArea|inAreaArray|incapacitatedState|independent|inflame|inflamed|infoPanel|infoPanelComponentEnabled|infoPanelComponents|infoPanels|inGameUISetEventHandler|inheritsFrom|initAmbientLife|inPolygon|inputAction|inRangeOfArtillery|insertEditorObject|intersect|is3DEN|is3DENMultiplayer|isAbleToBreathe|isAgent|isAimPrecisionEnabled|isArray|isAutoHoverOn|isAutonomous|isAutoStartUpEnabledRTD|isAutotest|isAutoTrimOnRTD|isBleeding|isBurning|isClass|isCollisionLightOn|isCopilotEnabled|isDamageAllowed|isDedicated|isDLCAvailable|isEngineOn|isEqualTo|isEqualType|isEqualTypeAll|isEqualTypeAny|isEqualTypeArray|isEqualTypeParams|isFilePatchingEnabled|isFlashlightOn|isFlatEmpty|isForcedWalk|isFormationLeader|isGroupDeletedWhenEmpty|isHidden|isInRemainsCollector|isInstructorFigureEnabled|isIRLaserOn|isKeyActive|isKindOf|isLaserOn|isLightOn|isLocalized|isManualFire|isMarkedForCollection|isMultiplayer|isMultiplayerSolo|isNil|isNull|isNumber|isObjectHidden|isObjectRTD|isOnRoad|isPipEnabled|isPlayer|isRealTime|isRemoteExecuted|isRemoteExecutedJIP|isServer|isShowing3DIcons|isSimpleObject|isSprintAllowed|isStaminaEnabled|isSteamMission|isStreamFriendlyUIEnabled|isStressDamageEnabled|isText|isTouchingGround|isTurnedOut|isTutHintsEnabled|isUAVConnectable|isUAVConnected|isUIContext|isUniformAllowed|isVehicleCargo|isVehicleRadarOn|isVehicleSensorEnabled|isWalking|isWeaponDeployed|isWeaponRested|itemCargo|items|itemsWithMagazines|join|joinAs|joinAsSilent|joinSilent|joinString|kbAddDatabase|kbAddDatabaseTargets|kbAddTopic|kbHasTopic|kbReact|kbRemoveTopic|kbTell|kbWasSaid|keyImage|keyName|knowsAbout|land|landAt|landResult|language|laserTarget|lbAdd|lbClear|lbColor|lbColorRight|lbCurSel|lbData|lbDelete|lbIsSelected|lbPicture|lbPictureRight|lbSelection|lbSetColor|lbSetColorRight|lbSetCurSel|lbSetData|lbSetPicture|lbSetPictureColor|lbSetPictureColorDisabled|lbSetPictureColorSelected|lbSetPictureRight|lbSetPictureRightColor|lbSetPictureRightColorDisabled|lbSetPictureRightColorSelected|lbSetSelectColor|lbSetSelectColorRight|lbSetSelected|lbSetText|lbSetTextRight|lbSetTooltip|lbSetValue|lbSize|lbSort|lbSortByValue|lbText|lbTextRight|lbValue|leader|leaderboardDeInit|leaderboardGetRows|leaderboardInit|leaderboardRequestRowsFriends|leaderboardRequestRowsGlobal|leaderboardRequestRowsGlobalAroundUser|leaderboardsRequestUploadScore|leaderboardsRequestUploadScoreKeepBest|leaderboardState|leaveVehicle|libraryCredits|libraryDisclaimers|lifeState|lightAttachObject|lightDetachObject|lightIsOn|lightnings|limitSpeed|linearConversion|lineBreak|lineIntersects|lineIntersectsObjs|lineIntersectsSurfaces|lineIntersectsWith|linkItem|list|listObjects|listRemoteTargets|listVehicleSensors|ln|lnbAddArray|lnbAddColumn|lnbAddRow|lnbClear|lnbColor|lnbColorRight|lnbCurSelRow|lnbData|lnbDeleteColumn|lnbDeleteRow|lnbGetColumnsPosition|lnbPicture|lnbPictureRight|lnbSetColor|lnbSetColorRight|lnbSetColumnsPos|lnbSetCurSelRow|lnbSetData|lnbSetPicture|lnbSetPictureColor|lnbSetPictureColorRight|lnbSetPictureColorSelected|lnbSetPictureColorSelectedRight|lnbSetPictureRight|lnbSetText|lnbSetTextRight|lnbSetValue|lnbSize|lnbSort|lnbSortByValue|lnbText|lnbTextRight|lnbValue|load|loadAbs|loadBackpack|loadFile|loadGame|loadIdentity|loadMagazine|loadOverlay|loadStatus|loadUniform|loadVest|local|localize|locationNull|locationPosition|lock|lockCameraTo|lockCargo|lockDriver|locked|lockedCargo|lockedDriver|lockedTurret|lockIdentity|lockTurret|lockWP|log|logEntities|logNetwork|logNetworkTerminate|lookAt|lookAtPos|magazineCargo|magazines|magazinesAllTurrets|magazinesAmmo|magazinesAmmoCargo|magazinesAmmoFull|magazinesDetail|magazinesDetailBackpack|magazinesDetailUniform|magazinesDetailVest|magazinesTurret|magazineTurretAmmo|mapAnimAdd|mapAnimClear|mapAnimCommit|mapAnimDone|mapCenterOnCamera|mapGridPosition|markAsFinishedOnSteam|markerAlpha|markerBrush|markerColor|markerDir|markerPos|markerShape|markerSize|markerText|markerType|max|members|menuAction|menuAdd|menuChecked|menuClear|menuCollapse|menuData|menuDelete|menuEnable|menuEnabled|menuExpand|menuHover|menuPicture|menuSetAction|menuSetCheck|menuSetData|menuSetPicture|menuSetValue|menuShortcut|menuShortcutText|menuSize|menuSort|menuText|menuURL|menuValue|min|mineActive|mineDetectedBy|missionConfigFile|missionDifficulty|missionName|missionNamespace|missionStart|missionVersion|modelToWorld|modelToWorldVisual|modelToWorldVisualWorld|modelToWorldWorld|modParams|moonIntensity|moonPhase|morale|move|move3DENCamera|moveInAny|moveInCargo|moveInCommander|moveInDriver|moveInGunner|moveInTurret|moveObjectToEnd|moveOut|moveTime|moveTo|moveToCompleted|moveToFailed|musicVolume|name|nameSound|nearEntities|nearestBuilding|nearestLocation|nearestLocations|nearestLocationWithDubbing|nearestObject|nearestObjects|nearestTerrainObjects|nearObjects|nearObjectsReady|nearRoads|nearSupplies|nearTargets|needReload|netId|netObjNull|newOverlay|nextMenuItemIndex|nextWeatherChange|nMenuItems|numberOfEnginesRTD|numberToDate|objectCurators|objectFromNetId|objectParent|objNull|objStatus|onBriefingGear|onBriefingGroup|onBriefingNotes|onBriefingPlan|onBriefingTeamSwitch|onCommandModeChanged|onDoubleClick|onEachFrame|onGroupIconClick|onGroupIconOverEnter|onGroupIconOverLeave|onHCGroupSelectionChanged|onMapSingleClick|onPlayerConnected|onPlayerDisconnected|onPreloadFinished|onPreloadStarted|onShowNewObject|onTeamSwitch|openCuratorInterface|openDLCPage|openDSInterface|openMap|openSteamApp|openYoutubeVideo|opfor|orderGetIn|overcast|overcastForecast|owner|param|params|parseNumber|parseSimpleArray|parseText|parsingNamespace|particlesQuality|pi|pickWeaponPool|pitch|pixelGrid|pixelGridBase|pixelGridNoUIScale|pixelH|pixelW|playableSlotsNumber|playableUnits|playAction|playActionNow|player|playerRespawnTime|playerSide|playersNumber|playGesture|playMission|playMove|playMoveNow|playMusic|playScriptedMission|playSound|playSound3D|position|positionCameraToWorld|posScreenToWorld|posWorldToScreen|ppEffectAdjust|ppEffectCommit|ppEffectCommitted|ppEffectCreate|ppEffectDestroy|ppEffectEnable|ppEffectEnabled|ppEffectForceInNVG|precision|preloadCamera|preloadObject|preloadSound|preloadTitleObj|preloadTitleRsc|primaryWeapon|primaryWeaponItems|primaryWeaponMagazine|priority|processDiaryLink|processInitCommands|productVersion|profileName|profileNamespace|profileNameSteam|progressLoadingScreen|progressPosition|progressSetPosition|publicVariable|publicVariableClient|publicVariableServer|pushBack|pushBackUnique|putWeaponPool|queryItemsPool|queryMagazinePool|queryWeaponPool|rad|radioChannelAdd|radioChannelCreate|radioChannelRemove|radioChannelSetCallSign|radioChannelSetLabel|radioVolume|rain|rainbow|random|rank|rankId|rating|rectangular|registeredTasks|registerTask|reload|reloadEnabled|remoteControl|remoteExec|remoteExecCall|remoteExecutedOwner|remove3DENConnection|remove3DENEventHandler|remove3DENLayer|removeAction|removeAll3DENEventHandlers|removeAllActions|removeAllAssignedItems|removeAllContainers|removeAllCuratorAddons|removeAllCuratorCameraAreas|removeAllCuratorEditingAreas|removeAllEventHandlers|removeAllHandgunItems|removeAllItems|removeAllItemsWithMagazines|removeAllMissionEventHandlers|removeAllMPEventHandlers|removeAllMusicEventHandlers|removeAllOwnedMines|removeAllPrimaryWeaponItems|removeAllWeapons|removeBackpack|removeBackpackGlobal|removeCuratorAddons|removeCuratorCameraArea|removeCuratorEditableObjects|removeCuratorEditingArea|removeDrawIcon|removeDrawLinks|removeEventHandler|removeFromRemainsCollector|removeGoggles|removeGroupIcon|removeHandgunItem|removeHeadgear|removeItem|removeItemFromBackpack|removeItemFromUniform|removeItemFromVest|removeItems|removeMagazine|removeMagazineGlobal|removeMagazines|removeMagazinesTurret|removeMagazineTurret|removeMenuItem|removeMissionEventHandler|removeMPEventHandler|removeMusicEventHandler|removeOwnedMine|removePrimaryWeaponItem|removeSecondaryWeaponItem|removeSimpleTask|removeSwitchableUnit|removeTeamMember|removeUniform|removeVest|removeWeapon|removeWeaponAttachmentCargo|removeWeaponCargo|removeWeaponGlobal|removeWeaponTurret|reportRemoteTarget|requiredVersion|resetCamShake|resetSubgroupDirection|resistance|resize|resources|respawnVehicle|restartEditorCamera|reveal|revealMine|reverse|reversedMouseY|roadAt|roadsConnectedTo|roleDescription|ropeAttachedObjects|ropeAttachedTo|ropeAttachEnabled|ropeAttachTo|ropeCreate|ropeCut|ropeDestroy|ropeDetach|ropeEndPosition|ropeLength|ropes|ropeUnwind|ropeUnwound|rotorsForcesRTD|rotorsRpmRTD|round|runInitScript|safeZoneH|safeZoneW|safeZoneWAbs|safeZoneX|safeZoneXAbs|safeZoneY|save3DENInventory|saveGame|saveIdentity|saveJoysticks|saveOverlay|saveProfileNamespace|saveStatus|saveVar|savingEnabled|say|say2D|say3D|score|scoreSide|screenshot|screenToWorld|scriptDone|scriptName|scriptNull|scudState|secondaryWeapon|secondaryWeaponItems|secondaryWeaponMagazine|select|selectBestPlaces|selectDiarySubject|selectedEditorObjects|selectEditorObject|selectionNames|selectionPosition|selectLeader|selectMax|selectMin|selectNoPlayer|selectPlayer|selectRandom|selectRandomWeighted|selectWeapon|selectWeaponTurret|sendAUMessage|sendSimpleCommand|sendTask|sendTaskResult|sendUDPMessage|serverCommand|serverCommandAvailable|serverCommandExecutable|serverName|serverTime|set|set3DENAttribute|set3DENAttributes|set3DENGrid|set3DENIconsVisible|set3DENLayer|set3DENLinesVisible|set3DENLogicType|set3DENMissionAttribute|set3DENMissionAttributes|set3DENModelsVisible|set3DENObjectType|set3DENSelected|setAccTime|setActualCollectiveRTD|setAirplaneThrottle|setAirportSide|setAmmo|setAmmoCargo|setAmmoOnPylon|setAnimSpeedCoef|setAperture|setApertureNew|setArmoryPoints|setAttributes|setAutonomous|setBehaviour|setBleedingRemaining|setBrakesRTD|setCameraInterest|setCamShakeDefParams|setCamShakeParams|setCamUseTI|setCaptive|setCenterOfMass|setCollisionLight|setCombatMode|setCompassOscillation|setConvoySeparation|setCuratorCameraAreaCeiling|setCuratorCoef|setCuratorEditingAreaType|setCuratorWaypointCost|setCurrentChannel|setCurrentTask|setCurrentWaypoint|setCustomAimCoef|setCustomWeightRTD|setDamage|setDammage|setDate|setDebriefingText|setDefaultCamera|setDestination|setDetailMapBlendPars|setDir|setDirection|setDrawIcon|setDriveOnPath|setDropInterval|setDynamicSimulationDistance|setDynamicSimulationDistanceCoef|setEditorMode|setEditorObjectScope|setEffectCondition|setEngineRpmRTD|setFace|setFaceAnimation|setFatigue|setFeatureType|setFlagAnimationPhase|setFlagOwner|setFlagSide|setFlagTexture|setFog|setForceGeneratorRTD|setFormation|setFormationTask|setFormDir|setFriend|setFromEditor|setFSMVariable|setFuel|setFuelCargo|setGroupIcon|setGroupIconParams|setGroupIconsSelectable|setGroupIconsVisible|setGroupId|setGroupIdGlobal|setGroupOwner|setGusts|setHideBehind|setHit|setHitIndex|setHitPointDamage|setHorizonParallaxCoef|setHUDMovementLevels|setIdentity|setImportance|setInfoPanel|setLeader|setLightAmbient|setLightAttenuation|setLightBrightness|setLightColor|setLightDayLight|setLightFlareMaxDistance|setLightFlareSize|setLightIntensity|setLightnings|setLightUseFlare|setLocalWindParams|setMagazineTurretAmmo|setMarkerAlpha|setMarkerAlphaLocal|setMarkerBrush|setMarkerBrushLocal|setMarkerColor|setMarkerColorLocal|setMarkerDir|setMarkerDirLocal|setMarkerPos|setMarkerPosLocal|setMarkerShape|setMarkerShapeLocal|setMarkerSize|setMarkerSizeLocal|setMarkerText|setMarkerTextLocal|setMarkerType|setMarkerTypeLocal|setMass|setMimic|setMousePosition|setMusicEffect|setMusicEventHandler|setName|setNameSound|setObjectArguments|setObjectMaterial|setObjectMaterialGlobal|setObjectProxy|setObjectTexture|setObjectTextureGlobal|setObjectViewDistance|setOvercast|setOwner|setOxygenRemaining|setParticleCircle|setParticleClass|setParticleFire|setParticleParams|setParticleRandom|setPilotCameraDirection|setPilotCameraRotation|setPilotCameraTarget|setPilotLight|setPiPEffect|setPitch|setPlateNumber|setPlayable|setPlayerRespawnTime|setPos|setPosASL|setPosASL2|setPosASLW|setPosATL|setPosition|setPosWorld|setPylonLoadOut|setPylonsPriority|setRadioMsg|setRain|setRainbow|setRandomLip|setRank|setRectangular|setRepairCargo|setRotorBrakeRTD|setShadowDistance|setShotParents|setSide|setSimpleTaskAlwaysVisible|setSimpleTaskCustomData|setSimpleTaskDescription|setSimpleTaskDestination|setSimpleTaskTarget|setSimpleTaskType|setSimulWeatherLayers|setSize|setSkill|setSlingLoad|setSoundEffect|setSpeaker|setSpeech|setSpeedMode|setStamina|setStaminaScheme|setStatValue|setSuppression|setSystemOfUnits|setTargetAge|setTaskMarkerOffset|setTaskResult|setTaskState|setTerrainGrid|setText|setTimeMultiplier|setTitleEffect|setToneMapping|setToneMappingParams|setTrafficDensity|setTrafficDistance|setTrafficGap|setTrafficSpeed|setTriggerActivation|setTriggerArea|setTriggerStatements|setTriggerText|setTriggerTimeout|setTriggerType|setType|setUnconscious|setUnitAbility|setUnitLoadout|setUnitPos|setUnitPosWeak|setUnitRank|setUnitRecoilCoefficient|setUnitTrait|setUnloadInCombat|setUserActionText|setUserMFDText|setUserMFDValue|setVariable|setVectorDir|setVectorDirAndUp|setVectorUp|setVehicleAmmo|setVehicleAmmoDef|setVehicleArmor|setVehicleCargo|setVehicleId|setVehicleInit|setVehicleLock|setVehiclePosition|setVehicleRadar|setVehicleReceiveRemoteTargets|setVehicleReportOwnPosition|setVehicleReportRemoteTargets|setVehicleTIPars|setVehicleVarName|setVelocity|setVelocityModelSpace|setVelocityTransformation|setViewDistance|setVisibleIfTreeCollapsed|setWantedRpmRTD|setWaves|setWaypointBehaviour|setWaypointCombatMode|setWaypointCompletionRadius|setWaypointDescription|setWaypointForceBehaviour|setWaypointFormation|setWaypointHousePosition|setWaypointLoiterRadius|setWaypointLoiterType|setWaypointName|setWaypointPosition|setWaypointScript|setWaypointSpeed|setWaypointStatements|setWaypointTimeout|setWaypointType|setWaypointVisible|setWeaponReloadingTime|setWind|setWindDir|setWindForce|setWindStr|setWingForceScaleRTD|setWPPos|show3DIcons|showChat|showCinemaBorder|showCommandingMenu|showCompass|showCuratorCompass|showGPS|showHUD|showLegend|showMap|shownArtilleryComputer|shownChat|shownCompass|shownCuratorCompass|showNewEditorObject|shownGPS|shownHUD|shownMap|shownPad|shownRadio|shownScoretable|shownUAVFeed|shownWarrant|shownWatch|showPad|showRadio|showScoretable|showSubtitles|showUAVFeed|showWarrant|showWatch|showWaypoint|showWaypoints|side|sideAmbientLife|sideChat|sideEmpty|sideEnemy|sideFriendly|sideLogic|sideRadio|sideUnknown|simpleTasks|simulationEnabled|simulCloudDensity|simulCloudOcclusion|simulInClouds|simulWeatherSync|sin|size|sizeOf|skill|skillFinal|skipTime|sleep|sliderPosition|sliderRange|sliderSetPosition|sliderSetRange|sliderSetSpeed|sliderSpeed|slingLoadAssistantShown|soldierMagazines|someAmmo|sort|soundVolume|speaker|speed|speedMode|splitString|sqrt|squadParams|stance|startLoadingScreen|stop|stopEngineRTD|stopped|str|sunOrMoon|supportInfo|suppressFor|surfaceIsWater|surfaceNormal|surfaceType|swimInDepth|switchableUnits|switchAction|switchCamera|switchGesture|switchLight|switchMove|synchronizedObjects|synchronizedTriggers|synchronizedWaypoints|synchronizeObjectsAdd|synchronizeObjectsRemove|synchronizeTrigger|synchronizeWaypoint|systemChat|systemOfUnits|tan|targetKnowledge|targets|targetsAggregate|targetsQuery|taskAlwaysVisible|taskChildren|taskCompleted|taskCustomData|taskDescription|taskDestination|taskHint|taskMarkerOffset|taskNull|taskParent|taskResult|taskState|taskType|teamMember|teamMemberNull|teamName|teams|teamSwitch|teamSwitchEnabled|teamType|terminate|terrainIntersect|terrainIntersectASL|terrainIntersectAtASL|text|textLog|textLogFormat|tg|time|timeMultiplier|titleCut|titleFadeOut|titleObj|titleRsc|titleText|toArray|toFixed|toLower|toString|toUpper|triggerActivated|triggerActivation|triggerArea|triggerAttachedVehicle|triggerAttachObject|triggerAttachVehicle|triggerDynamicSimulation|triggerStatements|triggerText|triggerTimeout|triggerTimeoutCurrent|triggerType|turretLocal|turretOwner|turretUnit|tvAdd|tvClear|tvCollapse|tvCollapseAll|tvCount|tvCurSel|tvData|tvDelete|tvExpand|tvExpandAll|tvPicture|tvPictureRight|tvSetColor|tvSetCurSel|tvSetData|tvSetPicture|tvSetPictureColor|tvSetPictureColorDisabled|tvSetPictureColorSelected|tvSetPictureRight|tvSetPictureRightColor|tvSetPictureRightColorDisabled|tvSetPictureRightColorSelected|tvSetSelectColor|tvSetText|tvSetTooltip|tvSetValue|tvSort|tvSortByValue|tvText|tvTooltip|tvValue|type|typeName|typeOf|UAVControl|uiNamespace|uiSleep|unassignCurator|unassignItem|unassignTeam|unassignVehicle|underwater|uniform|uniformContainer|uniformItems|uniformMagazines|unitAddons|unitAimPosition|unitAimPositionVisual|unitBackpack|unitIsUAV|unitPos|unitReady|unitRecoilCoefficient|units|unitsBelowHeight|unlinkItem|unlockAchievement|unregisterTask|updateDrawIcon|updateMenuItem|updateObjectTree|useAIOperMapObstructionTest|useAISteeringComponent|useAudioTimeForMoves|userInputDisabled|vectorAdd|vectorCos|vectorCrossProduct|vectorDiff|vectorDir|vectorDirVisual|vectorDistance|vectorDistanceSqr|vectorDotProduct|vectorFromTo|vectorMagnitude|vectorMagnitudeSqr|vectorModelToWorld|vectorModelToWorldVisual|vectorMultiply|vectorNormalized|vectorUp|vectorUpVisual|vectorWorldToModel|vectorWorldToModelVisual|vehicle|vehicleCargoEnabled|vehicleChat|vehicleRadio|vehicleReceiveRemoteTargets|vehicleReportOwnPosition|vehicleReportRemoteTargets|vehicles|vehicleVarName|velocity|velocityModelSpace|verifySignature|vest|vestContainer|vestItems|vestMagazines|viewDistance|visibleCompass|visibleGPS|visibleMap|visiblePosition|visiblePositionASL|visibleScoretable|visibleWatch|waitUntil|waves|waypointAttachedObject|waypointAttachedVehicle|waypointAttachObject|waypointAttachVehicle|waypointBehaviour|waypointCombatMode|waypointCompletionRadius|waypointDescription|waypointForceBehaviour|waypointFormation|waypointHousePosition|waypointLoiterRadius|waypointLoiterType|waypointName|waypointPosition|waypoints|waypointScript|waypointsEnabledUAV|waypointShow|waypointSpeed|waypointStatements|waypointTimeout|waypointTimeoutCurrent|waypointType|waypointVisible|weaponAccessories|weaponAccessoriesCargo|weaponCargo|weaponDirection|weaponInertia|weaponLowered|weapons|weaponsItems|weaponsItemsCargo|weaponState|weaponsTurret|weightRTD|west|WFSideText|wind|windDir|windRTD|windStr|wingsForcesRTD|worldName|worldSize|worldToModel|worldToModelVisual|worldToScreen)\\b/i,\n\t'number': /(?:\\$|\\b0x)[\\da-f]+\\b|(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d+)?)(?:e[+-]?\\d+)?\\b/i,\n\t'operator': /##|>>|&&|\\|\\||[!=<>]=?|[-+*/%#^]|\\b(?:and|mod|not|or)\\b/i,\n\t'magic-variable': {\n\t\tpattern: /\\b(?:this|thisList|thisTrigger|_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_thisEventHandler|_thisFSM|_thisScript|_x)\\b/i,\n\t\talias: 'keyword'\n\t},\n\t'constant': /\\bDIK(?:_[a-z\\d]+)+\\b/i\n});\n\nPrism.languages.insertBefore('sqf', 'string', {\n\t'macro': {\n\t\tpattern: /(^[ \\t]*)#[a-z](?:[^\\r\\n\\\\]|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'directive': {\n\t\t\t\tpattern: /#[a-z]+\\b/i,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t'comment': Prism.languages.sqf.comment\n\t\t}\n\t}\n});\n\ndelete Prism.languages.sqf['class-name'];\n","Prism.languages.squirrel = Prism.languages.extend('clike', {\n\t'comment': [\n\t\tPrism.languages.clike['comment'][0],\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])(?:\\/\\/|#).*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /(^|[^\\\\\"'@])(?:@\"(?:[^\"]|\"\")*\"(?!\")|\"(?:[^\\\\\\r\\n\"]|\\\\.)*\")/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|enum|extends|instanceof)\\s+)\\w+(?:\\.\\w+)*/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'keyword': /\\b(?:__FILE__|__LINE__|base|break|case|catch|class|clone|const|constructor|continue|default|delete|else|enum|extends|for|foreach|function|if|in|instanceof|local|null|resume|return|static|switch|this|throw|try|typeof|while|yield)\\b/,\n\n\t'number': /\\b(?:0x[0-9a-fA-F]+|\\d+(?:\\.(?:\\d+|[eE][+-]?\\d+))?)\\b/,\n\t'operator': /\\+\\+|--|<=>|<[-<]|>>>?|&&?|\\|\\|?|[-+*/%!=<>]=?|[~^]|::?/,\n\t'punctuation': /[(){}\\[\\],;.]/\n});\n\nPrism.languages.insertBefore('squirrel', 'string', {\n\t'char': {\n\t\tpattern: /(^|[^\\\\\"'])'(?:[^\\\\']|\\\\(?:[xuU][0-9a-fA-F]{0,8}|[\\s\\S]))'/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t}\n});\n\nPrism.languages.insertBefore('squirrel', 'operator', {\n\t'attribute-punctuation': {\n\t\tpattern: /<\\/|\\/>/,\n\t\talias: 'important'\n\t},\n\t'lambda': {\n\t\tpattern: /@(?=\\()/,\n\t\talias: 'operator'\n\t}\n});\n","(function (Prism) {\n\n\t// https://mc-stan.org/docs/2_28/reference-manual/bnf-grammars.html\n\n\tvar higherOrderFunctions = /\\b(?:algebra_solver|algebra_solver_newton|integrate_1d|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|map_rect|ode_(?:adams|bdf|ckrk|rk45)(?:_tol)?|ode_adjoint_tol_ctl|reduce_sum|reduce_sum_static)\\b/;\n\n\tPrism.languages.stan = {\n\t\t'comment': /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\/|#(?!include).*/,\n\t\t'string': {\n\t\t\t// String literals can contain spaces and any printable ASCII characters except for \" and \\\n\t\t\t// https://mc-stan.org/docs/2_24/reference-manual/print-statements-section.html#string-literals\n\t\t\tpattern: /\"[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]*\"/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'directive': {\n\t\t\tpattern: /^([ \\t]*)#include\\b.*/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'property'\n\t\t},\n\n\t\t'function-arg': {\n\t\t\tpattern: RegExp(\n\t\t\t\t'(' +\n\t\t\t\thigherOrderFunctions.source +\n\t\t\t\t/\\s*\\(\\s*/.source +\n\t\t\t\t')' +\n\t\t\t\t/[a-zA-Z]\\w*/.source\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'constraint': {\n\t\t\tpattern: /(\\b(?:int|matrix|real|row_vector|vector)\\s*)<[^<>]*>/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'expression': {\n\t\t\t\t\tpattern: /(=\\s*)\\S(?:\\S|\\s+(?!\\s))*?(?=\\s*(?:>$|,\\s*\\w+\\s*=))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'property': /\\b[a-z]\\w*(?=\\s*=)/i,\n\t\t\t\t'operator': /=/,\n\t\t\t\t'punctuation': /^<|>$|,/\n\t\t\t}\n\t\t},\n\t\t'keyword': [\n\t\t\t{\n\t\t\t\tpattern: /\\bdata(?=\\s*\\{)|\\b(?:functions|generated|model|parameters|quantities|transformed)\\b/,\n\t\t\t\talias: 'program-block'\n\t\t\t},\n\t\t\t/\\b(?:array|break|cholesky_factor_corr|cholesky_factor_cov|complex|continue|corr_matrix|cov_matrix|data|else|for|if|in|increment_log_prob|int|matrix|ordered|positive_ordered|print|real|reject|return|row_vector|simplex|target|unit_vector|vector|void|while)\\b/,\n\t\t\t// these are functions that are known to take another function as their first argument.\n\t\t\thigherOrderFunctions\n\t\t],\n\t\t'function': /\\b[a-z]\\w*(?=\\s*\\()/i,\n\t\t'number': /(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:E[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\n\t\t'operator': /<-|\\.[*/]=?|\\|\\|?|&&|[!=<>+\\-*/]=?|['^%~?:]/,\n\t\t'punctuation': /[()\\[\\]{},;]/\n\t};\n\n\tPrism.languages.stan.constraint.inside.expression.inside = Prism.languages.stan;\n\n}(Prism));\n","// https://www.stata.com/manuals/u.pdf\n// https://www.stata.com/manuals/p.pdf\n\nPrism.languages.stata = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^[ \\t]*)\\*.*/m,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|\\s)\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string-literal': {\n\t\tpattern: /\"[^\"\\r\\n]*\"|[‘`']\".*?\"[’`']/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /\\$\\{[^{}]*\\}|[‘`']\\w[^’`'\\r\\n]*[’`']/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^\\$\\{|\\}$/,\n\t\t\t\t\t'expression': {\n\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\tinside: null // see below\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\n\t'mata': {\n\t\tpattern: /(^[ \\t]*mata[ \\t]*:)[\\s\\S]+?(?=^end\\b)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'language-mata',\n\t\tinside: Prism.languages.mata\n\t},\n\t'java': {\n\t\tpattern: /(^[ \\t]*java[ \\t]*:)[\\s\\S]+?(?=^end\\b)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'language-java',\n\t\tinside: Prism.languages.java\n\t},\n\t'python': {\n\t\tpattern: /(^[ \\t]*python[ \\t]*:)[\\s\\S]+?(?=^end\\b)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'language-python',\n\t\tinside: Prism.languages.python\n\t},\n\n\n\t'command': {\n\t\tpattern: /(^[ \\t]*(?:\\.[ \\t]+)?(?:(?:bayes|bootstrap|by|bysort|capture|collect|fmm|fp|frame|jackknife|mfp|mi|nestreg|noisily|permute|quietly|rolling|simulate|statsby|stepwise|svy|version|xi)\\b[^:\\r\\n]*:[ \\t]*|(?:capture|noisily|quietly|version)[ \\t]+)?)[a-zA-Z]\\w*/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'keyword'\n\t},\n\t'variable': /\\$\\w+|[‘`']\\w[^’`'\\r\\n]*[’`']/,\n\t'keyword': /\\b(?:bayes|bootstrap|by|bysort|capture|clear|collect|fmm|fp|frame|if|in|jackknife|mi[ \\t]+estimate|mfp|nestreg|noisily|of|permute|quietly|rolling|simulate|sort|statsby|stepwise|svy|varlist|version|xi)\\b/,\n\n\n\t'boolean': /\\b(?:off|on)\\b/,\n\t'number': /\\b\\d+(?:\\.\\d+)?\\b|\\B\\.\\d+/,\n\t'function': /\\b[a-z_]\\w*(?=\\()/i,\n\n\t'operator': /\\+\\+|--|##?|[<>!=~]=?|[+\\-*^&|/]/,\n\t'punctuation': /[(){}[\\],:]/\n};\n\nPrism.languages.stata['string-literal'].inside.interpolation.inside.expression.inside = Prism.languages.stata;\n","Prism.languages.iecst = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\(\\*[\\s\\S]*?(?:\\*\\)|$)|\\{[\\s\\S]*?(?:\\}|$))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t},\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true,\n\t},\n\t'keyword': [\n\t\t/\\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:ACCESS|CONFIG|EXTERNAL|GLOBAL|INPUT|IN_OUT|OUTPUT|TEMP)|VAR|METHOD|PROPERTY)\\b/i,\n\t\t/\\b(?:AT|BY|(?:END_)?(?:CASE|FOR|IF|REPEAT|WHILE)|CONSTANT|CONTINUE|DO|ELSE|ELSIF|EXIT|EXTENDS|FROM|GET|GOTO|IMPLEMENTS|JMP|NON_RETAIN|OF|PRIVATE|PROTECTED|PUBLIC|RETAIN|RETURN|SET|TASK|THEN|TO|UNTIL|USING|WITH|__CATCH|__ENDTRY|__FINALLY|__TRY)\\b/\n\t],\n\t'class-name': /\\b(?:ANY|ARRAY|BOOL|BYTE|U?(?:D|L|S)?INT|(?:D|L)?WORD|DATE(?:_AND_TIME)?|DT|L?REAL|POINTER|STRING|TIME(?:_OF_DAY)?|TOD)\\b/,\n\t'address': {\n\t\tpattern: /%[IQM][XBWDL][\\d.]*|%[IQ][\\d.]*/,\n\t\talias: 'symbol'\n\t},\n\t'number': /\\b(?:16#[\\da-f]+|2#[01_]+|0x[\\da-f]+)\\b|\\b(?:D|DT|T|TOD)#[\\d_shmd:]*|\\b[A-Z]*#[\\d.,_]*|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'boolean': /\\b(?:FALSE|NULL|TRUE)\\b/,\n\t'operator': /S?R?:?=>?|&&?|\\*\\*?|<[=>]?|>=?|[-:^/+#]|\\b(?:AND|EQ|EXPT|GE|GT|LE|LT|MOD|NE|NOT|OR|XOR)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'punctuation': /[()[\\].,;]/,\n};\n","Prism.languages.supercollider = {\n\t'comment': {\n\t\tpattern: /\\/\\/.*|\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\//,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(^|[^\\\\])\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'char': {\n\t\tpattern: /\\$(?:[^\\\\\\r\\n]|\\\\.)/,\n\t\tgreedy: true\n\t},\n\t'symbol': {\n\t\tpattern: /(^|[^\\\\])'(?:[^'\\\\]|\\\\[\\s\\S])*'|\\\\\\w+/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\n\t'keyword': /\\b(?:_|arg|classvar|const|nil|var|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\n\t'label': {\n\t\tpattern: /\\b[a-z_]\\w*(?=\\s*:)/,\n\t\talias: 'property'\n\t},\n\n\t'number': /\\b(?:inf|pi|0x[0-9a-fA-F]+|\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(?:pi)?|\\d+r[0-9a-zA-Z]+(?:\\.[0-9a-zA-Z]+)?|\\d+[sb]{1,4}\\d*)\\b/,\n\t'class-name': /\\b[A-Z]\\w*\\b/,\n\n\t'operator': /\\.{2,3}|#(?![[{])|&&|[!=]==?|\\+>>|\\+{1,3}|-[->]|=>|>>|\\?\\?|@\\|?@|\\|(?:@|[!=]=)?\\||!\\?|<[!=>]|\\*{1,2}|<{2,3}\\*?|[-!%&/<>?@|=`]/,\n\t'punctuation': /[{}()[\\].:,;]|#[[{]/\n};\n\nPrism.languages.sclang = Prism.languages.supercollider;\n","Prism.languages.swift = {\n\t'comment': {\n\t\t// Nested comments are supported up to 2 levels\n\t\tpattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-literal': [\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ /(?![\"#])/.source\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\\\(?=[\\r\\n])/,\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])(#+)/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ '\\\\2'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\#+\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t],\n\n\t'directive': {\n\t\t// directives with conditions\n\t\tpattern: RegExp(\n\t\t\t/#/.source\n\t\t\t+ '(?:'\n\t\t\t+ (\n\t\t\t\t/(?:elseif|if)\\b/.source\n\t\t\t\t+ '(?:[ \\t]*'\n\t\t\t\t// This regex is a little complex. It's equivalent to this:\n\t\t\t\t// (?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*<round>)?|<round>)(?:[ \\t]*(?:&&|\\|\\|))?\n\t\t\t\t// where <round> is a general parentheses expression.\n\t\t\t\t+ /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source\n\t\t\t\t+ ')+'\n\t\t\t)\n\t\t\t+ '|'\n\t\t\t+ /(?:else|endif)\\b/.source\n\t\t\t+ ')'\n\t\t),\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'directive-name': /^#\\w+/,\n\t\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t\t'number': /\\b\\d+(?:\\.\\d+)*\\b/,\n\t\t\t'operator': /!|&&|\\|\\||[<>]=?/,\n\t\t\t'punctuation': /[(),]/\n\t\t}\n\t},\n\t'literal': {\n\t\tpattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,\n\t\talias: 'constant'\n\t},\n\t'other-directive': {\n\t\tpattern: /#\\w+\\b/,\n\t\talias: 'property'\n\t},\n\n\t'attribute': {\n\t\tpattern: /@\\w+/,\n\t\talias: 'atrule'\n\t},\n\n\t'function-definition': {\n\t\tpattern: /(\\bfunc\\s+)\\w+/,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'label': {\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141\n\t\tpattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,\n\t\tlookbehind: true,\n\t\talias: 'important'\n\t},\n\n\t'keyword': /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'nil': {\n\t\tpattern: /\\bnil\\b/,\n\t\talias: 'constant'\n\t},\n\n\t'short-argument': /\\$\\d+\\b/,\n\t'omit': {\n\t\tpattern: /\\b_\\b/,\n\t\talias: 'keyword'\n\t},\n\t'number': /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n\n\t// A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.\n\t'class-name': /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'constant': /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n\n\t// Operators are generic in Swift. Developers can even create new operators (e.g. +++).\n\t// https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481\n\t// This regex only supports ASCII operators.\n\t'operator': /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,\n\t'punctuation': /[{}[\\]();,.:\\\\]/\n};\n\nPrism.languages.swift['string-literal'].forEach(function (rule) {\n\trule.inside['interpolation'].inside = Prism.languages.swift;\n});\n","// https://www.freedesktop.org/software/systemd/man/systemd.syntax.html\n\n(function (Prism) {\n\n\tvar comment = {\n\t\tpattern: /^[;#].*/m,\n\t\tgreedy: true\n\t};\n\n\tvar quotesSource = /\"(?:[^\\r\\n\"\\\\]|\\\\(?:[^\\r]|\\r\\n?))*\"(?!\\S)/.source;\n\n\tPrism.languages.systemd = {\n\t\t'comment': comment,\n\n\t\t'section': {\n\t\t\tpattern: /^\\[[^\\n\\r\\[\\]]*\\](?=[ \\t]*$)/m,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^\\[|\\]$/,\n\t\t\t\t'section-name': {\n\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\n\t\t'key': {\n\t\t\tpattern: /^[^\\s=]+(?=[ \\t]*=)/m,\n\t\t\tgreedy: true,\n\t\t\talias: 'attr-name'\n\t\t},\n\t\t'value': {\n\t\t\t// This pattern is quite complex because of two properties:\n\t\t\t// 1) Quotes (strings) must be preceded by a space. Since we can't use lookbehinds, we have to \"resolve\"\n\t\t\t// the lookbehind. You will see this in the main loop where spaces are handled separately.\n\t\t\t// 2) Line continuations.\n\t\t\t// After line continuations, empty lines and comments are ignored so we have to consume them.\n\t\t\tpattern: RegExp(\n\t\t\t\t/(=[ \\t]*(?!\\s))/.source +\n\t\t\t\t// the value either starts with quotes or not\n\t\t\t\t'(?:' + quotesSource + '|(?=[^\"\\r\\n]))' +\n\t\t\t\t// main loop\n\t\t\t\t'(?:' + (\n\t\t\t\t\t/[^\\s\\\\]/.source +\n\t\t\t\t\t// handle spaces separately because of quotes\n\t\t\t\t\t'|' + '[ \\t]+(?:(?![ \\t\"])|' + quotesSource + ')' +\n\t\t\t\t\t// line continuation\n\t\t\t\t\t'|' + /\\\\[\\r\\n]+(?:[#;].*[\\r\\n]+)*(?![#;])/.source\n\t\t\t\t) +\n\t\t\t\t')*'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'attr-value',\n\t\t\tinside: {\n\t\t\t\t'comment': comment,\n\t\t\t\t'quoted': {\n\t\t\t\t\tpattern: RegExp(/(^|\\s)/.source + quotesSource),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tgreedy: true,\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\\\$/m,\n\n\t\t\t\t'boolean': {\n\t\t\t\t\tpattern: /^(?:false|no|off|on|true|yes)$/,\n\t\t\t\t\tgreedy: true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t'punctuation': /=/\n\t};\n\n}(Prism));\n","(function (Prism) {\n\n\tfunction createBlock(prefix, inside, contentAlias) {\n\t\treturn {\n\t\t\tpattern: RegExp('<#' + prefix + '[\\\\s\\\\S]*?#>'),\n\t\t\talias: 'block',\n\t\t\tinside: {\n\t\t\t\t'delimiter': {\n\t\t\t\t\tpattern: RegExp('^<#' + prefix + '|#>$'),\n\t\t\t\t\talias: 'important'\n\t\t\t\t},\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\tinside: inside,\n\t\t\t\t\talias: contentAlias\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction createT4(insideLang) {\n\t\tvar grammar = Prism.languages[insideLang];\n\t\tvar className = 'language-' + insideLang;\n\n\t\treturn {\n\t\t\t'block': {\n\t\t\t\tpattern: /<#[\\s\\S]+?#>/,\n\t\t\t\tinside: {\n\t\t\t\t\t'directive': createBlock('@', {\n\t\t\t\t\t\t'attr-value': {\n\t\t\t\t\t\t\tpattern: /=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/,\n\t\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t\t'punctuation': /^=|^[\"']|[\"']$/\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'keyword': /\\b\\w+(?=\\s)/,\n\t\t\t\t\t\t'attr-name': /\\b\\w+/\n\t\t\t\t\t}),\n\t\t\t\t\t'expression': createBlock('=', grammar, className),\n\t\t\t\t\t'class-feature': createBlock('\\\\+', grammar, className),\n\t\t\t\t\t'standard': createBlock('', grammar, className)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tPrism.languages['t4-templating'] = Object.defineProperty({}, 'createT4', { value: createT4 });\n\n}(Prism));\n","Prism.languages.t4 = Prism.languages['t4-cs'] = Prism.languages['t4-templating'].createT4('csharp');\n","Prism.languages.vbnet = Prism.languages.extend('basic', {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(?:!|REM\\b).+/i,\n\t\t\tinside: {\n\t\t\t\t'keyword': /^REM/i\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])'.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /(^|[^\"])\"(?:\"\"|[^\"])*\"(?!\")/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'keyword': /(?:\\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\\$|\\b)/i,\n\t'punctuation': /[,;:(){}]/\n});\n","Prism.languages['t4-vb'] = Prism.languages['t4-templating'].createT4('vbnet');\n","// https://en.wikipedia.org/wiki/Test_Anything_Protocol\n\nPrism.languages.tap = {\n\t'fail': /not ok[^#{\\n\\r]*/,\n\t'pass': /ok[^#{\\n\\r]*/,\n\t'pragma': /pragma [+-][a-z]+/,\n\t'bailout': /bail out!.*/i,\n\t'version': /TAP version \\d+/i,\n\t'plan': /\\b\\d+\\.\\.\\d+(?: +#.*)?/,\n\t'subtest': {\n\t\tpattern: /# Subtest(?:: .*)?/,\n\t\tgreedy: true\n\t},\n\t'punctuation': /[{}]/,\n\t'directive': /#.*/,\n\t'yamlish': {\n\t\tpattern: /(^[ \\t]*)---[\\s\\S]*?[\\r\\n][ \\t]*\\.\\.\\.$/m,\n\t\tlookbehind: true,\n\t\tinside: Prism.languages.yaml,\n\t\talias: 'language-yaml'\n\t}\n};\n","Prism.languages.tcl = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])#.*/,\n\t\tlookbehind: true\n\t},\n\t'string': {\n\t\tpattern: /\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"/,\n\t\tgreedy: true\n\t},\n\t'variable': [\n\t\t{\n\t\t\tpattern: /(\\$)(?:::)?(?:[a-zA-Z0-9]+::)*\\w+/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\$)\\{[^}]+\\}/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^[\\t ]*set[ \\t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\\w+/m,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'function': {\n\t\tpattern: /(^[\\t ]*proc[ \\t]+)\\S+/m,\n\t\tlookbehind: true\n\t},\n\t'builtin': [\n\t\t{\n\t\t\tpattern: /(^[\\t ]*)(?:break|class|continue|error|eval|exit|for|foreach|if|proc|return|switch|while)\\b/m,\n\t\t\tlookbehind: true\n\t\t},\n\t\t/\\b(?:else|elseif)\\b/\n\t],\n\t'scope': {\n\t\tpattern: /(^[\\t ]*)(?:global|upvar|variable)\\b/m,\n\t\tlookbehind: true,\n\t\talias: 'constant'\n\t},\n\t'keyword': {\n\t\tpattern: /(^[\\t ]*|\\[)(?:Safe_Base|Tcl|after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|scan|seek|set|socket|source|split|string|subst|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|test|vars|wordBreak(?:After|Before))|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\\b/m,\n\t\tlookbehind: true\n\t},\n\t'operator': /!=?|\\*\\*?|==|&&?|\\|\\|?|<[=<]?|>[=>]?|[-+~\\/%?^]|\\b(?:eq|in|ne|ni)\\b/,\n\t'punctuation': /[{}()\\[\\]]/\n};\n","(function (Prism) {\n\n\tPrism.languages.tt2 = Prism.languages.extend('clike', {\n\t\t'comment': /#.*|\\[%#[\\s\\S]*?%\\]/,\n\t\t'keyword': /\\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|SWITCH|TAGS|THROW|TRY|UNLESS|USE|WHILE|WRAPPER)\\b/,\n\t\t'punctuation': /[[\\]{},()]/\n\t});\n\n\tPrism.languages.insertBefore('tt2', 'number', {\n\t\t'operator': /=[>=]?|!=?|<=?|>=?|&&|\\|\\|?|\\b(?:and|not|or)\\b/,\n\t\t'variable': {\n\t\t\tpattern: /\\b[a-z]\\w*(?:\\s*\\.\\s*(?:\\d+|\\$?[a-z]\\w*))*\\b/i\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('tt2', 'keyword', {\n\t\t'delimiter': {\n\t\t\tpattern: /^(?:\\[%|%%)-?|-?%\\]$/,\n\t\t\talias: 'punctuation'\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('tt2', 'string', {\n\t\t'single-quoted-string': {\n\t\t\tpattern: /'[^\\\\']*(?:\\\\[\\s\\S][^\\\\']*)*'/,\n\t\t\tgreedy: true,\n\t\t\talias: 'string'\n\t\t},\n\t\t'double-quoted-string': {\n\t\t\tpattern: /\"[^\\\\\"]*(?:\\\\[\\s\\S][^\\\\\"]*)*\"/,\n\t\t\tgreedy: true,\n\t\t\talias: 'string',\n\t\t\tinside: {\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /\\$(?:[a-z]\\w*(?:\\.(?:\\d+|\\$?[a-z]\\w*))*)/i\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t// The different types of TT2 strings \"replace\" the C-like standard string\n\tdelete Prism.languages.tt2.string;\n\n\tPrism.hooks.add('before-tokenize', function (env) {\n\t\tvar tt2Pattern = /\\[%[\\s\\S]+?%\\]/g;\n\t\tPrism.languages['markup-templating'].buildPlaceholders(env, 'tt2', tt2Pattern);\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tPrism.languages['markup-templating'].tokenizePlaceholders(env, 'tt2');\n\t});\n\n}(Prism));\n","(function (Prism) {\n\n\tvar key = /(?:[\\w-]+|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")/.source;\n\n\t/**\n\t * @param {string} pattern\n\t */\n\tfunction insertKey(pattern) {\n\t\treturn pattern.replace(/__/g, function () { return key; });\n\t}\n\n\tPrism.languages.toml = {\n\t\t'comment': {\n\t\t\tpattern: /#.*/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'table': {\n\t\t\tpattern: RegExp(insertKey(/(^[\\t ]*\\[\\s*(?:\\[\\s*)?)__(?:\\s*\\.\\s*__)*(?=\\s*\\])/.source), 'm'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'key': {\n\t\t\tpattern: RegExp(insertKey(/(^[\\t ]*|[{,]\\s*)__(?:\\s*\\.\\s*__)*(?=\\s*=)/.source), 'm'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: 'property'\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /\"\"\"(?:\\\\[\\s\\S]|[^\\\\])*?\"\"\"|'''[\\s\\S]*?'''|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'date': [\n\t\t\t{\n\t\t\t\t// Offset Date-Time, Local Date-Time, Local Date\n\t\t\t\tpattern: /\\b\\d{4}-\\d{2}-\\d{2}(?:[T\\s]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?\\b/i,\n\t\t\t\talias: 'number'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// Local Time\n\t\t\t\tpattern: /\\b\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?\\b/,\n\t\t\t\talias: 'number'\n\t\t\t}\n\t\t],\n\t\t'number': /(?:\\b0(?:x[\\da-zA-Z]+(?:_[\\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\\b|[-+]?\\b\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?\\b|[-+]?\\b(?:inf|nan)\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'punctuation': /[.,=[\\]{}]/\n\t};\n}(Prism));\n","(function (Prism) {\n\n\tPrism.languages.tremor = {\n\t\t'comment': {\n\t\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'interpolated-string': null, // see below\n\t\t'extractor': {\n\t\t\tpattern: /\\b[a-z_]\\w*\\|(?:[^\\r\\n\\\\|]|\\\\(?:\\r\\n|[\\s\\S]))*\\|/i,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'regex': {\n\t\t\t\t\tpattern: /(^re)\\|[\\s\\S]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'function': /^\\w+/,\n\t\t\t\t'value': /\\|[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t'identifier': {\n\t\t\tpattern: /`[^`]*`/,\n\t\t\tgreedy: true\n\t\t},\n\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())\\b/,\n\n\t\t'keyword': /\\b(?:args|as|by|case|config|connect|connector|const|copy|create|default|define|deploy|drop|each|emit|end|erase|event|flow|fn|for|from|group|having|insert|into|intrinsic|let|links|match|merge|mod|move|of|operator|patch|pipeline|recur|script|select|set|sliding|state|stream|to|tumbling|update|use|when|where|window|with)\\b/,\n\t\t'boolean': /\\b(?:false|null|true)\\b/i,\n\n\t\t'number': /\\b(?:0b[01_]*|0x[0-9a-fA-F_]*|\\d[\\d_]*(?:\\.\\d[\\d_]*)?(?:[Ee][+-]?[\\d_]+)?)\\b/,\n\n\t\t'pattern-punctuation': {\n\t\t\tpattern: /%(?=[({[])/,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'operator': /[-+*\\/%~!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?>?=?|(?:absent|and|not|or|present|xor)\\b/,\n\t\t'punctuation': /::|[;\\[\\]()\\{\\},.:]/,\n\t};\n\n\tvar interpolationPattern = /#\\{(?:[^\"{}]|\\{[^{}]*\\}|\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\")*\\}/.source;\n\n\tPrism.languages.tremor['interpolated-string'] = {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\\\])/.source +\n\t\t\t'(?:' +\n\t\t\t'\"\"\"(?:' + /[^\"\\\\#]|\\\\[\\s\\S]|\"(?!\"\")|#(?!\\{)/.source + '|' + interpolationPattern + ')*\"\"\"' +\n\t\t\t'|' +\n\t\t\t'\"(?:' + /[^\"\\\\\\r\\n#]|\\\\(?:\\r\\n|[\\s\\S])|#(?!\\{)/.source + '|' + interpolationPattern + ')*\"' +\n\t\t\t')'\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: RegExp(interpolationPattern),\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^#\\{|\\}$/,\n\t\t\t\t\t'expression': {\n\t\t\t\t\t\tpattern: /[\\s\\S]+/,\n\t\t\t\t\t\tinside: Prism.languages.tremor\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t};\n\n\tPrism.languages.troy = Prism.languages['tremor'];\n\tPrism.languages.trickle = Prism.languages['tremor'];\n\n}(Prism));\n","(function (Prism) {\n\n\tvar keywords = /\\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\\b/;\n\n\tPrism.languages.typoscript = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\t// multiline comments /* */\n\t\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// double-slash comments - ignored when backslashes or colon is found in front\n\t\t\t\t// also ignored whenever directly after an equal-sign, because it would probably be an url without protocol\n\t\t\t\tpattern: /(^|[^\\\\:= \\t]|(?:^|[^= \\t])[ \\t]+)\\/\\/.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// hash comments - ignored when leading quote is found for hex colors in strings\n\t\t\t\tpattern: /(^|[^\"'])#.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'function': [\n\t\t\t{\n\t\t\t\t// old include style\n\t\t\t\tpattern: /<INCLUDE_TYPOSCRIPT:\\s*source\\s*=\\s*(?:\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')\\s*>/,\n\t\t\t\tinside: {\n\t\t\t\t\t'string': {\n\t\t\t\t\t\tpattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n\t\t\t\t\t\tinside: {\n\t\t\t\t\t\t\t'keyword': keywords,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'keyword': {\n\t\t\t\t\t\tpattern: /INCLUDE_TYPOSCRIPT/,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\t// new include style\n\t\t\t\tpattern: /@import\\s*(?:\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')/,\n\t\t\t\tinside: {\n\t\t\t\t\t'string': /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n\t\t\t\t},\n\t\t\t}\n\t\t],\n\t\t'string': {\n\t\t\tpattern: /^([^=]*=[< ]?)(?:(?!\\]\\n).)*/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'function': /\\{\\$.*\\}/, // constants include\n\t\t\t\t'keyword': keywords,\n\t\t\t\t'number': /^\\d+$/,\n\t\t\t\t'punctuation': /[,|:]/,\n\t\t\t}\n\t\t},\n\t\t'keyword': keywords,\n\t\t'number': {\n\t\t\t// special highlighting for indexes of arrays in tags\n\t\t\tpattern: /\\b\\d+\\s*[.{=]/,\n\t\t\tinside: {\n\t\t\t\t'operator': /[.{=]/,\n\t\t\t}\n\t\t},\n\t\t'tag': {\n\t\t\tpattern: /\\.?[-\\w\\\\]+\\.?/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\./,\n\t\t\t}\n\t\t},\n\t\t'punctuation': /[{}[\\];(),.:|]/,\n\t\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t};\n\n\tPrism.languages.tsconfig = Prism.languages.typoscript;\n\n}(Prism));\n","Prism.languages.unrealscript = {\n\t'comment': /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'category': {\n\t\tpattern: /(\\b(?:(?:autoexpand|hide|show)categories|var)\\s*\\()[^()]+(?=\\))/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t},\n\t'metadata': {\n\t\tpattern: /(\\w\\s*)<\\s*\\w+\\s*=[^<>|=\\r\\n]+(?:\\|\\s*\\w+\\s*=[^<>|=\\r\\n]+)*>/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'property': /\\b\\w+(?=\\s*=)/,\n\t\t\t'operator': /=/,\n\t\t\t'punctuation': /[<>|]/\n\t\t}\n\t},\n\t'macro': {\n\t\tpattern: /`\\w+/,\n\t\talias: 'property'\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|enum|extends|interface|state(?:\\(\\))?|struct|within)\\s+)\\w+/,\n\t\tlookbehind: true\n\t},\n\n\t'keyword': /\\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t// https://docs.unrealengine.com/udk/Three/UnrealScriptExpressions.html\n\t'operator': />>|<<|--|\\+\\+|\\*\\*|[-+*/~!=<>$@]=?|&&?|\\|\\|?|\\^\\^?|[?:%]|\\b(?:ClockwiseFrom|Cross|Dot)\\b/,\n\t'punctuation': /[()[\\]{};,.]/\n};\n\nPrism.languages.uc = Prism.languages.uscript = Prism.languages.unrealscript;\n","Prism.languages.uorazor = {\n\t'comment-hash': {\n\t\tpattern: /#.*/,\n\t\talias: 'comment',\n\t\tgreedy: true\n\t},\n\t'comment-slash': {\n\t\tpattern: /\\/\\/.*/,\n\t\talias: 'comment',\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tinside: {\n\t\t\t'punctuation': /^['\"]|['\"]$/\n\t\t},\n\t\tgreedy: true\n\t},\n\t'source-layers': {\n\t\tpattern: /\\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\\b/i,\n\t\talias: 'function'\n\t},\n\t'source-commands': {\n\t\tpattern: /\\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\\b/,\n\t\talias: 'function'\n\t},\n\t'tag-name': {\n\t\tpattern: /(^\\{%-?\\s*)\\w+/,\n\t\tlookbehind: true,\n\t\talias: 'keyword'\n\t},\n\t'delimiter': {\n\t\tpattern: /^\\{[{%]-?|-?[%}]\\}$/,\n\t\talias: 'punctuation'\n\t},\n\t'function': /\\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\\b/,\n\t'keyword': /\\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\\b/,\n\t'boolean': /\\b(?:false|null|true)\\b/,\n\t'number': /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n\t'operator': [\n\t\t{\n\t\t\tpattern: /(\\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t/[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/\n\t],\n\t'punctuation': /[()\\[\\]{}:.,]/\n};\n","(function (Prism) {\n\tvar interpolationExpr = {\n\t\tpattern: /[\\s\\S]+/,\n\t\tinside: null\n\t};\n\n\tPrism.languages.v = Prism.languages.extend('clike', {\n\t\t'string': {\n\t\t\tpattern: /r?([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\t\talias: 'quoted-string',\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\{[^{}]*\\}|\\w+(?:\\.\\w+(?:\\([^\\(\\)]*\\))?|\\[[^\\[\\]]+\\])*)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'interpolation-variable': {\n\t\t\t\t\t\t\tpattern: /^\\$\\w[\\s\\S]*$/,\n\t\t\t\t\t\t\talias: 'variable'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'interpolation-expression': interpolationExpr\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'class-name': {\n\t\t\tpattern: /(\\b(?:enum|interface|struct|type)\\s+)(?:C\\.)?\\w+/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'keyword': /(?:\\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\\$(?:else|for|if)|#(?:flag|include))\\b/,\n\t\t'number': /\\b(?:0x[a-f\\d]+(?:_[a-f\\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?)\\b/i,\n\t\t'operator': /~|\\?|[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\.?/,\n\t\t'builtin': /\\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\\b/\n\t});\n\n\tinterpolationExpr.inside = Prism.languages.v;\n\n\tPrism.languages.insertBefore('v', 'string', {\n\t\t'char': {\n\t\t\tpattern: /`(?:\\\\`|\\\\?[^`]{1,2})`/, // using {1,2} instead of `u` flag for compatibility\n\t\t\talias: 'rune'\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('v', 'operator', {\n\t\t'attribute': {\n\t\t\tpattern: /(^[\\t ]*)\\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\\]/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'annotation',\n\t\t\tinside: {\n\t\t\t\t'punctuation': /[\\[\\]]/,\n\t\t\t\t'keyword': /\\w+/\n\t\t\t}\n\t\t},\n\t\t'generic': {\n\t\t\tpattern: /<\\w+>(?=\\s*[\\)\\{])/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /[<>]/,\n\t\t\t\t'class-name': /\\w+/\n\t\t\t}\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('v', 'function', {\n\t\t'generic-function': {\n\t\t\t// e.g. foo<T>( ...\n\t\t\tpattern: /\\b\\w+\\s*<\\w+>(?=\\()/,\n\t\t\tinside: {\n\t\t\t\t'function': /^\\w+/,\n\t\t\t\t'generic': {\n\t\t\t\t\tpattern: /<\\w+>/,\n\t\t\t\t\tinside: Prism.languages.v.generic.inside\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n}(Prism));\n","Prism.languages.vala = Prism.languages.extend('clike', {\n\t// Classes copied from prism-csharp\n\t'class-name': [\n\t\t{\n\t\t\t// (Foo bar, Bar baz)\n\t\t\tpattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b(?=(?:\\?\\s+|\\*?\\s+\\*?)\\w)/,\n\t\t\tinside: {\n\t\t\t\tpunctuation: /\\./\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t// [Foo]\n\t\t\tpattern: /(\\[)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\tpunctuation: /\\./\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t// class Foo : Bar\n\t\t\tpattern: /(\\b(?:class|interface)\\s+[A-Z]\\w*(?:\\.\\w+)*\\s*:\\s*)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\tpunctuation: /\\./\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t// class Foo\n\t\t\tpattern: /((?:\\b(?:class|enum|interface|new|struct)\\s+)|(?:catch\\s+\\())[A-Z]\\w*(?:\\.\\w+)*\\b/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\tpunctuation: /\\./\n\t\t\t}\n\t\t}\n\t],\n\t'keyword': /\\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\\b/i,\n\t'function': /\\b\\w+(?=\\s*\\()/,\n\t'number': /(?:\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)(?:f|u?l?)?/i,\n\t'operator': /\\+\\+|--|&&|\\|\\||<<=?|>>=?|=>|->|~|[+\\-*\\/%&^|=!<>]=?|\\?\\??|\\.\\.\\./,\n\t'punctuation': /[{}[\\];(),.:]/,\n\t'constant': /\\b[A-Z0-9_]+\\b/\n});\n\nPrism.languages.insertBefore('vala', 'string', {\n\t'raw-string': {\n\t\tpattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'template-string': {\n\t\tpattern: /@\"[\\s\\S]*?\"/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /\\$(?:\\([^)]*\\)|[a-zA-Z]\\w*)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'delimiter': {\n\t\t\t\t\t\tpattern: /^\\$\\(?|\\)$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.vala\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t}\n});\n\nPrism.languages.insertBefore('vala', 'keyword', {\n\t'regex': {\n\t\tpattern: /\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[imsx]{0,4}(?=\\s*(?:$|[\\r\\n,.;})\\]]))/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\//,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t}\n});\n","(function (Prism) {\n\tPrism.languages.velocity = Prism.languages.extend('markup', {});\n\n\tvar velocity = {\n\t\t'variable': {\n\t\t\tpattern: /(^|[^\\\\](?:\\\\\\\\)*)\\$!?(?:[a-z][\\w-]*(?:\\([^)]*\\))?(?:\\.[a-z][\\w-]*(?:\\([^)]*\\))?|\\[[^\\]]+\\])*|\\{[^}]+\\})/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: {} // See below\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'number': /\\b\\d+\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'operator': /[=!<>]=?|[+*/%-]|&&|\\|\\||\\.\\.|\\b(?:eq|g[et]|l[et]|n(?:e|ot))\\b/,\n\t\t'punctuation': /[(){}[\\]:,.]/\n\t};\n\n\tvelocity.variable.inside = {\n\t\t'string': velocity['string'],\n\t\t'function': {\n\t\t\tpattern: /([^\\w-])[a-z][\\w-]*(?=\\()/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'number': velocity['number'],\n\t\t'boolean': velocity['boolean'],\n\t\t'punctuation': velocity['punctuation']\n\t};\n\n\tPrism.languages.insertBefore('velocity', 'comment', {\n\t\t'unparsed': {\n\t\t\tpattern: /(^|[^\\\\])#\\[\\[[\\s\\S]*?\\]\\]#/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^#\\[\\[|\\]\\]#$/\n\t\t\t}\n\t\t},\n\t\t'velocity-comment': [\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\])#\\*[\\s\\S]*?\\*#/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\talias: 'comment'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\])##.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\talias: 'comment'\n\t\t\t}\n\t\t],\n\t\t'directive': {\n\t\t\tpattern: /(^|[^\\\\](?:\\\\\\\\)*)#@?(?:[a-z][\\w-]*|\\{[a-z][\\w-]*\\})(?:\\s*\\((?:[^()]|\\([^()]*\\))*\\))?/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /^#@?(?:[a-z][\\w-]*|\\{[a-z][\\w-]*\\})|\\bin\\b/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /[{}]/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\trest: velocity\n\t\t\t}\n\t\t},\n\t\t'variable': velocity['variable']\n\t});\n\n\tPrism.languages.velocity['tag'].inside['attr-value'].inside.rest = Prism.languages.velocity;\n\n}(Prism));\n","Prism.languages.verilog = {\n\t'comment': {\n\t\tpattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'kernel-function': {\n\t\t// support for any kernel function (ex: $display())\n\t\tpattern: /\\B\\$\\w+\\b/,\n\t\talias: 'property'\n\t},\n\t// support for user defined constants (ex: `define)\n\t'constant': /\\B`\\w+\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t// support for verilog and system verilog keywords\n\t'keyword': /\\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\\b/,\n\t// bold highlighting for all verilog and system verilog logic blocks\n\t'important': /\\b(?:always|always_comb|always_ff|always_latch)\\b(?: *@)?/,\n\t// support for time ticks, vectors, and real numbers\n\t'number': /\\B##?\\d+|(?:\\b\\d+)?'[odbh] ?[\\da-fzx_?]+|\\b(?:\\d*[._])?\\d+(?:e[-+]?\\d+)?/i,\n\t'operator': /[-+{}^~%*\\/?=!<>&|]+/,\n\t'punctuation': /[[\\];(),.:]/\n};\n","Prism.languages.vhdl = {\n\t'comment': /--.+/,\n\t// support for all logic vectors\n\t'vhdl-vectors': {\n\t\t'pattern': /\\b[oxb]\"[\\da-f_]+\"|\"[01uxzwlh-]+\"/i,\n\t\t'alias': 'number'\n\t},\n\t// support for operator overloading included\n\t'quoted-function': {\n\t\tpattern: /\"\\S+?\"(?=\\()/,\n\t\talias: 'function'\n\t},\n\t'string': /\"(?:[^\\\\\"\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"/,\n\t'attribute': {\n\t\tpattern: /\\b'\\w+/,\n\t\talias: 'attr-name'\n\t},\n\t// support for predefined attributes included\n\t'keyword': /\\b(?:access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|private|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|view|wait|when|while|with)\\b/i,\n\t'boolean': /\\b(?:false|true)\\b/i,\n\t'function': /\\w+(?=\\()/,\n\t// decimal, based, physical, and exponential numbers supported\n\t'number': /'[01uxzwlh-]'|\\b(?:\\d+#[\\da-f_.]+#|\\d[\\d_.]*)(?:e[-+]?\\d+)?/i,\n\t'operator': /[<>]=?|:=|[-+*/&=]|\\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\\b/i,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n","Prism.languages.vim = {\n\t'string': /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\r\\n]|'')*'/,\n\t'comment': /\".*/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'keyword': /\\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\\b/,\n\t'builtin': /\\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\\b/,\n\t'number': /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n\t'operator': /\\|\\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\\/%?]|\\b(?:is(?:not)?)\\b/,\n\t'punctuation': /[{}[\\](),;:]/\n};\n","Prism.languages['visual-basic'] = {\n\t'comment': {\n\t\tpattern: /(?:['‘’]|REM\\b)(?:[^\\r\\n_]|_(?:\\r\\n?|\\n)?)*/i,\n\t\tinside: {\n\t\t\t'keyword': /^REM/i\n\t\t}\n\t},\n\t'directive': {\n\t\tpattern: /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\\b_[ \\t]*(?:\\r\\n?|\\n)|.)+/i,\n\t\talias: 'property',\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\\$?[\"“”](?:[\"“”]{2}|[^\"“”])*[\"“”]C?/i,\n\t\tgreedy: true\n\t},\n\t'date': {\n\t\tpattern: /#[ \\t]*(?:\\d+([/-])\\d+\\1\\d+(?:[ \\t]+(?:\\d+[ \\t]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[ \\t]*(?:AM|PM))?))?|\\d+[ \\t]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[ \\t]*(?:AM|PM))?)[ \\t]*#/i,\n\t\talias: 'number'\n\t},\n\t'number': /(?:(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)(?:E[+-]?\\d+)?|&[HO][\\dA-F]+)(?:[FRD]|U?[ILS])?/i,\n\t'boolean': /\\b(?:False|Nothing|True)\\b/i,\n\t'keyword': /\\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\\b/i,\n\t'operator': /[+\\-*/\\\\^<=>&#@$%!]|\\b_(?=[ \\t]*[\\r\\n])/,\n\t'punctuation': /[{}().,:?]/\n};\n\nPrism.languages.vb = Prism.languages['visual-basic'];\nPrism.languages.vba = Prism.languages['visual-basic'];\n","Prism.languages.warpscript = {\n\t'comment': /#.*|\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n\t'string': {\n\t\tpattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'|<'(?:[^\\\\']|'(?!>)|\\\\.)*'>/,\n\t\tgreedy: true\n\t},\n\t'variable': /\\$\\S+/,\n\t'macro': {\n\t\tpattern: /@\\S+/,\n\t\talias: 'property'\n\t},\n\t// WarpScript doesn't have any keywords, these are all functions under the control category\n\t// https://www.warp10.io/tags/control\n\t'keyword': /\\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\\b/,\n\t'number': /[+-]?\\b(?:NaN|Infinity|\\d+(?:\\.\\d*)?(?:[Ee][+-]?\\d+)?|0x[\\da-fA-F]+|0b[01]+)\\b/,\n\t'boolean': /\\b(?:F|T|false|true)\\b/,\n\t'punctuation': /<%|%>|[{}[\\]()]/,\n\t// Some operators from the \"operators\" category\n\t// https://www.warp10.io/tags/operators\n\t'operator': /==|&&?|\\|\\|?|\\*\\*?|>>>?|<<|[<>!~]=?|[-/%^]|\\+!?|\\b(?:AND|NOT|OR)\\b/\n};\n","Prism.languages.wasm = {\n\t'comment': [\n\t\t/\\(;[\\s\\S]*?;\\)/,\n\t\t{\n\t\t\tpattern: /;;.*/,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /\\b(?:align|offset)=/,\n\t\t\tinside: {\n\t\t\t\t'operator': /=/\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: /\\b(?:(?:f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))?|memory\\.(?:grow|size))\\b/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\./\n\t\t\t}\n\t\t},\n\t\t/\\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\\b/\n\t],\n\t'variable': /\\$[\\w!#$%&'*+\\-./:<=>?@\\\\^`|~]+/,\n\t'number': /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/,\n\t'punctuation': /[()]/\n};\n","(function (Prism) {\n\n\tvar id = /(?:\\B-|\\b_|\\b)[A-Za-z][\\w-]*(?![\\w-])/.source;\n\tvar type =\n\t\t'(?:' +\n\t\t/\\b(?:unsigned\\s+)?long\\s+long(?![\\w-])/.source +\n\t\t'|' +\n\t\t/\\b(?:unrestricted|unsigned)\\s+[a-z]+(?![\\w-])/.source +\n\t\t'|' +\n\t\t/(?!(?:unrestricted|unsigned)\\b)/.source + id + /(?:\\s*<(?:[^<>]|<[^<>]*>)*>)?/.source +\n\t\t')' + /(?:\\s*\\?)?/.source;\n\n\tvar typeInside = {};\n\n\tPrism.languages['web-idl'] = {\n\t\t'comment': {\n\t\t\tpattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n\t\t\tgreedy: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /\"[^\"]*\"/,\n\t\t\tgreedy: true\n\t\t},\n\n\t\t'namespace': {\n\t\t\tpattern: RegExp(/(\\bnamespace\\s+)/.source + id),\n\t\t\tlookbehind: true,\n\t\t},\n\t\t'class-name': [\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\w-])(?:iterable|maplike|setlike)\\s*<(?:[^<>]|<[^<>]*>)*>/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: typeInside\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(\\b(?:attribute|const|deleter|getter|optional|setter)\\s+)/.source + type),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: typeInside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// callback return type\n\t\t\t\tpattern: RegExp('(' + /\\bcallback\\s+/.source + id + /\\s*=\\s*/.source + ')' + type),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: typeInside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// typedef\n\t\t\t\tpattern: RegExp(/(\\btypedef\\b\\s*)/.source + type),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: typeInside\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(\\b(?:callback|dictionary|enum|interface(?:\\s+mixin)?)\\s+)(?!(?:interface|mixin)\\b)/.source + id),\n\t\t\t\tlookbehind: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\t// inheritance\n\t\t\t\tpattern: RegExp(/(:\\s*)/.source + id),\n\t\t\t\tlookbehind: true,\n\t\t\t},\n\n\t\t\t// includes and implements\n\t\t\tRegExp(id + /(?=\\s+(?:implements|includes)\\b)/.source),\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(\\b(?:implements|includes)\\s+)/.source + id),\n\t\t\t\tlookbehind: true,\n\t\t\t},\n\n\t\t\t{\n\t\t\t\t// function return type, parameter types, and dictionary members\n\t\t\t\tpattern: RegExp(type + '(?=' + /\\s*(?:\\.{3}\\s*)?/.source + id + /\\s*[(),;=]/.source + ')'),\n\t\t\t\tinside: typeInside\n\t\t\t},\n\t\t],\n\n\t\t'builtin': /\\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\\b/,\n\t\t'keyword': [\n\t\t\t/\\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\\b/,\n\t\t\t// type keywords\n\t\t\t/\\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\\b/\n\t\t],\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\n\t\t'number': {\n\t\t\tpattern: /(^|[^\\w-])-?(?:0x[0-9a-f]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|NaN|Infinity)(?![\\w-])/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'operator': /\\.{3}|[=:?<>-]/,\n\t\t'punctuation': /[(){}[\\].,;]/\n\t};\n\n\tfor (var key in Prism.languages['web-idl']) {\n\t\tif (key !== 'class-name') {\n\t\t\ttypeInside[key] = Prism.languages['web-idl'][key];\n\t\t}\n\t}\n\n\tPrism.languages['webidl'] = Prism.languages['web-idl'];\n\n}(Prism));\n","Prism.languages.wgsl = {\n\t'comment': {\n\t\tpattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\tgreedy: true,\n\t},\n\t'builtin-attribute': {\n\t\tpattern: /(@)builtin\\(.*?\\)/,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'attribute': {\n\t\t\t\tpattern: /^builtin/,\n\t\t\t\talias: 'attr-name',\n\t\t\t},\n\t\t\t'punctuation': /[(),]/,\n\t\t\t'built-in-values': {\n\t\t\t\tpattern: /\\b(?:frag_depth|front_facing|global_invocation_id|instance_index|local_invocation_id|local_invocation_index|num_workgroups|position|sample_index|sample_mask|vertex_index|workgroup_id)\\b/,\n\t\t\t\talias: 'attr-value',\n\t\t\t},\n\t\t},\n\t},\n\t'attributes': {\n\t\tpattern: /(@)(?:align|binding|compute|const|fragment|group|id|interpolate|invariant|location|size|vertex|workgroup_size)/i,\n\t\tlookbehind: true,\n\t\talias: 'attr-name',\n\t},\n\t'functions': {\n\t\tpattern: /\\b(fn\\s+)[_a-zA-Z]\\w*(?=[(<])/,\n\t\tlookbehind: true,\n\t\talias: 'function',\n\t},\n\t'keyword': /\\b(?:bitcast|break|case|const|continue|continuing|default|discard|else|enable|fallthrough|fn|for|function|if|let|loop|private|return|storage|struct|switch|type|uniform|var|while|workgroup)\\b/,\n\t'builtin': /\\b(?:abs|acos|acosh|all|any|array|asin|asinh|atan|atan2|atanh|atomic|atomicAdd|atomicAnd|atomicCompareExchangeWeak|atomicExchange|atomicLoad|atomicMax|atomicMin|atomicOr|atomicStore|atomicSub|atomicXor|bool|ceil|clamp|cos|cosh|countLeadingZeros|countOneBits|countTrailingZeros|cross|degrees|determinant|distance|dot|dpdx|dpdxCoarse|dpdxFine|dpdy|dpdyCoarse|dpdyFine|exp|exp2|extractBits|f32|f64|faceForward|firstLeadingBit|floor|fma|fract|frexp|fwidth|fwidthCoarse|fwidthFine|i32|i64|insertBits|inverseSqrt|ldexp|length|log|log2|mat[2-4]x[2-4]|max|min|mix|modf|normalize|override|pack2x16float|pack2x16snorm|pack2x16unorm|pack4x8snorm|pack4x8unorm|pow|ptr|quantizeToF16|radians|reflect|refract|reverseBits|round|sampler|sampler_comparison|select|shiftLeft|shiftRight|sign|sin|sinh|smoothstep|sqrt|staticAssert|step|storageBarrier|tan|tanh|textureDimensions|textureGather|textureGatherCompare|textureLoad|textureNumLayers|textureNumLevels|textureNumSamples|textureSample|textureSampleBias|textureSampleCompare|textureSampleCompareLevel|textureSampleGrad|textureSampleLevel|textureStore|texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array|texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array|texture_depth_multisampled_2d|texture_multisampled_2d|texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d|transpose|trunc|u32|u64|unpack2x16float|unpack2x16snorm|unpack2x16unorm|unpack4x8snorm|unpack4x8unorm|vec[2-4]|workgroupBarrier)\\b/,\n\t'function-calls': {\n\t\tpattern: /\\b[_a-z]\\w*(?=\\()/i,\n\t\talias: 'function',\n\t},\n\t'class-name': /\\b(?:[A-Z][A-Za-z0-9]*)\\b/,\n\t'bool-literal': {\n\t\tpattern: /\\b(?:false|true)\\b/,\n\t\talias: 'boolean',\n\t},\n\t'hex-int-literal': {\n\t\tpattern: /\\b0[xX][0-9a-fA-F]+[iu]?\\b(?![.pP])/,\n\t\talias: 'number',\n\t},\n\t'hex-float-literal': {\n\t\tpattern: /\\b0[xX][0-9a-fA-F]*(?:\\.[0-9a-fA-F]*)?(?:[pP][+-]?\\d+[fh]?)?/, alias: 'number'\n\t},\n\t'decimal-float-literal': [\n\t\t{ pattern: /\\d*\\.\\d+(?:[eE](?:\\+|-)?\\d+)?[fh]?/, alias: 'number' },\n\t\t{ pattern: /\\d+\\.\\d*(?:[eE](?:\\+|-)?\\d+)?[fh]?/, alias: 'number' },\n\t\t{ pattern: /\\d+[eE](?:\\+|-)?\\d+[fh]?/, alias: 'number' },\n\t\t{ pattern: /\\b\\d+[fh]\\b/, alias: 'number' },\n\t],\n\t'int-literal': {\n\t\tpattern: /\\b\\d+[iu]?\\b/,\n\t\talias: 'number',\n\t},\n\t'operator': [\n\t\t{ pattern: /(?:\\^|~|\\|(?!\\|)|\\|\\||&&|<<|>>|!)(?!=)/ },\n\t\t{ pattern: /&(?![&=])/ },\n\t\t{ pattern: /(?:\\+=|-=|\\*=|\\/=|%=|\\^=|&=|\\|=|<<=|>>=)/ },\n\t\t{ pattern: /(^|[^<>=!])=(?![=>])/, lookbehind: true },\n\t\t{ pattern: /(?:==|!=|<=|\\+\\+|--|(^|[^=])>=)/, lookbehind: true },\n\t\t{ pattern: /(?:(?:[+%]|(?:\\*(?!\\w)))(?!=))|(?:-(?!>))|(?:\\/(?!\\/))/ },\n\t\t{ pattern: /->/ },\n\t],\n\t'punctuation': /[@(){}[\\],;<>:.]/,\n};\n","Prism.languages.wiki = Prism.languages.extend('markup', {\n\t'block-comment': {\n\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n\t\tlookbehind: true,\n\t\talias: 'comment'\n\t},\n\t'heading': {\n\t\tpattern: /^(=+)[^=\\r\\n].*?\\1/m,\n\t\tinside: {\n\t\t\t'punctuation': /^=+|=+$/,\n\t\t\t'important': /.+/\n\t\t}\n\t},\n\t'emphasis': {\n\t\t// TODO Multi-line\n\t\tpattern: /('{2,5}).+?\\1/,\n\t\tinside: {\n\t\t\t'bold-italic': {\n\t\t\t\tpattern: /(''''').+?(?=\\1)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: ['bold', 'italic']\n\t\t\t},\n\t\t\t'bold': {\n\t\t\t\tpattern: /(''')[^'](?:.*?[^'])?(?=\\1)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'italic': {\n\t\t\t\tpattern: /('')[^'](?:.*?[^'])?(?=\\1)/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t'punctuation': /^''+|''+$/\n\t\t}\n\t},\n\t'hr': {\n\t\tpattern: /^-{4,}/m,\n\t\talias: 'punctuation'\n\t},\n\t'url': [\n\t\t/ISBN +(?:97[89][ -]?)?(?:\\d[ -]?){9}[\\dx]\\b|(?:PMID|RFC) +\\d+/i,\n\t\t/\\[\\[.+?\\]\\]|\\[.+?\\]/\n\t],\n\t'variable': [\n\t\t/__[A-Z]+__/,\n\t\t// FIXME Nested structures should be handled\n\t\t// {{formatnum:{{#expr:{{{3}}}}}}}\n\t\t/\\{{3}.+?\\}{3}/,\n\t\t/\\{\\{.+?\\}\\}/\n\t],\n\t'symbol': [\n\t\t/^#redirect/im,\n\t\t/~{3,5}/\n\t],\n\t// Handle table attrs:\n\t// {|\n\t// ! style=\"text-align:left;\"| Item\n\t// |}\n\t'table-tag': {\n\t\tpattern: /((?:^|[|!])[|!])[^|\\r\\n]+\\|(?!\\|)/m,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'table-bar': {\n\t\t\t\tpattern: /\\|$/,\n\t\t\t\talias: 'punctuation'\n\t\t\t},\n\t\t\trest: Prism.languages.markup['tag'].inside\n\t\t}\n\t},\n\t'punctuation': /^(?:\\{\\||\\|\\}|\\|-|[*#:;!|])|\\|\\||!!/m\n});\n\nPrism.languages.insertBefore('wiki', 'tag', {\n\t// Prevent highlighting inside <nowiki>, <source> and <pre> tags\n\t'nowiki': {\n\t\tpattern: /<(nowiki|pre|source)\\b[^>]*>[\\s\\S]*?<\\/\\1>/i,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /<(?:nowiki|pre|source)\\b[^>]*>|<\\/(?:nowiki|pre|source)>/i,\n\t\t\t\tinside: Prism.languages.markup['tag'].inside\n\t\t\t}\n\t\t}\n\t}\n});\n","Prism.languages.wolfram = {\n\t'comment': // Allow one level of nesting - note: regex taken from applescipt\n\t\t/\\(\\*(?:\\(\\*(?:[^*]|\\*(?!\\)))*\\*\\)|(?!\\(\\*)[\\s\\S])*?\\*\\)/,\n\t'string': {\n\t\tpattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\\b/,\n\t'context': {\n\t\tpattern: /\\b\\w+`+\\w*/,\n\t\talias: 'class-name'\n\t},\n\t'blank': {\n\t\tpattern: /\\b\\w+_\\b/,\n\t\talias: 'regex'\n\t},\n\t'global-variable': {\n\t\tpattern: /\\$\\w+/,\n\t\talias: 'variable'\n\t},\n\t'boolean': /\\b(?:False|True)\\b/,\n\t'number': /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?j?\\b/i,\n\t'operator': /\\/\\.|;|=\\.|\\^=|\\^:=|:=|<<|>>|<\\||\\|>|:>|\\|->|->|<-|@@@|@@|@|\\/@|=!=|===|==|=|\\+|-|\\[\\/-+%=\\]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\nPrism.languages.mathematica = Prism.languages.wolfram;\nPrism.languages.wl = Prism.languages.wolfram;\nPrism.languages.nb = Prism.languages.wolfram;\n","// https://wren.io/\n\nPrism.languages.wren = {\n\t// Multiline comments in Wren can have nested multiline comments\n\t// Comments: // and /* */\n\t'comment': [\n\t\t{\n\t\t\t// support 3 levels of nesting\n\t\t\t// regex: \\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/\n\t\t\tpattern: /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*))*\\*\\/)*\\*\\/)*\\*\\//,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\n\t// Triple quoted strings are multiline but cannot have interpolation (raw strings)\n\t// Based on prism-python.js\n\t'triple-quoted-string': {\n\t\tpattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\n\t// see below\n\t'string-literal': null,\n\n\t// #!/usr/bin/env wren on the first line\n\t'hashbang': {\n\t\tpattern: /^#!\\/.+/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\n\t// Attributes are special keywords to add meta data to classes\n\t'attribute': {\n\t\t// #! attributes are stored in class properties\n\t\t// #!myvar = true\n\t\t// #attributes are not stored and dismissed at compilation\n\t\tpattern: /#!?[ \\t\\u3000]*\\w+/,\n\t\talias: 'keyword'\n\t},\n\t'class-name': [\n\t\t{\n\t\t\t// class definition\n\t\t\t// class Meta {}\n\t\t\tpattern: /(\\bclass\\s+)\\w+/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t// A class must always start with an uppercase.\n\t\t// File.read\n\t\t/\\b[A-Z][a-z\\d_]*\\b/,\n\t],\n\n\t// A constant can be a variable, class, property or method. Just named in all uppercase letters\n\t'constant': /\\b[A-Z][A-Z\\d_]*\\b/,\n\n\t'null': {\n\t\tpattern: /\\bnull\\b/,\n\t\talias: 'keyword'\n\t},\n\t'keyword': /\\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'number': /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i,\n\n\t// Functions can be Class.method()\n\t'function': /\\b[a-z_]\\w*(?=\\s*[({])/i,\n\n\t'operator': /<<|>>|[=!<>]=?|&&|\\|\\||[-+*/%~^&|?:]|\\.{2,3}/,\n\t'punctuation': /[\\[\\](){}.,;]/,\n};\n\nPrism.languages.wren['string-literal'] = {\n\t// A single quote string is multiline and can have interpolation (similar to JS backticks ``)\n\tpattern: /(^|[^\\\\\"])\"(?:[^\\\\\"%]|\\\\[\\s\\S]|%(?!\\()|%\\((?:[^()]|\\((?:[^()]|\\([^)]*\\))*\\))*\\))*\"/,\n\tlookbehind: true,\n\tgreedy: true,\n\tinside: {\n\t\t'interpolation': {\n\t\t\t// \"%(interpolation)\"\n\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)%\\((?:[^()]|\\((?:[^()]|\\([^)]*\\))*\\))*\\)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'expression': {\n\t\t\t\t\tpattern: /^(%\\()[\\s\\S]+(?=\\)$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: Prism.languages.wren\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^%\\(|\\)$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t\t'string': /[\\s\\S]+/\n\t}\n};\n","(function (Prism) {\n\tPrism.languages.xeora = Prism.languages.extend('markup', {\n\t\t'constant': {\n\t\t\tpattern: /\\$(?:DomainContents|PageRenderDuration)\\$/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': {\n\t\t\t\t\tpattern: /\\$/\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'variable': {\n\t\t\tpattern: /\\$@?(?:#+|[-+*~=^])?[\\w.]+\\$/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': {\n\t\t\t\t\tpattern: /[$.]/\n\t\t\t\t},\n\t\t\t\t'operator': {\n\t\t\t\t\tpattern: /#+|[-+*~=^@]/\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'function-inline': {\n\t\t\tpattern: /\\$F:[-\\w.]+\\?[-\\w.]+(?:,(?:(?:@[-#]*\\w+\\.[\\w+.]\\.*)*\\|)*(?:(?:[\\w+]|[-#*.~^]+[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\\w+\\.[\\w+.]\\.*)+(?:(?:[\\w+]|[-#*~^][-#*.~^]*[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*)?)?)?\\$/,\n\t\t\tinside: {\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /(?:[,|])@?(?:#+|[-+*~=^])?[\\w.]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': {\n\t\t\t\t\t\t\tpattern: /[,.|]/\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'operator': {\n\t\t\t\t\t\t\tpattern: /#+|[-+*~=^@]/\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'punctuation': {\n\t\t\t\t\tpattern: /\\$\\w:|[$:?.,|]/\n\t\t\t\t}\n\t\t\t},\n\t\t\talias: 'function'\n\t\t},\n\t\t'function-block': {\n\t\t\tpattern: /\\$XF:\\{[-\\w.]+\\?[-\\w.]+(?:,(?:(?:@[-#]*\\w+\\.[\\w+.]\\.*)*\\|)*(?:(?:[\\w+]|[-#*.~^]+[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\\w+\\.[\\w+.]\\.*)+(?:(?:[\\w+]|[-#*~^][-#*.~^]*[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*)?)?)?\\}:XF\\$/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': {\n\t\t\t\t\tpattern: /[$:{}?.,|]/\n\t\t\t\t}\n\t\t\t},\n\t\t\talias: 'function'\n\t\t},\n\t\t'directive-inline': {\n\t\t\tpattern: /\\$\\w(?:#\\d+\\+?)?(?:\\[[-\\w.]+\\])?:[-\\/\\w.]+\\$/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': {\n\t\t\t\t\tpattern: /\\$(?:\\w:|C(?:\\[|#\\d))?|[:{[\\]]/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'tag': {\n\t\t\t\t\t\t\tpattern: /#\\d/\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\talias: 'function'\n\t\t},\n\t\t'directive-block-open': {\n\t\t\tpattern: /\\$\\w+:\\{|\\$\\w(?:#\\d+\\+?)?(?:\\[[-\\w.]+\\])?:[-\\w.]+:\\{(?:![A-Z]+)?/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': {\n\t\t\t\t\tpattern: /\\$(?:\\w:|C(?:\\[|#\\d))?|[:{[\\]]/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'tag': {\n\t\t\t\t\t\t\tpattern: /#\\d/\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'attribute': {\n\t\t\t\t\tpattern: /![A-Z]+$/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': {\n\t\t\t\t\t\t\tpattern: /!/\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\talias: 'keyword'\n\t\t\t\t}\n\t\t\t},\n\t\t\talias: 'function'\n\t\t},\n\t\t'directive-block-separator': {\n\t\t\tpattern: /\\}:[-\\w.]+:\\{/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': {\n\t\t\t\t\tpattern: /[:{}]/\n\t\t\t\t}\n\t\t\t},\n\t\t\talias: 'function'\n\t\t},\n\t\t'directive-block-close': {\n\t\t\tpattern: /\\}:[-\\w.]+\\$/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': {\n\t\t\t\t\tpattern: /[:{}$]/\n\t\t\t\t}\n\t\t\t},\n\t\t\talias: 'function'\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('inside', 'punctuation', {\n\t\t'variable': Prism.languages.xeora['function-inline'].inside['variable']\n\t}, Prism.languages.xeora['function-block']);\n\n\tPrism.languages.xeoracube = Prism.languages.xeora;\n\n}(Prism));\n","Prism.languages.xojo = {\n\t'comment': {\n\t\tpattern: /(?:'|\\/\\/|Rem\\b).+/i,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\tpattern: /\"(?:\"\"|[^\"])*\"/,\n\t\tgreedy: true\n\t},\n\t'number': [\n\t\t/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n\t\t/&[bchou][a-z\\d]+/i\n\t],\n\t'directive': {\n\t\tpattern: /#(?:Else|ElseIf|Endif|If|Pragma)\\b/i,\n\t\talias: 'property'\n\t},\n\t'keyword': /\\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\\b/i,\n\t'operator': /<[=>]?|>=?|[+\\-*\\/\\\\^=]|\\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\\b/i,\n\t'punctuation': /[.,;:()]/\n};\n","(function (Prism) {\n\n\tPrism.languages.xquery = Prism.languages.extend('markup', {\n\t\t'xquery-comment': {\n\t\t\tpattern: /\\(:[\\s\\S]*?:\\)/,\n\t\t\tgreedy: true,\n\t\t\talias: 'comment'\n\t\t},\n\t\t'string': {\n\t\t\tpattern: /([\"'])(?:\\1\\1|(?!\\1)[\\s\\S])*\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'extension': {\n\t\t\tpattern: /\\(#.+?#\\)/,\n\t\t\talias: 'symbol'\n\t\t},\n\t\t'variable': /\\$[-\\w:]+/,\n\t\t'axis': {\n\t\t\tpattern: /(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'operator'\n\t\t},\n\t\t'keyword-operator': {\n\t\t\tpattern: /(^|[^:-])\\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\\b(?=$|[^:-])/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'operator'\n\t\t},\n\t\t'keyword': {\n\t\t\tpattern: /(^|[^:-])\\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\\b(?=$|[^:-])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'function': /[\\w-]+(?::[\\w-]+)*(?=\\s*\\()/,\n\t\t'xquery-element': {\n\t\t\tpattern: /(element\\s+)[\\w-]+(?::[\\w-]+)*/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'tag'\n\t\t},\n\t\t'xquery-attribute': {\n\t\t\tpattern: /(attribute\\s+)[\\w-]+(?::[\\w-]+)*/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'attr-name'\n\t\t},\n\t\t'builtin': {\n\t\t\tpattern: /(^|[^:-])\\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\\b(?=$|[^:-])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'number': /\\b\\d+(?:\\.\\d+)?(?:E[+-]?\\d+)?/,\n\t\t'operator': [\n\t\t\t/[+*=?|@]|\\.\\.?|:=|!=|<[=<]?|>[=>]?/,\n\t\t\t{\n\t\t\t\tpattern: /(\\s)-(?=\\s)/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'punctuation': /[[\\](){},;:/]/\n\t});\n\n\tPrism.languages.xquery.tag.pattern = /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|\\{(?!\\{)(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/;\n\tPrism.languages.xquery['tag'].inside['attr-value'].pattern = /=(?:(\"|')(?:\\\\[\\s\\S]|\\{(?!\\{)(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/;\n\tPrism.languages.xquery['tag'].inside['attr-value'].inside['punctuation'] = /^=\"|\"$/;\n\tPrism.languages.xquery['tag'].inside['attr-value'].inside['expression'] = {\n\t\t// Allow for two levels of nesting\n\t\tpattern: /\\{(?!\\{)(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}/,\n\t\tinside: Prism.languages.xquery,\n\t\talias: 'language-xquery'\n\t};\n\n\t// The following will handle plain text inside tags\n\tvar stringifyToken = function (token) {\n\t\tif (typeof token === 'string') {\n\t\t\treturn token;\n\t\t}\n\t\tif (typeof token.content === 'string') {\n\t\t\treturn token.content;\n\t\t}\n\t\treturn token.content.map(stringifyToken).join('');\n\t};\n\n\tvar walkTokens = function (tokens) {\n\t\tvar openedTags = [];\n\t\tfor (var i = 0; i < tokens.length; i++) {\n\t\t\tvar token = tokens[i];\n\t\t\tvar notTagNorBrace = false;\n\n\t\t\tif (typeof token !== 'string') {\n\t\t\t\tif (token.type === 'tag' && token.content[0] && token.content[0].type === 'tag') {\n\t\t\t\t\t// We found a tag, now find its kind\n\n\t\t\t\t\tif (token.content[0].content[0].content === '</') {\n\t\t\t\t\t\t// Closing tag\n\t\t\t\t\t\tif (openedTags.length > 0 && openedTags[openedTags.length - 1].tagName === stringifyToken(token.content[0].content[1])) {\n\t\t\t\t\t\t\t// Pop matching opening tag\n\t\t\t\t\t\t\topenedTags.pop();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (token.content[token.content.length - 1].content === '/>') {\n\t\t\t\t\t\t\t// Autoclosed tag, ignore\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Opening tag\n\t\t\t\t\t\t\topenedTags.push({\n\t\t\t\t\t\t\t\ttagName: stringifyToken(token.content[0].content[1]),\n\t\t\t\t\t\t\t\topenedBraces: 0\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (\n\t\t\t\t\topenedTags.length > 0 && token.type === 'punctuation' && token.content === '{' &&\n\t\t\t\t\t// Ignore `{{`\n\t\t\t\t\t(!tokens[i + 1] || tokens[i + 1].type !== 'punctuation' || tokens[i + 1].content !== '{') &&\n\t\t\t\t\t(!tokens[i - 1] || tokens[i - 1].type !== 'plain-text' || tokens[i - 1].content !== '{')\n\t\t\t\t) {\n\t\t\t\t\t// Here we might have entered an XQuery expression inside a tag\n\t\t\t\t\topenedTags[openedTags.length - 1].openedBraces++;\n\n\t\t\t\t} else if (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces > 0 && token.type === 'punctuation' && token.content === '}') {\n\n\t\t\t\t\t// Here we might have left an XQuery expression inside a tag\n\t\t\t\t\topenedTags[openedTags.length - 1].openedBraces--;\n\n\t\t\t\t} else if (token.type !== 'comment') {\n\t\t\t\t\tnotTagNorBrace = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (notTagNorBrace || typeof token === 'string') {\n\t\t\t\tif (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces === 0) {\n\t\t\t\t\t// Here we are inside a tag, and not inside an XQuery expression.\n\t\t\t\t\t// That's plain text: drop any tokens matched.\n\t\t\t\t\tvar plainText = stringifyToken(token);\n\n\t\t\t\t\t// And merge text with adjacent text\n\t\t\t\t\tif (i < tokens.length - 1 && (typeof tokens[i + 1] === 'string' || tokens[i + 1].type === 'plain-text')) {\n\t\t\t\t\t\tplainText += stringifyToken(tokens[i + 1]);\n\t\t\t\t\t\ttokens.splice(i + 1, 1);\n\t\t\t\t\t}\n\t\t\t\t\tif (i > 0 && (typeof tokens[i - 1] === 'string' || tokens[i - 1].type === 'plain-text')) {\n\t\t\t\t\t\tplainText = stringifyToken(tokens[i - 1]) + plainText;\n\t\t\t\t\t\ttokens.splice(i - 1, 1);\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (/^\\s+$/.test(plainText)) {\n\t\t\t\t\t\ttokens[i] = plainText;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttokens[i] = new Prism.Token('plain-text', plainText, null, plainText);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (token.content && typeof token.content !== 'string') {\n\t\t\t\twalkTokens(token.content);\n\t\t\t}\n\t\t}\n\t};\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tif (env.language !== 'xquery') {\n\t\t\treturn;\n\t\t}\n\t\twalkTokens(env.tokens);\n\t});\n\n}(Prism));\n","Prism.languages.yang = {\n\t// https://tools.ietf.org/html/rfc6020#page-34\n\t// http://www.yang-central.org/twiki/bin/view/Main/YangExamples\n\t'comment': /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*/,\n\t'string': {\n\t\tpattern: /\"(?:[^\\\\\"]|\\\\.)*\"|'[^']*'/,\n\t\tgreedy: true\n\t},\n\t'keyword': {\n\t\tpattern: /(^|[{};\\r\\n][ \\t]*)[a-z_][\\w.-]*/i,\n\t\tlookbehind: true\n\t},\n\t'namespace': {\n\t\tpattern: /(\\s)[a-z_][\\w.-]*(?=:)/i,\n\t\tlookbehind: true\n\t},\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'operator': /\\+/,\n\t'punctuation': /[{};:]/\n};\n","(function (Prism) {\n\n\tfunction literal(str) {\n\t\treturn function () { return str; };\n\t}\n\n\tvar keyword = /\\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\\b/;\n\n\tvar IDENTIFIER = '\\\\b(?!' + keyword.source + ')(?!\\\\d)\\\\w+\\\\b';\n\tvar ALIGN = /align\\s*\\((?:[^()]|\\([^()]*\\))*\\)/.source;\n\tvar PREFIX_TYPE_OP = /(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*<ALIGN>|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)/.source.replace(/<ALIGN>/g, literal(ALIGN));\n\tvar SUFFIX_EXPR = /(?:\\bpromise\\b|(?:\\berror\\.)?<ID>(?:\\.<ID>)*(?!\\s+<ID>))/.source.replace(/<ID>/g, literal(IDENTIFIER));\n\tvar TYPE = '(?!\\\\s)(?:!?\\\\s*(?:' + PREFIX_TYPE_OP + '\\\\s*)*' + SUFFIX_EXPR + ')+';\n\n\t/*\n\t * A simplified grammar for Zig compile time type literals:\n\t *\n\t * TypeExpr = ( \"!\"? PREFIX_TYPE_OP* SUFFIX_EXPR )+\n\t *\n\t * SUFFIX_EXPR = ( \\b \"promise\" \\b | ( \\b \"error\" \".\" )? IDENTIFIER ( \".\" IDENTIFIER )* (?! \\s+ IDENTIFIER ) )\n\t *\n\t * PREFIX_TYPE_OP = \"?\"\n\t * | \\b \"promise\" \"->\"\n\t * | ( \"[\" [^\\[\\]]* \"]\" | \"*\" | \"**\" ) ( ALIGN | \"const\" \\b | \"volatile\" \\b | \"allowzero\" \\b )*\n\t *\n\t * ALIGN = \"align\" \"(\" ( [^()] | \"(\" [^()]* \")\" )* \")\"\n\t *\n\t * IDENTIFIER = \\b (?! KEYWORD ) [a-zA-Z_] \\w* \\b\n\t *\n\t*/\n\n\tPrism.languages.zig = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: /\\/\\/[/!].*/,\n\t\t\t\talias: 'doc-comment'\n\t\t\t},\n\t\t\t/\\/{2}.*/\n\t\t],\n\t\t'string': [\n\t\t\t{\n\t\t\t\t// \"string\" and c\"string\"\n\t\t\t\tpattern: /(^|[^\\\\@])c?\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// multiline strings and c-strings\n\t\t\t\tpattern: /([\\r\\n])([ \\t]+c?\\\\{2}).*(?:(?:\\r\\n?|\\n)\\2.*)*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'char': {\n\t\t\t// characters 'a', '\\n', '\\xFF', '\\u{10FFFF}'\n\t\t\tpattern: /(^|[^\\\\])'(?:[^'\\\\\\r\\n]|[\\uD800-\\uDFFF]{2}|\\\\(?:.|x[a-fA-F\\d]{2}|u\\{[a-fA-F\\d]{1,6}\\}))'/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t'builtin': /\\B@(?!\\d)\\w+(?=\\s*\\()/,\n\t\t'label': {\n\t\t\tpattern: /(\\b(?:break|continue)\\s*:\\s*)\\w+\\b|\\b(?!\\d)\\w+\\b(?=\\s*:\\s*(?:\\{|while\\b))/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'class-name': [\n\t\t\t// const Foo = struct {};\n\t\t\t/\\b(?!\\d)\\w+(?=\\s*=\\s*(?:(?:extern|packed)\\s+)?(?:enum|struct|union)\\s*[({])/,\n\t\t\t{\n\t\t\t\t// const x: i32 = 9;\n\t\t\t\t// var x: Bar;\n\t\t\t\t// fn foo(x: bool, y: f32) void {}\n\t\t\t\tpattern: RegExp(/(:\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?[=;,)])|<TYPE>(?=\\s*(?:<ALIGN>\\s*)?\\{)/.source.replace(/<TYPE>/g, literal(TYPE)).replace(/<ALIGN>/g, literal(ALIGN))),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t{\n\t\t\t\t// extern fn foo(x: f64) f64; (optional alignment)\n\t\t\t\tpattern: RegExp(/(\\)\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?;)/.source.replace(/<TYPE>/g, literal(TYPE)).replace(/<ALIGN>/g, literal(ALIGN))),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: null // see below\n\t\t\t}\n\t\t],\n\t\t'builtin-type': {\n\t\t\tpattern: /\\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\\b/,\n\t\t\talias: 'keyword'\n\t\t},\n\t\t'keyword': keyword,\n\t\t'function': /\\b(?!\\d)\\w+(?=\\s*\\()/,\n\t\t'number': /\\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\\d]+(?:\\.[a-fA-F\\d]*)?(?:[pP][+-]?[a-fA-F\\d]+)?|\\d+(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'operator': /\\.[*?]|\\.{2,3}|[-=]>|\\*\\*|\\+\\+|\\|\\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,\n\t\t'punctuation': /[.:,;(){}[\\]]/\n\t};\n\n\tPrism.languages.zig['class-name'].forEach(function (obj) {\n\t\tif (obj.inside === null) {\n\t\t\tobj.inside = Prism.languages.zig;\n\t\t}\n\t});\n\n}(Prism));\n"],"names":["_self","Prism","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","o","obj","deepClone","visited","clone","id","key","v","i","element","m","language","err","src","scripts","className","defaultActivation","no","classList","redef","inside","before","insert","root","grammar","ret","token","newToken","old","value","DFS","callback","type","objId","property","propertyType","async","container","env","parent","code","insertHighlightedCode","highlightedCode","worker","evt","text","rest","tokenList","LinkedList","addAfter","matchGrammar","toArray","name","hooks","callbacks","content","alias","matchedStr","stringify","s","e","aliases","attributes","matchPattern","pattern","pos","lookbehind","match","lookbehindLength","startNode","startPos","rematch","patterns","j","patternObj","greedy","flags","currentNode","str","removeCount","from","to","p","k","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","node","next","newNode","count","array","message","immediateClose","script","highlightAutomaticallyCallback","readyState","module","global","tagName","includedCdataInside","def","attrName","string","markup","LOADING_MESSAGE","FAILURE_MESSAGE","status","FAILURE_EMPTY_MESSAGE","EXTENSIONS","STATUS_ATTR","STATUS_LOADING","STATUS_LOADED","STATUS_FAILED","SELECTOR","loadFile","success","error","xhr","parseRange","range","start","comma","end","pre","extension","autoloader","lines","elements","logged","specialEscape","escape","charSet","charSetWithoutDot","rangeChar","groupName","coreRules","keywords","insertClassName","classNameInside","keyword","modName","envVars","commandAfterHeredoc","insideString","toBeCopied","anchorOrAlias","tag","properties","plainKey","createValuePattern","inner","createInline","tableCell","tableRow","tableLine","walkTokens","l","codeLang","codeBlock","cls","textContent","ele","tagPattern","KNOWN_ENTITY_NAMES","fromCodePoint","html","known","createLanguageString","asciidoc","copyFromAsciiDoc","keys","replace","replacements","index","re","nested","depthLog2","keywordKinds","keywordsToPattern","words","typeDeclarationKeywords","nonTypeKeywords","nonContextualKeywords","generic","nestedRound","genericName","identifier","typeExpressionWithoutTuple","tupleElement","tuple","typeExpression","typeInside","character","regularString","verbatimString","regularStringOrCharacter","regularStringCharacterOrComment","roundExpression","attrTarget","attr","formatString","mInterpolationRound","mInterpolation","sInterpolationRound","sInterpolation","createInterpolationInside","interpolation","interpolationRound","types","internals","filters","allinternals","variable","parameter","number","comment","source","single_token_suffix","multi_token_infix","multi_token_suffix","multi_token","timer_units","amount_group_impl","percentExpression","symbolName","stringEscape","stringTypes","stringLiteral","packagePrefix","PREFIXES","prefix","getPlaceholder","placeholderPattern","replaceFilter","tokenStack","placeholder","t","middle","replacement","markupTemplating","spaceAfterBackSlash","space","option","stringRule","commentRule","ID","IDInside","withID","ejsPattern","erbPattern","comment_inside","string_inside","factor","arrToWordsRegExp","arr","builtins","combinators","FTL_EXPR","ftl","validTokens","currentIndex","getToken","offset","isTokenType","findClosingBracket","open","close","stackHeight","addAlias","startToken","inputVariables","definitionEnd","mutationEnd","varToken","modifierRegex","parenthesesRegex","withModifier","modifierTokens","textile","phraseInside","nestedPatterns","phraseInlineInside","phraseTableInside","filter_pattern","all_filters","filter","handlebarsPattern","headerValueOf","langs","httpLanguages","suffixTypes","getSuffixPattern","contentType","suffix","suffixPattern","options","level","stringPattern","argumentSource","nestedMessage","classNamePrefix","constant","operator","punctuation","string_interpolation","phpPattern","javaDocLike","docCommentSupport","tokenName","definition","addSupport","languages","docLanguage","codeLinePattern","memberReference","reference","stringInterpolation","jq","javascript","parameterPrefix","interpolationInside","funcPattern","insideEqu","markupLatte","lattePattern","SortedBNF","schemeExpression","recursivenessLog2","lilypond","liquidPattern","insideRaw","tagMatch","simple_form","primitive","symbol","marker","par","endpar","nestedPar","arg","forms","arglist","orgType","operators","builtinFunctions","operatorsSource","expressionDef","params","getTextContent","isBracketsBalanced","input","brackets","stack","bracket","bracketsIndex","escapes","parser","braces","pascaligo","accum","arrowAttr","arrowDirection","arrowBody","arrowLeft","arrowRight","arrowPrefix","arrowSuffix","arrow","powershell","aggregations","vectorMatching","offsetModifier","builtinTypes","unit","qualifiedName","interpolationExpr","jsString","jsComment","jsExpr","commentLike","stringLike","round","square","curly","angle","inlineCs","tagAttrInlineCs","tagAttrValue","tagAttrs","tagContent","tagRegion","csharpWithHtml","cs","inlineValue","spread","stringifyToken","openedTags","notTagNorBrace","plainText","typescript","createSection","extendecInside","docTag","testNameLike","testPropertyLike","multilineComment","numericConstant","macroVariable","macroKeyword","step","func","args","format","altformat","globalStatements","submitStatement","actionSets","casActions","strings","smartyPattern","smartyLiteralStart","smartyLiteralEnd","smartyLiteralMode","guid","numberPattern","soyPattern","soyLitteralStart","soyLitteralEnd","soyLitteralMode","higherOrderFunctions","rule","quotesSource","createBlock","contentAlias","createT4","insideLang","tt2Pattern","insertKey","interpolationPattern","velocity","literal","IDENTIFIER","ALIGN","PREFIX_TYPE_OP","SUFFIX_EXPR","TYPE"],"mappings":"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AY,sBACb,ECvBA,MAAM,UAAU,KAAO,CACtB,QAAW,CACV,QAAS,MACT,OAAQ,EACR,EACD,SAAY,CACX,QAAS,0HACT,WAAY,GACZ,MAAO,QACP,EACD,IAAO,CACN,QAAS,6DACT,WAAY,GACZ,MAAO,UACP,EACD,OAAU,CACT,QAAS,mHACT,WAAY,EACZ,EACD,QAAW,CACV,QAAS,wDACT,WAAY,EACZ,EACD,KAAQ,CACP,QAAS,2CACT,WAAY,GACZ,MAAO,SACP,EACD,OAAU,CACT,QAAS,qHACT,WAAY,GACZ,OAAQ,EACR,EACD,QAAW,CACV,QAAS,sHACT,WAAY,GACZ,MAAO,QACP,EACD,YAAe,eAChB,ECvCA,MAAM,UAAU,MAAQ,CACvB,QAAW,oCACX,OAAU,CACT,QAAS,mDACT,OAAQ,GACR,OAAQ,CACP,eAAgB,aAChB,CACD,EACD,UAAa,CACZ,QAAS,0CACT,WAAY,EACZ,EACD,QAAW,CACV,QAAS,qHACT,WAAY,GACZ,OAAQ,CACP,eAAgB,CACf,QAAS,qBACT,MAAO,YACP,EACD,OAAU,CACT,QAAS,SACT,OAAQ,CACP,aAAc,CACb,QAAS,kBACT,MAAO,UACP,EACD,YAAe,QACf,SAAY,CACX,QAAS,IACT,MAAO,mBACP,CACD,CACD,CACD,CACD,EACD,OAAU,CACT,QAAS,iDACT,MAAO,WACP,WAAY,EACZ,EACD,QAAW,sEACX,mBAAoB,CACnB,QAAS,kIACT,OAAQ,CACP,wBAAyB,CACxB,QAAS,mBACT,MAAO,SACP,EACD,WAAc,CACb,QAAS,mCACT,MAAO,QACP,EACD,wBAAyB,CACxB,QAAS,kBACT,MAAO,SACP,EACD,YAAe,OACf,CACD,EACD,WAAc,CACb,QAAS,mCACT,MAAO,QACP,EACD,SAAY,CACX,CACC,QAAS,IACT,MAAO,aACP,EACD,CACC,QAAS,IACT,MAAO,aACP,EACD,CACC,QAAS,IACT,MAAO,WACP,EACD,CACC,QAAS,KACT,MAAO,aACP,EACD,CACC,QAAS,QACT,MAAO,YACP,EACD,CACC,QAAS,OACT,MAAO,WACP,EACD,CACC,QAAS,OACT,MAA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283]} |