From 8c3ae793998809daaeed2a2e5f0eb13190608dc3 Mon Sep 17 00:00:00 2001 From: primeminister91 Date: Thu, 12 Feb 2026 11:17:02 -0500 Subject: [PATCH] added new post --- Dublin.rdf | 20 ++ ads.txt | 1 + assets/css/prism.css | 3 + assets/css/styles.css | 242 ++++++++++++++ assets/css/styles.css.map | 1 + assets/js/prism.js | 300 +++++++++++++++++ assets/logos/dn-tech-favicon-black.png | Bin 0 -> 431 bytes assets/logos/dn-tech-favicon-color.png | Bin 0 -> 407 bytes assets/logos/dn-tech-favicon-white.png | Bin 0 -> 407 bytes ...high-resolution-logo-black-transparent.png | Bin 0 -> 23539 bytes ...-tech-high-resolution-logo-transparent.png | Bin 0 -> 22851 bytes ...high-resolution-logo-white-transparent.png | Bin 0 -> 23539 bytes assets/logos/logo-black.png | Bin 0 -> 32765 bytes assets/logos/logo-color.png | Bin 0 -> 68570 bytes assets/logos/logo-no-background.png | Bin 0 -> 32955 bytes assets/logos/logo-white.png | Bin 0 -> 65977 bytes build.sh | 1 + categories/index.html | 126 +++++++ category/life/index.html | 111 +++++++ category/news/index.html | 101 ++++++ category/tech/index.html | 111 +++++++ collection/posts/:year/:month/:title.html | 0 collection/posts/index.html | 0 feed.xml | 307 ++++++++++++++++++ index.html | 122 +++++++ .../01/03/brewing-a-stronger-it-career.html | 134 ++++++++ life/2024/01/22/my-it-odyssey.html | 153 +++++++++ ...ing-to-it-infrastructure-at-wolfspeed.html | 120 +++++++ ...changes-career-shifts-and-what-s-next.html | 115 +++++++ ...ter-wrap-up-and-steaming-future-ahead.html | 132 ++++++++ ...bills-crafting-my-first-project-quote.html | 140 ++++++++ ...eativity-the-launch-of-my-new-website.html | 142 ++++++++ news/2023/12/27/New-Site.html | 129 ++++++++ ...e-web-development-and-server-upgrades.html | 128 ++++++++ null | 1 + posts/:year/:month/:title.html | 113 +++++++ posts/index.html | 121 +++++++ resume/index.html | 211 ++++++++++++ robots.txt | 2 + sitemap.xml | 91 ++++++ ...re-unpacked-from-cloud-to-home-server.html | 201 ++++++++++++ tech/2024/03/04/changes-are-brewing.html | 124 +++++++ ...xc-to-vm-for-flawless-plex-and-beyond.html | 114 +++++++ ...-recent-adventures-in-my-tech-homelab.html | 113 +++++++ ...ercolating-ideas-my-web-dev-adventure.html | 145 +++++++++ ...ervices-hardware-and-monitoring-magic.html | 141 ++++++++ tech/2025/12/01/the-baristas-new-tools.html | 141 ++++++++ 47 files changed, 4157 insertions(+) create mode 100644 Dublin.rdf create mode 100644 ads.txt create mode 100644 assets/css/prism.css create mode 100644 assets/css/styles.css create mode 100644 assets/css/styles.css.map create mode 100644 assets/js/prism.js create mode 100644 assets/logos/dn-tech-favicon-black.png create mode 100644 assets/logos/dn-tech-favicon-color.png create mode 100644 assets/logos/dn-tech-favicon-white.png create mode 100644 assets/logos/dn-tech-high-resolution-logo-black-transparent.png create mode 100644 assets/logos/dn-tech-high-resolution-logo-transparent.png create mode 100644 assets/logos/dn-tech-high-resolution-logo-white-transparent.png create mode 100644 assets/logos/logo-black.png create mode 100644 assets/logos/logo-color.png create mode 100644 assets/logos/logo-no-background.png create mode 100644 assets/logos/logo-white.png create mode 100755 build.sh create mode 100644 categories/index.html create mode 100644 category/life/index.html create mode 100644 category/news/index.html create mode 100644 category/tech/index.html create mode 100644 collection/posts/:year/:month/:title.html create mode 100644 collection/posts/index.html create mode 100644 feed.xml create mode 100644 index.html create mode 100644 life/2024/01/03/brewing-a-stronger-it-career.html create mode 100644 life/2024/01/22/my-it-odyssey.html create mode 100644 life/2024/03/22/java-journeys-transitioning-to-it-infrastructure-at-wolfspeed.html create mode 100644 life/2024/11/27/a-roast-of-reality-life-changes-career-shifts-and-what-s-next.html create mode 100644 life/2025/01/30/brewed-reflections-a-semester-wrap-up-and-steaming-future-ahead.html create mode 100644 life/2025/02/27/from-beans-to-bills-crafting-my-first-project-quote.html create mode 100644 life/2025/02/28/coffee-code-and-creativity-the-launch-of-my-new-website.html create mode 100644 news/2023/12/27/New-Site.html create mode 100644 news/2025/04/09/brewing-success-my-journey-into-freelance-web-development-and-server-upgrades.html create mode 100644 null create mode 100644 posts/:year/:month/:title.html create mode 100644 posts/index.html create mode 100644 resume/index.html create mode 100644 robots.txt create mode 100644 sitemap.xml create mode 100644 tech/2024/01/11/tech-infrastructure-unpacked-from-cloud-to-home-server.html create mode 100644 tech/2024/03/04/changes-are-brewing.html create mode 100644 tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html create mode 100644 tech/2024/07/09/when-the-coffee-gets-cold-recent-adventures-in-my-tech-homelab.html create mode 100644 tech/2025/02/19/percolating-ideas-my-web-dev-adventure.html create mode 100644 tech/2025/06/18/brewing-up-my-homelab-new-services-hardware-and-monitoring-magic.html create mode 100644 tech/2025/12/01/the-baristas-new-tools.html diff --git a/Dublin.rdf b/Dublin.rdf new file mode 100644 index 0000000..7a5a0a2 --- /dev/null +++ b/Dublin.rdf @@ -0,0 +1,20 @@ + + + + + d@n tech + Dustin Newkirk + tech and personal blog + Caffinated Tech Insights + Dustin Newkirk + 2024-01-03T00 + Website + text/html + en + https://dustin.coffee + Copyright Information + USA + + + diff --git a/ads.txt b/ads.txt new file mode 100644 index 0000000..c46ccb5 --- /dev/null +++ b/ads.txt @@ -0,0 +1 @@ +google.com, pub-5033279084799102, DIRECT, f08c47fec0942fa0 \ No newline at end of file diff --git a/assets/css/prism.css b/assets/css/prism.css new file mode 100644 index 0000000..2b763f8 --- /dev/null +++ b/assets/css/prism.css @@ -0,0 +1,3 @@ +/* PrismJS 1.29.0 +https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+agda+al+antlr4+apacheconf+apex+apl+applescript+aql+arduino+arff+armasm+arturo+asciidoc+aspnet+asm6502+asmatmel+autohotkey+autoit+avisynth+avro-idl+awk+bash+basic+batch+bbcode+bbj+bicep+birb+bison+bnf+bqn+brainfuck+brightscript+bro+bsl+c+csharp+cpp+cfscript+chaiscript+cil+cilkc+cilkcpp+clojure+cmake+cobol+coffeescript+concurnas+csp+cooklang+coq+crystal+css-extras+csv+cue+cypher+d+dart+dataweave+dax+dhall+diff+django+dns-zone-file+docker+dot+ebnf+editorconfig+eiffel+ejs+elixir+elm+etlua+erb+erlang+excel-formula+fsharp+factor+false+firestore-security-rules+flow+fortran+ftl+gml+gap+gcode+gdscript+gedcom+gettext+gherkin+git+glsl+gn+linker-script+go+go-module+gradle+graphql+groovy+haml+handlebars+haskell+haxe+hcl+hlsl+hoon+http+hpkp+hsts+ichigojam+icon+icu-message-format+idris+ignore+inform7+ini+io+j+java+javadoc+javadoclike+javastacktrace+jexl+jolie+jq+jsdoc+js-extras+json+json5+jsonp+jsstacktrace+js-templates+julia+keepalived+keyman+kotlin+kumir+kusto+latex+latte+less+lilypond+liquid+lisp+livescript+llvm+log+lolcode+lua+magma+makefile+markdown+markup-templating+mata+matlab+maxscript+mel+mermaid+metafont+mizar+mongodb+monkey+moonscript+n1ql+n4js+nand2tetris-hdl+naniscript+nasm+neon+nevod+nginx+nim+nix+nsis+objectivec+ocaml+odin+opencl+openqasm+oz+parigp+parser+pascal+pascaligo+psl+pcaxis+peoplecode+perl+php+phpdoc+php-extras+plant-uml+plsql+powerquery+powershell+processing+prolog+promql+properties+protobuf+pug+puppet+pure+purebasic+purescript+python+qsharp+q+qml+qore+r+racket+cshtml+jsx+tsx+reason+regex+rego+renpy+rescript+rest+rip+roboconf+robotframework+ruby+rust+sas+sass+scss+scala+scheme+shell-session+smali+smalltalk+smarty+sml+solidity+solution-file+soy+sparql+splunk-spl+sqf+sql+squirrel+stan+stata+iecst+stylus+supercollider+swift+systemd+t4-templating+t4-cs+t4-vb+tap+tcl+tt2+textile+toml+tremor+turtle+twig+typescript+typoscript+unrealscript+uorazor+uri+v+vala+vbnet+velocity+verilog+vhdl+vim+visual-basic+warpscript+wasm+web-idl+wgsl+wiki+wolfram+wren+xeora+xml-doc+xojo+xquery+yaml+yang+zig */ +code[class*=language-],pre[class*=language-]{color:#ccc;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green} diff --git a/assets/css/styles.css b/assets/css/styles.css new file mode 100644 index 0000000..8cfe07d --- /dev/null +++ b/assets/css/styles.css @@ -0,0 +1,242 @@ +/* https://www.joshwcomeau.com/css/custom-css-reset/ */ +/* + 1. Use a more-intuitive box-sizing model. +*/ +@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500&display=swap"); +*, *::before, *::after { + box-sizing: border-box; +} + +/* + 2. Remove default margin +*/ +* { + margin: 0; +} + +/* + 3. Allow percentage-based heights in the application +*/ +html, body { + height: 100%; +} + +/* + Typographic tweaks! + 4. Add accessible line-height + 5. Improve text rendering +*/ +body { + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +/* + 6. Improve media defaults +*/ +img, picture, video, canvas, svg { + display: block; + max-width: 100%; +} + +/* + 7. Remove built-in form typography styles +*/ +input, button, textarea, select { + font: inherit; +} + +/* + 8. Avoid text overflows +*/ +p, h1, h2, h3, h4, h5, h6 { + overflow-wrap: break-word; +} + +/* + 9. Create a root stacking context +*/ +#root, #__next { + isolation: isolate; +} + +.wrapper-main, .wrapper-header, .wrapper-footer { + width: 100%; + margin: 0 auto; + max-width: 900px; +} + +/* Sticky Footer */ +.wrapper { + min-height: calc(100vh - 40px); +} + +.wrapper-footer { + height: 40px; +} + +/* End Sticky Footer */ +/* Style inspiration and settings adapted from https://github.com/jgthms/web-design-in-4-minutes*/ +/* Base */ +html { + font-size: 18px; +} + +/* 01 Font family */ +body { + font-family: "IBM Plex Mono", "Courier New", monospace; +} + +/* 03 Spacing */ +.padded { + padding-top: 30px; + padding-bottom: 30px; + line-height: 30px; +} + +.main-content { + padding-top: 30px; + padding-bottom: 30px; + line-height: 30px; +} + +div.main-content h2 { + padding-top: 15px; + padding-bottom: 5px; +} + +header h1, h5 { + display: inline; +} + +/* 04 Color and contrast */ +body { + color: #F8FDDD; + background-color: #3D2200; +} + +h1, +h2, +strong { + color: #dcdede; +} + +header h5 { + font-weight: lighter; +} + +/* 05 Balance */ +code { + padding: 2px 4px; + vertical-align: text-bottom; +} + +/* 06 Primary color */ +a { + color: #ff851b; +} + +/* 07 Secondary colors */ +h1, +h2, +strong { + font-weight: 500; +} + +.footer-text { + display: block; + position: relative; + font-size: 14px; +} + +.header { + padding-top: 35px; +} + +.header nav { + padding-top: 10px; + padding-bottom: 20px; +} + +.header nav a { + padding-right: 3px; +} + +.float-left { + float: left; +} + +.float-right { + float: right; +} + +.float-center { + text-align: center; +} + +.post-item { + display: block; + position: relative; + line-height: 24px; + padding-bottom: 5px; + margin: 5px 0; +} + +.post-summary { + padding-top: 30px; + padding-bottom: 30px; +} + +.post-nav { + padding-top: 100px; + text-align: center; +} + +.category-summary { + padding-top: 30px; + padding-bottom: 30px; +} + +.category-all-nav, .category-header { + display: block; + position: relative; + line-height: 24px; + margin: 5px 0; + padding-bottom: 10px; + padding-top: 10px; +} + +.post-info { + padding-bottom: 30px; + margin: 20px 0 5px; + padding-top: 20px; +} + +.post-content { + line-height: 35px; + padding-bottom: 50px; +} + +.post-content h1, h3, code, pre { + padding-bottom: 10px; + padding-top: 10px; +} + +.post-content h2 { + padding-bottom: 20px; + padding-top: 20px; +} + +@media only screen and (max-width: 479px) { + .mobile-hide { + display: none !important; + } + .footer-text { + float: left !important; + } + html { + margin: 1em !important; + } +} + +/*# sourceMappingURL=styles.css.map */ \ No newline at end of file diff --git a/assets/css/styles.css.map b/assets/css/styles.css.map new file mode 100644 index 0000000..c2ebe13 --- /dev/null +++ b/assets/css/styles.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../_sass/reset.scss","../../_sass/page.scss","../../_sass/wrapper.scss","../../_sass/footer.scss","../../_sass/header.scss","../../_sass/float.scss","../../_sass/posts.scss","../../_sass/categories.scss","../../_sass/post.scss","../../_sass/mobile.scss"],"names":[],"mappings":"AAAA;AAEA;AAAA;AAAA;ACDQ;ADIR;EACE;;;AAEF;AAAA;AAAA;AAGA;EACE;;;AAEF;AAAA;AAAA;AAGA;EACE;;;AAEF;AAAA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAEF;AAAA;AAAA;AAGA;EACE;EACA;;;AAEF;AAAA;AAAA;AAGA;EACE;;;AAEF;AAAA;AAAA;AAGA;EACE;;;AAEF;AAAA;AAAA;AAGA;EACE;;;AElDF;EACE;EACA;EACA;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAEF;ADhBA;AAGA;AACA;EACE;;;AAGF;AAEA;EACE;;;AAGF;AAGA;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;;;AAGF;AAAA;AAAA;EAGE;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;;;AAGF;AAEA;EACE;;;AAGF;AAEA;AAAA;AAAA;EAGE;;;AEvEF;EACE;EACA;EACA;;;ACLF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;ACRF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACXF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;ACfF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;ACXF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AClBF;EAGE;IAAc;;EAGd;IAAc;;EAGd;IAAM","sourcesContent":["/* https://www.joshwcomeau.com/css/custom-css-reset/ */\n\n/*\n 1. Use a more-intuitive box-sizing model.\n*/\n*, *::before, *::after {\n box-sizing: border-box;\n}\n/*\n 2. Remove default margin\n*/\n* {\n margin: 0;\n}\n/*\n 3. Allow percentage-based heights in the application\n*/\nhtml, body {\n height: 100%;\n}\n/*\n Typographic tweaks!\n 4. Add accessible line-height\n 5. Improve text rendering\n*/\nbody {\n line-height: 1.5;\n -webkit-font-smoothing: antialiased;\n}\n/*\n 6. Improve media defaults\n*/\nimg, picture, video, canvas, svg {\n display: block;\n max-width: 100%;\n}\n/*\n 7. Remove built-in form typography styles\n*/\ninput, button, textarea, select {\n font: inherit;\n}\n/*\n 8. Avoid text overflows\n*/\np, h1, h2, h3, h4, h5, h6 {\n overflow-wrap: break-word;\n}\n/*\n 9. Create a root stacking context\n*/\n#root, #__next {\n isolation: isolate;\n}\n\n","/* Style inspiration and settings adapted from https://github.com/jgthms/web-design-in-4-minutes*/\n@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500&display=swap');\n\n/* Base */\nhtml {\n font-size: 18px;\n}\n\n/* 01 Font family */\n\nbody {\n font-family: \"IBM Plex Mono\", \"Courier New\", monospace;\n}\n\n/* 03 Spacing */\n\n\n.padded {\n padding-top: 30px;\n padding-bottom: 30px;\n line-height: 30px;\n}\n\n.main-content {\n padding-top: 30px;\n padding-bottom: 30px;\n line-height: 30px;\n}\n\ndiv.main-content h2 {\n padding-top: 15px;\n padding-bottom: 5px;\n}\n\nheader h1, h5 {\n display: inline;\n}\n\n/* 04 Color and contrast */\n\nbody {\n color: #F8FDDD;\n background-color: #3D2200;\n}\n\nh1,\nh2,\nstrong {\n color: #dcdede;\n}\n\nheader h5 {\n font-weight: lighter;\n}\n\n/* 05 Balance */\n\ncode {\n padding: 2px 4px;\n vertical-align: text-bottom;\n}\n\n/* 06 Primary color */\n\na {\n color: #ff851b;\n}\n\n/* 07 Secondary colors */\n\nh1,\nh2,\nstrong {\n font-weight: 500;\n}\n","@charset \"utf-8\";\n\n.wrapper-main, .wrapper-header, .wrapper-footer {\n width: 100%;\n margin: 0 auto;\n max-width: 900px;\n}\n\n/* Sticky Footer */\n.wrapper {\n min-height: calc(100vh - 40px);\n}\n\n.wrapper-footer {\n height: 40px\n}\n/* End Sticky Footer */\n\n","@charset \"utf-8\";\n\n.footer-text {\n display: block;\n position: relative;\n font-size: 14px;\n}\n",".header {\n padding-top: 35px\n}\n\n.header nav {\n padding-top: 10px;\n padding-bottom: 20px;\n}\n\n.header nav a {\n padding-right: 3px;\n}","@charset \"utf-8\";\n\n.float-left {\n float: left;\n}\n\n.float-right {\n float: right;\n}\n\n.float-center {\n text-align: center;\n}",".post-item {\n display: block;\n position: relative;\n line-height: 24px;\n padding-bottom: 5px;\n margin: 5px 0;\n}\n\n.post-summary {\n padding-top: 30px;\n padding-bottom: 30px;\n}\n\n.post-nav {\n padding-top: 100px;\n text-align: center;\n}",".category-summary {\n padding-top: 30px;\n padding-bottom: 30px;\n}\n\n.category-all-nav, .category-header {\n display: block;\n position: relative;\n line-height: 24px;\n margin: 5px 0;\n padding-bottom: 10px;\n padding-top: 10px;\n}",".post-info {\n padding-bottom: 30px;\n margin: 20px 0 5px;\n padding-top: 20px;\n}\n\n.post-content {\n line-height: 35px;\n padding-bottom: 50px;\n}\n\n.post-content h1, h3, code, pre {\n padding-bottom: 10px;\n padding-top: 10px;\n}\n\n.post-content h2 {\n padding-bottom: 20px;\n padding-top: 20px;\n}","@media only screen and (max-width: 479px) {\n\n // Hide clutter elements on mobile\n .mobile-hide{ display: none !important; }\n\n // Don't split footer text\n .footer-text{ float: left !important;}\n\n // Phone Friendly Margarine ;)\n html {margin: 1em !important;}\n}"],"file":"styles.css"} \ No newline at end of file diff --git a/assets/js/prism.js b/assets/js/prism.js new file mode 100644 index 0000000..27100e0 --- /dev/null +++ b/assets/js/prism.js @@ -0,0 +1,300 @@ +/* PrismJS 1.29.0 +https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+agda+al+antlr4+apacheconf+apex+apl+applescript+aql+arduino+arff+armasm+arturo+asciidoc+aspnet+asm6502+asmatmel+autohotkey+autoit+avisynth+avro-idl+awk+bash+basic+batch+bbcode+bbj+bicep+birb+bison+bnf+bqn+brainfuck+brightscript+bro+bsl+c+csharp+cpp+cfscript+chaiscript+cil+cilkc+cilkcpp+clojure+cmake+cobol+coffeescript+concurnas+csp+cooklang+coq+crystal+css-extras+csv+cue+cypher+d+dart+dataweave+dax+dhall+diff+django+dns-zone-file+docker+dot+ebnf+editorconfig+eiffel+ejs+elixir+elm+etlua+erb+erlang+excel-formula+fsharp+factor+false+firestore-security-rules+flow+fortran+ftl+gml+gap+gcode+gdscript+gedcom+gettext+gherkin+git+glsl+gn+linker-script+go+go-module+gradle+graphql+groovy+haml+handlebars+haskell+haxe+hcl+hlsl+hoon+http+hpkp+hsts+ichigojam+icon+icu-message-format+idris+ignore+inform7+ini+io+j+java+javadoc+javadoclike+javastacktrace+jexl+jolie+jq+jsdoc+js-extras+json+json5+jsonp+jsstacktrace+js-templates+julia+keepalived+keyman+kotlin+kumir+kusto+latex+latte+less+lilypond+liquid+lisp+livescript+llvm+log+lolcode+lua+magma+makefile+markdown+markup-templating+mata+matlab+maxscript+mel+mermaid+metafont+mizar+mongodb+monkey+moonscript+n1ql+n4js+nand2tetris-hdl+naniscript+nasm+neon+nevod+nginx+nim+nix+nsis+objectivec+ocaml+odin+opencl+openqasm+oz+parigp+parser+pascal+pascaligo+psl+pcaxis+peoplecode+perl+php+phpdoc+php-extras+plant-uml+plsql+powerquery+powershell+processing+prolog+promql+properties+protobuf+pug+puppet+pure+purebasic+purescript+python+qsharp+q+qml+qore+r+racket+cshtml+jsx+tsx+reason+regex+rego+renpy+rescript+rest+rip+roboconf+robotframework+ruby+rust+sas+sass+scss+scala+scheme+shell-session+smali+smalltalk+smarty+sml+solidity+solution-file+soy+sparql+splunk-spl+sqf+sql+squirrel+stan+stata+iecst+stylus+supercollider+swift+systemd+t4-templating+t4-cs+t4-vb+tap+tcl+tt2+textile+toml+tremor+turtle+twig+typescript+typoscript+unrealscript+uorazor+uri+v+vala+vbnet+velocity+verilog+vhdl+vim+visual-basic+warpscript+wasm+web-idl+wgsl+wiki+wolfram+wren+xeora+xml-doc+xojo+xquery+yaml+yang+zig */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof i?new i(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/=g.reach);A+=w.value.length,w=w.next){var E=w.value;if(n.length>e.length)return;if(!(E instanceof i)){var P,L=1;if(y){if(!(P=l(b,A,e,m))||P.index>=e.length)break;var S=P.index,O=P.index+P[0].length,j=A;for(j+=w.value.length;S>=j;)j+=(w=w.next).value.length;if(A=j-=w.value.length,w.value instanceof i)continue;for(var C=w;C!==n.tail&&(jg.reach&&(g.reach=W);var z=w.prev;if(_&&(z=u(n,z,_),A+=_.length),c(n,z,L),w=u(n,z,new i(f,p?a.tokenize(N,p):N,k,N)),M&&u(n,w,M),L>1){var I={cause:f+","+d,reach:W};o(e,n,t,w.prev,A,I),g&&I.reach>g.reach&&(g.reach=I.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function u(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function c(e,n,t){for(var r=n.next,a=0;a"+i.content+""},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(n){var t=JSON.parse(n.data),r=t.language,i=t.code,l=t.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),l&&e.close()}),!1),a):a;var g=a.util.currentScript();function f(){a.manual||a.highlightAll()}if(g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var h=document.readyState;"loading"===h||"interactive"===h&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return a}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var t={"included-cdata":{pattern://i,inside:s}};t["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var n={};n[a]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,(function(){return a})),"i"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore("markup","cdata",n)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml; +!function(s){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:[^;{\\s\"']|\\s+(?!\\s)|"+e.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(Prism); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\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/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp("(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])"),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp("((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/(?:(?:\\[(?:[^\\]\\\\\r\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|/\\*(?:[^*]|\\*(?!/))*\\*/)*(?:$|[\r\n,.;:})\\]]|//))"),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute("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)","javascript")),Prism.languages.js=Prism.languages.javascript; +Prism.languages.abap={comment:/^\*.*/m,string:/(`|')(?:\\.|(?!\1)[^\\\r\n])*\1/,"string-template":{pattern:/([|}])(?:\\.|[^\\|{\r\n])*(?=[|{])/,lookbehind:!0,alias:"string"},"eol-comment":{pattern:/(^|\s)".*/m,lookbehind:!0,alias:"comment"},keyword:{pattern:/(\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,lookbehind:!0},number:/\b\d+\b/,operator:{pattern:/(\s)(?:\*\*?|<[=>]?|>=?|\?=|[-+\/=])(?=\s)/,lookbehind:!0},"string-operator":{pattern:/(\s)&&?(?=\s)/,lookbehind:!0,alias:"keyword"},"token-operator":[{pattern:/(\w)(?:->?|=>|[~|{}])(?=\w)/,lookbehind:!0,alias:"punctuation"},{pattern:/[|{}]/,alias:"punctuation"}],punctuation:/[,.:()]/}; +!function(n){var i="(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)";n.languages.abnf={comment:/;.*/,string:{pattern:/(?:%[is])?"[^"\n\r]*"/,greedy:!0,inside:{punctuation:/^%[is]/}},range:{pattern:/%(?:b[01]+-[01]+|d\d+-\d+|x[A-F\d]+-[A-F\d]+)/i,alias:"number"},terminal:{pattern:/%(?:b[01]+(?:\.[01]+)*|d\d+(?:\.\d+)*|x[A-F\d]+(?:\.[A-F\d]+)*)/i,alias:"number"},repetition:{pattern:/(^|[^\w-])(?:\d*\*\d*|\d+)/,lookbehind:!0,alias:"operator"},definition:{pattern:/(^[ \t]*)(?:[a-z][\w-]*|<[^<>\r\n]*>)(?=\s*=)/m,lookbehind:!0,alias:"keyword",inside:{punctuation:/<|>/}},"core-rule":{pattern:RegExp("(?:(^|[^<\\w-])"+i+"|<"+i+">)(?![\\w-])","i"),lookbehind:!0,alias:["rule","constant"],inside:{punctuation:/<|>/}},rule:{pattern:/(^|[^<\w-])[a-z][\w-]*|<[^<>\r\n]*>/i,lookbehind:!0,inside:{punctuation:/<|>/}},operator:/=\/?|\//,punctuation:/[()\[\]]/}}(Prism); +Prism.languages.actionscript=Prism.languages.extend("javascript",{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/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[~?@]/}),Prism.languages.actionscript["class-name"].alias="function",delete Prism.languages.actionscript.parameter,delete Prism.languages.actionscript["literal-property"],Prism.languages.markup&&Prism.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:Prism.languages.markup}}); +Prism.languages.ada={comment:/--.*/,string:/"(?:""|[^"\r\f\n])*"/,number:[{pattern:/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[+-]?\d(?:_?\d)*)?/i},{pattern:/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[+-]?\d(?:_?\d)*)?\b/i}],attribute:{pattern:/\b'\w+/,alias:"attr-name"},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,boolean:/\b(?:false|true)\b/i,operator:/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/,punctuation:/\.\.?|[,;():]/,char:/'.'/,variable:/\b[a-z](?:\w)*\b/i}; +!function(t){t.languages.agda={comment:/\{-[\s\S]*?(?:-\}|$)|--.*/,string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},punctuation:/[(){}⦃⦄.;@]/,"class-name":{pattern:/((?:data|record) +)\S+/,lookbehind:!0},function:{pattern:/(^[ \t]*)(?!\s)[^:\r\n]+(?=:)/m,lookbehind:!0},operator:{pattern:/(^\s*|\s)(?:[=|:∀→λ\\?_]|->)(?=\s)/,lookbehind:!0},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/}}(Prism); +Prism.languages.al={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,greedy:!0},function:{pattern:/(\b(?:event|procedure|trigger)\s+|(?:^|[^.])\.\s*)[a-z_]\w*(?=\s*\()/i,lookbehind:!0},keyword:[/\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,/\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],number:/\b(?:0x[\da-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)(?:F|LL?|U(?:LL?)?)?\b/i,boolean:/\b(?:false|true)\b/i,variable:/\b(?:Curr(?:FieldNo|Page|Report)|x?Rec|RequestOptionsPage)\b/,"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,operator:/\.\.|:[=:]|[-+*/]=?|<>|[<>]=?|=|\b(?:and|div|mod|not|or|xor)\b/i,punctuation:/[()\[\]{}:.;,]/}; +Prism.languages.antlr4={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,string:{pattern:/'(?:\\.|[^\\'\r\n])*'/,greedy:!0},"character-class":{pattern:/\[(?:\\.|[^\\\]\r\n])*\]/,greedy:!0,alias:"regex",inside:{range:{pattern:/([^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/,lookbehind:!0,alias:"punctuation"},escape:/\\(?:u(?:[a-fA-F\d]{4}|\{[a-fA-F\d]+\})|[pP]\{[=\w-]+\}|[^\r\nupP])/,punctuation:/[\[\]]/}},action:{pattern:/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/,greedy:!0,inside:{content:{pattern:/(\{)[\s\S]+(?=\})/,lookbehind:!0},punctuation:/[{}]/}},command:{pattern:/(->\s*(?!\s))(?:\s*(?:,\s*)?\b[a-z]\w*(?:\s*\([^()\r\n]*\))?)+(?=\s*;)/i,lookbehind:!0,inside:{function:/\b\w+(?=\s*(?:[,(]|$))/,punctuation:/[,()]/}},annotation:{pattern:/@\w+(?:::\w+)*/,alias:"keyword"},label:{pattern:/#[ \t]*\w+/,alias:"punctuation"},keyword:/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/,definition:[{pattern:/\b[a-z]\w*(?=\s*:)/,alias:["rule","class-name"]},{pattern:/\b[A-Z]\w*(?=\s*:)/,alias:["token","constant"]}],constant:/\b[A-Z][A-Z_]*\b/,operator:/\.\.|->|[|~]|[*+?]\??/,punctuation:/[;:()=]/},Prism.languages.g4=Prism.languages.antlr4; +Prism.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/(^[\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,lookbehind:!0,alias:"property"},"directive-block":{pattern:/<\/?\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,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(?:[\w=],?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}},variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/,regex:/\^?.*\$|\^.*\$?/}; +Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,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,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}; +!function(e){var t=/\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="\\b(?:(?=[a-z_]\\w*\\s*[<\\[])|(?!))[A-Z_]\\w*(?:\\s*\\.\\s*[A-Z_]\\w*)*\\b(?:\\s*(?:\\[\\s*\\]|<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>))*".replace(//g,(function(){return t.source}));function i(e){return RegExp(e.replace(//g,(function(){return n})),"i")}var a={keyword:t,punctuation:/[()\[\]{};,:.<>]/};e.languages.apex={comment:e.languages.clike.comment,string:e.languages.clike.string,sql:{pattern:/((?:[=,({:]|\breturn)\s*)\[[^\[\]]*\]/i,lookbehind:!0,greedy:!0,alias:"language-sql",inside:e.languages.sql},annotation:{pattern:/@\w+\b/,alias:"punctuation"},"class-name":[{pattern:i("(\\b(?:class|enum|extends|implements|instanceof|interface|new|trigger\\s+\\w+\\s+on)\\s+)"),lookbehind:!0,inside:a},{pattern:i("(\\(\\s*)(?=\\s*\\)\\s*[\\w(])"),lookbehind:!0,inside:a},{pattern:i("(?=\\s*\\w+\\s*[;=,(){:])"),inside:a}],trigger:{pattern:/(\btrigger\s+)\w+\b/i,lookbehind:!0,alias:"class-name"},keyword:t,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/i,number:/(?:\B\.\d+|\b\d+(?:\.\d+|L)?)\b/i,operator:/[!=](?:==?)?|\?\.?|&&|\|\||--|\+\+|[-+*/^&|]=?|:|<{1,3}=?/,punctuation:/[()\[\]{};,.]/}}(Prism); +Prism.languages.apl={comment:/(?:⍝|#[! ]).*$/m,string:{pattern:/'(?:[^'\r\n]|'')*'/,greedy:!0},number:/¯?(?:\d*\.?\b\d+(?:e[+¯]?\d+)?|¯|∞)(?:j¯?(?:(?:\d+(?:\.\d+)?|\.\d+)(?:e[+¯]?\d+)?|¯|∞))?/i,statement:/:[A-Z][a-z][A-Za-z]*\b/,"system-function":{pattern:/⎕[A-Z]+/i,alias:"function"},constant:/[⍬⌾#⎕⍞]/,function:/[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/,"monadic-operator":{pattern:/[\\\/⌿⍀¨⍨⌶&∥]/,alias:"operator"},"dyadic-operator":{pattern:/[.⍣⍠⍤∘⌸@⌺⍥]/,alias:"operator"},assignment:{pattern:/←/,alias:"keyword"},punctuation:/[\[;\]()◇⋄]/,dfn:{pattern:/[{}⍺⍵⍶⍹∇⍫:]/,alias:"builtin"}}; +Prism.languages.applescript={comment:[/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,/--.+/,/#.+/],string:/"(?:\\.|[^"\\\r\n])*"/,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?\b/i,operator:[/[&=≠≤≥*+\-\/÷^]|[<>]=?/,/\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/],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/,"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/,punctuation:/[{}():,¬«»《》]/}; +Prism.languages.aql={comment:/\/\/.*|\/\*[\s\S]*?\*\//,property:{pattern:/([{,]\s*)(?:(?!\d)\w+|(["'´`])(?:(?!\2)[^\\\r\n]|\\.)*\2)(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\.)*\1/,greedy:!0},identifier:{pattern:/([´`])(?:(?!\1)[^\\\r\n]|\\.)*\1/,greedy:!0},variable:/@@?\w+/,keyword:[{pattern:/(\bWITH\s+)COUNT(?=\s+INTO\b)/i,lookbehind:!0},/\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,{pattern:/(^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i,lookbehind:!0},{pattern:/(^|[^\w.[])(?:CURRENT|NEW|OLD)\b/,lookbehind:!0},{pattern:/\bOPTIONS(?=\s*\{)/i}],function:/\b(?!\d)\w+(?=\s*\()/,boolean:/\b(?:false|true)\b/i,range:{pattern:/\.\./,alias:"operator"},number:[/\b0b[01]+/i,/\b0x[0-9a-f]+/i,/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:e[+-]?\d+)?/i],operator:/\*{2,}|[=!]~|[!=<>]=?|&&|\|\||[-+*/%]/,punctuation:/::|[?.:,;()[\]{}]/}; +Prism.languages.c=Prism.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},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/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),Prism.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}}}),Prism.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete Prism.languages.c.boolean; +!function(e){var t=/\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="\\b(?!)\\w+(?:\\s*\\.\\s*\\w+)*\\b".replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp("(\\b(?:class|concept|enum|struct|typename)\\s+)(?!)\\w+".replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp('(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\r\n|[^])|[^"\\\\\r\n])*"|<[^<>\r\n]*>|'+"(?:\\s*:\\s*)?|:\\s*".replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(Prism); +Prism.languages.arduino=Prism.languages.extend("cpp",{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/,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/,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/}),Prism.languages.ino=Prism.languages.arduino; +Prism.languages.arff={comment:/%.*/,string:{pattern:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/@(?:attribute|data|end|relation)\b/i,number:/\b\d+(?:\.\d+)?\b/,punctuation:/[{},]/}; +Prism.languages.armasm={comment:{pattern:/;.*/,greedy:!0},string:{pattern:/"(?:[^"\r\n]|"")*"/,greedy:!0,inside:{variable:{pattern:/((?:^|[^$])(?:\${2})*)\$\w+/,lookbehind:!0}}},char:{pattern:/'(?:[^'\r\n]{0,4}|'')'/,greedy:!0},"version-symbol":{pattern:/\|[\w@]+\|/,greedy:!0,alias:"property"},boolean:/\b(?:FALSE|TRUE)\b/,directive:{pattern:/\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/,alias:"property"},instruction:{pattern:/((?:^|(?:^|[^\\])(?:\r\n?|\n))[ \t]*(?:(?:[A-Z][A-Z0-9_]*[a-z]\w*|[a-z]\w*|\d+)[ \t]+)?)\b[A-Z.]+\b/,lookbehind:!0,alias:"keyword"},variable:/\$\w+/,number:/(?:\b[2-9]_\d+|(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e-?\d+)?|\b0(?:[fd]_|x)[0-9a-f]+|&[0-9a-f]+)\b/i,register:{pattern:/\b(?:r\d|lr)\b/,alias:"symbol"},operator:/<>|<<|>>|&&|\|\||[=!<>/]=?|[+\-*%#?&|^]|:[A-Z]+:/,punctuation:/[()[\],]/},Prism.languages["arm-asm"]=Prism.languages.armasm; +!function(e){var a=function(a,t){return{pattern:RegExp("\\{!(?:"+(t||a)+")$[^]*\\}","m"),greedy:!0,inside:{embedded:{pattern:/(^\{!\w+\b)[\s\S]+(?=\}$)/,lookbehind:!0,alias:"language-"+a,inside:e.languages[a]},string:/[\s\S]+/}}};e.languages.arturo={comment:{pattern:/;.*/,greedy:!0},character:{pattern:/`.`/,alias:"char",greedy:!0},number:{pattern:/\b\d+(?:\.\d+(?:\.\d+(?:-[\w+-]+)?)?)?\b/},string:{pattern:/"(?:[^"\\\r\n]|\\.)*"/,greedy:!0},regex:{pattern:/\{\/.*?\/\}/,greedy:!0},"html-string":a("html"),"css-string":a("css"),"js-string":a("js"),"md-string":a("md"),"sql-string":a("sql"),"sh-string":a("shell","sh"),multistring:{pattern:/».*|\{:[\s\S]*?:\}|\{[\s\S]*?\}|^-{6}$[\s\S]*/m,alias:"string",greedy:!0},label:{pattern:/\w+\b\??:/,alias:"property"},literal:{pattern:/'(?:\w+\b\??:?)/,alias:"constant"},type:{pattern:/:(?:\w+\b\??:?)/,alias:"class-name"},color:/#\w+/,predicate:{pattern:/\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)\?/,alias:"keyword"},"builtin-function":{pattern:/\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/,alias:"keyword"},sugar:{pattern:/->|=>|\||::/,alias:"operator"},punctuation:/[()[\],]/,symbol:{pattern:/<:|-:|ø|@|#|\+|\||\*|\$|---|-|%|\/|\.\.|\^|~|=|<|>|\\/},boolean:{pattern:/\b(?:false|maybe|true)\b/}},e.languages.art=e.languages.arturo}(Prism); +!function(t){var n={pattern:/(^[ \t]*)\[(?!\[)(?:(["'$`])(?:(?!\2)[^\\]|\\.)*\2|\[(?:[^\[\]\\]|\\.)*\]|[^\[\]\\"'$`]|\\.)*\]/m,lookbehind:!0,inside:{quoted:{pattern:/([$`])(?:(?!\1)[^\\]|\\.)*\1/,inside:{punctuation:/^[$`]|[$`]$/}},interpreted:{pattern:/'(?:[^'\\]|\\.)*'/,inside:{punctuation:/^'|'$/}},string:/"(?:[^"\\]|\\.)*"/,variable:/\w+(?==)/,punctuation:/^\[|\]$|,/,operator:/=/,"attr-value":/(?!^\s+$).+/}},i=t.languages.asciidoc={"comment-block":{pattern:/^(\/{4,})$[\s\S]*?^\1/m,alias:"comment"},table:{pattern:/^\|={3,}(?:(?:\r?\n|\r(?!\n)).*)*?(?:\r?\n|\r)\|={3,}$/m,inside:{specifiers:{pattern:/(?:(?:(?:\d+(?:\.\d+)?|\.\d+)[+*](?:[<^>](?:\.[<^>])?|\.[<^>])?|[<^>](?:\.[<^>])?|\.[<^>])[a-z]*|[a-z]+)(?=\|)/,alias:"attr-value"},punctuation:{pattern:/(^|[^\\])[|!]=*/,lookbehind:!0}}},"passthrough-block":{pattern:/^(\+{4,})$[\s\S]*?^\1$/m,inside:{punctuation:/^\++|\++$/}},"literal-block":{pattern:/^(-{4,}|\.{4,})$[\s\S]*?^\1$/m,inside:{punctuation:/^(?:-+|\.+)|(?:-+|\.+)$/}},"other-block":{pattern:/^(--|\*{4,}|_{4,}|={4,})$[\s\S]*?^\1$/m,inside:{punctuation:/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/}},"list-punctuation":{pattern:/(^[ \t]*)(?:-|\*{1,5}|\.{1,5}|(?:[a-z]|\d+)\.|[xvi]+\))(?= )/im,lookbehind:!0,alias:"punctuation"},"list-label":{pattern:/(^[ \t]*)[a-z\d].+(?::{2,4}|;;)(?=\s)/im,lookbehind:!0,alias:"symbol"},"indented-block":{pattern:/((\r?\n|\r)\2)([ \t]+)\S.*(?:(?:\r?\n|\r)\3.+)*(?=\2{2}|$)/,lookbehind:!0},comment:/^\/\/.*/m,title:{pattern:/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} .+|^\.(?![\s.]).*/m,alias:"important",inside:{punctuation:/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/}},"attribute-entry":{pattern:/^:[^:\r\n]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m,alias:"tag"},attributes:n,hr:{pattern:/^'{3,}$/m,alias:"punctuation"},"page-break":{pattern:/^<{3,}$/m,alias:"punctuation"},admonition:{pattern:/^(?:CAUTION|IMPORTANT|NOTE|TIP|WARNING):/m,alias:"keyword"},callout:[{pattern:/(^[ \t]*)/m,lookbehind:!0,alias:"symbol"},{pattern:/<\d+>/,alias:"symbol"}],macro:{pattern:/\b[a-z\d][a-z\d-]*::?(?:[^\s\[\]]*\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/,inside:{function:/^[a-z\d-]+(?=:)/,punctuation:/^::?/,attributes:{pattern:/(?:\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/,inside:n.inside}}},inline:{pattern:/(^|[^\\])(?:(?:\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,lookbehind:!0,inside:{attributes:n,url:{pattern:/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/,inside:{punctuation:/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/}},"attribute-ref":{pattern:/^\{.+\}$/,inside:{variable:{pattern:/(^\{)[a-z\d,+_-]+/,lookbehind:!0},operator:/^[=?!#%@$]|!(?=[:}])/,punctuation:/^\{|\}$|::?/}},italic:{pattern:/^(['_])[\s\S]+\1$/,inside:{punctuation:/^(?:''?|__?)|(?:''?|__?)$/}},bold:{pattern:/^\*[\s\S]+\*$/,inside:{punctuation:/^\*\*?|\*\*?$/}},punctuation:/^(?:``?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[~^`]|\)?\)\))$/}},replacement:{pattern:/\((?:C|R|TM)\)/,alias:"builtin"},entity:/&#?[\da-z]{1,8};/i,"line-continuation":{pattern:/(^| )\+$/m,lookbehind:!0,alias:"punctuation"}};function e(t){for(var n={},e=0,a=(t=t.split(" ")).length;e>/g,(function(e,s){return"(?:"+n[+s]+")"}))}function s(e,s,a){return RegExp(n(e,s),a||"")}function a(e,n){for(var s=0;s>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}var t="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",r="class enum interface record struct",i="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*{)",o="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var d=l(r),p=RegExp(l(t+" "+r+" "+i+" "+o)),c=l(r+" "+i+" "+o),u=l(t+" "+r+" "+o),g=a("<(?:[^<>;=+\\-*/%&|^]|<>)*>",2),b=a("\\((?:[^()]|<>)*\\)",2),h="@?\\b[A-Za-z_]\\w*\\b",f=n("<<0>>(?:\\s*<<1>>)?",[h,g]),m=n("(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*",[c,f]),k="\\[\\s*(?:,\\s*)*\\]",y=n("<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?",[m,k]),w=n("[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>",[g,b,k]),v=n("\\(<<0>>+(?:,<<0>>+)+\\)",[w]),x=n("(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?",[v,m,k]),$={keyword:p,punctuation:/[<>()?,.:[\]]/},_="'(?:[^\r\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'",B='"(?:\\\\.|[^\\\\"\r\n])*"';e.languages.csharp=e.languages.extend("clike",{string:[{pattern:s("(^|[^$\\\\])<<0>>",['@"(?:""|\\\\[^]|[^\\\\"])*"(?!")']),lookbehind:!0,greedy:!0},{pattern:s("(^|[^@$\\\\])<<0>>",[B]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:s("(\\busing\\s+static\\s+)<<0>>(?=\\s*;)",[m]),lookbehind:!0,inside:$},{pattern:s("(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)",[h,x]),lookbehind:!0,inside:$},{pattern:s("(\\busing\\s+)<<0>>(?=\\s*=)",[h]),lookbehind:!0},{pattern:s("(\\b<<0>>\\s+)<<1>>",[d,f]),lookbehind:!0,inside:$},{pattern:s("(\\bcatch\\s*\\(\\s*)<<0>>",[m]),lookbehind:!0,inside:$},{pattern:s("(\\bwhere\\s+)<<0>>",[h]),lookbehind:!0},{pattern:s("(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>",[y]),lookbehind:!0,inside:$},{pattern:s("\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))",[x,u,h]),inside:$}],keyword:p,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,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:s("([(,]\\s*)<<0>>(?=\\s*:)",[h]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:s("(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])",[h]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:s("(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))",[b]),lookbehind:!0,alias:"class-name",inside:$},"return-type":{pattern:s("<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))",[x,m]),inside:$,alias:"class-name"},"constructor-invocation":{pattern:s("(\\bnew\\s+)<<0>>(?=\\s*[[({])",[x]),lookbehind:!0,inside:$,alias:"class-name"},"generic-method":{pattern:s("<<0>>\\s*<<1>>(?=\\s*\\()",[h,g]),inside:{function:s("^<<0>>",[h]),generic:{pattern:RegExp(g),alias:"class-name",inside:$}}},"type-list":{pattern:s("\\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|[{;]|=>|$))",[d,f,h,x,p.source,b,"\\bnew\\s*\\(\\s*\\)"]),lookbehind:!0,inside:{"record-arguments":{pattern:s("(^(?!new\\s*\\()<<0>>\\s*)<<1>>",[f,b]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:p,"class-name":{pattern:RegExp(x),greedy:!0,inside:$},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var E=B+"|"+_,R=n("/(?![*/])|//[^\r\n]*[\r\n]|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>",[E]),z=a(n("[^\"'/()]|<<0>>|\\(<>*\\)",[R]),2),S="\\b(?:assembly|event|field|method|module|param|property|return|type)\\b",j=n("<<0>>(?:\\s*\\(<<1>>*\\))?",[m,z]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:s("((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])",[S,j]),lookbehind:!0,greedy:!0,inside:{target:{pattern:s("^<<0>>(?=\\s*:)",[S]),alias:"keyword"},"attribute-arguments":{pattern:s("\\(<<0>>*\\)",[z]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var A=":[^}\r\n]+",F=a(n("[^\"'/()]|<<0>>|\\(<>*\\)",[R]),2),P=n("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[F,A]),U=a(n("[^\"'/()]|/(?!\\*)|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>|\\(<>*\\)",[E]),2),Z=n("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[U,A]);function q(n,a){return{interpolation:{pattern:s("((?:^|[^{])(?:\\{\\{)*)<<0>>",[n]),lookbehind:!0,inside:{"format-string":{pattern:s("(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)",[a,A]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:s('(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[^]|\\{\\{|<<0>>|[^\\\\{"])*"',[P]),lookbehind:!0,greedy:!0,inside:q(P,F)},{pattern:s('(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"',[Z]),lookbehind:!0,greedy:!0,inside:q(Z,U)}],char:{pattern:RegExp(_),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(Prism); +Prism.languages.aspnet=Prism.languages.extend("markup",{"page-directive":{pattern:/<%\s*@.*%>/,alias:"tag",inside:{"page-directive":{pattern:/<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,alias:"tag"},rest:Prism.languages.markup.tag.inside}},directive:{pattern:/<%.*%>/,alias:"tag",inside:{directive:{pattern:/<%\s*?[$=%#:]{0,2}|%>/,alias:"tag"},rest:Prism.languages.csharp}}}),Prism.languages.aspnet.tag.pattern=/<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,Prism.languages.insertBefore("inside","punctuation",{directive:Prism.languages.aspnet.directive},Prism.languages.aspnet.tag.inside["attr-value"]),Prism.languages.insertBefore("aspnet","comment",{"asp-comment":{pattern:/<%--[\s\S]*?--%>/,alias:["asp","comment"]}}),Prism.languages.insertBefore("aspnet",Prism.languages.javascript?"script":"tag",{"asp-script":{pattern:/(]*>)[\s\S]*?(?=<\/script>)/i,lookbehind:!0,alias:["asp","script"],inside:Prism.languages.csharp||{}}}); +Prism.languages.asm6502={comment:/;.*/,directive:{pattern:/\.\w+(?= )/,alias:"property"},string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,"op-code":{pattern:/\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/,alias:"keyword"},"hex-number":{pattern:/#?\$[\da-f]{1,4}\b/i,alias:"number"},"binary-number":{pattern:/#?%[01]+\b/,alias:"number"},"decimal-number":{pattern:/#?\b\d+\b/,alias:"number"},register:{pattern:/\b[xya]\b/i,alias:"variable"},punctuation:/[(),:]/}; +Prism.languages.asmatmel={comment:{pattern:/;.*/,greedy:!0},string:{pattern:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},constant:/\b(?:PORT[A-Z]|DDR[A-Z]|(?:DD|P)[A-Z](?:\d|[0-2]\d|3[01]))\b/,directive:{pattern:/\.\w+(?= )/,alias:"property"},"r-register":{pattern:/\br(?:\d|[12]\d|3[01])\b/,alias:"variable"},"op-code":{pattern:/\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/,alias:"keyword"},"hex-number":{pattern:/#?\$[\da-f]{2,4}\b/i,alias:"number"},"binary-number":{pattern:/#?%[01]+\b/,alias:"number"},"decimal-number":{pattern:/#?\b\d+\b/,alias:"number"},register:{pattern:/\b[acznvshtixy]\b/i,alias:"variable"},operator:/>>=?|<<=?|&[&=]?|\|[\|=]?|[-+*/%^!=<>?]=?/,punctuation:/[(),:]/}; +Prism.languages.autohotkey={comment:[{pattern:/(^|\s);.*/,lookbehind:!0},{pattern:/(^[\t ]*)\/\*(?:[\r\n](?![ \t]*\*\/)|[^\r\n])*(?:[\r\n][ \t]*\*\/)?/m,lookbehind:!0,greedy:!0}],tag:{pattern:/^([ \t]*)[^\s,`":]+(?=:[ \t]*$)/m,lookbehind:!0},string:/"(?:[^"\n\r]|"")*"/,variable:/%\w+%/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/\?|\/\/?=?|:=|\|[=|]?|&[=&]?|\+[=+]?|-[=-]?|\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\b(?:AND|NOT|OR)\b/,boolean:/\b(?:false|true)\b/,command:{pattern:/\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,alias:"selector"},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,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,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,directive:{pattern:/#[a-z]+\b/i,alias:"important"},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,function:/[^(); \t,\n+*\-=?>:\\\/<&%\[\]]+(?=\()/,punctuation:/[{}[\]():,]/}; +Prism.languages.autoit={comment:[/;.*/,{pattern:/(^[\t ]*)#(?:comments-start|cs)[\s\S]*?^[ \t]*#(?:ce|comments-end)/m,lookbehind:!0}],url:{pattern:/(^[\t ]*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m,lookbehind:!0},string:{pattern:/(["'])(?:\1\1|(?!\1)[^\r\n])*\1/,greedy:!0,inside:{variable:/([%$@])\w+\1/}},directive:{pattern:/(^[\t ]*)#[\w-]+/m,lookbehind:!0,alias:"keyword"},function:/\b\w+(?=\()/,variable:/[$@]\w+/,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,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,boolean:/\b(?:False|True)\b/i,operator:/<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Not|Or)\b/i,punctuation:/[\[\]().,:]/}; +!function(e){function a(e,a,r){return RegExp(function(e,a){return e.replace(/<<(\d+)>>/g,(function(e,r){return a[+r]}))}(e,a),r||"")}var r="bool|clip|float|int|string|val",t=[["is(?:bool|clip|float|int|string)|defined|(?:(?:internal)?function|var)?exists?","apply|assert|default|eval|import|nop|select|undefined","opt_(?:allowfloataudio|avipadscanlines|dwchannelmask|enable_(?:b64a|planartopackedrgb|v210|y3_10_10|y3_10_16)|usewaveextensible|vdubplanarhack)|set(?:cachemode|maxcpu|memorymax|planarlegacyalignment|workingdir)","hex(?:value)?|value","abs|ceil|continued(?:denominator|numerator)?|exp|floor|fmod|frac|log(?:10)?|max|min|muldiv|pi|pow|rand|round|sign|spline|sqrt","a?sinh?|a?cosh?|a?tan[2h]?","(?: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?))","average(?:[bgr]|chroma[uv]|luma)|(?:[rgb]|chroma[uv]|luma|rgb|[yuv](?=difference(?:fromprevious|tonext)))difference(?:fromprevious|tonext)?|[yuvrgb]plane(?:median|min|max|minmaxdifference)","getprocessinfo|logmsg|script(?:dir(?:utf8)?|file(?:utf8)?|name(?:utf8)?)|setlogparams","chr|(?:fill|find|left|mid|replace|rev|right)str|format|[lu]case|ord|str(?:cmpi?|fromutf8|len|toutf8)|time|trim(?:all|left|right)","isversionorgreater|version(?:number|string)","buildpixeltype|colorspacenametopixeltype","addautoloaddir|on(?:cpu|cuda)|prefetch|setfiltermtmode"].join("|"),["has(?:audio|video)","height|width","frame(?:count|rate)|framerate(?:denominator|numerator)","getparity|is(?:field|frame)based","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","audio(?:bits|channels|duration|length(?:[fs]|hi|lo)?|rate)|isaudio(?:float|int)"].join("|"),["avi(?:file)?source|directshowsource|image(?:reader|source|sourceanim)|opendmlsource|segmented(?:avisource|directshowsource)|wavsource","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","(?:colorkey|reset)mask|layer|mask(?:hs)?|merge|overlay|subtract","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)","blur|fixbrokenchromaupsampling|generalconvolution|(?:spatial|temporal)soften|sharpen","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)","assume[bt]ff|assume(?:field|frame)based|bob|complementparity|doubleweave|peculiarblend|pulldown|separate(?:columns|fields|rows)|swapfields|weave(?:columns|rows)?","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","animate|applyrange|conditional(?:filter|reader|select)|frameevaluate|scriptclip|tcp(?:server|source)|writefile(?:end|if|start)?","imagewriter","blackness|blankclip|colorbars(?:hd)?|compare|dumpfiltergraph|echo|histogram|info|messageclip|preroll|setgraphanalysis|show(?:framenumber|smpte|time)|showfiveversions|stack(?:horizontal|vertical)|subtitle|tone|version"].join("|")].join("|");e.languages.avisynth={comment:[{pattern:/(^|[^\\])\[\*(?:[^\[*]|\[(?!\*)|\*(?!\])|\[\*(?:[^\[*]|\[(?!\*)|\*(?!\]))*\*\])*\*\]/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],argument:{pattern:a('\\b(?:<<0>>)\\s+("?)\\w+\\1',[r],"i"),inside:{keyword:/^\w+/}},"argument-label":{pattern:/([,(][\s\\]*)\w+\s*=(?!=)/,lookbehind:!0,inside:{"argument-name":{pattern:/^\w+/,alias:"punctuation"},punctuation:/=$/}},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0,inside:{constant:{pattern:/\b(?:DEFAULT_MT_MODE|(?:MAINSCRIPT|PROGRAM|SCRIPT)DIR|(?:MACHINE|USER)_(?:CLASSIC|PLUS)_PLUGINS)\b/}}}],variable:/\b(?:last)\b/i,boolean:/\b(?:false|no|true|yes)\b/i,keyword:/\b(?:catch|else|for|function|global|if|return|try|while|__END__)\b/i,constant:/\bMT_(?:MULTI_INSTANCE|NICE_FILTER|SERIALIZED|SPECIAL_MT)\b/,"builtin-function":{pattern:a("\\b(?:<<0>>)\\b",[t],"i"),alias:"function"},"type-cast":{pattern:a("\\b(?:<<0>>)(?=\\s*\\()",[r],"i"),alias:"keyword"},function:{pattern:/\b[a-z_]\w*(?=\s*\()|(\.)[a-z_]\w*\b/i,lookbehind:!0},"line-continuation":{pattern:/(^[ \t]*)\\|\\(?=[ \t]*$)/m,lookbehind:!0,alias:"punctuation"},number:/\B\$(?:[\da-f]{6}|[\da-f]{8})\b|(?:(?:\b|\B-)\d+(?:\.\d*)?\b|\B\.\d+\b)/i,operator:/\+\+?|[!=<>]=?|&&|\|\||[?:*/%-]/,punctuation:/[{}\[\]();,.]/},e.languages.avs=e.languages.avisynth}(Prism); +Prism.languages["avro-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/(^|[^\\])"(?:[^\r\n"\\]|\\.)*"/,lookbehind:!0,greedy:!0},annotation:{pattern:/@(?:[$\w.-]|`[^\r\n`]+`)+/,greedy:!0,alias:"function"},"function-identifier":{pattern:/`[^\r\n`]+`(?=\s*\()/,greedy:!0,alias:"function"},identifier:{pattern:/`[^\r\n`]+`/,greedy:!0},"class-name":{pattern:/(\b(?:enum|error|protocol|record|throws)\b\s+)[$\w]+/,lookbehind:!0,greedy:!0},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/,function:/\b[a-z_]\w*(?=\s*\()/i,number:[{pattern:/(^|[^\w.])-?(?:(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|0x(?:[a-f0-9]+(?:\.[a-f0-9]*)?|\.[a-f0-9]+)(?:p[+-]?\d+)?)[dfl]?(?![\w.])/i,lookbehind:!0},/-?\b(?:Infinity|NaN)\b/],operator:/=/,punctuation:/[()\[\]{}<>.:,;-]/},Prism.languages.avdl=Prism.languages["avro-idl"]; +Prism.languages.awk={hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},comment:{pattern:/#.*/,greedy:!0},string:{pattern:/(^|[^\\])"(?:[^\\"\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},regex:{pattern:/((?:^|[^\w\s)])\s*)\/(?:[^\/\\\r\n]|\\.)*\//,lookbehind:!0,greedy:!0},variable:/\$\w+/,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/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[a-fA-F0-9]+)\b/,operator:/--|\+\+|!?~|>&|>>|<<|(?:\*\*|[<>!=+\-*/%^])=?|&&|\|[|&]|[?:]/,punctuation:/[()[\]{},;]/},Prism.languages.gawk=Prism.languages.awk; +!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",a={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:a,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:a}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:n},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:n.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\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;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\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;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},a.inside=e.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=n.variable[1].inside,i=0;i?^\w +\-.])*"/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,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,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,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}; +!function(e){var r=/%%?[~:\w]+%?|!\S+!/,t={pattern:/\/[a-z?]+(?=[ :]|$):?|-[a-z]\b|--[a-z-]+\b/im,alias:"attr-name",inside:{punctuation:/:/}},n=/"(?:[\\"]"|[^"])*"(?!")/,i=/(?:\b|-)\d+\b/;e.languages.batch={comment:[/^::.*/m,{pattern:/((?:^|[&(])[ \t]*)rem\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:!0}],label:{pattern:/^:.*/m,alias:"property"},command:[{pattern:/((?:^|[&(])[ \t]*)for(?: \/[a-z?](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* \S+ in \([^)]+\) do/im,lookbehind:!0,inside:{keyword:/\b(?:do|in)\b|^for\b/i,string:n,parameter:t,variable:r,number:i,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \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,lookbehind:!0,inside:{keyword:/\b(?:cmdextversion|defined|errorlevel|exist|not)\b|^if\b/i,string:n,parameter:t,variable:r,number:i,operator:/\^|==|\b(?:equ|geq|gtr|leq|lss|neq)\b/i}},{pattern:/((?:^|[&()])[ \t]*)else\b/im,lookbehind:!0,inside:{keyword:/^else\b/i}},{pattern:/((?:^|[&(])[ \t]*)set(?: \/[a-z](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* (?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:!0,inside:{keyword:/^set\b/i,string:n,parameter:t,variable:[r,/\w+(?=(?:[*\/%+\-&^|]|<<|>>)?=)/],number:i,operator:/[*\/%+\-&^|]=?|<<=?|>>=?|[!~_=]/,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \t]*@?)\w+\b(?:"(?:[\\"]"|[^"])*"(?!")|[^"^&)\r\n]|\^(?:\r\n|[\s\S]))*/m,lookbehind:!0,inside:{keyword:/^\w+\b/,string:n,parameter:t,label:{pattern:/(^\s*):\S+/m,lookbehind:!0,alias:"property"},variable:r,number:i,operator:/\^/}}],operator:/[&@]/,punctuation:/[()']/}}(Prism); +Prism.languages.bbcode={tag:{pattern:/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))*\s*\]/,inside:{tag:{pattern:/^\[\/?[^\s=\]]+/,inside:{punctuation:/^\[\/?/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+)/,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\]/,"attr-name":/[^\s=\]]+/}}},Prism.languages.shortcode=Prism.languages.bbcode; +!function(e){e.languages.bbj={comment:{pattern:/(^|[^\\:])rem\s+.*/i,lookbehind:!0,greedy:!0},string:{pattern:/(['"])(?:(?!\1|\\).|\\.)*\1/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,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,function:/\b\w+(?=\()/,boolean:/\b(?:BBjAPI\.TRUE|BBjAPI\.FALSE)\b/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:and|not|or|xor)\b/i,punctuation:/[.,;:()]/}}(Prism); +Prism.languages.bicep={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],property:[{pattern:/([\r\n][ \t]*)[a-z_]\w*(?=[ \t]*:)/i,lookbehind:!0},{pattern:/([\r\n][ \t]*)'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'(?=[ \t]*:)/,lookbehind:!0,greedy:!0}],string:[{pattern:/'''[^'][\s\S]*?'''/,greedy:!0},{pattern:/(^|[^\\'])'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'/,lookbehind:!0,greedy:!0}],"interpolated-string":{pattern:/(^|[^\\'])'(?:\\.|\$(?:(?!\{)|\{[^{}\r\n]*\})|[^'\\\r\n$])*'/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/\$\{[^{}\r\n]*\}/,inside:{expression:{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0},punctuation:/^\$\{|\}$/}},string:/[\s\S]+/}},datatype:{pattern:/(\b(?:output|param)\b[ \t]+\w+[ \t]+)\w+\b/,lookbehind:!0,alias:"class-name"},boolean:/\b(?:false|true)\b/,keyword:/\b(?:existing|for|if|in|module|null|output|param|resource|targetScope|var)\b/,decorator:/@\w+\b/,function:/\b[a-z_]\w*(?=[ \t]*\()/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/,punctuation:/[{}[\];(),.:]/},Prism.languages.bicep["interpolated-string"].inside.interpolation.inside.expression.inside=Prism.languages.bicep; +Prism.languages.birb=Prism.languages.extend("clike",{string:{pattern:/r?("|')(?:\\.|(?!\1)[^\\])*\1/,greedy:!0},"class-name":[/\b[A-Z](?:[\d_]*[a-zA-Z]\w*)?\b/,/\b(?:[A-Z]\w*|(?!(?:var|void)\b)[a-z]\w*)(?=\s+\w+\s*[;,=()])/],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/,operator:/\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?|:/,variable:/\b[a-z_]\w*\b/}),Prism.languages.insertBefore("birb","function",{metadata:{pattern:/<\w+>/,greedy:!0,alias:"symbol"}}); +Prism.languages.bison=Prism.languages.extend("c",{}),Prism.languages.insertBefore("bison","comment",{bison:{pattern:/^(?:[^%]|%(?!%))*%%[\s\S]*?%%/,inside:{c:{pattern:/%\{[\s\S]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/,inside:{delimiter:{pattern:/^%?\{|%?\}$/,alias:"punctuation"},"bison-variable":{pattern:/[$@](?:<[^\s>]+>)?[\w$]+/,alias:"variable",inside:{punctuation:/<|>/}},rest:Prism.languages.c}},comment:Prism.languages.c.comment,string:Prism.languages.c.string,property:/\S+(?=:)/,keyword:/%\w+/,number:{pattern:/(^|[^@])\b(?:0x[\da-f]+|\d+)/i,lookbehind:!0},punctuation:/%[%?]|[|:;\[\]<>]/}}}); +Prism.languages.bnf={string:{pattern:/"[^\r\n"]*"|'[^\r\n']*'/},definition:{pattern:/<[^<>\r\n\t]+>(?=\s*::=)/,alias:["rule","keyword"],inside:{punctuation:/^<|>$/}},rule:{pattern:/<[^<>\r\n\t]+>/,inside:{punctuation:/^<|>$/}},operator:/::=|[|()[\]{}*+?]|\.{3}/},Prism.languages.rbnf=Prism.languages.bnf; +Prism.languages.bqn={shebang:{pattern:/^#![ \t]*\/.*/,alias:"important",greedy:!0},comment:{pattern:/#.*/,greedy:!0},"string-literal":{pattern:/"(?:[^"]|"")*"/,greedy:!0,alias:"string"},"character-literal":{pattern:/'(?:[\s\S]|[\uD800-\uDBFF][\uDC00-\uDFFF])'/,greedy:!0,alias:"char"},function:/•[\w¯.∞π]+[\w¯.∞π]*/,"dot-notation-on-brackets":{pattern:/\{(?=.*\}\.)|\}\./,alias:"namespace"},"special-name":{pattern:/(?:𝕨|𝕩|𝕗|𝕘|𝕤|𝕣|𝕎|𝕏|𝔽|𝔾|𝕊|_𝕣_|_𝕣)/,alias:"keyword"},"dot-notation-on-name":{pattern:/[A-Za-z_][\w¯∞π]*\./,alias:"namespace"},"word-number-scientific":{pattern:/\d+(?:\.\d+)?[eE]¯?\d+/,alias:"number"},"word-name":{pattern:/[A-Za-z_][\w¯∞π]*/,alias:"symbol"},"word-number":{pattern:/[¯∞π]?(?:\d*\.?\b\d+(?:e[+¯]?\d+|E[+¯]?\d+)?|¯|∞|π)(?:j¯?(?:(?:\d+(?:\.\d+)?|\.\d+)(?:e[+¯]?\d+|E[+¯]?\d+)?|¯|∞|π))?/,alias:"number"},"null-literal":{pattern:/@/,alias:"char"},"primitive-functions":{pattern:/[-+×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!]/,alias:"operator"},"primitive-1-operators":{pattern:/[`˜˘¨⁼⌜´˝˙]/,alias:"operator"},"primitive-2-operators":{pattern:/[∘⊸⟜○⌾⎉⚇⍟⊘◶⎊]/,alias:"operator"},punctuation:/[←⇐↩(){}⟨⟩[\]‿·⋄,.;:?]/}; +Prism.languages.brainfuck={pointer:{pattern:/<|>/,alias:"keyword"},increment:{pattern:/\+/,alias:"inserted"},decrement:{pattern:/-/,alias:"deleted"},branching:{pattern:/\[|\]/,alias:"important"},operator:/[.,]/,comment:/\S+/}; +Prism.languages.brightscript={comment:/(?:\brem|').*/i,"directive-statement":{pattern:/(^[\t ]*)#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if).*/im,lookbehind:!0,alias:"property",inside:{"error-message":{pattern:/(^#error).+/,lookbehind:!0},directive:{pattern:/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/,alias:"keyword"},expression:{pattern:/[\s\S]+/,inside:null}}},property:{pattern:/([\r\n{,][\t ]*)(?:(?!\d)\w+|"(?:[^"\r\n]|"")*"(?!"))(?=[ \t]*:)/,lookbehind:!0,greedy:!0},string:{pattern:/"(?:[^"\r\n]|"")*"(?!")/,greedy:!0},"class-name":{pattern:/(\bAs[\t ]+)\w+/i,lookbehind:!0},keyword:/\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step|Stop|Sub|Then|To|While)\b/i,boolean:/\b(?:false|true)\b/i,function:/\b(?!\d)\w+(?=[\t ]*\()/,number:/(?:\b\d+(?:\.\d+)?(?:[ed][+-]\d+)?|&h[a-f\d]+)\b[%&!#]?/i,operator:/--|\+\+|>>=?|<<=?|<>|[-+*/\\<>]=?|[:^=?]|\b(?:and|mod|not|or)\b/i,punctuation:/[.,;()[\]{}]/,constant:/\b(?:LINE_NUM)\b/i},Prism.languages.brightscript["directive-statement"].inside.expression.inside=Prism.languages.brightscript; +Prism.languages.bro={comment:{pattern:/(^|[^\\$])#.*/,lookbehind:!0,inside:{italic:/\b(?:FIXME|TODO|XXX)\b/}},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},boolean:/\b[TF]\b/,function:{pattern:/(\b(?:event|function|hook)[ \t]+)\w+(?:::\w+)?/,lookbehind:!0},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))/,constant:{pattern:/(\bconst[ \t]+)\w+/i,lookbehind:!0},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/,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,punctuation:/[{}[\];(),.:]/}; +Prism.languages.bsl={comment:/\/\/.*/,string:[{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},{pattern:/'(?:[^'\r\n\\]|\\.)*'/}],keyword:[{pattern:/(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:пока|для|новый|прервать|попытка|исключение|вызватьисключение|иначе|конецпопытки|неопределено|функция|перем|возврат|конецфункции|если|иначеесли|процедура|конецпроцедуры|тогда|знач|экспорт|конецесли|из|каждого|истина|ложь|по|цикл|конеццикла|выполнить)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,lookbehind:!0},{pattern:/\b(?:break|do|each|else|elseif|enddo|endfunction|endif|endprocedure|endtry|except|execute|export|false|for|function|if|in|new|null|procedure|raise|return|then|to|true|try|undefined|val|var|while)\b/i}],number:{pattern:/(^(?=\d)|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\d+(?:\.\d*)?|\.\d+)(?:E[+-]?\d+)?/i,lookbehind:!0},operator:[/[<>+\-*/]=?|[%=]/,{pattern:/(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:и|или|не)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,lookbehind:!0},{pattern:/\b(?:and|not|or)\b/i}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/,directive:[{pattern:/^([ \t]*)&.*/m,lookbehind:!0,greedy:!0,alias:"important"},{pattern:/^([ \t]*)#.*/gm,lookbehind:!0,greedy:!0,alias:"important"}]},Prism.languages.oscript=Prism.languages.bsl; +Prism.languages.cfscript=Prism.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,inside:{annotation:{pattern:/(?:^|[^.])@[\w\.]+/,alias:"punctuation"}}},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],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*=)/,operator:[/\+\+|--|&&|\|\||::|=>|[!=]==|[-+*/%&|^!=<>]=?|\?(?:\.|:)?|:/,/\b(?:and|contains|eq|equal|eqv|gt|gte|imp|is|lt|lte|mod|not|or|xor)\b/],scope:{pattern:/\b(?:application|arguments|cgi|client|cookie|local|session|super|this|variables)\b/,alias:"global"},type:{pattern:/\b(?:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|void|xml)\b/,alias:"builtin"}}),Prism.languages.insertBefore("cfscript","keyword",{"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"}}),delete Prism.languages.cfscript["class-name"],Prism.languages.cfc=Prism.languages.cfscript; +Prism.languages.chaiscript=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])'(?:[^'\\]|\\[\s\S])*'/,lookbehind:!0,greedy:!0},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},{pattern:/(\b(?:attr|def)\s+)\w+(?=\s*::)/,lookbehind:!0}],keyword:/\b(?:attr|auto|break|case|catch|class|continue|def|default|else|finally|for|fun|global|if|return|switch|this|try|var|while)\b/,number:[Prism.languages.cpp.number,/\b(?:Infinity|NaN)\b/],operator:/>>=?|<<=?|\|\||&&|:[:=]?|--|\+\+|[=!<>+\-*/%|&^]=?|[?~]|`[^`\r\n]{1,4}`/}),Prism.languages.insertBefore("chaiscript","operator",{"parameter-type":{pattern:/([,(]\s*)\w+(?=\s+\w)/,lookbehind:!0,alias:"class-name"}}),Prism.languages.insertBefore("chaiscript","string",{"string-interpolation":{pattern:/(^|[^\\])"(?:[^"$\\]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\}/,lookbehind:!0,inside:{"interpolation-expression":{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:Prism.languages.chaiscript},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"}}},string:/[\s\S]+/}}}); +Prism.languages.cil={comment:/\/\/.*/,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},directive:{pattern:/(^|\W)\.[a-z]+(?=\s)/,lookbehind:!0,alias:"class-name"},variable:/\[[\w\.]+\]/,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/,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/,boolean:/\b(?:false|true)\b/,number:/\b-?(?:0x[0-9a-f]+|\d+)(?:\.[0-9a-f]+)?\b/i,punctuation:/[{}[\];(),:=]|IL_[0-9A-Za-z]+/}; +Prism.languages.cilkc=Prism.languages.insertBefore("c","function",{"parallel-keyword":{pattern:/\bcilk_(?:for|reducer|s(?:cope|pawn|ync))\b/,alias:"keyword"}}),Prism.languages["cilk-c"]=Prism.languages.cilkc; +Prism.languages.cilkcpp=Prism.languages.insertBefore("cpp","function",{"parallel-keyword":{pattern:/\bcilk_(?:for|reducer|s(?:cope|pawn|ync))\b/,alias:"keyword"}}),Prism.languages["cilk-cpp"]=Prism.languages.cilkcpp,Prism.languages.cilk=Prism.languages.cilkcpp; +Prism.languages.clojure={comment:{pattern:/;.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},char:/\\\w+/,symbol:{pattern:/(^|[\s()\[\]{},])::?[\w*+!?'<>=/.-]+/,lookbehind:!0},keyword:{pattern:/(\()(?:-|->|->>|\.|\.\.|\*|\/|\+|<|<=|=|==|>|>=|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)]|$)/,lookbehind:!0},boolean:/\b(?:false|nil|true)\b/,number:{pattern:/(^|[^\w$@])(?:\d+(?:[/.]\d+)?(?:e[+-]?\d+)?|0x[a-f0-9]+|[1-9]\d?r[a-z0-9]+)[lmn]?(?![\w$@])/i,lookbehind:!0},function:{pattern:/((?:^|[^'])\()[\w*+!?'<>=/.-]+(?=[\s)]|$)/,lookbehind:!0},operator:/[#@^`~]/,punctuation:/[{}\[\](),]/}; +Prism.languages.cmake={comment:/#.*/,string:{pattern:/"(?:[^\\"]|\\.)*"/,greedy:!0,inside:{interpolation:{pattern:/\$\{(?:[^{}$]|\$\{[^{}$]*\})*\}/,inside:{punctuation:/\$\{|\}/,variable:/\w+/}}}},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/,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/,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/,boolean:/\b(?:FALSE|OFF|ON|TRUE)\b/,namespace:/\b(?:INTERFACE|PRIVATE|PROPERTIES|PUBLIC|SHARED|STATIC|TARGET_OBJECTS)\b/,operator:/\b(?:AND|DEFINED|EQUAL|GREATER|LESS|MATCHES|NOT|OR|STREQUAL|STRGREATER|STRLESS|VERSION_EQUAL|VERSION_GREATER|VERSION_LESS)\b/,inserted:{pattern:/\b\w+::\w+\b/,alias:"class-name"},number:/\b\d+(?:\.\d+)*\b/,function:/\b[a-z_]\w*(?=\s*\()\b/i,punctuation:/[()>}]|\$[<{]/}; +Prism.languages.cobol={comment:{pattern:/\*>.*|(^[ \t]*)\*.*/m,lookbehind:!0,greedy:!0},string:{pattern:/[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,greedy:!0},level:{pattern:/(^[ \t]*)\d+\b/m,lookbehind:!0,greedy:!0,alias:"number"},"class-name":{pattern:/(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,lookbehind:!0,inside:{number:{pattern:/(\()\d+/,lookbehind:!0},punctuation:/[()]/}},keyword:{pattern:/(^|[^\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,lookbehind:!0},boolean:{pattern:/(^|[^\w-])(?:false|true)(?![\w-])/i,lookbehind:!0},number:{pattern:/(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,lookbehind:!0},operator:[/<>|[<>]=?|[=+*/&]/,{pattern:/(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,lookbehind:!0}],punctuation:/[.:,()]/}; +!function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],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/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(Prism); +Prism.languages.concurnas={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,lookbehind:!0,greedy:!0},langext:{pattern:/\b\w+\s*\|\|[\s\S]+?\|\|/,greedy:!0,inside:{"class-name":/^\w+/,string:{pattern:/(^\s*\|\|)[\s\S]+(?=\|\|$)/,lookbehind:!0},punctuation:/\|\|/}},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,lookbehind:!0},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/,boolean:/\b(?:false|true)\b/,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,punctuation:/[{}[\];(),.:]/,operator:/<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,annotation:{pattern:/@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,alias:"builtin"}},Prism.languages.insertBefore("concurnas","langext",{"regex-literal":{pattern:/\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:Prism.languages.concurnas},regex:/[\s\S]+/}},"string-literal":{pattern:/(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:Prism.languages.concurnas},string:/[\s\S]+/}}}),Prism.languages.conc=Prism.languages.concurnas; +!function(e){function n(e){return RegExp("([ \t])(?:"+e+")(?=[\\s;]|$)","i")}e.languages.csp={directive:{pattern:/(^|[\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,lookbehind:!0,alias:"property"},scheme:{pattern:n("[a-z][a-z0-9.+-]*:"),lookbehind:!0},none:{pattern:n("'none'"),lookbehind:!0,alias:"keyword"},nonce:{pattern:n("'nonce-[-+/\\w=]+'"),lookbehind:!0,alias:"number"},hash:{pattern:n("'sha(?:256|384|512)-[-+/\\w=]+'"),lookbehind:!0,alias:"number"},host:{pattern:n("[a-z][a-z0-9.+-]*://[^\\s;,']*|\\*[^\\s;,']*|[a-z0-9-]+(?:\\.[a-z0-9-]+)+(?::[\\d*]+)?(?:/[^\\s;,']*)?"),lookbehind:!0,alias:"url",inside:{important:/\*/}},keyword:[{pattern:n("'unsafe-[a-z-]+'"),lookbehind:!0,alias:"unsafe"},{pattern:n("'[a-z-]+'"),lookbehind:!0,alias:"safe"}],punctuation:/;/}}(Prism); +!function(e){var a="(?:(?!\\s)[\\d$+<=a-zA-Z\\x80-\\uFFFF])+",t="[^{}@#]+\\{[^}#@]*\\}";e.languages.cooklang={comment:{pattern:/\[-[\s\S]*?-\]|--.*/,greedy:!0},meta:{pattern:/>>.*:.*/,inside:{property:{pattern:/(>>\s*)[^\s:](?:[^:]*[^\s:])?/,lookbehind:!0}}},"cookware-group":{pattern:new RegExp("#(?:"+t+"|"+a+")"),inside:{cookware:{pattern:new RegExp("(^#)(?:[^{}@#]+)"),lookbehind:!0,alias:"variable"},"cookware-keyword":{pattern:/^#/,alias:"keyword"},"quantity-group":{pattern:new RegExp(/\{[^{}@#]*\}/),inside:{quantity:{pattern:new RegExp("(^\\{)[^{}@#]+"),lookbehind:!0,alias:"number"},punctuation:/[{}]/}}}},"ingredient-group":{pattern:new RegExp("@(?:"+t+"|"+a+")"),inside:{ingredient:{pattern:new RegExp("(^@)(?:[^{}@#]+)"),lookbehind:!0,alias:"variable"},"ingredient-keyword":{pattern:/^@/,alias:"keyword"},"amount-group":{pattern:/\{[^{}]*\}/,inside:{amount:{pattern:/([\{|])[^{}|*%]+/,lookbehind:!0,alias:"number"},unit:{pattern:/(%)[^}]+/,lookbehind:!0,alias:"symbol"},"servings-scaler":{pattern:/\*/,alias:"operator"},"servings-alternative-separator":{pattern:/\|/,alias:"operator"},"unit-separator":{pattern:/(?:%|(\*)%)/,lookbehind:!0,alias:"operator"},punctuation:/[{}]/}}}},"timer-group":{pattern:/~(?!\s)[^@#~{}]*\{[^{}]*\}/,inside:{timer:{pattern:/(^~)[^{]+/,lookbehind:!0,alias:"variable"},"duration-group":{pattern:/\{[^{}]*\}/,inside:{punctuation:/[{}]/,unit:{pattern:new RegExp("(%\\s*)(?:h|hours|hrs|m|min|minutes)\\b"),lookbehind:!0,alias:"symbol"},operator:/%/,duration:{pattern:/\d+/,alias:"number"}}},"timer-keyword":{pattern:/^~/,alias:"keyword"}}}}}(Prism); +!function(e){for(var t="\\(\\*(?:[^(*]|\\((?!\\*)|\\*(?!\\))|)*\\*\\)",i=0;i<2;i++)t=t.replace(//g,(function(){return t}));t=t.replace(//g,"[]"),e.languages.coq={comment:RegExp(t),string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},attribute:[{pattern:RegExp('#\\[(?:[^\\[\\]("]|"(?:[^"]|"")*"(?!")|\\((?!\\*)|)*\\]'.replace(//g,(function(){return t}))),greedy:!0,alias:"attr-name",inside:{comment:RegExp(t),string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},operator:/=/,punctuation:/^#\[|\]$|[,()]/}},{pattern:/\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,alias:"attr-name"}],keyword:/\b(?:Abort|About|Add|Admit|Admitted|All|Arguments|As|Assumptions|Axiom|Axioms|Back|BackTo|Backtrace|BinOp|BinOpSpec|BinRel|Bind|Blacklist|Canonical|Case|Cd|Check|Class|Classes|Close|CoFixpoint|CoInductive|Coercion|Coercions|Collection|Combined|Compute|Conjecture|Conjectures|Constant|Constants|Constraint|Constructors|Context|Corollary|Create|CstOp|Custom|Cut|Debug|Declare|Defined|Definition|Delimit|Dependencies|Dependent|Derive|Diffs|Drop|Elimination|End|Entry|Equality|Eval|Example|Existential|Existentials|Existing|Export|Extern|Extraction|Fact|Fail|Field|File|Firstorder|Fixpoint|Flags|Focus|From|Funclass|Function|Functional|GC|Generalizable|Goal|Grab|Grammar|Graph|Guarded|Haskell|Heap|Hide|Hint|HintDb|Hints|Hypotheses|Hypothesis|IF|Identity|Immediate|Implicit|Implicits|Import|Include|Induction|Inductive|Infix|Info|Initial|InjTyp|Inline|Inspect|Instance|Instances|Intro|Intros|Inversion|Inversion_clear|JSON|Language|Left|Lemma|Let|Lia|Libraries|Library|Load|LoadPath|Locate|Ltac|Ltac2|ML|Match|Method|Minimality|Module|Modules|Morphism|Next|NoInline|Notation|Number|OCaml|Obligation|Obligations|Opaque|Open|Optimize|Parameter|Parameters|Parametric|Path|Paths|Prenex|Preterm|Primitive|Print|Profile|Projections|Proof|Prop|PropBinOp|PropOp|PropUOp|Property|Proposition|Pwd|Qed|Quit|Rec|Record|Recursive|Redirect|Reduction|Register|Relation|Remark|Remove|Require|Reserved|Reset|Resolve|Restart|Rewrite|Right|Ring|Rings|SProp|Saturate|Save|Scheme|Scope|Scopes|Search|SearchHead|SearchPattern|SearchRewrite|Section|Separate|Set|Setoid|Show|Signatures|Solve|Solver|Sort|Sortclass|Sorted|Spec|Step|Strategies|Strategy|String|Structure|SubClass|Subgraph|SuchThat|Tactic|Term|TestCompile|Theorem|Time|Timeout|To|Transparent|Type|Typeclasses|Types|Typing|UnOp|UnOpSpec|Undelimit|Undo|Unfocus|Unfocused|Unfold|Universe|Universes|Unshelve|Variable|Variables|Variant|Verbose|View|Visibility|Zify|_|apply|as|at|by|cofix|else|end|exists|exists2|fix|for|forall|fun|if|in|let|match|measure|move|removed|return|struct|then|using|wf|where|with)\b/,number:/\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,punct:{pattern:/@\{|\{\||\[=|:>/,alias:"punctuation"},operator:/\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,punctuation:/\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/}}(Prism); +!function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},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/,operator:/\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var n={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var t="(?:"+["([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","\\((?:[^()\\\\]|\\\\[^]|\\((?:[^()\\\\]|\\\\[^])*\\))*\\)","\\{(?:[^{}\\\\]|\\\\[^]|\\{(?:[^{}\\\\]|\\\\[^])*\\})*\\}","\\[(?:[^\\[\\]\\\\]|\\\\[^]|\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\])*\\]","<(?:[^<>\\\\]|\\\\[^]|<(?:[^<>\\\\]|\\\\[^])*>)*>"].join("|")+")",i='(?:"(?:\\\\.|[^"\\\\\r\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\0-\\x7F]+)[?!]?|\\$.)';e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp("%r"+t+"[egimnosux]{0,6}"),greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp("(^|[^:]):"+i),lookbehind:!0,greedy:!0},{pattern:RegExp("([\r\n{(,][ \t]*)"+i+"(?=:(?!:))"),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp("%[qQiIwWs]?"+t),greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp("%x"+t),greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{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/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(Prism); +!function(e){e.languages.crystal=e.languages.extend("ruby",{keyword:[/\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/,{pattern:/(\.\s*)(?:is_a|responds_to)\?/,lookbehind:!0}],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/,operator:[/->/,e.languages.ruby.operator],punctuation:/[(){}[\].,;\\]/}),e.languages.insertBefore("crystal","string-literal",{attribute:{pattern:/@\[.*?\]/,inside:{delimiter:{pattern:/^@\[|\]$/,alias:"punctuation"},attribute:{pattern:/^(\s*)\w+/,lookbehind:!0,alias:"class-name"},args:{pattern:/\S(?:[\s\S]*\S)?/,inside:e.languages.crystal}}},expansion:{pattern:/\{(?:\{.*?\}|%.*?%)\}/,inside:{content:{pattern:/^(\{.)[\s\S]+(?=.\}$)/,lookbehind:!0,inside:e.languages.crystal},delimiter:{pattern:/^\{[\{%]|[\}%]\}$/,alias:"operator"}}},char:{pattern:/'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,greedy:!0}})}(Prism); +!function(e){var a,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:a={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=a,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},i={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?: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|RebeccaPurple|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)(?![\w-])/i,lookbehind:!0},{pattern:/\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,inside:{unit:r,number:i,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:i})}(Prism); +Prism.languages.csv={value:/[^\r\n,"]+|"(?:[^"]|"")*"(?!")/,punctuation:/,/}; +!function(e){var n="(?:"+"\"\"\"(?:[^\\\\\"]|\"(?!\"\"\\2)|)*\"\"\"|'''(?:[^\\\\']|'(?!''\\2)|)*'''|\"(?:[^\\\\\r\n\"]|\"(?!\\2)|)*\"|'(?:[^\\\\\r\n']|'(?!\\2)|)*'".replace(//g,"\\\\(?:(?!\\2)|\\2(?:[^()\r\n]|\\([^()]*\\)))")+")";e.languages.cue={comment:{pattern:/\/\/.*/,greedy:!0},"string-literal":{pattern:RegExp("(^|[^#\"'\\\\])(#*)"+n+"(?![\"'])\\2"),lookbehind:!0,greedy:!0,inside:{escape:{pattern:/(?=[\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}|[^(])/,greedy:!0,alias:"string"},interpolation:{pattern:/(?=[\s\S]*["'](#*)$)\\\1\([^()]*\)/,greedy:!0,inside:{punctuation:/^\\#*\(|\)$/,expression:{pattern:/[\s\S]+/,inside:null}}},string:/[\s\S]+/}},keyword:{pattern:/(^|[^\w$])(?:for|if|import|in|let|null|package)(?![\w$])/,lookbehind:!0},boolean:{pattern:/(^|[^\w$])(?:false|true)(?![\w$])/,lookbehind:!0},builtin:{pattern:/(^|[^\w$])(?:bool|bytes|float|float(?:32|64)|u?int(?:8|16|32|64|128)?|number|rune|string)(?![\w$])/,lookbehind:!0},attribute:{pattern:/@[\w$]+(?=\s*\()/,alias:"function"},function:{pattern:/(^|[^\w$])[a-z_$][\w$]*(?=\s*\()/i,lookbehind:!0},number:{pattern:/(^|[^\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$])/,lookbehind:!0},operator:/\.{3}|_\|_|&&?|\|\|?|[=!]~|[<>=!]=?|[+\-*/?]/,punctuation:/[()[\]{},.:]/},e.languages.cue["string-literal"].inside.interpolation.inside.expression.inside=e.languages.cue}(Prism); +Prism.languages.cypher={comment:/\/\/.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,greedy:!0},"class-name":{pattern:/(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,lookbehind:!0,greedy:!0},relationship:{pattern:/(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,lookbehind:!0,greedy:!0,alias:"property"},identifier:{pattern:/`(?:[^`\\\r\n])*`/,greedy:!0},variable:/\$\w+/,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,function:/\b\w+\b(?=\s*\()/,boolean:/\b(?:false|null|true)\b/i,number:/\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,operator:/:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,punctuation:/[()[\]{},;.]/}; +Prism.languages.d=Prism.languages.extend("clike",{comment:[{pattern:/^\s*#!.+/,greedy:!0},{pattern:RegExp("(^|[^\\\\])(?:"+["/\\+(?:/\\+(?:[^+]|\\+(?!/))*\\+/|(?!/\\+)[^])*?\\+/","//.*","/\\*[^]*?\\*/"].join("|")+")"),lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(['\\b[rx]"(?:\\\\[^]|[^\\\\"])*"[cwd]?','\\bq"(?:\\[[^]*?\\]|\\([^]*?\\)|<[^]*?>|\\{[^]*?\\})"','\\bq"((?!\\d)\\w+)$[^]*?^\\1"','\\bq"(.)[^]*?\\2"','(["`])(?:\\\\[^]|(?!\\3)[^\\\\])*\\3[cwd]?'].join("|"),"m"),greedy:!0},{pattern:/\bq\{(?:\{[^{}]*\}|[^{}])*\}/,greedy:!0,alias:"token-string"}],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/,number:[/\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,{pattern:/((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,lookbehind:!0}],operator:/\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/}),Prism.languages.insertBefore("d","string",{char:/'(?:\\(?:\W|\w+)|[^\\])'/}),Prism.languages.insertBefore("d","keyword",{property:/\B@\w*/}),Prism.languages.insertBefore("d","function",{register:{pattern:/\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)/,alias:"variable"}}); +!function(e){var a=[/\b(?:async|sync|yield)\*/,/\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="(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",s={pattern:RegExp(n+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}}}};e.languages.dart=e.languages.extend("clike",{"class-name":[s,{pattern:RegExp(n+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])"),lookbehind:!0,inside:s.inside}],keyword:a,operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),e.languages.insertBefore("dart","string",{"string-literal":{pattern:/r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,lookbehind:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.dart}}},string:/[\s\S]+/}},string:void 0}),e.languages.insertBefore("dart","class-name",{metadata:{pattern:/@\w+/,alias:"function"}}),e.languages.insertBefore("dart","class-name",{generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":s,keyword:a,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})}(Prism); +!function(e){e.languages.dataweave={url:/\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/,property:{pattern:/(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/,greedy:!0},string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},"mime-type":/\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/,date:{pattern:/\|[\w:+-]+\|/,greedy:!0},comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],regex:{pattern:/\/(?:[^\\\/\r\n]|\\[^\r\n])+\//,greedy:!0},keyword:/\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/,function:/\b[A-Z_]\w*(?=\s*\()/i,number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\];(),.:@]/,operator:/<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/,boolean:/\b(?:false|true)\b/}}(Prism); +Prism.languages.dax={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/).*)/,lookbehind:!0},"data-field":{pattern:/'(?:[^']|'')*'(?!')(?:\[[ \w\xA0-\uFFFF]+\])?|\w+\[[ \w\xA0-\uFFFF]+\]/,alias:"symbol"},measure:{pattern:/\[[ \w\xA0-\uFFFF]+\]/,alias:"constant"},string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},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,keyword:/\b(?:DEFINE|EVALUATE|MEASURE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i,boolean:{pattern:/\b(?:FALSE|NULL|TRUE)\b/i,alias:"constant"},number:/\b\d+(?:\.\d*)?|\B\.\d+\b/,operator:/:=|[-+*\/=^]|&&?|\|\||<(?:=>?|<|>)?|>[>=]?|\b(?:IN|NOT)\b/i,punctuation:/[;\[\](){}`,.]/}; +Prism.languages.dhall={comment:/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/,string:{pattern:/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^{}]*\}/,inside:{expression:{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0,alias:"language-dhall",inside:null},punctuation:/\$\{|\}/}}}},label:{pattern:/`[^`]*`/,greedy:!0},url:{pattern:/\bhttps?:\/\/[\w.:%!$&'*+;=@~-]+(?:\/[\w.:%!$&'*+;=@~-]*)*(?:\?[/?\w.:%!$&'*+;=@~-]*)?/,greedy:!0},env:{pattern:/\benv:(?:(?!\d)\w+|"(?:[^"\\=]|\\.)*")/,greedy:!0,inside:{function:/^env/,operator:/^:/,variable:/[\s\S]+/}},hash:{pattern:/\bsha256:[\da-fA-F]{64}\b/,inside:{function:/sha256/,operator:/:/,number:/[\da-fA-F]{64}/}},keyword:/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/,builtin:/\b(?:None|Some)\b/,boolean:/\b(?:False|True)\b/,number:/\bNaN\b|-?\bInfinity\b|[+-]?\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/,operator:/\/\\|\/\/\\\\|&&|\|\||===|[!=]=|\/\/|->|\+\+|::|[+*#@=:?<>|\\\u2227\u2a53\u2261\u2afd\u03bb\u2192]/,punctuation:/\.\.|[{}\[\](),./]/,"class-name":/\b[A-Z]\w*\b/},Prism.languages.dhall.string.inside.interpolation.inside.expression.inside=Prism.languages.dhall; +!function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var n={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(n).forEach((function(a){var i=n[a],r=[];/^\w+$/.test(a)||r.push(/\w+/.exec(a)[0]),"diff"===a&&r.push("bold"),e.languages.diff[a]={pattern:RegExp("^(?:["+i+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:r,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(a)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:n})}(Prism); +!function(e){function n(e,n){return"___"+e.toUpperCase()+n+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(t,a,r,o){if(t.language===a){var c=t.tokenStack=[];t.code=t.code.replace(r,(function(e){if("function"==typeof o&&!o(e))return e;for(var r,i=c.length;-1!==t.code.indexOf(r=n(a,i));)++i;return c[i]=e,r})),t.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(t,a){if(t.language===a&&t.tokenStack){t.grammar=e.languages[a];var r=0,o=Object.keys(t.tokenStack);!function c(i){for(var u=0;u=o.length);u++){var g=i[u];if("string"==typeof g||g.content&&"string"==typeof g.content){var l=o[r],s=t.tokenStack[l],f="string"==typeof g?g:g.content,p=n(a,l),k=f.indexOf(p);if(k>-1){++r;var m=f.substring(0,k),d=new e.Token(a,e.tokenize(s,t.grammar),"language-"+a,s),h=f.substring(k+p.length),v=[];m&&v.push.apply(v,c([m])),v.push(d),h&&v.push.apply(v,c([h])),"string"==typeof g?i.splice.apply(i,[u,1].concat(v)):g.content=v}}else g.content&&c(g.content)}return i}(t.tokens)}}}})}(Prism); +!function(e){e.languages.django={comment:/^\{#[\s\S]*?#\}$/,tag:{pattern:/(^\{%[+-]?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%][+-]?|[+-]?[}%]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},filter:{pattern:/(\|)\w+/,lookbehind:!0,alias:"function"},test:{pattern:/(\bis\s+(?:not\s+)?)(?!not\b)\w+/,lookbehind:!0,alias:"function"},function:/\b[a-z_]\w+(?=\s*\()/i,keyword:/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,number:/\b\d+(?:\.\d+)?\b/,boolean:/[Ff]alse|[Nn]one|[Tt]rue/,variable:/\b\w+\b/,punctuation:/[{}[\](),.:;]/};var n=/\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}|\{#[\s\S]*?#\}/g,o=e.languages["markup-templating"];e.hooks.add("before-tokenize",(function(e){o.buildPlaceholders(e,"django",n)})),e.hooks.add("after-tokenize",(function(e){o.tokenizePlaceholders(e,"django")})),e.languages.jinja2=e.languages.django,e.hooks.add("before-tokenize",(function(e){o.buildPlaceholders(e,"jinja2",n)})),e.hooks.add("after-tokenize",(function(e){o.tokenizePlaceholders(e,"jinja2")}))}(Prism); +Prism.languages["dns-zone-file"]={comment:/;.*/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},variable:[{pattern:/(^\$ORIGIN[ \t]+)\S+/m,lookbehind:!0},{pattern:/(^|\s)@(?=\s|$)/,lookbehind:!0}],keyword:/^\$(?:INCLUDE|ORIGIN|TTL)(?=\s|$)/m,class:{pattern:/(^|\s)(?:CH|CS|HS|IN)(?=\s|$)/,lookbehind:!0,alias:"keyword"},type:{pattern:/(^|\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|$)/,lookbehind:!0,alias:"keyword"},punctuation:/[()]/},Prism.languages["dns-zone"]=Prism.languages["dns-zone-file"]; +!function(e){var n="(?:[ \t]+(?![ \t])(?:)?|)".replace(//g,(function(){return"\\\\[\r\n](?:\\s|\\\\[\r\n]|#.*(?!.))*(?![\\s#]|\\\\[\r\n])"})),r="\"(?:[^\"\\\\\r\n]|\\\\(?:\r\n|[^]))*\"|'(?:[^'\\\\\r\n]|\\\\(?:\r\n|[^]))*'",t="--[\\w-]+=(?:|(?![\"'])(?:[^\\s\\\\]|\\\\.)+)".replace(//g,(function(){return r})),o={pattern:RegExp(r),greedy:!0},i={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function a(e,r){return e=e.replace(//g,(function(){return t})).replace(//g,(function(){return n})),RegExp(e,r)}e.languages.docker={instruction:{pattern:/(^[ \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,lookbehind:!0,greedy:!0,inside:{options:{pattern:a("(^(?:ONBUILD)?\\w+)(?:)*","i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[o,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:a("(^(?:ONBUILD)?HEALTHCHECK(?:)*)(?:CMD|NONE)\\b","i"),lookbehind:!0,greedy:!0},{pattern:a("(^(?:ONBUILD)?FROM(?:)*(?!--)[^ \t\\\\]+)AS","i"),lookbehind:!0,greedy:!0},{pattern:a("(^ONBUILD)\\w+","i"),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:i,string:o,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:i},e.languages.dockerfile=e.languages.docker}(Prism); +!function(e){var a="(?:"+["[a-zA-Z_\\x80-\\uFFFF][\\w\\x80-\\uFFFF]*","-?(?:\\.\\d+|\\d+(?:\\.\\d*)?)",'"[^"\\\\]*(?:\\\\[^][^"\\\\]*)*"',"<(?:[^<>]|(?!\x3c!--)<(?:[^<>\"']|\"[^\"]*\"|'[^']*')+>|\x3c!--(?:[^-]|-(?!->))*--\x3e)*>"].join("|")+")",n={markup:{pattern:/(^<)[\s\S]+(?=>$)/,lookbehind:!0,alias:["language-markup","language-html","language-xml"],inside:e.languages.markup}};function r(e,n){return RegExp(e.replace(//g,(function(){return a})),n)}e.languages.dot={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\/|^#.*/m,greedy:!0},"graph-name":{pattern:r("(\\b(?:digraph|graph|subgraph)[ \t\r\n]+)","i"),lookbehind:!0,greedy:!0,alias:"class-name",inside:n},"attr-value":{pattern:r("(=[ \t\r\n]*)"),lookbehind:!0,greedy:!0,inside:n},"attr-name":{pattern:r("([\\[;, \t\r\n])(?=[ \t\r\n]*=)"),lookbehind:!0,greedy:!0,inside:n},keyword:/\b(?:digraph|edge|graph|node|strict|subgraph)\b/i,"compass-point":{pattern:/(:[ \t\r\n]*)(?:[ewc_]|[ns][ew]?)(?![\w\x80-\uFFFF])/,lookbehind:!0,alias:"builtin"},node:{pattern:r("(^|[^-.\\w\\x80-\\uFFFF\\\\])"),lookbehind:!0,greedy:!0,inside:n},operator:/[=:]|-[->]/,punctuation:/[\[\]{};,]/},e.languages.gv=e.languages.dot}(Prism); +Prism.languages.ebnf={comment:/\(\*[\s\S]*?\*\)/,string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0},special:{pattern:/\?[^?\r\n]*\?/,greedy:!0,alias:"class-name"},definition:{pattern:/^([\t ]*)[a-z]\w*(?:[ \t]+[a-z]\w*)*(?=\s*=)/im,lookbehind:!0,alias:["rule","keyword"]},rule:/\b[a-z]\w*(?:[ \t]+[a-z]\w*)*\b/i,punctuation:/\([:/]|[:/]\)|[.,;()[\]{}]/,operator:/[-=|*/!]/}; +Prism.languages.editorconfig={comment:/[;#].*/,section:{pattern:/(^[ \t]*)\[.+\]/m,lookbehind:!0,alias:"selector",inside:{regex:/\\\\[\[\]{},!?.*]/,operator:/[!?]|\.\.|\*{1,2}/,punctuation:/[\[\]{},]/}},key:{pattern:/(^[ \t]*)[^\s=]+(?=[ \t]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/=.*/,alias:"attr-value",inside:{punctuation:/^=/}}}; +Prism.languages.eiffel={comment:/--.*/,string:[{pattern:/"([^[]*)\[[\s\S]*?\]\1"/,greedy:!0},{pattern:/"([^{]*)\{[\s\S]*?\}\1"/,greedy:!0},{pattern:/"(?:%(?:(?!\n)\s)*\n\s*%|%\S|[^%"\r\n])*"/,greedy:!0}],char:/'(?:%.|[^%'\r\n])+'/,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,boolean:/\b(?:False|True)\b/i,"class-name":/\b[A-Z][\dA-Z_]*\b/,number:[/\b0[xcb][\da-f](?:_*[\da-f])*\b/i,/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i],punctuation:/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,operator:/\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/}; +!function(a){a.languages.ejs={delimiter:{pattern:/^<%[-_=]?|[-_]?%>$/,alias:"punctuation"},comment:/^#[\s\S]*/,"language-javascript":{pattern:/[\s\S]+/,inside:a.languages.javascript}},a.hooks.add("before-tokenize",(function(e){a.languages["markup-templating"].buildPlaceholders(e,"ejs",/<%(?!%)[\s\S]+?%>/g)})),a.hooks.add("after-tokenize",(function(e){a.languages["markup-templating"].tokenizePlaceholders(e,"ejs")})),a.languages.eta=a.languages.ejs}(Prism); +Prism.languages.elixir={doc:{pattern:/@(?:doc|moduledoc)\s+(?:("""|''')[\s\S]*?\1|("|')(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2)/,inside:{attribute:/^@\w+/,string:/['"][\s\S]+/}},comment:{pattern:/#.*/,greedy:!0},regex:{pattern:/~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/,greedy:!0},string:[{pattern:/~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^#\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,greedy:!0,inside:{}},{pattern:/("""|''')[\s\S]*?\1/,greedy:!0,inside:{}},{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{}}],atom:{pattern:/(^|[^:]):\w+/,lookbehind:!0,alias:"symbol"},module:{pattern:/\b[A-Z]\w*\b/,alias:"class-name"},"attr-name":/\b\w+\??:(?!:)/,argument:{pattern:/(^|[^&])&\d+/,lookbehind:!0,alias:"variable"},attribute:{pattern:/@\w+/,alias:"variable"},function:/\b[_a-zA-Z]\w*[?!]?(?:(?=\s*(?:\.\s*)?\()|(?=\/\d))/,number:/\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,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/,boolean:/\b(?:false|nil|true)\b/,operator:[/\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,{pattern:/([^<])<(?!<)/,lookbehind:!0},{pattern:/([^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,%\[\]{}()]/},Prism.languages.elixir.string.forEach((function(e){e.inside={interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:Prism.languages.elixir}}}})); +Prism.languages.elm={comment:/--.*|\{-[\s\S]*?-\}/,char:{pattern:/'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+|u\{[0-9a-fA-F]+\}))'/,greedy:!0},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:[^\\"\r\n]|\\.)*"/,greedy:!0}],"import-statement":{pattern:/(^[\t ]*)import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|exposing|import)\b/}},keyword:/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,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/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,operator:/\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,hvariable:/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,constant:/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,punctuation:/[{}[\]|(),.:]/}; +Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,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/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}; +!function(a){a.languages.etlua={delimiter:{pattern:/^<%[-=]?|-?%>$/,alias:"punctuation"},"language-lua":{pattern:/[\s\S]+/,inside:a.languages.lua}},a.hooks.add("before-tokenize",(function(e){a.languages["markup-templating"].buildPlaceholders(e,"etlua",/<%[\s\S]+?%>/g)})),a.hooks.add("after-tokenize",(function(e){a.languages["markup-templating"].tokenizePlaceholders(e,"etlua")}))}(Prism); +!function(e){e.languages.erb={delimiter:{pattern:/^(\s*)<%=?|%>(?=\s*$)/,lookbehind:!0,alias:"punctuation"},ruby:{pattern:/\s*\S[\s\S]*/,alias:"language-ruby",inside:e.languages.ruby}},e.hooks.add("before-tokenize",(function(n){e.languages["markup-templating"].buildPlaceholders(n,"erb",/<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s(?:[^\r\n]|[\r\n](?!=end))*[\r\n]=end)+?%>/g)})),e.hooks.add("after-tokenize",(function(n){e.languages["markup-templating"].tokenizePlaceholders(n,"erb")}))}(Prism); +Prism.languages.erlang={comment:/%.+/,string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},"quoted-function":{pattern:/'(?:\\.|[^\\'\r\n])+'(?=\()/,alias:"function"},"quoted-atom":{pattern:/'(?:\\.|[^\\'\r\n])+'/,alias:"atom"},boolean:/\b(?:false|true)\b/,keyword:/\b(?:after|begin|case|catch|end|fun|if|of|receive|try|when)\b/,number:[/\$\\?./,/\b\d+#[a-z0-9]+/i,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i],function:/\b[a-z][\w@]*(?=\()/,variable:{pattern:/(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,lookbehind:!0},operator:[/[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],atom:/\b[a-z][\w@]*/,punctuation:/[()[\]{}:;,.#|]|<<|>>/}; +Prism.languages["excel-formula"]={comment:{pattern:/(\bN\(\s*)"(?:[^"]|"")*"(?=\s*\))/i,lookbehind:!0,greedy:!0},string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},reference:{pattern:/(?:'[^']*'|(?:[^\s()[\]{}<>*?"';,$&]*\[[^^\s()[\]{}<>*?"']+\])?\w+)!/,greedy:!0,alias:"string",inside:{operator:/!$/,punctuation:/'/,sheet:{pattern:/[^[\]]+$/,alias:"function"},file:{pattern:/\[[^[\]]+\]$/,inside:{punctuation:/[[\]]/}},path:/[\s\S]+/}},"function-name":{pattern:/\b[A-Z]\w*(?=\()/i,alias:"builtin"},range:{pattern:/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i,alias:"selector",inside:{operator:/:/,cell:/\$?[A-Z]+\$?\d+/i,column:/\$?[A-Z]+/i,row:/\$?\d+/}},cell:{pattern:/\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/,alias:"selector"},number:/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?\b/i,boolean:/\b(?:FALSE|TRUE)\b/i,operator:/[-+*/^%=&,]|<[=>]?|>=?/,punctuation:/[[\]();{}|]/},Prism.languages.xlsx=Prism.languages.xls=Prism.languages["excel-formula"]; +Prism.languages.fsharp=Prism.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\(\*(?!\))[\s\S]*?\*\)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?/,greedy:!0},"class-name":{pattern:/(\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[.\w]+\b(?:\s*(?:->|\*)\s*[.\w]+\b)*(?!\s*[:.])/,lookbehind:!0,inside:{operator:/->|\*/,punctuation:/\./}},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/,number:[/\b0x[\da-fA-F]+(?:LF|lf|un)?\b/,/\b0b[01]+(?:uy|y)?\b/,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i,/\b\d+(?:[IlLsy]|UL|u[lsy]?)?\b/],operator:/([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|?|\??(?:<=|>=|<>|[-+*/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/}),Prism.languages.insertBefore("fsharp","keyword",{preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(^#)\b(?:else|endif|if|light|line|nowarn)\b/,lookbehind:!0,alias:"keyword"}}}}),Prism.languages.insertBefore("fsharp","punctuation",{"computation-expression":{pattern:/\b[_a-z]\w*(?=\s*\{)/i,alias:"keyword"}}),Prism.languages.insertBefore("fsharp","string",{annotation:{pattern:/\[<.+?>\]/,greedy:!0,inside:{punctuation:/^\[<|>\]$/,"class-name":{pattern:/^\w+$|(^|;\s*)[A-Z]\w*(?=\()/,lookbehind:!0},"annotation-content":{pattern:/[\s\S]+/,inside:Prism.languages.fsharp}}},char:{pattern:/'(?:[^\\']|\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8}))'B?/,greedy:!0}}); +!function(e){var t={function:/\b(?:BUGS?|FIX(?:MES?)?|NOTES?|TODOS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/},s={number:/\\[^\s']|%\w/},i={comment:[{pattern:/(^|\s)(?:! .*|!$)/,lookbehind:!0,inside:t},{pattern:/(^|\s)\/\*\s[\s\S]*?\*\/(?=\s|$)/,lookbehind:!0,greedy:!0,inside:t},{pattern:/(^|\s)!\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,lookbehind:!0,greedy:!0,inside:t}],number:[{pattern:/(^|\s)[+-]?\d+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)[+-]?0(?:b[01]+|o[0-7]+|d\d+|x[\dA-F]+)(?=\s|$)/i,lookbehind:!0},{pattern:/(^|\s)[+-]?\d+\/\d+\.?(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)-\d+-\d+\/\d+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)[+-]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:e[+-]?\d+)?(?=\s|$)/i,lookbehind:!0},{pattern:/(^|\s)NAN:\s+[\da-fA-F]+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)[+-]?0(?:b1\.[01]*|o1\.[0-7]*|d1\.\d*|x1\.[\dA-F]*)p\d+(?=\s|$)/i,lookbehind:!0}],regexp:{pattern:/(^|\s)R\/\s(?:\\\S|[^\\/])*\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\s|$)/,lookbehind:!0,alias:"number",inside:{variable:/\\\S/,keyword:/[+?*\[\]^$(){}.|]/,operator:{pattern:/(\/)[idmsr]+(?:-[idmsr]+)?/,lookbehind:!0}}},boolean:{pattern:/(^|\s)[tf](?=\s|$)/,lookbehind:!0},"custom-string":{pattern:/(^|\s)[A-Z0-9\-]+"\s(?:\\\S|[^"\\])*"/,lookbehind:!0,greedy:!0,alias:"string",inside:{number:/\\\S|%\w|\//}},"multiline-string":[{pattern:/(^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/,lookbehind:!0,greedy:!0,alias:"string",inside:{number:s.number,"semicolon-or-setlocal":{pattern:/([\r\n][ \t]*);(?=\s|$)/,lookbehind:!0,alias:"function"}}},{pattern:/(^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/,lookbehind:!0,greedy:!0,alias:"string",inside:s},{pattern:/(^|\s)\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,lookbehind:!0,greedy:!0,alias:"string",inside:s}],"special-using":{pattern:/(^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/,lookbehind:!0,alias:"function",inside:{string:{pattern:/(\s)[^:\s]+/,lookbehind:!0}}},"stack-effect-delimiter":[{pattern:/(^|\s)(?:call|eval|execute)?\((?=\s)/,lookbehind:!0,alias:"operator"},{pattern:/(\s)--(?=\s)/,lookbehind:!0,alias:"operator"},{pattern:/(\s)\)(?=\s|$)/,lookbehind:!0,alias:"operator"}],combinators:{pattern:null,lookbehind:!0,alias:"keyword"},"kernel-builtin":{pattern:null,lookbehind:!0,alias:"variable"},"sequences-builtin":{pattern:null,lookbehind:!0,alias:"variable"},"math-builtin":{pattern:null,lookbehind:!0,alias:"variable"},"constructor-word":{pattern:/(^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/,lookbehind:!0,alias:"keyword"},"other-builtin-syntax":{pattern:null,lookbehind:!0,alias:"operator"},"conventionally-named-word":{pattern:/(^|\s)(?!")(?:(?:change|new|set|with)-\S+|\$\S+|>[^>\s]+|[^:>\s]+>|[^>\s]+>[^>\s]+|\+[^+\s]+\+|[^?\s]+\?|\?[^?\s]+|[^>\s]+>>|>>[^>\s]+|[^<\s]+<<|\([^()\s]+\)|[^!\s]+!|[^*\s]\S*\*|[^.\s]\S*\.)(?=\s|$)/,lookbehind:!0,alias:"keyword"},"colon-syntax":{pattern:/(^|\s)(?:[A-Z0-9\-]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/,lookbehind:!0,greedy:!0,alias:"function"},"semicolon-or-setlocal":{pattern:/(\s)(?:;|:>)(?=\s|$)/,lookbehind:!0,alias:"function"},"curly-brace-literal-delimiter":[{pattern:/(^|\s)[a-z]*\{(?=\s)/i,lookbehind:!0,alias:"operator"},{pattern:/(\s)\}(?=\s|$)/,lookbehind:!0,alias:"operator"}],"quotation-delimiter":[{pattern:/(^|\s)\[(?=\s)/,lookbehind:!0,alias:"operator"},{pattern:/(\s)\](?=\s|$)/,lookbehind:!0,alias:"operator"}],"normal-word":{pattern:/(^|\s)[^"\s]\S*(?=\s|$)/,lookbehind:!0},string:{pattern:/"(?:\\\S|[^"\\])*"/,greedy:!0,inside:s}},n=function(e){return(e+"").replace(/([.?*+\^$\[\]\\(){}|\-])/g,"\\$1")},r=function(e){return new RegExp("(^|\\s)(?:"+e.map(n).join("|")+")(?=\\s|$)")},a={"kernel-builtin":["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","","boolean?","identity-hashcode","identity-tuple?","null","composed?","new","5drop","rot","-roll","xor","identity-tuple","boolean"],"other-builtin-syntax":["=======","recursive","flushable",">>","<<<<<<","M\\","B","PRIVATE>","\\","======","final","inline","delimiter","deprecated",">>>>>","<<<<<<<","parse-complex","malformed-complex","read-only",">>>>>>>","call-next-method","<<","foldable","$","$[","${"],"sequences-builtin":["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?","","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","","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?","","3append-as","virtual-sequence","subseq?","remove-nth!","length","last-index","lengthen","assert-sequence","copy","move","third","first","tail?","set-first","prefix","bounds-error","","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"],"math-builtin":["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","","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"]};Object.keys(a).forEach((function(e){i[e].pattern=r(a[e])})),i.combinators.pattern=r(["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@","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","if-zero","each-integer","unless-zero","(find-integer)","when-zero","find-last-integer","(all-integers?)","times","(each-integer)","find-integer","all-integers?","unless-negative","if-positive","when-positive","when-negative","unless-positive","if-negative","case","2cleave","cond>quot","case>quot","3cleave","wrong-values","to-fixed-point","alist>quot","cond","cleave","call-effect","recursive-hashcode","spread","deep-spread>quot","2||","0||","n||","0&&","2&&","3||","1||","1&&","n&&","3&&","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","inputsequence"]),e.languages.factor=i}(Prism); +!function(a){a.languages.false={comment:{pattern:/\{[^}]*\}/},string:{pattern:/"[^"]*"/,greedy:!0},"character-code":{pattern:/'(?:[^\r]|\r\n?)/,alias:"number"},"assembler-code":{pattern:/\d+`/,alias:"important"},number:/\d+/,operator:/[-!#$%&'*+,./:;=>?@\\^_`|~ßø]/,punctuation:/\[|\]/,variable:/[a-z]/,"non-standard":{pattern:/[()!=]=?|[-+*/%]|\b(?:in|is)\b/}),delete Prism.languages["firestore-security-rules"]["class-name"],Prism.languages.insertBefore("firestore-security-rules","keyword",{path:{pattern:/(^|[\s(),])(?:\/(?:[\w\xA0-\uFFFF]+|\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)))+/,lookbehind:!0,greedy:!0,inside:{variable:{pattern:/\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)/,inside:{operator:/=/,keyword:/\*\*/,punctuation:/[.$(){}]/}},punctuation:/\//}},method:{pattern:/(\ballow\s+)[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/,lookbehind:!0,alias:"builtin",inside:{punctuation:/,/}}}); +!function(a){a.languages.flow=a.languages.extend("javascript",{}),a.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),a.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,delete a.languages.flow.parameter,a.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(a.languages.flow.keyword)||(a.languages.flow.keyword=[a.languages.flow.keyword]),a.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(Prism); +Prism.languages.fortran={"quoted-number":{pattern:/[BOZ](['"])[A-F0-9]+\1/i,alias:"number"},string:{pattern:/(?:\b\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:[ \t]*!.*(?:\r\n?|\n)|(?![ \t]*!))|(?!\1).)*(?:\1|&)/,inside:{comment:{pattern:/(&(?:\r\n?|\n)\s*)!.*/,lookbehind:!0}}},comment:{pattern:/!.*/,greedy:!0},boolean:/\.(?:FALSE|TRUE)\.(?:_\w+)?/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[ED][+-]?\d+)?(?:_\w+)?/i,keyword:[/\b(?:CHARACTER|COMPLEX|DOUBLE ?PRECISION|INTEGER|LOGICAL|REAL)\b/i,/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i,/\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,/\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],operator:[/\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.[A-Z]+\./i,{pattern:/(^|(?!\().)\/(?!\))/,lookbehind:!0}],punctuation:/\(\/|\/\)|[(),;:&]/}; +!function(e){for(var t="[^<()\"']|\\((?:)*\\)|<(?!#--)|<#--(?:[^-]|-(?!->))*--\x3e|\"(?:[^\\\\\"]|\\\\.)*\"|'(?:[^\\\\']|\\\\.)*'",n=0;n<2;n++)t=t.replace(//g,(function(){return t}));t=t.replace(//g,"[^\\s\\S]");var i={comment:/<#--[\s\S]*?-->/,string:[{pattern:/\br("|')(?:(?!\1)[^\\]|\\.)*\1/,greedy:!0},{pattern:RegExp("(\"|')(?:(?!\\1|\\$\\{)[^\\\\]|\\\\.|\\$\\{(?:(?!\\})(?:))*\\})*\\1".replace(//g,(function(){return t}))),greedy:!0,inside:{interpolation:{pattern:RegExp("((?:^|[^\\\\])(?:\\\\\\\\)*)\\$\\{(?:(?!\\})(?:))*\\}".replace(//g,(function(){return t}))),lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:null}}}}],keyword:/\b(?:as)\b/,boolean:/\b(?:false|true)\b/,"builtin-function":{pattern:/((?:^|[^?])\?\s*)\w+/,lookbehind:!0,alias:"function"},function:/\b\w+(?=\s*\()/,number:/\b\d+(?:\.\d+)?\b/,operator:/\.\.[<*!]?|->|--|\+\+|&&|\|\||\?{1,2}|[-+*/%!=<>]=?|\b(?:gt|gte|lt|lte)\b/,punctuation:/[,;.:()[\]{}]/};i.string[1].inside.interpolation.inside.rest=i,e.languages.ftl={"ftl-comment":{pattern:/^<#--[\s\S]*/,alias:"comment"},"ftl-directive":{pattern:/^<[\s\S]+>$/,inside:{directive:{pattern:/(^<\/?)[#@][a-z]\w*/i,lookbehind:!0,alias:"keyword"},punctuation:/^<\/?|\/?>$/,content:{pattern:/\s*\S[\s\S]*/,alias:"ftl",inside:i}}},"ftl-interpolation":{pattern:/^\$\{[\s\S]*\}$/,inside:{punctuation:/^\$\{|\}$/,content:{pattern:/\s*\S[\s\S]*/,alias:"ftl",inside:i}}}},e.hooks.add("before-tokenize",(function(n){var i=RegExp("<#--[^]*?--\x3e|)*?>|\\$\\{(?:)*?\\}".replace(//g,(function(){return t})),"gi");e.languages["markup-templating"].buildPlaceholders(n,"ftl",i)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"ftl")}))}(Prism); +Prism.languages.gamemakerlanguage=Prism.languages.gml=Prism.languages.extend("clike",{keyword:/\b(?:break|case|continue|default|do|else|enum|exit|for|globalvar|if|repeat|return|switch|until|var|while)\b/,number:/(?:\b0x[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ulf]{0,4}/i,operator:/--|\+\+|[-+%/=]=?|!=|\*\*?=?|<[<=>]?|>[=>]?|&&?|\^\^?|\|\|?|~|\b(?:and|at|not|or|with|xor)\b/,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/,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/}); +Prism.languages.gap={shell:{pattern:/^gap>[\s\S]*?(?=^gap>|$(?![\s\S]))/m,greedy:!0,inside:{gap:{pattern:/^(gap>).+(?:(?:\r(?:\n|(?!\n))|\n)>.*)*/,lookbehind:!0,inside:null},punctuation:/^gap>/}},comment:{pattern:/#.*/,greedy:!0},string:{pattern:/(^|[^\\'"])(?:'(?:[^\r\n\\']|\\.){1,10}'|"(?:[^\r\n\\"]|\\.)*"(?!")|"""[\s\S]*?""")/,lookbehind:!0,greedy:!0,inside:{continuation:{pattern:/([\r\n])>/,lookbehind:!0,alias:"punctuation"}}},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/,boolean:/\b(?:false|true)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:{pattern:/(^|[^\w.]|\.\.)(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?:_[a-z]?)?(?=$|[^\w.]|\.\.)/,lookbehind:!0},continuation:{pattern:/([\r\n])>/,lookbehind:!0,alias:"punctuation"},operator:/->|[-+*/^~=!]|<>|[<>]=?|:=|\.\./,punctuation:/[()[\]{},;.:]/},Prism.languages.gap.shell.inside.gap.inside=Prism.languages.gap; +Prism.languages.gcode={comment:/;.*|\B\(.*?\)\B/,string:{pattern:/"(?:""|[^"])*"/,greedy:!0},keyword:/\b[GM]\d+(?:\.\d+)?\b/,property:/\b[A-Z]/,checksum:{pattern:/(\*)\d+/,lookbehind:!0,alias:"number"},punctuation:/[:*]/}; +Prism.languages.gdscript={comment:/#.*/,string:{pattern:/@?(?:("|')(?:(?!\1)[^\n\\]|\\[\s\S])*\1(?!"|')|"""(?:[^\\]|\\[\s\S])*?""")/,greedy:!0},"class-name":{pattern:/(^(?:class|class_name|extends)[ \t]+|^export\([ \t]*|\bas[ \t]+|(?:\b(?:const|var)[ \t]|[,(])[ \t]*\w+[ \t]*:[ \t]*|->[ \t]*)[a-zA-Z_]\w*/m,lookbehind:!0},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/,function:/\b[a-z_]\w*(?=[ \t]*\()/i,variable:/\$\w+/,number:[/\b0b[01_]+\b|\b0x[\da-fA-F_]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[+-]?[\d_]+)?\b/,/\b(?:INF|NAN|PI|TAU)\b/],constant:/\b[A-Z][A-Z_\d]*\b/,boolean:/\b(?:false|true)\b/,operator:/->|:=|&&|\|\||<<|>>|[-+*/%&|!<>=]=?|[~^]/,punctuation:/[.:,;()[\]{}]/}; +Prism.languages.gedcom={"line-value":{pattern:/(^[\t ]*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?\w+ ).+/m,lookbehind:!0,inside:{pointer:{pattern:/^@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@$/,alias:"variable"}}},record:{pattern:/(^[\t ]*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?)\w+/m,lookbehind:!0,alias:"tag"},level:{pattern:/(^[\t ]*)\d+/m,lookbehind:!0,alias:"number"},pointer:{pattern:/@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@/,alias:"variable"}}; +Prism.languages.gettext={comment:[{pattern:/# .*/,greedy:!0,alias:"translator-comment"},{pattern:/#\..*/,greedy:!0,alias:"extracted-comment"},{pattern:/#:.*/,greedy:!0,alias:"reference-comment"},{pattern:/#,.*/,greedy:!0,alias:"flag-comment"},{pattern:/#\|.*/,greedy:!0,alias:"previously-untranslated-comment"},{pattern:/#.*/,greedy:!0}],string:{pattern:/(^|[^\\])"(?:[^"\\]|\\.)*"/,lookbehind:!0,greedy:!0},keyword:/^msg(?:ctxt|id|id_plural|str)\b/m,number:/\b\d+\b/,punctuation:/[\[\]]/},Prism.languages.po=Prism.languages.gettext; +!function(a){var n="(?:\r?\n|\r)[ \t]*\\|.+\\|(?:(?!\\|).)*";a.languages.gherkin={pystring:{pattern:/("""|''')[\s\S]+?\1/,alias:"string"},comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:!0},tag:{pattern:/(^[ \t]*)@\S*/m,lookbehind:!0},feature:{pattern:/((?:^|\r?\n|\r)[ \t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|Lastnost|Mak|Mogucnost|laH|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|Potrzeba biznesowa|perbogh|poQbogh malja'|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:\r\n]+(?:\r?\n|\r|$))*/,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]+/,lookbehind:!0},keyword:/[^:\r\n]+:/}},scenario:{pattern:/(^[ \t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram Senaryo|Dyagram senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|EXAMPLZ|Examples|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|Grundlage|Hannergrond|ghantoH|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut chovnatlh|lut|lutmey|Lýsing Atburðarásar|Lýsing Dæma|MISHUN SRSLY|MISHUN|Menggariskan Senario|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan Senaryo|Plan senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo Deskripsyon|Senaryo deskripsyon|Senaryo|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie Uiteensetting|Situasie|Skenario konsep|Skenario|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa hwaer swa|Swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\r\n]*/m,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]*/,lookbehind:!0},keyword:/[^:\r\n]+:/}},"table-body":{pattern:RegExp("("+n+")(?:"+n+")+"),lookbehind:!0,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"},td:{pattern:/\s*[^\s|][^|]*/,alias:"string"},punctuation:/\|/}},"table-head":{pattern:RegExp(n),inside:{th:{pattern:/\s*[^\s|][^|]*/,alias:"variable"},punctuation:/\|/}},atrule:{pattern:/(^[ \t]+)(?:'a|'ach|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cand|Cando|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|DEN|Dato|De|Den youse gotta|Dengan|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|E|En|Entonces|Epi|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kad|Kada|Kadar|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Ma|Majd|Maka|Manawa|Mas|Men|Menawa|Mutta|Nalika|Nalikaning|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Och|Og|Oletetaan|Ond|Onda|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|Quan|Quand|Quando|qaSDI'|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|Un|Und|ugeholl|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadan|Zadani|Zadano|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \t])/m,lookbehind:!0},string:{pattern:/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"}}},outline:{pattern:/<[^>]+>/,alias:"variable"}}}(Prism); +Prism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m}; +Prism.languages.glsl=Prism.languages.extend("c",{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/}); +Prism.languages.gn={comment:{pattern:/#.*/,greedy:!0},"string-literal":{pattern:/(^|[^\\"])"(?:[^\r\n"\\]|\\.)*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[\s\S]*?\}|[a-zA-Z_]\w*|0x[a-fA-F0-9]{2})/,lookbehind:!0,inside:{number:/^\$0x[\s\S]{2}$/,variable:/^\$\w+$/,"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}},string:/[\s\S]+/}},keyword:/\b(?:else|if)\b/,boolean:/\b(?:false|true)\b/,"builtin-function":{pattern:/\b(?:assert|defined|foreach|import|pool|print|template|tool|toolchain)(?=\s*\()/i,alias:"keyword"},function:/\b[a-z_]\w*(?=\s*\()/i,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/,number:/-?\b\d+\b/,operator:/[-+!=<>]=?|&&|\|\|/,punctuation:/[(){}[\],.]/},Prism.languages.gn["string-literal"].inside.interpolation.inside.expression.inside=Prism.languages.gn,Prism.languages.gni=Prism.languages.gn; +Prism.languages["linker-script"]={comment:{pattern:/(^|\s)\/\*[\s\S]*?(?:$|\*\/)/,lookbehind:!0,greedy:!0},identifier:{pattern:/"[^"\r\n]*"/,greedy:!0},"location-counter":{pattern:/\B\.\B/,alias:"important"},section:{pattern:/(^|[^\w*])\.\w+\b/,lookbehind:!0,alias:"keyword"},function:/\b[A-Z][A-Z_]*(?=\s*\()/,number:/\b(?:0[xX][a-fA-F0-9]+|\d+)[KM]?\b/,operator:/>>=?|<<=?|->|\+\+|--|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?/,punctuation:/[(){},;]/},Prism.languages.ld=Prism.languages["linker-script"]; +Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,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/}),Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete Prism.languages.go["class-name"]; +Prism.languages["go-mod"]=Prism.languages["go-module"]={comment:{pattern:/\/\/.*/,greedy:!0},version:{pattern:/(^|[\s()[\],])v\d+\.\d+\.\d+(?:[+-][-+.\w]*)?(?![^\s()[\],])/,lookbehind:!0,alias:"number"},"go-version":{pattern:/((?:^|\s)go\s+)\d+(?:\.\d+){1,2}/,lookbehind:!0,alias:"number"},keyword:{pattern:/^([ \t]*)(?:exclude|go|module|replace|require|retract)\b/m,lookbehind:!0},operator:/=>/,punctuation:/[()[\],]/}; +!function(e){var n={pattern:/((?:^|[^\\$])(?:\\{2})*)\$(?:\w+|\{[^{}]*\})/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}};e.languages.gradle=e.languages.extend("clike",{string:{pattern:/'''(?:[^\\]|\\[\s\S])*?'''|'(?:\\.|[^\\'\r\n])*'/,greedy:!0},keyword:/\b(?:apply|def|dependencies|else|if|implementation|import|plugin|plugins|project|repositories|repository|sourceSets|tasks|val)\b/,number:/\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?)[glidf]?\b/i,operator:{pattern:/(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,lookbehind:!0},punctuation:/\.+|[{}[\];(),:$]/}),e.languages.insertBefore("gradle","string",{shebang:{pattern:/#!.+/,alias:"comment",greedy:!0},"interpolation-string":{pattern:/"""(?:[^\\]|\\[\s\S])*?"""|(["/])(?:\\.|(?!\1)[^\\\r\n])*\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}}}),e.languages.insertBefore("gradle","punctuation",{"spock-block":/\b(?:and|cleanup|expect|given|setup|then|when|where):/}),e.languages.insertBefore("gradle","function",{annotation:{pattern:/(^|[^.])@\w+/,lookbehind:!0,alias:"punctuation"}}),n.inside.expression.inside=e.languages.gradle}(Prism); +Prism.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:Prism.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},Prism.hooks.add("after-tokenize",(function(n){if("graphql"===n.language)for(var t=n.tokens.filter((function(n){return"string"!=typeof n&&"comment"!==n.type&&"scalar"!==n.type})),e=0;e0)){var s=f(/^\{$/,/^\}$/);if(-1===s)continue;for(var u=e;u=0&&b(p,"variable-input")}}}}function l(n){return t[e+n]}function c(n,t){t=t||0;for(var e=0;e]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,lookbehind:!0},punctuation:/\.+|[{}[\];(),:$]/}),e.languages.insertBefore("groovy","string",{shebang:{pattern:/#!.+/,alias:"comment",greedy:!0},"interpolation-string":{pattern:/"""(?:[^\\]|\\[\s\S])*?"""|(["/])(?:\\.|(?!\1)[^\\\r\n])*\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}}}),e.languages.insertBefore("groovy","punctuation",{"spock-block":/\b(?:and|cleanup|expect|given|setup|then|when|where):/}),e.languages.insertBefore("groovy","function",{annotation:{pattern:/(^|[^.])@\w+/,lookbehind:!0,alias:"punctuation"}}),n.inside.expression.inside=e.languages.groovy}(Prism); +!function(n){n.languages.haml={"multiline-comment":{pattern:/((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ].+)*/,lookbehind:!0,alias:"comment"},"multiline-code":[{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ].*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ].+)/,lookbehind:!0,inside:n.languages.ruby},{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ].*\|[\t ]*)*/,lookbehind:!0,inside:n.languages.ruby}],filter:{pattern:/((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"symbol"}}},markup:{pattern:/((?:^|\r?\n|\r)[\t ]*)<.+/,lookbehind:!0,inside:n.languages.markup},doctype:{pattern:/((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^{}])+\}|\[[^\]]+\])*[\/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\{(?:\{[^}]+\}|[^{}])+\}/,lookbehind:!0,inside:n.languages.ruby},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/,lookbehind:!0},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:n.languages.ruby}],punctuation:/[<>]/}},code:{pattern:/((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:n.languages.ruby},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},ruby:{pattern:/[\s\S]+/,inside:n.languages.ruby}}},punctuation:{pattern:/((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,lookbehind:!0}};for(var e=["css",{filter:"coffee",language:"coffeescript"},"erb","javascript","less","markdown","ruby","scss","textile"],t={},r=0,a=e.length;r@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},a.hooks.add("before-tokenize",(function(e){a.languages["markup-templating"].buildPlaceholders(e,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),a.hooks.add("after-tokenize",(function(e){a.languages["markup-templating"].tokenizePlaceholders(e,"handlebars")})),a.languages.hbs=a.languages.handlebars,a.languages.mustache=a.languages.handlebars}(Prism); +Prism.languages.haskell={comment:{pattern:/(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\/].*|$)|\{-[\s\S]*?-\})/m,lookbehind:!0},char:{pattern:/'(?:[^\\']|\\(?:[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]+))'/,alias:"string"},string:{pattern:/"(?:[^\\"]|\\(?:\S|\s+\\))*"/,greedy:!0},keyword:/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/,"import-statement":{pattern:/(^[\t ]*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|hiding|import|qualified)\b/,punctuation:/\./}},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/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i,operator:[{pattern:/`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/,greedy:!0},{pattern:/(\s)\.(?=\s)/,lookbehind:!0},/[-!#$%*+=?&@|~:<>^\\\/][-!#$%*+=?&@|~.:<>^\\\/]*|\.[-!#$%*+=?&@|~.:<>^\\\/]+/],hvariable:{pattern:/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*/,inside:{punctuation:/\./}},constant:{pattern:/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:]/},Prism.languages.hs=Prism.languages.haskell; +Prism.languages.haxe=Prism.languages.extend("clike",{string:{pattern:/"(?:[^"\\]|\\[\s\S])*"/,greedy:!0},"class-name":[{pattern:/(\b(?:abstract|class|enum|extends|implements|interface|new|typedef)\s+)[A-Z_]\w*/,lookbehind:!0},/\b[A-Z]\w*/],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/,function:{pattern:/\b[a-z_]\w*(?=\s*(?:<[^<>]*>\s*)?\()/i,greedy:!0},operator:/\.{3}|\+\+|--|&&|\|\||->|=>|(?:<{1,3}|[-+*/%!=&|^])=?|[?:~]/}),Prism.languages.insertBefore("haxe","string",{"string-interpolation":{pattern:/'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{interpolation:{pattern:/(^|[^\\])\$(?:\w+|\{[^{}]+\})/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:Prism.languages.haxe}}},string:/[\s\S]+/}}}),Prism.languages.insertBefore("haxe","class-name",{regex:{pattern:/~\/(?:[^\/\\\r\n]|\\.)+\/[a-z]*/,greedy:!0,inside:{"regex-flags":/\b[a-z]+$/,"regex-source":{pattern:/^(~\/)[\s\S]+(?=\/$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^~\/|\/$/}}}),Prism.languages.insertBefore("haxe","keyword",{preprocessor:{pattern:/#(?:else|elseif|end|if)\b.*/,alias:"property"},metadata:{pattern:/@:?[\w.]+/,alias:"symbol"},reification:{pattern:/\$(?:\w+|(?=\{))/,alias:"important"}}); +Prism.languages.hcl={comment:/(?:\/\/|#).*|\/\*[\s\S]*?(?:\*\/|$)/,heredoc:{pattern:/<<-?(\w+\b)[\s\S]*?^[ \t]*\1/m,greedy:!0,alias:"string"},keyword:[{pattern:/(?:data|resource)\s+(?:"(?:\\[\s\S]|[^\\"])*")(?=\s+"[\w-]+"\s+\{)/i,inside:{type:{pattern:/(resource|data|\s+)(?:"(?:\\[\s\S]|[^\\"])*")/i,lookbehind:!0,alias:"variable"}}},{pattern:/(?:backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+(?=\{)/i,inside:{type:{pattern:/(backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+/i,lookbehind:!0,alias:"variable"}}},/[\w-]+(?=\s+\{)/],property:[/[-\w\.]+(?=\s*=(?!=))/,/"(?:\\[\s\S]|[^\\"])+"(?=\s*[:=])/],string:{pattern:/"(?:[^\\$"]|\\[\s\S]|\$(?:(?=")|\$+(?!\$)|[^"${])|\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\})*"/,greedy:!0,inside:{interpolation:{pattern:/(^|[^$])\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\}/,lookbehind:!0,inside:{type:{pattern:/(\b(?:count|data|local|module|path|self|terraform|var)\b\.)[\w\*]+/i,lookbehind:!0,alias:"variable"},keyword:/\b(?:count|data|local|module|path|self|terraform|var)\b/i,function:/\w+(?=\()/,string:{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,punctuation:/[!\$#%&'()*+,.\/;<=>@\[\\\]^`{|}~?:]/}}}},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,boolean:/\b(?:false|true)\b/i,punctuation:/[=\[\]{}]/}; +Prism.languages.hlsl=Prism.languages.extend("c",{"class-name":[Prism.languages.c["class-name"],/\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/],keyword:[/\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/,/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/],number:/(?:(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?|\b0x[\da-fA-F]+)[fFhHlLuU]?\b/,boolean:/\b(?:false|true)\b/}); +Prism.languages.hoon={comment:{pattern:/::.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/,greedy:!0},constant:/%(?:\.[ny]|[\w-]+)/,"class-name":/@(?:[a-z0-9-]*[a-z0-9])?|\*/i,function:/(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,keyword:/\.[\^\+\*=\?]|![><:\.=\?!]|=[>|:,\.\-\^<+;/~\*\?]|\?[>|:\.\-\^<\+&~=@!]|\|[\$_%:\.\-\^~\*=@\?]|\+[|\$\+\*]|:[_\-\^\+~\*]|%[_:\.\-\^\+~\*=]|\^[|:\.\-\+&~\*=\?]|\$[|_%:<>\-\^&~@=\?]|;[:<\+;\/~\*=]|~[>|\$_%<\+\/&=\?!]|--|==/}; +!function(t){function a(t){return RegExp("(^(?:"+t+"):[ \t]*(?![ \t]))[^]+","i")}t.languages.http={"request-line":{pattern:/^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\s(?:https?:\/\/|\/)\S*\sHTTP\/[\d.]+/m,inside:{method:{pattern:/^[A-Z]+\b/,alias:"property"},"request-target":{pattern:/^(\s)(?:https?:\/\/|\/)\S*(?=\s)/,lookbehind:!0,alias:"url",inside:t.languages.uri},"http-version":{pattern:/^(\s)HTTP\/[\d.]+/,lookbehind:!0,alias:"property"}}},"response-status":{pattern:/^HTTP\/[\d.]+ \d+ .+/m,inside:{"http-version":{pattern:/^HTTP\/[\d.]+/,alias:"property"},"status-code":{pattern:/^(\s)\d+(?=\s)/,lookbehind:!0,alias:"number"},"reason-phrase":{pattern:/^(\s).+/,lookbehind:!0,alias:"string"}}},header:{pattern:/^[\w-]+:.+(?:(?:\r\n?|\n)[ \t].+)*/m,inside:{"header-value":[{pattern:a("Content-Security-Policy"),lookbehind:!0,alias:["csp","languages-csp"],inside:t.languages.csp},{pattern:a("Public-Key-Pins(?:-Report-Only)?"),lookbehind:!0,alias:["hpkp","languages-hpkp"],inside:t.languages.hpkp},{pattern:a("Strict-Transport-Security"),lookbehind:!0,alias:["hsts","languages-hsts"],inside:t.languages.hsts},{pattern:a("[^:]+"),lookbehind:!0}],"header-name":{pattern:/^[^:]+/,alias:"keyword"},punctuation:/^:/}}};var e,n=t.languages,s={"application/javascript":n.javascript,"application/json":n.json||n.javascript,"application/xml":n.xml,"text/xml":n.xml,"text/html":n.html,"text/css":n.css,"text/plain":n.plain},i={"application/json":!0,"application/xml":!0};function r(t){var a=t.replace(/^[a-z]+\//,"");return"(?:"+t+"|\\w+/(?:[\\w.-]+\\+)+"+a+"(?![+\\w.-]))"}for(var p in s)if(s[p]){e=e||{};var l=i[p]?r(p):p;e[p.replace(/\//g,"-")]={pattern:RegExp("(content-type:\\s*"+l+"(?:(?:\r\n?|\n)[\\w-].*)*(?:\r(?:\n|(?!\n))|\n))[^ \t\\w-][^]*","i"),lookbehind:!0,inside:s[p]}}e&&t.languages.insertBefore("http","header",e)}(Prism); +Prism.languages.hpkp={directive:{pattern:/\b(?:includeSubDomains|max-age|pin-sha256|preload|report-to|report-uri|strict)(?=[\s;=]|$)/i,alias:"property"},operator:/=/,punctuation:/;/}; +Prism.languages.hsts={directive:{pattern:/\b(?:includeSubDomains|max-age|preload)(?=[\s;=]|$)/i,alias:"property"},operator:/=/,punctuation:/;/}; +Prism.languages.ichigojam={comment:/(?:\B'|REM)(?:[^\n\r]*)/i,string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/\B#[0-9A-F]+|\B`[01]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,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,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,label:/(?:\B@\S+)/,operator:/<[=>]?|>=?|\|\||&&|[+\-*\/=|&^~!]|\b(?:AND|NOT|OR)\b/i,punctuation:/[\[,;:()\]]/}; +Prism.languages.icon={comment:/#.*/,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n_]|\\.|_(?!\1)(?:\r\n|[\s\S]))*\1/,greedy:!0},number:/\b(?:\d+r[a-z\d]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b|\.\d+\b/i,"builtin-keyword":{pattern:/&(?: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/,alias:"variable"},directive:{pattern:/\$\w+/,alias:"builtin"},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/,function:/\b(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/,operator:/[+-]:(?!=)|(?:[\/?@^%&]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/,punctuation:/[\[\](){},;]/}; +!function(e){function t(e,s){return s<=0?"[]":e.replace(//g,(function(){return t(e,s-1)}))}var s=/'[{}:=,](?:[^']|'')*'(?!')/,n={pattern:/''/,greedy:!0,alias:"operator"},r={pattern:s,greedy:!0,inside:{escape:n}},a=t("\\{(?:[^{}']|'(?![{},'])|''||)*\\}".replace(//g,(function(){return s.source})),8),i={pattern:RegExp(a),inside:{message:{pattern:/^(\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:null},"message-delimiter":{pattern:/./,alias:"punctuation"}}};e.languages["icu-message-format"]={argument:{pattern:RegExp(a),greedy:!0,inside:{content:{pattern:/^(\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:{"argument-name":{pattern:/^(\s*)[^{}:=,\s]+/,lookbehind:!0},"choice-style":{pattern:/^(\s*,\s*choice\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{punctuation:/\|/,range:{pattern:/^(\s*)[+-]?(?:\d+(?:\.\d*)?|\u221e)\s*[<#\u2264]/,lookbehind:!0,inside:{operator:/[<#\u2264]/,number:/\S+/}},rest:null}},"plural-style":{pattern:/^(\s*,\s*(?:plural|selectordinal)\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{offset:/^offset:\s*\d+/,"nested-message":i,selector:{pattern:/=\d+|[^{}:=,\s]+/,inside:{keyword:/^(?:few|many|one|other|two|zero)$/}}}},"select-style":{pattern:/^(\s*,\s*select\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{"nested-message":i,selector:{pattern:/[^{}:=,\s]+/,inside:{keyword:/^other$/}}}},keyword:/\b(?:choice|plural|select|selectordinal)\b/,"arg-type":{pattern:/\b(?:date|duration|number|ordinal|spellout|time)\b/,alias:"keyword"},"arg-skeleton":{pattern:/(,\s*)::[^{}:=,\s]+/,lookbehind:!0},"arg-style":{pattern:/(,\s*)(?:currency|full|integer|long|medium|percent|short)(?=\s*$)/,lookbehind:!0},"arg-style-text":{pattern:RegExp("(^\\s*,\\s*(?=\\S))"+t("(?:[^{}']|'[^']*'|\\{(?:)?\\})+",8)+"$"),lookbehind:!0,alias:"string"},punctuation:/,/}},"argument-delimiter":{pattern:/./,alias:"operator"}}},escape:n,string:r},i.inside.message.inside=e.languages["icu-message-format"],e.languages["icu-message-format"].argument.inside.content.inside["choice-style"].inside.rest=e.languages["icu-message-format"]}(Prism); +Prism.languages.idris=Prism.languages.extend("haskell",{comment:{pattern:/(?:(?:--|\|\|\|).*$|\{-[\s\S]*?-\})/m},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/,builtin:void 0}),Prism.languages.insertBefore("idris","keyword",{"import-statement":{pattern:/(^\s*import\s+)(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*/m,lookbehind:!0,inside:{punctuation:/\./}}}),Prism.languages.idr=Prism.languages.idris; +!function(n){n.languages.ignore={comment:/^#.*/m,entry:{pattern:/\S(?:.*(?:(?:\\ )|\S))?/,alias:"string",inside:{operator:/^!|\*\*?|\?/,regex:{pattern:/(^|[^\\])\[[^\[\]]*\]/,lookbehind:!0},punctuation:/\//}}},n.languages.gitignore=n.languages.ignore,n.languages.hgignore=n.languages.ignore,n.languages.npmignore=n.languages.ignore}(Prism); +Prism.languages.inform7={string:{pattern:/"[^"]*"/,inside:{substitution:{pattern:/\[[^\[\]]+\]/,inside:{delimiter:{pattern:/\[|\]/,alias:"punctuation"}}}}},comment:{pattern:/\[[^\[\]]+\]/,greedy:!0},title:{pattern:/^[ \t]*(?:book|chapter|part(?! of)|section|table|volume)\b.+/im,alias:"important"},number:{pattern:/(^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?(?:(?!\d)\w+)?|\b(?:eight|eleven|five|four|nine|one|seven|six|ten|three|twelve|two))\b(?!-)/i,lookbehind:!0},verb:{pattern:/(^|[^-])\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,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^-])\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,lookbehind:!0},property:{pattern:/(^|[^-])\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,lookbehind:!0,alias:"symbol"},position:{pattern:/(^|[^-])\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,lookbehind:!0,alias:"keyword"},type:{pattern:/(^|[^-])\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,lookbehind:!0,alias:"variable"},punctuation:/[.,:;(){}]/},Prism.languages.inform7.string.inside.substitution.inside.rest=Prism.languages.inform7,Prism.languages.inform7.string.inside.substitution.inside.rest.text={pattern:/\S(?:\s*\S)*/,alias:"comment"}; +Prism.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}; +Prism.languages.io={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*|#.*)/,lookbehind:!0,greedy:!0},"triple-quoted-string":{pattern:/"""(?:\\[\s\S]|(?!""")[^\\])*"""/,greedy:!0,alias:"string"},string:{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:!0},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/,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/,boolean:/\b(?:false|nil|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?/i,operator:/[=!*/%+\-^&|]=|>>?=?|<+*\-%$|,#][.:]?|[?^]\.?|[;\[]:?|[~}"i][.:]|[ACeEIjLor]\.|(?:[_\/\\qsux]|_?\d):)/,alias:"keyword"},number:/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:ad|ar|[ejpx])_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/,adverb:{pattern:/[~}]|[\/\\]\.?|[bfM]\.|t[.:]/,alias:"builtin"},operator:/[=a][.:]|_\./,conjunction:{pattern:/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\.|`:?|[\^LS]:|"/,alias:"variable"},punctuation:/[()]/}; +!function(e){var n=/\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/,t="(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",s={pattern:RegExp("(^|[^\\w.])"+t+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[s,{pattern:RegExp("(^|[^\\w.])"+t+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)"),lookbehind:!0,inside:s.inside},{pattern:RegExp("(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)"+t+"[A-Z]\\w*\\b"),lookbehind:!0,inside:s.inside}],keyword:n,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":s,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp("(\\bimport\\s+)"+t+"(?:[A-Z]\\w*|\\*)(?=\\s*;)"),lookbehind:!0,inside:{namespace:s.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp("(\\bimport\\s+static\\s+)"+t+"(?:\\w+|\\*)(?=\\s*;)"),lookbehind:!0,alias:"static",inside:{namespace:s.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp("(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?".replace(//g,(function(){return n.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism); +!function(e){var a=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,t=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,s=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:a,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\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,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:i,operator:n,punctuation:s};var l={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},r=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:l}}];e.languages.insertBefore("php","variable",{string:r,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:a,string:r,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(a){/<\?/.test(a.code)&&e.languages["markup-templating"].buildPlaceholders(a,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)})),e.hooks.add("after-tokenize",(function(a){e.languages["markup-templating"].tokenizePlaceholders(a,"php")}))}(Prism); +!function(a){var e=a.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(e,"addSupport",{value:function(e,n){"string"==typeof e&&(e=[e]),e.forEach((function(e){!function(e,n){var t="doc-comment",r=a.languages[e];if(r){var o=r[t];if(o||(o=(r=a.languages.insertBefore(e,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[t]),o instanceof RegExp&&(o=r[t]={pattern:o}),Array.isArray(o))for(var i=0,s=o.length;i/g,(function(){return"#\\s*\\w+(?:\\s*\\([^()]*\\))?"}));a.languages.javadoc=a.languages.extend("javadoclike",{}),a.languages.insertBefore("javadoc","keyword",{reference:{pattern:RegExp("(@(?:exception|link|linkplain|see|throws|value)\\s+(?:\\*\\s*)?)(?:"+n+")"),lookbehind:!0,inside:{function:{pattern:/(#\s*)\w+(?=\s*\()/,lookbehind:!0},field:{pattern:/(#\s*)\w+/,lookbehind:!0},namespace:{pattern:/\b(?:[a-z]\w*\s*\.\s*)+/,inside:{punctuation:/\./}},"class-name":/\b[A-Z]\w*/,keyword:a.languages.java.keyword,punctuation:/[#()[\],.]/}},"class-name":{pattern:/(@param\s+)<[A-Z]\w*>/,lookbehind:!0,inside:{punctuation:/[.<>]/}},"code-section":[{pattern:/(\{@code\s+(?!\s))(?:[^\s{}]|\s+(?![\s}])|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+(?=\s*\})/,lookbehind:!0,inside:{code:{pattern:e,lookbehind:!0,inside:a.languages.java,alias:"language-java"}}},{pattern:/(<(code|pre|tt)>(?!)\s*)\S(?:\S|\s+\S)*?(?=\s*<\/\2>)/,lookbehind:!0,inside:{line:{pattern:e,lookbehind:!0,inside:{tag:a.languages.markup.tag,entity:a.languages.markup.entity,code:{pattern:/.+/,inside:a.languages.java,alias:"language-java"}}}}}],tag:a.languages.markup.tag,entity:a.languages.markup.entity}),a.languages.javadoclike.addSupport("java",a.languages.javadoc)}(Prism); +Prism.languages.javastacktrace={summary:{pattern:/^([\t ]*)(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m,lookbehind:!0,inside:{keyword:{pattern:/^([\t ]*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,lookbehind:!0},string:{pattern:/^(\s*)"[^"]*"/,lookbehind:!0},exceptions:{pattern:/^(:?\s*)[\w$.]+(?=:|$)/,lookbehind:!0,inside:{"class-name":/[\w$]+$/,namespace:/\b[a-z]\w*\b/,punctuation:/\./}},message:{pattern:/(:\s*)\S.*/,lookbehind:!0,alias:"string"},punctuation:/:/}},"stack-frame":{pattern:/^([\t ]*)at (?:[\w$./]|@[\w$.+-]*\/)+(?:)?\([^()]*\)/m,lookbehind:!0,inside:{keyword:{pattern:/^(\s*)at(?= )/,lookbehind:!0},source:[{pattern:/(\()\w+\.\w+:\d+(?=\))/,lookbehind:!0,inside:{file:/^\w+\.\w+/,punctuation:/:/,"line-number":{pattern:/\b\d+\b/,alias:"number"}}},{pattern:/(\()[^()]*(?=\))/,lookbehind:!0,inside:{keyword:/^(?:Native Method|Unknown Source)$/}}],"class-name":/[\w$]+(?=\.(?:|[\w$]+)\()/,function:/(?:|[\w$]+)(?=\()/,"class-loader":{pattern:/(\s)[a-z]\w*(?:\.[a-z]\w*)*(?=\/[\w@$.]*\/)/,lookbehind:!0,alias:"namespace",inside:{punctuation:/\./}},module:{pattern:/([\s/])[a-z]\w*(?:\.[a-z]\w*)*(?:@[\w$.+-]*)?(?=\/)/,lookbehind:!0,inside:{version:{pattern:/(@)[\s\S]+/,lookbehind:!0,alias:"number"},punctuation:/[@.]/}},namespace:{pattern:/(?:\b[a-z]\w*\.)+/,inside:{punctuation:/\./}},punctuation:/[()/.]/}},more:{pattern:/^([\t ]*)\.{3} \d+ [a-z]+(?: [a-z]+)*/m,lookbehind:!0,inside:{punctuation:/\.{3}/,number:/\d+/,keyword:/\b[a-z]+(?: [a-z]+)*\b/}}}; +Prism.languages.jexl={string:/(["'])(?:\\[\s\S]|(?!\1)[^\\])*\1/,transform:{pattern:/(\|\s*)[a-zA-Zа-яА-Я_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\wа-яА-Я\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*/,alias:"function",lookbehind:!0},function:/[a-zA-Zа-яА-Я_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\wа-яА-Я\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*\s*(?=\()/,number:/\b\d+(?:\.\d+)?\b|\B\.\d+\b/,operator:/[<>!]=?|-|\+|&&|==|\|\|?|\/\/?|[?:*^%]/,boolean:/\b(?:false|true)\b/,keyword:/\bin\b/,punctuation:/[{}[\](),.]/}; +Prism.languages.jolie=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\[\s\S]|[^"\\])*"/,lookbehind:!0,greedy:!0},"class-name":{pattern:/((?:\b(?:as|courier|embed|in|inputPort|outputPort|service)\b|@)[ \t]*)\w+/,lookbehind:!0},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/,function:/\b[a-z_]\w*(?=[ \t]*[@(])/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?l?/i,operator:/-[-=>]?|\+[+=]?|<[<=]?|[>=*!]=?|&&|\|\||[?\/%^@|]/,punctuation:/[()[\]{},;.:]/,builtin:/\b(?:Byte|any|bool|char|double|enum|float|int|length|long|ranges|regex|string|undefined|void)\b/}),Prism.languages.insertBefore("jolie","keyword",{aggregates:{pattern:/(\bAggregates\s*:\s*)(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/,lookbehind:!0,inside:{keyword:/\bwith\b/,"class-name":/\w+/,punctuation:/,/}},redirects:{pattern:/(\bRedirects\s*:\s*)(?:\w+\s*=>\s*\w+\s*,\s*)*(?:\w+\s*=>\s*\w+)/,lookbehind:!0,inside:{punctuation:/,/,"class-name":/\w+/,operator:/=>/}},property:{pattern:/\b(?:Aggregates|[Ii]nterfaces|Java|Javascript|Jolie|[Ll]ocation|OneWay|[Pp]rotocol|Redirects|RequestResponse)\b(?=[ \t]*:)/}}); +!function(e){var n="\\\\\\((?:[^()]|\\([^()]*\\))*\\)",t=RegExp('(^|[^\\\\])"(?:[^"\r\n\\\\]|\\\\[^\r\n(]|__)*"'.replace(/__/g,(function(){return n}))),i={interpolation:{pattern:RegExp("((?:^|[^\\\\])(?:\\\\{2})*)"+n),lookbehind:!0,inside:{content:{pattern:/^(\\\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:null},punctuation:/^\\\(|\)$/}}},a=e.languages.jq={comment:/#.*/,property:{pattern:RegExp(t.source+"(?=\\s*:(?!:))"),lookbehind:!0,greedy:!0,inside:i},string:{pattern:t,lookbehind:!0,greedy:!0,inside:i},function:{pattern:/(\bdef\s+)[a-z_]\w+/i,lookbehind:!0},variable:/\B\$\w+/,"property-literal":{pattern:/\b[a-z_]\w*(?=\s*:(?!:))/i,alias:"property"},keyword:/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/,boolean:/\b(?:false|true)\b/,number:/(?:\b\d+\.|\B\.)?\b\d+(?:[eE][+-]?\d+)?\b/,operator:[{pattern:/\|=?/,alias:"pipe"},/\.\.|[!=<>]?=|\?\/\/|\/\/=?|[-+*/%]=?|[<>?]|\b(?:and|not|or)\b/],"c-style-function":{pattern:/\b[a-z_]\w*(?=\s*\()/i,alias:"function"},punctuation:/::|[()\[\]{},:;]|\.(?=\s*[\[\w$])/,dot:{pattern:/\./,alias:"important"}};i.interpolation.inside.content.inside=a}(Prism); +!function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var s=e.languages.extend("typescript",{});delete s["class-name"],e.languages.typescript["class-name"].inside=s,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:s}}}}),e.languages.ts=e.languages.typescript}(Prism); +!function(e){var a=e.languages.javascript,n="\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}",t="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(t+"(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)"),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(t+"\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)"),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:a,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp("(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*".replace(//g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:a.string,number:a.number,boolean:a.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:a,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(Prism); +!function(a){function e(a,e){return RegExp(a.replace(//g,(function(){return"(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*"})),e)}a.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+a.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),a.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+a.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),a.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),a.languages.insertBefore("javascript","keyword",{imports:{pattern:e("(\\bimport\\b\\s*)(?:(?:\\s*,\\s*(?:\\*\\s*as\\s+|\\{[^{}]*\\}))?|\\*\\s*as\\s+|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)"),lookbehind:!0,inside:a.languages.javascript},exports:{pattern:e("(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})"),lookbehind:!0,inside:a.languages.javascript}}),a.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),a.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),a.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:e("(\\.\\s*)#?"),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var t=["function","function-variable","method","method-variable","property-access"],r=0;r|.*(?:node_modules|\(\)|\(|$|\(internal\/|\(node\.js)).*/m,alias:"comment"},filename:{pattern:/(\bat\s+(?!\s)|\()(?:[a-zA-Z]:)?[^():]+(?=:)/,lookbehind:!0,alias:"url"},function:{pattern:/(\bat\s+(?:new\s+)?)(?!\s)[_$a-zA-Z\xA0-\uFFFF<][.$\w\xA0-\uFFFF<>]*/,lookbehind:!0,inside:{punctuation:/\./}},punctuation:/[()]/,keyword:/\b(?:at|new)\b/,alias:{pattern:/\[(?:as\s+)?(?!\s)[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\]/,alias:"variable"},"line-number":{pattern:/:\d+(?::\d+)?\b/,alias:"number",inside:{punctuation:/:/}}}}}; +!function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],i=r.pattern.source;function o(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function p(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function l(t){var n={};n["interpolation-punctuation"]=a;var i=e.tokenize(t,n);if(3===i.length){var o=[1,1];o.push.apply(o,p(i[1],e.languages.javascript,"javascript")),i.splice.apply(i,o)}return new e.Token("interpolation",i,r.alias,t)}function g(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(i),lookbehind:!0}}),o=0,g={},u=p(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=s(o++,r)););return g[n]=a,n})).join(""),n,r),c=Object.keys(g);return o=0,function e(t){for(var n=0;n=c.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=c[o],i="string"==typeof r?r:r.content,s=i.indexOf(a);if(-1!==s){++o;var p=i.substring(0,s),u=l(g[a]),f=i.substring(s+a.length),y=[];if(p&&y.push(p),y.push(u),f){var v=[f];e(v),y.push.apply(y,v)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(y)),n+=y.length-1):r.content=y}}else{var d=r.content;Array.isArray(d)?e(d):e([d])}}}(u),new e.Token(r,u,"language-"+r,t)}e.languages.javascript["template-string"]=[o("css","\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)"),o("html","\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?="),o("svg","\\bsvg"),o("markdown","\\b(?:markdown|md)"),o("graphql","\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)"),o("sql","\\bsql"),t].filter(Boolean);var u={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function c(e){return"string"==typeof e?e:Array.isArray(e)?e.map(c).join(""):c(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in u&&function t(n){for(var r=0,a=n.length;r]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥'√∛]/,punctuation:/::?|[{}[\]();,.?]/,constant:/\b(?:(?:Inf|NaN)(?:16|32|64)?|im|pi)\b|[πℯ]/}; +Prism.languages.keepalived={comment:{pattern:/[#!].*/,greedy:!0},string:{pattern:/(^|[^\\])(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,lookbehind:!0,greedy:!0},ip:{pattern:RegExp("\\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}|(?:[\\da-f]{1,4}:){0,5}:|::(?:[\\da-f]{1,4}:){0,5}|[\\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})?|(?:/\\d{1,2})?)\\b".replace(//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))"})),"i"),alias:"number"},path:{pattern:/(\s)\/(?:[^\/\s]+\/)*[^\/\s]*|\b[a-zA-Z]:\\(?:[^\\\s]+\\)*[^\\\s]*/,lookbehind:!0,alias:"string"},variable:/\$\{?\w+\}?/,email:{pattern:/[\w-]+@[\w-]+(?:\.[\w-]{2,3}){1,2}/,alias:"string"},"conditional-configuration":{pattern:/@\^?[\w-]+/,alias:"variable"},operator:/=/,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/,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/,number:{pattern:/(^|[^\w.-])-?\d+(?:\.\d+)?/,lookbehind:!0},boolean:/\b(?:false|no|off|on|true|yes)\b/,punctuation:/[\{\}]/}; +Prism.languages.keyman={comment:{pattern:/\bc .*/i,greedy:!0},string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0},"virtual-key":{pattern:/\[\s*(?:(?:ALT|CAPS|CTRL|LALT|LCTRL|NCAPS|RALT|RCTRL|SHIFT)\s+)*(?:[TKU]_[\w?]+|[A-E]\d\d?|"[^"\r\n]*"|'[^'\r\n]*')\s*\]/i,greedy:!0,alias:"function"},"header-keyword":{pattern:/&\w+/,alias:"bold"},"header-statement":{pattern:/\b(?:bitmap|bitmaps|caps always off|caps on only|copyright|hotkey|language|layout|message|name|shift frees caps|version)\b/i,alias:"bold"},"rule-keyword":{pattern:/\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|reset|return|save|set|store|use)\b/i,alias:"keyword"},"structural-keyword":{pattern:/\b(?:ansi|begin|group|match|newcontext|nomatch|postkeystroke|readonly|unicode|using keys)\b/i,alias:"keyword"},"compile-target":{pattern:/\$(?:keyman|keymanonly|keymanweb|kmfl|weaver):/i,alias:"property"},number:/\b(?:U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i,operator:/[+>\\$]|\.\./,punctuation:/[()=,]/}; +!function(n){n.languages.kotlin=n.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete n.languages.kotlin["class-name"];var e={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:n.languages.kotlin}};n.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:e},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:e},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete n.languages.kotlin.string,n.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),n.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),n.languages.kt=n.languages.kotlin,n.languages.kts=n.languages.kotlin}(Prism); +!function(n){function o(n,o){return RegExp(n.replace(//g,"\\s\\x00-\\x1f\\x22-\\x2f\\x3a-\\x3f\\x5b-\\x5e\\x60\\x7b-\\x7e"),o)}n.languages.kumir={comment:{pattern:/\|.*/},prolog:{pattern:/#.*/,greedy:!0},string:{pattern:/"[^\n\r"]*"|'[^\n\r']*'/,greedy:!0},boolean:{pattern:o("(^|[])(?:да|нет)(?=[]|$)"),lookbehind:!0},"operator-word":{pattern:o("(^|[])(?:и|или|не)(?=[]|$)"),lookbehind:!0,alias:"keyword"},"system-variable":{pattern:o("(^|[])знач(?=[]|$)"),lookbehind:!0,alias:"keyword"},type:[{pattern:o("(^|[])(?:вещ|лит|лог|сим|цел)(?:\\x20*таб)?(?=[]|$)"),lookbehind:!0,alias:"builtin"},{pattern:o("(^|[])(?:компл|сканкод|файл|цвет)(?=[]|$)"),lookbehind:!0,alias:"important"}],keyword:{pattern:o("(^|[])(?:алг|арг(?:\\x20*рез)?|ввод|ВКЛЮЧИТЬ|вс[её]|выбор|вывод|выход|дано|для|до|дс|если|иначе|исп|использовать|кон(?:(?:\\x20+|_)исп)?|кц(?:(?:\\x20+|_)при)?|надо|нач|нс|нц|от|пауза|пока|при|раза?|рез|стоп|таб|то|утв|шаг)(?=[]|$)"),lookbehind:!0},name:{pattern:o("(^|[])[^\\d][^]*(?:\\x20+[^]+)*(?=[]|$)"),lookbehind:!0},number:{pattern:o("(^|[])(?:\\B\\$[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)(?=[]|$)","i"),lookbehind:!0},punctuation:/:=|[(),:;\[\]]/,"operator-char":{pattern:/\*\*?|<[=>]?|>=?|[-+/=]/,alias:"operator"}},n.languages.kum=n.languages.kumir}(Prism); +Prism.languages.kusto={comment:{pattern:/\/\/.*/,greedy:!0},string:{pattern:/```[\s\S]*?```|[hH]?(?:"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\.)*'|@(?:"[^\r\n"]*"|'[^\r\n']*'))/,greedy:!0},verb:{pattern:/(\|\s*)[a-z][\w-]*/i,lookbehind:!0,alias:"keyword"},command:{pattern:/\.[a-z][a-z\d-]*\b/,alias:"keyword"},"class-name":/\b(?:bool|datetime|decimal|dynamic|guid|int|long|real|string|timespan)\b/,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-])/,boolean:/\b(?:false|null|true)\b/,function:/\b[a-z_]\w*(?=\s*\()/,datetime:[{pattern:/\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/,alias:"number"},{pattern:/[+-]?\b(?:\d{4}-\d{2}-\d{2}(?:[ T]\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)?|\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)Z?/,alias:"number"}],number:/\b(?:0x[0-9A-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][+-]?\d+)?)(?:(?:min|sec|[mnµ]s|[dhms]|microsecond|tick)\b)?|[+-]?\binf\b/,operator:/=>|[!=]~|[!=<>]=?|[-+*/%|]|\.\./,punctuation:/[()\[\]{},;.:]/}; +!function(a){var e=/\\(?:[^a-z()[\]]|[a-z*]+)/i,n={"equation-command":{pattern:e,alias:"regex"}};a.languages.latex={comment:/%.*/,cdata:{pattern:/(\\begin\{((?:lstlisting|verbatim)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0},equation:[{pattern:/\$\$(?:\\[\s\S]|[^\\$])+\$\$|\$(?:\\[\s\S]|[^\\$])+\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/,inside:n,alias:"string"},{pattern:/(\\begin\{((?:align|eqnarray|equation|gather|math|multline)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0,inside:n,alias:"string"}],keyword:{pattern:/(\\(?:begin|cite|documentclass|end|label|ref|usepackage)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0},url:{pattern:/(\\url\{)[^}]+(?=\})/,lookbehind:!0},headline:{pattern:/(\\(?:chapter|frametitle|paragraph|part|section|subparagraph|subsection|subsubparagraph|subsubsection|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0,alias:"class-name"},function:{pattern:e,alias:"selector"},punctuation:/[[\]{}&]/},a.languages.tex=a.languages.latex,a.languages.context=a.languages.latex}(Prism); +!function(a){a.languages.latte={comment:/^\{\*[\s\S]*/,"latte-tag":{pattern:/(^\{(?:\/(?=[a-z]))?)(?:[=_]|[a-z]\w*\b(?!\())/i,lookbehind:!0,alias:"important"},delimiter:{pattern:/^\{\/?|\}$/,alias:"punctuation"},php:{pattern:/\S(?:[\s\S]*\S)?/,alias:"language-php",inside:a.languages.php}};var t=a.languages.extend("markup",{});a.languages.insertBefore("inside","attr-value",{"n-attr":{pattern:/n:[\w-]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+))?/,inside:{"attr-name":{pattern:/^[^\s=]+/,alias:"important"},"attr-value":{pattern:/=[\s\S]+/,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}],php:{pattern:/\S(?:[\s\S]*\S)?/,inside:a.languages.php}}}}}},t.tag),a.hooks.add("before-tokenize",(function(e){"latte"===e.language&&(a.languages["markup-templating"].buildPlaceholders(e,"latte",/\{\*[\s\S]*?\*\}|\{[^'"\s{}*](?:[^"'/{}]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|\/\*(?:[^*]|\*(?!\/))*\*\/)*\}/g),e.grammar=t)})),a.hooks.add("after-tokenize",(function(t){a.languages["markup-templating"].tokenizePlaceholders(t,"latte")}))}(Prism); +Prism.languages.less=Prism.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),Prism.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}); +!function(e){e.languages.scheme={comment:/;.*|#;\s*(?:\((?:[^()]|\([^()]*\))*\)|\[(?:[^\[\]]|\[[^\[\]]*\])*\])|#\|(?:[^#|]|#(?!\|)|\|(?!#)|#\|(?:[^#|]|#(?!\|)|\|(?!#))*\|#)*\|#/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},symbol:{pattern:/'[^()\[\]#'\s]+/,greedy:!0},char:{pattern:/#\\(?:[ux][a-fA-F\d]+\b|[-a-zA-Z]+\b|[\uD800-\uDBFF][\uDC00-\uDFFF]|\S)/,greedy:!0},"lambda-parameter":[{pattern:/((?:^|[^'`#])[(\[]lambda\s+)(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)/,lookbehind:!0},{pattern:/((?:^|[^'`#])[(\[]lambda\s+[(\[])[^()\[\]']+/,lookbehind:!0}],keyword:{pattern:/((?:^|[^'`#])[(\[])(?: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]|$)/,lookbehind:!0},builtin:{pattern:/((?:^|[^'`#])[(\[])(?: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]|$)/,lookbehind:!0},operator:{pattern:/((?:^|[^'`#])[(\[])(?:[-+*%/]|[<>]=?|=>?)(?=[()\[\]\s]|$)/,lookbehind:!0},number:{pattern:RegExp(function(e){for(var r in e)e[r]=e[r].replace(/<[\w\s]+>/g,(function(r){return"(?:"+e[r].trim()+")"}));return e[r]}({"":"\\d+(?:/\\d+)|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[esfdl][+-]?\\d+)?","":"[+-]?|[+-](?:inf|nan)\\.0","":"[+-](?:|(?:inf|nan)\\.0)?i","":"(?:@|)?|","":"(?:#d(?:#[ei])?|#[ei](?:#d)?)?","":"[0-9a-f]+(?:/[0-9a-f]+)?","":"[+-]?|[+-](?:inf|nan)\\.0","":"[+-](?:|(?:inf|nan)\\.0)?i","":"(?:@|)?|","":"#[box](?:#[ei])?|(?:#[ei])?#[box]","":"(^|[()\\[\\]\\s])(?:|)(?=[()\\[\\]\\s]|$)"}),"i"),lookbehind:!0},boolean:{pattern:/(^|[()\[\]\s])#(?:[ft]|false|true)(?=[()\[\]\s]|$)/,lookbehind:!0},function:{pattern:/((?:^|[^'`#])[(\[])(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)(?=[()\[\]\s]|$)/,lookbehind:!0},identifier:{pattern:/(^|[()\[\]\s])\|(?:[^\\|]|\\.)*\|(?=[()\[\]\s]|$)/,lookbehind:!0,greedy:!0},punctuation:/[()\[\]']/}}(Prism); +!function(e){for(var n='\\((?:[^();"#\\\\]|\\\\[^]|;.*(?!.)|"(?:[^"\\\\]|\\\\.)*"|#(?:\\{(?:(?!#\\})[^])*#\\}|[^{])|)*\\)',i=0;i<5;i++)n=n.replace(//g,(function(){return n}));n=n.replace(//g,"[^\\s\\S]");var d=e.languages.lilypond={comment:/%(?:(?!\{).*|\{[\s\S]*?%\})/,"embedded-scheme":{pattern:RegExp('(^|[=\\s])#(?:"(?:[^"\\\\]|\\\\.)*"|[^\\s()"]*(?:[^\\s()]|))'.replace(//g,(function(){return n})),"m"),lookbehind:!0,greedy:!0,inside:{scheme:{pattern:/^(#)[\s\S]+$/,lookbehind:!0,alias:"language-scheme",inside:{"embedded-lilypond":{pattern:/#\{[\s\S]*?#\}/,greedy:!0,inside:{punctuation:/^#\{|#\}$/,lilypond:{pattern:/[\s\S]+/,alias:"language-lilypond",inside:null}}},rest:e.languages.scheme}},punctuation:/#/}},string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},"class-name":{pattern:/(\\new\s+)[\w-]+/,lookbehind:!0},keyword:{pattern:/\\[a-z][-\w]*/i,inside:{punctuation:/^\\/}},operator:/[=|]|<<|>>/,punctuation:{pattern:/(^|[a-z\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\d))|[_^]\.?|[.!])|[{}()[\]<>^~]|\\[()[\]<>\\!]|--|__/,lookbehind:!0},number:/\b\d+(?:\/\d+)?\b/};d["embedded-scheme"].inside.scheme.inside["embedded-lilypond"].inside.lilypond.inside=d,e.languages.ly=d}(Prism); +Prism.languages.liquid={comment:{pattern:/(^\{%\s*comment\s*%\})[\s\S]+(?=\{%\s*endcomment\s*%\}$)/,lookbehind:!0},delimiter:{pattern:/^\{(?:\{\{|[%\{])-?|-?(?:\}\}|[%\}])\}$/,alias:"punctuation"},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},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/,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/,function:[{pattern:/(\|\s*)\w+/,lookbehind:!0,alias:"filter"},{pattern:/(\.\s*)(?:first|last|size)/,lookbehind:!0}],boolean:/\b(?:false|nil|true)\b/,range:{pattern:/\.\./,alias:"operator"},number:/\b\d+(?:\.\d+)?\b/,operator:/[!=]=|<>|[<>]=?|[|?:=-]|\b(?:and|contains(?=\s)|or)\b/,punctuation:/[.,\[\]()]/,empty:{pattern:/\bempty\b/,alias:"keyword"}},Prism.hooks.add("before-tokenize",(function(e){var t=!1;Prism.languages["markup-templating"].buildPlaceholders(e,"liquid",/\{%\s*comment\s*%\}[\s\S]*?\{%\s*endcomment\s*%\}|\{(?:%[\s\S]*?%|\{\{[\s\S]*?\}\}|\{[\s\S]*?\})\}/g,(function(e){var n=/^\{%-?\s*(\w+)/.exec(e);if(n){var i=n[1];if("raw"===i&&!t)return t=!0,!0;if("endraw"===i)return t=!1,!0}return!t}))})),Prism.hooks.add("after-tokenize",(function(e){Prism.languages["markup-templating"].tokenizePlaceholders(e,"liquid")})); +!function(e){function n(e){return RegExp("(\\()(?:"+e+")(?=[\\s\\)])")}function a(e){return RegExp("([\\s([])(?:"+e+")(?=[\\s)])")}var t="(?!\\d)[-+*/~!@$%^=<>{}\\w]+",r="(\\()",i="(?:[^()]|\\((?:[^()]|\\((?:[^()]|\\((?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))*\\))*\\))*\\))*",s={heading:{pattern:/;;;.*/,alias:["comment","title"]},comment:/;.*/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0,inside:{argument:/[-A-Z]+(?=[.,\s])/,symbol:RegExp("`"+t+"'")}},"quoted-symbol":{pattern:RegExp("#?'"+t),alias:["variable","symbol"]},"lisp-property":{pattern:RegExp(":"+t),alias:"property"},splice:{pattern:RegExp(",@?"+t),alias:["symbol","variable"]},keyword:[{pattern:RegExp("(\\()(?:and|(?:cl-)?letf|cl-loop|cond|cons|error|if|(?:lexical-)?let\\*?|message|not|null|or|provide|require|setq|unless|use-package|when|while)(?=\\s)"),lookbehind:!0},{pattern:RegExp("(\\()(?:append|by|collect|concat|do|finally|for|in|return)(?=\\s)"),lookbehind:!0}],declare:{pattern:n("declare"),lookbehind:!0,alias:"keyword"},interactive:{pattern:n("interactive"),lookbehind:!0,alias:"keyword"},boolean:{pattern:a("nil|t"),lookbehind:!0},number:{pattern:a("[-+]?\\d+(?:\\.\\d*)?"),lookbehind:!0},defvar:{pattern:RegExp("(\\()def(?:const|custom|group|var)\\s+"+t),lookbehind:!0,inside:{keyword:/^def[a-z]+/,variable:RegExp(t)}},defun:{pattern:RegExp("(\\()(?:cl-)?(?:defmacro|defun\\*?)\\s+"+t+"\\s+\\("+i+"\\)"),lookbehind:!0,greedy:!0,inside:{keyword:/^(?:cl-)?def\S+/,arguments:null,function:{pattern:RegExp("(^\\s)"+t),lookbehind:!0},punctuation:/[()]/}},lambda:{pattern:RegExp("(\\()lambda\\s+\\(\\s*(?:&?"+t+"(?:\\s+&?"+t+")*\\s*)?\\)"),lookbehind:!0,greedy:!0,inside:{keyword:/^lambda/,arguments:null,punctuation:/[()]/}},car:{pattern:RegExp(r+t),lookbehind:!0},punctuation:[/(?:['`,]?\(|[)\[\]])/,{pattern:/(\s)\.(?=\s)/,lookbehind:!0}]},l={"lisp-marker":RegExp("&(?!\\d)[-+*/~!@$%^=<>{}\\w]+"),varform:{pattern:RegExp("\\("+t+"\\s+(?=\\S)"+i+"\\)"),inside:s},argument:{pattern:RegExp("(^|[\\s(])"+t),lookbehind:!0,alias:"variable"},rest:s},o="\\S+(?:\\s+\\S+)*",p={pattern:RegExp(r+i+"(?=\\))"),lookbehind:!0,inside:{"rest-vars":{pattern:RegExp("&(?:body|rest)\\s+"+o),inside:l},"other-marker-vars":{pattern:RegExp("&(?:aux|optional)\\s+"+o),inside:l},keys:{pattern:RegExp("&key\\s+"+o+"(?:\\s+&allow-other-keys)?"),inside:l},argument:{pattern:RegExp(t),alias:"variable"},punctuation:/[()]/}};s.lambda.inside.arguments=p,s.defun.inside.arguments=e.util.clone(p),s.defun.inside.arguments.inside.sublist=p,e.languages.lisp=s,e.languages.elisp=s,e.languages.emacs=s,e.languages["emacs-lisp"]=s}(Prism); +Prism.languages.livescript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\])#.*/,lookbehind:!0}],"interpolated-string":{pattern:/(^|[^"])("""|")(?:\\[\s\S]|(?!\2)[^\\])*\2(?!")/,lookbehind:!0,greedy:!0,inside:{variable:{pattern:/(^|[^\\])#[a-z_](?:-?[a-z]|[\d_])*/m,lookbehind:!0},interpolation:{pattern:/(^|[^\\])#\{[^}]+\}/m,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^#\{|\}$/,alias:"variable"}}},string:/[\s\S]+/}},string:[{pattern:/('''|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},{pattern:/<\[[\s\S]*?\]>/,greedy:!0},/\\[^\s,;\])}]+/],regex:[{pattern:/\/\/(?:\[[^\r\n\]]*\]|\\.|(?!\/\/)[^\\\[])+\/\/[gimyu]{0,5}/,greedy:!0,inside:{comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0}}},{pattern:/\/(?:\[[^\r\n\]]*\]|\\.|[^/\\\r\n\[])+\/[gimyu]{0,5}/,greedy:!0}],keyword:{pattern:/(^|(?!-).)\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,lookbehind:!0},"keyword-operator":{pattern:/(^|[^-])\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,lookbehind:!0,alias:"operator"},boolean:{pattern:/(^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m,lookbehind:!0},argument:{pattern:/(^|(?!\.&\.)[^&])&(?!&)\d*/m,lookbehind:!0,alias:"variable"},number:/\b(?:\d+~[\da-z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[a-z]\w*)?)/i,identifier:/[a-z_](?:-?[a-z]|[\d_])*/i,operator:[{pattern:/( )\.(?= )/,lookbehind:!0},/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[|>]|<(?:<[>=?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[\/?]/],punctuation:/[(){}\[\]|.,:;`]/},Prism.languages.livescript["interpolated-string"].inside.interpolation.inside.rest=Prism.languages.livescript; +!function(a){a.languages.llvm={comment:/;.*/,string:{pattern:/"[^"]*"/,greedy:!0},boolean:/\b(?:false|true)\b/,variable:/[%@!#](?:(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+|\d+)/i,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,type:{pattern:/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/,alias:"class-name"},keyword:/\b[a-z_][a-z_0-9]*\b/,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/,punctuation:/[{}[\];(),.!*=<>]/}}(Prism); +Prism.languages.log={string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?![st] | \w)(?:[^'\\\r\n]|\\.)*'/,greedy:!0},exception:{pattern:/(^|[^\w.])[a-z][\w.]*(?:Error|Exception):.*(?:(?:\r\n?|\n)[ \t]*(?:at[ \t].+|\.{3}.*|Caused by:.*))+(?:(?:\r\n?|\n)[ \t]*\.\.\. .*)?/,lookbehind:!0,greedy:!0,alias:["javastacktrace","language-javastacktrace"],inside:Prism.languages.javastacktrace||{keyword:/\bat\b/,function:/[a-z_][\w$]*(?=\()/,punctuation:/[.:()]/}},level:[{pattern:/\b(?:ALERT|CRIT|CRITICAL|EMERG|EMERGENCY|ERR|ERROR|FAILURE|FATAL|SEVERE)\b/,alias:["error","important"]},{pattern:/\b(?:WARN|WARNING|WRN)\b/,alias:["warning","important"]},{pattern:/\b(?:DISPLAY|INF|INFO|NOTICE|STATUS)\b/,alias:["info","keyword"]},{pattern:/\b(?:DBG|DEBUG|FINE)\b/,alias:["debug","keyword"]},{pattern:/\b(?:FINER|FINEST|TRACE|TRC|VERBOSE|VRB)\b/,alias:["trace","comment"]}],property:{pattern:/((?:^|[\]|])[ \t]*)[a-z_](?:[\w-]|\b\/\b)*(?:[. ]\(?\w(?:[\w-]|\b\/\b)*\)?)*:(?=\s)/im,lookbehind:!0},separator:{pattern:/(^|[^-+])-{3,}|={3,}|\*{3,}|- - /m,lookbehind:!0,alias:"comment"},url:/\b(?:file|ftp|https?):\/\/[^\s|,;'"]*[^\s|,;'">.]/,email:{pattern:/(^|\s)[-\w+.]+@[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)+(?=\s)/,lookbehind:!0,alias:"url"},"ip-address":{pattern:/\b(?:\d{1,3}(?:\.\d{1,3}){3})\b/,alias:"constant"},"mac-address":{pattern:/\b[a-f0-9]{2}(?::[a-f0-9]{2}){5}\b/i,alias:"constant"},domain:{pattern:/(^|\s)[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)*\.[a-z][a-z0-9-]+(?=\s)/,lookbehind:!0,alias:"constant"},uuid:{pattern:/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/i,alias:"constant"},hash:{pattern:/\b(?:[a-f0-9]{32}){1,2}\b/i,alias:"constant"},"file-path":{pattern:/\b[a-z]:[\\/][^\s|,;:(){}\[\]"']+|(^|[\s:\[\](>|])\.{0,2}\/\w[^\s|,;:(){}\[\]"']*/i,lookbehind:!0,greedy:!0,alias:"string"},date:{pattern:RegExp("\\b\\d{4}[-/]\\d{2}[-/]\\d{2}(?:T(?=\\d{1,2}:)|(?=\\s\\d{1,2}:))|\\b\\d{1,4}[-/ ](?:\\d{1,2}|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)[-/ ]\\d{2,4}T?\\b|\\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","i"),alias:"number"},time:{pattern:/\b\d{1,2}:\d{1,2}:\d{1,2}(?:[.,:]\d+)?(?:\s?[+-]\d{2}:?\d{2}|Z)?\b/,alias:"number"},boolean:/\b(?:false|null|true)\b/i,number:{pattern:/(^|[^.\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,lookbehind:!0},operator:/[;:?<=>~/@!$%&+\-|^(){}*#]/,punctuation:/[\[\].,]/}; +Prism.languages.lolcode={comment:[/\bOBTW\s[\s\S]*?\sTLDR\b/,/\bBTW.+/],string:{pattern:/"(?::.|[^":])*"/,inside:{variable:/:\{[^}]+\}/,symbol:[/:\([a-f\d]+\)/i,/:\[[^\]]+\]/,/:[)>o":]/]},greedy:!0},number:/(?:\B-)?(?:\b\d+(?:\.\d*)?|\B\.\d+)/,symbol:{pattern:/(^|\s)(?:A )?(?:BUKKIT|NOOB|NUMBAR|NUMBR|TROOF|YARN)(?=\s|,|$)/,lookbehind:!0,inside:{keyword:/A(?=\s)/}},label:{pattern:/((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/,lookbehind:!0,alias:"string"},function:{pattern:/((?:^|\s)(?:HOW IZ I|I IZ|IZ) )[a-zA-Z]\w*/,lookbehind:!0},keyword:[{pattern:/(^|\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|,|$)/,lookbehind:!0},/'Z(?=\s|,|$)/],boolean:{pattern:/(^|\s)(?:FAIL|WIN)(?=\s|,|$)/,lookbehind:!0},variable:{pattern:/(^|\s)IT(?=\s|,|$)/,lookbehind:!0},operator:{pattern:/(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:ALL|ANY|BIGGR|BOTH|DIFF|EITHER|MOD|PRODUKT|QUOSHUNT|SMALLR|SUM|WON) OF)(?=\s|,|$)/,lookbehind:!0},punctuation:/\.{3}|…|,|!/}; +Prism.languages.magma={output:{pattern:/^(>.*(?:\r(?:\n|(?!\n))|\n))(?!>)(?:.+|(?:\r(?:\n|(?!\n))|\n)(?!>).*)(?:(?:\r(?:\n|(?!\n))|\n)(?!>).*)*/m,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/(^|[^\\"])"(?:[^\r\n\\"]|\\.)*"/,lookbehind:!0,greedy:!0},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/,boolean:/\b(?:false|true)\b/,generator:{pattern:/\b[a-z_]\w*(?=\s*<)/i,alias:"class-name"},function:/\b[a-z_]\w*(?=\s*\()/i,number:{pattern:/(^|[^\w.]|\.\.)(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?:_[a-z]?)?(?=$|[^\w.]|\.\.)/,lookbehind:!0},operator:/->|[-+*/^~!|#=]|:=|\.\./,punctuation:/[()[\]{}<>,;.:]/}; +Prism.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?: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])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}; +!function(n){function e(n){return n=n.replace(//g,(function(){return"(?:\\\\.|[^\\\\\n\r]|(?:\n|\r\n?)(?![\r\n]))"})),RegExp("((?:^|[^\\\\])(?:\\\\{2})*)(?:"+n+")")}var t="(?:\\\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\\\|\r\n`])+",a="\\|?__(?:\\|__)+\\|?(?:(?:\n|\r\n?)|(?![^]))".replace(/__/g,(function(){return t})),i="\\|?[ \t]*:?-{3,}:?[ \t]*(?:\\|[ \t]*:?-{3,}:?[ \t]*)+\\|?(?:\n|\r\n?)";n.languages.markdown=n.languages.extend("markup",{}),n.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:n.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+i+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+i+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(t),inside:n.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(t),alias:"important",inside:n.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:e("\\b__(?:(?!_)|_(?:(?!_))+_)+__\\b|\\*\\*(?:(?!\\*)|\\*(?:(?!\\*))+\\*)+\\*\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:e("\\b_(?:(?!_)|__(?:(?!_))+__)+_\\b|\\*(?:(?!\\*)|\\*\\*(?:(?!\\*))+\\*\\*)+\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:e("(~~?)(?:(?!~))+\\2"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:e('!?\\[(?:(?!\\]))+\\](?:\\([^\\s)]+(?:[\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \t]?\\[(?:(?!\\]))+\\])'),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(e){["url","bold","italic","strike","code-snippet"].forEach((function(t){e!==t&&(n.languages.markdown[e].inside.content.inside[t]=n.languages.markdown[t])}))})),n.hooks.add("after-tokenize",(function(n){"markdown"!==n.language&&"md"!==n.language||function n(e){if(e&&"string"!=typeof e)for(var t=0,a=e.length;t",quot:'"'},l=String.fromCodePoint||String.fromCharCode;n.languages.md=n.languages.markdown}(Prism); +!function(t){var e="\\bvoid\\b||\\b(?:complex|numeric|pointer(?:\\s*\\([^()]*\\))?|real|string|(?:class|struct)\\s+\\w+|transmorphic)(?:\\s*)?".replace(//g,"\\b(?:(?:col|row)?vector|matrix|scalar)\\b");t.languages.mata={comment:{pattern:/\/\/.*|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\//,greedy:!0},string:{pattern:/"[^"\r\n]*"|[‘`']".*?"[’`']/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|struct)\s+)\w+(?=\s*(?:\{|\bextends\b))/,lookbehind:!0},type:{pattern:RegExp(e),alias:"class-name",inside:{punctuation:/[()]/,keyword:/\b(?:class|function|struct|void)\b/}},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/,constant:/\bNULL\b/,number:{pattern:/(^|[^\w.])(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|\d[a-f0-9]*(?:\.[a-f0-9]+)?x[+-]?\d+)i?(?![\w.])/i,lookbehind:!0},missing:{pattern:/(^|[^\w.])(?:\.[a-z]?)(?![\w.])/,lookbehind:!0,alias:"symbol"},function:/\b[a-z_]\w*(?=\s*\()/i,operator:/\.\.|\+\+|--|&&|\|\||:?(?:[!=<>]=|[+\-*/^<>&|:])|[!?=\\#’`']/,punctuation:/[()[\]{},;.]/}}(Prism); +Prism.languages.matlab={comment:[/%\{[\s\S]*?\}%/,/%.+/],string:{pattern:/\B'(?:''|[^'\r\n])*'/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/,keyword:/\b(?:NaN|break|case|catch|continue|else|elseif|end|for|function|if|inf|otherwise|parfor|pause|pi|return|switch|try|while)\b/,function:/\b(?!\d)\w+(?=\s*\()/,operator:/\.?[*^\/\\']|[+\-:@]|[<>=~]=?|&&?|\|\|?/,punctuation:/\.{3}|[.,;\[\](){}!]/}; +!function(t){var e=/\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;t.languages.maxscript={comment:{pattern:/\/\*[\s\S]*?(?:\*\/|$)|--.*/,greedy:!0},string:{pattern:/(^|[^"\\@])(?:"(?:[^"\\]|\\[\s\S])*"|@"[^"]*")/,lookbehind:!0,greedy:!0},path:{pattern:/\$(?:[\w/\\.*?]|'[^']*')*/,greedy:!0,alias:"string"},"function-call":{pattern:RegExp("((?:^|[;=<>+\\-*/^({\\[]|\\b(?:and|by|case|catch|collect|do|else|if|in|not|or|return|then|to|try|where|while|with)\\b)[ \t]*)(?!"+e.source+")[a-z_]\\w*\\b(?=[ \t]*(?:(?!"+e.source+")[a-z_]|\\d|-\\.?\\d|[({'\"$@#?]))","im"),lookbehind:!0,greedy:!0,alias:"function"},"function-definition":{pattern:/(\b(?:fn|function)\s+)\w+\b/i,lookbehind:!0,alias:"function"},argument:{pattern:/\b[a-z_]\w*(?=:)/i,alias:"attr-name"},keyword:e,boolean:/\b(?:false|true)\b/,time:{pattern:/(^|[^\w.])(?:(?:(?:\d+(?:\.\d*)?|\.\d+)(?:[eEdD][+-]\d+|[LP])?[msft])+|\d+:\d+(?:\.\d*)?)(?![\w.:])/,lookbehind:!0,alias:"number"},number:[{pattern:/(^|[^\w.])(?:(?:\d+(?:\.\d*)?|\.\d+)(?:[eEdD][+-]\d+|[LP])?|0x[a-fA-F0-9]+)(?![\w.:])/,lookbehind:!0},/\b(?:e|pi)\b/],constant:/\b(?:dontcollect|ok|silentValue|undefined|unsupplied)\b/,color:{pattern:/\b(?:black|blue|brown|gray|green|orange|red|white|yellow)\b/i,alias:"constant"},operator:/[-+*/<>=!]=?|[&^?]|#(?!\()/,punctuation:/[()\[\]{}.:,;]|#(?=\()|\\$/m}}(Prism); +Prism.languages.mel={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},code:{pattern:/`(?:\\.|[^\\`])*`/,greedy:!0,alias:"italic",inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},statement:{pattern:/[\s\S]+/,inside:null}}},string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},variable:/\$\w+/,number:/\b0x[\da-fA-F]+\b|\b\d+(?:\.\d*)?|\B\.\d+/,flag:{pattern:/-[^\d\W]\w*/,alias:"operator"},keyword:/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/,function:{pattern:/((?:^|[{;])[ \t]*)[a-z_]\w*\b(?!\s*(?:\.(?!\.)|[[{=]))|\b[a-z_]\w*(?=[ \t]*\()/im,lookbehind:!0,greedy:!0},"tensor-punctuation":{pattern:/<<|>>/,alias:"punctuation"},operator:/\+[+=]?|-[-=]?|&&|\|\||[<>]=?|[*\/!=]=?|[%^]/,punctuation:/[.,:;?\[\](){}]/},Prism.languages.mel.code.inside.statement.inside=Prism.languages.mel; +Prism.languages.mermaid={comment:{pattern:/%%.*/,greedy:!0},style:{pattern:/^([ \t]*(?:classDef|linkStyle|style)[ \t]+[\w$-]+[ \t]+)\w.*[^\s;]/m,lookbehind:!0,inside:{property:/\b\w[\w-]*(?=[ \t]*:)/,operator:/:/,punctuation:/,/}},"inter-arrow-label":{pattern:/([^<>ox.=-])(?:-[-.]|==)(?![<>ox.=-])[ \t]*(?:"[^"\r\n]*"|[^\s".=-](?:[^\r\n.=-]*[^\s.=-])?)[ \t]*(?:\.+->?|--+[->]|==+[=>])(?![<>ox.=-])/,lookbehind:!0,greedy:!0,inside:{arrow:{pattern:/(?:\.+->?|--+[->]|==+[=>])$/,alias:"operator"},label:{pattern:/^([\s\S]{2}[ \t]*)\S(?:[\s\S]*\S)?/,lookbehind:!0,alias:"property"},"arrow-head":{pattern:/^\S+/,alias:["arrow","operator"]}}},arrow:[{pattern:/(^|[^{}|o.-])[|}][|o](?:--|\.\.)[|o][|{](?![{}|o.-])/,lookbehind:!0,alias:"operator"},{pattern:/(^|[^<>ox.=-])(?:[ox]?|(?:==+|--+|-\.*-)[>ox]|===+|---+|-\.+-)(?![<>ox.=-])/,lookbehind:!0,alias:"operator"},{pattern:/(^|[^<>()x-])(?:--?(?:>>|[x>)])(?![<>()x])|(?:<<|[x<(])--?(?!-))/,lookbehind:!0,alias:"operator"},{pattern:/(^|[^<>|*o.-])(?:[*o]--|--[*o]|<\|?(?:--|\.\.)|(?:--|\.\.)\|?>|--|\.\.)(?![<>|*o.-])/,lookbehind:!0,alias:"operator"}],label:{pattern:/(^|[^|<])\|(?:[^\r\n"|]|"[^"\r\n]*")+\|/,lookbehind:!0,greedy:!0,alias:"property"},text:{pattern:/(?:[(\[{]+|\b>)(?:[^\r\n"()\[\]{}]|"[^"\r\n]*")+(?:[)\]}]+|>)/,alias:"string"},string:{pattern:/"[^"\r\n]*"/,greedy:!0},annotation:{pattern:/<<(?:abstract|choice|enumeration|fork|interface|join|service)>>|\[\[(?:choice|fork|join)\]\]/i,alias:"important"},keyword:[{pattern:/(^[ \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,lookbehind:!0,greedy:!0},{pattern:/(^[ \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,lookbehind:!0,greedy:!0}],entity:/#[a-z0-9]+;/,operator:{pattern:/(\w[ \t]*)&(?=[ \t]*\w)|:::|:/,lookbehind:!0},punctuation:/[(){};]/}; +Prism.languages.metafont={comment:{pattern:/%.*/,greedy:!0},string:{pattern:/"[^\r\n"]*"/,greedy:!0},number:/\d*\.?\d+/,boolean:/\b(?:false|true)\b/,punctuation:[/[,;()]/,{pattern:/(^|[^{}])(?:\{|\})(?![{}])/,lookbehind:!0},{pattern:/(^|[^[])\[(?!\[)/,lookbehind:!0},{pattern:/(^|[^\]])\](?!\])/,lookbehind:!0}],constant:[{pattern:/(^|[^!?])\?\?\?(?![!?])/,lookbehind:!0},{pattern:/(^|[^/*\\])(?:\\|\\\\)(?![/*\\])/,lookbehind:!0},/\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/],quantity:{pattern:/\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/,alias:"keyword"},command:{pattern:/\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/,alias:"builtin"},operator:[{pattern:/(^|[^>=<:|])(?:<|<=|=|=:|\|=:|\|=:>|=:\|>|=:\||\|=:\||\|=:\|>|\|=:\|>>|>|>=|:|:=|<>|::|\|\|:)(?![>=<:|])/,lookbehind:!0},{pattern:/(^|[^+-])(?:\+|\+\+|-{1,3}|\+-\+)(?![+-])/,lookbehind:!0},{pattern:/(^|[^/*\\])(?:\*|\*\*|\/)(?![/*\\])/,lookbehind:!0},{pattern:/(^|[^.])(?:\.{2,3})(?!\.)/,lookbehind:!0},{pattern:/(^|[^@#&$])&(?![@#&$])/,lookbehind:!0},/\b(?:and|not|or)\b/],macro:{pattern:/\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/,alias:"function"},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/,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/,type:{pattern:/\b(?:boolean|expr|numeric|pair|path|pen|picture|primary|secondary|string|suffix|tertiary|text|transform)\b/,alias:"property"},variable:{pattern:/(^|[^@#&$])(?:@#|#@|#|@)(?![@#&$])|\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/,lookbehind:!0}}; +Prism.languages.mizar={comment:/::.+/,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/,parameter:{pattern:/\$(?:10|\d)/,alias:"variable"},variable:/\b\w+(?=:)/,number:/(?:\b|-)\d+\b/,operator:/\.\.\.|->|&|\.?=/,punctuation:/\(#|#\)|[,:;\[\](){}]/}; +!function($){var e=["$eq","$gt","$gte","$in","$lt","$lte","$ne","$nin","$and","$not","$nor","$or","$exists","$type","$expr","$jsonSchema","$mod","$regex","$text","$where","$geoIntersects","$geoWithin","$near","$nearSphere","$all","$elemMatch","$size","$bitsAllClear","$bitsAllSet","$bitsAnyClear","$bitsAnySet","$comment","$elemMatch","$meta","$slice","$currentDate","$inc","$min","$max","$mul","$rename","$set","$setOnInsert","$unset","$addToSet","$pop","$pull","$push","$pullAll","$each","$position","$slice","$sort","$bit","$addFields","$bucket","$bucketAuto","$collStats","$count","$currentOp","$facet","$geoNear","$graphLookup","$group","$indexStats","$limit","$listLocalSessions","$listSessions","$lookup","$match","$merge","$out","$planCacheStats","$project","$redact","$replaceRoot","$replaceWith","$sample","$set","$skip","$sort","$sortByCount","$unionWith","$unset","$unwind","$setWindowFields","$abs","$accumulator","$acos","$acosh","$add","$addToSet","$allElementsTrue","$and","$anyElementTrue","$arrayElemAt","$arrayToObject","$asin","$asinh","$atan","$atan2","$atanh","$avg","$binarySize","$bsonSize","$ceil","$cmp","$concat","$concatArrays","$cond","$convert","$cos","$dateFromParts","$dateToParts","$dateFromString","$dateToString","$dayOfMonth","$dayOfWeek","$dayOfYear","$degreesToRadians","$divide","$eq","$exp","$filter","$first","$floor","$function","$gt","$gte","$hour","$ifNull","$in","$indexOfArray","$indexOfBytes","$indexOfCP","$isArray","$isNumber","$isoDayOfWeek","$isoWeek","$isoWeekYear","$last","$last","$let","$literal","$ln","$log","$log10","$lt","$lte","$ltrim","$map","$max","$mergeObjects","$meta","$min","$millisecond","$minute","$mod","$month","$multiply","$ne","$not","$objectToArray","$or","$pow","$push","$radiansToDegrees","$range","$reduce","$regexFind","$regexFindAll","$regexMatch","$replaceOne","$replaceAll","$reverseArray","$round","$rtrim","$second","$setDifference","$setEquals","$setIntersection","$setIsSubset","$setUnion","$size","$sin","$slice","$split","$sqrt","$stdDevPop","$stdDevSamp","$strcasecmp","$strLenBytes","$strLenCP","$substr","$substrBytes","$substrCP","$subtract","$sum","$switch","$tan","$toBool","$toDate","$toDecimal","$toDouble","$toInt","$toLong","$toObjectId","$toString","$toLower","$toUpper","$trim","$trunc","$type","$week","$year","$zip","$count","$dateAdd","$dateDiff","$dateSubtract","$dateTrunc","$getField","$rand","$sampleRate","$setField","$unsetField","$comment","$explain","$hint","$max","$maxTimeMS","$min","$orderby","$query","$returnKey","$showDiskLoc","$natural"],t="(?:"+(e=e.map((function($){return $.replace("$","\\$")}))).join("|")+")\\b";$.languages.mongodb=$.languages.extend("javascript",{}),$.languages.insertBefore("mongodb","string",{property:{pattern:/(?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)(?=\s*:)/,greedy:!0,inside:{keyword:RegExp("^(['\"])?"+t+"(?:\\1)?$")}}}),$.languages.mongodb.string.inside={url:{pattern:/https?:\/\/[-\w@:%.+~#=]{1,256}\.[a-z0-9()]{1,6}\b[-\w()@:%+.~#?&/=]*/i,greedy:!0},entity:{pattern:/\b(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d\d?|2[0-4]\d|25[0-5])\b/,greedy:!0}},$.languages.insertBefore("mongodb","constant",{builtin:{pattern:RegExp("\\b(?:"+["ObjectId","Code","BinData","DBRef","Timestamp","NumberLong","NumberDecimal","MaxKey","MinKey","RegExp","ISODate","UUID"].join("|")+")\\b"),alias:"keyword"}})}(Prism); +Prism.languages.monkey={comment:{pattern:/^#Rem\s[\s\S]*?^#End|'.+/im,greedy:!0},string:{pattern:/"[^"\r\n]*"/,greedy:!0},preprocessor:{pattern:/(^[ \t]*)#.+/m,lookbehind:!0,greedy:!0,alias:"property"},function:/\b\w+(?=\()/,"type-char":{pattern:/\b[?%#$]/,alias:"class-name"},number:{pattern:/((?:\.\.)?)(?:(?:\b|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\da-f]+)/i,lookbehind:!0},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,operator:/\.\.|<[=>]?|>=?|:?=|(?:[+\-*\/&~|]|\b(?:Mod|Shl|Shr)\b)=?|\b(?:And|Not|Or)\b/i,punctuation:/[.,:;()\[\]]/}; +Prism.languages.moonscript={comment:/--.*/,string:[{pattern:/'[^']*'|\[(=*)\[[\s\S]*?\]\1\]/,greedy:!0},{pattern:/"[^"]*"/,greedy:!0,inside:{interpolation:{pattern:/#\{[^{}]*\}/,inside:{moonscript:{pattern:/(^#\{)[\s\S]+(?=\})/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/#\{|\}/,alias:"punctuation"}}}}}],"class-name":[{pattern:/(\b(?:class|extends)[ \t]+)\w+/,lookbehind:!0},/\b[A-Z]\w*/],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/,variable:/@@?\w*/,property:{pattern:/\b(?!\d)\w+(?=:)|(:)(?!\d)\w+/,lookbehind:!0},function:{pattern:/\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/,inside:{punctuation:/\./}},boolean:/\b(?:false|true)\b/,number:/(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[eE]))(?:[eE][-+]?\d+)?\b|\b(?:0x[a-fA-F\d]+|\d+)(?:U?LL)?\b/,operator:/\.{3}|[-=]>|~=|(?:[-+*/%<>!=]|\.\.)=?|[:#^]|\b(?:and|or)\b=?|\b(?:not)\b/,punctuation:/[.,()[\]{}\\]/},Prism.languages.moonscript.string[1].inside.interpolation.inside.moonscript.inside=Prism.languages.moonscript,Prism.languages.moon=Prism.languages.moonscript; +Prism.languages.n1ql={comment:{pattern:/\/\*[\s\S]*?(?:$|\*\/)|--.*/,greedy:!0},string:{pattern:/(["'])(?:\\[\s\S]|(?!\1)[^\\]|\1\1)*\1/,greedy:!0},identifier:{pattern:/`(?:\\[\s\S]|[^\\`]|``)*`/,greedy:!0},parameter:/\$[\w.]+/,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,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:FALSE|TRUE)\b/i,number:/(?:\b\d+\.|\B\.)\d+e[+\-]?\d+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/%]|!=|==?|\|\||<[>=]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i,punctuation:/[;[\](),.{}:]/}; +Prism.languages.n4js=Prism.languages.extend("javascript",{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/}),Prism.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),Prism.languages.n4jsd=Prism.languages.n4js; +Prism.languages["nand2tetris-hdl"]={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,keyword:/\b(?:BUILTIN|CHIP|CLOCKED|IN|OUT|PARTS)\b/,boolean:/\b(?:false|true)\b/,function:/\b[A-Za-z][A-Za-z0-9]*(?=\()/,number:/\b\d+\b/,operator:/=|\.\./,punctuation:/[{}[\];(),:]/}; +!function(e){var a=/\{[^\r\n\[\]{}]*\}/,n={"quoted-string":{pattern:/"(?:[^"\\]|\\.)*"/,alias:"operator"},"command-param-id":{pattern:/(\s)\w+:/,lookbehind:!0,alias:"property"},"command-param-value":[{pattern:a,alias:"selector"},{pattern:/([\t ])\S+/,lookbehind:!0,greedy:!0,alias:"operator"},{pattern:/\S(?:.*\S)?/,alias:"operator"}]};function t(e){return"string"==typeof e?e:Array.isArray(e)?e.map(t).join(""):t(e.content)}e.languages.naniscript={comment:{pattern:/^([\t ]*);.*/m,lookbehind:!0},define:{pattern:/^>.+/m,alias:"tag",inside:{value:{pattern:/(^>\w+[\t ]+)(?!\s)[^{}\r\n]+/,lookbehind:!0,alias:"operator"},key:{pattern:/(^>)\w+/,lookbehind:!0}}},label:{pattern:/^([\t ]*)#[\t ]*\w+[\t ]*$/m,lookbehind:!0,alias:"regex"},command:{pattern:/^([\t ]*)@\w+(?=[\t ]|$).*/m,lookbehind:!0,alias:"function",inside:{"command-name":/^@\w+/,expression:{pattern:a,greedy:!0,alias:"selector"},"command-params":{pattern:/\s*\S[\s\S]*/,inside:n}}},"generic-text":{pattern:/(^[ \t]*)[^#@>;\s].*/m,lookbehind:!0,alias:"punctuation",inside:{"escaped-char":/\\[{}\[\]"]/,expression:{pattern:a,greedy:!0,alias:"selector"},"inline-command":{pattern:/\[[\t ]*\w[^\r\n\[\]]*\]/,greedy:!0,alias:"function",inside:{"command-params":{pattern:/(^\[[\t ]*\w+\b)[\s\S]+(?=\]$)/,lookbehind:!0,inside:n},"command-param-name":{pattern:/^(\[[\t ]*)\w+/,lookbehind:!0,alias:"name"},"start-stop-char":/[\[\]]/}}}}},e.languages.nani=e.languages.naniscript,e.hooks.add("after-tokenize",(function(e){e.tokens.forEach((function(e){if("string"!=typeof e&&"generic-text"===e.type){var a=t(e);(function(e){for(var a=[],n=0;n=&|$!]/}; +Prism.languages.neon={comment:{pattern:/#.*/,greedy:!0},datetime:{pattern:/(^|[[{(=:,\s])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\]}),\s])/,lookbehind:!0,alias:"number"},key:{pattern:/(^|[[{(,\s])[^,:=[\]{}()'"\s]+(?=\s*:(?:$|[\]}),\s])|\s*=)/,lookbehind:!0,alias:"property"},number:{pattern:/(^|[[{(=:,\s])[+-]?(?:0x[\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\d+(?:\.\d*)?|\.?\d+)(?:[eE][+-]?\d+)?)(?=$|[\]}),:=\s])/,lookbehind:!0},boolean:{pattern:/(^|[[{(=:,\s])(?:false|no|true|yes)(?=$|[\]}),:=\s])/i,lookbehind:!0},null:{pattern:/(^|[[{(=:,\s])(?:null)(?=$|[\]}),:=\s])/i,lookbehind:!0,alias:"keyword"},string:{pattern:/(^|[[{(=:,\s])(?:('''|""")\r?\n(?:(?:[^\r\n]|\r?\n(?![\t ]*\2))*\r?\n)?[\t ]*\2|'[^'\r\n]*'|"(?:\\.|[^\\"\r\n])*")/,lookbehind:!0,greedy:!0},literal:{pattern:/(^|[[{(=:,\s])(?:[^#"',:=[\]{}()\s`-]|[:-][^"',=[\]{}()\s])(?:[^,:=\]})(\s]|:(?![\s,\]})]|$)|[ \t]+[^#,:=\]})(\s])*/,lookbehind:!0,alias:"string"},punctuation:/[,:=[\]{}()-]/}; +Prism.languages.nevod={comment:/\/\/.*|(?:\/\*[\s\S]*?(?:\*\/|$))/,string:{pattern:/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))!?\*?/,greedy:!0,inside:{"string-attrs":/!$|!\*$|\*$/}},namespace:{pattern:/(@namespace\s+)[a-zA-Z0-9\-.]+(?=\s*\{)/,lookbehind:!0},pattern:{pattern:/(@pattern\s+)?#?[a-zA-Z0-9\-.]+(?:\s*\(\s*(?:~\s*)?[a-zA-Z0-9\-.]+\s*(?:,\s*(?:~\s*)?[a-zA-Z0-9\-.]*)*\))?(?=\s*=)/,lookbehind:!0,inside:{"pattern-name":{pattern:/^#?[a-zA-Z0-9\-.]+/,alias:"class-name"},fields:{pattern:/\(.*\)/,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},punctuation:/[,()]/,operator:{pattern:/~/,alias:"field-hidden-mark"}}}}},search:{pattern:/(@search\s+|#)[a-zA-Z0-9\-.]+(?:\.\*)?(?=\s*;)/,alias:"function",lookbehind:!0},keyword:/@(?:having|inside|namespace|outside|pattern|require|search|where)\b/,"standard-pattern":{pattern:/\b(?:Alpha|AlphaNum|Any|Blank|End|LineBreak|Num|NumAlpha|Punct|Space|Start|Symbol|Word|WordBreak)\b(?:\([a-zA-Z0-9\-.,\s+]*\))?/,inside:{"standard-pattern-name":{pattern:/^[a-zA-Z0-9\-.]+/,alias:"builtin"},quantifier:{pattern:/\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,alias:"number"},"standard-pattern-attr":{pattern:/[a-zA-Z0-9\-.]+/,alias:"builtin"},punctuation:/[,()]/}},quantifier:{pattern:/\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,alias:"number"},operator:[{pattern:/=/,alias:"pattern-def"},{pattern:/&/,alias:"conjunction"},{pattern:/~/,alias:"exception"},{pattern:/\?/,alias:"optionality"},{pattern:/[[\]]/,alias:"repetition"},{pattern:/[{}]/,alias:"variation"},{pattern:/[+_]/,alias:"sequence"},{pattern:/\.{2,3}/,alias:"span"}],"field-capture":[{pattern:/([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*\))/,lookbehind:!0,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},colon:/:/}},{pattern:/[a-zA-Z0-9\-.]+\s*:/,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},colon:/:/}}],punctuation:/[:;,()]/,name:/[a-zA-Z0-9\-.]+/}; +!function(e){var n=/\$(?:\w[a-z\d]*(?:_[^\x00-\x1F\s"'\\()$]*)?|\{[^}\s"'\\]+\})/i;e.languages.nginx={comment:{pattern:/(^|[\s{};])#.*/,lookbehind:!0,greedy:!0},directive:{pattern:/(^|\s)\w(?:[^;{}"'\\\s]|\\.|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\s+(?:#.*(?!.)|(?![#\s])))*?(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:{string:{pattern:/((?:^|[^\\])(?:\\\\)*)(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,lookbehind:!0,greedy:!0,inside:{escape:{pattern:/\\["'\\nrt]/,alias:"entity"},variable:n}},comment:{pattern:/(\s)#.*/,lookbehind:!0,greedy:!0},keyword:{pattern:/^\S+/,greedy:!0},boolean:{pattern:/(\s)(?:off|on)(?!\S)/,lookbehind:!0},number:{pattern:/(\s)\d+[a-z]*(?!\S)/i,lookbehind:!0},variable:n}},punctuation:/[{};]/}}(Prism); +Prism.languages.nim={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/(?:\b(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+)?(?:"""[\s\S]*?"""(?!")|"(?:\\[\s\S]|""|[^"\\])*")/,greedy:!0},char:{pattern:/'(?:\\(?:\d+|x[\da-fA-F]{0,2}|.)|[^'])'/,greedy:!0},function:{pattern:/(?:(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+|`[^`\r\n]+`)\*?(?:\[[^\]]+\])?(?=\s*\()/,greedy:!0,inside:{operator:/\*$/}},identifier:{pattern:/`[^`\r\n]+`/,greedy:!0,inside:{punctuation:/`/}},number:/\b(?:0[xXoObB][\da-fA-F_]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[eE][+-]?\d[\d_]*)?)(?:'?[iuf]\d*)?/,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/,operator:{pattern:/(^|[({\[](?=\.\.)|(?![({\[]\.).)(?:(?:[=+\-*\/<>@$~&%|!?^:\\]|\.\.|\.(?![)}\]]))+|\b(?:and|div|in|is|isnot|mod|not|notin|of|or|shl|shr|xor)\b)/m,lookbehind:!0},punctuation:/[({\[]\.|\.[)}\]]|[`(){}\[\],:]/}; +Prism.languages.nix={comment:{pattern:/\/\*[\s\S]*?\*\/|#.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\[\s\S])*"|''(?:(?!'')[\s\S]|''(?:'|\\|\$\{))*''/,greedy:!0,inside:{interpolation:{pattern:/(^|(?:^|(?!'').)[^\\])\$\{(?:[^{}]|\{[^}]*\})*\}/,lookbehind:!0,inside:null}}},url:[/\b(?:[a-z]{3,7}:\/\/)[\w\-+%~\/.:#=?&]+/,{pattern:/([^\/])(?:[\w\-+%~.:#=?&]*(?!\/\/)[\w\-+%~\/.:#=?&])?(?!\/\/)\/[\w\-+%~\/.:#=?&]*/,lookbehind:!0}],antiquotation:{pattern:/\$(?=\{)/,alias:"important"},number:/\b\d+\b/,keyword:/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/,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/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/,punctuation:/[{}()[\].,:;]/},Prism.languages.nix.string.inside.interpolation.inside=Prism.languages.nix; +Prism.languages.nsis={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|[#;].*)/,lookbehind:!0,greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:{pattern:/(^[\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,lookbehind:!0},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/,constant:/\$\{[!\w\.:\^-]+\}|\$\([!\w\.:\^-]+\)/,variable:/\$\w[\w\.]*/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[?*\/~^%]/,punctuation:/[{}[\];(),.:]/,important:{pattern:/(^[\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,lookbehind:!0}}; +Prism.languages.objectivec=Prism.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},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/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete Prism.languages.objectivec["class-name"],Prism.languages.objc=Prism.languages.objectivec; +Prism.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},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/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/}; +!function(e){var t=/\\(?:["'\\abefnrtv]|0[0-7]{2}|U[\dA-Fa-f]{6}|u[\dA-Fa-f]{4}|x[\dA-Fa-f]{2})/;e.languages.odin={comment:[{pattern:/\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:\*(?!\/)|[^*])*(?:\*\/|$))*(?:\*\/|$)/,greedy:!0},{pattern:/#![^\n\r]*/,greedy:!0},{pattern:/\/\/[^\n\r]*/,greedy:!0}],char:{pattern:/'(?:\\(?:.|[0Uux][0-9A-Fa-f]{1,6})|[^\n\r'\\])'/,greedy:!0,inside:{symbol:t}},string:[{pattern:/`[^`]*`/,greedy:!0},{pattern:/"(?:\\.|[^\n\r"\\])*"/,greedy:!0,inside:{symbol:t}}],directive:{pattern:/#\w+/,alias:"property"},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)/,discard:{pattern:/\b_\b/,alias:"keyword"},"procedure-definition":{pattern:/\b\w+(?=[ \t]*(?::\s*){2}proc\b)/,alias:"function"},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/,"procedure-name":{pattern:/\b\w+(?=[ \t]*\()/,alias:"function"},boolean:/\b(?:false|nil|true)\b/,"constant-parameter-sign":{pattern:/\$/,alias:"important"},undefined:{pattern:/---/,alias:"operator"},arrow:{pattern:/->/,alias:"punctuation"},operator:/\+\+|--|\.\.[<=]?|(?:&~|[-!*+/=~]|[%&<>|]{1,2})=?|[?^]/,punctuation:/[(),.:;@\[\]{}]/}}(Prism); +!function(E){E.languages.opencl=E.languages.extend("c",{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/,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[fuhl]{0,4}/i,boolean:/\b(?:false|true)\b/,"constant-opencl-kernel":{pattern:/\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/,alias:"constant"}}),E.languages.insertBefore("opencl","class-name",{"builtin-type":{pattern:/\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/,alias:"keyword"}});var _={"type-opencl-host":{pattern:/\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/,alias:"keyword"},"boolean-opencl-host":{pattern:/\bCL_(?:FALSE|TRUE)\b/,alias:"boolean"},"constant-opencl-host":{pattern:/\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/,alias:"constant"},"function-opencl-host":{pattern:/\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/,alias:"function"}};E.languages.insertBefore("c","keyword",_),E.languages.cpp&&(_["type-opencl-host-cpp"]={pattern:/\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/,alias:"keyword"},E.languages.insertBefore("cpp","keyword",_))}(Prism); +Prism.languages.openqasm={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"[^"\r\n\t]*"|'[^'\r\n\t]*'/,greedy:!0},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/,"class-name":/\b(?:angle|bit|bool|creg|fixed|float|int|length|qreg|qubit|stretch|uint)\b/,function:/\b(?:cos|exp|ln|popcount|rotl|rotr|sin|sqrt|tan)\b(?=\s*\()/,constant:/\b(?:euler|pi|tau)\b|π|𝜏|ℇ/,number:{pattern:/(^|[^.\w$])(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?(?:dt|ns|us|µs|ms|s)?/i,lookbehind:!0},operator:/->|>>=?|<<=?|&&|\|\||\+\+|--|[!=<>&|~^+\-*/%]=?|@/,punctuation:/[(){}\[\];,:.]/},Prism.languages.qasm=Prism.languages.openqasm; +Prism.languages.oz={comment:{pattern:/\/\*[\s\S]*?\*\/|%.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\[\s\S])*"/,greedy:!0},atom:{pattern:/'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,alias:"builtin"},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/,function:[/\b[a-z][A-Za-z\d]*(?=\()/,{pattern:/(\{)[A-Z][A-Za-z\d]*\b/,lookbehind:!0}],number:/\b(?:0[bx][\da-f]+|\d+(?:\.\d*)?(?:e~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i,variable:/`(?:[^`\\]|\\.)+`/,"attr-name":/\b\w+(?=[ \t]*:(?![:=]))/,operator:/:(?:=|::?)|<[-:=]?|=(?:=|=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|mod|orelse)\b/,punctuation:/[\[\](){}.:;?]/}; +Prism.languages.parigp={comment:/\/\*[\s\S]*?\*\/|\\\\.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"/,greedy:!0},keyword:function(){var r=["breakpoint","break","dbg_down","dbg_err","dbg_up","dbg_x","forcomposite","fordiv","forell","forpart","forprime","forstep","forsubgroup","forvec","for","iferr","if","local","my","next","return","until","while"];return r=r.map((function(r){return r.split("").join(" *")})).join("|"),RegExp("\\b(?:"+r+")\\b")}(),function:/\b\w(?:[\w ]*\w)?(?= *\()/,number:{pattern:/((?:\. *\. *)?)(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *e *(?:[+-] *)?\d(?: *\d)*)?/i,lookbehind:!0},operator:/\. *\.|[*\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?: *>|(?: *<)?(?: *=)?)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||['#~^]/,punctuation:/[\[\]{}().,:;|]/}; +!function(e){var n=e.languages.parser=e.languages.extend("markup",{keyword:{pattern:/(^|[^^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/,lookbehind:!0},variable:{pattern:/(^|[^^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:!0,inside:{punctuation:/\.|:+/}},function:{pattern:/(^|[^^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:!0,inside:{keyword:{pattern:/(^@)(?:GET_|SET_)/,lookbehind:!0},punctuation:/\.|:+/}},escape:{pattern:/\^(?:[$^;@()\[\]{}"':]|#[a-f\d]*)/i,alias:"builtin"},punctuation:/[\[\](){};]/});n=e.languages.insertBefore("parser","keyword",{"parser-comment":{pattern:/(\s)#.*/,lookbehind:!0,alias:"comment"},expression:{pattern:/(^|[^^])\((?:[^()]|\((?:[^()]|\((?:[^()])*\))*\))*\)/,greedy:!0,lookbehind:!0,inside:{string:{pattern:/(^|[^^])(["'])(?:(?!\2)[^^]|\^[\s\S])*\2/,lookbehind:!0},keyword:n.keyword,variable:n.variable,function:n.function,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[a-f\d]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?)\b/i,escape:n.escape,operator:/[~+*\/\\%]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[>=]?|-[fd]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/,punctuation:n.punctuation}}}),e.languages.insertBefore("inside","punctuation",{expression:n.expression,keyword:n.keyword,variable:n.variable,function:n.function,escape:n.escape,"parser-punctuation":{pattern:n.punctuation,alias:"punctuation"}},n.tag.inside["attr-value"])}(Prism); +Prism.languages.pascal={directive:{pattern:/\{\$[\s\S]*?\}/,greedy:!0,alias:["marco","property"]},comment:{pattern:/\(\*[\s\S]*?\*\)|\{[\s\S]*?\}|\/\/.*/,greedy:!0},string:{pattern:/(?:'(?:''|[^'\r\n])*'(?!')|#[&$%]?[a-f\d]+)+|\^[a-z]/i,greedy:!0},asm:{pattern:/(\basm\b)[\s\S]+?(?=\bend\s*[;[])/i,lookbehind:!0,greedy:!0,inside:null},keyword:[{pattern:/(^|[^&])\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,lookbehind:!0},{pattern:/(^|[^&])\b(?:dispose|exit|false|new|true)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\b/i,lookbehind:!0},{pattern:/(^|[^&])\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,lookbehind:!0}],number:[/(?:[&%]\d+|\$[a-f\d]+)/i,/\b\d+(?:\.\d+)?(?:e[+-]?\d+)?/i],operator:[/\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=]/,{pattern:/(^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/,lookbehind:!0}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/},Prism.languages.pascal.asm.inside=Prism.languages.extend("pascal",{asm:void 0,keyword:void 0,operator:void 0}),Prism.languages.objectpascal=Prism.languages.pascal; +!function(e){var n="(?:\\b\\w+(?:)?|)".replace(//g,(function(){return"\\((?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))*\\)"})),t=e.languages.pascaligo={comment:/\(\*[\s\S]+?\*\)|\/\/.*/,string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1|\^[a-z]/i,greedy:!0},"class-name":[{pattern:RegExp("(\\btype\\s+\\w+\\s+is\\s+)".replace(//g,(function(){return n})),"i"),lookbehind:!0,inside:null},{pattern:RegExp("(?=\\s+is\\b)".replace(//g,(function(){return n})),"i"),inside:null},{pattern:RegExp("(:\\s*)".replace(//g,(function(){return n}))),lookbehind:!0,inside:null}],keyword:{pattern:/(^|[^&])\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,lookbehind:!0},boolean:{pattern:/(^|[^&])\b(?:False|True)\b/i,lookbehind:!0},builtin:{pattern:/(^|[^&])\b(?:bool|int|list|map|nat|record|string|unit)\b/i,lookbehind:!0},function:/\b\w+(?=\s*\()/,number:[/%[01]+|&[0-7]+|\$[a-f\d]+/i,/\b\d+(?:\.\d+)?(?:e[+-]?\d+)?(?:mtz|n)?/i],operator:/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=|]|\b(?:and|mod|or)\b/,punctuation:/\(\.|\.\)|[()\[\]:;,.{}]/},i=["comment","keyword","builtin","operator","punctuation"].reduce((function(e,n){return e[n]=t[n],e}),{});t["class-name"].forEach((function(e){e.inside=i}))}(Prism); +Prism.languages.psl={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"])*"/,greedy:!0,inside:{symbol:/\\[ntrbA-Z"\\]/}},"heredoc-string":{pattern:/<<<([a-zA-Z_]\w*)[\r\n](?:.*[\r\n])*?\1\b/,alias:"string",greedy:!0},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/,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/,boolean:/\b(?:FALSE|False|NO|No|TRUE|True|YES|Yes|false|no|true|yes)\b/,variable:/\b(?:PslDebug|errno|exit_status)\b/,builtin:{pattern:/\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/,alias:"builtin-function"},"foreach-variable":{pattern:/(\bforeach\s+(?:(?:\w+\b|"(?:\\.|[^\\"])*")\s+){0,2})[_a-zA-Z]\w*(?=\s*\()/,lookbehind:!0,greedy:!0},function:/\b[_a-z]\w*\b(?=\s*\()/i,number:/\b(?:0x[0-9a-f]+|\d+(?:\.\d+)?)\b/i,operator:/--|\+\+|&&=?|\|\|=?|<<=?|>>=?|[=!]~|[-+*/%&|^!=<>]=?|\.|[:?]/,punctuation:/[(){}\[\];,]/}; +Prism.languages.pcaxis={string:/"[^"]*"/,keyword:{pattern:/((?:^|;)\s*)[-A-Z\d]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/,lookbehind:!0,greedy:!0,inside:{keyword:/^[-A-Z\d]+/,language:{pattern:/^(\s*)\[[-\w]+\]/,lookbehind:!0,inside:{punctuation:/^\[|\]$/,property:/[-\w]+/}},"sub-key":{pattern:/^(\s*)\S[\s\S]*/,lookbehind:!0,inside:{parameter:{pattern:/"[^"]*"/,alias:"property"},punctuation:/^\(|\)$|,/}}}},operator:/=/,tlist:{pattern:/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/,greedy:!0,inside:{function:/^TLIST/,property:{pattern:/^(\s*\(\s*)\w+/,lookbehind:!0},string:/"[^"]*"/,punctuation:/[(),]/,operator:/-/}},punctuation:/[;,]/,number:{pattern:/(^|\s)\d+(?:\.\d+)?(?!\S)/,lookbehind:!0},boolean:/NO|YES/},Prism.languages.px=Prism.languages.pcaxis; +Prism.languages.peoplecode={comment:RegExp(["/\\*[^]*?\\*/","\\bREM[^;]*;","<\\*(?:[^<*]|\\*(?!>)|<(?!\\*)|<\\*(?:(?!\\*>)[^])*\\*>)*\\*>","/\\+[^]*?\\+/"].join("|")),string:{pattern:/'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,greedy:!0},variable:/%\w+/,"function-definition":{pattern:/((?:^|[^\w-])(?:function|method)\s+)\w+/i,lookbehind:!0,alias:"function"},"class-name":{pattern:/((?:^|[^-\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\s+)\w+(?::\w+)*/i,lookbehind:!0,inside:{punctuation:/:/}},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,"operator-keyword":{pattern:/\b(?:and|not|or)\b/i,alias:"operator"},function:/[_a-z]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/i,number:/\b\d+(?:\.\d+)?\b/,operator:/<>|[<>]=?|!=|\*\*|[-+*/|=@]/,punctuation:/[:.;,()[\]]/},Prism.languages.pcode=Prism.languages.peoplecode; +!function(e){var n="(?:\\((?:[^()\\\\]|\\\\[^])*\\)|\\{(?:[^{}\\\\]|\\\\[^])*\\}|\\[(?:[^[\\]\\\\]|\\\\[^])*\\]|<(?:[^<>\\\\]|\\\\[^])*>)";e.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp("\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[^])*\\2",n].join("|")+")"),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp("\\b(?:m|qr)(?![a-zA-Z0-9])\\s*(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[^])*\\2",n].join("|")+")[msixpodualngc]*"),greedy:!0},{pattern:RegExp("(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[^])*\\2(?:(?!\\2)[^\\\\]|\\\\[^])*\\2","([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[^])*\\3(?:(?!\\3)[^\\\\]|\\\\[^])*\\3",n+"\\s*"+n].join("|")+")[msixpodualngcer]*"),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:"symbol"},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},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/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}}(Prism); +!function(a){var e="(?:\\b[a-zA-Z]\\w*|[|\\\\[\\]])+";a.languages.phpdoc=a.languages.extend("javadoclike",{parameter:{pattern:RegExp("(@(?:global|param|property(?:-read|-write)?|var)\\s+(?:"+e+"\\s+)?)\\$\\w+"),lookbehind:!0}}),a.languages.insertBefore("phpdoc","keyword",{"class-name":[{pattern:RegExp("(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\s+)"+e),lookbehind:!0,inside:{keyword:/\b(?:array|bool|boolean|callback|double|false|float|int|integer|mixed|null|object|resource|self|string|true|void)\b/,punctuation:/[|\\[\]()]/}}]}),a.languages.javadoclike.addSupport("php",a.languages.phpdoc)}(Prism); +Prism.languages.insertBefore("php","variable",{this:{pattern:/\$this\b/,alias:"keyword"},global:/\$(?:GLOBALS|HTTP_RAW_POST_DATA|_(?:COOKIE|ENV|FILES|GET|POST|REQUEST|SERVER|SESSION)|argc|argv|http_response_header|php_errormsg)\b/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/\b(?:parent|self|static)\b/,punctuation:/::|\\/}}}); +!function(e){var t=/\$\w+|%[a-z]+%/;e.languages["plant-uml"]={comment:{pattern:/(^[ \t]*)(?:'.*|\/'[\s\S]*?'\/)/m,lookbehind:!0,greedy:!0},preprocessor:{pattern:/(^[ \t]*)!.*/m,lookbehind:!0,greedy:!0,alias:"property",inside:{variable:t}},delimiter:{pattern:/(^[ \t]*)@(?:end|start)uml\b/m,lookbehind:!0,greedy:!0,alias:"punctuation"},arrow:{pattern:RegExp("(^|[^-.<>?|\\\\[\\]ox])[[?]?[ox]?(?:(?:-+(?:[drlu]|do|down|le|left|ri|right|up)-+|\\.+(?:[drlu]|do|down|le|left|ri|right|up)\\.+|-+(?:\\[[^[\\]]*\\]-*)?|\\[[^[\\]]*\\]-+|\\.+(?:\\[[^[\\]]*\\]\\.*)?|\\[[^[\\]]*\\]\\.+)(?:>{1,2}|/{1,2}|\\\\{1,2}|\\|>|[#*^+{xo])|(?:<{1,2}|/{1,2}|\\\\{1,2}|<\\||[#*^+}xo])(?:-+(?:[drlu]|do|down|le|left|ri|right|up)-+|\\.+(?:[drlu]|do|down|le|left|ri|right|up)\\.+|-+(?:\\[[^[\\]]*\\]-*)?|\\[[^[\\]]*\\]-+|\\.+(?:\\[[^[\\]]*\\]\\.*)?|\\[[^[\\]]*\\]\\.+)(?:(?:>{1,2}|/{1,2}|\\\\{1,2}|\\|>|[#*^+{xo]))?)[ox]?[\\]?]?(?![-.<>?|\\\\\\]ox])"),lookbehind:!0,greedy:!0,alias:"operator",inside:{expression:{pattern:/(\[)[^[\]]+(?=\])/,lookbehind:!0,inside:null},punctuation:/\[(?=$|\])|^\]/}},string:{pattern:/"[^"]*"/,greedy:!0},text:{pattern:/(\[[ \t]*[\r\n]+(?![\r\n]))[^\]]*(?=\])/,lookbehind:!0,greedy:!0,alias:"string"},keyword:[{pattern:/^([ \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,lookbehind:!0,greedy:!0},/\b(?:elseif|equals|not|while)(?=\s*\()/,/\b(?:as|is|then)\b/],divider:{pattern:/^==.+==$/m,greedy:!0,alias:"important"},time:{pattern:/@(?:\d+(?:[:/]\d+){2}|[+-]?\d+|:[a-z]\w*(?:[+-]\d+)?)\b/i,greedy:!0,alias:"number"},color:{pattern:/#(?:[a-z_]+|[a-fA-F0-9]+)\b/,alias:"symbol"},variable:t,punctuation:/[:,;()[\]{}]|\.{3}/},e.languages["plant-uml"].arrow.inside.expression.inside=e.languages["plant-uml"],e.languages.plantuml=e.languages["plant-uml"]}(Prism); +Prism.languages.plsql=Prism.languages.extend("sql",{comment:{pattern:/\/\*[\s\S]*?\*\/|--.*/,greedy:!0},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,operator:/:=?|=>|[<>^~!]=|\.\.|\|\||\*\*|[-+*/%<>=@]/}),Prism.languages.insertBefore("plsql","operator",{label:{pattern:/<<\s*\w+\s*>>/,alias:"symbol"}}); +Prism.languages.powerquery={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},"quoted-identifier":{pattern:/#"(?:[^"\r\n]|"")*"(?!")/,greedy:!0},string:{pattern:/(?:#!)?"(?:[^"\r\n]|"")*"(?!")/,greedy:!0},constant:[/\bDay\.(?:Friday|Monday|Saturday|Sunday|Thursday|Tuesday|Wednesday)\b/,/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/,/\bOccurrence\.(?:All|First|Last)\b/,/\bOrder\.(?:Ascending|Descending)\b/,/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/,/\bMissingField\.(?:Error|Ignore|UseNull)\b/,/\bQuoteStyle\.(?:Csv|None)\b/,/\bJoinKind\.(?:FullOuter|Inner|LeftAnti|LeftOuter|RightAnti|RightOuter)\b/,/\bGroupKind\.(?:Global|Local)\b/,/\bExtraValues\.(?:Error|Ignore|List)\b/,/\bJoinAlgorithm\.(?:Dynamic|LeftHash|LeftIndex|PairwiseHash|RightHash|RightIndex|SortMerge)\b/,/\bJoinSide\.(?:Left|Right)\b/,/\bPrecision\.(?:Decimal|Double)\b/,/\bRelativePosition\.From(?:End|Start)\b/,/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf16|Utf8|Windows)\b/,/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Function|Int16|Int32|Int64|Int8|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/,/\bnull\b/],boolean:/\b(?:false|true)\b/,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/,function:{pattern:/(^|[^#\w.])[a-z_][\w.]*(?=\s*\()/i,lookbehind:!0},"data-type":{pattern:/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time)\b/,alias:"class-name"},number:{pattern:/\b0x[\da-f]+\b|(?:[+-]?(?:\b\d+\.)?\b\d+|[+-]\.\d+|(^|[^.])\B\.\d+)(?:e[+-]?\d+)?\b/i,lookbehind:!0},operator:/[-+*\/&?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/,punctuation:/[,;\[\](){}]/},Prism.languages.pq=Prism.languages.powerquery,Prism.languages.mscript=Prism.languages.powerquery; +!function(e){var i=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?: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,lookbehind:!0},punctuation:/[|{}[\];(),.]/};i.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:i},boolean:i.boolean,variable:i.variable}}(Prism); +Prism.languages.processing=Prism.languages.extend("clike",{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/,function:/\b\w+(?=\s*\()/,operator:/<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/}),Prism.languages.insertBefore("processing","number",{constant:/\b(?!XML\b)[A-Z][A-Z\d_]+\b/,type:{pattern:/\b(?:boolean|byte|char|color|double|float|int|[A-Z]\w*)\b/,alias:"class-name"}}); +Prism.languages.prolog={comment:{pattern:/\/\*[\s\S]*?\*\/|%.*/,greedy:!0},string:{pattern:/(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1(?!\1)/,greedy:!0},builtin:/\b(?:fx|fy|xf[xy]?|yfx?)\b/,function:/\b[a-z]\w*(?:(?=\()|\/\d+)/,number:/\b\d+(?:\.\d*)?/,operator:/[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/,punctuation:/[(){}\[\],]/}; +!function(t){var n=["on","ignoring","group_right","group_left","by","without"],a=["sum","min","max","avg","group","stddev","stdvar","count","count_values","bottomk","topk","quantile"].concat(n,["offset"]);t.languages.promql={comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:!0},"vector-match":{pattern:new RegExp("((?:"+n.join("|")+")\\s*)\\([^)]*\\)"),lookbehind:!0,inside:{"label-key":{pattern:/\b[^,]+\b/,alias:"attr-name"},punctuation:/[(),]/}},"context-labels":{pattern:/\{[^{}]*\}/,inside:{"label-key":{pattern:/\b[a-z_]\w*(?=\s*(?:=|![=~]))/,alias:"attr-name"},"label-value":{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0,alias:"attr-value"},punctuation:/\{|\}|=~?|![=~]|,/}},"context-range":[{pattern:/\[[\w\s:]+\]/,inside:{punctuation:/\[|\]|:/,"range-duration":{pattern:/\b(?:\d+(?:[smhdwy]|ms))+\b/i,alias:"number"}}},{pattern:/(\boffset\s+)\w+/,lookbehind:!0,inside:{"range-duration":{pattern:/\b(?:\d+(?:[smhdwy]|ms))+\b/i,alias:"number"}}}],keyword:new RegExp("\\b(?:"+a.join("|")+")\\b","i"),function:/\b[a-z_]\w*(?=\s*\()/i,number:/[-+]?(?:(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[-+]?\d+)?\b|\b(?:0x[0-9a-f]+|nan|inf)\b)/i,operator:/[\^*/%+-]|==|!=|<=|<|>=|>|\b(?:and|or|unless)\b/i,punctuation:/[{};()`,.[\]]/}}(Prism); +Prism.languages.properties={comment:/^[ \t]*[#!].*$/m,value:{pattern:/(^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?: *[=:] *(?! )| ))(?:\\(?:\r\n|[\s\S])|[^\\\r\n])+/m,lookbehind:!0,alias:"attr-value"},key:{pattern:/^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?= *[=:]| )/m,alias:"attr-name"},punctuation:/[=:]/}; +!function(e){var s=/\b(?:bool|bytes|double|s?fixed(?:32|64)|float|[su]?int(?:32|64)|string)\b/;e.languages.protobuf=e.languages.extend("clike",{"class-name":[{pattern:/(\b(?:enum|extend|message|service)\s+)[A-Za-z_]\w*(?=\s*\{)/,lookbehind:!0},{pattern:/(\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?)\.?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*(?=\s*\))/,lookbehind:!0}],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)/,function:/\b[a-z_]\w*(?=\s*\()/i}),e.languages.insertBefore("protobuf","operator",{map:{pattern:/\bmap<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[a-z_]\w*\s*[=;])/i,alias:"class-name",inside:{punctuation:/[<>.,]/,builtin:s}},builtin:s,"positional-class-name":{pattern:/(?:\b|\B\.)[a-z_]\w*(?:\.[a-z_]\w*)*(?=\s+[a-z_]\w*\s*[=;])/i,alias:"class-name",inside:{punctuation:/\./}},annotation:{pattern:/(\[\s*)[a-z_]\w*(?=\s*=)/i,lookbehind:!0}})}(Prism); +!function(e){e.languages.pug={comment:{pattern:/(^([\t ]*))\/\/.*(?:(?:\r?\n|\r)\2[\t ].+)*/m,lookbehind:!0},"multiline-script":{pattern:/(^([\t ]*)script\b.*\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:e.languages.javascript},filter:{pattern:/(^([\t ]*)):.+(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},text:/\S[\s\S]*/}},"multiline-plain-text":{pattern:/(^([\t ]*)[\w\-#.]+\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0},markup:{pattern:/(^[\t ]*)<.+/m,lookbehind:!0,inside:e.languages.markup},doctype:{pattern:/((?:^|\n)[\t ]*)doctype(?: .+)?/,lookbehind:!0},"flow-control":{pattern:/(^[\t ]*)(?:case|default|each|else|if|unless|when|while)\b(?: .+)?/m,lookbehind:!0,inside:{each:{pattern:/^each .+? in\b/,inside:{keyword:/\b(?:each|in)\b/,punctuation:/,/}},branch:{pattern:/^(?:case|default|else|if|unless|when|while)\b/,alias:"keyword"},rest:e.languages.javascript}},keyword:{pattern:/(^[\t ]*)(?:append|block|extends|include|prepend)\b.+/m,lookbehind:!0},mixin:[{pattern:/(^[\t ]*)mixin .+/m,lookbehind:!0,inside:{keyword:/^mixin/,function:/\w+(?=\s*\(|\s*$)/,punctuation:/[(),.]/}},{pattern:/(^[\t ]*)\+.+/m,lookbehind:!0,inside:{name:{pattern:/^\+\w+/,alias:"function"},rest:e.languages.javascript}}],script:{pattern:/(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]).+/m,lookbehind:!0,inside:e.languages.javascript},"plain-text":{pattern:/(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]).+/m,lookbehind:!0},tag:{pattern:/(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,lookbehind:!0,inside:{attributes:[{pattern:/&[^(]+\([^)]+\)/,inside:e.languages.javascript},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*(?!\s))(?:\{[^}]*\}|[^,)\r\n]+)/,lookbehind:!0,inside:e.languages.javascript},"attr-name":/[\w-]+(?=\s*!?=|\s*[,)])/,punctuation:/[!=(),]+/}}],punctuation:/:/,"attr-id":/#[\w\-]+/,"attr-class":/\.[\w\-]+/}},code:[{pattern:/(^[\t ]*(?:-|!?=)).+/m,lookbehind:!0,inside:e.languages.javascript}],punctuation:/[.\-!=|]+/};for(var t=[{filter:"atpl",language:"twig"},{filter:"coffee",language:"coffeescript"},"ejs","handlebars","less","livescript","markdown",{filter:"sass",language:"scss"},"stylus"],n={},a=0,i=t.length;a(?:(?:\r?\n|\r(?!\n))(?:\\2[\t ].+|\\s*?(?=\r?\n|\r)))+".replace("",(function(){return r.filter})),"m"),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},text:{pattern:/\S[\s\S]*/,alias:[r.language,"language-"+r.language],inside:e.languages[r.language]}}})}e.languages.insertBefore("pug","filter",n)}(Prism); +!function(e){e.languages.puppet={heredoc:[{pattern:/(@\("([^"\r\n\/):]+)"(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,lookbehind:!0,alias:"string",inside:{punctuation:/(?=\S).*\S(?= *$)/}},{pattern:/(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,lookbehind:!0,greedy:!0,alias:"string",inside:{punctuation:/(?=\S).*\S(?= *$)/}},{pattern:/@\("?(?:[^"\r\n\/):]+)"?(?:\/[nrts$uL]*)?\)/,alias:"string",inside:{punctuation:{pattern:/(\().+?(?=\))/,lookbehind:!0}}}],"multiline-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,greedy:!0,alias:"comment"},regex:{pattern:/((?:\bnode\s+|[~=\(\[\{,]\s*|[=+]>\s*|^\s*))\/(?:[^\/\\]|\\[\s\S])+\/(?:[imx]+\b|\B)/,lookbehind:!0,greedy:!0,inside:{"extended-regex":{pattern:/^\/(?:[^\/\\]|\\[\s\S])+\/[im]*x[im]*$/,inside:{comment:/#.*/}}}},comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},string:{pattern:/(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|\$(?!\{)|(?!\1)[^\\$]|\\[\s\S])*\1/,greedy:!0,inside:{"double-quoted":{pattern:/^"[\s\S]*"$/,inside:{}}}},variable:{pattern:/\$(?:::)?\w+(?:::\w+)*/,inside:{punctuation:/::/}},"attr-name":/(?:\b\w+|\*)(?=\s*=>)/,function:[{pattern:/(\.)(?!\d)\w+/,lookbehind:!0},/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/],number:/\b(?:0x[a-f\d]+|\d+(?:\.\d+)?(?:e-?\d+)?)\b/i,boolean:/\b(?:false|true)\b/,keyword:/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/,datatype:{pattern:/\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/,alias:"symbol"},operator:/=[=~>]?|![=~]?|<(?:<\|?|[=~|-])?|>[>=]?|->?|~>|\|>?>?|[*\/%+?]|\b(?:and|in|or)\b/,punctuation:/[\[\]{}().,;]|:+/};var n=[{pattern:/(^|[^\\])\$\{(?:[^'"{}]|\{[^}]*\}|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}/,lookbehind:!0,inside:{"short-variable":{pattern:/(^\$\{)(?!\w+\()(?:::)?\w+(?:::\w+)*/,lookbehind:!0,alias:"variable",inside:{punctuation:/::/}},delimiter:{pattern:/^\$/,alias:"variable"},rest:e.languages.puppet}},{pattern:/(^|[^\\])\$(?:::)?\w+(?:::\w+)*/,lookbehind:!0,alias:"variable",inside:{punctuation:/::/}}];e.languages.puppet.heredoc[0].inside.interpolation=n,e.languages.puppet.string.inside["double-quoted"].inside.interpolation=n}(Prism); +!function(e){e.languages.pure={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0},/#!.+/],"inline-lang":{pattern:/%<[\s\S]+?%>/,greedy:!0,inside:{lang:{pattern:/(^%< *)-\*-.+?-\*-/,lookbehind:!0,alias:"comment"},delimiter:{pattern:/^%<.*|%>$/,alias:"punctuation"}}},string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},number:{pattern:/((?:\.\.)?)(?:\b(?:inf|nan)\b|\b0x[\da-f]+|(?:\b(?:0b)?\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?L?)/i,lookbehind:!0},keyword:/\b(?:NULL|ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/,function:/\b(?:abs|add_(?:addr|constdef|(?:fundef|interface|macdef|typedef)(?:_at)?|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_c?string(?:_pointer)?|byte_(?:matrix|pointer)|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|sentry|short|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/,special:{pattern:/\b__[a-z]+__\b/i,alias:"builtin"},operator:/(?:[!"#$%&'*+,\-.\/:<=>?@\\^`|~\u00a1-\u00bf\u00d7-\u00f7\u20d0-\u2bff]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/,punctuation:/[(){}\[\];,|]/},["c",{lang:"c++",alias:"cpp"},"fortran"].forEach((function(t){var a=t;if("string"!=typeof t&&(a=t.alias,t=t.lang),e.languages[a]){var r={};r["inline-lang-"+a]={pattern:RegExp("%< *-\\*- *\\d* *-\\*-[^]+?%>".replace("",t.replace(/([.+*?\/\\(){}\[\]])/g,"\\$1")),"i"),inside:e.util.clone(e.languages.pure["inline-lang"].inside)},r["inline-lang-"+a].inside.rest=e.util.clone(e.languages[a]),e.languages.insertBefore("pure","inline-lang",r)}})),e.languages.c&&(e.languages.pure["inline-lang"].inside.rest=e.util.clone(e.languages.c))}(Prism); +Prism.languages.purebasic=Prism.languages.extend("clike",{comment:/;.*/,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,function:/\b\w+(?:\.\w+)?\s*(?=\()/,number:/(?:\$[\da-f]+|\b-?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)\b/i,operator:/(?:@\*?|\?|\*)\w+\$?|-[>-]?|\+\+?|!=?|<>?=?|==?|&&?|\|?\||[~^%?*/@]/}),Prism.languages.insertBefore("purebasic","keyword",{tag:/#\w+\$?/,asm:{pattern:/(^[\t ]*)!.*/m,lookbehind:!0,alias:"tag",inside:{comment:/;.*/,string:{pattern:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"label-reference-anonymous":{pattern:/(!\s*j[a-z]+\s+)@[fb]/i,lookbehind:!0,alias:"fasm-label"},"label-reference-addressed":{pattern:/(!\s*j[a-z]+\s+)[A-Z._?$@][\w.?$@~#]*/i,lookbehind:!0,alias:"fasm-label"},keyword:[/\b(?:extern|global)\b[^;\r\n]*/i,/\b(?:CPU|DEFAULT|FLOAT)\b.*/],function:{pattern:/^([\t ]*!\s*)[\da-z]+(?=\s|$)/im,lookbehind:!0},"function-inline":{pattern:/(:\s*)[\da-z]+(?=\s)/i,lookbehind:!0,alias:"function"},label:{pattern:/^([\t ]*!\s*)[A-Za-z._?$@][\w.?$@~#]*(?=:)/m,lookbehind:!0,alias:"fasm-label"},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,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,operator:/[\[\]*+\-/%<>=&|$!,.:]/}}}),delete Prism.languages.purebasic["class-name"],delete Prism.languages.purebasic.boolean,Prism.languages.pbfasm=Prism.languages.purebasic; +Prism.languages.purescript=Prism.languages.extend("haskell",{keyword:/\b(?:ado|case|class|data|derive|do|else|forall|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b|∀/,"import-statement":{pattern:/(^[\t ]*)import\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|hiding|import)\b/,punctuation:/\./}},builtin:/\b(?:absurd|add|ap|append|apply|between|bind|bottom|clamp|compare|comparing|compose|conj|const|degree|discard|disj|div|eq|flap|flip|gcd|identity|ifM|join|lcm|liftA1|liftM1|map|max|mempty|min|mod|mul|negate|not|notEq|one|otherwise|recip|show|sub|top|unit|unless|unlessM|void|when|whenM|zero)\b/,operator:[Prism.languages.haskell.operator[0],Prism.languages.haskell.operator[2],/[\xa2-\xa6\xa8\xa9\xac\xae-\xb1\xb4\xb8\xd7\xf7\u02c2-\u02c5\u02d2-\u02df\u02e5-\u02eb\u02ed\u02ef-\u02ff\u0375\u0384\u0385\u03f6\u0482\u058d-\u058f\u0606-\u0608\u060b\u060e\u060f\u06de\u06e9\u06fd\u06fe\u07f6\u07fe\u07ff\u09f2\u09f3\u09fa\u09fb\u0af1\u0b70\u0bf3-\u0bfa\u0c7f\u0d4f\u0d79\u0e3f\u0f01-\u0f03\u0f13\u0f15-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcc\u0fce\u0fcf\u0fd5-\u0fd8\u109e\u109f\u1390-\u1399\u166d\u17db\u1940\u19de-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u1fbd\u1fbf-\u1fc1\u1fcd-\u1fcf\u1fdd-\u1fdf\u1fed-\u1fef\u1ffd\u1ffe\u2044\u2052\u207a-\u207c\u208a-\u208c\u20a0-\u20bf\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211e-\u2123\u2125\u2127\u2129\u212e\u213a\u213b\u2140-\u2144\u214a-\u214d\u214f\u218a\u218b\u2190-\u2307\u230c-\u2328\u232b-\u2426\u2440-\u244a\u249c-\u24e9\u2500-\u2767\u2794-\u27c4\u27c7-\u27e5\u27f0-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2b73\u2b76-\u2b95\u2b97-\u2bff\u2ce5-\u2cea\u2e50\u2e51\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3004\u3012\u3013\u3020\u3036\u3037\u303e\u303f\u309b\u309c\u3190\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3247\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua700-\ua716\ua720\ua721\ua789\ua78a\ua828-\ua82b\ua836-\ua839\uaa77-\uaa79\uab5b\uab6a\uab6b\ufb29\ufbb2-\ufbc1\ufdfc\ufdfd\ufe62\ufe64-\ufe66\ufe69\uff04\uff0b\uff1c-\uff1e\uff3e\uff40\uff5c\uff5e\uffe0-\uffe6\uffe8-\uffee\ufffc\ufffd]/]}),Prism.languages.purs=Prism.languages.purescript; +Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},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/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,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,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python; +!function(e){function n(e,n){return e.replace(/<<(\d+)>>/g,(function(e,r){return"(?:"+n[+r]+")"}))}function r(e,r,a){return RegExp(n(e,r),a||"")}var a=RegExp("\\b(?:"+"Adj BigInt Bool Ctl Double false Int One Pauli PauliI PauliX PauliY PauliZ Qubit Range Result String true Unit Zero 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".trim().replace(/ /g,"|")+")\\b"),t=n("<<0>>(?:\\s*\\.\\s*<<0>>)*",["\\b[A-Za-z_]\\w*\\b"]),i={keyword:a,punctuation:/[<>()?,.:[\]]/},s='"(?:\\\\.|[^\\\\"])*"';e.languages.qsharp=e.languages.extend("clike",{comment:/\/\/.*/,string:[{pattern:r("(^|[^$\\\\])<<0>>",[s]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:r("(\\b(?:as|open)\\s+)<<0>>(?=\\s*(?:;|as\\b))",[t]),lookbehind:!0,inside:i},{pattern:r("(\\bnamespace\\s+)<<0>>(?=\\s*\\{)",[t]),lookbehind:!0,inside:i}],keyword:a,number:/(?:\b0(?:x[\da-f]+|b[01]+|o[0-7]+)|(?:\B\.\d+|\b\d+(?:\.\d*)?)(?:e[-+]?\d+)?)l?\b/i,operator:/\band=|\bor=|\band\b|\bnot\b|\bor\b|<[-=]|[-=]>|>>>=?|<<<=?|\^\^\^=?|\|\|\|=?|&&&=?|w\/=?|~~~|[*\/+\-^=!%]=?/,punctuation:/::|[{}[\];(),.:]/}),e.languages.insertBefore("qsharp","number",{range:{pattern:/\.\./,alias:"operator"}});var o=function(e,n){for(var r=0;r<2;r++)e=e.replace(/<>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}(n('\\{(?:[^"{}]|<<0>>|<>)*\\}',[s]));e.languages.insertBefore("qsharp","string",{"interpolation-string":{pattern:r('\\$"(?:\\\\.|<<0>>|[^\\\\"{])*"',[o]),greedy:!0,inside:{interpolation:{pattern:r("((?:^|[^\\\\])(?:\\\\\\\\)*)<<0>>",[o]),lookbehind:!0,inside:{punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-qsharp",inside:e.languages.qsharp}}},string:/[\s\S]+/}}})}(Prism),Prism.languages.qs=Prism.languages.qsharp; +Prism.languages.q={string:/"(?:\\.|[^"\\\r\n])*"/,comment:[{pattern:/([\t )\]}])\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r(?!\n)))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/,lookbehind:!0,greedy:!0},{pattern:/^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m,greedy:!0},{pattern:/^#!.+/m,greedy:!0}],symbol:/`(?::\S+|[\w.]*)/,datetime:{pattern:/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]?/,alias:"number"},number:/\b(?![01]:)(?:0N[hje]?|0W[hj]?|0[wn]|0x[\da-fA-F]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?[hjfeb]?)/,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/,adverb:{pattern:/['\/\\]:?|\beach\b/,alias:"function"},verb:{pattern:/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[:+\-*%,!?~=|$&#@^]):?|\b_\b:?/,alias:"operator"},punctuation:/[(){}\[\];.]/}; +!function(e){for(var r="(?:[^\\\\()[\\]{}\"'/]||/(?![*/])||\\(*\\)|\\[*\\]|\\{*\\}|\\\\[^])".replace(//g,(function(){return"\"(?:\\\\.|[^\\\\\"\r\n])*\"|'(?:\\\\.|[^\\\\'\r\n])*'"})).replace(//g,(function(){return"//.*(?!.)|/\\*(?:[^*]|\\*(?!/))*\\*/"})),t=0;t<2;t++)r=r.replace(//g,(function(){return r}));r=r.replace(//g,"[^\\s\\S]"),e.languages.qml={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},"javascript-function":{pattern:RegExp("((?:^|;)[ \t]*)function\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*\\(*\\)\\s*\\{*\\}".replace(//g,(function(){return r})),"m"),lookbehind:!0,greedy:!0,alias:"language-javascript",inside:e.languages.javascript},"class-name":{pattern:/((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m,lookbehind:!0},property:[{pattern:/((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,lookbehind:!0},{pattern:/((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,lookbehind:!0,inside:{keyword:/^property/,property:/\w+(?:\.\w+)*/}}],"javascript-expression":{pattern:RegExp("(:[ \t]*)(?![\\s;}[])(?:(?!$|[;}]))+".replace(//g,(function(){return r})),"m"),lookbehind:!0,greedy:!0,alias:"language-javascript",inside:e.languages.javascript},string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},keyword:/\b(?:as|import|on)\b/,punctuation:/[{}[\]:;,]/}}(Prism); +Prism.languages.qore=Prism.languages.extend("clike",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/|#).*)/,lookbehind:!0},string:{pattern:/("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},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/,boolean:/\b(?:false|true)\b/i,function:/\$?\b(?!\d)\w+(?=\()/,number:/\b(?:0b[01]+|0x(?:[\da-f]*\.)?[\da-fp\-]+|(?:\d+(?:\.\d+)?|\.\d+)(?:e\d+)?[df]|(?:\d+(?:\.\d+)?|\.\d+))\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/,lookbehind:!0},variable:/\$(?!\d)\w+\b/}); +Prism.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}; +Prism.languages.racket=Prism.languages.extend("scheme",{"lambda-parameter":{pattern:/([(\[]lambda\s+[(\[])[^()\[\]'\s]+/,lookbehind:!0}}),Prism.languages.insertBefore("racket","string",{lang:{pattern:/^#lang.+/m,greedy:!0,alias:"keyword"}}),Prism.languages.rkt=Prism.languages.racket; +!function(e){function s(e,s){for(var a=0;a/g,(function(){return"(?:"+e+")"}));return e.replace(//g,"[^\\s\\S]").replace(//g,'(?:@(?!")|"(?:[^\r\n\\\\"]|\\\\.)*"|@"(?:[^\\\\"]|""|\\\\[^])*"(?!")|\'(?:(?:[^\r\n\'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})\'|(?=[^\\\\](?!\'))))').replace(//g,"(?:/(?![/*])|//.*[\r\n]|/\\*[^*]*(?:\\*(?!/)[^*]*)*\\*/)")}var a=s("\\((?:[^()'\"@/]|||)*\\)",2),t=s("\\[(?:[^\\[\\]'\"@/]|||)*\\]",1),r=s("\\{(?:[^{}'\"@/]|||)*\\}",2),n="@(?:await\\b\\s*)?(?:(?!await\\b)\\w+\\b|"+a+")(?:[?!]?\\.\\w+\\b|(?:"+s("<(?:[^<>'\"@/]||)*>",1)+")?"+a+"|"+t+")*(?![?!\\.(\\[]|<(?!/))",l="(?:\"[^\"@]*\"|'[^'@]*'|[^\\s'\"@>=]+(?=[\\s>])|[\"'][^\"'@]*(?:(?:@(?![\\w()])|"+n+")[^\"'@]*)+[\"'])",i="(?:\\s(?:\\s*[^\\s>/=]+(?:\\s*=\\s*|(?=[\\s/>])))+)?".replace(//,l),g="(?!\\d)[^\\s>/=$<%]+"+i+"\\s*/?>",o="\\B@?(?:<([a-zA-Z][\\w:]*)"+i+"\\s*>(?:[^<]|(?:[^<]|)*",2)+")*|<"+g+")";e.languages.cshtml=e.languages.extend("markup",{});var c={pattern:/\S[\s\S]*/,alias:"language-csharp",inside:e.languages.insertBefore("csharp","string",{html:{pattern:RegExp(o),greedy:!0,inside:e.languages.cshtml}},{csharp:e.languages.extend("csharp",{})})},p={pattern:RegExp("(^|[^@])"+n),lookbehind:!0,greedy:!0,alias:"variable",inside:{keyword:/^@/,csharp:c}};e.languages.cshtml.tag.pattern=RegExp("*\\.{3}(?:[^{}]|)*\\})";function a(t,n){return t=t.replace(//g,(function(){return"(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)"})).replace(//g,(function(){return"(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})"})).replace(//g,(function(){return e})),RegExp(t,n)}e=a(e).source,t.languages.jsx=t.languages.extend("markup",n),t.languages.jsx.tag.pattern=a("+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[^]|[^\\\\\"])*\"|'(?:\\\\[^]|[^\\\\'])*'|[^\\s{'\"/>=]+|))?|))**/?)?>"),t.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,t.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,t.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,t.languages.jsx.tag.inside.comment=n.comment,t.languages.insertBefore("inside","attr-name",{spread:{pattern:a(""),inside:t.languages.jsx}},t.languages.jsx.tag),t.languages.insertBefore("inside","special-attr",{script:{pattern:a("="),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:t.languages.jsx}}},t.languages.jsx.tag);var s=function(t){return t?"string"==typeof t?t:"string"==typeof t.content?t.content:t.content.map(s).join(""):""},g=function(n){for(var e=[],a=0;a0&&e[e.length-1].tagName===s(o.content[0].content[1])&&e.pop():"/>"===o.content[o.content.length-1].content||e.push({tagName:s(o.content[0].content[1]),openedBraces:0}):e.length>0&&"punctuation"===o.type&&"{"===o.content?e[e.length-1].openedBraces++:e.length>0&&e[e.length-1].openedBraces>0&&"punctuation"===o.type&&"}"===o.content?e[e.length-1].openedBraces--:i=!0),(i||"string"==typeof o)&&e.length>0&&0===e[e.length-1].openedBraces){var r=s(o);a0&&("string"==typeof n[a-1]||"plain-text"===n[a-1].type)&&(r=s(n[a-1])+r,n.splice(a-1,1),a--),n[a]=new t.Token("plain-text",r,null,r)}o.content&&"string"!=typeof o.content&&g(o.content)}};t.hooks.add("after-tokenize",(function(t){"jsx"!==t.language&&"tsx"!==t.language||g(t.tokens)}))}(Prism); +!function(e){var a=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",a),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var t=e.languages.tsx.tag;t.pattern=RegExp("(^|[^\\w$]|(?=|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),Prism.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete Prism.languages.reason.function; +!function(a){var e={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},n=/\\(?: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]|.)/,t="(?:[^\\\\-]|"+n.source+")",s=RegExp(t+"-"+t),i={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"};a.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:s,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":e,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:n}},"special-escape":e,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":i}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|:=]=?|!=|\b_\b/,punctuation:/[,;.\[\]{}()]/}; +Prism.languages.renpy={comment:{pattern:/(^|[^\\])#.+/,lookbehind:!0},string:{pattern:/("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\])*\2|(?:^#?(?:(?:[0-9a-fA-F]){3}|[0-9a-fA-F]{6})$)/m,greedy:!0},function:/\b[a-z_]\w*(?=\()/i,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/,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|\$/,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/,boolean:/\b(?:[Ff]alse|[Tt]rue)\b/,number:/(?:\b(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?)|\B\.\d+)(?:e[+-]?\d+)?j?/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:and|at|not|or|with)\b/,punctuation:/[{}[\];(),.:]/},Prism.languages.rpy=Prism.languages.renpy; +Prism.languages.rescript={comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},char:{pattern:/'(?:[^\r\n\\]|\\(?:.|\w+))'/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*|@[a-z.]*|#[A-Za-z]\w*|#\d/,function:{pattern:/[a-zA-Z]\w*(?=\()|(\.)[a-z]\w*/,lookbehind:!0},number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,boolean:/\b(?:false|true)\b/,"attr-value":/[A-Za-z]\w*(?==)/,constant:{pattern:/(\btype\s+)[a-z]\w*/,lookbehind:!0},tag:{pattern:/(<)[a-z]\w*|(?:<\/)[a-z]\w*/,lookbehind:!0,inside:{operator:/<|>|\//}},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/,operator:/\.{3}|:[:=]?|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/,punctuation:/[(){}[\],;.]/},Prism.languages.insertBefore("rescript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"tag"},rest:Prism.languages.rescript}},string:/[\s\S]+/}}}),Prism.languages.res=Prism.languages.rescript; +Prism.languages.rest={table:[{pattern:/(^[\t ]*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1[+|].+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+\+/m,lookbehind:!0,inside:{punctuation:/\||(?:\+[=-]+)+\+/}},{pattern:/(^[\t ]*)=+ [ =]*=(?:(?:\r?\n|\r)\1.+)+(?:\r?\n|\r)\1=+ [ =]*=(?=(?:\r?\n|\r){2}|\s*$)/m,lookbehind:!0,inside:{punctuation:/[=-]+/}}],"substitution-def":{pattern:/(^[\t ]*\.\. )\|(?:[^|\s](?:[^|]*[^|\s])?)\| [^:]+::/m,lookbehind:!0,inside:{substitution:{pattern:/^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/,alias:"attr-value",inside:{punctuation:/^\||\|$/}},directive:{pattern:/( )(?! )[^:]+::/,lookbehind:!0,alias:"function",inside:{punctuation:/::$/}}}},"link-target":[{pattern:/(^[\t ]*\.\. )\[[^\]]+\]/m,lookbehind:!0,alias:"string",inside:{punctuation:/^\[|\]$/}},{pattern:/(^[\t ]*\.\. )_(?:`[^`]+`|(?:[^:\\]|\\.)+):/m,lookbehind:!0,alias:"string",inside:{punctuation:/^_|:$/}}],directive:{pattern:/(^[\t ]*\.\. )[^:]+::/m,lookbehind:!0,alias:"function",inside:{punctuation:/::$/}},comment:{pattern:/(^[\t ]*\.\.)(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m,lookbehind:!0},title:[{pattern:/^(([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+)(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m,inside:{punctuation:/^[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+|[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/,important:/.+/}},{pattern:/(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+(?=\r?\n|\r|$)/,lookbehind:!0,inside:{punctuation:/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/,important:/.+/}}],hr:{pattern:/((?:\r?\n|\r){2})([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2{3,}(?=(?:\r?\n|\r){2})/,lookbehind:!0,alias:"punctuation"},field:{pattern:/(^[\t ]*):[^:\r\n]+:(?= )/m,lookbehind:!0,alias:"attr-name"},"command-line-option":{pattern:/(^[\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,lookbehind:!0,alias:"symbol"},"literal-block":{pattern:/::(?:\r?\n|\r){2}([ \t]+)(?![ \t]).+(?:(?:\r?\n|\r)\1.+)*/,inside:{"literal-block-punctuation":{pattern:/^::/,alias:"punctuation"}}},"quoted-literal-block":{pattern:/::(?:\r?\n|\r){2}([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]).*(?:(?:\r?\n|\r)\1.*)*/,inside:{"literal-block-punctuation":{pattern:/^(?:::|([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\1*)/m,alias:"punctuation"}}},"list-bullet":{pattern:/(^[\t ]*)(?:[*+\-•‣⁃]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d+|[a-z]|[ivxdclm]+)\.)(?= )/im,lookbehind:!0,alias:"punctuation"},"doctest-block":{pattern:/(^[\t ]*)>>> .+(?:(?:\r?\n|\r).+)*/m,lookbehind:!0,inside:{punctuation:/^>>>/}},inline:[{pattern:/(^|[\s\-:\/'"<(\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\*\*?|``?|\|)(?!\s)(?:(?!\2).)*\S\2(?=[\s\-.,:;!?\\\/'")\]}]|$))/m,lookbehind:!0,inside:{bold:{pattern:/(^\*\*).+(?=\*\*$)/,lookbehind:!0},italic:{pattern:/(^\*).+(?=\*$)/,lookbehind:!0},"inline-literal":{pattern:/(^``).+(?=``$)/,lookbehind:!0,alias:"symbol"},role:{pattern:/^:[^:]+:|:[^:]+:$/,alias:"function",inside:{punctuation:/^:|:$/}},"interpreted-text":{pattern:/(^`).+(?=`$)/,lookbehind:!0,alias:"attr-value"},substitution:{pattern:/(^\|).+(?=\|$)/,lookbehind:!0,alias:"attr-value"},punctuation:/\*\*?|``?|\|/}}],link:[{pattern:/\[[^\[\]]+\]_(?=[\s\-.,:;!?\\\/'")\]}]|$)/,alias:"string",inside:{punctuation:/^\[|\]_$/}},{pattern:/(?:\b[a-z\d]+(?:[_.:+][a-z\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\s\-.,:;!?\\\/'")\]}]|$)/i,alias:"string",inside:{punctuation:/^_?`|`$|`?_?_$/}}],punctuation:{pattern:/(^[\t ]*)(?:\|(?= |$)|(?:---?|—|\.\.|__)(?= )|\.\.$)/m,lookbehind:!0}}; +Prism.languages.rip={comment:{pattern:/#.*/,greedy:!0},char:{pattern:/\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},regex:{pattern:/(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},keyword:/(?:=>|->)|\b(?:case|catch|class|else|exit|finally|if|raise|return|switch|try)\b/,builtin:/@|\bSystem\b/,boolean:/\b(?:false|true)\b/,date:/\b\d{4}-\d{2}-\d{2}\b/,time:/\b\d{2}:\d{2}:\d{2}\b/,datetime:/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/,symbol:/:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/,number:/[+-]?\b(?:\d+\.\d+|\d+)\b/,punctuation:/(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/,reference:/[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/}; +Prism.languages.roboconf={comment:/#.*/,keyword:{pattern:/(^|\s)(?:(?:external|import)\b|(?:facet|instance of)(?=[ \t]+[\w-]+[ \t]*\{))/,lookbehind:!0},component:{pattern:/[\w-]+(?=[ \t]*\{)/,alias:"variable"},property:/[\w.-]+(?=[ \t]*:)/,value:{pattern:/(=[ \t]*(?![ \t]))[^,;]+/,lookbehind:!0,alias:"attr-value"},optional:{pattern:/\(optional\)/,alias:"builtin"},wildcard:{pattern:/(\.)\*/,lookbehind:!0,alias:"operator"},punctuation:/[{},.;:=]/}; +!function(t){var n={pattern:/(^[ \t]*| {2}|\t)#.*/m,lookbehind:!0,greedy:!0},e={pattern:/((?:^|[^\\])(?:\\{2})*)[$@&%]\{(?:[^{}\r\n]|\{[^{}\r\n]*\})*\}/,lookbehind:!0,inside:{punctuation:/^[$@&%]\{|\}$/}};function a(t,a){var r={"section-header":{pattern:/^ ?\*{3}.+?\*{3}/,alias:"keyword"}};for(var o in a)r[o]=a[o];return r.tag={pattern:/([\r\n](?: {2}|\t)[ \t]*)\[[-\w]+\]/,lookbehind:!0,inside:{punctuation:/\[|\]/}},r.variable=e,r.comment=n,{pattern:RegExp("^ ?\\*{3}[ \t]*[ \t]*\\*{3}(?:.|[\r\n](?!\\*{3}))*".replace(//g,(function(){return t})),"im"),alias:"section",inside:r}}var r={pattern:/(\[Documentation\](?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/,lookbehind:!0,alias:"string"},o={pattern:/([\r\n] ?)(?!#)(?:\S(?:[ \t]\S)*)+/,lookbehind:!0,alias:"function",inside:{variable:e}},i={pattern:/([\r\n](?: {2}|\t)[ \t]*)(?!\[|\.{3}|#)(?:\S(?:[ \t]\S)*)+/,lookbehind:!0,inside:{variable:e}};t.languages.robotframework={settings:a("Settings",{documentation:{pattern:/([\r\n] ?Documentation(?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/,lookbehind:!0,alias:"string"},property:{pattern:/([\r\n] ?)(?!\.{3}|#)(?:\S(?:[ \t]\S)*)+/,lookbehind:!0}}),variables:a("Variables"),"test-cases":a("Test Cases",{"test-name":o,documentation:r,property:i}),keywords:a("Keywords",{"keyword-name":o,documentation:r,property:i}),tasks:a("Tasks",{"task-name":o,documentation:r,property:i}),comment:n},t.languages.robot=t.languages.robotframework}(Prism); +!function(e){for(var a="/\\*(?:[^*/]|\\*(?!/)|/(?!\\*)|)*\\*/",t=0;t<2;t++)a=a.replace(//g,(function(){return a}));a=a.replace(//g,(function(){return"[^\\s\\S]"})),e.languages.rust={comment:[{pattern:RegExp("(^|[^\\\\])"+a),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\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/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},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/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(Prism); +!function(e){var t="(?:\"(?:\"\"|[^\"])*\"(?!\")|'(?:''|[^'])*'(?!'))",a=/\b(?:\d[\da-f]*x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,n={pattern:RegExp(t+"[bx]"),alias:"number"},i={pattern:/&[a-z_]\w*/i},r={pattern:/((?:^|\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,lookbehind:!0,alias:"keyword"},s={pattern:/(^|\s)(?:proc\s+\w+|data(?!=)|quit|run)\b/i,alias:"keyword",lookbehind:!0},o=[/\/\*[\s\S]*?\*\//,{pattern:/(^[ \t]*|;\s*)\*[^;]*;/m,lookbehind:!0}],l={pattern:RegExp(t),greedy:!0},c=/[$%@.(){}\[\];,\\]/,d={pattern:/%?\b\w+(?=\()/,alias:"keyword"},p={function:d,"arg-value":{pattern:/(=\s*)[A-Z\.]+/i,lookbehind:!0},operator:/=/,"macro-variable":i,arg:{pattern:/[A-Z]+/i,alias:"keyword"},number:a,"numeric-constant":n,punctuation:c,string:l},u={pattern:/\b(?:format|put)\b=?[\w'$.]+/i,inside:{keyword:/^(?:format|put)(?==)/i,equals:/=/,format:{pattern:/(?:\w|\$\d)+\.\d?/,alias:"number"}}},m={pattern:/\b(?:format|put)\s+[\w']+(?:\s+[$.\w]+)+(?=;)/i,inside:{keyword:/^(?:format|put)/i,format:{pattern:/[\w$]+\.\d?/,alias:"number"}}},b={pattern:/((?:^|\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,lookbehind:!0,alias:"keyword"},g={pattern:/(^|\s)(?:submit(?:\s+(?:load|norun|parseonly))?|endsubmit)\b/i,lookbehind:!0,alias:"keyword"},k="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",y={pattern:RegExp("(^|\\s)(?:action\\s+)?(?:)\\.[a-z]+\\b[^;]+".replace(//g,(function(){return k})),"i"),lookbehind:!0,inside:{keyword:RegExp("(?:)\\.[a-z]+\\b".replace(//g,(function(){return k})),"i"),action:{pattern:/(?:action)/i,alias:"keyword"},comment:o,function:d,"arg-value":p["arg-value"],operator:p.operator,argument:p.arg,number:a,"numeric-constant":n,punctuation:c,string:l}},S={pattern:/((?:^|\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,lookbehind:!0};e.languages.sas={datalines:{pattern:/^([ \t]*)(?:cards|(?:data)?lines);[\s\S]+?^[ \t]*;/im,lookbehind:!0,alias:"string",inside:{keyword:{pattern:/^(?:cards|(?:data)?lines)/i},punctuation:/;/}},"proc-sql":{pattern:/(^proc\s+(?:fed)?sql(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,lookbehind:!0,inside:{sql:{pattern:RegExp("^[ \t]*(?:select|alter\\s+table|(?:create|describe|drop)\\s+(?:index|table(?:\\s+constraints)?|view)|create\\s+unique\\s+index|insert\\s+into|update)(?:|[^;\"'])+;".replace(//g,(function(){return t})),"im"),alias:"language-sql",inside:e.languages.sql},"global-statements":b,"sql-statements":{pattern:/(^|\s)(?:disconnect\s+from|begin|commit|exec(?:ute)?|reset|rollback|validate)\b/i,lookbehind:!0,alias:"keyword"},number:a,"numeric-constant":n,punctuation:c,string:l}},"proc-groovy":{pattern:/(^proc\s+groovy(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,lookbehind:!0,inside:{comment:o,groovy:{pattern:RegExp("(^[ \t]*submit(?:\\s+(?:load|norun|parseonly))?)(?:|[^\"'])+?(?=endsubmit;)".replace(//g,(function(){return t})),"im"),lookbehind:!0,alias:"language-groovy",inside:e.languages.groovy},keyword:S,"submit-statement":g,"global-statements":b,number:a,"numeric-constant":n,punctuation:c,string:l}},"proc-lua":{pattern:/(^proc\s+lua(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,lookbehind:!0,inside:{comment:o,lua:{pattern:RegExp("(^[ \t]*submit(?:\\s+(?:load|norun|parseonly))?)(?:|[^\"'])+?(?=endsubmit;)".replace(//g,(function(){return t})),"im"),lookbehind:!0,alias:"language-lua",inside:e.languages.lua},keyword:S,"submit-statement":g,"global-statements":b,number:a,"numeric-constant":n,punctuation:c,string:l}},"proc-cas":{pattern:/(^proc\s+cas(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|data);|(?![\s\S]))/im,lookbehind:!0,inside:{comment:o,"statement-var":{pattern:/((?:^|\s)=?)saveresult\s[^;]+/im,lookbehind:!0,inside:{statement:{pattern:/^saveresult\s+\S+/i,inside:{keyword:/^(?:saveresult)/i}},rest:p}},"cas-actions":y,statement:{pattern:/((?:^|\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im,lookbehind:!0,inside:p},step:s,keyword:S,function:d,format:u,altformat:m,"global-statements":b,number:a,"numeric-constant":n,punctuation:c,string:l}},"proc-args":{pattern:RegExp("(^proc\\s+\\w+\\s+)(?!\\s)(?:[^;\"']|)+;".replace(//g,(function(){return t})),"im"),lookbehind:!0,inside:p},"macro-keyword":r,"macro-variable":i,"macro-string-functions":{pattern:/((?:^|\s|=))%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)\(.*?(?:[^%]\))/i,lookbehind:!0,inside:{function:{pattern:/%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)/i,alias:"keyword"},"macro-keyword":r,"macro-variable":i,"escaped-char":{pattern:/%['"()<>=¬^~;,#]/},punctuation:c}},"macro-declaration":{pattern:/^%macro[^;]+(?=;)/im,inside:{keyword:/%macro/i}},"macro-end":{pattern:/^%mend[^;]+(?=;)/im,inside:{keyword:/%mend/i}},macro:{pattern:/%_\w+(?=\()/,alias:"keyword"},input:{pattern:/\binput\s[-\w\s/*.$&]+;/i,inside:{input:{alias:"keyword",pattern:/^input/i},comment:o,number:a,"numeric-constant":n}},"options-args":{pattern:/(^options)[-'"|/\\<>*+=:()\w\s]*(?=;)/im,lookbehind:!0,inside:p},"cas-actions":y,comment:o,function:d,format:u,altformat:m,"numeric-constant":n,datetime:{pattern:RegExp(t+"(?:dt?|t)"),alias:"number"},string:l,step:s,keyword:S,"operator-keyword":{pattern:/\b(?:eq|ge|gt|in|le|lt|ne|not)\b/i,alias:"operator"},number:a,operator:/\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?/,punctuation:c}}(Prism); +!function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var r=/\$[-\w]+|#\{\$[-\w]+\}/,t=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:r,operator:t}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:r,operator:t,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(Prism); +Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss; +Prism.languages.scala=Prism.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},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/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,symbol:/'[^\d\s\\]\w*/}),Prism.languages.insertBefore("scala","triple-quoted-string",{"string-interpolation":{pattern:/\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,greedy:!0,inside:{id:{pattern:/^\w+/,greedy:!0,alias:"function"},escape:{pattern:/\\\$"|\$[$"]/,greedy:!0,alias:"symbol"},interpolation:{pattern:/\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,greedy:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:Prism.languages.scala}}},string:/[\s\S]+/}}}),delete Prism.languages.scala["class-name"],delete Prism.languages.scala.function,delete Prism.languages.scala.constant; +!function(s){var n=['"(?:\\\\[^]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^"\\\\`$])*"',"'[^']*'","\\$'(?:[^'\\\\]|\\\\[^])*'","<<-?\\s*([\"']?)(\\w+)\\1\\s[^]*?[\r\n]\\2"].join("|");s.languages["shell-session"]={command:{pattern:RegExp('^(?:[^\\s@:$#%*!/\\\\]+@[^\r\n@:$#%*!/\\\\]+(?::[^\0-\\x1F$#%*?"<>:;|]+)?|[/~.][^\0-\\x1F$#%*?"<>@:;|]*)?[$#%](?=\\s)'+"(?:[^\\\\\r\n \t'\"<$]|[ \t](?:(?!#)|#.*$)|\\\\(?:[^\r]|\r\n?)|\\$(?!')|<(?!<)|<>)+".replace(/<>/g,(function(){return n})),"m"),greedy:!0,inside:{info:{pattern:/^[^#$%]+/,alias:"punctuation",inside:{user:/^[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+/,punctuation:/:/,path:/[\s\S]+/}},bash:{pattern:/(^[$#%]\s*)\S[\s\S]*/,lookbehind:!0,alias:"language-bash",inside:s.languages.bash},"shell-symbol":{pattern:/^[$#%]/,alias:"important"}}},output:/.(?:.*(?:[\r\n]|.$))*/},s.languages["sh-session"]=s.languages.shellsession=s.languages["shell-session"]}(Prism); +Prism.languages.smali={comment:/#.*/,string:{pattern:/"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\(?:.|u[\da-fA-F]{4}))'/,greedy:!0},"class-name":{pattern:/(^|[^L])L(?:(?:\w+|`[^`\r\n]*`)\/)*(?:[\w$]+|`[^`\r\n]*`)(?=\s*;)/,lookbehind:!0,inside:{"class-name":{pattern:/(^L|\/)(?:[\w$]+|`[^`\r\n]*`)$/,lookbehind:!0},namespace:{pattern:/^(L)(?:(?:\w+|`[^`\r\n]*`)\/)+/,lookbehind:!0,inside:{punctuation:/\//}},builtin:/^L/}},builtin:[{pattern:/([();\[])[BCDFIJSVZ]+/,lookbehind:!0},{pattern:/([\w$>]:)[BCDFIJSVZ]/,lookbehind:!0}],keyword:[{pattern:/(\.end\s+)[\w-]+/,lookbehind:!0},{pattern:/(^|[^\w.-])\.(?!\d)[\w-]+/,lookbehind:!0},{pattern:/(^|[^\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w.-])/,lookbehind:!0}],function:{pattern:/(^|[^\w.-])(?:\w+|<[\w$-]+>)(?=\()/,lookbehind:!0},field:{pattern:/[\w$]+(?=:)/,alias:"variable"},register:{pattern:/(^|[^\w.-])[vp]\d(?![\w.-])/,lookbehind:!0,alias:"variable"},boolean:{pattern:/(^|[^\w.-])(?:false|true)(?![\w.-])/,lookbehind:!0},number:{pattern:/(^|[^/\w.-])-?(?:NAN|INFINITY|0x(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:p[+-]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)[dflst]?(?![\w.-])/i,lookbehind:!0},label:{pattern:/(:)\w+/,lookbehind:!0,alias:"property"},operator:/->|\.\.|[\[=]/,punctuation:/[{}(),;:]/}; +Prism.languages.smalltalk={comment:{pattern:/"(?:""|[^"])*"/,greedy:!0},char:{pattern:/\$./,greedy:!0},string:{pattern:/'(?:''|[^'])*'/,greedy:!0},symbol:/#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,"block-arguments":{pattern:/(\[\s*):[^\[|]*\|/,lookbehind:!0,inside:{variable:/:[\da-z]+/i,punctuation:/\|/}},"temporary-variables":{pattern:/\|[^|]+\|/,inside:{variable:/[\da-z]+/i,punctuation:/\|/}},keyword:/\b(?:new|nil|self|super)\b/,boolean:/\b(?:false|true)\b/,number:[/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,/\b\d+(?:\.\d+)?(?:e-?\d+)?/],operator:/[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,punctuation:/[.;:?\[\](){}]/}; +!function(e){e.languages.smarty={comment:{pattern:/^\{\*[\s\S]*?\*\}/,greedy:!0},"embedded-php":{pattern:/^\{php\}[\s\S]*?\{\/php\}/,greedy:!0,inside:{smarty:{pattern:/^\{php\}|\{\/php\}$/,inside:null},php:{pattern:/[\s\S]+/,alias:"language-php",inside:e.languages.php}}},string:[{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0,inside:{interpolation:{pattern:/\{[^{}]*\}|`[^`]*`/,inside:{"interpolation-punctuation":{pattern:/^[{`]|[`}]$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}},variable:/\$\w+/}},{pattern:/'(?:\\.|[^'\\\r\n])*'/,greedy:!0}],keyword:{pattern:/(^\{\/?)[a-z_]\w*\b(?!\()/i,lookbehind:!0,greedy:!0},delimiter:{pattern:/^\{\/?|\}$/,greedy:!0,alias:"punctuation"},number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,variable:[/\$(?!\d)\w+/,/#(?!\d)\w+#/,{pattern:/(\.|->|\w\s*=)(?!\d)\w+\b(?!\()/,lookbehind:!0},{pattern:/(\[)(?!\d)\w+(?=\])/,lookbehind:!0}],function:{pattern:/(\|\s*)@?[a-z_]\w*|\b[a-z_]\w*(?=\()/i,lookbehind:!0},"attr-name":/\b[a-z_]\w*(?=\s*=)/i,boolean:/\b(?:false|no|off|on|true|yes)\b/,punctuation:/[\[\](){}.,:`]|->/,operator:[/[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/,/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/,/\b(?:and|eq|gt?e|gt|lt?e|lt|mod|neq?|not|or)\b/]},e.languages.smarty["embedded-php"].inside.smarty.inside=e.languages.smarty,e.languages.smarty.string[0].inside.interpolation.inside.expression.inside=e.languages.smarty;var n=/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,t=RegExp("\\{\\*[^]*?\\*\\}|\\{php\\}[^]*?\\{/php\\}|"+"\\{(?:[^{}\"']||\\{(?:[^{}\"']||\\{(?:[^{}\"']|)*\\})*\\})*\\}".replace(//g,(function(){return n.source})),"g");e.hooks.add("before-tokenize",(function(n){var a=!1;e.languages["markup-templating"].buildPlaceholders(n,"smarty",t,(function(e){return"{/literal}"===e&&(a=!1),!a&&("{literal}"===e&&(a=!0),!0)}))})),e.hooks.add("after-tokenize",(function(n){e.languages["markup-templating"].tokenizePlaceholders(n,"smarty")}))}(Prism); +!function(e){var n=/\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;e.languages.sml={comment:/\(\*(?:[^*(]|\*(?!\))|\((?!\*)|\(\*(?:[^*(]|\*(?!\))|\((?!\*))*\*\))*\*\)/,string:{pattern:/#?"(?:[^"\\]|\\.)*"/,greedy:!0},"class-name":[{pattern:RegExp("((?:^|[^:]):\\s*)(?:\\s*(?:(?:\\*|->)\\s*|,\\s*(?:(?=)|(?!)\\s+)))*".replace(//g,(function(){return"\\s*(?:[*,]|->)"})).replace(//g,(function(){return"(?:'[\\w']*||\\((?:[^()]|\\([^()]*\\))*\\)|\\{(?:[^{}]|\\{[^{}]*\\})*\\})(?:\\s+)*"})).replace(//g,(function(){return"(?!)[a-z\\d_][\\w'.]*"})).replace(//g,(function(){return n.source})),"i"),lookbehind:!0,greedy:!0,inside:null},{pattern:/((?:^|[^\w'])(?:datatype|exception|functor|signature|structure|type)\s+)[a-z_][\w'.]*/i,lookbehind:!0}],function:{pattern:/((?:^|[^\w'])fun\s+)[a-z_][\w'.]*/i,lookbehind:!0},keyword:n,variable:{pattern:/(^|[^\w'])'[\w']*/,lookbehind:!0},number:/~?\b(?:\d+(?:\.\d+)?(?:e~?\d+)?|0x[\da-f]+)\b/i,word:{pattern:/\b0w(?:\d+|x[\da-f]+)\b/i,alias:"constant"},boolean:/\b(?:false|true)\b/i,operator:/\.\.\.|:[>=:]|=>?|->|[<>]=?|[!+\-*/^#|@~]/,punctuation:/[(){}\[\].:,;]/},e.languages.sml["class-name"][0].inside=e.languages.sml,e.languages.smlnj=e.languages.sml}(Prism); +Prism.languages.solidity=Prism.languages.extend("clike",{"class-name":{pattern:/(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/,lookbehind:!0},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/,operator:/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/}),Prism.languages.insertBefore("solidity","keyword",{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/}),Prism.languages.insertBefore("solidity","number",{version:{pattern:/([<>]=?|\^)\d+\.\d+\.\d+\b/,lookbehind:!0,alias:"number"}}),Prism.languages.sol=Prism.languages.solidity; +!function(n){var t={pattern:/\{[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}\}/i,alias:"constant",inside:{punctuation:/[{}]/}};n.languages["solution-file"]={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0,inside:{guid:t}},object:{pattern:/^([ \t]*)(?:([A-Z]\w*)\b(?=.*(?:\r\n?|\n)(?:\1[ \t].*(?:\r\n?|\n))*\1End\2(?=[ \t]*$))|End[A-Z]\w*(?=[ \t]*$))/m,lookbehind:!0,greedy:!0,alias:"keyword"},property:{pattern:/^([ \t]*)(?!\s)[^\r\n"#=()]*[^\s"#=()](?=\s*=)/m,lookbehind:!0,inside:{guid:t}},guid:t,number:/\b\d+(?:\.\d+)*\b/,boolean:/\b(?:FALSE|TRUE)\b/,operator:/=/,punctuation:/[(),]/},n.languages.sln=n.languages["solution-file"]}(Prism); +!function(e){var a=/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,t=/\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-F]+\b/;e.languages.soy={comment:[/\/\*[\s\S]*?\*\//,{pattern:/(\s)\/\/.*/,lookbehind:!0,greedy:!0}],"command-arg":{pattern:/(\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+)\.?[\w.]+/,lookbehind:!0,alias:"string",inside:{punctuation:/\./}},parameter:{pattern:/(\{+\/?\s*@?param\??\s+)\.?[\w.]+/,lookbehind:!0,alias:"variable"},keyword:[{pattern:/(\{+\/?[^\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)/,lookbehind:!0},/\b(?:any|as|attributes|bool|css|float|html|in|int|js|list|map|null|number|string|uri)\b/],delimiter:{pattern:/^\{+\/?|\/?\}+$/,alias:"punctuation"},property:/\w+(?==)/,variable:{pattern:/\$[^\W\d]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/,inside:{string:{pattern:a,greedy:!0},number:t,punctuation:/[\[\].?]/}},string:{pattern:a,greedy:!0},function:[/\w+(?=\()/,{pattern:/(\|[^\S\r\n]*)\w+/,lookbehind:!0}],boolean:/\b(?:false|true)\b/,number:t,operator:/\?:?|<=?|>=?|==?|!=|[+*/%-]|\b(?:and|not|or)\b/,punctuation:/[{}()\[\]|.,:]/},e.hooks.add("before-tokenize",(function(a){var t=!1;e.languages["markup-templating"].buildPlaceholders(a,"soy",/\{\{.+?\}\}|\{.+?\}|\s\/\/.*|\/\*[\s\S]*?\*\//g,(function(e){return"{/literal}"===e&&(t=!1),!t&&("{literal}"===e&&(t=!0),!0)}))})),e.hooks.add("after-tokenize",(function(a){e.languages["markup-templating"].tokenizePlaceholders(a,"soy")}))}(Prism); +Prism.languages.turtle={comment:{pattern:/#.*/,greedy:!0},"multiline-string":{pattern:/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/,greedy:!0,alias:"string",inside:{comment:/#.*/}},string:{pattern:/"(?:[^\\"\r\n]|\\.)*"|'(?:[^\\'\r\n]|\\.)*'/,greedy:!0},url:{pattern:/<(?:[^\x00-\x20<>"{}|^`\\]|\\(?:u[\da-fA-F]{4}|U[\da-fA-F]{8}))*>/,greedy:!0,inside:{punctuation:/[<>]/}},function:{pattern:/(?:(?![-.\d\xB7])[-.\w\xB7\xC0-\uFFFD]+)?:(?:(?![-.])(?:[-.:\w\xC0-\uFFFD]|%[\da-f]{2}|\\.)+)?/i,inside:{"local-name":{pattern:/([^:]*:)[\s\S]+/,lookbehind:!0},prefix:{pattern:/[\s\S]+/,inside:{punctuation:/:/}}}},number:/[+-]?\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,punctuation:/[{}.,;()[\]]|\^\^/,boolean:/\b(?:false|true)\b/,keyword:[/(?:\ba|@prefix|@base)\b|=/,/\b(?:base|graph|prefix)\b/i],tag:{pattern:/@[a-z]+(?:-[a-z\d]+)*/i,inside:{punctuation:/@/}}},Prism.languages.trig=Prism.languages.turtle; +Prism.languages.sparql=Prism.languages.extend("turtle",{boolean:/\b(?:false|true)\b/i,variable:{pattern:/[?$]\w+/,greedy:!0}}),Prism.languages.insertBefore("sparql","punctuation",{keyword:[/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i,/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|isBLANK|isIRI|isLITERAL|isNUMERIC|isURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|REGEX|REPLACE|ROUND|sameTerm|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i,/\b(?:BASE|GRAPH|PREFIX)\b/i]}),Prism.languages.rq=Prism.languages.sparql; +Prism.languages["splunk-spl"]={comment:/`comment\("(?:\\.|[^\\"])*"\)`/,string:{pattern:/"(?:\\.|[^\\"])*"/,greedy:!0},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,"operator-word":{pattern:/\b(?:and|as|by|not|or|xor)\b/i,alias:"operator"},function:/\b\w+(?=\s*\()/,property:/\b\w+(?=\s*=(?!=))/,date:{pattern:/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/,alias:"number"},number:/\b\d+(?:\.\d+)?\b/,boolean:/\b(?:f|false|t|true)\b/i,operator:/[<>=]=?|[-+*/%|]/,punctuation:/[()[\],]/}; +Prism.languages.sqf=Prism.languages.extend("clike",{string:{pattern:/"(?:(?:"")?[^"])*"(?!")|'(?:[^'])*'/,greedy:!0},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,boolean:/\b(?:false|true)\b/i,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,number:/(?:\$|\b0x)[\da-f]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:e[+-]?\d+)?\b/i,operator:/##|>>|&&|\|\||[!=<>]=?|[-+*/%#^]|\b(?:and|mod|not|or)\b/i,"magic-variable":{pattern:/\b(?:this|thisList|thisTrigger|_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_thisEventHandler|_thisFSM|_thisScript|_x)\b/i,alias:"keyword"},constant:/\bDIK(?:_[a-z\d]+)+\b/i}),Prism.languages.insertBefore("sqf","string",{macro:{pattern:/(^[ \t]*)#[a-z](?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{directive:{pattern:/#[a-z]+\b/i,alias:"keyword"},comment:Prism.languages.sqf.comment}}}),delete Prism.languages.sqf["class-name"]; +Prism.languages.squirrel=Prism.languages.extend("clike",{comment:[Prism.languages.clike.comment[0],{pattern:/(^|[^\\:])(?:\/\/|#).*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^\\"'@])(?:@"(?:[^"]|"")*"(?!")|"(?:[^\\\r\n"]|\\.)*")/,lookbehind:!0,greedy:!0},"class-name":{pattern:/(\b(?:class|enum|extends|instanceof)\s+)\w+(?:\.\w+)*/,lookbehind:!0,inside:{punctuation:/\./}},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/,number:/\b(?:0x[0-9a-fA-F]+|\d+(?:\.(?:\d+|[eE][+-]?\d+))?)\b/,operator:/\+\+|--|<=>|<[-<]|>>>?|&&?|\|\|?|[-+*/%!=<>]=?|[~^]|::?/,punctuation:/[(){}\[\],;.]/}),Prism.languages.insertBefore("squirrel","string",{char:{pattern:/(^|[^\\"'])'(?:[^\\']|\\(?:[xuU][0-9a-fA-F]{0,8}|[\s\S]))'/,lookbehind:!0,greedy:!0}}),Prism.languages.insertBefore("squirrel","operator",{"attribute-punctuation":{pattern:/<\/|\/>/,alias:"important"},lambda:{pattern:/@(?=\()/,alias:"operator"}}); +!function(e){var r=/\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/;e.languages.stan={comment:/\/\/.*|\/\*[\s\S]*?\*\/|#(?!include).*/,string:{pattern:/"[\x20\x21\x23-\x5B\x5D-\x7E]*"/,greedy:!0},directive:{pattern:/^([ \t]*)#include\b.*/m,lookbehind:!0,alias:"property"},"function-arg":{pattern:RegExp("("+r.source+"\\s*\\(\\s*)[a-zA-Z]\\w*"),lookbehind:!0,alias:"function"},constraint:{pattern:/(\b(?:int|matrix|real|row_vector|vector)\s*)<[^<>]*>/,lookbehind:!0,inside:{expression:{pattern:/(=\s*)\S(?:\S|\s+(?!\s))*?(?=\s*(?:>$|,\s*\w+\s*=))/,lookbehind:!0,inside:null},property:/\b[a-z]\w*(?=\s*=)/i,operator:/=/,punctuation:/^<|>$|,/}},keyword:[{pattern:/\bdata(?=\s*\{)|\b(?:functions|generated|model|parameters|quantities|transformed)\b/,alias:"program-block"},/\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/,r],function:/\b[a-z]\w*(?=\s*\()/i,number:/(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:E[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,boolean:/\b(?:false|true)\b/,operator:/<-|\.[*/]=?|\|\|?|&&|[!=<>+\-*/]=?|['^%~?:]/,punctuation:/[()\[\]{},;]/},e.languages.stan.constraint.inside.expression.inside=e.languages.stan}(Prism); +Prism.languages.stata={comment:[{pattern:/(^[ \t]*)\*.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|\s)\/\/.*|\/\*[\s\S]*?\*\//,lookbehind:!0,greedy:!0}],"string-literal":{pattern:/"[^"\r\n]*"|[‘`']".*?"[’`']/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^{}]*\}|[‘`']\w[^’`'\r\n]*[’`']/,inside:{punctuation:/^\$\{|\}$/,expression:{pattern:/[\s\S]+/,inside:null}}},string:/[\s\S]+/}},mata:{pattern:/(^[ \t]*mata[ \t]*:)[\s\S]+?(?=^end\b)/m,lookbehind:!0,greedy:!0,alias:"language-mata",inside:Prism.languages.mata},java:{pattern:/(^[ \t]*java[ \t]*:)[\s\S]+?(?=^end\b)/m,lookbehind:!0,greedy:!0,alias:"language-java",inside:Prism.languages.java},python:{pattern:/(^[ \t]*python[ \t]*:)[\s\S]+?(?=^end\b)/m,lookbehind:!0,greedy:!0,alias:"language-python",inside:Prism.languages.python},command:{pattern:/(^[ \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,lookbehind:!0,greedy:!0,alias:"keyword"},variable:/\$\w+|[‘`']\w[^’`'\r\n]*[’`']/,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/,boolean:/\b(?:off|on)\b/,number:/\b\d+(?:\.\d+)?\b|\B\.\d+/,function:/\b[a-z_]\w*(?=\()/i,operator:/\+\+|--|##?|[<>!=~]=?|[+\-*^&|/]/,punctuation:/[(){}[\],:]/},Prism.languages.stata["string-literal"].inside.interpolation.inside.expression.inside=Prism.languages.stata; +Prism.languages.iecst={comment:[{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\(\*[\s\S]*?(?:\*\)|$)|\{[\s\S]*?(?:\}|$))/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:[/\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,/\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/],"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/,address:{pattern:/%[IQM][XBWDL][\d.]*|%[IQ][\d.]*/,alias:"symbol"},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,boolean:/\b(?:FALSE|NULL|TRUE)\b/,operator:/S?R?:?=>?|&&?|\*\*?|<[=>]?|>=?|[-:^/+#]|\b(?:AND|EQ|EXPT|GE|GT|LE|LT|MOD|NE|NOT|OR|XOR)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,punctuation:/[()[\].,;]/}; +!function(e){var n={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},r={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},t={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\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,{pattern:/\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,inside:{unit:n,number:r,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:n,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:r,punctuation:/[{}()\[\];:,]/};t.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:t}},t.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:t}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:t}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:t}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:t}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:t.interpolation}},rest:t}},selector:{pattern:/(^[ \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,lookbehind:!0,inside:{interpolation:t.interpolation,comment:t.comment,punctuation:/[{},]/}},func:t.func,string:t.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:t.interpolation,punctuation:/[{}()\[\];:.]/}}(Prism); +Prism.languages.supercollider={comment:{pattern:/\/\/.*|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\//,greedy:!0},string:{pattern:/(^|[^\\])"(?:[^"\\]|\\[\s\S])*"/,lookbehind:!0,greedy:!0},char:{pattern:/\$(?:[^\\\r\n]|\\.)/,greedy:!0},symbol:{pattern:/(^|[^\\])'(?:[^'\\]|\\[\s\S])*'|\\\w+/,lookbehind:!0,greedy:!0},keyword:/\b(?:_|arg|classvar|const|nil|var|while)\b/,boolean:/\b(?:false|true)\b/,label:{pattern:/\b[a-z_]\w*(?=\s*:)/,alias:"property"},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/,"class-name":/\b[A-Z]\w*\b/,operator:/\.{2,3}|#(?![[{])|&&|[!=]==?|\+>>|\+{1,3}|-[->]|=>|>>|\?\?|@\|?@|\|(?:@|[!=]=)?\||!\?|<[!=>]|\*{1,2}|<{2,3}\*?|[-!%&/<>?@|=`]/,punctuation:/[{}()[\].:,;]|#[[{]/},Prism.languages.sclang=Prism.languages.supercollider; +Prism.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp('(^|[^"#])(?:"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\r\n|[^(])|[^\\\\\r\n"])*"|"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*""")(?!["#])'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp('(^|[^"#])(#+)(?:"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\r\n|[^#])|[^\\\\\r\n])*?"|"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?""")\\2'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp("#(?:(?:elseif|if)\\b(?:[ \t]*(?:![ \t]*)?(?:\\b\\w+\\b(?:[ \t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \t]*(?:&&|\\|\\|))?)+|(?:else|endif)\\b)"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},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/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},Prism.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=Prism.languages.swift})); +!function(e){var t={pattern:/^[;#].*/m,greedy:!0},n='"(?:[^\r\n"\\\\]|\\\\(?:[^\r]|\r\n?))*"(?!\\S)';e.languages.systemd={comment:t,section:{pattern:/^\[[^\n\r\[\]]*\](?=[ \t]*$)/m,greedy:!0,inside:{punctuation:/^\[|\]$/,"section-name":{pattern:/[\s\S]+/,alias:"selector"}}},key:{pattern:/^[^\s=]+(?=[ \t]*=)/m,greedy:!0,alias:"attr-name"},value:{pattern:RegExp("(=[ \t]*(?!\\s))(?:"+n+'|(?=[^"\r\n]))(?:[^\\s\\\\]|[ \t]+(?:(?![ \t"])|'+n+")|\\\\[\r\n]+(?:[#;].*[\r\n]+)*(?![#;]))*"),lookbehind:!0,greedy:!0,alias:"attr-value",inside:{comment:t,quoted:{pattern:RegExp("(^|\\s)"+n),lookbehind:!0,greedy:!0},punctuation:/\\$/m,boolean:{pattern:/^(?:false|no|off|on|true|yes)$/,greedy:!0}}},punctuation:/=/}}(Prism); +!function(e){function t(e,t,a){return{pattern:RegExp("<#"+e+"[\\s\\S]*?#>"),alias:"block",inside:{delimiter:{pattern:RegExp("^<#"+e+"|#>$"),alias:"important"},content:{pattern:/[\s\S]+/,inside:t,alias:a}}}}e.languages["t4-templating"]=Object.defineProperty({},"createT4",{value:function(a){var n=e.languages[a],i="language-"+a;return{block:{pattern:/<#[\s\S]+?#>/,inside:{directive:t("@",{"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/,inside:{punctuation:/^=|^["']|["']$/}},keyword:/\b\w+(?=\s)/,"attr-name":/\b\w+/}),expression:t("=",n,i),"class-feature":t("\\+",n,i),standard:t("",n,i)}}}}})}(Prism); +Prism.languages.t4=Prism.languages["t4-cs"]=Prism.languages["t4-templating"].createT4("csharp"); +Prism.languages.vbnet=Prism.languages.extend("basic",{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},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,punctuation:/[,;:(){}]/}); +Prism.languages["t4-vb"]=Prism.languages["t4-templating"].createT4("vbnet"); +!function(e){var n=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,t="(?:"+r.source+"(?:[ \t]+"+n.source+")?|"+n.source+"(?:[ \t]+"+r.source+")?)",a="(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*".replace(//g,(function(){return"[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]"})),d="\"(?:[^\"\\\\\r\n]|\\\\.)*\"|'(?:[^'\\\\\r\n]|\\\\.)*'";function o(e,n){n=(n||"").replace(/m/g,"")+"m";var r="([:\\-,[{]\\s*(?:\\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\\]|\\}|(?:[\r\n]\\s*)?#))".replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return e}));return RegExp(r,n)}e.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)".replace(/<>/g,(function(){return t}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp("((?:^|[:\\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\\s*:\\s)".replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return"(?:"+a+"|"+d+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:o("false|true","i"),lookbehind:!0,alias:"important"},null:{pattern:o("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:o(d),lookbehind:!0,greedy:!0},number:{pattern:o("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism); +Prism.languages.tap={fail:/not ok[^#{\n\r]*/,pass:/ok[^#{\n\r]*/,pragma:/pragma [+-][a-z]+/,bailout:/bail out!.*/i,version:/TAP version \d+/i,plan:/\b\d+\.\.\d+(?: +#.*)?/,subtest:{pattern:/# Subtest(?:: .*)?/,greedy:!0},punctuation:/[{}]/,directive:/#.*/,yamlish:{pattern:/(^[ \t]*)---[\s\S]*?[\r\n][ \t]*\.\.\.$/m,lookbehind:!0,inside:Prism.languages.yaml,alias:"language-yaml"}}; +Prism.languages.tcl={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:{pattern:/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"/,greedy:!0},variable:[{pattern:/(\$)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/,lookbehind:!0},{pattern:/(\$)\{[^}]+\}/,lookbehind:!0},{pattern:/(^[\t ]*set[ \t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/m,lookbehind:!0}],function:{pattern:/(^[\t ]*proc[ \t]+)\S+/m,lookbehind:!0},builtin:[{pattern:/(^[\t ]*)(?:break|class|continue|error|eval|exit|for|foreach|if|proc|return|switch|while)\b/m,lookbehind:!0},/\b(?:else|elseif)\b/],scope:{pattern:/(^[\t ]*)(?:global|upvar|variable)\b/m,lookbehind:!0,alias:"constant"},keyword:{pattern:/(^[\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,lookbehind:!0},operator:/!=?|\*\*?|==|&&?|\|\|?|<[=<]?|>[=>]?|[-+~\/%?^]|\b(?:eq|in|ne|ni)\b/,punctuation:/[{}()\[\]]/}; +!function(e){e.languages.tt2=e.languages.extend("clike",{comment:/#.*|\[%#[\s\S]*?%\]/,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/,punctuation:/[[\]{},()]/}),e.languages.insertBefore("tt2","number",{operator:/=[>=]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|not|or)\b/,variable:{pattern:/\b[a-z]\w*(?:\s*\.\s*(?:\d+|\$?[a-z]\w*))*\b/i}}),e.languages.insertBefore("tt2","keyword",{delimiter:{pattern:/^(?:\[%|%%)-?|-?%\]$/,alias:"punctuation"}}),e.languages.insertBefore("tt2","string",{"single-quoted-string":{pattern:/'[^\\']*(?:\\[\s\S][^\\']*)*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"[^\\"]*(?:\\[\s\S][^\\"]*)*"/,greedy:!0,alias:"string",inside:{variable:{pattern:/\$(?:[a-z]\w*(?:\.(?:\d+|\$?[a-z]\w*))*)/i}}}}),delete e.languages.tt2.string,e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"tt2",/\[%[\s\S]+?%\]/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"tt2")}))}(Prism); +!function(n){function e(n,e){return RegExp(n.replace(//g,(function(){return"(?:\\([^|()\n]+\\)|\\[[^\\]\n]+\\]|\\{[^}\n]+\\})"})).replace(//g,(function(){return"(?:\\)|\\((?![^|()\n]+\\)))"})),e||"")}var i={css:{pattern:/\{[^{}]+\}/,inside:{rest:n.languages.css}},"class-id":{pattern:/(\()[^()]+(?=\))/,lookbehind:!0,alias:"attr-value"},lang:{pattern:/(\[)[^\[\]]+(?=\])/,lookbehind:!0,alias:"attr-value"},punctuation:/[\\\/]\d+|\S/},t=n.languages.textile=n.languages.extend("markup",{phrase:{pattern:/(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/,lookbehind:!0,inside:{"block-tag":{pattern:e("^[a-z]\\w*(?:||[<>=])*\\."),inside:{modifier:{pattern:e("(^[a-z]\\w*)(?:||[<>=])+(?=\\.)"),lookbehind:!0,inside:i},tag:/^[a-z]\w*/,punctuation:/\.$/}},list:{pattern:e("^[*#]+*\\s+\\S.*","m"),inside:{modifier:{pattern:e("(^[*#]+)+"),lookbehind:!0,inside:i},punctuation:/^[*#]+/}},table:{pattern:e("^(?:(?:||[<>=^~])+\\.\\s*)?(?:\\|(?:(?:||[<>=^~_]|[\\\\/]\\d+)+\\.|(?!(?:||[<>=^~_]|[\\\\/]\\d+)+\\.))[^|]*)+\\|","m"),inside:{modifier:{pattern:e("(^|\\|(?:\r?\n|\r)?)(?:||[<>=^~_]|[\\\\/]\\d+)+(?=\\.)"),lookbehind:!0,inside:i},punctuation:/\||^\./}},inline:{pattern:e("(^|[^a-zA-Z\\d])(\\*\\*|__|\\?\\?|[*_%@+\\-^~])*.+?\\2(?![a-zA-Z\\d])"),lookbehind:!0,inside:{bold:{pattern:e("(^(\\*\\*?)*).+?(?=\\2)"),lookbehind:!0},italic:{pattern:e("(^(__?)*).+?(?=\\2)"),lookbehind:!0},cite:{pattern:e("(^\\?\\?*).+?(?=\\?\\?)"),lookbehind:!0,alias:"string"},code:{pattern:e("(^@*).+?(?=@)"),lookbehind:!0,alias:"keyword"},inserted:{pattern:e("(^\\+*).+?(?=\\+)"),lookbehind:!0},deleted:{pattern:e("(^-*).+?(?=-)"),lookbehind:!0},span:{pattern:e("(^%*).+?(?=%)"),lookbehind:!0},modifier:{pattern:e("(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])+"),lookbehind:!0,inside:i},punctuation:/[*_%?@+\-^~]+/}},"link-ref":{pattern:/^\[[^\]]+\]\S+$/m,inside:{string:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0},url:{pattern:/(^\])\S+$/,lookbehind:!0},punctuation:/[\[\]]/}},link:{pattern:e('"*[^"]+":.+?(?=[^\\w/]?(?:\\s|$))'),inside:{text:{pattern:e('(^"*)[^"]+(?=")'),lookbehind:!0},modifier:{pattern:e('(^")+'),lookbehind:!0,inside:i},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[":]/}},image:{pattern:e("!(?:||[<>=])*(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?"),inside:{source:{pattern:e("(^!(?:||[<>=])*)(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?(?=!)"),lookbehind:!0,alias:"url"},modifier:{pattern:e("(^!)(?:||[<>=])+"),lookbehind:!0,inside:i},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[!:]/}},footnote:{pattern:/\b\[\d+\]/,alias:"comment",inside:{punctuation:/\[|\]/}},acronym:{pattern:/\b[A-Z\d]+\([^)]+\)/,inside:{comment:{pattern:/(\()[^()]+(?=\))/,lookbehind:!0},punctuation:/[()]/}},mark:{pattern:/\b\((?:C|R|TM)\)/,alias:"comment",inside:{punctuation:/[()]/}}}}}),a=t.phrase.inside,o={inline:a.inline,link:a.link,image:a.image,footnote:a.footnote,acronym:a.acronym,mark:a.mark};t.tag.pattern=/<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i;var r=a.inline.inside;r.bold.inside=o,r.italic.inside=o,r.inserted.inside=o,r.deleted.inside=o,r.span.inside=o;var d=a.table.inside;d.inline=o.inline,d.link=o.link,d.image=o.image,d.footnote=o.footnote,d.acronym=o.acronym,d.mark=o.mark}(Prism); +!function(e){function n(e){return e.replace(/__/g,(function(){return"(?:[\\w-]+|'[^'\n\r]*'|\"(?:\\\\.|[^\\\\\"\r\n])*\")"}))}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(n("(^[\t ]*\\[\\s*(?:\\[\\s*)?)__(?:\\s*\\.\\s*__)*(?=\\s*\\])"),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(n("(^[\t ]*|[{,]\\s*)__(?:\\s*\\.\\s*__)*(?=\\s*=)"),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],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/,boolean:/\b(?:false|true)\b/,punctuation:/[.,=[\]{}]/}}(Prism); +!function(e){e.languages.tremor={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},"interpolated-string":null,extractor:{pattern:/\b[a-z_]\w*\|(?:[^\r\n\\|]|\\(?:\r\n|[\s\S]))*\|/i,greedy:!0,inside:{regex:{pattern:/(^re)\|[\s\S]+/,lookbehind:!0},function:/^\w+/,value:/\|[\s\S]+/}},identifier:{pattern:/`[^`]*`/,greedy:!0},function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())\b/,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/,boolean:/\b(?:false|null|true)\b/i,number:/\b(?:0b[01_]*|0x[0-9a-fA-F_]*|\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee][+-]?[\d_]+)?)\b/,"pattern-punctuation":{pattern:/%(?=[({[])/,alias:"punctuation"},operator:/[-+*\/%~!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?>?=?|(?:absent|and|not|or|present|xor)\b/,punctuation:/::|[;\[\]()\{\},.:]/};var n='#\\{(?:[^"{}]|\\{[^{}]*\\}|"(?:[^"\\\\\r\n]|\\\\(?:\r\n|[^]))*")*\\}';e.languages.tremor["interpolated-string"]={pattern:RegExp('(^|[^\\\\])(?:"""(?:[^"\\\\#]|\\\\[^]|"(?!"")|#(?!\\{)|'+n+')*"""|"(?:[^"\\\\\r\n#]|\\\\(?:\r\n|[^])|#(?!\\{)|'+n+')*")'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:RegExp(n),inside:{punctuation:/^#\{|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.tremor}}},string:/[\s\S]+/}},e.languages.troy=e.languages.tremor,e.languages.trickle=e.languages.tremor}(Prism); +Prism.languages.twig={comment:/^\{#[\s\S]*?#\}$/,"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/},Prism.hooks.add("before-tokenize",(function(e){"twig"===e.language&&Prism.languages["markup-templating"].buildPlaceholders(e,"twig",/\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g)})),Prism.hooks.add("after-tokenize",(function(e){Prism.languages["markup-templating"].tokenizePlaceholders(e,"twig")})); +!function(E){var n=/\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/;E.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern://,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:n}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:!0,inside:{function:/\{\$.*\}/,keyword:n,number:/^\d+$/,punctuation:/[,|:]/}},keyword:n,number:{pattern:/\b\d+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},E.languages.tsconfig=E.languages.typoscript}(Prism); +Prism.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:!0,greedy:!0,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:!0},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/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,punctuation:/[()[\]{};,.]/},Prism.languages.uc=Prism.languages.uscript=Prism.languages.unrealscript; +Prism.languages.uorazor={"comment-hash":{pattern:/#.*/,alias:"comment",greedy:!0},"comment-slash":{pattern:/\/\/.*/,alias:"comment",greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/},greedy:!0},"source-layers":{pattern:/\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,alias:"function"},"source-commands":{pattern:/\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/,alias:"function"},"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},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/,keyword:/\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/}; +Prism.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:!0},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp("^//(?:[\\w\\-.~!$&'()*+,;=%:]*@)?(?:\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\.[\\w\\-.~!$&'()*+,;=]+)\\]|[\\w\\-.~!$&'()*+,;=%]*)(?::\\d*)?","m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}},Prism.languages.url=Prism.languages.uri; +!function(e){var n={pattern:/[\s\S]+/,inside:null};e.languages.v=e.languages.extend("clike",{string:{pattern:/r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,alias:"quoted-string",greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,lookbehind:!0,inside:{"interpolation-variable":{pattern:/^\$\w[\s\S]*$/,alias:"variable"},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},"interpolation-expression":n}}}},"class-name":{pattern:/(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,lookbehind:!0},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/,number:/\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,operator:/~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,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.inside=e.languages.v,e.languages.insertBefore("v","string",{char:{pattern:/`(?:\\`|\\?[^`]{1,2})`/,alias:"rune"}}),e.languages.insertBefore("v","operator",{attribute:{pattern:/(^[\t ]*)\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\]/m,lookbehind:!0,alias:"annotation",inside:{punctuation:/[\[\]]/,keyword:/\w+/}},generic:{pattern:/<\w+>(?=\s*[\)\{])/,inside:{punctuation:/[<>]/,"class-name":/\w+/}}}),e.languages.insertBefore("v","function",{"generic-function":{pattern:/\b\w+\s*<\w+>(?=\()/,inside:{function:/^\w+/,generic:{pattern:/<\w+>/,inside:e.languages.v.generic.inside}}}})}(Prism); +Prism.languages.vala=Prism.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],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,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/}),Prism.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:!0,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:Prism.languages.vala}},string:/[\s\S]+/}}}),Prism.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}}); +!function(e){e.languages.velocity=e.languages.extend("markup",{});var n={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};n.variable.inside={string:n.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:n.number,boolean:n.boolean,punctuation:n.punctuation},e.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:n}},variable:n.variable}),e.languages.velocity.tag.inside["attr-value"].inside.rest=e.languages.velocity}(Prism); +Prism.languages.verilog={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"kernel-function":{pattern:/\B\$\w+\b/,alias:"property"},constant:/\B`\w+\b/,function:/\b\w+(?=\()/,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/,important:/\b(?:always|always_comb|always_ff|always_latch)\b(?: *@)?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/}; +Prism.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,attribute:{pattern:/\b'\w+/,alias:"attr-name"},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,boolean:/\b(?:false|true)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,punctuation:/[{}[\];(),.:]/}; +Prism.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,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/,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/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/}; +Prism.languages["visual-basic"]={comment:{pattern:/(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\b_[ \t]*(?:\r\n?|\n)|.)+/i,alias:"property",greedy:!0},string:{pattern:/\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,greedy:!0},date:{pattern:/#[ \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,alias:"number"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:[FRD]|U?[ILS])?/i,boolean:/\b(?:False|Nothing|True)\b/i,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,operator:/[+\-*/\\^<=>&#@$%!]|\b_(?=[ \t]*[\r\n])/,punctuation:/[{}().,:?]/},Prism.languages.vb=Prism.languages["visual-basic"],Prism.languages.vba=Prism.languages["visual-basic"]; +Prism.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:!0},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},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/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:F|T|false|true)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/}; +Prism.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\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/,inside:{punctuation:/\./}},/\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/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,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/,punctuation:/[()]/}; +!function(e){var n="(?:\\B-|\\b_|\\b)[A-Za-z][\\w-]*(?![\\w-])",t="(?:\\b(?:unsigned\\s+)?long\\s+long(?![\\w-])|\\b(?:unrestricted|unsigned)\\s+[a-z]+(?![\\w-])|(?!(?:unrestricted|unsigned)\\b)"+n+"(?:\\s*<(?:[^<>]|<[^<>]*>)*>)?)(?:\\s*\\?)?",i={};for(var r in e.languages["web-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"[^"]*"/,greedy:!0},namespace:{pattern:RegExp("(\\bnamespace\\s+)"+n),lookbehind:!0},"class-name":[{pattern:/(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,lookbehind:!0,inside:i},{pattern:RegExp("(\\b(?:attribute|const|deleter|getter|optional|setter)\\s+)"+t),lookbehind:!0,inside:i},{pattern:RegExp("(\\bcallback\\s+"+n+"\\s*=\\s*)"+t),lookbehind:!0,inside:i},{pattern:RegExp("(\\btypedef\\b\\s*)"+t),lookbehind:!0,inside:i},{pattern:RegExp("(\\b(?:callback|dictionary|enum|interface(?:\\s+mixin)?)\\s+)(?!(?:interface|mixin)\\b)"+n),lookbehind:!0},{pattern:RegExp("(:\\s*)"+n),lookbehind:!0},RegExp(n+"(?=\\s+(?:implements|includes)\\b)"),{pattern:RegExp("(\\b(?:implements|includes)\\s+)"+n),lookbehind:!0},{pattern:RegExp(t+"(?=\\s*(?:\\.{3}\\s*)?"+n+"\\s*[(),;=])"),inside:i}],builtin:/\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,keyword:[/\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/,/\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/],boolean:/\b(?:false|true)\b/,number:{pattern:/(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,lookbehind:!0},operator:/\.{3}|[=:?<>-]/,punctuation:/[(){}[\].,;]/},e.languages["web-idl"])"class-name"!==r&&(i[r]=e.languages["web-idl"][r]);e.languages.webidl=e.languages["web-idl"]}(Prism); +Prism.languages.wgsl={comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},"builtin-attribute":{pattern:/(@)builtin\(.*?\)/,lookbehind:!0,inside:{attribute:{pattern:/^builtin/,alias:"attr-name"},punctuation:/[(),]/,"built-in-values":{pattern:/\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/,alias:"attr-value"}}},attributes:{pattern:/(@)(?:align|binding|compute|const|fragment|group|id|interpolate|invariant|location|size|vertex|workgroup_size)/i,lookbehind:!0,alias:"attr-name"},functions:{pattern:/\b(fn\s+)[_a-zA-Z]\w*(?=[(<])/,lookbehind:!0,alias:"function"},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/,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/,"function-calls":{pattern:/\b[_a-z]\w*(?=\()/i,alias:"function"},"class-name":/\b(?:[A-Z][A-Za-z0-9]*)\b/,"bool-literal":{pattern:/\b(?:false|true)\b/,alias:"boolean"},"hex-int-literal":{pattern:/\b0[xX][0-9a-fA-F]+[iu]?\b(?![.pP])/,alias:"number"},"hex-float-literal":{pattern:/\b0[xX][0-9a-fA-F]*(?:\.[0-9a-fA-F]*)?(?:[pP][+-]?\d+[fh]?)?/,alias:"number"},"decimal-float-literal":[{pattern:/\d*\.\d+(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+\.\d*(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+[eE](?:\+|-)?\d+[fh]?/,alias:"number"},{pattern:/\b\d+[fh]\b/,alias:"number"}],"int-literal":{pattern:/\b\d+[iu]?\b/,alias:"number"},operator:[{pattern:/(?:\^|~|\|(?!\|)|\|\||&&|<<|>>|!)(?!=)/},{pattern:/&(?![&=])/},{pattern:/(?:\+=|-=|\*=|\/=|%=|\^=|&=|\|=|<<=|>>=)/},{pattern:/(^|[^<>=!])=(?![=>])/,lookbehind:!0},{pattern:/(?:==|!=|<=|\+\+|--|(^|[^=])>=)/,lookbehind:!0},{pattern:/(?:(?:[+%]|(?:\*(?!\w)))(?!=))|(?:-(?!>))|(?:\/(?!\/))/},{pattern:/->/}],punctuation:/[@(){}[\],;<>:.]/}; +Prism.languages.wiki=Prism.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:Prism.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),Prism.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:Prism.languages.markup.tag.inside}}}}); +Prism.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.mathematica=Prism.languages.wolfram,Prism.languages.wl=Prism.languages.wolfram,Prism.languages.nb=Prism.languages.wolfram; +Prism.languages.wren={comment:[{pattern:/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\//,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"string-literal":null,hashbang:{pattern:/^#!\/.+/,greedy:!0,alias:"comment"},attribute:{pattern:/#!?[ \t\u3000]*\w+/,alias:"keyword"},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},/\b[A-Z][a-z\d_]*\b/],constant:/\b[A-Z][A-Z\d_]*\b/,null:{pattern:/\bnull\b/,alias:"keyword"},keyword:/\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\b/,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,function:/\b[a-z_]\w*(?=\s*[({])/i,operator:/<<|>>|[=!<>]=?|&&|\|\||[-+*/%~^&|?:]|\.{2,3}/,punctuation:/[\[\](){}.,;]/},Prism.languages.wren["string-literal"]={pattern:/(^|[^\\"])"(?:[^\\"%]|\\[\s\S]|%(?!\()|%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\))*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\)/,lookbehind:!0,inside:{expression:{pattern:/^(%\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:Prism.languages.wren},"interpolation-punctuation":{pattern:/^%\(|\)$/,alias:"punctuation"}}},string:/[\s\S]+/}}; +!function(n){n.languages.xeora=n.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/\}:[-\w.]+:\{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/\}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}}),n.languages.insertBefore("inside","punctuation",{variable:n.languages.xeora["function-inline"].inside.variable},n.languages.xeora["function-block"]),n.languages.xeoracube=n.languages.xeora}(Prism); +!function(a){function e(e,n){a.languages[e]&&a.languages.insertBefore(e,"comment",{"doc-comment":n})}var n=a.languages.markup.tag,t={pattern:/\/\/\/.*/,greedy:!0,alias:"comment",inside:{tag:n}},g={pattern:/'''.*/,greedy:!0,alias:"comment",inside:{tag:n}};e("csharp",t),e("fsharp",t),e("vbnet",g)}(Prism); +Prism.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,greedy:!0},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],directive:{pattern:/#(?:Else|ElseIf|Endif|If|Pragma)\b/i,alias:"property"},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,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,punctuation:/[.,;:()]/}; +!function(e){e.languages.xquery=e.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\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(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\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(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),e.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,e.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,e.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:e.languages.xquery,alias:"language-xquery"};var t=function(e){return"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(t).join("")},n=function(a){for(var o=[],i=0;i0&&o[o.length-1].tagName===t(r.content[0].content[1])&&o.pop():"/>"===r.content[r.content.length-1].content||o.push({tagName:t(r.content[0].content[1]),openedBraces:0}):!(o.length>0&&"punctuation"===r.type&&"{"===r.content)||a[i+1]&&"punctuation"===a[i+1].type&&"{"===a[i+1].content||a[i-1]&&"plain-text"===a[i-1].type&&"{"===a[i-1].content?o.length>0&&o[o.length-1].openedBraces>0&&"punctuation"===r.type&&"}"===r.content?o[o.length-1].openedBraces--:"comment"!==r.type&&(s=!0):o[o.length-1].openedBraces++),(s||"string"==typeof r)&&o.length>0&&0===o[o.length-1].openedBraces){var l=t(r);i0&&("string"==typeof a[i-1]||"plain-text"===a[i-1].type)&&(l=t(a[i-1])+l,a.splice(i-1,1),i--),/^\s+$/.test(l)?a[i]=l:a[i]=new e.Token("plain-text",l,null,l)}r.content&&"string"!=typeof r.content&&n(r.content)}};e.hooks.add("after-tokenize",(function(e){"xquery"===e.language&&n(e.tokens)}))}(Prism); +Prism.languages.yang={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"(?:[^\\"]|\\.)*"|'[^']*'/,greedy:!0},keyword:{pattern:/(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,lookbehind:!0},namespace:{pattern:/(\s)[a-z_][\w.-]*(?=:)/i,lookbehind:!0},boolean:/\b(?:false|true)\b/,operator:/\+/,punctuation:/[{};:]/}; +!function(e){function n(e){return function(){return e}}var r=/\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/,a="\\b(?!"+r.source+")(?!\\d)\\w+\\b",o="align\\s*\\((?:[^()]|\\([^()]*\\))*\\)",s="(?!\\s)(?:!?\\s*(?:"+"(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)".replace(//g,n(o))+"\\s*)*"+"(?:\\bpromise\\b|(?:\\berror\\.)?(?:\\.)*(?!\\s+))".replace(//g,n(a))+")+";e.languages.zig={comment:[{pattern:/\/\/[/!].*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:!0,greedy:!0}],char:{pattern:/(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:!0,greedy:!0},builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:!0},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp("(:\\s*)(?=\\s*(?:\\s*)?[=;,)])|(?=\\s*(?:\\s*)?\\{)".replace(//g,n(s)).replace(//g,n(o))),lookbehind:!0,inside:null},{pattern:RegExp("(\\)\\s*)(?=\\s*(?:\\s*)?;)".replace(//g,n(s)).replace(//g,n(o))),lookbehind:!0,inside:null}],"builtin-type":{pattern:/\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/,alias:"keyword"},keyword:r,function:/\b(?!\d)\w+(?=\s*\()/,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/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/},e.languages.zig["class-name"].forEach((function(n){null===n.inside&&(n.inside=e.languages.zig)}))}(Prism); diff --git a/assets/logos/dn-tech-favicon-black.png b/assets/logos/dn-tech-favicon-black.png new file mode 100644 index 0000000000000000000000000000000000000000..652afaccd97140896ab05d864d51866fca763512 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&i3a$DxcX!k0-0!FWqpl2P>8K0 z$S;^-m-)FW$>Qaqr+^}y1s;*b3=GUKK$vlBbx<|~1EZd&i(^Q|oVPPBW*sr$VM)zg z`v3nEr~b!5FB)ZUZ(n+^(&vDr&drG_YApgz9EvRh`5(->Z;PymRC&PFXgi7XobRC( zS}KtXR;flV;L2%~y2GL)zM^2018*$v4aII6PW)!A?KH{(8}=_ZIr@jYrCNXEvhObN#ySg{{FNk2$YgB4y zsCQNH+si(wR`}7~?%;oI3fGza)^$vZ5mwu&RaO+=aDS`cOWw!7)>t!ab5B@cz5Tz1 zVy8{DSKDIsr6(pYe_Gzi;-xsl)$_%6{|Dw?P8yuAza-DFJALPStHm^z?x$P+%{!9K ze>b@ChRTJz(?ch2SGZyQVD`TI_L5#(zTU~ZqRVeaYb=d#Wz Gp$PyO2c!r9 literal 0 HcmV?d00001 diff --git a/assets/logos/dn-tech-favicon-color.png b/assets/logos/dn-tech-favicon-color.png new file mode 100644 index 0000000000000000000000000000000000000000..d3fecec839b61ca4233d29dc6a0e8ca1aec16b62 GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&2?h9sxcX!k{%@83-y-$DUGjgM z6p(%MmbxZTmbE0vFPPy_wSmpHMQ=gMISV`@iy0W0Uw|;<*6N^a1_nkcPZ!6KiaBp* zBz7|^^0=Hm^7DWF&VUzj+_5WG-@9Y_*>2Z@e$%W;*Ln<(NhJ3eK5LQNoHCnf&eG@w zmE7+bVx?Ogg*3$!j`OQt#g(n$Kv&21rHR-v<{JJKW z1-7nCE}Wh+kChr_{<22sd@xR2QRHM7!1>_K;q|FUlN}qrG8u}nMCcdzM20PhZn&Dv zkkuG)pIPL7i-oE7Cn={n{7bBqyOQ^$gw1)hi{bs&Rae>;uIqcO|CN1{C#zC+`N<1Q zm`?24o3vv0)9^;t7rHZ!I^NKqf54j0$$}&Duf(=FsYSKPt0r~u*2GONdH3+~s-E2k w>IFHrI^;#wFEJLD<~#UicLv0#KlAe5N2Tr9`)b=wV9+smy85}Sb4q9e0N>uGSO5S3 literal 0 HcmV?d00001 diff --git a/assets/logos/dn-tech-favicon-white.png b/assets/logos/dn-tech-favicon-white.png new file mode 100644 index 0000000000000000000000000000000000000000..ebe4a7aa72360e775729bb8a0bd9e080fad60e85 GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&2?h9sxcX!k{znDBt3$bgvaBUR ze!&cfs`YKEe>_eH3UC&9L>4nJFuwp{#;w&s*$fPfQl2i3Ar*7p&UnamSb?YI?9uA~ z;c_C^ayK}w-F5p}t$p+b{@z(jM3Q?9k4Yr=ST1nWkKDyjy;4l$UK8(vtY!lbrK3zK zzZV{fU=+$?Y>R5}*~$>Cdmx0n#bJSho@By|1Fs`OKgm45tmMIRDp%G)X(TVRrph%7lXUK-89kdtc=IFU4jJ?_8hQ#vWe*`Q;aR!0x^z{wi8~>7I3!@ ztK?NY#~w6CaH*9#Pj1+pN4pr_Zw*_?>l`b4-25y1CJ$Dn>+dEl^kALv`din+chllo z#TIN|AkLn+w}#1Frlmlj=xg$fyI;=cpV_36#PmFS(kaV1>rPp4|LJmA!CG|bkM7)= lGYUAY?z=*KdS-qx^H-y^gQb-h4*`RY!PC{xWt~$(695V)sBi!P literal 0 HcmV?d00001 diff --git a/assets/logos/dn-tech-high-resolution-logo-black-transparent.png b/assets/logos/dn-tech-high-resolution-logo-black-transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..361acb32d45e91f75539d1ac78da1949382ea3fe GIT binary patch literal 23539 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 literal 0 HcmV?d00001 diff --git a/assets/logos/dn-tech-high-resolution-logo-white-transparent.png b/assets/logos/dn-tech-high-resolution-logo-white-transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..b38e1ffc1051e5c6aa99b2273a1209213f896292 GIT binary patch literal 23539 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 F{{ws5UE2Tv literal 0 HcmV?d00001 diff --git a/assets/logos/logo-black.png b/assets/logos/logo-black.png new file mode 100644 index 0000000000000000000000000000000000000000..37eb1c0afd77b04d4bcad30ff0d6d5892b70fc46 GIT binary patch literal 32765 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 literal 0 HcmV?d00001 diff --git a/assets/logos/logo-color.png b/assets/logos/logo-color.png new file mode 100644 index 0000000000000000000000000000000000000000..74cefa41066396d85d0bc24d55eb7f65282ed86b GIT binary patch literal 68570 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 Xt^$2RsBjtEI`E^Wtc6HXGQa*`ysvtr literal 0 HcmV?d00001 diff --git a/assets/logos/logo-no-background.png b/assets/logos/logo-no-background.png new file mode 100644 index 0000000000000000000000000000000000000000..f62e1b50244e34173b37565035456cb048f5a2d6 GIT binary patch literal 32955 zcmeFZi96J5_&+{U5m`$jTb6`SI>=5)2ub#>tQ~u#$*vHxZ`mm-Vi3X%W(EmalPwI> zlzkalCo_iMGs-#V`~7^r|G}^8I@h_bF`oDHzMuQK@7MjhU$^L+`dSQhoOBQfghBhd z#w`fs2nGV7GNU~TKGC*RMu7hv^SW;C1A)+=p!`P#$;vqmf$%}JHPmiD%2~=imcgr; z3D4G5U40_->9!uL=HX^b6Gf8|d*epymCZ@x5z<3btIym$4-8a)s#;GxvMrT3U%FUX zTD)VesUcvKbJ_Ybv%civ=V@nZrz-2c~fj20>=R*=hCj5x}SKlt>sJ~O_FK6`QK|6lI^ zZ98igeDa)ZXGhZyhkMJpfi?eF*W!2!_vkaPqNDNx82g|gG(+X2L?!ArEBSBj4SFG) z%il`%4lMkc|Br<~%i)w=i(>>$coXk#o*wnWP@%?X55C24^x(J%mY)bJx&Rlzt3_6&uSCw_e{MUulSh|$awITJhcON zLO$V)+Dv0zl)c{}`sb&rk^la*1^jeHXjr)O^H^A5-^#)7-@HrcvMs zOi~#w)CGdGF=A+Sxy4GB;E>;vLCppqEa3H@1x8e1!Qui$HLJmcpIRLKXL%kMzF`x) zpsbwxQ;$&<)Cb?V$@0(kNiZtkB$z2-wty05DE~hHd#?yq)Rmn=hMsKETdP6;xJ9UA zsFzkPKjtk}c))q-7bp?+ut;yigT?Qir-fpl#PQMOmOhpwWv^^(Qf-8wz6w?bzpLOn zuuqeeDm)% z>B)6w)&h%1S9&xL_P}?C89zBKpvG8lLQP9}JtJWvdtK_MDXQWhU%W^|3td@D;-j%H zr3xo`udy$RC(mi!H?&mbKf{#qeqML2B~VbTo2F{=*N+Z?KM%f5_uqZ(aCxMG3ndXr z@2t}uB;_j6NiWcF%_PG!+D$&y>LF87j7PPz(rvcP8<>yKz5ONbJalmQc3(eG3nttl zx1si*mk>iFmRemKOhKgf7)TVh&kXMb>&v+eOuCXNiA0Xi$QX`$K&5|dhQ%8)Qj;y`?hgZwhyXqE!|7*nqHb3 z&UybrT-B{U=vEuA8czfD?+E=On-9}0_a6%dY|4?t1WV(mlM(HkdgTarj~-rj6yYJ! z+WRZ_pCmDH7{}QA-*=jr@=eL9x41u=bGCY3?3C~4*Lrp7BxK45k3Tu&f9wq}T33m> z`IJ#5TzB>_g!HV$H8|mQz}?{_H29SYf%dAtSFvTi{`LvoFh6sXj7{^qs0_B5Y`?px zbo1&<)id8QoGF&;4QncwU4t!mNsSk=eK8v$(47^79yekMOg8wc#LW4mernfy$`pIP zKN+rYg$9SWR%V@g;R-SvG!ttUq}v<2wMd*cn))*CJbXjk0&cnPgLRMeSA{op%%?$n z17<|blTfnN^LbnCB06n5Q`7ClVW z2oT7VtKZecE0rt1oaT9yu@X!L`33pEOupE$9_6o{F8LB6y;pVnzO2X$4mHk%SA$FD z?#f(>@Pm5vq)i?sP1@$T_t39rYF~;Hgxq70g7GYT%UiWZk&ZyVQU6~ysSxO^%u3x{ z*tJH+&S(-5jve);L=P1>4G#6_jl&WZID@RwLE`g;m|seJ7gpj_YOLZ`Uc^EmF4QgMTXkjX2(i<>Y>(4LD(XI3RHVeDH z#1AcJO(Hf^ua0zTu8VmEoi*ukZOhlp1On+*g;PUrUn%0pG)se!bv5>P$O_0^A1;%> z22xL@6xCEqQ0oG$ILu*q=OKqT9vf80iwX0xy&f;aox?UW_?ko;ip0TFs8PNAn9uq1UYCZX|QgZYY*Or_}xEEEg2(!&0|39d1VVZ=C_4c zaz!o?dfkYw*e95{2P?ezdNqd)#+_lv3lR!D63sDU!GGfnZ}4QfmKfGMq{`e9WGZN0 zS*7@wjvcujvSt+2>K_9$($eDQubYADvg7ARes4HGyE|*dVc2b5ye&6U+SD1jdg2$7 zO7+BlEkJ-c{N8QzF+y&~XI$j<0_^!plyaz|@tMlW^B@58EzlyQ(OU2ildAB(=P7YC zsbXkk%+Gq$21_5-$dW^=1aMX4xErIDiB6qw8*jH7|Ye*GH&u z8v52{f`(@Vhh;(=#Z~Omy6T4rvGO1x&QRk}t`Z=y*kthjdOnE~sGcbhm#Tbb%LECh z{ohu*7wd(MZe0jYp0hog*f6aH3l??0M$#0g!7;8s_QGaH#?d%LY(MuL<<@bKLAu3Q zU22k~gf#y{*CWx=?=Et?tD ztxqu1PqFViOWaAkLeis6Tb%+4I=%$m1ha|rpPr=| z#;CzR1oC0Ju-Zf!thd5o2W(qBpq^Uw`u}P3wU~XIU!y0ma##c;3KCPOro87_7W*{B zkAm0g_r>LHw(+Kq4*H)QLt?T@eO$kEXT>4(_9P|0_(-`1=Z$WpBc#t&&zn?yL0+^K zLm&F71n!Cufa0MGs{5&fDoPS$=F+2_k{Bp|WpIR`i)d($gt8sdI=NX(L;MKkF^)JJ zkM!j64I**MpI8LDXxmff=Q?@Wpz|Y_F`gTpSUY*4Fw!$+1Fr3AlgK_3hR_SiGQVt` z{itq6kRWgfa#7`fd7y;=#?$Xt^pG^wl<%>Z!4j-B-kaxufeX7@l*GPNG_ViNvw=79 z)w#AJ$xkvF-SsX_zt!X%A*WFN_slQH$36ZtmBzKakURUgsRW!O$Tg%>HsAoQ7~bo^ z)2}x=soHHWLcAM(oi^!}P&>w0OK za|IVds5@4_^Yc8i9+YCnU*xquiTAs!yrBAiHdDHy+*OklI3;!ehR48q>58*Uoi;HY zMWTUBfCHk$)J{667ek8@WK=UT%wtH^H6kGTICsFA=pj?;j&=U4)?(_eOwTM1Q%vC6 zqLdyT;4r))x?C!4>UqK^@Z`+b`bUU&mr~j3A)l2f*_*BREkFqjEfaNf{2gkuE-!{! z$fxG>ialu(7d6BE-3LJ}0d{x-4}!f#W#I1isZ2ArBR8DdZSqGS1f-Gks($osO-Mp0 z34Py^;R^7hIJ~7dcxNB!&;H<@)v4>!%=T;{+cx*yL~T!Mh*MGQC8@)9|Q*c5dMWf0eQd#Ae3r^k7x_GRhSn+0uDk_4d+~} zmt@kTp3v5XEXbO2NGtJH(!KoRBm3*|V|*@YIm(Eam`~*D>wo&HRQS{o-;l>X4=o9p zztg)pAq<)0`S0uUgi`ib=kmg+1*u_2z7uWCql%wRFjG0}LIuKQLN6^rl!>Wk{!HOh z@9J2dyzz~(PVciP+V{6dL3sack4e=F7|v1}RBkr>0t-S^Q^8a(cV&MsBS8yI()G+Y z_c78W6Z4|}BGPAQE9@3@w!tqh1`=o>^+*02E=kWV_ixC9Ti}MkluxPd5_mw(xM(6B zJiUMY=v$PkXNJ-?+TWz4*bQqi6b0T*v|Rt8(>9uQ2}`C5-N%u|UizBwFjrzdmk3e|$VG#i`b!tCk=Ca|1s%)^PtkP^vSGu_?ckQ>m`CKm2Lg(teB$;%}oO~M) ztNXs83DBx(e@xUs5a9@xZSt;}kN2R|TArViw4}fnTOytw@_;6q#uooAj|p6?+}{Y6^xR_KW_*~) z0jMWLa}~k)#7V$35}yJJJ#$uYP+4Ex~&B8$&xcUo=WE^nRw&_s1jBtG8mk z2wkTTc6^Jk69CdGfnCR@1Ncu#fYna+9&w-C{jHq_&Uk0Xr|;#AZajfq-&2t6eu|0T zGn&-RhZ{?bNQ{5Azg#T%@f zW4l}LD~Tn7#71s=Pr+gIN{E^Y87nz?X$zaI5pwILg-7bGP4oe z!5#xI0f^q3&7OwUodZkO?cP>ai8}(9WAPy@w1WM5rM?sGH;>M+NNUzV$_?_`uzQstqWmfw$9f# z@7D!&yWNkk4wj3NrnWx6zH9nUVByn1X~t0gjv~$6vFOeD*FV>D6D0T+O(!+&e5+cC zSEFk-H+Du+%*Zd$birn2@fJ5aTC9m;qu@vl(f3tmrn|U&YXylM*1O-E0lzDmLMa!l zz|9?<`L2PM3a!jk0_;QK)5l)W$d1=_eeT3~??svsR`=d_^9I#>= zy}ehld%lA#-q|+jK%7UT^@vpV?wB?=p}YF|*qg?5Wh9y{HWG2R`Wz^}e;_gnOM3o# zz^%PuvO=(LjVFC+1|aI%wT&?1xJs&}diY;6RVlaevMakb_^?la5a81R&yiIVpA`x(c@5bDqCqdXh!Lgr6_TL43e3RAJ z9rD9xF=|t*0K88HPZB5vh8tx-Ri&&kwv-esn^Gx|KAgXGi~s=a&ByO@STnDjU+d8G z{&d%`Pf@6D<`oDW)fjn)cAH6iP>^R@`goXR>~+R$q#*RLCa6I3h3D$i`87+I>SnZ( zgs-yVjik0h*I-BY*01ixWE7lSaTG^+(0AHd%>sC>!pIjeGgN%86SHw zy~sF5siQ#sCdW%q5qtiPe>nXb12xV@+}v~Lex`IGN@$GB&Rwc*Mx4LOU?d{I<`u8y zLy|kuh}WH+1F7yYAiLp6WUW0fYAWL#v2Egade)9{5N6j$T7x|<{?LN#h9c7ao%H$$ zffu{J?!3f2bgo>dZYo=7l)D8Z_w(Z>vDr%feaRYoUjl5>Yl+*s$;T(Vpgh?c+XYuy z$=ce3sf0^bV{qFG9~Led($i|fb)~!#xJlKzk6!N9DO!z8oPW<1-mr4$90g-SaLOZr zitoKO6Mek**4x;`3Xg)rIttjCYW^Twr-9|kkE4MtHP_LG_)im#I8fWHP0#i>qI+f1 z?Vq#FUw0Z%F%>o+SQT;2LnoqD#J)I;%2m(5BHf4(!N}^?^QRgwuMcj9q(#=%^RnC% zqa}nE2!ZR*#3dZP8$k$^*pqA4fhqG9@jMK`$}wc_=3xdbk8F=+BfsA_%};R{!Wo7g zQ-gQC^Y@@Gm(1>ZSkE2zob?svYzLL}=NU?faM#!07&&yhaMbP-X`2Z6UNuI??-|{1 z&}-tIr$m$`ZRbv1c0Ylio+KJKo)$5U8mT`L|3Um&RZAer39%%(HT-n9gh;nr{;_fC z?-;NAiE4-=6U_Utl*RobR9N1!ns;Me(GeH0U;O5 zEK)a#sd4O#SE@@!Ykg_Z;-OZ&>PW+xi z1U!{mOg*;yjqH?^zngP-z};T6hvV-4r~#QyHfT>7qElDT%x4;uR=%Y&n{7PiAM??A z-K!El?9aTgmChu1`X$&!Dc3iN_;;r%+x!q7fT%+VE{IL8n}oQf;hNbsxHXcSN1y}M zZ`U2~-KntL_O%9A@Tb(?k5{Ep>seb*KGIL*(9(LVGCYC-);ne#r+b4wE!gA ziX4G+K~@Uf{XxjWDf~YAPuu1dur^lNtKRW1+D&q022hYLjY5Zjjb8N_w)3@z*w;Ak z*i$wdV_$kh5svP;3Sota`*cF&N|Xw zK|R0YB4c7UKDeL4Pn(FOy+_LK-ezC!qF*=MlYVFK=4P?vU+jTsL1bYvi!{Vf;X&Qy zATzNLu!GU?kB@qHm41t^Md`)8P_J~Hv1`(D9cKgK+Oo}sP2&}GTq3`TO3HxAqy$}t zMMMDXX=8%+_g59;Lc=*Rmz|R;U&rq83sH(t&{#=46Z+`qG|u|w5L3a^P%qol{Dm}5 zGUT)noU!^wcgmP32ITb{Lhk9&_9Y(UsoWv8gi7pX*!Cy=W{X@e=z10ZNn9S=ylG=X z_JpmtrCNAY4DLO9XJ-^)57{E(1x9fbjgY@WbDo~5wBQ9dB3+UvFhTvh{9rpd z&Y_796U2T_jZxkdV4)*@eN=eTl?V4;U+rb1C2W84pD*lMmJW<5_ZJ}F6pH|z2va^T zSyOEJ#)Cb3W#^C(n_3ne3W~GgNzF3%sa#ntd42BLMt4aF^=BT+6?oBtR8+hOch~Hk zIBw?~);e}{@D1qls27}Ko?`!`<{?+m=+?mg#4DpTeBnR~kj_GG?TuZJ3QokbFfap8 z`>6fL({StS<~ZvcrhATq5YSmO_j8lkK4rxtxL9j-4iC^-Uhv&*gtlbGdp#-tx?mLb zX#&FTR`&;Hd;mM%Pco=}<$j5nRJKQc@+!$>TOo8S)Qjo-RW^LI@~1u|Vv;|a80`1x zBlQrb%Cqow>$m{3k6;V8woqJwj(DhcjN!OLBzouG_O}HUkY6vQ+hh&Q+O0)BL(xj zliW|gNg=zlY^OAdtC*~mBA8z=f_GcyQoF&YuhiZgO0|mLyl=JfBoo?pWvXX#N@iu^@nf1;_6=FgZs^?W49xiPn^ddXe zy)S3m+#DWJ3~8hEYKoF&Y926w-=38$%looe#ZLykJE-Gu;{{ODJhvT6MK7)iX>B)9 z+D$oC^Vn&bAWKmDb;GvZos1T%JZ8#DTLOF9uU!2_@j6IEL+o*78&>PVjL2-k;rygW zKf}G5Rvl}|$S@jRSiVTKvJtDau`TZ)6CqIK^T{bCSJO00cmG}S4M7uhn#NuoK>w_Z zAxREDH(3`=JEDk@yCDXH3Y|ggLjC!v8o6T8yJ2-(ZNx>x_V5Nl>X4e)N^)8&@dRjo zUoWsdUm1LBug|iMm`6@`nU1M8Q+bIg(6&ok`dZtD{WZx-%|uWtS9=VyRN|j3#V)TR zyx@80bcNDYq_hi!mVg-LH$4vG(04r-y_mIx=XTbB&lLBK?NXO4a#+d($Tx9(BQj=` zr|4wJGAq9AHXr9+VaXOoFrDl9=mXbjznYmg*!2|e&7CLcskzsE9c9~<>-8Ql0SB;( zwrTz9*897gl~d-8uyF~|C~sVU#T{a}ZP(rY+!W>=Dd#%SE_$bc1zed6H|>1&#DB1r zmO7XrUt`23wQawvA=N*7lozQ`SHy5e)m0?gZ@Ov^qIINx(aO0`C*xl_I{fUIFY_9d zU9^3v@@uD9w?%2#*0yzT)=qmvK6*3E@!qnUF5U=+AKCL^O(VWFBv0tjyq)L6D4jeD z$_Hz3{Xb%wMj9-fs9sL;N<+d)Hr_@VAr+Q(%go+qbUB0pZ6VRtsQB|88gT3(Idw|I zv74qtb*hwjBIUZ~SckZ7P*I|XkQSEfSS->_LJ!KMtv&MBY$)XP%=Q8v`&_JdcF(#f z-FdjNJ`iE(hjrNSm<}}FD63k>{u3a@_9^banUewiES~vYgUrOP)lyE>u&P# zMm<(vU%kF0Q^`$DwGZK>9tD#k&-~dC)4Z~un(WS;*AWr7x2JXXg!IZb>#c_?O5cg3lk=o@21t8eX%#C@3p7Ligb_T6=oU)cpE0;7@=1f|op726y5-8%$lj0p@ za$%-lwpsAmLe_@;SCEAzGLACHSKr+uZ7eh!bVNX_txLZR>Dv-C>5q^B4blex$F*Yn zurb2g9c`OE$yYUhXM}vn>^N)bp4S6Ug2Xku`P6aYZn2@~lJ8IgKtz&of2?w-TQ5Fe zvR8yDCyq1pIJbY~uIbTDMW3|NK6}tC5uPPyO`6QL&aXqP2)bwmmj*A}o5j^a9Pr3> zWkyYsE(|MJnFTBJtmJt(QPCFaMcAYk=umTZr6>^OhtYhx+G}h9Tw`*N+VTrd1G=Dy*_g-03joy6CxPovGVe;rB<#fphLA5u8 z;`1*NXP<`0w-P^q7kayr?pJ{f`B1uIqP!@F$C_|hAov$b02g|k$FK%_xpTwh@(=0F zRZ+RiV-HX7ppG)LdcUB15DJ@-QpWemc z^HqjK4A}uj*)#YqO+86GQ^ApFW@}>*LbKaxsuFexXY+#z^cV+K%_&!}r+<;UG+RXj zY&+Oh%GJgwA@#DXds;M&7L{T7q=cz%ogv&*rW_#tv+lwv=01jg@7&qkvubjs?x%OZ zF?aki>5a45Ef*FdmzD>(%`jJ3`O zf36I^fAS*hqJdm++rlSM=ADF0pHd+&yJ6xsd&(Ji8BF1&o|3Z{2VI!1l}{(m`ldrs1{JrZ6x}~}S*B0d%T7o&#a3lPvc8%Ogkvd@n_g;~FtHZJw;GGf4 zGK4Q$l6B&i4tBmSv;F1kS|MuW35_(Y`YBG}#@kd>D+aHWM__-Xt5( zraSX$P~9x_QmMc^5v4oK0dxWZOfZR`6McND@R2p(@>J3nfi{ouvAZ8|O3mb8eWj%> z!*6^TsB>woN(VAkx6ZUiXN(PS(bMuwH5DLm4V2vTL9p+5kKgi;y`{}qc4@j+GRfXM z6RriU?t$AKJAYA%18Mo%_WU6HHA~Yiuz7VqUaR2M`RljHt|zYmb%8t*-59ppUXrZ- zrSuwL3X1wnDuXpo@{!Z*yzbH7f^Yl7DP=*Ab5GOvmS zK5Y&a|84h6XGBY0k14Bz0;?){r^Xl#*qrT%8z=dubAJ4)+fl*>9sUa3n+v!%)F+{= zcQZ(}B*eTZnCHk-3KMEQQLe&uq)+?S=ihC&qXrfwzp4!LooUTue%9%mJtV1i#)>@QL&TF z^J<@m|N7p|I(L+oaPfQuyw$(JU!=(6LY-?g=T(H#)9MfGBTN@aF%6{pl)cqzDHxWRMR8$OcU@4BALDTlnLJMK!eIxA&OE zhC`pW+vRIh-tK-LJw-=o$>BbtZ)_>r!)7_X_6PpRz> z+h-Je&;Pb}+3!H^|7hC!1BshqQjFpmQUZJ>Kvs45*}i67j$2ayq$qw!6Q`=ju3J#~vM2 z8e~5XL#F$)$8Ym|Ig79Xil^VvE~5}g`C>8)Q`p49NaAIt&7QnZyz<{*OqHsgsxNaG zzsir|)UnAhsI$|}d}hN18UqjHmOJQtbl8?Ns(#e)NEi=w?f|IXcyaH9bU5aXdT(%7 zgxnBN#py8PcazM>)zoKwjS=2gT+R>BxX6D^<{#dhM|<|~CKszH_~#MpiXV4m_6L(C zrJUO4TW(osF?@XM<$2xa)y^%U;gJR(8l0#26rh6jo;(8?rK$IKlyK6`6ngBH@1)bl z^G!!1ty1rX{Z<|(r8~>C&OV~yQ|Y~Gz;xT1DA27>ySRv!`9=%^`l7@EV|fl!-O?!R zLTfG=^uEDQg50>WOO?upAqzzBCWXx++IU6JR}!JZksbb%PFhcC0L!)=ghY7`-V`*c zSm5PSRQ&a1jTu+me1#3aV%{L?Ld#lOoilybgb-5?^t&vvv~P~O{JCEaKW&=H*W~`H zxpey>-;~?c-mI8{qnAZ~B;2d_V$Zx%Tp|-=_%O3OL1+mV zTK;Ut@~NiD(H}HG8vxV>1b_rT5F@QjL<=?^a+s86+u&Fih2{JvPn#sHj#X&1d*r;Yt_A?jW^V{0tBx43z^f^)I;rr;E5u-J;q^3!4T)_r4(#pd~g z%`Q3uR$8PFG}Y$2&$KSA6iS47RcPPb&$<+>a8n{wH_phk^t=}{e!yWkwm!KtMQSUt zxS3Ll3_rjHgXTKV6EF7BN2(%SV$68Uf-E(7-z6TUby%^QgC>zp813vDyMo$3Qhtzs zrU?Td7V^h#O-z?8FKFhXKHG+vz?MQDfBP=y0%#fH0{h@OOvSxhM{tvjI3PyQ(+}>F zAy@yg%h^Q}?jPTRG7$4>`zzVc2L4cSjP0F76 zUhKq-Uk2M5R>UTGc@8!^f3{)9^Z4Y?v6}>|aF^O@ieI%OAC~RoUZ}|ze_#`W$9ImgGcv6jAuyCJZ0O8KlSQIoVh*Ce?4u0FTa5hA`Mc zt{Q{1xs6=8OsVK^!Hcl>g;I63IizzQ(h~Yfk-++{HZfkjAuctA4WBVZ=!du38BXBA z^|=|Y@E(}4kJ@OnhY??7SyNF7ShT3@Sw>@0^AIbOV$Z10;M-E;3G!nEusvTTv9S<) z5h#!zt5d2)%2HaS`XDvI=4>}8|*7dFEWe}{Qt&&@nOOH1fv zggHcz3cwlcS$wYf94Ag`Mezxc}iFkYw_GAq$sBHTBtF_KLbNSsV3*s=@n_7}9 z(WIHK1>SueAa=ytfN%xia83Jq8{lxN4h}z8sbWX+R%eQ-_%I~a4NlXm=2Hdg1y2W# z;%uf%CLQSrb!Rc=IQ$9lqTJyPMUBGLOi*tX?nP4#adp-SpX5^95VW+8cYz$=h8Z4Z z%HRdhqJ?U`i~Nso0S4|9kYj}eI;3H`-{As1o=jT@(yVK}Y(3r#{-^gMa z{lJ={Lz&3+l0_CDd9MzStbBdLBm)RkS|)^Pq4yMMp|*Y_ysN=`dW}_+mrP9&pX6GU z{$j>o=EHD5_L}8y)64-m7dn^tW_seh4Yzc7IX$6FYL_oOfD}OjR2~gK1{>j}1t$T8 zjXOX=A}i6mo_ho=cLFC<#>D+!rG;hpnei_{wx+`2X#wfU&a%H%GaTw2Vq2Ojb_mb1 zxT4AMaVBhk~$ku zpGjosh`{g%u;%AZHazi(7Zby84*~QaJc^m3*J`38Y|l(nI@5}ultU}WKuaA|w3NkH zGJ#KwOJaO7ubexM^O$_{A6tm65O0C)S|^z0+l)VAs<2orm!u_p25sKoju9F|`=`I{ zH#^;Y;?U`$(eKKJ>Z-fAi|{{I?w{)j(vsJe~gey(6D7`B17v0On71LjU#Uh zCpM4ZcsOYZ9L)H5RXB|o%h}(J0%dGt&Rhunot&*k?QVw;_i6UG9Mt(HB+|R(7yqP{oCl_{#eH56*8@hK88TPXEu3j(={_-%q!IT;Q`5`ktZ!K>wd;dW$ zz~;@2`LCJrkN=040ERm|C347z`gEcBRiugwGc7bcfIXb#bV*E|84sFThG|nhSy&Aa zZSxn8Jn=Ib)f8c-7a`_e5w3_)3V z&j4coU@?j&pGP{XoE}=6I{(y*{Sx%J8r%nmtW#0&l7OHZ+AoxU6(4#uAa2`w^V{QAtg#c!JbU>}J6 zeUC>c#7}Oun)br|E^EL#w>Ucuny5eJ^l9HQYuXI=uNSx zBU5}Fze>m20_J|IW0Z`}V$}aVWrqXBnbItdqByHW0XYo97tC%=D!?zW%!Ywj=5EIm zwg0@b?fcRNqyqKl1M#qn&ZhnGK(7?-0tVZF!PJ2yAB2kC^6Y@6$LW3xtV>6d?(qUu zMD`^uc;wN4!?5_DFdWePL12OR(CPG1fnjVE=XD_20G;Z``wya9Uv>#6r9o|+6qIjj z@A}VtGK>SQYpC=xPl(IZV<0mCxtl9Xo^0u)%RzfMyrH5IBt}I0HF)H+R{xfs41xc? zWB9>40#zNQomtRMO?j$G#WTuN8$cZd6~-8ysR=!Gj38;;Khu+3Zf2t3M(osCa~?QR z$eDR^{hiBU=@w+1?Is`Q?8)CZ)7JxE2|_DBD2oc6OF-Sp@Q~)8%k$qyYUH16%IIc` zXmveWaP*5W&L(;E!I!j~r{th}#klvH@Y#sbo0{2mo%>~ZYGvf@8ERkbI>34Vphi$#3W-2GIu6;Q4=ef|8t3U+0Kh)K`Eo)wRi#5my zVlSmtyrRVbkZxad8a|vf#|?17DbU=UQ9An`u~P!ZcD4ZX^5%zO91sc}$0?7~AEp!w ze3+NZpg%Zmt&d#+u}Zy8Z;Zv1A$X5c9iWhD87~3)9^4ic|%~Q6~wg+Z5{C zgNuqJnia3Zuv1H;E+BLsSH1F2ya*lq19>LVO-#z~(2g;Cs~Jjm?vD4StF|6&0WP@y z!(YxZ6#59@5q=D%na1Wmd2asx%O&A_^Ywa{s_IY~%k?uLm~-P8UxLVyN&xNT@(=?n za?n;Jc*Vw`p%43nyw*A5&6wWH&XO0KwKMFf;NGHpn9N8HZGqNvwSp z%AnC6tntXJJeqH?_JQgjzdd-Ye|h+=pfcA1l44Tz*cV*>oQ_|i_Va_-U$g~8#1&e?`A*O+ z>J4v@R*9xOHbC2{Cyp(4-m>(bu1yAm@$`L=u1z(wojje1FLm01rrPFi#6Hk%$1pMN z)})Y@an0zhui{_nSxZ~NL*@SSP=ZA5Z#DcYFZSrIB(o5a(49W^h}h#i9MV8mZSGTL z>(rBa;-%X_+3R=loUt9PYRfG6d7&;3pS${RUx_0(`iF)x5q|^C(i!7!N>k4V5E)wC{V<8U&}c!R`Se~e-Hie@9~}76L`Q@ zpV&byE7+T<$OFMWf!pu=7Xv_hP*k0FtUM4#Xwc*_Rci>jX&eCP&lg_;Evo$x0o^ef z3QiH*1*IU=lfaM$<;4~Dh_<5W*?5r7O-hxZ3@$;RzQmU)K>5|%Wk{|gNsrs*IDVKJ zXfUYTkws)T%dZsxrh_Ty%`MFXEx^GXfCx?k^n=bt6OAB#wyMS0R7g8wr{SD{!ov*@`${qemqi^KTf`$QO>5FWlkhbKyI{ zccfER`+ejG*WkKf?uIq(XyST=Cd`(r=5RPEUa_O~l7x`GNLk@iFh<1S&Vo03xFgpE zM%so&$5Yv6N_$=UvP#!m0!6E5rU5)lLd5c9f11_;`ORRvkD?KtWntiDOD#AAlkl-Vo!fEmtygILaZ z!3DX7!ByXBABTZc9%m0A*TIy=iIyPZIio$P&_Kxxc8*z%bdCmqPm1bL&eYqRx^aPh zKGRTLWPFknCo!XJ{C;1uSK=~YlKJS}Wt@%SjnNH1qvT0?kod7(x|ue{=wqSNpsNTr zRv3?O-cxotn_S$7pTo*<7)nNSJ_T9|9ngbXUwVz=mfj!2PcH5^Cq9giEiR;}a}MgB zg5M(y!}L%NPI%depgoL+;;*%0O^^XP=+?!Z?MB~xOpTqm>~b2+DSIJ4UY}^Ob{J@$ zHoH(ak&?V?oVMKgY~up516?VG zET`_7u7MPw5Wxh6fGtiFrZ~=Lg2Wyl6{8X>R-`_Kq&o@1&!3usuO0-7GR}K7Ug;od z=-ZKzkhMlQ^04KWoLEcH)9!fWAHPgcLd zl$^VX+pTas15g^lFZcw^D-txOBGp1-PRbH~tUMcg5Nr(FyF$7gNi<7A75l=WA&5>g zrugyoss*#?p{YZ}^v;fNKMF(tEt~%tfoeF;z#~c_U$`V?b}zYb&=M@Q`<8pBs`Tod zL5SKXBh^5r02A7h4HKHg$&&Fj%k{0F4h`G6QS-b%DfKCsfj9fzFHHD8UGfdg zy&8T<0%}knH|Z+fV$bLFsRd8@DktZbIAC|jkEPMS2W?P^ssv|k#o|K9!LBA6D05UJ zF5kM!l=!4g(2RWOn7FR2_g@@df=-)owNv4bp_U)~Bhue-e|KihHk_)@3n!7%B{4m9 zB_8R&C3Q&MEjg1l3X?#=v&nM?3iV8GJ)H~ki7dVuf}%bT4JP?mlop?7RTAf0h$X=i zltDx4L=EKdsE-*KF#rr{@!9Jz16vD~%^oS(B9+Yx=g^Y=Uk7A-_D?!->Vx``|?>-X+}gPzWtzuU33 z@nlV?skip*pDnU3CS0j!*MLhtyuiA71WK4$a05h+q|4N{@xpjaz){0D$7tO2Lz-cA z^#P{_R6JUS^H@tw#nBZDBWIVb6aKjZEx)gT$uVg3W(u+N#LlemD$8O%WjGO~kf!}{ z+msP~jxLp3tPE|W%cDq3(B=rZ&gPC4HI+C2y9NyNUUv1^x-h=?e)j91YGAYT%Ql!V zeWe7e@qLuA>uI=Nn`A!rJZsu!h3eQ>M4|?IWchL?(d^_!DOjFZw1lYt?gggLQ1-g0ta~`T8Yhuy1)sZ zr)=zShLdW+q<rr+_44pO17s(ZB=X!kaMCwyg(=JKlEqOn`&afVM#uvcuoLPQH;6 zODIJI_$wU-@pu{*ye>zASlVD>+Sq22Qv9ii4pN7&fEEy7QkIh`c(~$m8$DsSD58>>5AhxyOFP+h z1oYX@mHFLOva3$T&kv|ui~=}JUDIjJ)PfYOo|jZtyy9CYv-Ji2$<1HAr)mNy2O~$v zD0Ly_jx3qoUHG2Ij6gE|?xrYk)g4$T}?d;;4lXhQvPe20s$4TdeZwbCWG)-Zj`& z;~G*$TlvWd8gMREkSSXS(#j-hvIry#_fZA{8o5cI-R43j0F3$ zxd_```*WyNV0ss-)aSC`qP(yUt(L)ks4U=>4nZDQQ)V&CJ3t$WaLAq9zCG%x?TRR!hVS&@&;p`8KVyxm`3r& z@UCA#hpFN?FgxV`wNx*}%)RIJI8ffTfH|x?XG@n!l1|S#rcLCMX#Pxr#HQ1br@1;8 z@9i#ZHseZxuwZMttGsAhia4Qlfkt|B^PHS-P5MX9bwd&JX(FA5cND>p2k1wF z>~x~bBP1!$7}}t_3dF7uY|7!al8e!$ z{`Aj-$??TtHeW?Ny3=K`@16gRlYpoHom@xc4Osz^4`jcRgq{?QT-@%(SM};hX)tR~ zK#0`Qi`0$%8@kTb4)CB&>LK;v}T6vtk zy&F;(5BN1OZf>m#27<^~-J{F`VN9`yt^$SFRXgPCEyWw2(mrnl!}`)4K6ZAR$R*6N zZ`S!{?ykGyQ-~pYzgSIK$%c|OD#*y45y4^4x%|a<;p)C!>?WYsd>y8;G;LL77IKab z;6w_&4)k|7QUR2F$Z%K;1FBd$pw`pgn1QU__RV2$nN08nn~_wRKNEC}V1D=)gWp}0 zY59#_ps6{z3NYm;APD}Z48Kf=aBZm;p0B+$vQq-Di5iSiHCx5slXeG5uu6l+aTQw1e!QR5# zW1Vm|37 zzJ|nSv3tgHMzt=8@ND^bI<*q@4DTE~nx|<>okAyu%Hk$fPCJRrxQ+Symb~fDU-$i7_qDvQ_cL2N!2f$?(n^I#WCEyJ5Z*o=T;3M(DnO0vX=3+cpF4Ns~%xhRC*+x|SOvw_&egw*by)x6o+CpMyOa`oT9y zpoT%g(`mctKE=z<3*L2Zc+b-nc}t@rBkEgg=y<>xi8!oYeFOS!ok>WQSvlpR(h&!0 ziI4X01NIEQ>Jj7n@{R>{G8;9me?8tSV>1h1kMxSA0)bM_S0?S5XRH`4Hkf6%ML^OYRgTS zb$BK$YyVl{cl5S zpK1;S9;xG7RuUS`bpz?uDYm(Rox7Uqse93s_4dJ1|lB6)Dhp{l4+MU z1K{)}**2Nq2t#Z4ieyd4U7)Q+Ku#0QLco+|nY;5&mfjvUzeZb}QfyFc|J=vK3v zpxDci=HCF|^~{4)usI1*AjN!b;EVSVVXIF9;DELa4cDvZe-9b`$<(F%+j1v}*z80> z0J>BdM;>|w_(mQSVLpNm0RTlWd0=b(77#mV3mkbWt)l|R(v?~FvhJ1eKDc-zr-k*;YmwBLdsGbFb^`8BL5k7dQ zJ3$9ROV`p`QZl$BF5$le0DcWN*hc77or1#M`4u{#sq60o#tG@4nP%g^-roc@g@(cM zOjq#iWGzsKsvsItzJ{JE#pNWOaq3j18EE}%jBOgQ*t7Co@?9q)UYuB zMyI~9xNHd{jDBe7w-Stn1GO(NE1oypFq2(KwbE*yKWzYzc}lx~sr=1Pm75{^2?_Zp zt!<=VgW~_H`+k&yOlL(X-->PvT^B&XFEfS@egPaKML(Xj5H|XsK}ZbjM~|H;bFab5 z5C@q$q4yYY(HuJ%ia9oKNvZM^otFVl5}`^U%tr=vm&&tZBOgB&O zI0A_A0DWJ@eF$9!G*pAU(ckGkx~3^u_Zv)8#d1k0$A<(1{9*SMfHcV)-G5J3!yqM^ zZsxwXfg&v3k<~}XuK})tJI(SJJ{q_Guw#-%Hs1i=k+hqC7=ZV=9)_Uy?)`#!>GNA< z6QgXMCWG;UHWyvgW0{srTh!0eX6 zvW>oNtHCgb{LMG*kiEQ>Mbo?^Xwl;g;>kN)m3kcP)CHv5wq;TkX3-Xab!giq~X zOE{uqda9t~ir(=%!{;4S2l-*W7P z>WPuIS)Lvby!j`|=h}XQ0hi;wD#6`!_uizYc~&WW@&aM?LGvBO68NL0dEfr-pd-;J zyj&zB7w=)eZdOa?LE?JlLLwS&(1`1+Jtvb;2bPr$7O zw4e9_&Y>H+I9(?~XHKz~(9tBk=C0=jSL?n`Z@&_UF#%n4FnV!RJZ`({J4fJin?A0z z&=U+?hAPX`Csa6c_pT2N8iF=yCvy!w5SfD>64}r79ia7jhw_Wt5rNsK!PIK^Pi1P# z1N^C3ElrRWYO?yo!$KY7+pp(zfAS-6IbQ;h$l|pKjO6cxB%M0ba5Lq3TlQz1Q{ z4=G*zUYmFKDrlfk@udO4B|tU(i&GEIbUJJT)Y9l7r@m3+pJ^Pfn2QXKOTR^4 zviW34>jE>NQZc8Vwu4)Cl2{3Hj*{qnX}GJ?}VEbCg^CrXCF7rbTk+U7svIcs%jK5*bGMvaROj`z-XeKp8}exx+-?xJyyN9 z&-`6&c-+n&(SOtWH4_UEk82&WDJ0#OfM=?crEm-&^CvvnFJnwbOJ)+8EX6H0%pTQ$ zU#9!*8Z7%_GoHR_<+l+hEQ#T2w2AJ85fT7Kw+C%--f>(4rRQH0EdoEicIuE}8NhOI zEU)Q>%n2)`?8jz95&6mIJ9ha7-0L@U_E{Brw#BSi2KdVYSFip=TERy#+2awtbZW+D zz+<(4MSV3%?GNS|8A5;USxG>+*ItmM8Iu1@K*4tN!T%j1dS*t!LL~@77!J>Q?8W;^ zQfO3KzS9MLm2Or1i11=`#Y|nGmsJedr#ksiM`Zf?Q4OhIPq$xjdiUGr-SYPRTNLbg z9_m}X6uHgWb9F#QPHJBoPer$iZPS(76@oUTYwzpb zk!Nw^rFFDfvyxnu&?E1iJdv}v#klRM+`p0Q%JMp-T<->oJTk&DQ4uLG+|%;0qTXW_Y`A~@6TwhNp(#PlrG zJhM`6KeVTkD@&+qzR3B|92U?IfuFGcq{PM0x4pd1`P(?@cY5&8tLCkoe4QobJYMQg z3OqA*!fARtXzo|zmfqxqJUh5!{BcC=dBz)erAw2VX3Usc)}+)GB-`a+nEF{vTk^}J zF7!VH8V>?W91afq(?XTJf|9N)+M^HN)P_OP0W|||xu3Tups!H1Er2v`!b)AeC5knd zdB0viwLv6mKfmYK6`>nfL=5C3Uof}?cTp!g!t2G&)#I|cGMmyR)%MAko{QMvwtN^V z#4{mGL>TOZ`Ct+r?OvFEct)Zel1GWS%}u^k z;wcPek0kf!z}_DuZYkEAoBXL!UlexZqv)&hdKMwuRy|#4QH(E4{ez|sk+NT9vBcCt z{#k1D72a8Hz`F$~9e)kGeubAzeQ?INoX_bR^;8Cik4MUjcL>?mw~gP$c8@giRtc(Z zhj`A`U@qPI?ZGTg(k@lL zQ(CdF+mh{cvB$Q=&k+rSe*Ye)CmCPJlXJw2aLTt_@Uu1bKJgyXn44U`vbTi3ziPeS zYWg)(uXL*CD9$sPu#W-Qe>gZ^o%=O{ksz>2s`cl~AsyC>9zH~E{m9>GyUJrofY)&J^b^S%9Fo&0SY|34Q*zrpl-s2(=` zfHZC4n%qCv@8yuJmB~D0PiUo_Q+IG798j-8!35Im0%*Dk{D+Mf z^sDEMi=bY!FkoS}AO2@Y;RsXTWk#&mcp)Akr_TI3GI}ek$vrwP7&czkikG`4nCEWK zZ*f5(fYy>x7mKQhDYX$Ay~ed>U5B>1P*u832b(&8LSV-XKR>lbOg_M25YFvNslj3N z8n_2q)2azyQ=>IJR#ffc+%DVk6+zKl?@~(OH+EY0bYm|%6}LabNzu+790s&0?d9y_ zD;Tho^;FsMTl{Fu)V$`jZktvIGev@(Q{mUX`LJI6iHu|Vy13upSb#|hl|_`_F+cX% z(PO3#bqAtg=FX3W;?Pnq#aNL)WA|6et1rJ8uVd-$92Z_D7qI%{CGu}+j;gXE#9iV0mBf=NbC(E>;R0oCwKm`z#EImdDpl<{>!$k zPg8I<)6;@6)y^ZNzRV-P57}njuIB&9SgJ>(dO3&i&fTk`O^F_z%8HHoU^8P@u_HrYs+$=Ua;iFZ+ zz}hhIYB+A}{l9d)r_$}Pn5u8KNU6JUl>?z*m^5C#ejmc`dRkGul2YAT#zS_NE-gbM zq~0lfyNvy!c|Cq4s@C!QV!}a{=rE|3cmJ9Ny}W+y;)-TMB(_mPb(xfoxOKj3nUj}{ zQ%`qy6ad@lknpd)bjP@9r2;p(!+|}Ja^jxJv0;s%9w_k4=AI}JirqQ5$+PcvT3mQm z53`BY<_zQve1=#HRbD3S+r~v7a+oHnZ0wHQm;Z6Aws8jTE7~0fjUS;yrEba}qNPvx zz?8(lkvr)QE+#gKPaa30^_^y5iD@v?_*e9@{UYT_dXcNC>ui3PbwelSdN9pQA5Z$4 zmn?e@xrFHuVPZa3eLsf4m7Ebzr;b&+A_v7Dj=0cq0qN^E)Vi)g@vE_J=-GABT7C8G z`9_s-E9~?MkN8tU4kd!5kh(L6KK@1UOd<*VnFjNX2ifPn%ktHe-0GW`~x`^}g3=H?nap3DjMSy)K<+7$X8jgDHe z-glhlVcLJFkcEU;Ez{ef0yZ6xBu&$y^Cm-6nJ^5yu8{3UcsIjp8%4yXdNg6ju=|xn zkeY^*m@|BAqvFLy%~b~|(?qluf}_o$X|fj2{V{eU!$<>=?Cj zbWx_KwBPfGs#6rnkgtgJy2T46GuQ9o_@o6H0??+5Y5~L)u8OJ7?v;u*VI5s;YCMzx zwu!donrxg=C$#qaN@p1|Rim6jdB>cv4z7T_$fVS{YJX#;bAp$C&kr$ZICQaok$JGtggqJk@aZb4C0Wg%hFsS>EY@# znky2seiwhZru=Dna84WV{Hn%PB`)5U-(7uruvpwjF|LsMOkZiK~g0?GCHav=LHA zy<)#oRQD@$Pxm05Bwf7gp|4?g?*1{@ok@v~uap4e#&eTD;DOn|O^+X0_B|w{LgRZ} zqgO6X^p%nv#@cGlUO1!X1&MBubVX{ZE*OYuc@dim+bm|dXZjv>#mbVx`g^NKP8r!r{wV% zmW!>BI8H;J@0sI2-#LdmP?;NxtI*R73|HYZbzp1jd$~OqmL|%evo3W-s9c^bVr3n1 zP+$9j3BNyACXHRsq^p#vGbc{=^yZ*V?!1*U?T+1xQsSriS08af;Do0uo9hIAtE}+6 z;UBT6)~A)$el_>7H=lGxZv1M3S$B=!`&Ss&c$rDpxQGknz6shJK1K+UYD~r{Hq<18 zO)caw|5er$aBW&wPCYC;PIO%F=O{e9^d2f8K1yDYS7d}_D4`=*H<54Hq+kf`{v`gj zz$|u(`L*n08oHWpeV5!5_dUTvU>xTLFGCa;SLCcK*mZ>%>M>m>*Q=U`omajHW;P8t zy4b#yh*0}2L6JS=TV&K}c7>Z9()dZsWmd^}*rbJe(@po9E*9WGSQbAyAIjoJcfL!7T<@~RYvO$^_n}}!>u6w_aL}VLsHkPLgTxqXB9Ydg!ny7SgsjB)V%3+kVusY2fgk}2>LNug+T-lDl*O1BZ>b{|}+r+FFj&1%N5h~%MCM3Nr_x9}ITrN`c8rijK>2dAb6 zqgqGBP{b3lDKv8}jzO{5go8lq!;OI?@7`6lG^Ba}4TnEBxS+y+i&3+Je;Rzdj%A+M zd}Yk{FVZ=x6nlBO&$W1HUnNxOy<4&q+7rC^0h-=9RFzq^5n-@^{zxaAAYZ1dgmj;) zm_dh^=i1FPqV-nSCz$T|dFr=7#$p7VK9XG5FQzm%UK$k{DMrSKXd;$rqMR(^UR zcYdT~c41dq$_N|YfyGp^1DqlJ3>PJ@VWB#kerr|KD<#&GirG0?aaQd(#g#Md=G*1D zxRq3?W&IT#t@KrEb}?{uuxmDT%}^9)APhpFyc(&1X3&fhk|n-)YHB%snl2LC6JpaI z;vw1-DA`emRT-{Qb(W1H6&?42!0KY86I0RN-(5zF{gK6sxBlWGdpmTKnU={~4G14Y z$U;%zB*ur!X~d|&cgRF>3 z*cbQh|VcK6=mGfx0J5lvNQSw=zB|5nx&Q~LY5eFe`yyFf4I&yeV6%# z_gdrrX_=#5l&ZT5_G4LtEaP0g+1>N__@&n>LCnCe4|__KvfH2WkRvr30pM!p1O11I z*^1SVQN(3!WWj-t9{dO@@$;ME6>jpC%eVR0ho@?5?&?*7ybzaGKU7qwTPnF&c=-m! ze6=g&j9N`1*dPwY`WO%NjOVlKx-=TlRo|PmaWSc^$YF%M9b1STfXfR5rZW3iLTA$l z;|^n9Q!)IW<$D`?w_fJnaj)TbezkGsX2f8-_*ZCDqUbEX@6NDO^$^-1slPG`D!~*K&25vGRFO*ev{s(Fysis?znEZ0r_*7Hq z`RD`8N*OKSIwMgu*+*RxImtF4yyEL=vkOb3f)W|=W*SDp%y zvG{5tp*xwdJB6q{vrFD>5^otA$k`f+S`Pj=v4@%G6;^{TBx!sT7$;S61zLnWC*LZv z^crf3RD}Th^gHKvatJFb75$#XGGZ>QFBcSJT?m#V=b>HCmN)~Up0o8DZt={AQ$O~@ zPG8N%Y{Vtyp(i*vZbkn;yR!wKGC6V8=;auk5mAjINGP69Nv_xMA-;{|j*Mj07Xa}e zl}JBr#|e@SRaRU^k+<`<=DP}07mz4E+Z}ht>TUFon|!^{TP|3-{~pawe^L_`R$~e5 zYi1MN^^Ymz*a<@Ujc;GnLM_0zUDfx8n)J?w@Nm)H47unu z#xVqi;3v8!HkL1yjA*me+_0p&{|QxqB@Gm(&c&X_%U(lVO!lDE)@Ys}Z|65~>pj2x zgr(t89%oP}yPkt>_hV~hNV=cWb^xO7UcI!>TXE5!3 zjgBrR(R-QQC8&EN!U~O?3!qX!Q`S5`R(GV+Y$fPbb3N>dvE8s{(wr)r*~l3L^UX8&G`2Jvl$mDTwY3=2_`I-t~}IcYXlJYL2A@_WFLb1r|PvZ=)ids8XmEFjOJ#^ z709xw{^a54%(y{ zuovfSn0z*@#suUx7z2;+lLNV7e#fc;7YLeI(c>?7jN?o`r%n&sL-O1+PoA@ic(RDv zQ|V#>qGvzZ=PTj&=;dzl2qXu`*<1gWd^O9&Y_4O`gR95`~LqCwgTM}d3 z{R&~OKkM%qIGUWado(tge_S_FU{(}1w-BA6z)Qw1%)aNh2yJ*y*>lm$L}Z0j5SFuw z^8ToJzVljVa3dbIun=`m$tzZPx!Cq3CTFz*?O`|c+l_nA{*dGiW47!Vhkle<7F^Od zid~NHImQ{7_TK36%1E+}+BehG5fhzAv`)9aw?mx-$iIhl)!ZghlAv|>&U(>v)0euX zy&c%}kWgg~4zXST4Sq(FNg#2sxZ3|+ST-s+mEF4Xp|_?wD3>0=q=(D$yvrI2cVB*C z!9U&)bK5SHma!xpfgpc`fs9tcEq3RfNwWL_)wlTCDm<6bDc`RbS_2zpC5Ax=c;Lf? zS#WD#x6k$COGKcGG}zPy(tePi+7ksEne<4h2*P1bwg#~EVjpYY0>znPyGgugGiHUE zkm}&F-i1rb{RX4Frp@NMYzPZLx|j>Zro4f}bX6}Mh-MeiXyq=kzvTsuj( zj7y`>v6FGM-d^mY{dCIFVaW?JVbJciMI&E7f=7GI6;_DYocap6-#n~_rzlP7wOrH4 z`EIebQQ~Y{^0&58E9R4!InL+!M+KsnXoOgj;IlL|{0B(FQPxa|Zkw?ZXIT=tXZKMc2GF`v~{ zFoEOUJRJ59K3jWKbPm2g&v+>MhG!_3=RI;K4BxoWKN&m@>{ystj!w&=DN#MvNl&@8 z)%HW}b0<}7-e4uu7CHljMsb9DsUs+~R$nnjx2Ouz?b5M!#cy9`_zT+u-|z5SB{_eY zETAt4`Nk90>~#PU0@^r5E^`)Qc4ehtm|?Q5?2$0@$HFj;3~|FP2S%kS2Kxn;NgwR&3WxM)vmJih%;bamQZBBqExSHVe--F&EEUg#c93{IAxX?f z&+PF{bfox; zROnx$B#7^=fS3oQLYQ=YT9uYY#0i=MWn}FJk)!~>qCtTUmqX6fJei{2v!*HU7ZCH4 zQr4MFw|$w4&d$P2eD}Ri5k8_}Lc9P)({zX2sDynXQgt)qg!3j?RQE;=?jis6ncL#( z04Cau&TLw5JV5Xcj(w%?;!!M43y2*bjKf5-r1?+zzu%EotSY`pbUy?#vCPmG8Xl&^ zb{Qu)XU|==MAWD;yb5vR=ig&CVs}+k4PAWhTLHM4Ey%z*tcUX!{S&`tRqyD7* zz~MWGMk3{ItaWo%)QG{EjhCe+yYoCg3q}tp_qN=JH(+p zHt8g*Yp<_1Q`E~KY!Y>c!%J~D-7;kX`` zIt@D$nq_e1mP;K@J_urxtQ{ZbI;M9f1vnej@&uONly^92%t4T*4sgRNaMck`O9*pyEb(3ic_ta zbOCWJw&v`VUZ&KTC1PL7@NDS(+&=EP(5WoK)gG^F`mVXSo~lv*FJ;6AMIPDLIa1b2 z=AT6eb9^x$*KwAX6v^*uyMh;S;+Q?-^E03EqJQP`y`S&jhppAUa>?e{O()m7HC%EX zZj4?-Up{|-0p9iDFyl{Hjh$Agj)PjWzVFgp398s*u;pvV`M3K4WP(LNm9p?vh~+(_ z820nA18RmLPq3o|FJkdnIa)O!s<^)@g8Jj#vv(Te{W6x+4?h$%0@Q{LdN6Z%!Xnd5 z`6=Gf*Q;wf+c#V#6?V7ASh*FuE^qVwJgH?g4;0(W7do%45oH5B@%l|lx#S6I#TtVv}` z`;sX(SFMKc_K00xM2P5ET7@_&lI(U49GoNydb z)j}Xvaev_^r9;$a#)g%y`N`2&UU`b+ij8Ik+Sf}@V{6_Y zn|Y@Et#{r}CJtq`ucl(-WR3zU*tiBT>&p>jqRiSQ4vu)Ufie?uW!dYXDsd6TL=zu5 z(D!eg`OrUSxq&D?QM4?(%(act01>xtyvrKoNj0($dX z({JpnIn1X!6IAsokgc)cGqjmap_uNj)rk^RKzXuF94cCq{qYC4#?Fn~zcSc(F#~8K zu*LuvjC?7K-NOV28icFn0zsbqj898+^^cH+g{~4*?w@V88FibF;CSNt6y`L&U;@?4 zKTfpMDbjjg1P&a$)toANoYv4bikz)J8>eUr)gHJv-C6ADVwC!-BeMx(m-}4EVl37c zK;6KQ?}a2gSNs_EcEJ9*mx;-9MeYp&&hG!;e>ZjksLk1A^;w;FW;1VXS$Une<>RZy zoVQ$?ys$|nuaW^b_DSEtz^iD+u4LTGj<|N)jK4poJA2qlSwnk%(4@nf>Y`vKEDF2C ze}ikFeqf+p-nodeeYAS+U}=?)h@9t^BDT%uU41tklTE-@Nbcp-X6n<2%W<*`8t1&9fdR4@(SU z)PoM|WC?-~nm-ghS<3VJW-%sN6~Fb(;$265Q;ZWs76mTLJu(Kz-|!gT4$eei_HW(& zy2fZ|8(hIm=~JV`&%s}+6wMpi8 z`rluKP+8m_+#Wy05?Atq|NEc^->>^}Nd5fK`_R>ocT5i7m%5*|A``2~#X-XfQ`-Lz6BX8n>8*V3V2kxgt0L@cnePdMppYc90Kr;*Y(^V0Cyk|6a!& zccF^{$@v=cE9G0?KexZvX1!R>ZS%+0l*E_tyr=Ad@o!E0D^&$E^=yqkZ!Ydjf8W7B zFATK-GQ+HIjkELEJ2Sh})OiJMNo~nZ)hk+aQRgMz4IA^py0*0cD%gj}C74h(|Lqgk zk-wLR&|PNibm!xkU9iHfvrh7-Ib51ApK>k=I36aFv9-<=Z*Wn^0+RF5*2-oy2}@iX zc&dhhj`r_6VbMP?lN~Lc+j+AXZb^Kv#V2u~cb02YV|qJBA&FIE+e@i$a?hE81R?m< bPqPrabjL=NrMLaq_}f6&Sf}W+{iFW_psQ3V literal 0 HcmV?d00001 diff --git a/assets/logos/logo-white.png b/assets/logos/logo-white.png new file mode 100644 index 0000000000000000000000000000000000000000..7440fffe3e55baca927a46fc077b43846ff17c58 GIT binary patch literal 65977 zcmeFZ1yq&m_b#d%#R4%&MG*uQ>24JjkWvwl?rsr~wg3?X1nE*FB$xD})rHa^U5gTF zSx7FLJ3rk1wxIj}KX;rv?mhP$##p+STlwORIiLAF&wM?v%ZL&0rQEx1+cshe@yj>2 zZQF@Oe(ffN|HI2Ar3?SrV=1m=y=@!8F!F1Aw&P8cZQD+6lem2G*1d>tSRrHecFM=~ z#5ccqp1Jwumi2eeBgV{O59MU91{}D?x&4aXbvpj>XyaC;UFQloSxBm)wRCWNL#3RW z_qP+0|M9optBBQ{)1^(!|NjN{{05!7alEckKg`p zm%l(r*+jxh{O4zbhi3o$(&hfYKc3$M!dU_-f`5HFBF;A_G%5f5X7I|oFE6faYy8)- zIY~e~x+{e6Uq)sd0mas<|I4!4n)R&(|J$zH+Ur|k?)O-`72*Fa_x>N8+}>(#rTss{ zj{k!f#n!8D;oRS9mQ+$ThcW+CS%2*hK$x<@~#c54MPoKZc^M zx^JuQ`#ltG)qPua-*2IK3*v7<{4I$852?OY-TcNP|BRYj+RZ=9WaGCji2qw&`H4&a z=OF$Tklg~Z|K9=G7o~xnKfM6I{M{L18NtY=we<(DmQnwxZzwmQiqP zuW#-3t-byar|`dYn7hro)rj)vD7-~$Z1WM8_7<@w2A+XC$@|&lcj@LOlO( zAs)^57q;JA+4yZM!v9t|{9TG~ zb)EbcTz@W||37q{y!%MxZ-ApY4FZWuG~Y$v zy$jn;f?SCjyHp~y`AE2*=ghSb-Lu52O-}cAuZ^>9J{Qhsm)-8=1FUcL-#sdrcpAM6 zziQ#T`EWQ(L9}SE$NdLf$jd1%3!?F^j+;-2d(i*>_+KJBh*BuN_u>k^481Q}>(tpi zO272}}qD(MxIb_LdWCbH5!J_xDKt zKRrZC2`8{6u4_>R1qF-I2AiJ@PUg$regNJHo<4d)*3r_{#btGQqPVDNpcSQI@8GcL z^tdE1Z!&yvf@^aekV$=6fIFSCo3wRI4r*DHpne48(u$f*iJ|J z?!F$8Ci*bu&p@PJUAUol@oNml*zcD!kO#%TXePeRsh1e-oG8JyQy?q4P#f9t)S z$nL`@asNKt&g8DyGD*1oZ{rrWaoi+0v8P*7lyvfK#^Qy|kpbOwb=F=wQG(gOknyY{ ze`m>H>K#joQ}-rk`(Royo-^9N>yM9A$hGm2^81+Cj2h_VUSB1iWqS^^mW}78Wn;vSEvmWI znPZkL9Q8P|(=_v0qEcr3lE%359~KaU=cY%ju?+Te%#%xy8P&OV+x`=UL5POyO0!U| zhRecf`61HaV*<7*_Ct|&PD66CLUHN>{~4+S5f93!9nXKB*w$a>D`tlif-wlVu<30K z(UPWZZ{Ob?Yms(V-Gedhf%noMqF*b~Df1c4jytP&idK9XU$Q2Tiu})j?yi03x;h6ZJ6UYa!1W~>5>~411A;kkV$JAm&dU?PZsA7(ODGDw%n{6j}JG$ z`9FSbl z8S}<5Hf6=09;^=4F>ZSEO1SoG*wRFatISY#kIPbGYnZ!Ka-Vv<6h&i(o}_gRS8Ir( zhI4bu?eq^{4||a^u^*&xiv%;OX;# zU{~0}^icSvPxv0!i8TKn$BClmy3osyV%fe|FhuXjpQsFCN=BBHk@hx>+8QOYb!A>q zZaapAu*+5Jv9wJWEs2E%=t-_Jkv9|-Q9Fbym{34*5r>juii{fL2WxnGIB%52ONUpZ zt@@<`=%t&uPS&413(;{*gWwSHV|W8z&GYwv8@CVKSi3G8#l~bs77m-yTZhXI=zM>C zSmyc(i=3c3!D%U(AzJ6$Y!hiw`Yub9T!N21E^kP+n5!REvdRuCp2rcFmyl0SM_C&A z_ZU53z2CQgm-kNA-nO`ni?z+&Q6HCCC#>K0R!biSmtH3Q-lVo&zxX&?LYC7=T<{%! zGB%#|d$n6yw5CNW<=;*8luJ=B>KLDndO<2fM`?&$+|FBQ5?1lQjMR|^OZ-i4`-0WQ zv6_jJHS;e`b!yx%yvKN#MAoK7_#(^JRwveykTnt0$Gp6slCxY*p1O6u_Yny;K|Kq_ z;z?+w`}f69!subP>%gqr8ogBC276wUVtv*Ry7fgF6_P++OHs+KEv0do`<5t-d+~xC zS3erbiBYSbONer)q@&U8ZyBr!PwtU}@%g!i{(XF2xEBP&=HRj@oOGW{3?HZp4)3z- zQFH!Q5ww0`I*fC;Sq>Y$7uMt~gzKzN3($mY2cp-1D@9+bVpZe~nZzDWburZH( zX2lkL!{%i=gol!;-@EwB6<3Ova2yieM;R4Df|yj2dQ{*^-Tu3obdT?2R!WeGd>1cz zyS~`jadtA{o;F%6+3qG0zEM_0XeMghq$P#Tda#;}L%*8!g!9bvP;RrZP(JH;rMH?7 z+R;`z!&Iab>1EWTcrqC8pOg8o{j)7h;Qqw4+0Z?&-_fI zthC$SqfHZRhlsN%-dTEFG$X7i;eszaaXZN^zcp;k`}<*jf>rNG3^N*AKPz@#N{V*X zUw>^ZvE4`~b8_7yckbFSx4{71ZFTrTGzub zPFWDcmj{m9f19f(0e#H&m1h$|U@2Tl!}y<;l!9Q?RM#U(gg2b^Dd=;l=N8a8d(dzY-gx{MgYxso;L~Zi$cDBU_wc83p0@g}wdb&x5r%G&B!BHp3F%^Z&?XnGDw3l3;5mjP*q-{q965{ctH~K$4qcxbTWJJxR zMw9z=;3+)`m65GY-7hN$K&Z8Z5J8fM;|RBTAfT+C{Ra-^#-2vy4Tg!&-iA2TZeB3n zR7ZsoQZDK@M&of^or*#Y9RsleGB^8eo8H_g<}&Td&t6=C$0mfwwk&J=<*^T(CD?dr z9&B9MbO@WyspiYvZ<>TH)~ELMdXAdLkciAD4Z-G+8&Ke;UY%`)T($f)KsKqz;(sUr zmUdafn3*;Npb2(mUfW+`RrCk=W1eQgbgk<%L4Go#It zE5d>271JU@1?VqEOZ^x&Odw*N};!k1mH%jwd ziTAQK*-vCwK#YHSlrb#Zq;*iW?BULRQtR9G1`Dcq(O83D81~pGSAgLGn*vVzd|Gjs z(sTXtXqZ}SSu5H1_jQ6dA!K%}-oQ6+3XW6tdIOb#`b*=viUNx3cVSk`pHJ!^47X4y z5#g|grNlwSV_u!N%2Kj?vq&FaK=-A3kpsQq|G+Iylkj~#Fx{%*dL>5MWB>7{+QaLM zMj!1<#lt*A$!*%EY22I?=VC!xR}sK4F;>m{EKCS0R<}OX zemWrGJ>UkM`JH2&tk~&B*G{usd4rQoO2tn0vy=_`=xMcAbp)P-GK-r)e@vfxu6dU@ zuJxlASuzDx4kd1?%yFzGwdNU5x8YS^YBPv(gX$gtKgl99L+Z8tTvujW(`0h7cf5>x zii;8f_njlM<8u|UsyH3|MkCkMzM8FUp5J$MWhuEe!UC5+mNpn+UCTxyG~>5`q+$iW z4+{DsE?Nsi(XO`9+sOIu#E!IQCKzGS>79)#1uhwHDa*Npap?Z)2tI2m;Rk){8K3kj zUs&-dmCQ6q);Qz4hFrwTozEOT#;B0eCMCA8HnqZT(sG_d>%$HX-SPw00g1MBKfM5x zAIZY6KBKe};rFRhnjWm_Vly88{3iE9m?)gkGpoXF;R{oIM1%zzD)1>oOZ>snn72-%^(Cg4k#*YTu+QPCioh) zXPkC-BDzOY|4yQK)6#_EE!tr;QGDj$v|RtPDLZz+cQHVQzry>3h)bpj_sXYe*VU2H zmUJDl9;zpwDlCItzPTu;mo`_wQO-_cVT!gN4E=1v3m{tBms-dvA>^{lywGfuT#brF zksh~Mhwj5q%L~(L(|T(wc*PRiuY*emcW9MYK^DvZ)c@wj>nZMzq5~X!(P0n2o=u22 zq{3|5VZ>nlekU2a$D=BUY2TIpILY9A`sH?mXfs<#4zt$YcN)G!NaeIBUWhLUmcBg+ zaVumO^}Tn;?7u!wkEnj~!7_N-yfOZnJq&MGkK)5mkjkpR_hHng)l_(pa#|v3(-?4J zsW=V&g7X4R%9EI%O=m*gSQf8mGgoLoeW}D;TitfNgKJ3STfZ*4WC>TmcS1wz;U%@` zYk}uNACU;R9dlitjJF=D9c*B+7HvY?GD|&3e}le z7?(-BORby3xeN5f8jj;!cCvn#$^g_`EY6ORC3|{bqQXrbi4qJXvvr#9^B9B+DYW`R zL1*b7zYz)FB({@KI;b}6SLVc3%QWs@5Q6S;nwF-ce=b!^_t7#qh~H%~S7fT3_7$}& z038k}lejgUXXO*a54+;K>;@;xPS_F8Hwara#7gi*SILU3ydcM@-97aBwO_hb|JCX5 z7?SYHK*r=A6gPvr<1&%m!fFVwRZRVEwm7|MTQlMhVKYIbx7oW*9%n7&eR;~LU4JU^ zx_g1C;c9~i ze-akq04G}%0PUy)RR-3&B{W5|O5t?a7+ZqB@LG>#+>>L<3|IS9sBoj%i_8#@ocl zN{b42L$=z1rbl*4D6WPA0Wqa&8!K;kMt`ITd(V|W5+8m_1eHaBn;mWDfZ{c^e!snw zP_6rtD2dS5s>gv62~JWeP}}xAKALf<-0q6e0mgtp;D@%pLVo=yWNp#n3T&Cyl#`fmH}9}A66Ujvltd?ilA?%1W(140vp)7mEJrICHY zI-k4?eNNNgXrp0Vq~tQbb=O_h)#CBRtt>i)ucYFKG zX@}hQ*2i9Q+l#YGE1FZ*nCNm{ThTEgvi@s8|xKPwC|54vo$ zr=$dhKW_PMdpZYpC9T2tl<<5nL14~4Zm5A~VDI`+1}DTUe?pR!ZJX9E8}lMlNc&%^ zZCTO^aQT-ha0Zb!L7pn*6KB|sQfg?{*P-;rb;wDMQ_H`57A@mJ?O+%?^nwtx0w9CO z$_HV%6x<84_D&v#`tj9-&Jzg%`zc+y;oI59fd$)*8;I?c^i+l`JYUjKeKYRq=ca?Y z3|7=pF2_03fUoyf7lw4$Xz2SBy+2A28+n~dwe;6SR|OEexpc4_5>axBM_ySUukelI zWyFe&o3MWMS|!)~d6XP-lUL|F1J@1@wV|zE^L>9upreD1cAjf5_F*#n>kBX6z{h4q zjmUc#XW)_O)6y;bKHN@?l{SHjzyR$faePqjM#i2Y02JobF7sNAnFg|rX=(y?Q;=Q; z2mM6%Tdl3d1*;oVJAJ>%Vb;NkAHuj)iZLe3C+j1`l0WrSmuiv2Y#SBMr8D6Q#nj_R zf)^8ng8UJ-CSqf~E&iyF*)?`)#Q8X#dGW%ac-`3%_a(@(mr4k!xJ_AMyZGeIwx}TR z5L?3spus>65SSd)Sa{#5B7Aq}F_-ziK_t7@2`_z9=sZ+D^zox5erZ<$k5VtgN2k4q zv@c7CaaPQXwbpSh4z$IrLAvS_uJ{fWEy5dE%tdjTw4n7b-z3JvE_~7Pw69KNjT0EX zpuCm2&KgMZ+5kj{bE5oLXSE-T7WU7*}xNNoI%RsP(Pj(-(j*C%p=fIL&)cFEP>C!{BkzGaC zO1DAe8}G7Z`4DMZ?fhX6L&zAaq`MH`?Z_;mat%Y;$V9$$u6sR)cSK74#SBZAkh{{A4@A(TwDf_ zw1dA4QfZUg!TjvHV6oAUrUz;H4ND;(H}?Z4bJcTYP4ALHu$t|p8Zs^YQ=~zmr|?%n zI%t|$;7pK;DA&E+7Fu_;P`mPIOngJeXIXnsE5?Ak3#DH^dUYwNK*>>+9AuW;)v{81 zFn}+5esK)t#qHOERup0oT2SNywx%tu zq~~w<&bFB;6r?w62C{I^QF}Dd6cX_ z?4K^utK}y$GPLw=ySt^huvAeBy_Ok>7Oy`r*AuPP`M zQq$>F-EYmw!6u&uR1`DyYpMb8oVcczaqi|)6vK+i$*cOG{TLh?;_ZbU#HB)5-#dRf zTOBsnVZwqp3U>P9BY=BS80ak}_?4q!V`1caItg4U$w7eAP<#3 z7i>OqwF>1hJDMje=5|oXVdlw;A3-5=Q&3>T#x-A|5miXKVlOPgh5h()w~oycfLm#x za`)csze1+=H7CI{ybp2_kw(Bl7hx58rsc4@6R_tst(Ca*_r+L2t~5%ZW!#TRNrh5u z5ID)If*gY=d-?{)2qG~8BD`zXa9g^LI{qEZmcm=xjlOp{EHhYN*4A%+D<;dMs#w=FKlk? zN6U$(M7fJL{w>5eqGVy0(ulf0Zg92p6`DI^7zyN|apFoI7m=Na^Vhfm&*(bg!4Ms% z$lxr&idN2hqlpPOwa}6U=SH$s-ZZ~a=`=V=M!Hvz+uyBm8)n7gxNh?lfLe->wQ%$N z#NLQ&0!K%*PH<8?48Ib`ogUd2Rfi9g3eo^9wKG{Zs(SZSQLpq4ERfRa+*pIUD7CjW z5(Az&K%x!GM`t;{PL=AL5Isa3p}PqM0`Ck9WM{KPhs0%=2*}Y~cZiqhQ z?)Rfz#rQJ}dErHUuc+>$3nVO5cj^Fy6 zKgER|uqy@Gi!|$#5FX1h;k;ir{o*Y=(Rz+k+L+^DPduaKI`>9qYM1qkp@7Snu8DJ_ zruDBxJ;Y61fP>c7LRXD)iA+M_xwPnHgv@uT=z z^1k|uPf)SD0+YAaa#3ODE>DY+748?*?JgN0T|Ah$(SAMOFT0{tQ&``WJRrrTqv~rz zoaRnvOf^R$vu5uolh}Ni=RZC6I@)dmkY@%1Z~b^S2K;Xv|c|D35SRC8L8F=;KTHg{Kax-Uoeix&* zD!!kx!7c|%xN|llD>IFw04M4v4RXwx+4k4zNZO-(rxB zO1U%P_Z}!&65%??YoYNre`8KshJ3c)+L$^rkbF2EdcuZj zfgH!veNQJgyYkCpCvKZ&bjy0e;MtTgw9!>b(U-&kYtsru$5P-LR5+u_g`LpK;|YsTn@x3H&YbN3Z(rM#j92e#nuh<|VnlxUK40$LQfse47y zh=Orv^&6BUON*v#E|`WK*R@qoPAnO-DmkA=*>SswJ(N>RURnDa@;$`YDBH}@(JqT4 z4{Ft-cGRb-ag!1AryYrru7td7{_qpPXjD?1lZcT}7pXe{bV5i?&M~CCm(w4BK=OM9 z1G|ctlJm?PnT&I1DyJpF`l4jlY}=P*GHuz;>B*@|BfD${@;A#+UGYTmk`sV7AQDV@ zuqBJ5$>n@0046+zo>}j)FBx>cyx9287PFF=5ViL%&Uta>2Fkg|8BgpquAE~^;UI)6 zoVwQQP+HjB!m*#C33!lE%2{Tm47%@J!8zg`4gmnid~$vpyKrtZXK0(#)*y7>;KHute4W%mOD<7}(4#NvxGfp2d=-vtDk&`M=dsP*t_o9r$>x8`^H7_|d9Zxe3fXD*)C zKFs+QPj7a--yat1iF>^d-nABqdh8$lx9OPx0`TD|C(O2Z9fO2>!Axuo!#VjRU05M3 z=-!79DR2-o0+d~WtaWvGc3hxk$1|uUlY7K;ag=SQXp-anoS*Hhl0YdgI>u|M`O@0Y znG)cq$LG;|z<^7C=IwiYxXH#_lD@{WWIU(yFAY5Krb<6{T7An#nTN@J36u|w>ydB= zGMJl+^<1r~2HcwL>|(zrdPyyAxXcpY8BL8*LwPKL%w+zM(A_bkK_Am)5uVIDj_(@) zUXQKs ze)?^i7DbB$57u#ZRGt;%41#U3Fcs!FMs3L@i^hx#8)s{uadtRBKcm9-*i@)N)E=jm ze7gziuplULcB_gZ{E__=kYm>M=ik*QxNU}V%IAYNs75*p91y?PHPuSyzwG-l#Lm~= z0SDx=;-C@ztk0(}%~_Gu)X zo7M=3{qP9i=?Y6%h&=>jPXTJU1Ij!T(pRisL;3e@gyP$f+W<^`n=XWuZr8I+!BeAd zqlsR74P?b?+n-DT&j~TkpS&q{Hj7icqOQNX1f??_Mkt!tgbjefb!DO>m6jUm+HR=2 zPnIwT)N-ccD#UoGH^@6_Q`Bd~j#*v)?`{Bb#lep>-*w3#+L?609^N9FRqK+b8FGW~ zSnE0_c#FFuH#fcoL*!lmbRk^H+Uo7BMvUc}m?XFu(jOp^Af{a=jYQbU(ZGzN))Dq49Rf^Ov^qI%E;iMDiNYX4%alX`UB<%pZ|b8zF&?;; zes_5$jSbtr#?+Fp%x5X)zYbu!6KKx0V?gc&6OUL=|?tVs$gf1;~X8^1(_Tn~b zNZT`(B)m+Zq7kxJ-f2f`HKe=$&i?u>Y^p zAN1j5S%~Z$8x$}?8Ueh-2ZQ>6M(`Mt-^HZ2S`S;q)f92RMV#T<#*6rAo&;@QH<=~% zb)z&&#Ao=1BCK!KvPifuK|%EQO;R*Uidnk4ff;)k+U>kFN4()ZJdWGm?wt;*5T#%Y zh=KsI?@E<^O<1VYUzn8>OfYI?gzHddlkQAMi934k7OTkGvi1Ay_P1J(+QHZ&U&{tJ zeyfG~%fuVmnn2#;<2t`q1ng_!P?G9-+lC$tGjTc|E-ly2*&LMBY}o@G=3mkH@!Xy? zb=QbHh-A00!+l9a86wWK)E}%m&jIVBJjpmAS*m4QOZoS?0PD7^Wxix>1?8~fU$Q*q zWxUd9UXY6FcbTeS;B(ChX;a3M9OM1mn$Cu0!>CWVIer`DsMWSUYY z{ZM~x2pc9iv;;6?goxuvL)L{+Oa3JKD!4ZbhY2fYNB<}o&MZZxW;(teRsR3R#0k=*gGIWJm511T@J=W z;@@mi&mp3e)B17(410Q+Y=Kr`S~WlyeZuMcdwU}_C^u%UpFHXl29+klm(h`Ye&HKL zVAiR?*oI&i5buk9ydVddOLmx|*Tyu~_TKGAEHVz`R#hG+TzFZdQcjD$cn*Hue`&bJ7rmYlF>f>XXvO=@BG=@%_=}krM z&VxC38uR@51o&_59G~siKw=rqE@J}z_QU0z8ZVW9&2zEjILtI_%(DATaO(9}4@VbZ z-s=(=P?v+5)tbh9AN8%iBOsaQ&zaG$o6TfYO#7DXTTlvY|B-psxo$^`Od!;vjkVE3 z9JTe-r;u##QcmNs!+e%rw$`xqL;{kYG<~l697|Mp{r5CT_kJDD#fBkd>q-Pb0@)}* zzPH`*@^UEG$uA#A-IuspRr|-eBgQ)!mmN-pVAA?-4WIdAOe$9jiL^vt;veAD~0e7 zOKOpk6bIpK(Ib2tl z#b^CQRI}>@JlA9W^I+Vr<9Gd(#~r_=i}mIMIk;jj+zEQCMl=hPAy97zh6P>0slsvZ zyQcN)RJf8;BJ)CDxBh?{6n)8mp@Y>Ip4dwv!?tJNre&Eu+cTaglEY!M_#b0Fa5J z5g6X`F~lU}`=`YE#SrZ^$qTAac{aI-OW|T3L$hV@GU$^8CM^9Epq3}z#1GfM*3m*Q zbrs5Ux6Ldqfaf5x^FzXCn!y0mh>j9ywwS;GF3LS^2J(mqSUN5Yu?SU}fJH*RL>B@E zcCywB=$WLHhFXIYfr#&F1QrmAX%u{9uTcv6T1d<-y8MTTe~<@L1iJn?{etE9PQ4Fy zfnf_Ww$mb75_avr=dI_ddoA$B|vZ{s(|e509BzXtYZlwuL6i@t(W;}RC&hgjN z9cGQ~PKo+F>cdUsYXan8DV~o>@3JJ5;}6%0G%?J!e17DS1L#?&TeyuHV#Rs>O1+in zFEB^=jHkzmqakoXKIs-4m>+5rbKrWdU5v4Qv#>O=>r3->-1hGq99TqnC=|op_K_tS zLi%=pxW;Dis82mjl`r$&YN z!T7;W-cF4bJ6>^+_9{6HY6UnKxZdt>aQF(MhHv2@lrn5r*D>?7LUsjZd;QST~D9T*d8x1z&9LO-;uf<5FK>$iJvV=10jfo#2M(xh` z-uLzzzB~7kh7`?pB)_z=9cegyWDtC@aZFF5d8ey62u_#)&|w82R=kI!^m~OMp?g7z z$-_Q#S#Xb@`R*J+&CEw z=>@NBglP_+bW?96vKj)J|Kx5%e3mO6darNR%#S2QR|A($UNFg>2+Y|| ze|e7u_Zf2`*e?4Tt`0tBOlva@C;$ObJGSE7nyTpH;E;78i1Fb-HJ;+kEV?JF2l%rU z@NHCej#BJ1_kyp0@WWf%XdQ2s>!Jkn1BK8UYskrop&dW4+`c}_3YlZS|D|# z2+&a3nt?upS^$UCR8lI~)_2wu!$2SVQ;7Wx$ifb18gyPM#(6Ow%Kr3YCIQB1N#O5j zUYO7_e*SoQ&lriT5yAKOyH13#(wbt_rU1s(F3dM%ob=W~Y6*QXXg=WdTSCVM&XMC* z(+J!PghK10$iPt@7hK>Sx8NQU50vKJH`$&o8F^!{-=gt&r6W|CimA%Yk#B2x0K4?N zuspsI;N*d5N%{a0?3;lKIC0eUwJM+#E2PWfw=&2Wqo%B1PW#^K3CNr@IsK*(E(rGX zo_ryX3k`qNZHXbq(c8F~JeThE5m~**0i@$0m2!kSFIEU7>##flW-Aoshf#Z$OAkvXVHD}6c8Rm#Qzi?1J_gGH0XZrbGvMcX|7_yy@pA^f((_&G6hV?OSj>I3|Adw>#AU7B%H?r=Q2@ACl)R2T#bmY;cvccm;2G| zY~F{7Ob?ql_nX7_^=HtmFEOoL;NrPbLptU0YAz%IC@$}3FZB&>(GXsGef60(D9JQg z5ZEG2=0U8-1}=BB3i_N`%B z1xV+=E+)~nZUCjAC6=aim_^ss1yJ)RGrpk3e5v&TWYhbwnYOXcPSS&2 z=qscTy)VZ?kClQEY`L{$bs*UX%Jf8y310g30z`7cjEO1J|G*7$oPWW$3@?PmmyiT{ zTy~t=&sOJRXWYlrx;HO#>#$@gkmJ0YofLm}OG0XCczDWCqvMP=RGRj)HqXvAg2D>o zM@K1}eqEGV4(zNpZ~~%>qy3x@W}$43fhPvq7vfA#GV#K_DRA9{ty-qbiN_mEG{V<( zeE8@mYOZB#1Ko}^fjl36+*f-$)fwe)cz}&yx6d!uTjbU~9BDMpx4xBQX#@aUrm0v5WSwNG$xrfcpPS=x2rS%+oti#>PjDbGrzn|JXy zrmEz&S+OvF3_h=9{PrjOWM64*E1={>QwT6 zgal2Q{a9~l0X=6bnbCehG99h_GC$TGmU9@q{Q@-Pt%%P*Ay&74maY`&ni?99V~11* z@ohRJxvAhs4!-zgq1PlvMeQvHj%A;E;#(>SC&BSXDX*loKhcE>6e;9(R9mMz>udjZL_f3Me-io^I(0Mh_ z-x{hEmGPZaikKqcA&N~F0UdR53&Sw%|55e2QgT{!W1WCzr8h?!25^PbwMa*iK9nBx zGK?7kXjgZsYS26q=$V(sRINT9O)5#&LXUAs{2?|z*I%c=tcknneBz9_utkDjp3qjq zyQy0ec7s(f6YOc`*->apoc0ALprMM#{9SMWn{JfUcKmppHOg{)3!UaPP8cM7*(!7ejir_E7XZ?d%DO>&*zHj&BHu+T z%CSymh4zr2O-=yw$*4?>5oNU%bk3zfYtK??6Yvb=o`e}0tAMt6KoHlDc{XQyxBx&z zOlQND4*#S4v0Q#x*@-H-Y3tnre>awGW*fj{Cjy$G=bBC%Ax3E0*O@IacBKwnSp*t* zC@{n7UyFt3n01DM#cMI?71(>seeFt+uDi=I^}xNK5I-C$ZU~-|MXr`_OUJ(EN5QNa z%ew4HRJ_??W;iBIs_+QGHXxgZ0F8`@^_8HsJ?-EMbt6TO$pLGDQ{;^f{qp z|3wod4n>jHO9_G$%|(uOhz~gTxXSHGxE+F#KHMGt{QlOP>lar9y%JJpNbYDvK(aYE zTlp#D;>3Vz)FLgy>13H~bV71tR=}rkt+>8MMZ3zqq6a^!o0nS z{?U=?rhnlRe|zq0yNT|>2fL^(OJogd!sKVvP6cEhn$lnk99X&>b<%Gl{5h>ye$Uyd z$1l7KB(MbZ)zEVIO2En2ajGmm)m=a-gD_*1H97>6O6La#pX7Z%+w*?5 zf->wS-bVZj{R++;6f{byJqV0vTh9@tY)EZiI1zlsi!>Ap_C`)&MOi)3|#- zz>Dzy!(S2u$Pq(z(H8sphhH{53r51vNgo9Fhk=g9pS5Jr_rcA4Vi{`0u(|Qha3~Oh zkA7!E*KWKluUq{#Ett;#u-^c8W>i4cRg>dWKzN)-=y=n6bKvkkI@3MnFi>^Xt^vhk zs16p*QHSS9nfA-aCt*A5uj6!x*sfi08VW-$u=_}k^R5SjFA+d0cob~c#P&l;e53U# zMBkrdg?zCTB)-4>m+|t~N7sdMRdIr0eYT$#$>>iUTTmK3UAwtzA3)UH15xvrXQ&mS zJW2SAy#y@8JwU5c2;O^pR-?G^sLuKjl%E7Ty30rY9eMRxx;7kO_PEoh$s^`WP{ z&MD*>#IKoW)^NweGQ`E+!u|!RlLS)dFKx*YuACQ$eqok@YgvW06;c~1P~aY8)=#s3 z73Cb`=1M2v2ez4={A>n$}hbit3tQxhIzj*!Zzi#Ic&sL-#C;G^Ghkp)y0c7nUBqSclHAv?O=MAV4S7#ZJRra6Hy9F_V(hL7I zU=cB4oZB<>2B8U*vnHI!Af+mX)?J{4;K&!pv^xWp@sQ^90k7gl@p;xmVbbB;M@^mH zTYBiY1iSsxcW?P6cB88M!hH#XV-0ZlV{;+QF#n4}Cx(EUDQlK2ik7ImOQ{{CDe{23%x(OW=+Phgv@`**Ffx*{^KQuZ^A-*oNP`xf7nZ z&-ngJWXC{9)d7%#Sqi?fTSFu+Aao2oCr@7X*XWbJ+KFw;`+u3gA9K0iUEl!gfp-`D zDKy>SEP=;n=zu;$X#SMMO8z?8$oF1NG{JU)?L>5;>v{%oRVN%FZ_d(h7=4(AcM>HV zjREAiNhyWD1-zO(c-_{oHC4d{Pne``PyhuGied;H&Bp(E9icHQk+ zkTjZ7l;ny?4-uQ{Xd;c!P@r)`ROABmd;{h2%PMAYAU<&Xmvjm%eL*eY2*w$q@t{TN zCEr||jx_YhOD#+d& z;5!oWnS;x;iBIyH4>?=R@FGYO)T6V8gHTke9;cUyc%v@aF!fxF`s^3Onc@1Ke4l`o zP`&F7s-pBt#4jkxlDl==#a{$?Bxv+-S@B@)+V#i~LWVTdRXs&DuK_tb#T2y7okFXC z9E?DHQHf!Wqrd?fXOYu!;~ADy5-n1u!T1b)&=?NC19(35F4gV}J=xUa^Pds4Y>3&AQjkE!Q46%A z=mI3tTxCTX6>e1!39pomHpF=ubr&w^BO+PQd^hy-krgQ_RFJt^KxW%_a~cRG{UBzw zQEEl{eP2Ddnblr{HfAPx-FEk-&#y$iMvsA6`=Sq|ao5Oy#wUT3c-xN66L{DFvjUaz zS^iZZbE>!RI@X(ZPXrpmYi33oz0?c9NVZP_18u}leQ24?mJ9I!mCrb!Qfz&17C?(w z-qnJcJFWWF`j{eMN{~J=m9HP%_I2sNF(c>3#xfc@KOMyZWaEHlC6-E14UVe$f*Jg7 zX6tBE;_I{+qZYz+0ZVyxJ3?Q8*<1(kFt=vZ`J%r}Fd6yx&iDKB zAoNJVhczgGZKc;5s$G<3HI_4rz(}rGn`{6YiKE?>Woe!+U3KUi#<#VqT0ct!M{r^^ zO}4}{q&xzGEGIb^X)tL{5dnsAi0rsrcPSa$$O+A%HYOjgw4i_*tKk+ zSk4Q#->ZnIBzds0B##GsQQ=~q8=ekZS?XD{U1}uDhz!ucsLfe_4;lIV>d}$~=+0rgji@y3xW)x3=t!(n6&0u^YqC=waq#`Jwl0$(|7a6NF@5rhk0H1PMHF5eQIGGBYx%nH0iel$MhLr}{E$5zw6%Y}gVbxf_#fp6p+CG4IA||L^Tn44QY0w8%=aqJpjiO>(u~$G8v+?RbZN6nR^_ zLJBxZTYz{HxN_D^rtm-``!tsXTSXBbv=6P!*1@{y5~brGd&2Yh)fG$((l`SHQ`yg+ zOdjN5IFS+R)=-x}Z-9a`3v&CIKP5%HPT>y@{Hz{5>7Q0YZX6Y)ed}7Pe+GN^K0cR8 z&z(wn;YwrR!S?c=`Z7dg51Gh3J*I~v8nG$jr@@JblgV%bll+ykpum}rCPB@$>gAK` z?aOeCQ9i$TYN)=GDiI!$)ykLELGqzs*L~t>p4;tUazo`b8*iqxdAZy^?KTIRfa6m$ zk5g{dedXxf;btdgUoyYRO&Pr!z=d@ zuX+Gi`UcmLoxF79K?*Ovn??49Zs!w29qX^$E=(EZEQWIW~PaZykVjQ?H? z^h3mYYRH0^BHFU*^u0YFFbrCyUDdkfUSQx?W&Fj|rfQ|%;8E#G_a${W@$BPRD3e0Q z>?0^fom%RIps(4hn}N|A15NJv4)N%etlBw_jC1W?)fL-}DEdG4zJHWitQd6@ISFND zxG1nWBVVwy4tuAH=?WKF^yTmLCrV$`wRDR{`INUXpMfAjTQYC*;f=wOU7<%9v!E|^ zP_h88x6^5|wWw&v*KDWGuV0O!{}1;O)_Qa{Pa)aIPC`8xgq9cF`Y&|7cd=ph&QG7} z9JNE1%wPHH4}W?A{;u6uMF@63_=SW50K1&#`5KM@%Gk+;m6SxeRm4gJAdMqQrl>0( zGo?X+Uq8wzj5~@1)JPFwEbDR>;!XL-KC+b^3z*I`2y_0ZSUUvfZmN?kh{ZHTxx(0# z`c99A&VqkFZGzIvB1~Bj z`r6c+M1_5Xu$e2~xle^uG^VOsqyrdaZ52x;$3m-}DG?caz}N2C>MY7tPwgzu%`{$B znFRl30(88a^<(VMj|BBGhYRh?J;eTihAH-I;<0vv3uzZ$-A07nAJj!e?C+(p_v=39 zWJw`wC53vz1)>q9^JdbeM_xR;o@q8uPPPsR*v<3u0>DLa10?oLa*gAD@+Tzd+^ ztOac!WE2%2`ysJf^KjS9I-Xa=sNI~i`yO@4uSUGcHJIU0>3pzX0)OcRybii*X`dF_ zk#RzDQOy>3BAigPJ@d~D`R=~XroLR5P$VGugF+GMsH(K0bhFdn|7J(%J^fdZdAOAN z#?1a24xNC53FA^d$TCI}Ol6dm5&Jh=bb{v(h9d%e1H( zD%BpQkTIzTB64+czc#PMxD$uUF!;wgu&4D7>)PMBBxPxVX{bI>>jjOTt(L(G(%tE? zvLz|x!L|}`3TzWt=4!k%2&Z+%{$;6g2p8t%AQ{|Z(k@F1ij@LASW~Rm)D&_htHRGH zS3<#cZp;{`%AOhLo$^`wVP8~U1u6vX;&Wp-h}}q~PhC*2|5hl`7~mm$04QG2W*77U zB%*LGlR;rmIl*E8Fo%?yxv^dosc%6k4CSch#UP03N;E_M(f=+!2dg`rO&H^GS)Lak z;|DB}W878@#+)mRk#S^qtOCxepsd;I3u_Mc!$E9mn8)g#ypnG)x$!p~ zwrkJIoL>s#Hp_1wBP+EGUajvo?uDb@vP+{Gi|q|3U4~B!oj#B&Eyoe<0zC@5oFXj% z2sMON6o@^g>X>S}kc02gM^~xu)jk$Hvyc&*#PggCEE#xz!S+)D(a?Zv_3ZA52Qy>2 zq+@h^ALP)1LmB~W*Azx2#U&#yrT=p>B(GKLZ=h_UnxpRP-IZ8Zs~0w&3$tM7$uA2! zIs&Kfm6MK375Yg$lFBpye;%%+4vu5+suO~S5wC7C222rH6qR@utFh;AIS5vb-cUM- z0=0{Zh=m%kBU3kz=DYh5#CE6_usKMKRN>r0hTE%U7NP>FR{?@DE!ru$O=K4zh==}P zw3`uAQAR%;Emyp@x`eB{HV$jJ{mU#=1^Ke#;!B|o4)4fXMOSm}){v$<6{$fuh7M`f zVD`A<3dxGY#N6?jmDy z)EX!guA3rUzz+^j2K!IXm{OiSp!@(s&7%bCIvT#5i3<&}Pm1}uWY71va@8kLr`m#hUD+CnZs(Y`lR7_yV>4=Mym{DO(0LG1XuGT~7_=JVy)P|PBXwC39y)AUMn##= z(!V9sX4NmYg$5sUTUE9qb`3lc|DKUOkqaHrh*Z?>7$;klmGu3R!nl_fOY{PCULTP@ z_2dC^=na#?MFW?d*xV1dq&mK!JP!t=`j}^#Rnc#UJCNestcZpXo%Qi~^Sg}t*ivks zbyq(awxX0!)3m;VUsfZs-keoW)}3@2<1%hKvuN5U8g=)8uwKlEf}BHe=)nM~`^%8W z>Q6?PQ@udV(uFR9{;(dT{`*E`7n(AoFk7{-mjuj$cNy3V8EEOc9mbgOdwi<#mDxc- zBB5b|KxCv1W+Zj&TUh((3u>mZC01LDp7~oJz=DgAf=-V3v<@j#dZQo}9xoiLAj$>4R^MgNm z(4&OxoqJx80tAh^=B)ko-Y1R80|YYM;!La5Y`sE_3>>Am4iSulS(lOh?P&n9>NDzW zqj!ke+OHXlWn}w3`@h<|@~Eb+G#(N_P^zeu?X;39yB1->QY>p2&;o)jSP(=`WV1-9 z$gtQ3od7PVR3lJ?u?p=0isi6MK@K=9vM(*v7GwrZn1Xf+agee^5t#3hyd;Fj{LR7Z z;dtJAdFyw-`}^H*x!={g6Zud8j`r(j^Y|^n$|Dly4faRqDl!2( zdmx%qJy_q>`H(qq3LMT{X7o3w+Vx_e&su!an_GCqt%~zY?_^C2*YN4H@89WE$^ z-?}>;H9HB3y`~@Q`nd)Sai+a|mbpw`bVbub|6>d?biA(CyPg3g$7I*Ojn%S zzoT7m@7K?CB;!-pB+>X(e3+<1`qU~ve)B;Xc_2YW?uFWs11H4p9yMuRtUAL#+*UI(X+i}^> z9K$VnCl&Hus>_#)Z-NsE#_6C=rI+PS zK{>8$=!ZWX`QqKyoXU)eK!@?N`$L)9lV@rS^l#p&?7(uxE}gM5zwFS+8QkXb@+y|Z z`OJ;sH=TgR{O!uC2g7b`yQ+WwC^XQcxSbXL0X}XllhVBSs`#M*|5^DSsJ?Z#ZNmJT z{=hzi)R30)sZx!e(4P#`$I`r}IEH&hZY%fw4k3s5oQ+0cv2WG4>`dP@7^uM?o&NW( zsy{lwy))Wf&g}K8tFNE+uj;o+n+&;F_ZX%yZ?pUq%1?EjwVkFO=t}v_G<_dLhT|{B zx)*&HF!pKRH!gj1BY_!jPE9tSFEiS1pKZL0Z|>W5tm?cRdBIg+%#Vq_Y?|Ta)gZGJ-kxrf?~!?`I8EKezuA&!e-@7xm??`)czgu*vnFT8Aiw2}_l8J0 z6UrEN{>hxD^`FURr*Ma-d=qMM3Qu+OQT*&}P3)!8$dcz%@7;&o6R)70n9pvG-M8C_ z-C>wUjjX7{X2(71x2RZ5904cE@%JHZ4`!P9PMO1m_YDK=IaNG-)u87rnl&bJYJV8& z_;Lyy1mTxG$Omlr77x#QV80lVC>30K_>IM|D=jcZ&Ge+s2C4x^FW9hY_RSekQkr8)J6ptGO=%27o5)^t6ouP85O3KGD^uemYM+1mHd zSgh=ZsK4+84@ixeGZp`{RfHc%Qrk1w5jhbg~4$dE{miH z53-YoH_NNYi{4@R4a5gM-;%*UaY#UVBb_Xomn{AQf{lhe$K@@6L#p(hG|h~Ag(D4I z76f-9Dem96wqGknnS!OnU=IG9@5j>YSThy_fh-dUKXFtQU(WC&fNX3ZR7D>4#_CBv zC#*u<<|z_thL$y!y90wLtfY_%UA5yXL=CbRUp;kr@?B90?aN)hVX31mb&39nW%iaz zJe5IZCz8#3bLkXwD0vfkfRjS33@4_IxIH-G+r9to@ z{2f&_t)U`L&*D6HF?{ZfJl&`TGB~x|U)W0ri*cRVaQ|&3O(h0ZUa`RQ=A}MY)yxab zjPCf2Tw}57N;Y_EPLu{GC`x`V5x^m0E3aHm**{1)Wj6cyO7IL zdD=dS8l+mkxM1_^ZtgwFeZ_qS58#e8HbB~R0soJ!@>|mj18Qi$8gp+GonO`@e0?fK zcW-L%j6f+V#TD$?bLAQT^_rU}NsLL~kw% zRgZKyViRJ7jddDpEbt%otoAwz4@f6LU6{cgI;R22GhV(<~SSArDua8c$#9Jfz z`lz3ZL_r)fum?wX>C}5FpE}fe?+~FF(W^alc+E z8qYj!sx`t~L;no#xbVtKG?pA;c;yOdWF_}W z9m!G?g_^~jPPAd5APOZA45!66W4k6UH;0MtWQJZ#C@>@~krjw^OW3JUPZZ+C+69Ql z#fa-yB1!B-)s)c1{0`0Eu5J1}W->y@Om^M2<;zjRx?ZAX%w-o5(_C8EcEwU=a`<^v z3M?5WyO^8!SN77nh3Me~(#2K*MPet=y4OVENDP`Eo(u5$N&$Vj1c(vTN_b=W79trb zEs^FDM6c4)kX9N*uhPi9pWI6<*RH^W$Xe#}G6ssFN!cM1!wp#^ z$Rb%s776k^AkTvY+?KZ16~bj0ZBEB?0hWI!()@L(`3e-|0wEf0BIgf*VY1|cL)HnA zzQD1yY@HxiCz1OY`CpL#g#hLd!Xbo{Q456at2nR`u^?iRK?^i=mH`j(E+Q5gRl#== zydrp&Nz*{Yf`|o&2N8fGVi7ZmjBX%ekx>8i^#g$<>*DP|TvQZ~KpYp1g$=qqTuKT5^d5|6E->olBe; GN&f?@ + + + + + + +d@n tech Categories | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + diff --git a/category/life/index.html b/category/life/index.html new file mode 100644 index 0000000..9c07019 --- /dev/null +++ b/category/life/index.html @@ -0,0 +1,111 @@ + + + + + + + +Posts in category life | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + diff --git a/category/news/index.html b/category/news/index.html new file mode 100644 index 0000000..6754a2a --- /dev/null +++ b/category/news/index.html @@ -0,0 +1,101 @@ + + + + + + + +Posts in category news | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+
+

Posts

+ + 2025-04-09 >> brewing success: my journey into freelance web development and server upgradesnews + + 2023-12-27 >> d@n tech is Live!news + +
+ +
+ +
+ +
+
+
+ +
+ + + + +
+ + diff --git a/category/tech/index.html b/category/tech/index.html new file mode 100644 index 0000000..18564e8 --- /dev/null +++ b/category/tech/index.html @@ -0,0 +1,111 @@ + + + + + + + +Posts in category tech | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+
+

Posts

+ + 2025-12-01 >> the barista's new toolstech + + 2025-06-18 >> brewing up my homelab: new services, hardware, and monitoring magictech + + 2025-02-19 >> percolating ideas: my web dev adventuretech + + 2024-07-09 >> when the coffee gets cold: recent adventures in my tech homelabtech + + 2024-03-27 >> brewing resilience: from lxc to vm for flawless plex and beyondtech + + 2024-03-04 >> transitioning from lxc to vms: preparing for xcp-ngtech + + 2024-01-11 >> tech infrastructure unpacked: from cloud to home servertech + +
+ +
+ +
+ +
+
+
+ +
+ + + + +
+ + diff --git a/collection/posts/:year/:month/:title.html b/collection/posts/:year/:month/:title.html new file mode 100644 index 0000000..e69de29 diff --git a/collection/posts/index.html b/collection/posts/index.html new file mode 100644 index 0000000..e69de29 diff --git a/feed.xml b/feed.xml new file mode 100644 index 0000000..b5de7b9 --- /dev/null +++ b/feed.xml @@ -0,0 +1,307 @@ +Jekyll2025-12-01T15:02:18-05:00https://dustin.coffee/feed.xmld@n techCaffinated Tech Insightsdustin newkirkthe barista’s new tools2025-12-01T00:00:00-05:002025-12-01T00:00:00-05:00https://dustin.coffee/tech/2025/12/01/the-baristas-new-toolsMany Changes in the Past few months…## + +

Welcome back to the cafe! Any good barista knows that a perfect cup of coffee isn’t just about the beans—it’s about the tools. The grinder, the espresso machine, the tamper—every piece of equipment plays a role in creating a smooth, efficient, and delightful experience.

+ +

Behind the counter of this digital coffee shop, I’ve been busy upgrading my toolkit. It’s time for a little “shop talk” to show you what’s been brewing under the hood. From improving the daily grind to adding brand-new services, here are the new tools I’ve added to the workbench.

+ +
+ +

A Sleeker Grind for PDFs

+ +

My first stop was the digital document grinder. For a long time, StirlingPDF was my go-to workhorse for handling PDF files—it’s powerful and incredibly versatile. However, the project recently moved to a commercial model, and in the world of self-hosting, the best-tasting coffee is the one you don’t have to pay a subscription for.

+ +

This sent me on a search for a new grinder, and I landed on Bento. Honestly, the switch feels like a complete upgrade. Bento offers a stunningly clean UI and consolidates a huge number of file-handling tools into one beautiful, fast, and joyful interface. It’s a perfect example of how a change forced by necessity can lead to an even better discovery.

+ +

Brewing Our Own Mail

+ +

From streamlining daily tasks, I moved on to a much bigger project: taking full control of my digital correspondence. I’ve finally stopped relying on third-party providers and am now brewing my own email in-house for hobokenchicken.com using Mailcow. This powerful, all-in-one mail server suite is running in its own virtual machine on my trusty Dell R720xd homelab server. It’s like roasting my own beans—more work, but the final product is tailored exactly to my tastes with complete control and privacy.

+ +

A Better Filter for a Cleaner Brew

+ +

This theme of control and privacy extends to the very foundation of my network. You can’t make good coffee with bad water, and for years, Pi-hole has been my network’s water filter. Recently, however, I swapped it out for AdGuard Home. The upgrade gives me a more modern interface, built-in support for DNS-over-HTTPS (DoH), and easier per-client filtering. It’s the same great-tasting, ad-free internet, just with a more advanced filtration system.

+ +

Keeping the Delivery Fleet Tuned Up

+ +

While most of these tools keep the digital side of things running, some projects are for the physical world. To better maintain my cars, I’ve spun up an instance of LubeLogger. This self-hosted service is fantastic for logging oil changes, tire rotations, and every other bit of vehicle upkeep. No more forgetting when I last checked the tire pressure—it’s all logged and ready.

+ +

A New Flavor of AI Espresso

+ +

Back on the digital counter, my local AI setup, powered by Open-WebUI, is like a high-tech espresso machine. To expand its capabilities, I’ve just integrated Google’s Gemini family of models. Having access to Gemini is like adding a new single-origin bean to experiment with. It offers a different “flavor” of response and excels at different tasks, making my AI toolkit that much more versatile.

+ +

The New Digital Recipe Book

+ +

With all this new information being discovered and generated, keeping track of it became the next challenge. My browser bookmarks were getting out of control, so I’ve implemented KaraKeep, a clean, self-hosted bookmark manager. It’s a simple, tag-based system that acts as my new digital recipe book, keeping all my best finds neatly organized.

+ +

The Mission Control for the Cafe

+ +

Of course, what’s the point of having all these wonderful machines if you can’t manage them effectively? With over 50 Docker containers now running across 3 different hosts, I needed a better command center. That’s where Portainer comes in. This container management UI has become my mission control, giving me a bird’s-eye view of everything. It lets me deploy, manage, and troubleshoot from a clean web interface, ensuring all the other tools run smoothly.

+ +
+ +

So there you have it—a peek at the new and improved setup behind the scenes. These tools are all about improving efficiency, security, and capability. After all, a happy barista with great tools makes for a better coffee shop for everyone.

+ +

Stay tuned to see what we brew up next.

]]>
dustin newkirk
brewing up my homelab: new services, hardware, and monitoring magic2025-06-18T00:00:00-04:002025-06-18T00:00:00-04:00https://dustin.coffee/tech/2025/06/18/brewing-up-my-homelab-new-services-hardware-and-monitoring-magicdustin newkirkbrewing success: my journey into freelance web development and server upgrades2025-04-09T00:00:00-04:002025-04-09T00:00:00-04:00https://dustin.coffee/news/2025/04/09/brewing-success-my-journey-into-freelance-web-development-and-server-upgradesdustin newkirkcoffee, code, and creativity: the launch of my new website2025-02-28T00:00:00-05:002025-02-28T00:00:00-05:00https://dustin.coffee/life/2025/02/28/coffee-code-and-creativity-the-launch-of-my-new-websitedustin newkirkfrom beans to bills: crafting my first project quote2025-02-27T00:00:00-05:002025-02-27T00:00:00-05:00https://dustin.coffee/life/2025/02/27/from-beans-to-bills-crafting-my-first-project-quotedustin newkirkpercolating ideas: my web dev adventure2025-02-19T00:00:00-05:002025-02-19T00:00:00-05:00https://dustin.coffee/tech/2025/02/19/percolating-ideas-my-web-dev-adventuredustin newkirkbrewed reflections: a semester wrap-up and steaming future ahead2025-01-30T00:00:00-05:002025-01-30T00:00:00-05:00https://dustin.coffee/life/2025/01/30/brewed-reflections-a-semester-wrap-up-and-steaming-future-aheaddustin newkirka roast of reality: life changes, career shifts, and what’s next2024-11-27T00:00:00-05:002024-11-27T00:00:00-05:00https://dustin.coffee/life/2024/11/27/a-roast-of-reality-life-changes-career-shifts-and-what-s-nextdustin newkirkwhen the coffee gets cold: recent adventures in my tech homelab2024-07-09T00:00:00-04:002024-07-09T00:00:00-04:00https://dustin.coffee/tech/2024/07/09/when-the-coffee-gets-cold-recent-adventures-in-my-tech-homelabdustin newkirkbrewing resilience: from lxc to vm for flawless plex and beyond2024-03-27T00:00:00-04:002024-03-27T00:00:00-04:00https://dustin.coffee/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyonddustin newkirk
\ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..ff6b1ff --- /dev/null +++ b/index.html @@ -0,0 +1,122 @@ + + + + + + + +d@n tech | Caffinated Tech Insights + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+

Hello! I’m Dustin

+ +

I’m an IT professional with a passion for technology and its transformative power. I live in Syracuse, NY with my incredible wife. Our journey together has been filled with love, mutual support, and academic pursuits.

+ +

My Journey

+ +

Born and raised in Cato, I graduated high school in 2010 and embarked on an academic journey at RIT. Living on campus, I made lifelong friends and memories. My path then took me to Red Creek, balancing work with my studies at ITT-Tech, laying the foundation for my IT career.

+ +

After graduating, I moved to Central Square and worked at Walmart. It was here, in 2014, I met my wife. Our shared path has led us through various cities in New York, and we got married in 2020, marking a significant milestone in our adventure together. After settling in Fayetteville in 2023, we moved back to Syracuse in 2024. We returned to familiar grounds as we continue to build our life together.

+ +

Supporting Each Other

+ +

Throughout our relationship, I’ve been proudly supporting my wife through her academic endeavors. She earned her Associate’s degree from CCC as a commuter while we lived together, followed by her Bachelor’s at SUNY Geneseo, where she lived on campus and I was in Liverpool, NY. Her Master’s from St. Bonaventure was completed online while we were together. She began a PhD at the University of Arkansas (UARK) and, after deciding it wasn’t the right fit, she’s now continuing her education in an online program with Waynesburg University.

+ +

Professional Journey

+ +

In my professional life, I’ve navigated various roles in IT. I started at Delta Sonic, moved on to the New York State Office of Information Technology Services, and later thrived as a Desktop Support Specialist at VSO (Virtual Service Operations). After a role with Greene Resources as an Infrastructure Support Specialist, I joined Waygate Technologies in Skaneateles as an End User Support Engineer. Most recently, in March 2025, I returned to New York State service (Office of Information Technology Services), where I continue supporting end users and enterprise operations.

+ +

Educational Background

+ +

I’m a proud alum of Cato-Meridian High School and ITT-Technical Institute, where I earned my AAS in Computer & Network Systems Administration. These experiences have been instrumental in shaping my professional knowledge and skills.

+ +

Skills and Expertise

+ +

Over the years, I’ve developed a rich skill set, including expertise in Microsoft Office Suite, Outlook, Mac OS, Linux, SiteWatch, Radiant, and a comprehensive understanding of IT infrastructure services, security, and protocols. My strengths include analytical thinking, diagnostic skills, and problem-solving abilities.

+ +

Life Beyond Work

+ +

Outside of work, my life revolves around my family. My wife and I cherish our time together in Syracuse. Our story, from our first meeting to supporting each other through various life chapters, is a testament to our shared commitment and love.

+ +

Contact

+

Email me, dustin@dustin.coffee.

+ + +
+
+
+ +
+ + + + +
+ + diff --git a/life/2024/01/03/brewing-a-stronger-it-career.html b/life/2024/01/03/brewing-a-stronger-it-career.html new file mode 100644 index 0000000..125b74b --- /dev/null +++ b/life/2024/01/03/brewing-a-stronger-it-career.html @@ -0,0 +1,134 @@ + + + + + + + +brewing a stronger it career: from helpdesk to higher ed | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

Hello everyone!

+ +

Today, I want to share some exciting personal updates and reflections on my ongoing journey in the tech world.

+ +

Hitting the Glass Ceiling with an Associate’s Degree

+ +

For a while now, I’ve been navigating the IT landscape with my Associate’s degree in hand. While it’s been a valuable stepping stone, I’ve increasingly felt the constraints of what some call the “glass ceiling” in the tech industry. Despite my efforts and experience, I’ve found myself confined primarily to helpdesk roles. It’s a common plateau many of us in tech face, and it’s led me to a significant decision.

+ +

Stepping Up: My Admission to WGU’s Accelerated IT Program

+ +

I’m thrilled to announce my admission to Western Governors University’s accelerated Bachelor’s and Master’s Degree program in Information Technology, starting on February 1, 2024. This program is a unique opportunity for me to deepen my knowledge, broaden my skills, and break through the career barriers I’ve been facing.

+ +

Why Further Education?

+ +

I’ve always believed in the power of education to fill in knowledge gaps and open new doors. With technology evolving at a breakneck pace, there’s always more to learn. This program is not just about getting higher qualifications; it’s about equipping myself to contribute more significantly to the field I am passionate about.

+ +

The Role of My Homelab

+ +

My homelab has been a cornerstone of my learning journey. It’s where I experiment, explore, and expand my practical knowledge of IT systems. I anticipate that the WGU program will not only benefit from my hands-on experience in the homelab but will also provide new insights and challenges that I can bring back to my personal lab setup and services I provide.

+ +

A Call for Support

+ +

As I embark on this new educational path, any support to enhance my homelab capabilities and cover the costs of running services would be greatly appreciated. Your support, whether through knowledge sharing, equipment recommendations, or financial contributions, will play a crucial role in my journey.

+ +

Merchandise on the Horizon

+ +

In other exciting news, I’m working on launching a range of merchandise on Redbubble. This is not just about creating cool, tech-themed items; it’s a creative outlet for me and a way to connect with the community. Stay tuned for more updates!

+ +

Logo for merch:

+ +

d@n tech logo

+ +

In Closing

+ +

I’m at an exciting crossroads, filled with new challenges and opportunities. I look forward to sharing my experiences and learnings with all of you. Let’s continue to grow and learn together in this ever-evolving world of technology.

+ +

Thank you for being a part of my journey!

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/life/2024/01/22/my-it-odyssey.html b/life/2024/01/22/my-it-odyssey.html new file mode 100644 index 0000000..1046d07 --- /dev/null +++ b/life/2024/01/22/my-it-odyssey.html @@ -0,0 +1,153 @@ + + + + + + + +my it odyssey: from entry-level to expertise | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

Introduction

+

Hello, I’m Dustin, and I’ve been navigating the dynamic world of IT support since 2017. With a foundation in Computer Network Systems and Administration from ITT-Tech (2013), my career has taken me through various roles, each offering unique challenges and learnings. Today, I’d like to share my journey, hoping to inspire those starting in IT or looking to advance in this field.

+ +

First Steps at Delta Sonic Car Wash (2017-2019)

+
    +
  • Role: Computer Support Technician
  • +
  • Scope: Managed IT needs across 9 locations in 2 cities.
  • +
  • Deeper Dive: +
      +
    • Challenges Faced: Tackling complex POS system issues and network dilemmas was a daily task, pushing me to develop effective troubleshooting skills.
    • +
    • Skill Development: This role was crucial in honing my technical problem-solving abilities and customer service skills, teaching me the value of patience and clear communication.
    • +
    • Key Takeaways: I learned the importance of a meticulous approach to diagnostics and the necessity of translating tech jargon into understandable language for non-tech staff.
    • +
    +
  • +
+ +

Leveling Up at NYS ITS (2019-2023)

+
    +
  • Role: Level 2 IT Support (L2 ITS)
  • +
  • Scope: Provided IT support for 25 agencies over 10 counties in Central NY.
  • +
  • Expanding Horizons: +
      +
    • Broader Impact: My efforts here went beyond fixing immediate issues, contributing to smoother operations across multiple agencies.
    • +
    • Professional Growth: This period was marked by growth in project management and strategic planning, as I spearheaded hardware rollouts and upgrades.
    • +
    • Memorable Projects: A significant project I managed was the standup of the Mass Vaccination Site at the NYS Fairgrounds, which taught me valuable lessons in large-scale project execution.
    • +
    +
  • +
+ +

Current Role at Virtual Service Operations (VSO) (2023-Present)

+
    +
  • Role: Raytheon Technology Deskside Support at Pratt & Whitney
  • +
  • Scope: Catering to the IT needs of about 200 users at the Pratt and Whitney PSD campus.
  • +
  • Current Endeavors: +
      +
    • Solo Operations: As the only IT support on campus, I handle everything from software installations to complex troubleshooting, ensuring smooth tech operations for all users.
    • +
    • Adapting to Change: This role requires me to be agile and up-to-date with the latest technologies, adapting quickly to new challenges and IT methodologies.
    • +
    • Independent Problem Solving: Working alone has honed my ability to tackle issues independently and develop innovative solutions, reinforcing the importance of self-reliance and resourcefulness in tech support.
    • +
    +
  • +
+ +

Future Plans and Aspirations

+
    +
  • Academic Pursuits: I’m excited to start an Accelerated Bachelor’s and Master’s IT degree program at WGU on 2/1/24, aiming to deepen my knowledge and open new career avenues.
  • +
  • Career Vision: Post-graduation, I envision a role that not only challenges me but also aligns more closely with my passion for emerging technologies and innovative solutions.
  • +
+ +

Personal Reflections

+
    +
  • The Tech Landscape: The IT field has evolved tremendously, and I believe we’re on the cusp of more groundbreaking changes in technology and how we interact with it.
  • +
  • Work-Life Balance: Balancing a demanding career with personal passions like homelabs and Pathfinder gaming has been a fulfilling journey in itself.
  • +
+ +

Conclusion

+

My journey through the IT landscape has been enriching and enlightening. I’m grateful for the challenges and opportunities I’ve encountered, and I hope my story encourages others to pursue their own path in tech. If you’re on a similar journey, I’d love to hear about your experiences and challenges. Together, let’s continue to learn, grow, and innovate in this ever-evolving field.

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/life/2024/03/22/java-journeys-transitioning-to-it-infrastructure-at-wolfspeed.html b/life/2024/03/22/java-journeys-transitioning-to-it-infrastructure-at-wolfspeed.html new file mode 100644 index 0000000..8dac388 --- /dev/null +++ b/life/2024/03/22/java-journeys-transitioning-to-it-infrastructure-at-wolfspeed.html @@ -0,0 +1,120 @@ + + + + + + + +java journeys: transitioning to it infrastructure at wolfspeed | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

Introduction:

+

Hey there, folks! Today, I’m sharing a pivotal moment in my career journey with you at d@n tech. After five months of serving as a Desktop Support Specialist at Pratt & Whitney PSD, I’ve moved into a new role as an IT Infrastructure Support Technician at Wolfspeed.

+ +

My Time at Pratt & Whitney PSD:

+

At Pratt & Whitney PSD, I was the go-to guy for 200 end users, juggling tasks in office spaces and on the bustling machining floor. It was a busy gig that taught me the value of staying cool under pressure and finding solutions on the fly.

+ +

Transitioning to Wolfspeed:

+

Now, I’m settling into life at Wolfspeed, where I’m supporting around 80 end users across office and electrical lab environments. My plate is full with projects, L2 support, and handling the ins and outs of new user deployments.

+ +

Facing the Challenges:

+

Switching gears to a new role isn’t without its hurdles. Getting acquainted with Wolfspeed’s IT setup and catering to a smaller user base has been a bit of a learning curve. But hey, every challenge is just a chance to level up, right?

+ +

Embracing the Opportunities:

+

Despite the adjustments, I’m pumped about what lies ahead. Wolfspeed offers a chance to dive deep into IT infrastructure support, exploring new tech and fine-tuning my project management chops along the way.

+ +

A Blend of Passion and Purpose:

+

For a homelabber and tech enthusiast like me, this career shift is more than just a job change - it’s about pursuing what fires me up and pushing myself to grow, both personally and professionally.

+ +

Looking Forward:

+

As I settle into my groove at Wolfspeed, I’ll be dishing out insights, tips, and tales from the trenches of IT support. So keep an eye out for more updates and musings as we journey through the world of tech and coffee together here at d@n tech.

+ +

Conclusion:

+

Change can be a wild ride, but it’s all about rolling with the punches and savoring the journey. Here’s to new beginnings, endless possibilities, and a good old cup of Americano to keep us grounded along the way.

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/life/2024/11/27/a-roast-of-reality-life-changes-career-shifts-and-what-s-next.html b/life/2024/11/27/a-roast-of-reality-life-changes-career-shifts-and-what-s-next.html new file mode 100644 index 0000000..6234961 --- /dev/null +++ b/life/2024/11/27/a-roast-of-reality-life-changes-career-shifts-and-what-s-next.html @@ -0,0 +1,115 @@ + + + + + + + +a roast of reality: life changes, career shifts, and what’s next | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

Life can be compared to coffee: bitter, sweet, and full of unexpected flavors. Over the past few years, I’ve experienced various life changes and career shifts that have brought challenges and opportunities. Let’s explore my journey in several distinct phases.

+ +

The Big Decision

+

In April 2024, my wife decided to leave her PhD program. This pivotal moment led us to reevaluate our priorities and consider a change of scenery. We decided to move back to New York on August 1st, 2024, seeking new opportunities and a fresh start.

+ +

Facing Challenges

+

Upon returning to New York, financial responsibilities took center stage. To meet these obligations, I took a job at Walmart towards the end of August 2024. Although it wasn’t my dream position, I reminded myself that every experience offers room for growth and learning.

+ +

New Opportunities

+

As the seasons changed, so did my luck. On October 1st, 2024, I began a new role as a contractor through MergeIT, working with Waygate Tech in Skaneateles. This position allowed me to put my IT expertise to good use and reignite my passion for technology.

+ +

Future Aspirations

+

Even as I settle into my current role, I’m still looking for opportunities to return to New York State ITS. The public sector presents unique challenges and a chance to make a positive impact on a broader scale.

+ +

Embracing Change

+

Moving forward, I’m committed to embracing whatever life has in store for me, whether it’s another career change or a fresh start in a new city. Just as coffee beans must undergo a roasting process to reveal their full potential, life’s twists and turns can refine us, fostering growth and resilience. +In conclusion, life is unpredictable, and careers can be uncertain. By staying true to ourselves and embracing new experiences, we can weather any storm and come out stronger. So, let’s raise a cup to life’s bitter and sweet moments and toast the journey ahead! +It’s been four months since I last posted on this blog. This hiatus is mainly due to a lack of time, energy, and uncertainty about what to share. However, I’m committed to getting back into the swing of things and providing valuable content for my readers. Thank you for your patience and continued support.

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/life/2025/01/30/brewed-reflections-a-semester-wrap-up-and-steaming-future-ahead.html b/life/2025/01/30/brewed-reflections-a-semester-wrap-up-and-steaming-future-ahead.html new file mode 100644 index 0000000..eacd382 --- /dev/null +++ b/life/2025/01/30/brewed-reflections-a-semester-wrap-up-and-steaming-future-ahead.html @@ -0,0 +1,132 @@ + + + + + + + +brewed reflections: a semester wrap-up and steaming future ahead | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

Welcome back to my corner of the internet! As I sit down to reflect on this past semester, I’m filled with a sense of accomplishment and excitement for what lies ahead. This journey has been nothing short of enlightening, and I’m eager to share my experiences while stirring in a bit of my favorite brew!

+ +

Sipping on Knowledge: Classes Completed

+ +

This semester, I’ve had the privilege of diving into five diverse courses that have each contributed uniquely to my academic growth:

+ +
    +
  • +

    American Politics and the US Constitution: This course provided a deep dive into the foundational aspects of American governance. Understanding the nuances of our political system has been both fascinating and enlightening—much like savoring a bold cup of coffee!

    +
  • +
  • +

    Natural Sciences Lab: Hands-on experiments in the lab have reinforced theoretical concepts, making abstract ideas tangible through practical application. It’s been an engaging way to explore scientific principles—comparable to the precise process of brewing the perfect espresso.

    +
  • +
  • +

    Applied Algebra: Strengthening my algebraic skills has proven invaluable, especially in problem-solving scenarios that require analytical thinking. The practical applications of these skills are vast and exciting— kind of like calculating the ideal coffee-to-water ratio!

    +
  • +
  • +

    Ethics in Technology: This course challenged me to think critically about the moral implications of technological advancements. It’s a crucial area as technology continues to evolve rapidly, impacting society in profound ways—much like how innovations in coffee brewing have transformed our mornings.

    +
  • +
  • +

    Cloud Foundations: Completing this course was a significant milestone, capped by earning my AWS Certified Cloud Practitioner certification. This achievement feels like a testament to my dedication and hard work, opening doors to new career opportunities in the cloud computing field.

    +
  • +
+ +

Reflecting on these courses, I’m proud of the effort I’ve put in and the knowledge I’ve gained. Each has prepared me for new challenges and adventures.

+ +

Espresso Yourself: Excitement for Next Steps

+ +

Looking ahead, I’m thrilled to embark on my next semester with Web Development Foundations and Web Development Applications. With my experience building and hosting a couple of websites, I’m excited to deepen my knowledge in these areas. It’s incredibly rewarding to see ideas come to life online, similar to watching a barista perfect their craft.

+ +

Final Thoughts: Brewing Success

+ +

As I move forward, I remain committed to my educational goals, excited for the challenges and opportunities ahead. The journey is as important as the destination, and I’m grateful for each step taken so far. Here’s to continued growth, new skills, and achieving my aspirations in this ever-evolving educational landscape.

+ +

Thank you for joining me on this journey. Stay tuned for more updates as I continue to explore new horizons—because like a good cup of coffee, there’s always something brewing!

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/life/2025/02/27/from-beans-to-bills-crafting-my-first-project-quote.html b/life/2025/02/27/from-beans-to-bills-crafting-my-first-project-quote.html new file mode 100644 index 0000000..f34d27b --- /dev/null +++ b/life/2025/02/27/from-beans-to-bills-crafting-my-first-project-quote.html @@ -0,0 +1,140 @@ + + + + + + + +from beans to bills: crafting my first project quote | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

As I embark on the journey of freelancing, I found myself transitioning from creative coffee shop sessions to the business side of things. Like a well-brewed cup of coffee, managing my finances requires the right blend of tools and practices. Recently, I set up some essential systems that will help me streamline my invoicing process, including self-hosted InvoiceNinja software and a PayPal business account. Join me as I walk you through my experience of crafting my first project quote and the choices I made along the way.

+ +

Brewing the Right Tools: Why I Chose InvoiceNinja

+ +

When it came to invoicing solutions, I needed something that was both flexible and easy to use. After researching various options, I settled on a self-hosted version of InvoiceNinja. This open-source software allowed me to have complete control over my data—much like crafting the perfect roast to suit my taste buds.

+ +

Self-hosting means I can customize the software according to my needs, and I love the idea of managing invoices without relying solely on a third-party provider. It’s important for me to keep my operations as streamlined and personalized as a cozy coffee shop experience.

+ +

Setting Up a PayPal Business Account: A Step Towards Professionalism

+ +

In tandem with InvoiceNinja, I opened a PayPal business account. Why PayPal? Its widespread recognition and reliability make it an ideal choice for freelancers and service providers alike. More importantly, I wanted to leverage the PayPal API for seamless integration with InvoiceNinja. This integration enables my clients to pay invoices directly through their PayPal accounts, creating a smoother transaction process.

+ +

The setup was straightforward—just like brewing a basic cup of coffee. I went through PayPal’s registration process, ensuring I provided all the necessary information for a business account. Once my account was active, diving into the API documentation was my next step, which paved the way for my future work with InvoiceNinja.

+ +

Crafting My First Project Quote: A Blend of Creativity and Precision

+ +

With the systems in place, it was time to craft my first project quote. I approached it with the same care I put into creating my favorite coffee blend, ensuring every detail was perfect.

+ +
    +
  1. +

    Defining the Scope: I laid out what the project entailed—including deliverables, timelines, and any specific requirements from the client. Clarity here is essential to avoid misunderstandings later.

    +
  2. +
  3. +

    Pricing: I accounted for my time, the resources I’d need, and any potential expenses. Similar to calculating the cost of specialty beans, finding the right balance in pricing is crucial to ensure I’m compensated fairly while remaining competitive.

    +
  4. +
  5. +

    Creating the Quote in InvoiceNinja: With everything defined, I jumped into InvoiceNinja. The platform made it easy to create a polished quote with customizable templates. I added my branding (because what’s a business without a little personal flair?) and ensured the document looked professional yet inviting.

    +
  6. +
  7. +

    Integrating PayPal: Next, I set up the integration with PayPal, enabling a “Pay Now” button directly on the invoice. This feature is like a cherry on top of my coffee—making it easy for clients to settle their bills without delay.

    +
  8. +
  9. +

    Sending the Quote: Finally, I hit send! A mix of excitement and nervousness coursed through me. The quote looked great, and I was eager to see how my client would respond.

    +
  10. +
+ +

The Aftertaste: Reflection and Learning

+ +

Crafting my first project quote was a learning experience—one that parallels tasting new coffee varieties. As I sip and savor, I reflect on what went well and what I could improve in future transactions.

+ +

The combination of self-hosted InvoiceNinja and PayPal has set the tone for how I will manage my finances moving forward. Having these tools in place not only streamlines my process but also provides my clients with a professional experience—much like being served the perfect brew in a café.

+ +

As I continue this journey, I look forward to refining my invoicing skills and serving clients with the same passion I bring to my craft. If you’re on your own freelancing path, remember: success comes from blending the right tools to create a delightful experience for both you and your clients. Cheers to many more quotes, projects, and expansive horizons ahead!

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/life/2025/02/28/coffee-code-and-creativity-the-launch-of-my-new-website.html b/life/2025/02/28/coffee-code-and-creativity-the-launch-of-my-new-website.html new file mode 100644 index 0000000..cc394ce --- /dev/null +++ b/life/2025/02/28/coffee-code-and-creativity-the-launch-of-my-new-website.html @@ -0,0 +1,142 @@ + + + + + + + +coffee, code, and creativity: the launch of my new website | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

I’m excited to announce the launch of my brand-new web development website! This venture has been a blend of creativity, dedication, and a lot of caffeinated brainstorming. The goal of my website is to serve as a landing page for potential clients, showcasing my skills and the services I offer, much like a beautifully curated coffee menu at your favorite café.

+ +

Welcome to My Digital Space!

+ +

Who Am I?

+ +

Just like each coffee has its unique flavor profile, I bring a distinct set of skills and experiences to web development. I specialize in creating responsive, user-friendly websites that not only look good but also function seamlessly. My passion for design and coding drives me to deliver solutions tailored to each client’s needs.

+ +

What I Offer

+ +

On my newly launched website, you’ll find a clear overview of my services:

+ +
    +
  • Custom Web Development: From concept to launch, I can create a website that matches your vision and goals.
  • +
  • Responsive Design: All of my sites are designed to be mobile-friendly, ensuring a smooth experience for users on any device.
  • +
  • E-commerce Solutions: Ready to take your business online? I’ll help you set up an engaging and easy-to-navigate online store.
  • +
  • SEO Optimization: Let’s make sure your website is visible when potential customers are searching for your services.
  • +
  • Ongoing Support: I believe in building long-term relationships. I provide ongoing support and maintenance to keep your site running smoothly.
  • +
+ +

Why Choose Me?

+ +

In a world full of options, why should you choose to work with me? Here are a few reasons:

+ +
    +
  • Personalized Approach: I take the time to understand your unique needs and goals, just like how a barista will customize your order based on your preferences.
  • +
  • Quality First: My commitment to quality ensures that every project I take on meets high standards.
  • +
  • Timely Delivery: I value your time as much as a good cup of coffee—prompt, efficient service is guaranteed.
  • +
+ +

Portfolio Showcase

+ +

Your first impression matters, and that’s why I’ve included a portfolio section showcasing my previous projects. Each piece reflects my capabilities and attention to detail, just like a well-crafted beverage reflects a barista’s skill. This section will give you an idea of the work I do and the quality you can expect when you choose to collaborate with me.

+ +

Get in Touch

+ +

I know that starting a new project can feel overwhelming, just like choosing the perfect brew in a coffee shop. That’s why I’ve made it easy for you to reach out. If you have an idea, a project in mind, or just want to chat about web development, my contact form is just a click away. Let’s take that first step together!

+ +

Subscribe for Insights

+ +

Additionally, I invite you to subscribe to my blog for tips, tutorials, and industry insights. Much like sharing coffee brewing techniques, I believe in sharing knowledge and helping others grow in their web journey.

+ +

Conclusion: Cheers to New Beginnings!

+ +

Launching my web development website is an exciting milestone, and I can’t wait to connect with you and help bring your ideas to life. Thank you for visiting, and I hope to work with you soon to create something extraordinary together. Cheers to new beginnings and a future rich with possibilities!

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/news/2023/12/27/New-Site.html b/news/2023/12/27/New-Site.html new file mode 100644 index 0000000..0ed9507 --- /dev/null +++ b/news/2023/12/27/New-Site.html @@ -0,0 +1,129 @@ + + + + + + + +d@n tech is Live! | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

New Site Deployed: D@N Tech is Now Live!

+ +

I am excited to announce that my new Jekyll site, d@n tech, is officially live! This is a significant milestone for me, and I’m thrilled to share this journey with you.

+ +

The Journey to Jekyll

+ +

Initially, I considered using WordPress for my website. WordPress is a powerful tool with a lot of flexibility, and it’s great for many projects. However, for my specific needs, I found it to be somewhat bulky. I needed something streamlined, efficient, and more suited to a tech-centric site like mine.

+ +

That’s when I turned to Jekyll. Jekyll is a static site generator that’s perfect for developers who want to dive into code, customize their site extensively, and have a more hands-on approach to site management. It’s lightweight, fast, and allows for greater control over the site’s design and functionality.

+ +

Why Jekyll?

+ +

There are several reasons why Jekyll stood out to me:

+ +
    +
  • Simplicity and Speed: Jekyll sites are static, which means they load faster and are simpler to host and manage.
  • +
  • Developer-Friendly: As a developer, I appreciate being able to work directly with the code, and Jekyll is built for this kind of hands-on approach.
  • +
  • Customization: With Jekyll, I have more freedom to customize my site exactly how I want it.
  • +
  • Community and Support: The Jekyll community is vibrant and supportive, offering a wealth of plugins and themes.
  • +
+ +

What’s Next for D@N Tech?

+ +

The launch of d@n tech is just the beginning. This blog will serve as a chronicle of my journey in tech, a place where I can share updates, insights, and experiences.

+ +
    +
  • Regular Updates: Expect regular posts on projects I’m working on, new technologies I’m exploring, and general thoughts on the IT world.
  • +
  • Resource Sharing: I’ll be sharing resources and tips that I find useful in my professional journey.
  • +
  • Community Interaction: I’m looking forward to engaging with the community, learning from others, and sharing my knowledge.
  • +
+ +

Stay tuned for more updates, and thank you for being a part of this exciting journey!

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/news/2025/04/09/brewing-success-my-journey-into-freelance-web-development-and-server-upgrades.html b/news/2025/04/09/brewing-success-my-journey-into-freelance-web-development-and-server-upgrades.html new file mode 100644 index 0000000..b3e443d --- /dev/null +++ b/news/2025/04/09/brewing-success-my-journey-into-freelance-web-development-and-server-upgrades.html @@ -0,0 +1,128 @@ + + + + + + + +brewing success: my journey into freelance web development and server upgrades | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

As a tech enthusiast with a love for life’s little pleasures—like a well-brewed cup of coffee—I often find myself reflecting on the intersection of my passions and pursuits. Recently, I’ve had the incredible opportunity to take on a couple of paid web development projects, which not only expanded my skill set but also funded an exciting server upgrade project. Join me as I spill the beans on my experiences in freelancing, my recent tech acquisitions, and how Invoice Ninja became my trusty sidekick in this journey.

+ +

Pouring the Foundations: Freelancing in Web Development

+ +

The web development projects I completed were a fantastic exercise in blending creativity with technical skill. My first client was a dear friend launching her Mental Health Counseling practice, Pemu Counseling and Wellness. This comprehensive mental health service provider focuses on offering personalized counseling and wellness programs. Building her website from scratch was a rewarding endeavor, allowing me to combine my technical skills with a mission close to my heart. Hosting her site on my server not only helped keep costs down but also gave me an opportunity to fine-tune my server management skills.

+ +

Next up was a massage therapist transitioning her services to shamanism and energy healing with her business, Powerful Healing Arts. This sanctuary is dedicated to helping women move beyond physical healing into deeper energetic and spiritual transformation. For her, I built a new website using Squarespace, but with a twist—creating a new site allowed the old one to remain live while I developed it, ensuring there was zero downtime. This tactic was crucial for her business, and it showcased my ability to manage multiple projects while prioritizing client needs.

+ +

These projects pushed my problem-solving abilities to the forefront. Not only was I able to deliver functional websites, but I also learned to communicate effectively and manage timelines—skills that are crucial in the fast-paced freelance world.

+ +

Upgrading My Server: A Techie’s Dream

+ +

With the earnings from my freelance work, I decided it was time to tackle my server upgrade project. Having recently acquired a Dell C6420 that was lacking RAM, I knew the first step was to equip it with the necessary components. This led me on a treasure hunt, culminating in the purchase of a NetApp DS4246 off eBay for a mere $170—a steal considering it typically retails for around $500!

+ +

The excitement didn’t stop there. I also acquired 45 sticks of 16GB RAM for just $5 each in Rochester, while similar RAM on eBay was fetching around $30 each. I felt like a savvy scavenger with each deal I bagged, transforming my server into a powerhouse without emptying my wallet.

+ +

Tools of the Trade: Harnessing Invoice Ninja

+ +

With my freelancing ventures underway and new technology purchases piling up, I realized I needed a robust tool to manage quotes, task tracking, and invoicing. Enter Invoice Ninja! This streamlined software has been a game changer, allowing me to easily track my projects while ensuring timely payments from clients.

+ +

Not only does it provide a professional touch to the invoicing process, but its user-friendly interface has simplified my workflow, letting me focus more on what I love—coding and creating. With customized quotes and task tracking, I can keep my projects organized and ensure nothing falls through the cracks.

+ +

The Perfect Blend: Coffee and Coding

+ +

As I embark on these projects, I can’t help but savor a steaming mug of coffee by my side, fueling my productivity and creativity. The scent of freshly brewed coffee often inspires my coding sessions, turning each challenge into an enjoyable endeavor. It reminds me that work can be pleasurable, especially when you find the right balance between passion and profession.

+ +

Conclusion

+ +

In retrospective sips of coffee, it’s clear that the intersection of freelancing, server upgrades, and the right tools has ignited a spark in my tech journey. Whether it’s honing my web development skills to help clients shine or upgrading my server to expand my capabilities, I’m excited about the path ahead.

+ +

If you’re considering freelancing, I encourage you to explore your options and invest your earnings wisely—who knows what kind of tech treasures you might uncover? Until next time, keep coding, keep sipping, and keep crafting your unique blend of technology and life!

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/null b/null new file mode 100644 index 0000000..db1bb9f --- /dev/null +++ b/null @@ -0,0 +1 @@ +In my professional life, I've navigated various roles in IT. I started at Delta Sonic, moved on to the New York State Office of Information Technology Services, and later thrived as a Desktop Support Specialist at VSO (Virtual Service Operations). After a role with Greene Resources as an Infrastructure Support Specialist, I joined Waygate Technologies in Skaneateles as an End User Support Engineer. Most recently, in March 2025, I returned to New York State service (Office of Information Technology Services), where I continue supporting end users and enterprise operations. diff --git a/posts/:year/:month/:title.html b/posts/:year/:month/:title.html new file mode 100644 index 0000000..1d4caa9 --- /dev/null +++ b/posts/:year/:month/:title.html @@ -0,0 +1,113 @@ + + + + + + + +Page 2 of 2 for d@n tech posts - page 2 | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+

Posts

+ + 2024-03-22 >> java journeys: transitioning to it infrastructure at wolfspeedlife + + 2024-03-04 >> transitioning from lxc to vms: preparing for xcp-ngtech + + 2024-01-22 >> my it odyssey: from entry-level to expertiselife + + 2024-01-11 >> tech infrastructure unpacked: from cloud to home servertech + + 2024-01-03 >> brewing a stronger it career: from helpdesk to higher edlife + + 2023-12-27 >> d@n tech is Live!news + + +
+ + + +Newer -> + + +
+ +
+
+
+ +
+ + + + +
+ + diff --git a/posts/index.html b/posts/index.html new file mode 100644 index 0000000..898d831 --- /dev/null +++ b/posts/index.html @@ -0,0 +1,121 @@ + + + + + + + +d@n tech posts | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + diff --git a/resume/index.html b/resume/index.html new file mode 100644 index 0000000..ddf2924 --- /dev/null +++ b/resume/index.html @@ -0,0 +1,211 @@ + + + + + + + +dustin’s resume | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+

DUSTIN NEWKIRK(7)

+ +

NAME

+

Dustin Newkirk - Experienced IT Professional

+ +

SYNOPSIS

+

dustin [OPTIONS]… [COMMAND]…

+ +

DESCRIPTION

+

Results-driven IT professional with a strong background in systems administration, network infrastructure, and customer support. Adept at resolving complex technical issues, coordinating projects, and delivering top-notch service to stakeholders. Proficient in planning, organizing, and documenting complex server/network activities and collaborating effectively in team environments. ITILv4 Foundations and CompTIA A+ certified.

+ +

EXPERIENCE

+ +

March 2025 - Present

+

Information Technology Specialist 2, New York State Office of Information Technology Services

+
    +
  • Coordinates and facilitates data and business systems support to end-users.
  • +
  • Independently resolves hardware, network connectivity, and application issues.
  • +
  • Performs risk assessments, recommends IT solutions, assists in upgrades.
  • +
+ +

October 2024 - March 2025

+

MergeIT +End User Support Engineer, Waygate Technologies - Contract

+
    +
  • Provide on-site deskside support in office and light manufacturing settings.
  • +
  • Perform technical work activities remotely or on-site to fulfill business and customer needs.
  • +
  • Coordinate small teams and deliver work packages following company processes.
  • +
  • Document work completed and escalate issues in line with company procedures.
  • +
  • Offer excellent customer service to both internal and external customers in a dynamic team environment.
  • +
+ +

March 2024 - June 2024

+

Greene Resources
+Infrastructure Support Specialist, Wolfspeed - Contract

+
    +
  • Maintained operational stability in IT support by swiftly addressing issues, demonstrating persistence and urgency, and aligning short-term results with long-term strategic objectives.
  • +
  • Managed and resolved IT incidents, including prioritizing, diagnosing, and resolving client, telecom, network, and data storage issues, with a focus on first-contact solutions and backlog management.
  • +
  • Efficiently escalated and routed IT tickets, adhered to incident SLAs, and regularly updated a central knowledge base with troubleshooting solutions and known issues.
  • +
  • Coordinated within the IT team to optimize service delivery, time management, and process documentation, ensuring effective task completion and issue escalation.
  • +
  • Handled workstation imaging, software installation, hardware logistics, and asset management, including deployment, relocation, and lifecycle management in accordance with CMDB standards.
  • +
+ +

October 2023 - March 2024

+

VSO (Virtual Service Operations)
+Desktop Support Specialist, Pratt & Whitney - Contract

+
    +
  • Provides desk support, diagnoses problems, resolves technical issues.
  • +
  • Performs installations, repairs, upgrades, backups, and maintenance.
  • +
  • Sets up Audio/Visual equipment, maintains hardware and software inventory.
  • +
+ +

June 2019 - August 2023

+

Information Technology Specialist 2, New York State Office of Information Technology Services

+
    +
  • Coordinates and facilitates data and business systems support to end-users.
  • +
  • Independently resolves hardware, network connectivity, and application issues.
  • +
  • Performs risk assessments, recommends IT solutions, assists in upgrades.
  • +
+ +

September 2017 - June 2019

+

Computer Support Technician, Delta Sonic

+
    +
  • Repairs and maintains point-of-sale equipment, computers, and network systems.
  • +
  • Configures and troubleshoots hardware/software, resolves computer and network issues.
  • +
  • Maintains company IT asset records.
  • +
+ +

EDUCATION

+ +

Computer & Network Systems Administration, AAS

+
    +
  • ITT-Technical Institute, May 2013
  • +
+ +

CERTIFICATIONS

+ +

ITILv4 Foundations

+
    +
  • Received February, 2024
  • +
  • Proficient in IT Service Management principles and practices.
  • +
+ +

CompTIA A+

+
    +
  • Received October, 2023
  • +
  • Demonstrates expertise in computer systems, networking, and security.
  • +
+ +

AWS Certified Cloud Practitioner

+
    +
  • Received January, 2025
  • +
  • Validates foundational understanding of AWS Cloud concepts, services, security, architecture, pricing, and support. Recognizes the importance of AWS Cloud in driving business value through effective cloud adoption and management.
  • +
+ +

TECHNICAL SKILLS

+ +
    +
  • Systems Administration: Windows Server, Linux (Ubuntu, CentOS), Active Directory, System Center Configuration Manager (SCCM)
  • +
  • Networking: TCP/IP, DNS, DHCP, VPN, LAN/WAN
  • +
  • Customer Support: ServiceNow, Spiceworks
  • +
  • Virtualization: VMware, Hyper-V, XCP-NG, Proxmox
  • +
  • Scripting: PowerShell, Bash
  • +
  • Programming: PHP, HTML, CSS, Bootstrap
  • +
  • Databases: MySQL
  • +
  • Security: Firewalls, Antivirus, IDS/IPS, SIEM
  • +
+ +

SOFT SKILLS

+ +
    +
  • Problem-solving and troubleshooting
  • +
  • Communication and collaboration
  • +
  • Time management and organization
  • +
  • Adaptability and continuous learning
  • +
+ +

AUTHOR

+

Dustin Newkirk dustin@dustin.coffee

+ +

SEE ALSO

+

LinkedIn profile

+ +
+
+
+ +
+ + + + +
+ + diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..bc8f1d9 --- /dev/null +++ b/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Sitemap: https://dustin.coffee/sitemap.xml \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..1392be3 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,91 @@ + + + +https://dustin.coffee/news/2023/12/27/New-Site.html +2023-12-27T00:00:00-05:00 + + +https://dustin.coffee/life/2024/01/03/brewing-a-stronger-it-career.html +2024-01-03T00:00:00-05:00 + + +https://dustin.coffee/tech/2024/01/11/tech-infrastructure-unpacked-from-cloud-to-home-server.html +2024-01-11T00:00:00-05:00 + + +https://dustin.coffee/life/2024/01/22/my-it-odyssey.html +2024-01-22T00:00:00-05:00 + + +https://dustin.coffee/tech/2024/03/04/changes-are-brewing.html +2024-03-04T00:00:00-05:00 + + +https://dustin.coffee/life/2024/03/22/java-journeys-transitioning-to-it-infrastructure-at-wolfspeed.html +2024-03-22T00:00:00-04:00 + + +https://dustin.coffee/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html +2024-03-27T00:00:00-04:00 + + +https://dustin.coffee/tech/2024/07/09/when-the-coffee-gets-cold-recent-adventures-in-my-tech-homelab.html +2024-07-09T00:00:00-04:00 + + +https://dustin.coffee/life/2024/11/27/a-roast-of-reality-life-changes-career-shifts-and-what-s-next.html +2024-11-27T00:00:00-05:00 + + +https://dustin.coffee/life/2025/01/30/brewed-reflections-a-semester-wrap-up-and-steaming-future-ahead.html +2025-01-30T00:00:00-05:00 + + +https://dustin.coffee/tech/2025/02/19/percolating-ideas-my-web-dev-adventure.html +2025-02-19T00:00:00-05:00 + + +https://dustin.coffee/life/2025/02/27/from-beans-to-bills-crafting-my-first-project-quote.html +2025-02-27T00:00:00-05:00 + + +https://dustin.coffee/life/2025/02/28/coffee-code-and-creativity-the-launch-of-my-new-website.html +2025-02-28T00:00:00-05:00 + + +https://dustin.coffee/news/2025/04/09/brewing-success-my-journey-into-freelance-web-development-and-server-upgrades.html +2025-04-09T00:00:00-04:00 + + +https://dustin.coffee/tech/2025/06/18/brewing-up-my-homelab-new-services-hardware-and-monitoring-magic.html +2025-06-18T00:00:00-04:00 + + +https://dustin.coffee/tech/2025/12/01/the-baristas-new-tools.html +2025-12-01T00:00:00-05:00 + + +https://dustin.coffee/categories/ + + +https://dustin.coffee/resume/ + + +https://dustin.coffee/ + + +https://dustin.coffee/category/news/ + + +https://dustin.coffee/category/life/ + + +https://dustin.coffee/category/tech/ + + +https://dustin.coffee/collection/posts/ + + +https://dustin.coffee/collection/posts/:year/:month/:title.html + + diff --git a/tech/2024/01/11/tech-infrastructure-unpacked-from-cloud-to-home-server.html b/tech/2024/01/11/tech-infrastructure-unpacked-from-cloud-to-home-server.html new file mode 100644 index 0000000..0adc87d --- /dev/null +++ b/tech/2024/01/11/tech-infrastructure-unpacked-from-cloud-to-home-server.html @@ -0,0 +1,201 @@ + + + + + + + +tech infrastructure unpacked: from cloud to home server | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

Introduction: Sit back and grab a coffee

+

Welcome to a behind-the-scenes look at the infrastructure powering my websites, Dustin.coffee and Hobokenchicken.com. In this post, I’ll lay out the complexities and intricacies of my personal tech setup, demonstrating the importance of reliability, technical skills, and the sheer appreciation of a well-built system.

+ +

Section 1: Domain and DNS Configuration

+

-Cloudflare for DNS Management

+
    +
  • Why the Switch? I transitioned to Cloudflare for managing the DNS of dustin.coffee and hobokenchicken.com after Google Domains shut down.
  • +
  • Understanding DNS Management: Think of DNS (Domain Name System) management like a coffee shop’s menu. It helps people find my websites using easy-to-remember names (like dustin.coffee) instead of complex numerical addresses, much like how you’d order a “Caramel Macchiato” instead of remembering a specific recipe.
  • +
  • Choosing Cloudflare: Cloudflare is renowned for its speed and security, akin to a highly efficient and safe coffee shop where your order is always secure and served quickly.
  • +
  • Content Delivery Network (CDN) Explained: Cloudflare includes a CDN, which can be likened to having multiple coffee stations in a large office. Instead of everyone queuing at one station, causing delays, there are several stations strategically placed around the office. This setup means that no matter where you are in the office, you can get your coffee quickly. In the same way, the CDN ensures that the static content of my websites (like images and stylesheets that don’t change often) is stored in various locations on the internet, so it’s served faster to you, the visitor, no matter where you are.
  • +
+ +

Section 2: Oracle VPS and Its Role

+
    +
  • Choosing Oracle VPS: Think of Oracle VPS as a reliable and affordable storage unit for my website’s digital data. After exploring options like Google Cloud and Hetzner, Oracle VPS stood out for its excellent free tier, offering just the right balance of space and features for my needs. And with the balooning costs of Google and Hetzner, Oracle’s free tier had exactly what I wanted and needed for no cost.
  • +
  • Making Connections Work:
  • +
  • Nginx Proxy Manager: This is akin to a smart sorting system in a post office. When someone requests to view my website, Nginx Proxy Manager efficiently directs this request to the right destination. It ensures that every digital ‘letter’ (or in this case, a request to access my website) is sorted and sent to the correct mailbox (my server).
  • +
  • Tailscale: Imagine Tailscale as a secure and private delivery service. It safely transports information from my Oracle VPS (the digital ‘storage unit’) to my home server (the ‘house’ where my website lives). Tailscale ensures this digital journey is secure, keeping the data safe from any unwanted interference.
  • +
  • How They Work Together:
  • +
  • The data journey starts when you type in my website’s address. This request travels to Cloudflare (the DNS manager), which acts like a directory, pointing the request to the Oracle VPS.
  • +
  • Next, the Oracle VPS, equipped with the Nginx Proxy Manager, receives this request. Nginx checks where the request needs to go – in this case, it’s directed to my home server.
  • +
  • Tailscale then steps in, creating a secure path for this request to travel from the Oracle VPS to my home server. This ensures that the data remains private and secure as it makes its way to the server.
  • +
  • Once the request arrives at my home server, the server processes it and sends back the requested web page or information via the same secure route, back to your screen. +This setup ensures a smooth, secure, and efficient flow of data, from the moment you request to view my website to the moment the content is displayed on your screen.
  • +
+ +

Section 3: The Home Server - Heart of the Operation

+
    +
  • Server Specifications:
  • +
  • My home server, a Dell r720xd, is the workhorse behind my entire setup. It’s designed to handle demanding tasks with ease. Here’s a quick rundown of what it packs: +
      +
    • Processors: It boasts 2x Xeon E5-2695v2 CPUs. These processors are like the brains of the server, handling multiple tasks simultaneously without breaking a sweat.
    • +
    • Memory: With 378GB of RAM, it’s like having a vast workspace, allowing me to run several applications and processes concurrently without any lag.
    • +
    • Storage: For quick access and operations, it has 2x 1TB SSDs. These are like the top drawers of a desk, where I keep frequently used tools. For larger, less frequently accessed data, there are 12 10TB SAS HDDs, acting like a massive filing cabinet, offering ample space.
    • +
    +
  • +
  • This combination of processors, memory, and storage means the server can manage heavy data loads, run multiple services smoothly, and store a vast amount of data – perfect for my varied needs.
  • +
  • Tailscale Subnet Router VM: +
      +
    • This particular VM (Virtual Machine) plays a unique role. It’s set up as a subnet router for Tailscale. To understand its function, imagine Tailscale as a secure, private network connecting various devices. Normally, each device (or in my case, each LXC container) would need its own Tailscale setup, which can be like having a separate security system for each room in a house.
    • +
    • What the Tailscale Subnet Router VM does is act like a central security system for the entire house. It means that instead of setting up Tailscale on every individual LXC container, they all automatically get secure access through this VM. This setup simplifies management, enhances security, and ensures that each part of my server communicates securely with the outside world.
    • +
    +
  • +
  • A Note on Server Age and Ko-fi Initiative:
  • +
  • While my Dell r720xd server has been a reliable cornerstone of my digital infrastructure, it’s important to note that it’s part of an aging platform. In the tech world, this is akin to having a classic car - it has its charm and capabilities, but it also requires maintenance and eventual upgrades to keep up with modern demands and efficiencies.
  • +
  • To address this, I’ve started a Ko-fi initiative. Think of Ko-fi as a digital tip jar where supporters can contribute small amounts to help fund upgrades and maintenance for the server. This initiative is all about ensuring that my server continues to run smoothly and remains capable of supporting the latest technologies and my growing needs. Contributions will go directly towards hardware upgrades, ensuring that the server remains robust, secure, and efficient.
  • +
  • If you appreciate the content and services I provide and want to support the longevity and improvement of this setup, consider contributing to my Ko-fi. Every little bit helps in keeping this digital engine running at its best!
  • +
+ +

Section 4: LXC Containers and Services

+
    +
  • Plex with GPU Passthrough:
  • +
  • My Plex server is a key component of my home entertainment system. By utilizing GPU passthrough, the server’s graphics processing capabilities are significantly enhanced. This means smoother, higher-quality video transcoding, allowing for a better viewing experience on various devices, regardless of their native format compatibility.
  • +
  • Calibre-web in Docker: +
      +
    • Calibre-web, hosted in a Docker container, serves as a digital library. It’s primarily used for managing and providing access to a wide range of college textbooks and educational materials for students I support. This setup simplifies the process of storing, accessing, and reading these books, making it an invaluable resource for their academic needs.
    • +
    +
  • +
  • Jekyll Blog Hosting: +
      +
    • For my Jekyll blog, I’ve tailored a hosting environment that allows for efficient management and seamless content updates. This setup ensures that my blog remains responsive, secure, and easy to navigate, offering visitors a pleasant reading experience.
    • +
    +
  • +
  • Foundry Server for Pathfinder: +
      +
    • The Foundry server is dedicated to hosting Pathfinder role-playing games. It’s one of my oldest and most cherished projects, co-managed with another Dungeon Master. This server provides a rich, interactive platform for our gaming sessions, complete with maps, character sheets, and real-time updates, enhancing our Pathfinder experiences.
    • +
    +
  • +
  • ‘Arr’ Stack in Docker: +
      +
    • The ‘Arr’ stack, hosted within Docker, comprises several components including Prowlarr, Radarr, Sonarr, Sabnzbd, Lidarr, Bazarr, Overseer, Tautulli, Deemix, and Homarr. Each of these components plays a specific role, from managing TV show downloads (Sonarr) to handling music (Lidarr), and even tracking and analyzing Plex usage (Tautulli). This stack represents a comprehensive media management solution, catering to various entertainment needs.
    • +
    +
  • +
  • Mealie Website for Recipes: +
      +
    • Mealie is a recent addition to my setup, currently in the testing phase. It’s a web application for meal planning, recipe storage, and generating shopping lists. This tool is aimed at simplifying the process of deciding what to eat, preparing meals, and shopping for ingredients, streamlining the entire culinary experience in my household.
    • +
    +
  • +
+ +

Section 5: Data Flow and Security

+
    +
  • Overview of Data Flow +
      +
    • I’ll provide a diagram and a thorough explanation of how data moves through this intricate setup.
    • +
    +
  • +
  • Security Measures +
      +
    • Discussion of the various security measures in place, especially focusing on the role of Tailscale and other precautions I’ve implemented.
    • +
    +
  • +
+ +

Conclusion: Bringing It All Together

+

As we’ve journeyed through the various components of my digital setup – from DNS management with Cloudflare to the intricacies of my home server and LXC containers – it’s clear that managing such a system requires a blend of technical know-how, strategic planning, and a passion for technology.

+ +

The complexity of this setup not only showcases the dynamic nature of tech infrastructure but also highlights the importance of ongoing learning and adaptation. Whether it’s handling the transition from Google Domains to Cloudflare, optimizing the use of Oracle VPS, or maintaining the myriad services on my Dell r720xd, each element plays a crucial role in delivering a seamless digital experience.

+ +

Beyond the technical aspects, this journey is also about the community and the shared experiences. From hosting Pathfinder games to providing educational resources through Calibre-web, each service has its unique impact.

+ +

As technology continues to evolve, so will the components of my setup. I’m excited to continue sharing these developments, insights, and stories with you. Your feedback, questions, and support – especially through initiatives like the Ko-fi for server upgrades – are what make this journey enriching and worthwhile.

+ +

Thank you for taking the time to delve into the world of dustin.coffee and hobokenchicken.com. I hope this glimpse behind the scenes not only informs but also inspires you in your own tech endeavors.

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/tech/2024/03/04/changes-are-brewing.html b/tech/2024/03/04/changes-are-brewing.html new file mode 100644 index 0000000..b5b0c07 --- /dev/null +++ b/tech/2024/03/04/changes-are-brewing.html @@ -0,0 +1,124 @@ + + + + + + + +transitioning from lxc to vms: preparing for xcp-ng | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

Introduction:

+

In this latest discussion at d@n tech, we’re focusing on a significant transition in the server environment. I’ve recently embarked on a project to shift from LXC containers to VMs (Virtual Machines), a move prompted by upcoming changes in the server infrastructure.

+ +

Why the Shift?:

+

The move away from LXC containers, a staple in my Proxmox setup, to VMs is driven by a need for greater flexibility and platform independence. With plans to eventually migrate to XCP-NG from Proxmox, VMs present a more viable option due to their portability and compatibility with various platforms.

+ +

The Transition Process:

+ +
    +
  • Evaluation: The initial phase involved assessing the existing LXC configurations, understanding the nuances of their deployment within Proxmox.
  • +
  • Selecting the VM Platform: After exploring various options, I settled on a VM platform that complements the forthcoming XCP-NG environment.
  • +
  • Migration Strategy: I planned the migration in stages, aiming to minimize disruptions and ensure data integrity throughout the process.
  • +
  • Implementation: The services were methodically transitioned from LXC to VMs, with each step rigorously tested for performance and functionality.
  • +
  • Post-Migration Optimization: Following the migration, I’ve been focusing on fine-tuning the VMs to optimize their performance in the new environment.
  • +
+ +

Upcoming Changes:

+

The most significant upcoming change is the construction and deployment of a new server that will run XCP-NG. This shift marks a departure from the current Proxmox setup. Once the new server is built and put into production, the VMs, currently housed within Proxmox, will be migrated over to XCP-NG. This transition is not just a change in technology but a strategic move towards a more versatile and robust server ecosystem.

+ +

Challenges and Learnings:

+

Navigating through this transition hasn’t been straightforward. From compatibility checks to performance tuning, each step presented its own set of challenges. However, these hurdles have provided valuable insights into both Proxmox and XCP-NG platforms.

+ +

Conclusion:

+

This journey from LXC containers to VMs, culminating in the move to XCP-NG, is more than a technical upgrade. It’s a step towards future-proofing the server environment, ensuring I stay agile and adaptable in the ever-evolving tech landscape.

+ +

Looking Ahead at d@n tech:

+

As we move closer to the full deployment of the XCP-NG server, stay tuned for more updates, insights, and learnings from this journey.

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html b/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html new file mode 100644 index 0000000..7121fbe --- /dev/null +++ b/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html @@ -0,0 +1,114 @@ + + + + + + + +brewing resilience: from lxc to vm for flawless plex and beyond | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

Introduction:

+

Hey everyone, it’s time for another tech update from d@n tech! Recently, I made a significant change to my Plex server setup that I’m excited to share with you all. After encountering issues with hardware transcoding, I decided to transition my Plex server from an LXC container to a VM, utilizing GPU passthrough for flawless transcoding performance.

+ +

The Importance of Hardware Transcoding and GPU Passthrough:

+

Before diving into the transition process, let’s talk about why hardware transcoding and GPU passthrough are crucial for a smooth Plex experience. Hardware transcoding offloads the burden of video transcoding from the CPU to specialized hardware, such as a GPU. This results in lower CPU usage, faster transcoding speeds, and better playback performance, especially for remote streaming or multiple concurrent streams. GPU passthrough allows a virtual machine to directly access and utilize a physical GPU, ensuring optimal performance for tasks like video encoding and decoding.

+ +

Encountering Issues and Making the Transition:

+

A couple of weeks ago, I noticed that hardware transcoding on my Plex server was no longer functioning properly. After troubleshooting for hours, I discovered that something had broken, preventing the GPU from being utilized for transcoding within the LXC container. Faced with this dilemma, I decided to take the plunge and convert my Plex server to a VM, passing the GPU directly to the VM for optimal performance.

+ +

The Transition Process:

+

Converting the Plex server from an LXC container to a VM was no small feat, but it was well worth the effort. I spent several hours meticulously configuring the VM and setting up GPU passthrough. Once everything was in place, I fired up Plex and was thrilled to see hardware transcoding working flawlessly once again. The difference in performance was like night and day, with smoother playback and reduced CPU load.

+ +

Conclusion:

+

The transition from LXC to VM with GPU passthrough has revitalized my Plex server, ensuring seamless streaming experiences for users across the United States. With hardware transcoding back on track, remote streaming is once again smooth and reliable, regardless of the distance. Beyond Plex, this change underscores the significance of leveraging hardware acceleration and GPU passthrough for a wide range of services hosted on my server. From media streaming to collaborative projects and beyond, the improved performance enhances the overall user experience and reinforces the reliability of my server infrastructure.

+ +

Stay Tuned:

+

As I continue to fine-tune my server setup and explore new technologies, including optimizations for remote streaming and enhancements to various hosted services, be sure to stay tuned for more updates and insights here at d@n tech. Whether you’re a fellow tech enthusiast or a remote user enjoying the benefits of my server, there’s always something new on the horizon.

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/tech/2024/07/09/when-the-coffee-gets-cold-recent-adventures-in-my-tech-homelab.html b/tech/2024/07/09/when-the-coffee-gets-cold-recent-adventures-in-my-tech-homelab.html new file mode 100644 index 0000000..6c58e5f --- /dev/null +++ b/tech/2024/07/09/when-the-coffee-gets-cold-recent-adventures-in-my-tech-homelab.html @@ -0,0 +1,113 @@ + + + + + + + +when the coffee gets cold: recent adventures in my tech homelab | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

A Not-So-Smooth Brew: Plex VM Crash

+

Just like the perfect cup of coffee, my Plex Media Server has always been a source of comfort. However, recently, it decided to give me a bit of a jolt. The Plex VM crashed, which felt like spilling a fresh brew all over the counter. Thankfully, no media was lost. But, just like trying to clean up a coffee spill, restoring the backup didn’t go as planned.

+ +

Instead of throwing in the towel, I rolled up my sleeves and rebuilt the VM from scratch. In the end, it was like discovering a new coffee blend – different, but better. I made some significant changes that improved the performance and reliability of the server. Sometimes, the best way to deal with a mess is to embrace the opportunity to improve.

+ +

Fresh Beans: Upgrading the Server

+

In the quest for better performance, I decided it was time for a hardware upgrade. I purchased 8 Xeon Gold 6138 processors, two per node, and got one node up and running for testing. It was like upgrading from instant coffee to a high-end espresso machine. The server feels more powerful and ready to handle anything I throw at it.

+ +

However, before I can start moving my VMs, I need to invest in more RAM. For now, the new node is up and running, and I’ve tested moving VMs from Proxmox to XCP-NG. The process was smooth, with no issues – like making a seamless transition from drip coffee to a French press. Everything worked perfectly, setting the stage for future migrations.

+ +

Scheduled Downtime: Brewing the Perfect Cup

+

As any coffee aficionado knows, good things take time. Similarly, my server setup will require some planned downtime in the last week of July into early August. While this might feel like waiting for your morning coffee to brew, I assure you it’s worth it. There will be no loss of data, although services will be temporarily impacted.

+ +

This downtime is necessary to ensure everything is running as smoothly as a freshly brewed cup of coffee. Once complete, my homelab will be stronger and more efficient, ready to serve up the tech equivalent of a perfect cup of joe.

+ +

Stay tuned for more updates from dustin.coffee. Until then, keep your coffee hot and your servers cool!

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/tech/2025/02/19/percolating-ideas-my-web-dev-adventure.html b/tech/2025/02/19/percolating-ideas-my-web-dev-adventure.html new file mode 100644 index 0000000..771f801 --- /dev/null +++ b/tech/2025/02/19/percolating-ideas-my-web-dev-adventure.html @@ -0,0 +1,145 @@ + + + + + + + +percolating ideas: my web dev adventure | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

Creating a website is more than just coding; it’s about having a vision and bringing it to life. Recently, I embarked on an exciting web development adventure that was both personally and professionally fulfilling. Over the course of two weeks, I built a website for my friend, a dedicated mental health counselor, using HTML, CSS, Bootstrap, and PHP. Here’s a glimpse into my journey, from the initial brainstorming sessions to the final launch, and everything in between.

+ +

The Inspiration Behind the Website

+ +

The foundation of this project was rooted in a profound purpose: to help my friend connect with individuals seeking mental health support. She had a clear vision for her website—a space that not only highlighted her counseling services but also provided resources, insights, and a sense of community. Understanding this, I was eager to turn her vision into a reality.

+ +

Planning and Design: Laying the Groundwork

+ +

Every great project begins with a solid plan. We kicked things off with brainstorming sessions where my friend shared her ideas about the website’s content and structure. Together, we outlined the key pages:

+ +
    +
  • About Page: An introduction to my friend’s background and her approach to mental health counseling.
  • +
  • Services Offered: Detailed descriptions of the different counseling options available.
  • +
  • Resource Hub: A curated collection of articles, tips, and links to support mental well-being.
  • +
  • Contact Form: An easy-to-use form for potential clients to get in touch.
  • +
+ +

Using Bootstrap allowed me to create a responsive and visually appealing layout. The emphasis was on clarity and accessibility, ensuring that visitors could find what they needed without hassle.

+ +

Development Process: Turning Ideas into Reality

+ +

My two-week development timeline was packed with creativity and learning. Here are some highlights from this adventure:

+ +

Week 1: Structuring the Site

+ +

In the first week, I focused on the website’s foundational structure, employing HTML to set up content organization. CSS came next, allowing me to craft the aesthetic that matched my friend’s compassionate and professional tone. Bootstrap was instrumental during this phase, enabling a swift transition to a mobile-friendly design that adapts to various screen sizes.

+ +

Week 2: Bringing Functionality to Life

+ +

With the structure in place, I sprinted into the second week, where I added PHP functionality for the contact form. This important feature would allow prospective clients to reach out without the hassle of dealing with their email accounts—a small yet significant convenience.

+ +

Version Control: Keeping Track with GitHub

+ +

Track changes was a breeze thanks to GitHub. Every implementation and tweak was logged in the repository, which not only helped streamline development but also made it easier to involve my friend in the feedback loop. Iteration and collaboration became the backbone of our process, ensuring the final product was truly reflective of her vision.

+ +

Hosting and Domain Setup: The Finishing Touches

+ +

Once we settled on the design and functionality, it was time to get the website online. I opted to host the site on a virtual machine (VM) within my own server. This gave me complete control over the hosting environment and security features.

+ +

For domain registration, we selected Cloudflare, known for its robust features and security enhancements. This decision meant that visitors would benefit from faster load times and improved site safety—important factors when dealing with sensitive topics like mental health.

+ +

Conclusion: A Journey of Purpose

+ +

Building this website was more than a technical endeavor; it was an opportunity to contribute to a cause I truly believe in. Knowing that this platform can help connect individuals with the mental health support they need is immensely gratifying.

+ +

As my friend embarks on this new chapter of her practice, I’m excited to see how the website will grow and evolve. If you’re a mental health professional in need of an online presence or any kind of support to bring your ideas to fruition, remember: the journey may pose challenges, but the rewards are lasting.

+ +

This web dev adventure taught me that purpose drives creativity. Creating a meaningful website is not just an end goal; it’s a way to serve and connect with the community. Here’s to more adventures and the endless possibilities that come from percolating ideas!

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/tech/2025/06/18/brewing-up-my-homelab-new-services-hardware-and-monitoring-magic.html b/tech/2025/06/18/brewing-up-my-homelab-new-services-hardware-and-monitoring-magic.html new file mode 100644 index 0000000..7711211 --- /dev/null +++ b/tech/2025/06/18/brewing-up-my-homelab-new-services-hardware-and-monitoring-magic.html @@ -0,0 +1,141 @@ + + + + + + + +brewing up my homelab: new services, hardware, and monitoring magic | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

Hello fellow tech enthusiasts (and coffee lovers)!

+ +

As much as I enjoy a freshly brewed cup of coffee, there’s something equally satisfying about brewing up new capabilities in my homelab. Over the past few weeks, I’ve been busy adding some fresh services and hardware to keep my setup not just humming, but buzzing with efficiency and helpfulness. Whether you’re managing your own digital playground or just curious about what’s possible on a home scale, here’s what’s new on the docket — plus, the gear that’s making it all work.

+ +

New Services: From Collaboration to Monitoring and Gaming

+ +

Nextcloud-AIO – Saying Goodbye to Discord Dependence

+

First up: I’ve integrated Nextcloud-AIO to replace our previous dependence on Discord for collaboration and file sharing. With the all-in-one Nextcloud setup, I’ve gained a self-hosted, privacy-respecting platform that handles chat, file sharing, calendar syncing, and more — all under my control. It’s the perfect homebrew alternative to relying on third-party cloud services.

+ +

Grafana, Prometheus, and Telegraf – Monitoring Made Beautiful

+

Monitoring is crucial, especially as my homelab grows in complexity. I’ve hooked up Grafana, Prometheus, and Telegraf to create a robust monitoring stack that tracks performance metrics and visualizes everything in sleek, coffee-black dashboards. From CPU temps to network throughput, now I can sip some espresso while stats gently pour in real time.

+ +

Uptime Kuma – Watching Over My Homelab from the Cloud

+

While my monitoring stack watches internal metrics, I also set up Uptime Kuma on my VPS to keep an eye on service availability from an external vantage point. Having an external health check ensures that I’m alerted if services go down when I’m away from home—because coffee breaks shouldn’t be interrupted by unexpected outages!

+ +

WeddingShare – Celebrating with Friends

+

On a more personal note, I deployed WeddingShare for a friend’s upcoming wedding. This open-source project is a fantastic way to collaboratively share photos and memories securely. Running it on my homelab feels great—using technology to enhance life’s special moments.

+ +

Enshrouded Game Server – Because Play Is Important

+

Lastly, I gave new life to my gaming side by spinning up an Enshrouded game server. After all, every techie needs downtime, and running a self-hosted game server keeps me connected with friends while enjoying some pixelated adventures.

+ +

Upgrading the Hardware: Rack ’Em, Stack ’Em, and Speed ’Em Up

+ +

To support all these new services and keep things neat, I’ve invested in some solid hardware upgrades:

+ +
    +
  • 25U Rack — Finally, my scattered gear is beautifully racked and organized. Nothing like a sturdy rack to keep cables tidy and airflow optimal.
  • +
  • 10Gb NICs for C6420 — High-speed networking is a must, so I equipped my C6420 with 10 Gigabit NICs. Moving data is faster than ever.
  • +
  • NetApp DS4246 — Storage gets a big upgrade with this robust disk shelf, improving both capacity and reliability.
  • +
  • NETGEAR GS724T v2 PROSAFE 24-Port Switch — For all the 1Gb connections, this switch provides plenty of ports and solid management features.
  • +
  • Rails for R720xd, C6420, and NetApp DS4246 — Proper mounting hardware makes installing and servicing equipment a breeze.
  • +
+ +

Lessons Learned & What’s Next

+ +

Setting up all these components has been a rewarding challenge that reminds me why I love blending technology with a little caffeine-induced focus. With better monitoring, more control over collaboration, and robust hardware behind it, my homelab feels ready to handle just about anything I throw at it.

+ +

Looking ahead, I’m keen to explore containerizing more apps, automating backups, and maybe even dabbling in some home automation tied into this setup. And of course, keeping the coffee flowing remains a top priority.

+ +
+ +

If you’re running your own homelab or considering starting one, I hope this update sparks some ideas (and maybe convinces you to add a rack or two!). Feel free to reach out if you want details on how I set up any of these services or hardware.

+ +

Until next post — stay caffeinated and curious!

+ +
+
+
+
+ +
+ + + + +
+ + diff --git a/tech/2025/12/01/the-baristas-new-tools.html b/tech/2025/12/01/the-baristas-new-tools.html new file mode 100644 index 0000000..91441dd --- /dev/null +++ b/tech/2025/12/01/the-baristas-new-tools.html @@ -0,0 +1,141 @@ + + + + + + + +the barista’s new tools | d@n tech + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

d@n tech

+
+
Caffinated Tech Insights
+
+ +
+
+ +
+ +
+
+ + +
+

Many Changes in the Past few months…##

+ +

Welcome back to the cafe! Any good barista knows that a perfect cup of coffee isn’t just about the beans—it’s about the tools. The grinder, the espresso machine, the tamper—every piece of equipment plays a role in creating a smooth, efficient, and delightful experience.

+ +

Behind the counter of this digital coffee shop, I’ve been busy upgrading my toolkit. It’s time for a little “shop talk” to show you what’s been brewing under the hood. From improving the daily grind to adding brand-new services, here are the new tools I’ve added to the workbench.

+ +
+ +

A Sleeker Grind for PDFs

+ +

My first stop was the digital document grinder. For a long time, StirlingPDF was my go-to workhorse for handling PDF files—it’s powerful and incredibly versatile. However, the project recently moved to a commercial model, and in the world of self-hosting, the best-tasting coffee is the one you don’t have to pay a subscription for.

+ +

This sent me on a search for a new grinder, and I landed on Bento. Honestly, the switch feels like a complete upgrade. Bento offers a stunningly clean UI and consolidates a huge number of file-handling tools into one beautiful, fast, and joyful interface. It’s a perfect example of how a change forced by necessity can lead to an even better discovery.

+ +

Brewing Our Own Mail

+ +

From streamlining daily tasks, I moved on to a much bigger project: taking full control of my digital correspondence. I’ve finally stopped relying on third-party providers and am now brewing my own email in-house for hobokenchicken.com using Mailcow. This powerful, all-in-one mail server suite is running in its own virtual machine on my trusty Dell R720xd homelab server. It’s like roasting my own beans—more work, but the final product is tailored exactly to my tastes with complete control and privacy.

+ +

A Better Filter for a Cleaner Brew

+ +

This theme of control and privacy extends to the very foundation of my network. You can’t make good coffee with bad water, and for years, Pi-hole has been my network’s water filter. Recently, however, I swapped it out for AdGuard Home. The upgrade gives me a more modern interface, built-in support for DNS-over-HTTPS (DoH), and easier per-client filtering. It’s the same great-tasting, ad-free internet, just with a more advanced filtration system.

+ +

Keeping the Delivery Fleet Tuned Up

+ +

While most of these tools keep the digital side of things running, some projects are for the physical world. To better maintain my cars, I’ve spun up an instance of LubeLogger. This self-hosted service is fantastic for logging oil changes, tire rotations, and every other bit of vehicle upkeep. No more forgetting when I last checked the tire pressure—it’s all logged and ready.

+ +

A New Flavor of AI Espresso

+ +

Back on the digital counter, my local AI setup, powered by Open-WebUI, is like a high-tech espresso machine. To expand its capabilities, I’ve just integrated Google’s Gemini family of models. Having access to Gemini is like adding a new single-origin bean to experiment with. It offers a different “flavor” of response and excels at different tasks, making my AI toolkit that much more versatile.

+ +

The New Digital Recipe Book

+ +

With all this new information being discovered and generated, keeping track of it became the next challenge. My browser bookmarks were getting out of control, so I’ve implemented KaraKeep, a clean, self-hosted bookmark manager. It’s a simple, tag-based system that acts as my new digital recipe book, keeping all my best finds neatly organized.

+ +

The Mission Control for the Cafe

+ +

Of course, what’s the point of having all these wonderful machines if you can’t manage them effectively? With over 50 Docker containers now running across 3 different hosts, I needed a better command center. That’s where Portainer comes in. This container management UI has become my mission control, giving me a bird’s-eye view of everything. It lets me deploy, manage, and troubleshoot from a clean web interface, ensuring all the other tools run smoothly.

+ +
+ +

So there you have it—a peek at the new and improved setup behind the scenes. These tools are all about improving efficiency, security, and capability. After all, a happy barista with great tools makes for a better coffee shop for everyone.

+ +

Stay tuned to see what we brew up next.

+ + +
+
+
+
+ +
+ + + + +
+ +