From 83c6d7a5e641b868b2b8c3abd9fb5c98aa3790fe Mon Sep 17 00:00:00 2001 From: panr Date: Wed, 9 Sep 2020 22:56:54 +0200 Subject: [PATCH] Refactor code & install `prettier-plugin-go-template` --- .prettierrc | 4 +- layouts/404.html | 36 +++-- layouts/_default/baseof.html | 9 +- layouts/_default/index.html | 6 +- layouts/_default/list.html | 95 +++++++------ layouts/_default/single.html | 19 ++- layouts/_default/terms.html | 31 +++-- layouts/archive/list.html | 84 +++++------ layouts/partials/analytics.html | 2 +- layouts/partials/comments.html | 3 +- layouts/partials/footer.html | 14 +- layouts/partials/greater-icon.html | 2 +- layouts/partials/head.html | 38 +++-- layouts/partials/header.html | 4 +- layouts/partials/lastmod.html | 3 +- layouts/partials/logo.html | 12 +- layouts/partials/menu.html | 7 +- layouts/partials/theme-icon.html | 15 +- layouts/shortcodes/imgproc.html | 25 ++-- package.json | 2 + ...64572ec0016f1e142.woff => Inter-Bold.woff} | Bin ...e9807662caebaa0.woff2 => Inter-Bold.woff2} | Bin ...33b94d180ea.woff => Inter-BoldItalic.woff} | Bin ...6b69dc1e7.woff2 => Inter-BoldItalic.woff2} | Bin ...fc38485e2957ca3.woff => Inter-Italic.woff} | Bin ...8caed68164471.woff2 => Inter-Italic.woff2} | Bin ...83642d9393a0c2d.woff => Inter-Medium.woff} | Bin ...ca6125f513c9d.woff2 => Inter-Medium.woff2} | Bin ...26822356b.woff => Inter-MediumItalic.woff} | Bin ...f901f92.woff2 => Inter-MediumItalic.woff2} | Bin ...261495d4caef09.woff => Inter-Regular.woff} | Bin ...8852e24928eb.woff2 => Inter-Regular.woff2} | Bin static/assets/main.js | 123 ++++++++++++++++- static/assets/prism.js | 130 ++++++++++++++++-- static/assets/style.css | 2 +- webpack.config.js | 1 + yarn.lock | 10 ++ 37 files changed, 504 insertions(+), 173 deletions(-) rename static/assets/{c7c0091f1b2b06064572ec0016f1e142.woff => Inter-Bold.woff} (100%) rename static/assets/{3c747ac4004be3a30e9807662caebaa0.woff2 => Inter-Bold.woff2} (100%) rename static/assets/{aa42f3d22ea9fae2b945f33b94d180ea.woff => Inter-BoldItalic.woff} (100%) rename static/assets/{86b501b4ef9d20d70996b196b69dc1e7.woff2 => Inter-BoldItalic.woff2} (100%) rename static/assets/{fa701b4b599a803effc38485e2957ca3.woff => Inter-Italic.woff} (100%) rename static/assets/{1b084c69c69a1b3a2618caed68164471.woff2 => Inter-Italic.woff2} (100%) rename static/assets/{cc6a88688869161eb83642d9393a0c2d.woff => Inter-Medium.woff} (100%) rename static/assets/{5b53c519b3184a74a98ca6125f513c9d.woff2 => Inter-Medium.woff2} (100%) rename static/assets/{642b4659478701575989a8926822356b.woff => Inter-MediumItalic.woff} (100%) rename static/assets/{f25066e37f191178ef56ae1f2f901f92.woff2 => Inter-MediumItalic.woff2} (100%) rename static/assets/{fc49d131f795b4d48f261495d4caef09.woff => Inter-Regular.woff} (100%) rename static/assets/{2505c0d4b34ffca98f8f8852e24928eb.woff2 => Inter-Regular.woff2} (100%) diff --git a/.prettierrc b/.prettierrc index dacd6a2..2ec43f6 100644 --- a/.prettierrc +++ b/.prettierrc @@ -3,9 +3,9 @@ "printWidth": 100, "trailingComma": "all", "overrides": [{ - "files": ".html", + "files": ["*.html"], "options": { - "parser": "html" + "parser": "go-template" } }] } diff --git a/layouts/404.html b/layouts/404.html index f63c85c..332b955 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -1,19 +1,29 @@ {{ define "main" }} -
-

{{ .Title | markdownify }}

+
+

+ {{ .Title | markdownify }} +

-

{{ "Hmm... Sorry, this page seems to be missing." | markdownify }} - {{ if .Site.Taxonomies.tags }} - {{ "Maybe these tags will help you find what you're looking for. :smile:" | markdownify | emojify }}

+

+ {{ "Hmm... Sorry, this page seems to be missing." | markdownify }} +

+ + {{ if .Site.Taxonomies.tags }} +

+ {{ "Maybe these tags will help you find what you're looking for. :smile:" | markdownify | emojify }} +

Tags

- +
- {{ end }} + {{ end }}
-
-{{ end }} \ No newline at end of file +
+{{ end }} diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 3cfa5e0..4d09da5 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -2,7 +2,11 @@ {{ block "title" . }} - {{ if .IsHome }}{{ $.Site.Title }}{{ with $.Site.Params.Subtitle }} — {{ . }}{{ end }}{{ else }}{{ .Title }} :: {{ $.Site.Title }}{{ with $.Site.Params.Subtitle }} — {{ . }}{{ end }}{{ end }} + + {{ if .IsHome }}{{ $.Site.Title }}{{ with $.Site.Params.Subtitle }} — + {{ . }}{{ end }}{{ else }}{{ .Title }} :: + {{ $.Site.Title }}{{ with $.Site.Params.Subtitle }} — {{ . }}{{ end }}{{ end }} + {{ end }} {{ partial "head.html" . }} @@ -11,8 +15,7 @@ {{ partial "header.html" . }}
- {{ block "main" . }} - {{ end }} + {{ block "main" . }} {{ end }}
{{ block "footer" . }} diff --git a/layouts/_default/index.html b/layouts/_default/index.html index d349856..f12ba79 100644 --- a/layouts/_default/index.html +++ b/layouts/_default/index.html @@ -28,7 +28,11 @@ {{ partial "lastmod.html" . }} {{ end }} {{ end }} - {{ with .Params.Author }}— {{ $.Site.Params.WrittenBy | default "Written by" }} {{ . }}{{ end }} + + {{ with .Params.Author }} + — {{ $.Site.Params.WrittenBy | default "Written by" }} {{ . }} + {{ end }} + {{ if $.Site.Params.ShowReadingTime }} — {{ .ReadingTime }} {{ $.Site.Params.MinuteReadingTime | default "min read" }} {{ end }} diff --git a/layouts/_default/list.html b/layouts/_default/list.html index c60d853..934b481 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -1,59 +1,70 @@ {{ define "main" }}
{{ range .Pages }} -
-

{{ .Title | markdownify }}

- {{ end }} {{ partial "pagination.html" . }}
diff --git a/layouts/_default/single.html b/layouts/_default/single.html index e94ef00..4a553c9 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -17,9 +17,16 @@ {{ end }} {{ end }} - {{ with .Params.Author }}{{ end }} + {{ with .Params.Author }} + {{ end }} + + {{ if $.Site.Params.ShowReadingTime }} - — {{ .ReadingTime }} {{ $.Site.Params.MinuteReadingTime | default "min read" }} + — {{ .ReadingTime }} {{ $.Site.Params.MinuteReadingTime | default "min read" }} {{ end }}
@@ -56,7 +63,9 @@ {{ if or .NextInSection .PrevInSection }} {{ end }} diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html index ee70bc9..e5f4a56 100644 --- a/layouts/_default/terms.html +++ b/layouts/_default/terms.html @@ -1,18 +1,19 @@ {{ define "main" }} - -
-

{{ .Title }}

- +
{{ end }} diff --git a/layouts/archive/list.html b/layouts/archive/list.html index 51629cb..5fb9b71 100644 --- a/layouts/archive/list.html +++ b/layouts/archive/list.html @@ -1,47 +1,49 @@ {{ define "main" }} + {{ $isntDefault := not (or (eq (trim $.Site.Params.contentTypeName " ") "posts") (eq (trim $.Site.Params.contentTypeName " ") "")) }} + {{ $contentTypeName := cond $isntDefault (string $.Site.Params.contentTypeName) "posts" }} -{{ $isntDefault := not (or (eq (trim $.Site.Params.contentTypeName " ") "posts") (eq (trim $.Site.Params.contentTypeName " ") "")) }} -{{ $contentTypeName := cond $isntDefault (string $.Site.Params.contentTypeName) "posts" }} - -
-

{{ .Title }}

- {{ range .Site.RegularPages.GroupByPublishDate "2006" }} - {{ if ne .Key "0001" }} -
-

{{ replace .Key "0001" "" }}

- {{ range .Pages.GroupByDate "January" }} -
-

{{ .Key }}

-
- {{ range where .Pages "Type" $contentTypeName }} - {{ if eq .Kind "page" }} -
-

{{ .Title | markdownify }} -

- +
+

{{ .Title }}

+ {{ range .Site.RegularPages.GroupByPublishDate "2006" }} + {{ if ne .Key "0001" }} +
+

{{ replace .Key "0001" "" }}

+ {{ range .Pages.GroupByDate "January" }} +
+

{{ .Key }}

+
+ {{ range where .Pages "Type" $contentTypeName }} + {{ if eq .Kind "page" }} +
+

+ {{ .Title | markdownify }} +

+ +
+ {{ end }} + {{ end }} +
+
+ {{ end }}
- {{ end }} - {{ end }} -
-
+ {{ end }} {{ end }}
- {{ end }} - {{ end }} -
{{ end }} diff --git a/layouts/partials/analytics.html b/layouts/partials/analytics.html index c2434f2..1720a8e 100644 --- a/layouts/partials/analytics.html +++ b/layouts/partials/analytics.html @@ -4,7 +4,7 @@ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); -ga('create', '{{.}}', 'auto'); +ga('create', '{{ . }}', 'auto'); ga('send', 'pageview'); diff --git a/layouts/partials/comments.html b/layouts/partials/comments.html index 64f5a64..8dd2afb 100644 --- a/layouts/partials/comments.html +++ b/layouts/partials/comments.html @@ -4,5 +4,4 @@ Hugo directory and insert: {{ template "_internal/disqus.html" . }} -or whatever comment engine you want -> https://gohugo.io/content-management/comments/#readout ---> +or whatever comment engine you want -> https://gohugo.io/content-management/comments/#readout --> diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 9534fad..1ae8080 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -2,13 +2,19 @@ diff --git a/layouts/partials/greater-icon.html b/layouts/partials/greater-icon.html index b0b2cbc..dc69bbb 100644 --- a/layouts/partials/greater-icon.html +++ b/layouts/partials/greater-icon.html @@ -1,3 +1,3 @@ - + diff --git a/layouts/partials/head.html b/layouts/partials/head.html index afc0596..824ce63 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -1,21 +1,39 @@ - - - - - + + + + + {{- partial "prepended_head.html" . }} - + - + - - + + + + + + + + + + {{ template "_internal/twitter_cards.html" . }} @@ -25,7 +43,7 @@ {{ range .AlternativeOutputFormats -}} - {{ printf `` .Rel .MediaType.Type .RelPermalink $.Site.Title | safeHTML }} + {{ printf `` .Rel .MediaType.Type .RelPermalink $.Site.Title | safeHTML }} {{ end -}} diff --git a/layouts/partials/header.html b/layouts/partials/header.html index 0a20d2b..f7b5e75 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -6,8 +6,8 @@ {{ partial "menu.html" . }} - - + + {{ end }} diff --git a/layouts/partials/lastmod.html b/layouts/partials/lastmod.html index 6aa3735..3f210bd 100644 --- a/layouts/partials/lastmod.html +++ b/layouts/partials/lastmod.html @@ -3,7 +3,8 @@ {{ if gt .Lastmod (add (time .Date).Unix $hourInSec) }} {{ with .Lastmod }} - ({{ $.Site.Params.LastModDisplay }} {{ .Format ($.Site.Params.DateFormatSingle | default "2006-01-02") }}) + ({{ $.Site.Params.LastModDisplay }} + {{ .Format ($.Site.Params.DateFormatSingle | default "2006-01-02") }}) {{ end }} {{ end }} diff --git a/layouts/partials/logo.html b/layouts/partials/logo.html index b9b87bd..598006f 100644 --- a/layouts/partials/logo.html +++ b/layouts/partials/logo.html @@ -1,9 +1,15 @@ - diff --git a/layouts/partials/menu.html b/layouts/partials/menu.html index 4f7385f..660e02e 100644 --- a/layouts/partials/menu.html +++ b/layouts/partials/menu.html @@ -10,9 +10,10 @@ {{ end }} - {{ else }} + {{ else }} {{ range $.Site.Menus.main }} {{ if not .HasChildren }}
  • {{ .Name }}
  • diff --git a/layouts/partials/theme-icon.html b/layouts/partials/theme-icon.html index c72a3fc..c44b326 100644 --- a/layouts/partials/theme-icon.html +++ b/layouts/partials/theme-icon.html @@ -1,5 +1,14 @@ - - + + 13.7157 13.7157 7 22 7V37C13.7157 37 7 30.2843 7 22Z" + /> diff --git a/layouts/shortcodes/imgproc.html b/layouts/shortcodes/imgproc.html index 6681b0a..1155796 100644 --- a/layouts/shortcodes/imgproc.html +++ b/layouts/shortcodes/imgproc.html @@ -1,25 +1,30 @@ {{ $original := .Page.Resources.GetMatch (printf "*%s*" (.Get 0)) }} {{ $command := .Get 1 }} {{ $options := .Get 2 }} -{{ $position := .Get 3}} +{{ $position := .Get 3 }} -{{ if eq $command "Fit"}} +{{ if eq $command "Fit" }} {{ .Scratch.Set "image" ($original.Fit $options) }} -{{ else if eq $command "Resize"}} + {{ else if eq $command "Resize" }} {{ .Scratch.Set "image" ($original.Resize $options) }} -{{ else if eq $command "Fill"}} + {{ else if eq $command "Fill" }} {{ .Scratch.Set "image" ($original.Fill $options) }} -{{ else }} - {{ errorf "Invalid image processing command: Must be one of Fit, Fill or Resize."}} + {{ else }} + {{ errorf "Invalid image processing command: Must be one of Fit, Fill or Resize." }} {{ end }} {{ $image := .Scratch.Get "image" }} -
    - - {{ with .Inner }} +
    + + {{ with .Inner }}
    {{ . }}
    - {{ end }} + {{ end }}
    diff --git a/package.json b/package.json index 177df23..5ed6f67 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,9 @@ "postcss-preset-env": "^6.7.0", "postcss-reporter": "^6.0.1", "postcss-url": "^8.0.0", + "prettier": "^2.1.1", "prettier-eslint-cli": "^5.0.0", + "prettier-plugin-go-template": "^0.0.9", "ramda": "^0.27.1", "style-loader": "^1.2.1", "uglifyjs-webpack-plugin": "^2.2.0", diff --git a/static/assets/c7c0091f1b2b06064572ec0016f1e142.woff b/static/assets/Inter-Bold.woff similarity index 100% rename from static/assets/c7c0091f1b2b06064572ec0016f1e142.woff rename to static/assets/Inter-Bold.woff diff --git a/static/assets/3c747ac4004be3a30e9807662caebaa0.woff2 b/static/assets/Inter-Bold.woff2 similarity index 100% rename from static/assets/3c747ac4004be3a30e9807662caebaa0.woff2 rename to static/assets/Inter-Bold.woff2 diff --git a/static/assets/aa42f3d22ea9fae2b945f33b94d180ea.woff b/static/assets/Inter-BoldItalic.woff similarity index 100% rename from static/assets/aa42f3d22ea9fae2b945f33b94d180ea.woff rename to static/assets/Inter-BoldItalic.woff diff --git a/static/assets/86b501b4ef9d20d70996b196b69dc1e7.woff2 b/static/assets/Inter-BoldItalic.woff2 similarity index 100% rename from static/assets/86b501b4ef9d20d70996b196b69dc1e7.woff2 rename to static/assets/Inter-BoldItalic.woff2 diff --git a/static/assets/fa701b4b599a803effc38485e2957ca3.woff b/static/assets/Inter-Italic.woff similarity index 100% rename from static/assets/fa701b4b599a803effc38485e2957ca3.woff rename to static/assets/Inter-Italic.woff diff --git a/static/assets/1b084c69c69a1b3a2618caed68164471.woff2 b/static/assets/Inter-Italic.woff2 similarity index 100% rename from static/assets/1b084c69c69a1b3a2618caed68164471.woff2 rename to static/assets/Inter-Italic.woff2 diff --git a/static/assets/cc6a88688869161eb83642d9393a0c2d.woff b/static/assets/Inter-Medium.woff similarity index 100% rename from static/assets/cc6a88688869161eb83642d9393a0c2d.woff rename to static/assets/Inter-Medium.woff diff --git a/static/assets/5b53c519b3184a74a98ca6125f513c9d.woff2 b/static/assets/Inter-Medium.woff2 similarity index 100% rename from static/assets/5b53c519b3184a74a98ca6125f513c9d.woff2 rename to static/assets/Inter-Medium.woff2 diff --git a/static/assets/642b4659478701575989a8926822356b.woff b/static/assets/Inter-MediumItalic.woff similarity index 100% rename from static/assets/642b4659478701575989a8926822356b.woff rename to static/assets/Inter-MediumItalic.woff diff --git a/static/assets/f25066e37f191178ef56ae1f2f901f92.woff2 b/static/assets/Inter-MediumItalic.woff2 similarity index 100% rename from static/assets/f25066e37f191178ef56ae1f2f901f92.woff2 rename to static/assets/Inter-MediumItalic.woff2 diff --git a/static/assets/fc49d131f795b4d48f261495d4caef09.woff b/static/assets/Inter-Regular.woff similarity index 100% rename from static/assets/fc49d131f795b4d48f261495d4caef09.woff rename to static/assets/Inter-Regular.woff diff --git a/static/assets/2505c0d4b34ffca98f8f8852e24928eb.woff2 b/static/assets/Inter-Regular.woff2 similarity index 100% rename from static/assets/2505c0d4b34ffca98f8f8852e24928eb.woff2 rename to static/assets/Inter-Regular.woff2 diff --git a/static/assets/main.js b/static/assets/main.js index f44b623..1ae888d 100644 --- a/static/assets/main.js +++ b/static/assets/main.js @@ -1 +1,122 @@ -!function(n){var o={};function r(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,r),t.l=!0,t.exports}r.m=n,r.c=o,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,n){n(1),e.exports=n(2)},function(e,t){function n(){return window.matchMedia(l).matches}function o(){c&&c.classList.toggle("hidden",!n()),i&&i.classList.toggle("hidden",n()),u&&u.classList.toggle("hidden",!n())}var r=document.querySelector(".container"),i=document.querySelector(".menu"),c=document.querySelector(".menu-trigger"),d=(document.querySelector(".menu__inner--desktop"),document.querySelector(".menu__sub-inner-more-trigger")),u=document.querySelector(".menu__sub-inner-more"),l=getComputedStyle(document.body).getPropertyValue("--phoneWidth");i&&i.addEventListener("click",function(e){return e.stopPropagation()}),u&&u.addEventListener("click",function(e){return e.stopPropagation()}),o(),document.body.addEventListener("click",function(){n()||!u||u.classList.contains("hidden")?n()&&!i.classList.contains("hidden")&&i.classList.add("hidden"):u.classList.add("hidden")}),window.addEventListener("resize",o),c&&c.addEventListener("click",function(e){e.stopPropagation(),i&&i.classList.toggle("hidden")}),d&&d.addEventListener("click",function(e){e.stopPropagation(),u&&u.classList.toggle("hidden"),u&&u.getBoundingClientRect().right>r.getBoundingClientRect().right&&(u.style.left="auto",u.style.right=0)})},function(e,t){var n=window.localStorage&&window.localStorage.getItem("theme"),o=document.querySelector(".theme-toggle"),r="dark"===n;null!==n&&document.body.classList.toggle("dark-theme",r),o.addEventListener("click",function(){document.body.classList.toggle("dark-theme"),window.localStorage&&window.localStorage.setItem("theme",document.body.classList.contains("dark-theme")?"dark":"light")})}]); \ No newline at end of file +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "./assets/js/menu.js": +/*!***************************!*\ + !*** ./assets/js/menu.js ***! + \***************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("var container = document.querySelector(\".container\");\nvar menu = document.querySelector(\".menu\");\nvar mobileMenuTrigger = document.querySelector(\".menu-trigger\");\nvar desktopMenu = document.querySelector(\".menu__inner--desktop\");\nvar desktopMenuTrigger = document.querySelector(\".menu__sub-inner-more-trigger\");\nvar menuMore = document.querySelector(\".menu__sub-inner-more\");\nvar mobileQuery = getComputedStyle(document.body).getPropertyValue(\"--phoneWidth\");\n\nvar isMobile = function isMobile() {\n return window.matchMedia(mobileQuery).matches;\n};\n\nvar isMobileMenu = function isMobileMenu() {\n mobileMenuTrigger && mobileMenuTrigger.classList.toggle(\"hidden\", !isMobile());\n menu && menu.classList.toggle(\"hidden\", isMobile());\n menuMore && menuMore.classList.toggle(\"hidden\", !isMobile());\n}; // Common\n\n\nmenu && menu.addEventListener(\"click\", function (e) {\n return e.stopPropagation();\n});\nmenuMore && menuMore.addEventListener(\"click\", function (e) {\n return e.stopPropagation();\n});\nisMobileMenu();\ndocument.body.addEventListener(\"click\", function () {\n if (!isMobile() && menuMore && !menuMore.classList.contains(\"hidden\")) {\n menuMore.classList.add(\"hidden\");\n } else if (isMobile() && !menu.classList.contains(\"hidden\")) {\n menu.classList.add(\"hidden\");\n }\n});\nwindow.addEventListener(\"resize\", isMobileMenu); // Mobile menu\n\nmobileMenuTrigger && mobileMenuTrigger.addEventListener(\"click\", function (e) {\n e.stopPropagation();\n menu && menu.classList.toggle(\"hidden\");\n}); // Desktop menu\n\ndesktopMenuTrigger && desktopMenuTrigger.addEventListener(\"click\", function (e) {\n e.stopPropagation();\n menuMore && menuMore.classList.toggle(\"hidden\");\n\n if (menuMore && menuMore.getBoundingClientRect().right > container.getBoundingClientRect().right) {\n menuMore.style.left = \"auto\";\n menuMore.style.right = 0;\n }\n});\n\n//# sourceURL=webpack:///./assets/js/menu.js?"); + +/***/ }), + +/***/ "./assets/js/theme.js": +/*!****************************!*\ + !*** ./assets/js/theme.js ***! + \****************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("// Toggle theme\nvar getTheme = window.localStorage && window.localStorage.getItem(\"theme\");\nvar themeToggle = document.querySelector(\".theme-toggle\");\nvar isDark = getTheme === \"dark\";\n\nif (getTheme !== null) {\n document.body.classList.toggle(\"dark-theme\", isDark);\n}\n\nthemeToggle.addEventListener(\"click\", function () {\n document.body.classList.toggle(\"dark-theme\");\n window.localStorage && window.localStorage.setItem(\"theme\", document.body.classList.contains(\"dark-theme\") ? \"dark\" : \"light\");\n});\n\n//# sourceURL=webpack:///./assets/js/theme.js?"); + +/***/ }), + +/***/ 0: +/*!******************************************************!*\ + !*** multi ./assets/js/menu.js ./assets/js/theme.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("__webpack_require__(/*! /Users/radek/Documents/Git/Moje/hello-friend/themes/hello-friend/assets/js/menu.js */\"./assets/js/menu.js\");\nmodule.exports = __webpack_require__(/*! /Users/radek/Documents/Git/Moje/hello-friend/themes/hello-friend/assets/js/theme.js */\"./assets/js/theme.js\");\n\n\n//# sourceURL=webpack:///multi_./assets/js/menu.js_./assets/js/theme.js?"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/static/assets/prism.js b/static/assets/prism.js index 36a67a8..41f79b8 100644 --- a/static/assets/prism.js +++ b/static/assets/prism.js @@ -1,8 +1,122 @@ -!function(n){var a={};function i(e){if(a[e])return a[e].exports;var t=a[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.m=n,i.c=a,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)i.d(n,a,function(e){return t[e]}.bind(null,a));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=3)}([,,,function(F,e,D){(function(e){var t,n,a,d="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},b=function(){var l=/\blang(?:uage)?-([\w-]+)\b/i,t=0,P=d.Prism={manual:d.Prism&&d.Prism.manual,disableWorkerMessageHandler:d.Prism&&d.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof o?new o(e.type,P.util.encode(e.content),e.alias):"Array"===P.util.type(e)?e.map(P.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(!(w instanceof s)){if(f&&y!=t.length-1){if(p.lastIndex=v,!(L=p.exec(e)))break;for(var k=L.index+(m?L[1].length:0),S=L.index+L[0].length,x=y,A=v,E=t.length;x"+i.content+""},!d.document)return d.addEventListener&&(P.disableWorkerMessageHandler||d.addEventListener("message",function(e){var t=JSON.parse(e.data),n=t.language,a=t.code,i=t.immediateClose;d.postMessage(P.highlight(a,P.languages[n],n)),i&&d.close()},!1)),d.Prism;var e=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return e&&(P.filename=e.src,P.manual||e.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(P.highlightAll):window.setTimeout(P.highlightAll,16):document.addEventListener("DOMContentLoaded",P.highlightAll))),d.Prism}();F.exports&&(F.exports=b),void 0!==e&&(e.Prism=b),b.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\\])["']/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},b.languages.markup.tag.inside["attr-value"].inside.entity=b.languages.markup.entity,b.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),b.languages.xml=b.languages.markup,b.languages.html=b.languages.markup,b.languages.mathml=b.languages.markup,b.languages.svg=b.languages.markup,b.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?[\s\S]*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^{}\s][^{};]*?(?=\s*\{)/,string:{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},b.languages.css.atrule.inside.rest=b.languages.css,b.languages.markup&&(b.languages.insertBefore("markup","tag",{style:{pattern:/()[\s\S]*?(?=<\/style>)/i,lookbehind:!0,inside:b.languages.css,alias:"language-css",greedy:!0}}),b.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:b.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:b.languages.css}},alias:"language-css"}},b.languages.markup.tag)),b.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},b.languages.javascript=b.languages.extend("clike",{"class-name":[b.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},/\b(?:as|async|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/],number:/\b(?:(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|\d+n|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,function:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\(|\.(?:apply|bind|call)\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),b.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,b.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^\/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)[^\s()][^()]*?(?=\s*\))/,lookbehind:!0,inside:b.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/,inside:b.languages.javascript},{pattern:/(\(\s*)[^\s()][^()]*?(?=\s*\)\s*=>)/,lookbehind:!0,inside:b.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|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)[^\s()][^()]*?(?=\s*\)\s*\{)/,lookbehind:!0,inside:b.languages.javascript}],constant:/\b[A-Z][A-Z\d_]*\b/}),b.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${[^}]+}|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\${[^}]+}/,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:b.languages.javascript}},string:/[\s\S]+/}}}),b.languages.markup&&b.languages.insertBefore("markup","tag",{script:{pattern:/()[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:b.languages.javascript,alias:"language-javascript",greedy:!0}}),b.languages.js=b.languages.javascript,b.languages.actionscript=b.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[~?@]/}),b.languages.actionscript["class-name"].alias="function",b.languages.markup&&b.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:{rest:b.languages.markup}}}),b.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/^(\s*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|AddAlt|AddAltByEncoding|AddAltByType|AddCharset|AddDefaultCharset|AddDescription|AddEncoding|AddHandler|AddIcon|AddIconByEncoding|AddIconByType|AddInputFilter|AddLanguage|AddModuleInfo|AddOutputFilter|AddOutputFilterByType|AddType|Alias|AliasMatch|Allow|AllowCONNECT|AllowEncodedSlashes|AllowMethods|AllowOverride|AllowOverrideList|Anonymous|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail|AsyncRequestWorkerFactor|AuthBasicAuthoritative|AuthBasicFake|AuthBasicProvider|AuthBasicUseDigestAlgorithm|AuthDBDUserPWQuery|AuthDBDUserRealmQuery|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile|AuthDigestAlgorithm|AuthDigestDomain|AuthDigestNonceLifetime|AuthDigestProvider|AuthDigestQop|AuthDigestShmemSize|AuthFormAuthoritative|AuthFormBody|AuthFormDisableNoStore|AuthFormFakeBasicAuth|AuthFormLocation|AuthFormLoginRequiredLocation|AuthFormLoginSuccessLocation|AuthFormLogoutLocation|AuthFormMethod|AuthFormMimetype|AuthFormPassword|AuthFormProvider|AuthFormSitePassphrase|AuthFormSize|AuthFormUsername|AuthGroupFile|AuthLDAPAuthorizePrefix|AuthLDAPBindAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareAsUser|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPInitialBindAsUser|AuthLDAPInitialBindPattern|AuthLDAPMaxSubGroupDepth|AuthLDAPRemoteUserAttribute|AuthLDAPRemoteUserIsDN|AuthLDAPSearchAsUser|AuthLDAPSubGroupAttribute|AuthLDAPSubGroupClass|AuthLDAPUrl|AuthMerging|AuthName|AuthnCacheContext|AuthnCacheEnable|AuthnCacheProvideFor|AuthnCacheSOCache|AuthnCacheTimeout|AuthnzFcgiCheckAuthnProvider|AuthnzFcgiDefineProvider|AuthType|AuthUserFile|AuthzDBDLoginToReferer|AuthzDBDQuery|AuthzDBDRedirectQuery|AuthzDBMType|AuthzSendForbiddenOnFailure|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|CacheDefaultExpire|CacheDetailHeader|CacheDirLength|CacheDirLevels|CacheDisable|CacheEnable|CacheFile|CacheHeader|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheIgnoreQueryString|CacheIgnoreURLSessionIdentifiers|CacheKeyBaseURL|CacheLastModifiedFactor|CacheLock|CacheLockMaxAge|CacheLockPath|CacheMaxExpire|CacheMaxFileSize|CacheMinExpire|CacheMinFileSize|CacheNegotiatedDocs|CacheQuickHandler|CacheReadSize|CacheReadTime|CacheRoot|CacheSocache|CacheSocacheMaxSize|CacheSocacheMaxTime|CacheSocacheMinTime|CacheSocacheReadSize|CacheSocacheReadTime|CacheStaleOnError|CacheStoreExpired|CacheStoreNoStore|CacheStorePrivate|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateInflateLimitRequestBody|DeflateInflateRatioBurst|DeflateInflateRatioLimit|DeflateMemLevel|DeflateWindowSize|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|HeartbeatAddress|HeartbeatListen|HeartbeatMaxServers|HeartbeatStorage|HeartbeatStorage|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|IndexHeadInsert|IndexIgnore|IndexIgnoreReset|IndexOptions|IndexOrderDefault|IndexStyleSheet|InputSed|ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionPoolTTL|LDAPConnectionTimeout|LDAPLibraryDebug|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPReferralHopLimit|LDAPReferrals|LDAPRetries|LDAPRetryDelay|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTimeout|LDAPTrustedClientCert|LDAPTrustedGlobalCert|LDAPTrustedMode|LDAPVerifyServerCert|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|LuaHookAccessChecker|LuaHookAuthChecker|LuaHookCheckUserID|LuaHookFixups|LuaHookInsertFilter|LuaHookLog|LuaHookMapToStorage|LuaHookTranslateName|LuaHookTypeChecker|LuaInherit|LuaInputFilter|LuaMapHandler|LuaOutputFilter|LuaPackageCPath|LuaPackagePath|LuaQuickHandler|LuaRoot|LuaScope|MaxConnectionsPerChild|MaxKeepAliveRequests|MaxMemFree|MaxRangeOverlaps|MaxRangeReversals|MaxRanges|MaxRequestWorkers|MaxSpareServers|MaxSpareThreads|MaxThreads|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|ProxyAddHeaders|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyExpressDBMFile|ProxyExpressDBMType|ProxyExpressEnable|ProxyFtpDirCharset|ProxyFtpEscapeWildcards|ProxyFtpListOnWildcard|ProxyHTMLBufSize|ProxyHTMLCharsetOut|ProxyHTMLDocType|ProxyHTMLEnable|ProxyHTMLEvents|ProxyHTMLExtended|ProxyHTMLFixups|ProxyHTMLInterp|ProxyHTMLLinks|ProxyHTMLMeta|ProxyHTMLStripComments|ProxyHTMLURLMap|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassInherit|ProxyPassInterpolateEnv|ProxyPassMatch|ProxyPassReverse|ProxyPassReverseCookieDomain|ProxyPassReverseCookiePath|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxySCGIInternalRedirect|ProxySCGISendfile|ProxySet|ProxySourceAddress|ProxyStatus|ProxyTimeout|ProxyVia|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIPHeader|RemoteIPInternalProxy|RemoteIPInternalProxyList|RemoteIPProxiesHeader|RemoteIPTrustedProxy|RemoteIPTrustedProxyList|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|RewriteBase|RewriteCond|RewriteEngine|RewriteMap|RewriteOptions|RewriteRule|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script|ScriptAlias|ScriptAliasMatch|ScriptInterpreterSource|ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock|SecureListen|SeeRequestTail|SendBufferSize|ServerAdmin|ServerAlias|ServerLimit|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|Session|SessionCookieName|SessionCookieName2|SessionCookieRemove|SessionCryptoCipher|SessionCryptoDriver|SessionCryptoPassphrase|SessionCryptoPassphraseFile|SessionDBDCookieName|SessionDBDCookieName2|SessionDBDCookieRemove|SessionDBDDeleteLabel|SessionDBDInsertLabel|SessionDBDPerUser|SessionDBDSelectLabel|SessionDBDUpdateLabel|SessionEnv|SessionExclude|SessionHeader|SessionInclude|SessionMaxAge|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSLCACertificateFile|SSLCACertificatePath|SSLCADNRequestFile|SSLCADNRequestPath|SSLCARevocationCheck|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLCompression|SSLCryptoDevice|SSLEngine|SSLFIPS|SSLHonorCipherOrder|SSLInsecureRenegotiation|SSLOCSPDefaultResponder|SSLOCSPEnable|SSLOCSPOverrideResponder|SSLOCSPResponderTimeout|SSLOCSPResponseMaxAge|SSLOCSPResponseTimeSkew|SSLOCSPUseRequestNonce|SSLOpenSSLConfCmd|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationCheck|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCheckPeerCN|SSLProxyCheckPeerExpire|SSLProxyCheckPeerName|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateChainFile|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRenegBufferSize|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLSessionTicketKeyFile|SSLSRPUnknownUserSeed|SSLSRPVerifierFile|SSLStaplingCache|SSLStaplingErrorCacheTimeout|SSLStaplingFakeTryLater|SSLStaplingForceURL|SSLStaplingResponderTimeout|SSLStaplingResponseMaxAge|SSLStaplingResponseTimeSkew|SSLStaplingReturnResponderErrors|SSLStaplingStandardCacheTimeout|SSLStrictSNIVHostCheck|SSLUserName|SSLUseStapling|SSLVerifyClient|SSLVerifyDepth|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,lookbehind:!0,alias:"property"},"directive-block":{pattern:/<\/?\b(?:AuthnProviderAlias|AuthzProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|RequireAll|RequireAny|RequireNone|VirtualHost)\b *.*>/i,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(?:\w,?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}},variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/,regex:/\^?.*\$|\^.*\$?/},b.languages.applescript={comment:[/\(\*(?:\(\*[\s\S]*?\*\)|[\s\S])*?\*\)/,/--.+/,/#.+/],string:/"(?:\\.|[^"\\\r\n])*"/,number:/(?:\b\d+\.?\d*|\B\.\d+)(?:e-?\d+)?\b/i,operator:[/[&=≠≤≥*+\-\/÷^]|[<>]=?/,/\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn't) contain|contains?)|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equals|equal to|isn't|is not)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|or|div|mod|as|not))\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:{pattern:/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/,alias:"builtin"},punctuation:/[{}():,¬«»《》]/},b.languages.c=b.languages.extend("clike",{keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*\/%&|^!=<>]=?/,number:/(?:\b0x[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i}),b.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+(?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(?:<.+?>|("|')(?:\\?.)+?\2)/,lookbehind:!0},directive:{pattern:/(#\s*)\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/,lookbehind:!0,alias:"keyword"}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete b.languages.c["class-name"],delete b.languages.c.boolean,b.languages.csharp=b.languages.extend("clike",{keyword:/\b(?:abstract|add|alias|as|ascending|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|descending|do|double|dynamic|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|from|get|global|goto|group|if|implicit|in|int|interface|internal|into|is|join|let|lock|long|namespace|new|null|object|operator|orderby|out|override|params|partial|private|protected|public|readonly|ref|remove|return|sbyte|sealed|select|set|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|value|var|virtual|void|volatile|where|while|yield)\b/,string:[{pattern:/@("|')(?:\1\1|\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*?\1/,greedy:!0}],"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=\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|interface|new)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)f?/i,operator:/>>=?|<<=?|[-=]>|([-+&|?])\1|~|[-+*\/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),b.languages.insertBefore("csharp","class-name",{"generic-method":{pattern:/\w+\s*<[^>\r\n]+?>\s*(?=\()/,inside:{function:/^\w+/,"class-name":{pattern:/\b[A-Z]\w*(?:\.\w+)*\b/,inside:{punctuation:/\./}},keyword:b.languages.csharp.keyword,punctuation:/[<>(),.:]/}},preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(\s*#)\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}}),b.languages.dotnet=b.languages.csharp,function(e){var t={variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,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:/^\$\(|^`|\)$|`$/}},/\$(?:[\w#?*!@]+|\{[^}]+\})/i]};e.languages.bash={shebang:{pattern:/^#!\s*\/bin\/bash|^#!\s*\/bin\/sh/,alias:"important"},comment:{pattern:/(^|[^"{\\])#.*/,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<\s*)["']?(\w+?)["']?\s*\r?\n(?:[\s\S])*?\r?\n\2/,lookbehind:!0,greedy:!0,inside:t},{pattern:/(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/,greedy:!0,inside:t}],variable:t.variable,function:{pattern:/(^|[\s;|&])(?:alias|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|hash|head|help|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logout|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tail|tar|tee|test|time|timeout|times|top|touch|tr|traceroute|trap|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip|zypper)(?=$|[\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&])(?:let|:|\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|[\s;|&])/,lookbehind:!0},boolean:{pattern:/(^|[\s;|&])(?:true|false)(?=$|[\s;|&])/,lookbehind:!0},operator:/&&?|\|\|?|==?|!=?|<<>|<=?|>=?|=~/,punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];]/};var n=t.variable[1].inside;n.string=e.languages.bash.string,n.function=e.languages.bash.function,n.keyword=e.languages.bash.keyword,n.boolean=e.languages.bash.boolean,n.operator=e.languages.bash.operator,n.punctuation=e.languages.bash.punctuation,e.languages.shell=e.languages.bash}(b),b.languages.cpp=b.languages.extend("c",{keyword:/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,boolean:/\b(?:true|false)\b/,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*\/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/}),b.languages.insertBefore("cpp","keyword",{"class-name":{pattern:/(class\s+)\w+/i,lookbehind:!0}}),b.languages.insertBefore("cpp","string",{"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),n=/#(?!\{).+/,a={pattern:/#\{[^}]+\}/,alias:"variable"},(t=b).languages.coffeescript=t.languages.extend("javascript",{comment:n,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:a}}],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"}}),t.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:n,interpolation:a}}}),t.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},rest:t.languages.javascript}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:a}}]}),t.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete t.languages.coffeescript["template-string"],t.languages.coffee=t.languages.coffeescript,function(e){e.languages.ruby=e.languages.extend("clike",{comment:[/#.*/,{pattern:/^=begin(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?=end/m,greedy:!0}],keyword:/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/});var t={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"tag"},rest:e.languages.ruby}};delete e.languages.ruby.function,e.languages.insertBefore("ruby","keyword",{regex:[{pattern:/%r([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[gim]{0,3}/,greedy:!0,inside:{interpolation:t}},{pattern:/%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/,greedy:!0,inside:{interpolation:t}},{pattern:/%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/,greedy:!0,inside:{interpolation:t}},{pattern:/%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/,greedy:!0,inside:{interpolation:t}},{pattern:/%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/,greedy:!0,inside:{interpolation:t}},{pattern:/(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:!0},"method-definition":{pattern:/(\bdef\s+)[\w.]+/,lookbehind:!0,inside:{function:/\w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:/%[qQiIwWxs]?([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/,greedy:!0,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/,greedy:!0,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/,greedy:!0,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/,greedy:!0,inside:{interpolation:t}},{pattern:/("|')(?:#\{[^}]+\}|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:t}}],e.languages.rb=e.languages.ruby}(b),b.languages.csp={directive:{pattern:/\b(?:(?:base-uri|form-action|frame-ancestors|plugin-types|referrer|reflected-xss|report-to|report-uri|require-sri-for|sandbox) |(?:block-all-mixed-content|disown-opener|upgrade-insecure-requests)(?: |;)|(?:child|connect|default|font|frame|img|manifest|media|object|script|style|worker)-src )/i,alias:"keyword"},safe:{pattern:/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\d+=\/]+)'/,alias:"selector"},unsafe:{pattern:/(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*)/,alias:"function"}},b.languages.css.selector={pattern:b.languages.css.selector,inside:{"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+(?:\(.*\))?/,class:/\.[-:.\w]+/,id:/#[-:.\w]+/,attribute:/\[[^\]]+\]/}},b.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*/i,lookbehind:!0}}),b.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:/#[\da-f]{3,8}/i,entity:/\\[\da-f]{1,8}/i,unit:{pattern:/(\d)(?:%|[a-z]+)/,lookbehind:!0},number:/-?[\d.]+/}),b.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d+.*$/m],deleted:/^[-<].*$/m,inserted:/^[+>].*$/m,diff:{pattern:/^!(?!!).+$/m,alias:"important"}};var i,r,o,s,l,c,u,p,g,m,f={property:{pattern:/(?:{{|{%)[\s\S]*?(?:%}|}})/g,greedy:!0,inside:{string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/\b(?:\||load|verbatim|widthratio|ssi|firstof|for|url|ifchanged|csrf_token|lorem|ifnotequal|autoescape|now|templatetag|debug|cycle|ifequal|regroup|comment|filter|endfilter|if|spaceless|with|extends|block|include|else|empty|endif|endfor|as|endblock|endautoescape|endverbatim|trans|endtrans|[Tt]rue|[Ff]alse|[Nn]one|in|is|static|macro|endmacro|call|endcall|set|endset|raw|endraw)\b/,operator:/[-+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,function:/\b(?:_|abs|add|addslashes|attr|batch|callable|capfirst|capitalize|center|count|cut|d|date|default|default_if_none|defined|dictsort|dictsortreversed|divisibleby|e|equalto|escape|escaped|escapejs|even|filesizeformat|first|float|floatformat|force_escape|forceescape|format|get_digit|groupby|indent|int|iriencode|iterable|join|last|length|length_is|linebreaks|linebreaksbr|linenumbers|list|ljust|lower|make_list|map|mapping|number|odd|phone2numeric|pluralize|pprint|random|reject|rejectattr|removetags|replace|reverse|rjust|round|safe|safeseq|sameas|select|selectattr|sequence|slice|slugify|sort|string|stringformat|striptags|sum|time|timesince|timeuntil|title|trim|truncate|truncatechars|truncatechars_html|truncatewords|truncatewords_html|undefined|unordered_list|upper|urlencode|urlize|urlizetrunc|wordcount|wordwrap|xmlattr|yesno)\b/,important:/\b-?\d+(?:\.\d+)?\b/,variable:/\b\w+?\b/,punctuation:/[[\];(),.:]/}}};b.languages.django=b.languages.extend("markup",{comment:/(?:)/}),b.languages.django.tag.pattern=/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^>=]+))?)*\s*\/?>/i,b.languages.insertBefore("django","entity",f),b.languages.insertBefore("inside","tag",f,b.languages.django.tag),b.languages.javascript&&(b.languages.insertBefore("inside","string",f,b.languages.django.script),b.languages.django.script.inside.string.inside=f),b.languages.css&&(b.languages.insertBefore("inside","atrule",{tag:f.property},b.languages.django.style),b.languages.django.style.inside.string.inside=f),b.languages.jinja2=b.languages.django,b.languages.docker={keyword:{pattern:/(^\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im,lookbehind:!0},string:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,comment:/#.*/,punctuation:/---|\.\.\.|[:[\]{}\-,|>?]/},b.languages.dockerfile=b.languages.docker,b.languages.elixir={comment:{pattern:/#.*/m,lookbehind:!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"},"attr-name":/\w+:(?!:)/,capture:{pattern:/(^|[^&])&(?:[^&\s\d()][^\s()]*|(?=\())/,lookbehind:!0,alias:"function"},argument:{pattern:/(^|[^&])&\d+/,lookbehind:!0,alias:"variable"},attribute:{pattern:/@\w+/,alias:"variable"},number:/\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,keyword:/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/,boolean:/\b(?:true|false|nil)\b/,operator:[/\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,{pattern:/([^<])<(?!<)/,lookbehind:!0},{pattern:/([^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,%\[\]{}()]/},b.languages.elixir.string.forEach(function(e){e.inside={interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:b.languages.elixir}}}}),b.languages.elm={comment:/--.*|{-[\s\S]*?-}/,char:{pattern:/'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+))'/,greedy:!0},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:[^\\"\r\n]|\\(?:[abfnrtv\\"]|\d+|x[0-9a-fA-F]+))*"/,greedy:!0}],import_statement:{pattern:/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+([A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,inside:{keyword:/\b(?:import|as|exposing)\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:/[{}[\]|(),.:]/},b.languages["markup-templating"]={},Object.defineProperties(b.languages["markup-templating"],{buildPlaceholders:{value:function(n,a,e,i){n.language===a&&(n.tokenStack=[],n.code=n.code.replace(e,function(e){if("function"==typeof i&&!i(e))return e;for(var t=n.tokenStack.length;-1!==n.code.indexOf("___"+a.toUpperCase()+t+"___");)++t;return n.tokenStack[t]=e,"___"+a.toUpperCase()+t+"___"}),n.grammar=b.languages.markup)}},tokenizePlaceholders:{value:function(p,g){var m,f;p.language===g&&p.tokenStack&&(p.grammar=b.languages[g],m=0,f=Object.keys(p.tokenStack),function e(t){if(!(m>=f.length))for(var n=0;n=f.length)break}}else a.content&&"string"!=typeof a.content&&e(a.content)}}(p.tokens))}}}),b.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(?:true|false)\b/,keyword:/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/,number:[/\$\\?./,/\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(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],atom:/\b[a-z][\w@]*/,punctuation:/[()[\]{}:;,.#|]|<<|>>/},b.languages.fsharp=b.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\(\*[\s\S]*?\*\)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?|'(?:[^\\']|\\.)'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|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/,number:[/\b0x[\da-fA-F]+(?:un|lf|LF)?\b/,/\b0b[01]+(?:y|uy)?\b/,/(?:\b\d+\.?\d*|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i,/\b\d+(?:[IlLsy]|u[lsy]?|UL)?\b/],operator:/([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|?|\??(?:<=|>=|<>|[-+*\/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/}),b.languages.insertBefore("fsharp","keyword",{preprocessor:{pattern:/^[^\r\n\S]*#.*/m,alias:"property",inside:{directive:{pattern:/(\s*#)\b(?:else|endif|if|light|line|nowarn)\b/,lookbehind:!0,alias:"keyword"}}}}),b.languages.insertBefore("fsharp","punctuation",{"computation-expression":{pattern:/[_a-z]\w*(?=\s*\{)/i,alias:"keyword"}}),b.languages.insertBefore("fsharp","string",{annotation:{pattern:/\[<.+?>\]/,inside:{punctuation:/^\[<|>\]$/,"class-name":{pattern:/^\w+$|(^|;\s*)[A-Z]\w*(?=\()/,lookbehind:!0},"annotation-content":{pattern:/[\s\S]*/,inside:b.languages.fsharp}}}}),(i=b).languages.flow=i.languages.extend("javascript",{}),i.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/,alias:"tag"}]}),i.languages.flow["function-variable"].pattern=/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,delete i.languages.flow.parameter,i.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),"Array"!==i.util.type(i.languages.flow.keyword)&&(i.languages.flow.keyword=[i.languages.flow.keyword]),i.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/,lookbehind:!0}),b.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/m,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/m}},coord:/^@@.*@@$/m,commit_sha1:/^commit \w{40}$/m},b.languages.go=b.languages.extend("clike",{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/,builtin:/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/,boolean:/\b(?:_|iota|nil|true|false)\b/,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,number:/(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i,string:{pattern:/(["'`])(\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0}}),delete b.languages.go["class-name"],b.languages.graphql={comment:/#.*/,string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:true|false)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":/[a-z_]\w*(?=\s*:)/i,keyword:[{pattern:/(fragment\s+(?!on)[a-z_]\w*\s+|\.{3}\s*)on\b/,lookbehind:!0},/\b(?:query|fragment|mutation)\b/],operator:/!|=|\.{3}/,punctuation:/[!(){}\[\]:=,]/},b.languages.less=b.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-]+?(?:\([^{}]+\)|[^(){};])*?(?=\s*\{)/i,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\([^{}]*\)|[^{};@])*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,operator:/[+\-*\/]/}),b.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/,lookbehind:!0,alias:"function"}}),(r=b).languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/i,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:true|false)\b/,block:{pattern:/^(\s*~?\s*)[#\/]\S+?(?=\s*~?\s*$|\s)/i,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~\s]+/},r.hooks.add("before-tokenize",function(e){r.languages["markup-templating"].buildPlaceholders(e,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)}),r.hooks.add("after-tokenize",function(e){r.languages["markup-templating"].tokenizePlaceholders(e,"handlebars")}),b.languages.haskell={comment:{pattern:/(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--[^-!#$%*+=?&@|~.:<>^\\\/].*|{-[\s\S]*?-})/m,lookbehind:!0},char:/'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[0-9a-fA-F]+))'/,string:{pattern:/"(?:[^\\"]|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[0-9a-fA-F]+)|\\\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:/((?:\r?\n|\r|^)\s*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][_a-zA-Z0-9']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:!0,inside:{keyword:/\b(?:import|qualified|as|hiding)\b/}},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:/\s\.\s|[-!#$%*+=?&@|~.:<>^\\\/]*\.[-!#$%*+=?&@|~.:<>^\\\/]+|[-!#$%*+=?&@|~.:<>^\\\/]+\.[-!#$%*+=?&@|~.:<>^\\\/]*|[-!#$%*+=?&@|~:<>^\\\/]+|`([A-Z][\w']*\.)*[_a-z][\w']*`/,hvariable:/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/,constant:/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/,punctuation:/[{}[\];(),.:]/},function(e){e.languages.http={"request-line":{pattern:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[0-9.]+/m,inside:{property:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/,"attr-name":/:\w+/}},"response-status":{pattern:/^HTTP\/1.[01] \d+.*/m,inside:{property:{pattern:/(^HTTP\/1.[01] )\d+.*/i,lookbehind:!0}}},"header-name":{pattern:/^[\w-]+:(?=.)/m,alias:"keyword"}};var t,n,a,i,r=e.languages,o={"application/javascript":r.javascript,"application/json":r.json||r.javascript,"application/xml":r.xml,"text/xml":r.xml,"text/html":r.html,"text/css":r.css},s={"application/json":!0,"application/xml":!0};for(var l in o){o[l]&&(t=t||{},n=s[l]?(i=void 0,i=(a=l).replace(/^[a-z]+\//,""),"(?:"+a+"|"+("\\w+/(?:[\\w.-]+\\+)+"+i+"(?![+\\w.-])")+")"):l,t[l]={pattern:RegExp("(content-type:\\s*"+n+"[\\s\\S]*?)(?:\\r?\\n|\\r){2}[\\s\\S]*","i"),lookbehind:!0,inside:{rest:o[l]}})}t&&e.languages.insertBefore("http","header-name",t)}(b),s=/\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while|var|null|exports|module|open|opens|provides|requires|to|transitive|uses|with)\b/,l=/\b[A-Z](?:\w*[a-z]\w*)?\b/,(o=b).languages.java=o.languages.extend("clike",{"class-name":[l,/\b[A-Z]\w*(?=\s+\w+\s*[;,=())])/],keyword:s,function:[o.languages.clike.function,{pattern:/(\:\:)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])\2|[?:~]|[-+*\/%&|^!=<>]=?)/m,lookbehind:!0}}),o.languages.insertBefore("java","class-name",{annotation:{alias:"punctuation",pattern:/(^|[^.])@\w+/,lookbehind:!0},namespace:{pattern:/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)[a-z]\w*(\.[a-z]\w*)+/,lookbehind:!0,inside:{punctuation:/\./}},generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":l,keyword:s,punctuation:/[<>(),.:]/,operator:/[?&|]/}}}),b.languages.json={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,property:{pattern:/"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,greedy:!0},number:/-?\d+\.?\d*(e[+-]?\d+)?/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:/\bnull\b/},b.languages.jsonp=b.languages.json,function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[/\w+(?=\s*\()/,{pattern:/(\.)\w+(?=\s*\{)/,lookbehind:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"],e.languages.insertBefore("kotlin","string",{"raw-string":{pattern:/("""|''')[\s\S]*?\1/,alias:"string"}}),e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\w+@|@\w+/,alias:"symbol"}});var t=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:"variable"},rest:e.languages.kotlin}},{pattern:/\$\w+/,alias:"variable"}];e.languages.kotlin.string.inside=e.languages.kotlin["raw-string"].inside={interpolation:t}}(b),u={"equation-command":{pattern:c=/\\(?:[^a-z()[\]]|[a-z*]+)/i,alias:"regex"}},b.languages.latex={comment:/%.*/m,cdata:{pattern:/(\\begin\{((?:verbatim|lstlisting)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0},equation:[{pattern:/\$(?:\\[\s\S]|[^\\$])*\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/,inside:u,alias:"string"},{pattern:/(\\begin\{((?:equation|math|eqnarray|align|multline|gather)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0,inside:u,alias:"string"}],keyword:{pattern:/(\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0},url:{pattern:/(\\url\{)[^}]+(?=\})/,lookbehind:!0},headline:{pattern:/(\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\}(?:\[[^\]]+\])?)/,lookbehind:!0,alias:"class-name"},function:{pattern:c,alias:"selector"},punctuation:/[[\]{}&]/},b.languages.markdown=b.languages.extend("markup",{}),b.languages.insertBefore("markdown","prolog",{blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},code:[{pattern:/^(?: {4}|\t).+/m,alias:"keyword"},{pattern:/``.+?``|`[^`\n]+`/,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\r?\n|\r))[\s\S]+?(?=(?:\r?\n|\r)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\r?\n|\r)(?:==+|--+)/,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:/(^|[^\\])(\*\*|__)(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,lookbehind:!0,greedy:!0,inside:{punctuation:/^\*\*|^__|\*\*$|__$/}},italic:{pattern:/(^|[^\\])([*_])(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,lookbehind:!0,greedy:!0,inside:{punctuation:/^[*_]|[*_]$/}},strike:{pattern:/(^|[^\\])(~~?)(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,lookbehind:!0,greedy:!0,inside:{punctuation:/^~~?|~~?$/}},url:{pattern:/!?\[[^\]]+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[[^\]\n]*\])/,inside:{variable:{pattern:/(!?\[)[^\]]+(?=\]$)/,lookbehind:!0},string:{pattern:/"(?:\\.|[^"\\])*"(?=\)$)/}}}}),b.languages.markdown.bold.inside.url=b.languages.markdown.url,b.languages.markdown.italic.inside.url=b.languages.markdown.url,b.languages.markdown.strike.inside.url=b.languages.markdown.url,b.languages.markdown.bold.inside.italic=b.languages.markdown.italic,b.languages.markdown.bold.inside.strike=b.languages.markdown.strike,b.languages.markdown.italic.inside.bold=b.languages.markdown.bold,b.languages.markdown.italic.inside.strike=b.languages.markdown.strike,b.languages.markdown.strike.inside.bold=b.languages.markdown.bold,b.languages.markdown.strike.inside.italic=b.languages.markdown.italic,b.hooks.add("after-tokenize",function(e){"markdown"===e.language&&function e(t){if(t&&"string"!=typeof t)for(var n=0,a=t.length;n]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),b.languages.ocaml={comment:/\(\*[\s\S]*?\*\)/,string:[{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:!0},{pattern:/(['`])(?:\\(?:\d+|x[\da-f]+|.)|(?!\1)[^\\\r\n])\1/i,greedy:!0}],number:/\b(?:0x[\da-f][\da-f_]+|(?:0[bo])?\d[\d_]*\.?[\d_]*(?:e[+-]?[\d_]+)?)/i,type:{pattern:/\B['`]\w*/,alias:"variable"},directive:{pattern:/\B#\w+/,alias:"function"},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|object|of|open|prefix|private|rec|then|sig|struct|to|try|type|val|value|virtual|where|while|with)\b/,boolean:/\b(?:false|true)\b/,operator:/:=|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lxor|lsl|lsr|mod|nor|or)\b/,punctuation:/[(){}\[\]|_.,:;]/},b.languages.perl={comment:[{pattern:/(^\s*)=\w+[\s\S]*?=cut.*/m,lookbehind:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0}],string:[{pattern:/\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*\{(?:[^{}\\]|\\[\s\S])*\}/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*\[(?:[^[\]\\]|\\[\s\S])*\]/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[\s\S])*>/,greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:/\b(?:m|qr)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngc]*/,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s+([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[\s\S])*\)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\{(?:[^{}\\]|\\[\s\S])*\}\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\]\\]|\\[\s\S])*\]\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[\s\S])*>\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/i,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*>|\b_\b/,alias:"symbol"},vstring:{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/sub [a-z0-9_]+/i,inside:{keyword:/sub/}},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/,punctuation:/[{}[\];(),:]/},function(t){t.languages.php=t.languages.extend("clike",{keyword:/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|null|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i,constant:/\b[A-Z_][A-Z0-9_]*\b/,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0}}),t.languages.insertBefore("php","string",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),t.languages.insertBefore("php","keyword",{delimiter:{pattern:/\?>|<\?(?:php|=)?/i,alias:"important"},variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),t.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}});var e={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[.+?]|->\w+)*)/,lookbehind:!0,inside:{rest:t.languages.php}};t.languages.insertBefore("php","string",{"nowdoc-string":{pattern:/<<<'([^']+)'(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;/,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},"heredoc-string":{pattern:/<<<(?:"([^"]+)"(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;|([a-z_]\w*)(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\2;)/i,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:e}},"single-quoted-string":{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,alias:"string",inside:{interpolation:e}}}),delete t.languages.php.string,t.hooks.add("before-tokenize",function(e){/(?:<\?php|<\?)/gi.test(e.code)&&t.languages["markup-templating"].buildPlaceholders(e,"php",/(?:<\?php|<\?)[\s\S]*?(?:\?>|$)/gi)}),t.hooks.add("after-tokenize",function(e){t.languages["markup-templating"].tokenizePlaceholders(e,"php")})}(b),b.languages.insertBefore("php","variable",{this:/\$this\b/,global:/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/static|self|parent/,punctuation:/::|\\/}}}),b.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},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(?:_INSERT|COL)?|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|RETURNS?|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(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+\.?\d*|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},b.languages.processing=b.languages.extend("clike",{keyword:/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/,operator:/<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/}),b.languages.insertBefore("processing","number",{constant:/\b(?!XML\b)[A-Z][A-Z\d_]+\b/,type:{pattern:/\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/,alias:"variable"}}),b.languages.processing.function.pattern=/\w+(?=\s*\()/,b.languages.processing["class-name"].alias="variable",b.languages.scss=b.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)*url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),b.languages.insertBefore("scss","atrule",{keyword:[/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i,{pattern:/( +)(?:from|through)(?= )/,lookbehind:!0}]}),b.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),b.languages.insertBefore("scss","function",{placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:true|false)\b/,null:/\bnull\b/,operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/,lookbehind:!0}}),b.languages.scss.atrule.inside.rest=b.languages.scss,b.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]+?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/i,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},b.languages.python["string-interpolation"].inside.interpolation.inside.rest=b.languages.python,b.languages.py=b.languages.python,b.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:TRUE|FALSE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:NaN|Inf)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/,operator:/->?>?|<(?:=|=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/},function(s){var e=s.util.clone(s.languages.javascript);s.languages.jsx=s.languages.extend("markup",e),s.languages.jsx.tag.pattern=/<\/?(?:[\w.:-]+\s*(?:\s+(?:[\w.:-]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s{'">=]+|\{(?:\{(?:\{[^}]*\}|[^{}])*\}|[^{}])+\}))?|\{\.{3}[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\}))*\s*\/?)?>/i,s.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/i,s.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">]+)/i,s.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*$/,s.languages.insertBefore("inside","attr-name",{spread:{pattern:/\{\.{3}[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\}/,inside:{punctuation:/\.{3}|[{}.]/,"attr-value":/\w+/}}},s.languages.jsx.tag),s.languages.insertBefore("inside","attr-value",{script:{pattern:/=(\{(?:\{(?:\{[^}]*\}|[^}])*\}|[^}])+\})/i,inside:{"script-punctuation":{pattern:/^=(?={)/,alias:"punctuation"},rest:s.languages.jsx},alias:"language-javascript"}},s.languages.jsx.tag);function l(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(l).join(""):""}s.hooks.add("after-tokenize",function(e){"jsx"!==e.language&&"tsx"!==e.language||function e(t){for(var n=[],a=0;a"===r.content[r.content.length-1].content||n.push({tagName:l(r.content[0].content[1]),openedBraces:0}):0|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/}),b.languages.insertBefore("reason","class-name",{character:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,alias:"string"},constructor:{pattern:/\b[A-Z]\w*\b(?!\s*\.)/,alias:"variable"},label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete b.languages.reason.function,function(e){var t="(?:\\([^|)]+\\)|\\[[^\\]]+\\]|\\{[^}]+\\})+",n={css:{pattern:/\{[^}]+\}/,inside:{rest:e.languages.css}},"class-id":{pattern:/(\()[^)]+(?=\))/,lookbehind:!0,alias:"attr-value"},lang:{pattern:/(\[)[^\]]+(?=\])/,lookbehind:!0,alias:"attr-value"},punctuation:/[\\\/]\d+|\S/};e.languages.textile=e.languages.extend("markup",{phrase:{pattern:/(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/,lookbehind:!0,inside:{"block-tag":{pattern:RegExp("^[a-z]\\w*(?:"+t+"|[<>=()])*\\."),inside:{modifier:{pattern:RegExp("(^[a-z]\\w*)(?:"+t+"|[<>=()])+(?=\\.)"),lookbehind:!0,inside:n},tag:/^[a-z]\w*/,punctuation:/\.$/}},list:{pattern:RegExp("^[*#]+(?:"+t+")?\\s+.+","m"),inside:{modifier:{pattern:RegExp("(^[*#]+)"+t),lookbehind:!0,inside:n},punctuation:/^[*#]+/}},table:{pattern:RegExp("^(?:(?:"+t+"|[<>=()^~])+\\.\\s*)?(?:\\|(?:(?:"+t+"|[<>=()^~_]|[\\\\/]\\d+)+\\.)?[^|]*)+\\|","m"),inside:{modifier:{pattern:RegExp("(^|\\|(?:\\r?\\n|\\r)?)(?:"+t+"|[<>=()^~_]|[\\\\/]\\d+)+(?=\\.)"),lookbehind:!0,inside:n},punctuation:/\||^\./}},inline:{pattern:RegExp("(\\*\\*|__|\\?\\?|[*_%@+\\-^~])(?:"+t+")?.+?\\1"),inside:{bold:{pattern:RegExp("(^(\\*\\*?)(?:"+t+")?).+?(?=\\2)"),lookbehind:!0},italic:{pattern:RegExp("(^(__?)(?:"+t+")?).+?(?=\\2)"),lookbehind:!0},cite:{pattern:RegExp("(^\\?\\?(?:"+t+")?).+?(?=\\?\\?)"),lookbehind:!0,alias:"string"},code:{pattern:RegExp("(^@(?:"+t+")?).+?(?=@)"),lookbehind:!0,alias:"keyword"},inserted:{pattern:RegExp("(^\\+(?:"+t+")?).+?(?=\\+)"),lookbehind:!0},deleted:{pattern:RegExp("(^-(?:"+t+")?).+?(?=-)"),lookbehind:!0},span:{pattern:RegExp("(^%(?:"+t+")?).+?(?=%)"),lookbehind:!0},modifier:{pattern:RegExp("(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])"+t),lookbehind:!0,inside:n},punctuation:/[*_%?@+\-^~]+/}},"link-ref":{pattern:/^\[[^\]]+\]\S+$/m,inside:{string:{pattern:/(\[)[^\]]+(?=\])/,lookbehind:!0},url:{pattern:/(\])\S+$/,lookbehind:!0},punctuation:/[\[\]]/}},link:{pattern:RegExp('"(?:'+t+')?[^"]+":.+?(?=[^\\w/]?(?:\\s|$))'),inside:{text:{pattern:RegExp('(^"(?:'+t+')?)[^"]+(?=")'),lookbehind:!0},modifier:{pattern:RegExp('(^")'+t),lookbehind:!0,inside:n},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[":]/}},image:{pattern:RegExp("!(?:"+t+"|[<>=()])*[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?"),inside:{source:{pattern:RegExp("(^!(?:"+t+"|[<>=()])*)[^!\\s()]+(?:\\([^)]+\\))?(?=!)"),lookbehind:!0,alias:"url"},modifier:{pattern:RegExp("(^!)(?:"+t+"|[<>=()])+"),lookbehind:!0,inside:n},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\((?:TM|R|C)\)/,alias:"comment",inside:{punctuation:/[()]/}}}}});var a={inline:e.languages.textile.phrase.inside.inline,link:e.languages.textile.phrase.inside.link,image:e.languages.textile.phrase.inside.image,footnote:e.languages.textile.phrase.inside.footnote,acronym:e.languages.textile.phrase.inside.acronym,mark:e.languages.textile.phrase.inside.mark};e.languages.textile.tag.pattern=/<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,e.languages.textile.phrase.inside.inline.inside.bold.inside=a,e.languages.textile.phrase.inside.inline.inside.italic.inside=a,e.languages.textile.phrase.inside.inline.inside.inserted.inside=a,e.languages.textile.phrase.inside.inline.inside.deleted.inside=a,e.languages.textile.phrase.inside.inline.inside.span.inside=a,e.languages.textile.phrase.inside.table.inside.inline=a.inline,e.languages.textile.phrase.inside.table.inside.link=a.link,e.languages.textile.phrase.inside.table.inside.image=a.image,e.languages.textile.phrase.inside.table.inside.footnote=a.footnote,e.languages.textile.phrase.inside.table.inside.acronym=a.acronym,e.languages.textile.phrase.inside.table.inside.mark=a.mark}(b),b.languages.rust={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:[{pattern:/b?r(#*)"(?:\\.|(?!"\1)[^\\\r\n])*"\1/,greedy:!0},{pattern:/b?"(?:\\.|[^\\\r\n"])*"/,greedy:!0}],char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u{(?:[\da-fA-F]_*){1,6}|.)|[^\\\r\n\t'])'/,alias:"string"},"lifetime-annotation":{pattern:/'[^\s>']+/,alias:"symbol"},keyword:/\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|dyn|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|Self|struct|super|true|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,attribute:{pattern:/#!?\[.+?\]/,greedy:!0,alias:"attr-name"},function:[/\w+(?=\s*\()/,/\w+!(?=\s*\(|\[)/],"macro-rules":{pattern:/\w+!/,alias:"function"},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\b/,"closure-params":{pattern:/\|[^|]*\|(?=\s*[{-])/,inside:{punctuation:/[|:,]/,operator:/[&*]/}},punctuation:/[{}[\];(),:]|\.+|->/,operator:/[-+*\/%!^]=?|=[=>]?|@|&[&=]?|\|[|=]?|<>?=?/},function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m,lookbehind:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,inside:{atrule:/(?:@[\w-]+|[+=])/m}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/,{pattern:/(\s+)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,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)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/,lookbehind:!0}})}(b),p=b,(g={url:/url\((["']?).*?\1\)/i,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+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,number:/\b\d+(?:\.\d+)?%?/,boolean:/\b(?:true|false)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.+|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],punctuation:/[{}()\[\];:,]/}).interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^{|}$/,alias:"punctuation"},rest:g}},g.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:g}},p.languages.stylus={comment:{pattern:/(^|[^\\])(\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},"atrule-declaration":{pattern:/(^\s*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:g}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:(?:\{[^}]*\}|.+)|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:g}},statement:{pattern:/(^[ \t]*)(?:if|else|for|return|unless)[ \t]+.+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:g}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)[^{\r\n]*(?:;|[^{\r\n,](?=$)(?!(\r?\n|\r)(?:\{|\2[ \t]+)))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:g.interpolation}},rest:g}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t]+)))/m,lookbehind:!0,inside:{interpolation:g.interpolation,punctuation:/[{},]/}},func:g.func,string:g.string,interpolation:g.interpolation,punctuation:/[{}()\[\];:.]/},b.languages.scheme={comment:/;.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'[^()#'\s]+/,greedy:!0},character:{pattern:/#\\(?:u[a-fA-F\d]{4}|[a-zA-Z]+|\S)/,alias:"string"},keyword:{pattern:/(\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)(?=[()\s])/,lookbehind:!0},builtin:{pattern:/(\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[()\s])/,lookbehind:!0},number:{pattern:/(\s|[()])[-+]?\d*\.?\d+(?:\s*[-+]\s*\d*\.?\d+i)?\b/,lookbehind:!0},boolean:/#[tf]/,operator:{pattern:/(\()(?:[-+*%\/]|[<>]=?|=>?)/,lookbehind:!0},function:{pattern:/(\()[^()#'\s]+(?=[()\s)])/,lookbehind:!0},punctuation:/[()']/},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:{rest: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"}}},"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:{rest:e.languages.markup}},doctype:{pattern:/((?:^|\n)[\t ]*)doctype(?: .+)?/,lookbehind:!0},"flow-control":{pattern:/(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m,lookbehind:!0,inside:{each:{pattern:/^each .+? in\b/,inside:{keyword:/\b(?:each|in)\b/,punctuation:/,/}},branch:{pattern:/^(?:if|unless|else|case|when|default|while)\b/,alias:"keyword"},rest:e.languages.javascript}},keyword:{pattern:/(^[\t ]*)(?:block|extends|include|append|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:{rest: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:{rest:e.languages.javascript}},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/,lookbehind:!0,inside:{rest:e.languages.javascript}},"attr-name":/[\w-]+(?=\s*!?=|\s*[,)])/,punctuation:/[!=(),]+/}}],punctuation:/:/}},code:[{pattern:/(^[\t ]*(?:-|!?=)).+/m,lookbehind:!0,inside:{rest:e.languages.javascript}}],punctuation:/[.\-!=|]+/};for(var t=[{filter:"atpl",language:"twig"},{filter:"coffee",language:"coffeescript"},"ejs","handlebars","hogan","less","livescript","markdown","mustache","plates",{filter:"sass",language:"scss"},"stylus","swig"],n={},a=0,i=t.length;a])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:/(\s*(?:^|[:\-,[{\r\n?])[ \t]*(?:![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/,lookbehind:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:\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*)?)?)(?=[ \t]*(?:$|,|]|}))/m,lookbehind:!0,alias:"number"},boolean:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:true|false)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},null:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:null|~)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},string:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}|\s*#))/m,lookbehind:!0,greedy:!0},number:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im,lookbehind:!0},tag:/![^\s]+/,important:/[&*][\w]+/,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},b.languages.yml=b.languages.yaml,function(e){e.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:{rest:e.languages.ruby}},{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ]+.*\|[\t ]*)*/,lookbehind:!0,inside:{rest:e.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:"variable"}}},markup:{pattern:/((?:^|\r?\n|\r)[\t ]*)<.+/,lookbehind:!0,inside:{rest:e.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:{rest:e.languages.ruby}},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/,lookbehind:!0},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:{rest:e.languages.ruby}}],punctuation:/[<>]/}},code:{pattern:/((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:{rest:e.languages.ruby}},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:e.languages.ruby}},punctuation:{pattern:/((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,lookbehind:!0}};for(var t=["css",{filter:"coffee",language:"coffeescript"},"erb","javascript","less","markdown","ruby","scss","textile"],n={},a=0,i=t.length;a]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],property:/\b[a-zA-Z_]\w*\b/,punctuation:/[()\[\]{}:.,]/}},other:{pattern:/\S(?:[\s\S]*\S)?/,inside:b.languages.markup}};var h,y,v,w,k,S,x,A,E,L,C,_,T,I=b.util.clone(b.languages.typescript);function R(e){"function"!=typeof e||P(e)||L.push(e)}function P(t){return"function"==typeof t?L.filter(function(e){return e.valueOf()===t.valueOf()})[0]:"string"==typeof t&&0]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/},b.languages["visual-basic"]={comment:{pattern:/(?:['‘’]|REM\b).*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\S\r\n]_[^\S\r\n]*(?:\r\n?|\n)|.)+/i,alias:"comment",greedy:!0},string:{pattern:/["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,greedy:!0},date:{pattern:/#[^\S\r\n]*(?:\d+([\/-])\d+\1\d+(?:[^\S\r\n]+(?:\d+[^\S\r\n]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[^\S\r\n]*(?:AM|PM))?))?|(?:\d+[^\S\r\n]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[^\S\r\n]*(?:AM|PM))?))[^\S\r\n]*#/i,alias:"builtin"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[FRD])?/i,boolean:/\b(?:True|False|Nothing)\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|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|TypeOf|U(?:Integer|Long|Short)|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i,operator:[/[+\-*\/\\^<=>&#@$%!]/,{pattern:/([^\S\r\n])_(?=[^\S\r\n]*[\r\n])/,lookbehind:!0}],punctuation:/[{}().,:?]/},b.languages.vb=b.languages["visual-basic"],b.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|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|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!#$%&'*+\-.\/:<=>?@\\^_`|~]+/i,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:/[()]/},"undefined"!=typeof self&&self.Prism&&self.document&&(h="line-numbers",y=/\n(?!$)/g,v=function(e){var t,a,i,n,r=w(e),o=r["white-space"];"pre-wrap"!==o&&"pre-line"!==o||(t=e.querySelector("code"),a=e.querySelector(".line-numbers-rows"),i=e.querySelector(".line-numbers-sizer"),n=t.textContent.split(y),i||((i=document.createElement("span")).className="line-numbers-sizer",t.appendChild(i)),i.style.display="block",n.forEach(function(e,t){i.textContent=e||"\n";var n=i.getBoundingClientRect().height;a.children[t].style.height=n+"px"}),i.textContent="",i.style.display="none")},w=function(e){return e?window.getComputedStyle?getComputedStyle(e):e.currentStyle||null:null},window.addEventListener("resize",function(){Array.prototype.forEach.call(document.querySelectorAll("pre."+h),v)}),b.hooks.add("complete",function(e){var t,n,a,i,r,o;e.code&&(n=/\s*\bline-numbers\b\s*/,(t=e.element.parentNode)&&/pre/i.test(t.nodeName)&&(n.test(t.className)||n.test(e.element.className))&&!e.element.querySelector(".line-numbers-rows")&&(n.test(e.element.className)&&(e.element.className=e.element.className.replace(n," ")),n.test(t.className)||(t.className+=" line-numbers"),i=(a=e.code.match(y))?a.length+1:1,r=(r=new Array(i+1)).join(""),(o=document.createElement("span")).setAttribute("aria-hidden","true"),o.className="line-numbers-rows",o.innerHTML=r,t.hasAttribute("data-start")&&(t.style.counterReset="linenumber "+(parseInt(t.getAttribute("data-start"),10)-1)),e.element.appendChild(o),v(t),b.hooks.run("line-numbers",e)))}),b.hooks.add("line-numbers",function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}),b.plugins.lineNumbers={getLine:function(e,t){if("PRE"===e.tagName&&e.classList.contains(h)){var n=e.querySelector(".line-numbers-rows"),a=parseInt(e.getAttribute("data-start"),10)||1,i=a+(n.children.length-1);ti.length&&(u=i.length),u--;for(var p=--c;p<=u;p++)r[p]=i[p],i[p]=""}}}else if(s)for(l=0;l'):(r=i("data-user","user"),o=i("data-host","localhost"),s.join(''));var d=document.createElement("span");d.className="command-line-prompt",d.innerHTML=s;for(var c,u=0;u e.length) return;\n\n if (!(w instanceof s)) {\n if (m && b != t.length - 1) {\n h.lastIndex = k;\n\n var _ = h.exec(e);\n\n if (!_) break;\n\n for (var j = _.index + (d ? _[1].length : 0), P = _.index + _[0].length, A = b, x = k, O = t.length; O > A && (P > x || !t[A].type && !t[A - 1].greedy); ++A) {\n x += t[A].length, j >= x && (++b, k = x);\n }\n\n if (t[b] instanceof s) continue;\n I = A - b, w = e.slice(k, x), _.index -= k;\n } else {\n h.lastIndex = 0;\n\n var _ = h.exec(w),\n I = 1;\n }\n\n if (_) {\n d && (p = _[1] ? _[1].length : 0);\n\n var j = _.index + p,\n _ = _[0].slice(p),\n P = j + _.length,\n N = w.slice(0, j),\n S = w.slice(P),\n C = [b, I];\n\n N && (++b, k += N.length, C.push(N));\n var E = new s(u, f ? n.tokenize(_, f) : _, y, _, m);\n if (C.push(E), S && C.push(S), Array.prototype.splice.apply(t, C), 1 != I && n.matchGrammar(e, t, a, b, k, !0, u), i) break;\n } else if (i) break;\n }\n }\n }\n }\n }\n },\n tokenize: function tokenize(e, t) {\n var a = [e],\n r = t.rest;\n\n if (r) {\n for (var l in r) {\n t[l] = r[l];\n }\n\n delete t.rest;\n }\n\n return n.matchGrammar(e, a, t, 0, 0, !1), a;\n },\n hooks: {\n all: {},\n add: function add(e, t) {\n var a = n.hooks.all;\n a[e] = a[e] || [], a[e].push(t);\n },\n run: function run(e, t) {\n var a = n.hooks.all[e];\n if (a && a.length) for (var r, l = 0; r = a[l++];) {\n r(t);\n }\n }\n }\n },\n a = n.Token = function (e, t, n, a, r) {\n this.type = e, this.content = t, this.alias = n, this.length = 0 | (a || \"\").length, this.greedy = !!r;\n };\n\n if (a.stringify = function (e, t, r) {\n if (\"string\" == typeof e) return e;\n if (\"Array\" === n.util.type(e)) return e.map(function (n) {\n return a.stringify(n, t, e);\n }).join(\"\");\n var l = {\n type: e.type,\n content: a.stringify(e.content, t, r),\n tag: \"span\",\n classes: [\"token\", e.type],\n attributes: {},\n language: t,\n parent: r\n };\n\n if (e.alias) {\n var i = \"Array\" === n.util.type(e.alias) ? e.alias : [e.alias];\n Array.prototype.push.apply(l.classes, i);\n }\n\n n.hooks.run(\"wrap\", l);\n var o = Object.keys(l.attributes).map(function (e) {\n return e + '=\"' + (l.attributes[e] || \"\").replace(/\"/g, \""\") + '\"';\n }).join(\" \");\n return \"<\" + l.tag + ' class=\"' + l.classes.join(\" \") + '\"' + (o ? \" \" + o : \"\") + \">\" + l.content + \"\";\n }, !_self.document) return _self.addEventListener ? (n.disableWorkerMessageHandler || _self.addEventListener(\"message\", function (e) {\n var t = JSON.parse(e.data),\n a = t.language,\n r = t.code,\n l = t.immediateClose;\n _self.postMessage(n.highlight(r, n.languages[a], a)), l && _self.close();\n }, !1), _self.Prism) : _self.Prism;\n var r = document.currentScript || [].slice.call(document.getElementsByTagName(\"script\")).pop();\n return r && (n.filename = r.src, n.manual || r.hasAttribute(\"data-manual\") || (\"loading\" !== document.readyState ? window.requestAnimationFrame ? window.requestAnimationFrame(n.highlightAll) : window.setTimeout(n.highlightAll, 16) : document.addEventListener(\"DOMContentLoaded\", n.highlightAll))), _self.Prism;\n}();\n\n true && module.exports && (module.exports = Prism), \"undefined\" != typeof global && (global.Prism = Prism);\nPrism.languages.markup = {\n comment: //,\n prolog: /<\\?[\\s\\S]+?\\?>/,\n doctype: //i,\n cdata: //i,\n tag: {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i,\n greedy: !0,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/i,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/\n }\n },\n \"attr-value\": {\n pattern: /=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/i,\n inside: {\n punctuation: [/^=/, {\n pattern: /(^|[^\\\\])[\"']/,\n lookbehind: !0\n }]\n }\n },\n punctuation: /\\/?>/,\n \"attr-name\": {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n entity: /&#?[\\da-z]{1,8};/i\n}, Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity = Prism.languages.markup.entity, Prism.hooks.add(\"wrap\", function (a) {\n \"entity\" === a.type && (a.attributes.title = a.content.replace(/&/, \"&\"));\n}), Prism.languages.xml = Prism.languages.markup, Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup;\nPrism.languages.css = {\n comment: /\\/\\*[\\s\\S]*?\\*\\//,\n atrule: {\n pattern: /@[\\w-]+?[\\s\\S]*?(?:;|(?=\\s*\\{))/i,\n inside: {\n rule: /@[\\w-]+/\n }\n },\n url: /url\\((?:([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|.*?)\\)/i,\n selector: /[^{}\\s][^{};]*?(?=\\s*\\{)/,\n string: {\n pattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n property: /[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,\n important: /!important\\b/i,\n \"function\": /[-a-z0-9]+(?=\\()/i,\n punctuation: /[(){};:,]/\n}, Prism.languages.css.atrule.inside.rest = Prism.languages.css, Prism.languages.markup && (Prism.languages.insertBefore(\"markup\", \"tag\", {\n style: {\n pattern: /()[\\s\\S]*?(?=<\\/style>)/i,\n lookbehind: !0,\n inside: Prism.languages.css,\n alias: \"language-css\",\n greedy: !0\n }\n}), Prism.languages.insertBefore(\"inside\", \"attr-value\", {\n \"style-attr\": {\n pattern: /\\s*style=(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/i,\n inside: {\n \"attr-name\": {\n pattern: /^\\s*style/i,\n inside: Prism.languages.markup.tag.inside\n },\n punctuation: /^\\s*=\\s*['\"]|['\"]\\s*$/,\n \"attr-value\": {\n pattern: /.+/i,\n inside: Prism.languages.css\n }\n },\n alias: \"language-css\"\n }\n}, Prism.languages.markup.tag));\nPrism.languages.clike = {\n comment: [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0,\n greedy: !0\n }],\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n \"class-name\": {\n pattern: /((?:\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+)|(?:catch\\s+\\())[\\w.\\\\]+/i,\n lookbehind: !0,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword: /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n \"boolean\": /\\b(?:true|false)\\b/,\n \"function\": /\\w+(?=\\()/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n operator: /--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&?|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,\n punctuation: /[{}[\\];(),.:]/\n};\nPrism.languages.javascript = Prism.languages.extend(\"clike\", {\n \"class-name\": [Prism.languages.clike[\"class-name\"], {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[_$A-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\.(?:prototype|constructor))/,\n lookbehind: !0\n }],\n keyword: [{\n pattern: /((?:^|})\\s*)(?:catch|finally)\\b/,\n lookbehind: !0\n }, /\\b(?:as|async|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\\b/],\n number: /\\b(?:(?:0[xX][\\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|\\d+n|NaN|Infinity)\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n \"function\": /[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*\\(|\\.(?:apply|bind|call)\\()/,\n operator: /-[-=]?|\\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\\|[|=]?|\\*\\*?=?|\\/=?|~|\\^=?|%=?|\\?|\\.{3}/\n}), Prism.languages.javascript[\"class-name\"][0].pattern = /(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/, Prism.languages.insertBefore(\"javascript\", \"keyword\", {\n regex: {\n pattern: /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s])\\s*)\\/(\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^\\/\\\\\\[\\r\\n])+\\/[gimyu]{0,5}(?=\\s*($|[\\r\\n,.;})\\]]))/,\n lookbehind: !0,\n greedy: !0\n },\n \"function-variable\": {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\([^()]*\\)|[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/i,\n alias: \"function\"\n },\n parameter: [{\n pattern: /(function(?:\\s+[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)?\\s*\\(\\s*)[^\\s()][^()]*?(?=\\s*\\))/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }, {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=>)/,\n inside: Prism.languages.javascript\n }, {\n pattern: /(\\(\\s*)[^\\s()][^()]*?(?=\\s*\\)\\s*=>)/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }, {\n 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|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\s*)\\(\\s*)[^\\s()][^()]*?(?=\\s*\\)\\s*\\{)/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }],\n constant: /\\b[A-Z][A-Z\\d_]*\\b/\n}), Prism.languages.insertBefore(\"javascript\", \"string\", {\n \"template-string\": {\n pattern: /`(?:\\\\[\\s\\S]|\\${[^}]+}|[^\\\\`])*`/,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /\\${[^}]+}/,\n inside: {\n \"interpolation-punctuation\": {\n pattern: /^\\${|}$/,\n alias: \"punctuation\"\n },\n rest: Prism.languages.javascript\n }\n },\n string: /[\\s\\S]+/\n }\n }\n}), Prism.languages.markup && Prism.languages.insertBefore(\"markup\", \"tag\", {\n script: {\n pattern: /()[\\s\\S]*?(?=<\\/script>)/i,\n lookbehind: !0,\n inside: Prism.languages.javascript,\n alias: \"language-javascript\",\n greedy: !0\n }\n}), Prism.languages.js = Prism.languages.javascript;\nPrism.languages.actionscript = Prism.languages.extend(\"javascript\", {\n keyword: /\\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\\b/,\n operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<>?>?|[!=]=?)=?|[~?@]/\n}), Prism.languages.actionscript[\"class-name\"].alias = \"function\", Prism.languages.markup && Prism.languages.insertBefore(\"actionscript\", \"string\", {\n xml: {\n pattern: /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/,\n lookbehind: !0,\n inside: {\n rest: Prism.languages.markup\n }\n }\n});\nPrism.languages.apacheconf = {\n comment: /#.*/,\n \"directive-inline\": {\n pattern: /^(\\s*)\\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|AddAlt|AddAltByEncoding|AddAltByType|AddCharset|AddDefaultCharset|AddDescription|AddEncoding|AddHandler|AddIcon|AddIconByEncoding|AddIconByType|AddInputFilter|AddLanguage|AddModuleInfo|AddOutputFilter|AddOutputFilterByType|AddType|Alias|AliasMatch|Allow|AllowCONNECT|AllowEncodedSlashes|AllowMethods|AllowOverride|AllowOverrideList|Anonymous|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail|AsyncRequestWorkerFactor|AuthBasicAuthoritative|AuthBasicFake|AuthBasicProvider|AuthBasicUseDigestAlgorithm|AuthDBDUserPWQuery|AuthDBDUserRealmQuery|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile|AuthDigestAlgorithm|AuthDigestDomain|AuthDigestNonceLifetime|AuthDigestProvider|AuthDigestQop|AuthDigestShmemSize|AuthFormAuthoritative|AuthFormBody|AuthFormDisableNoStore|AuthFormFakeBasicAuth|AuthFormLocation|AuthFormLoginRequiredLocation|AuthFormLoginSuccessLocation|AuthFormLogoutLocation|AuthFormMethod|AuthFormMimetype|AuthFormPassword|AuthFormProvider|AuthFormSitePassphrase|AuthFormSize|AuthFormUsername|AuthGroupFile|AuthLDAPAuthorizePrefix|AuthLDAPBindAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareAsUser|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPInitialBindAsUser|AuthLDAPInitialBindPattern|AuthLDAPMaxSubGroupDepth|AuthLDAPRemoteUserAttribute|AuthLDAPRemoteUserIsDN|AuthLDAPSearchAsUser|AuthLDAPSubGroupAttribute|AuthLDAPSubGroupClass|AuthLDAPUrl|AuthMerging|AuthName|AuthnCacheContext|AuthnCacheEnable|AuthnCacheProvideFor|AuthnCacheSOCache|AuthnCacheTimeout|AuthnzFcgiCheckAuthnProvider|AuthnzFcgiDefineProvider|AuthType|AuthUserFile|AuthzDBDLoginToReferer|AuthzDBDQuery|AuthzDBDRedirectQuery|AuthzDBMType|AuthzSendForbiddenOnFailure|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|CacheDefaultExpire|CacheDetailHeader|CacheDirLength|CacheDirLevels|CacheDisable|CacheEnable|CacheFile|CacheHeader|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheIgnoreQueryString|CacheIgnoreURLSessionIdentifiers|CacheKeyBaseURL|CacheLastModifiedFactor|CacheLock|CacheLockMaxAge|CacheLockPath|CacheMaxExpire|CacheMaxFileSize|CacheMinExpire|CacheMinFileSize|CacheNegotiatedDocs|CacheQuickHandler|CacheReadSize|CacheReadTime|CacheRoot|CacheSocache|CacheSocacheMaxSize|CacheSocacheMaxTime|CacheSocacheMinTime|CacheSocacheReadSize|CacheSocacheReadTime|CacheStaleOnError|CacheStoreExpired|CacheStoreNoStore|CacheStorePrivate|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateInflateLimitRequestBody|DeflateInflateRatioBurst|DeflateInflateRatioLimit|DeflateMemLevel|DeflateWindowSize|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|HeartbeatAddress|HeartbeatListen|HeartbeatMaxServers|HeartbeatStorage|HeartbeatStorage|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|IndexHeadInsert|IndexIgnore|IndexIgnoreReset|IndexOptions|IndexOrderDefault|IndexStyleSheet|InputSed|ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionPoolTTL|LDAPConnectionTimeout|LDAPLibraryDebug|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPReferralHopLimit|LDAPReferrals|LDAPRetries|LDAPRetryDelay|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTimeout|LDAPTrustedClientCert|LDAPTrustedGlobalCert|LDAPTrustedMode|LDAPVerifyServerCert|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|LuaHookAccessChecker|LuaHookAuthChecker|LuaHookCheckUserID|LuaHookFixups|LuaHookInsertFilter|LuaHookLog|LuaHookMapToStorage|LuaHookTranslateName|LuaHookTypeChecker|LuaInherit|LuaInputFilter|LuaMapHandler|LuaOutputFilter|LuaPackageCPath|LuaPackagePath|LuaQuickHandler|LuaRoot|LuaScope|MaxConnectionsPerChild|MaxKeepAliveRequests|MaxMemFree|MaxRangeOverlaps|MaxRangeReversals|MaxRanges|MaxRequestWorkers|MaxSpareServers|MaxSpareThreads|MaxThreads|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|ProxyAddHeaders|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyExpressDBMFile|ProxyExpressDBMType|ProxyExpressEnable|ProxyFtpDirCharset|ProxyFtpEscapeWildcards|ProxyFtpListOnWildcard|ProxyHTMLBufSize|ProxyHTMLCharsetOut|ProxyHTMLDocType|ProxyHTMLEnable|ProxyHTMLEvents|ProxyHTMLExtended|ProxyHTMLFixups|ProxyHTMLInterp|ProxyHTMLLinks|ProxyHTMLMeta|ProxyHTMLStripComments|ProxyHTMLURLMap|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassInherit|ProxyPassInterpolateEnv|ProxyPassMatch|ProxyPassReverse|ProxyPassReverseCookieDomain|ProxyPassReverseCookiePath|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxySCGIInternalRedirect|ProxySCGISendfile|ProxySet|ProxySourceAddress|ProxyStatus|ProxyTimeout|ProxyVia|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIPHeader|RemoteIPInternalProxy|RemoteIPInternalProxyList|RemoteIPProxiesHeader|RemoteIPTrustedProxy|RemoteIPTrustedProxyList|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|RewriteBase|RewriteCond|RewriteEngine|RewriteMap|RewriteOptions|RewriteRule|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script|ScriptAlias|ScriptAliasMatch|ScriptInterpreterSource|ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock|SecureListen|SeeRequestTail|SendBufferSize|ServerAdmin|ServerAlias|ServerLimit|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|Session|SessionCookieName|SessionCookieName2|SessionCookieRemove|SessionCryptoCipher|SessionCryptoDriver|SessionCryptoPassphrase|SessionCryptoPassphraseFile|SessionDBDCookieName|SessionDBDCookieName2|SessionDBDCookieRemove|SessionDBDDeleteLabel|SessionDBDInsertLabel|SessionDBDPerUser|SessionDBDSelectLabel|SessionDBDUpdateLabel|SessionEnv|SessionExclude|SessionHeader|SessionInclude|SessionMaxAge|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSLCACertificateFile|SSLCACertificatePath|SSLCADNRequestFile|SSLCADNRequestPath|SSLCARevocationCheck|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLCompression|SSLCryptoDevice|SSLEngine|SSLFIPS|SSLHonorCipherOrder|SSLInsecureRenegotiation|SSLOCSPDefaultResponder|SSLOCSPEnable|SSLOCSPOverrideResponder|SSLOCSPResponderTimeout|SSLOCSPResponseMaxAge|SSLOCSPResponseTimeSkew|SSLOCSPUseRequestNonce|SSLOpenSSLConfCmd|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationCheck|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCheckPeerCN|SSLProxyCheckPeerExpire|SSLProxyCheckPeerName|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateChainFile|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRenegBufferSize|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLSessionTicketKeyFile|SSLSRPUnknownUserSeed|SSLSRPVerifierFile|SSLStaplingCache|SSLStaplingErrorCacheTimeout|SSLStaplingFakeTryLater|SSLStaplingForceURL|SSLStaplingResponderTimeout|SSLStaplingResponseMaxAge|SSLStaplingResponseTimeSkew|SSLStaplingReturnResponderErrors|SSLStaplingStandardCacheTimeout|SSLStrictSNIVHostCheck|SSLUserName|SSLUseStapling|SSLVerifyClient|SSLVerifyDepth|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\\b/im,\n lookbehind: !0,\n alias: \"property\"\n },\n \"directive-block\": {\n pattern: /<\\/?\\b(?:AuthnProviderAlias|AuthzProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|RequireAll|RequireAny|RequireNone|VirtualHost)\\b *.*>/i,\n inside: {\n \"directive-block\": {\n pattern: /^<\\/?\\w+/,\n inside: {\n punctuation: /^<\\/?/\n },\n alias: \"tag\"\n },\n \"directive-block-parameter\": {\n pattern: /.*[^>]/,\n inside: {\n punctuation: /:/,\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n }\n },\n alias: \"attr-value\"\n },\n punctuation: />/\n },\n alias: \"tag\"\n },\n \"directive-flags\": {\n pattern: /\\[(?:\\w,?)+\\]/,\n alias: \"keyword\"\n },\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n },\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/,\n regex: /\\^?.*\\$|\\^.*\\$?/\n};\nPrism.languages.applescript = {\n comment: [/\\(\\*(?:\\(\\*[\\s\\S]*?\\*\\)|[\\s\\S])*?\\*\\)/, /--.+/, /#.+/],\n string: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n number: /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e-?\\d+)?\\b/i,\n operator: [/[&=≠≤≥*+\\-\\/÷^]|[<>]=?/, /\\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn't) contain|contains?)|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equals|equal to|isn't|is not)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|or|div|mod|as|not))\\b/],\n keyword: /\\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\b/,\n \"class\": {\n pattern: /\\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\\b/,\n alias: \"builtin\"\n },\n punctuation: /[{}():,¬«»《》]/\n};\nPrism.languages.c = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\\b/,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*\\/%&|^!=<>]=?/,\n number: /(?:\\b0x[\\da-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]*/i\n}), Prism.languages.insertBefore(\"c\", \"string\", {\n macro: {\n pattern: /(^\\s*)#\\s*[a-z]+(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: !0,\n alias: \"property\",\n inside: {\n string: {\n pattern: /(#\\s*include\\s*)(?:<.+?>|(\"|')(?:\\\\?.)+?\\2)/,\n lookbehind: !0\n },\n directive: {\n pattern: /(#\\s*)\\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\\b/,\n lookbehind: !0,\n alias: \"keyword\"\n }\n }\n },\n constant: /\\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\\b/\n}), delete Prism.languages.c[\"class-name\"], delete Prism.languages.c[\"boolean\"];\nPrism.languages.csharp = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:abstract|add|alias|as|ascending|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|descending|do|double|dynamic|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|from|get|global|goto|group|if|implicit|in|int|interface|internal|into|is|join|let|lock|long|namespace|new|null|object|operator|orderby|out|override|params|partial|private|protected|public|readonly|ref|remove|return|sbyte|sealed|select|set|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|value|var|virtual|void|volatile|where|while|yield)\\b/,\n string: [{\n pattern: /@(\"|')(?:\\1\\1|\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: !0\n }, {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*?\\1/,\n greedy: !0\n }],\n \"class-name\": [{\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b(?=\\s+\\w+)/,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /(\\[)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /(\\b(?:class|interface)\\s+[A-Z]\\w*(?:\\.\\w+)*\\s*:\\s*)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /((?:\\b(?:class|interface|new)\\s+)|(?:catch\\s+\\())[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }],\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)f?/i,\n operator: />>=?|<<=?|[-=]>|([-+&|?])\\1|~|[-+*\\/%&|^!=<>]=?/,\n punctuation: /\\?\\.?|::|[{}[\\];(),.:]/\n}), Prism.languages.insertBefore(\"csharp\", \"class-name\", {\n \"generic-method\": {\n pattern: /\\w+\\s*<[^>\\r\\n]+?>\\s*(?=\\()/,\n inside: {\n \"function\": /^\\w+/,\n \"class-name\": {\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b/,\n inside: {\n punctuation: /\\./\n }\n },\n keyword: Prism.languages.csharp.keyword,\n punctuation: /[<>(),.:]/\n }\n },\n preprocessor: {\n pattern: /(^\\s*)#.*/m,\n lookbehind: !0,\n alias: \"property\",\n inside: {\n directive: {\n pattern: /(\\s*#)\\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\\b/,\n lookbehind: !0,\n alias: \"keyword\"\n }\n }\n }\n}), Prism.languages.dotnet = Prism.languages.csharp;\n!function (e) {\n var t = {\n variable: [{\n pattern: /\\$?\\(\\([\\s\\S]+?\\)\\)/,\n inside: {\n variable: [{\n pattern: /(^\\$\\(\\([\\s\\S]+)\\)\\)/,\n lookbehind: !0\n }, /^\\$\\(\\(/],\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n operator: /--?|-=|\\+\\+?|\\+=|!=?|~|\\*\\*?|\\*=|\\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\\^=?|\\|\\|?|\\|=|\\?|:/,\n punctuation: /\\(\\(?|\\)\\)?|,|;/\n }\n }, {\n pattern: /\\$\\([^)]+\\)|`[^`]+`/,\n greedy: !0,\n inside: {\n variable: /^\\$\\(|^`|\\)$|`$/\n }\n }, /\\$(?:[\\w#?*!@]+|\\{[^}]+\\})/i]\n };\n e.languages.bash = {\n shebang: {\n pattern: /^#!\\s*\\/bin\\/bash|^#!\\s*\\/bin\\/sh/,\n alias: \"important\"\n },\n comment: {\n pattern: /(^|[^\"{\\\\])#.*/,\n lookbehind: !0\n },\n string: [{\n pattern: /((?:^|[^<])<<\\s*)[\"']?(\\w+?)[\"']?\\s*\\r?\\n(?:[\\s\\S])*?\\r?\\n\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: t\n }, {\n pattern: /([\"'])(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|`[^`]+`|(?!\\1)[^\\\\])*\\1/,\n greedy: !0,\n inside: t\n }],\n variable: t.variable,\n \"function\": {\n pattern: /(^|[\\s;|&])(?:alias|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|hash|head|help|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logout|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tail|tar|tee|test|time|timeout|times|top|touch|tr|traceroute|trap|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip|zypper)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n keyword: {\n pattern: /(^|[\\s;|&])(?:let|:|\\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n \"boolean\": {\n pattern: /(^|[\\s;|&])(?:true|false)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n operator: /&&?|\\|\\|?|==?|!=?|<<>|<=?|>=?|=~/,\n punctuation: /\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];]/\n };\n var a = t.variable[1].inside;\n a.string = e.languages.bash.string, a[\"function\"] = e.languages.bash[\"function\"], a.keyword = e.languages.bash.keyword, a[\"boolean\"] = e.languages.bash[\"boolean\"], a.operator = e.languages.bash.operator, a.punctuation = e.languages.bash.punctuation, e.languages.shell = e.languages.bash;\n}(Prism);\nPrism.languages.cpp = Prism.languages.extend(\"c\", {\n keyword: /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/,\n \"boolean\": /\\b(?:true|false)\\b/,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*\\/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/\n}), Prism.languages.insertBefore(\"cpp\", \"keyword\", {\n \"class-name\": {\n pattern: /(class\\s+)\\w+/i,\n lookbehind: !0\n }\n}), Prism.languages.insertBefore(\"cpp\", \"string\", {\n \"raw-string\": {\n pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n alias: \"string\",\n greedy: !0\n }\n});\n!function (e) {\n var t = /#(?!\\{).+/,\n n = {\n pattern: /#\\{[^}]+\\}/,\n alias: \"variable\"\n };\n e.languages.coffeescript = e.languages.extend(\"javascript\", {\n comment: t,\n string: [{\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n greedy: !0\n }, {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }],\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/,\n \"class-member\": {\n pattern: /@(?!\\d)\\w+/,\n alias: \"variable\"\n }\n }), e.languages.insertBefore(\"coffeescript\", \"comment\", {\n \"multiline-comment\": {\n pattern: /###[\\s\\S]+?###/,\n alias: \"comment\"\n },\n \"block-regex\": {\n pattern: /\\/{3}[\\s\\S]*?\\/{3}/,\n alias: \"regex\",\n inside: {\n comment: t,\n interpolation: n\n }\n }\n }), e.languages.insertBefore(\"coffeescript\", \"string\", {\n \"inline-javascript\": {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n inside: {\n delimiter: {\n pattern: /^`|`$/,\n alias: \"punctuation\"\n },\n rest: e.languages.javascript\n }\n },\n \"multiline-string\": [{\n pattern: /'''[\\s\\S]*?'''/,\n greedy: !0,\n alias: \"string\"\n }, {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: !0,\n alias: \"string\",\n inside: {\n interpolation: n\n }\n }]\n }), e.languages.insertBefore(\"coffeescript\", \"keyword\", {\n property: /(?!\\d)\\w+(?=\\s*:(?!:))/\n }), delete e.languages.coffeescript[\"template-string\"], e.languages.coffee = e.languages.coffeescript;\n}(Prism);\n!function (e) {\n e.languages.ruby = e.languages.extend(\"clike\", {\n comment: [/#.*/, {\n pattern: /^=begin(?:\\r?\\n|\\r)(?:.*(?:\\r?\\n|\\r))*?=end/m,\n greedy: !0\n }],\n keyword: /\\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\\b/\n });\n var n = {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: \"tag\"\n },\n rest: e.languages.ruby\n }\n };\n delete e.languages.ruby.function, e.languages.insertBefore(\"ruby\", \"keyword\", {\n regex: [{\n pattern: /%r([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[\\s\\S])*\\}[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\][gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r<(?:[^<>\\\\]|\\\\[\\s\\S])*>[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /(^|[^\\/])\\/(?!\\/)(\\[.+?]|\\\\.|[^\\/\\\\\\r\\n])+\\/[gim]{0,3}(?=\\s*($|[\\r\\n,.;})]))/,\n lookbehind: !0,\n greedy: !0\n }],\n variable: /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n symbol: {\n pattern: /(^|[^:]):[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n lookbehind: !0\n },\n \"method-definition\": {\n pattern: /(\\bdef\\s+)[\\w.]+/,\n lookbehind: !0,\n inside: {\n \"function\": /\\w+$/,\n rest: e.languages.ruby\n }\n }\n }), e.languages.insertBefore(\"ruby\", \"number\", {\n builtin: /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\\b/,\n constant: /\\b[A-Z]\\w*(?:[?!]|\\b)/\n }), e.languages.ruby.string = [{\n pattern: /%[qQiIwWxs]?([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[\\s\\S])*\\}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\]/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /(\"|')(?:#\\{[^}]+\\}|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }], e.languages.rb = e.languages.ruby;\n}(Prism);\nPrism.languages.csp = {\n directive: {\n pattern: /\\b(?:(?:base-uri|form-action|frame-ancestors|plugin-types|referrer|reflected-xss|report-to|report-uri|require-sri-for|sandbox) |(?:block-all-mixed-content|disown-opener|upgrade-insecure-requests)(?: |;)|(?:child|connect|default|font|frame|img|manifest|media|object|script|style|worker)-src )/i,\n alias: \"keyword\"\n },\n safe: {\n pattern: /'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\\d+=\\/]+)'/,\n alias: \"selector\"\n },\n unsafe: {\n pattern: /(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\\*)/,\n alias: \"function\"\n }\n};\nPrism.languages.css.selector = {\n pattern: Prism.languages.css.selector,\n inside: {\n \"pseudo-element\": /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/,\n \"pseudo-class\": /:[-\\w]+(?:\\(.*\\))?/,\n \"class\": /\\.[-:.\\w]+/,\n id: /#[-:.\\w]+/,\n attribute: /\\[[^\\]]+\\]/\n }\n}, Prism.languages.insertBefore(\"css\", \"property\", {\n variable: {\n pattern: /(^|[^-\\w\\xA0-\\uFFFF])--[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*/i,\n lookbehind: !0\n }\n}), Prism.languages.insertBefore(\"css\", \"function\", {\n operator: {\n pattern: /(\\s)[+\\-*\\/](?=\\s)/,\n lookbehind: !0\n },\n hexcode: /#[\\da-f]{3,8}/i,\n entity: /\\\\[\\da-f]{1,8}/i,\n unit: {\n pattern: /(\\d)(?:%|[a-z]+)/,\n lookbehind: !0\n },\n number: /-?[\\d.]+/\n});\nPrism.languages.diff = {\n coord: [/^(?:\\*{3}|-{3}|\\+{3}).*$/m, /^@@.*@@$/m, /^\\d+.*$/m],\n deleted: /^[-<].*$/m,\n inserted: /^[+>].*$/m,\n diff: {\n pattern: /^!(?!!).+$/m,\n alias: \"important\"\n }\n};\nvar _django_template = {\n property: {\n pattern: /(?:{{|{%)[\\s\\S]*?(?:%}|}})/g,\n greedy: !0,\n inside: {\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n keyword: /\\b(?:\\||load|verbatim|widthratio|ssi|firstof|for|url|ifchanged|csrf_token|lorem|ifnotequal|autoescape|now|templatetag|debug|cycle|ifequal|regroup|comment|filter|endfilter|if|spaceless|with|extends|block|include|else|empty|endif|endfor|as|endblock|endautoescape|endverbatim|trans|endtrans|[Tt]rue|[Ff]alse|[Nn]one|in|is|static|macro|endmacro|call|endcall|set|endset|raw|endraw)\\b/,\n operator: /[-+=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:or|and|not)\\b/,\n \"function\": /\\b(?:_|abs|add|addslashes|attr|batch|callable|capfirst|capitalize|center|count|cut|d|date|default|default_if_none|defined|dictsort|dictsortreversed|divisibleby|e|equalto|escape|escaped|escapejs|even|filesizeformat|first|float|floatformat|force_escape|forceescape|format|get_digit|groupby|indent|int|iriencode|iterable|join|last|length|length_is|linebreaks|linebreaksbr|linenumbers|list|ljust|lower|make_list|map|mapping|number|odd|phone2numeric|pluralize|pprint|random|reject|rejectattr|removetags|replace|reverse|rjust|round|safe|safeseq|sameas|select|selectattr|sequence|slice|slugify|sort|string|stringformat|striptags|sum|time|timesince|timeuntil|title|trim|truncate|truncatechars|truncatechars_html|truncatewords|truncatewords_html|undefined|unordered_list|upper|urlencode|urlize|urlizetrunc|wordcount|wordwrap|xmlattr|yesno)\\b/,\n important: /\\b-?\\d+(?:\\.\\d+)?\\b/,\n variable: /\\b\\w+?\\b/,\n punctuation: /[[\\];(),.:]/\n }\n }\n};\nPrism.languages.django = Prism.languages.extend(\"markup\", {\n comment: /(?:)/\n}), Prism.languages.django.tag.pattern = /<\\/?(?!\\d)[^\\s>\\/=$<]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^>=]+))?)*\\s*\\/?>/i, Prism.languages.insertBefore(\"django\", \"entity\", _django_template), Prism.languages.insertBefore(\"inside\", \"tag\", _django_template, Prism.languages.django.tag), Prism.languages.javascript && (Prism.languages.insertBefore(\"inside\", \"string\", _django_template, Prism.languages.django.script), Prism.languages.django.script.inside.string.inside = _django_template), Prism.languages.css && (Prism.languages.insertBefore(\"inside\", \"atrule\", {\n tag: _django_template.property\n}, Prism.languages.django.style), Prism.languages.django.style.inside.string.inside = _django_template), Prism.languages.jinja2 = Prism.languages.django;\nPrism.languages.docker = {\n keyword: {\n pattern: /(^\\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)/im,\n lookbehind: !0\n },\n string: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n comment: /#.*/,\n punctuation: /---|\\.\\.\\.|[:[\\]{}\\-,|>?]/\n}, Prism.languages.dockerfile = Prism.languages.docker;\nPrism.languages.elixir = {\n comment: {\n pattern: /#.*/m,\n lookbehind: !0\n },\n regex: {\n pattern: /~[rR](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[uismxfr]*/,\n greedy: !0\n },\n string: [{\n pattern: /~[cCsSwW](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|#\\{[^}]+\\}|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[csa]?/,\n greedy: !0,\n inside: {}\n }, {\n pattern: /(\"\"\"|''')[\\s\\S]*?\\1/,\n greedy: !0,\n inside: {}\n }, {\n pattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {}\n }],\n atom: {\n pattern: /(^|[^:]):\\w+/,\n lookbehind: !0,\n alias: \"symbol\"\n },\n \"attr-name\": /\\w+:(?!:)/,\n capture: {\n pattern: /(^|[^&])&(?:[^&\\s\\d()][^\\s()]*|(?=\\())/,\n lookbehind: !0,\n alias: \"function\"\n },\n argument: {\n pattern: /(^|[^&])&\\d+/,\n lookbehind: !0,\n alias: \"variable\"\n },\n attribute: {\n pattern: /@\\w+/,\n alias: \"variable\"\n },\n number: /\\b(?:0[box][a-f\\d_]+|\\d[\\d_]*)(?:\\.[\\d_]+)?(?:e[+-]?[\\d_]+)?\\b/i,\n keyword: /\\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\\b/,\n \"boolean\": /\\b(?:true|false|nil)\\b/,\n operator: [/\\bin\\b|&&?|\\|[|>]?|\\\\\\\\|::|\\.\\.\\.?|\\+\\+?|-[->]?|<[-=>]|>=|!==?|\\B!|=(?:==?|[>~])?|[*\\/^]/, {\n pattern: /([^<])<(?!<)/,\n lookbehind: !0\n }, {\n pattern: /([^>])>(?!>)/,\n lookbehind: !0\n }],\n punctuation: /<<|>>|[.,%\\[\\]{}()]/\n}, Prism.languages.elixir.string.forEach(function (e) {\n e.inside = {\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: \"punctuation\"\n },\n rest: Prism.languages.elixir\n }\n }\n };\n});\nPrism.languages.elm = {\n comment: /--.*|{-[\\s\\S]*?-}/,\n \"char\": {\n pattern: /'(?:[^\\\\'\\r\\n]|\\\\(?:[abfnrtv\\\\']|\\d+|x[0-9a-fA-F]+))'/,\n greedy: !0\n },\n string: [{\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: !0\n }, {\n pattern: /\"(?:[^\\\\\"\\r\\n]|\\\\(?:[abfnrtv\\\\\"]|\\d+|x[0-9a-fA-F]+))*\"/,\n greedy: !0\n }],\n import_statement: {\n pattern: /^\\s*import\\s+[A-Z]\\w*(?:\\.[A-Z]\\w*)*(?:\\s+as\\s+([A-Z]\\w*)(?:\\.[A-Z]\\w*)*)?(?:\\s+exposing\\s+)?/m,\n inside: {\n keyword: /\\b(?:import|as|exposing)\\b/\n }\n },\n keyword: /\\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\\b/,\n builtin: /\\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\\b/,\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[0-9a-f]+)\\b/i,\n operator: /\\s\\.\\s|[+\\-\\/*=.$<>:&|^?%#@~!]{2,}|[+\\-\\/*=$<>:&|^?%#@~!]/,\n hvariable: /\\b(?:[A-Z]\\w*\\.)*[a-z]\\w*\\b/,\n constant: /\\b(?:[A-Z]\\w*\\.)*[A-Z]\\w*\\b/,\n punctuation: /[{}[\\]|(),.:]/\n};\nPrism.languages[\"markup-templating\"] = {}, Object.defineProperties(Prism.languages[\"markup-templating\"], {\n buildPlaceholders: {\n value: function value(e, t, n, a) {\n e.language === t && (e.tokenStack = [], e.code = e.code.replace(n, function (n) {\n if (\"function\" == typeof a && !a(n)) return n;\n\n for (var r = e.tokenStack.length; -1 !== e.code.indexOf(\"___\" + t.toUpperCase() + r + \"___\");) {\n ++r;\n }\n\n return e.tokenStack[r] = n, \"___\" + t.toUpperCase() + r + \"___\";\n }), e.grammar = Prism.languages.markup);\n }\n },\n tokenizePlaceholders: {\n value: function value(e, t) {\n if (e.language === t && e.tokenStack) {\n e.grammar = Prism.languages[t];\n\n var n = 0,\n a = Object.keys(e.tokenStack),\n r = function r(o) {\n if (!(n >= a.length)) for (var i = 0; i < o.length; i++) {\n var g = o[i];\n\n if (\"string\" == typeof g || g.content && \"string\" == typeof g.content) {\n var c = a[n],\n s = e.tokenStack[c],\n l = \"string\" == typeof g ? g : g.content,\n p = l.indexOf(\"___\" + t.toUpperCase() + c + \"___\");\n\n if (p > -1) {\n ++n;\n\n var f,\n u = l.substring(0, p),\n _ = new Prism.Token(t, Prism.tokenize(s, e.grammar, t), \"language-\" + t, s),\n k = l.substring(p + (\"___\" + t.toUpperCase() + c + \"___\").length);\n\n if (u || k ? (f = [u, _, k].filter(function (e) {\n return !!e;\n }), r(f)) : f = _, \"string\" == typeof g ? Array.prototype.splice.apply(o, [i, 1].concat(f)) : g.content = f, n >= a.length) break;\n }\n } else g.content && \"string\" != typeof g.content && r(g.content);\n }\n };\n\n r(e.tokens);\n }\n }\n }\n});\nPrism.languages.erlang = {\n comment: /%.+/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: !0\n },\n \"quoted-function\": {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'(?=\\()/,\n alias: \"function\"\n },\n \"quoted-atom\": {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'/,\n alias: \"atom\"\n },\n \"boolean\": /\\b(?:true|false)\\b/,\n keyword: /\\b(?:fun|when|case|of|end|if|receive|after|try|catch)\\b/,\n number: [/\\$\\\\?./, /\\d+#[a-z0-9]+/i, /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i],\n \"function\": /\\b[a-z][\\w@]*(?=\\()/,\n variable: {\n pattern: /(^|[^@])(?:\\b|\\?)[A-Z_][\\w@]*/,\n lookbehind: !0\n },\n operator: [/[=\\/<>:]=|=[:\\/]=|\\+\\+?|--?|[=*\\/!]|\\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\\b/, {\n pattern: /(^|[^<])<(?!<)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^>])>(?!>)/,\n lookbehind: !0\n }],\n atom: /\\b[a-z][\\w@]*/,\n punctuation: /[()[\\]{}:;,.#|]|<<|>>/\n};\nPrism.languages.fsharp = Prism.languages.extend(\"clike\", {\n comment: [{\n pattern: /(^|[^\\\\])\\(\\*[\\s\\S]*?\\*\\)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0\n }],\n string: {\n pattern: /(?:\"\"\"[\\s\\S]*?\"\"\"|@\"(?:\"\"|[^\"])*\"|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")B?|'(?:[^\\\\']|\\\\.)'B?/,\n greedy: !0\n },\n \"class-name\": {\n pattern: /(\\b(?:exception|inherit|interface|new|of|type)\\s+|\\w\\s*:\\s*|\\s:\\??>\\s*)[.\\w]+\\b(?:\\s*(?:->|\\*)\\s*[.\\w]+\\b)*(?!\\s*[:.])/,\n lookbehind: !0,\n inside: {\n operator: /->|\\*/,\n punctuation: /\\./\n }\n },\n keyword: /\\b(?:let|return|use|yield)(?:!\\B|\\b)|\\b(abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\\b/,\n number: [/\\b0x[\\da-fA-F]+(?:un|lf|LF)?\\b/, /\\b0b[01]+(?:y|uy)?\\b/, /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[fm]|e[+-]?\\d+)?\\b/i, /\\b\\d+(?:[IlLsy]|u[lsy]?|UL)?\\b/],\n operator: /([<>~&^])\\1\\1|([*.:<>&])\\2|<-|->|[!=:]=|?|\\??(?:<=|>=|<>|[-+*\\/%=<>])\\??|[!?^&]|~[+~-]|:>|:\\?>?/\n}), Prism.languages.insertBefore(\"fsharp\", \"keyword\", {\n preprocessor: {\n pattern: /^[^\\r\\n\\S]*#.*/m,\n alias: \"property\",\n inside: {\n directive: {\n pattern: /(\\s*#)\\b(?:else|endif|if|light|line|nowarn)\\b/,\n lookbehind: !0,\n alias: \"keyword\"\n }\n }\n }\n}), Prism.languages.insertBefore(\"fsharp\", \"punctuation\", {\n \"computation-expression\": {\n pattern: /[_a-z]\\w*(?=\\s*\\{)/i,\n alias: \"keyword\"\n }\n}), Prism.languages.insertBefore(\"fsharp\", \"string\", {\n annotation: {\n pattern: /\\[<.+?>\\]/,\n inside: {\n punctuation: /^\\[<|>\\]$/,\n \"class-name\": {\n pattern: /^\\w+$|(^|;\\s*)[A-Z]\\w*(?=\\()/,\n lookbehind: !0\n },\n \"annotation-content\": {\n pattern: /[\\s\\S]*/,\n inside: Prism.languages.fsharp\n }\n }\n }\n});\n!function (e) {\n e.languages.flow = e.languages.extend(\"javascript\", {}), e.languages.insertBefore(\"flow\", \"keyword\", {\n type: [{\n pattern: /\\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\\b/,\n alias: \"tag\"\n }]\n }), e.languages.flow[\"function-variable\"].pattern = /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/i, delete e.languages.flow.parameter, e.languages.insertBefore(\"flow\", \"operator\", {\n \"flow-punctuation\": {\n pattern: /\\{\\||\\|\\}/,\n alias: \"punctuation\"\n }\n }), \"Array\" !== e.util.type(e.languages.flow.keyword) && (e.languages.flow.keyword = [e.languages.flow.keyword]), e.languages.flow.keyword.unshift({\n pattern: /(^|[^$]\\b)(?:type|opaque|declare|Class)\\b(?!\\$)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^$]\\B)\\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\\b(?!\\$)/,\n lookbehind: !0\n });\n}(Prism);\nPrism.languages.git = {\n comment: /^#.*/m,\n deleted: /^[-–].*/m,\n inserted: /^\\+.*/m,\n string: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/m,\n command: {\n pattern: /^.*\\$ git .*$/m,\n inside: {\n parameter: /\\s--?\\w+/m\n }\n },\n coord: /^@@.*@@$/m,\n commit_sha1: /^commit \\w{40}$/m\n};\nPrism.languages.go = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,\n builtin: /\\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\\b/,\n \"boolean\": /\\b(?:_|iota|nil|true|false)\\b/,\n operator: /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,\n number: /(?:\\b0x[a-f\\d]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[-+]?\\d+)?)i?/i,\n string: {\n pattern: /([\"'`])(\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: !0\n }\n}), delete Prism.languages.go[\"class-name\"];\nPrism.languages.graphql = {\n comment: /#.*/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: !0\n },\n number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n \"boolean\": /\\b(?:true|false)\\b/,\n variable: /\\$[a-z_]\\w*/i,\n directive: {\n pattern: /@[a-z_]\\w*/i,\n alias: \"function\"\n },\n \"attr-name\": /[a-z_]\\w*(?=\\s*:)/i,\n keyword: [{\n pattern: /(fragment\\s+(?!on)[a-z_]\\w*\\s+|\\.{3}\\s*)on\\b/,\n lookbehind: !0\n }, /\\b(?:query|fragment|mutation)\\b/],\n operator: /!|=|\\.{3}/,\n punctuation: /[!(){}\\[\\]:=,]/\n};\nPrism.languages.less = Prism.languages.extend(\"css\", {\n comment: [/\\/\\*[\\s\\S]*?\\*\\//, {\n pattern: /(^|[^\\\\])\\/\\/.*/,\n lookbehind: !0\n }],\n atrule: {\n pattern: /@[\\w-]+?(?:\\([^{}]+\\)|[^(){};])*?(?=\\s*\\{)/i,\n inside: {\n punctuation: /[:()]/\n }\n },\n selector: {\n pattern: /(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\([^{}]*\\)|[^{};@])*?(?=\\s*\\{)/,\n inside: {\n variable: /@+[\\w-]+/\n }\n },\n property: /(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/i,\n operator: /[+\\-*\\/]/\n}), Prism.languages.insertBefore(\"less\", \"property\", {\n variable: [{\n pattern: /@[\\w-]+\\s*:/,\n inside: {\n punctuation: /:/\n }\n }, /@@?[\\w-]+/],\n \"mixin-usage\": {\n pattern: /([{;]\\s*)[.#](?!\\d)[\\w-]+.*?(?=[(;])/,\n lookbehind: !0,\n alias: \"function\"\n }\n});\n!function (a) {\n a.languages.handlebars = {\n comment: /\\{\\{![\\s\\S]*?\\}\\}/,\n delimiter: {\n pattern: /^\\{\\{\\{?|\\}\\}\\}?$/i,\n alias: \"punctuation\"\n },\n string: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n \"boolean\": /\\b(?:true|false)\\b/,\n block: {\n pattern: /^(\\s*~?\\s*)[#\\/]\\S+?(?=\\s*~?\\s*$|\\s)/i,\n lookbehind: !0,\n alias: \"keyword\"\n },\n brackets: {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n punctuation: /\\[|\\]/,\n variable: /[\\s\\S]+/\n }\n },\n punctuation: /[!\"#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]/,\n variable: /[^!\"#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~\\s]+/\n }, a.hooks.add(\"before-tokenize\", function (e) {\n var n = /\\{\\{\\{[\\s\\S]+?\\}\\}\\}|\\{\\{[\\s\\S]+?\\}\\}/g;\n a.languages[\"markup-templating\"].buildPlaceholders(e, \"handlebars\", n);\n }), a.hooks.add(\"after-tokenize\", function (e) {\n a.languages[\"markup-templating\"].tokenizePlaceholders(e, \"handlebars\");\n });\n}(Prism);\nPrism.languages.haskell = {\n comment: {\n pattern: /(^|[^-!#$%*+=?&@|~.:<>^\\\\\\/])(?:--[^-!#$%*+=?&@|~.:<>^\\\\\\/].*|{-[\\s\\S]*?-})/m,\n lookbehind: !0\n },\n \"char\": /'(?:[^\\\\']|\\\\(?:[abfnrtv\\\\\"'&]|\\^[A-Z@[\\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\\d+|o[0-7]+|x[0-9a-fA-F]+))'/,\n string: {\n pattern: /\"(?:[^\\\\\"]|\\\\(?:[abfnrtv\\\\\"'&]|\\^[A-Z@[\\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\\d+|o[0-7]+|x[0-9a-fA-F]+)|\\\\\\s+\\\\)*\"/,\n greedy: !0\n },\n keyword: /\\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b/,\n import_statement: {\n pattern: /((?:\\r?\\n|\\r|^)\\s*)import\\s+(?:qualified\\s+)?(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+(?:[A-Z][_a-zA-Z0-9']*)(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,\n lookbehind: !0,\n inside: {\n keyword: /\\b(?:import|qualified|as|hiding)\\b/\n }\n },\n builtin: /\\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b/,\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0o[0-7]+|0x[0-9a-f]+)\\b/i,\n operator: /\\s\\.\\s|[-!#$%*+=?&@|~.:<>^\\\\\\/]*\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]+|[-!#$%*+=?&@|~.:<>^\\\\\\/]+\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]*|[-!#$%*+=?&@|~:<>^\\\\\\/]+|`([A-Z][\\w']*\\.)*[_a-z][\\w']*`/,\n hvariable: /\\b(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*\\b/,\n constant: /\\b(?:[A-Z][\\w']*\\.)*[A-Z][\\w']*\\b/,\n punctuation: /[{}[\\];(),.:]/\n};\n!function (t) {\n function a(t) {\n var a = t.replace(/^[a-z]+\\//, \"\"),\n e = \"\\\\w+/(?:[\\\\w.-]+\\\\+)+\" + a + \"(?![+\\\\w.-])\";\n return \"(?:\" + t + \"|\" + e + \")\";\n }\n\n t.languages.http = {\n \"request-line\": {\n pattern: /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\\s(?:https?:\\/\\/|\\/)\\S+\\sHTTP\\/[0-9.]+/m,\n inside: {\n property: /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\\b/,\n \"attr-name\": /:\\w+/\n }\n },\n \"response-status\": {\n pattern: /^HTTP\\/1.[01] \\d+.*/m,\n inside: {\n property: {\n pattern: /(^HTTP\\/1.[01] )\\d+.*/i,\n lookbehind: !0\n }\n }\n },\n \"header-name\": {\n pattern: /^[\\w-]+:(?=.)/m,\n alias: \"keyword\"\n }\n };\n var e,\n n = t.languages,\n r = {\n \"application/javascript\": n.javascript,\n \"application/json\": n.json || n.javascript,\n \"application/xml\": n.xml,\n \"text/xml\": n.xml,\n \"text/html\": n.html,\n \"text/css\": n.css\n },\n i = {\n \"application/json\": !0,\n \"application/xml\": !0\n };\n\n for (var s in r) {\n if (r[s]) {\n e = e || {};\n var p = i[s] ? a(s) : s;\n e[s] = {\n pattern: RegExp(\"(content-type:\\\\s*\" + p + \"[\\\\s\\\\S]*?)(?:\\\\r?\\\\n|\\\\r){2}[\\\\s\\\\S]*\", \"i\"),\n lookbehind: !0,\n inside: {\n rest: r[s]\n }\n };\n }\n }\n\n e && t.languages.insertBefore(\"http\", \"header-name\", e);\n}(Prism);\n!function (a) {\n var e = /\\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while|var|null|exports|module|open|opens|provides|requires|to|transitive|uses|with)\\b/,\n t = /\\b[A-Z](?:\\w*[a-z]\\w*)?\\b/;\n a.languages.java = a.languages.extend(\"clike\", {\n \"class-name\": [t, /\\b[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])/],\n keyword: e,\n \"function\": [a.languages.clike.function, {\n pattern: /(\\:\\:)[a-z_]\\w*/,\n lookbehind: !0\n }],\n number: /\\b0b[01][01_]*L?\\b|\\b0x[\\da-f_]*\\.?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*\\.?[\\d_]*|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n operator: {\n pattern: /(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])\\2|[?:~]|[-+*\\/%&|^!=<>]=?)/m,\n lookbehind: !0\n }\n }), a.languages.insertBefore(\"java\", \"class-name\", {\n annotation: {\n alias: \"punctuation\",\n pattern: /(^|[^.])@\\w+/,\n lookbehind: !0\n },\n namespace: {\n pattern: /(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)[a-z]\\w*(\\.[a-z]\\w*)+/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n },\n generics: {\n pattern: /<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,\n inside: {\n \"class-name\": t,\n keyword: e,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n }\n });\n}(Prism);\nPrism.languages.json = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n property: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n greedy: !0\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,\n greedy: !0\n },\n number: /-?\\d+\\.?\\d*(e[+-]?\\d+)?/i,\n punctuation: /[{}[\\],]/,\n operator: /:/,\n \"boolean\": /\\b(?:true|false)\\b/,\n \"null\": /\\bnull\\b/\n}, Prism.languages.jsonp = Prism.languages.json;\n!function (e) {\n e.languages.kotlin = e.languages.extend(\"clike\", {\n keyword: {\n 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/,\n lookbehind: !0\n },\n \"function\": [/\\w+(?=\\s*\\()/, {\n pattern: /(\\.)\\w+(?=\\s*\\{)/,\n lookbehind: !0\n }],\n number: /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,\n operator: /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/\n }), delete e.languages.kotlin[\"class-name\"], e.languages.insertBefore(\"kotlin\", \"string\", {\n \"raw-string\": {\n pattern: /(\"\"\"|''')[\\s\\S]*?\\1/,\n alias: \"string\"\n }\n }), e.languages.insertBefore(\"kotlin\", \"keyword\", {\n annotation: {\n pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,\n alias: \"builtin\"\n }\n }), e.languages.insertBefore(\"kotlin\", \"function\", {\n label: {\n pattern: /\\w+@|@\\w+/,\n alias: \"symbol\"\n }\n });\n var n = [{\n pattern: /\\$\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^\\$\\{|\\}$/,\n alias: \"variable\"\n },\n rest: e.languages.kotlin\n }\n }, {\n pattern: /\\$\\w+/,\n alias: \"variable\"\n }];\n e.languages.kotlin.string.inside = e.languages.kotlin[\"raw-string\"].inside = {\n interpolation: n\n };\n}(Prism);\n!function (a) {\n var e = /\\\\(?:[^a-z()[\\]]|[a-z*]+)/i,\n n = {\n \"equation-command\": {\n pattern: e,\n alias: \"regex\"\n }\n };\n a.languages.latex = {\n comment: /%.*/m,\n cdata: {\n pattern: /(\\\\begin\\{((?:verbatim|lstlisting)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: !0\n },\n equation: [{\n pattern: /\\$(?:\\\\[\\s\\S]|[^\\\\$])*\\$|\\\\\\([\\s\\S]*?\\\\\\)|\\\\\\[[\\s\\S]*?\\\\\\]/,\n inside: n,\n alias: \"string\"\n }, {\n pattern: /(\\\\begin\\{((?:equation|math|eqnarray|align|multline|gather)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: !0,\n inside: n,\n alias: \"string\"\n }],\n keyword: {\n pattern: /(\\\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n lookbehind: !0\n },\n url: {\n pattern: /(\\\\url\\{)[^}]+(?=\\})/,\n lookbehind: !0\n },\n headline: {\n pattern: /(\\\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\\*?(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\}(?:\\[[^\\]]+\\])?)/,\n lookbehind: !0,\n alias: \"class-name\"\n },\n \"function\": {\n pattern: e,\n alias: \"selector\"\n },\n punctuation: /[[\\]{}&]/\n };\n}(Prism);\nPrism.languages.markdown = Prism.languages.extend(\"markup\", {}), Prism.languages.insertBefore(\"markdown\", \"prolog\", {\n blockquote: {\n pattern: /^>(?:[\\t ]*>)*/m,\n alias: \"punctuation\"\n },\n code: [{\n pattern: /^(?: {4}|\\t).+/m,\n alias: \"keyword\"\n }, {\n pattern: /``.+?``|`[^`\\n]+`/,\n alias: \"keyword\"\n }, {\n pattern: /^```[\\s\\S]*?^```$/m,\n greedy: !0,\n inside: {\n \"code-block\": {\n pattern: /^(```.*(?:\\r?\\n|\\r))[\\s\\S]+?(?=(?:\\r?\\n|\\r)^```$)/m,\n lookbehind: !0\n },\n \"code-language\": {\n pattern: /^(```).+/,\n lookbehind: !0\n },\n punctuation: /```/\n }\n }],\n title: [{\n pattern: /\\S.*(?:\\r?\\n|\\r)(?:==+|--+)/,\n alias: \"important\",\n inside: {\n punctuation: /==+$|--+$/\n }\n }, {\n pattern: /(^\\s*)#+.+/m,\n lookbehind: !0,\n alias: \"important\",\n inside: {\n punctuation: /^#+|#+$/\n }\n }],\n hr: {\n pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n lookbehind: !0,\n alias: \"punctuation\"\n },\n list: {\n pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n lookbehind: !0,\n alias: \"punctuation\"\n },\n \"url-reference\": {\n pattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n inside: {\n variable: {\n pattern: /^(!?\\[)[^\\]]+/,\n lookbehind: !0\n },\n string: /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n punctuation: /^[\\[\\]!:]|[<>]/\n },\n alias: \"url\"\n },\n bold: {\n pattern: /(^|[^\\\\])(\\*\\*|__)(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^\\*\\*|^__|\\*\\*$|__$/\n }\n },\n italic: {\n pattern: /(^|[^\\\\])([*_])(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^[*_]|[*_]$/\n }\n },\n strike: {\n pattern: /(^|[^\\\\])(~~?)(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^~~?|~~?$/\n }\n },\n url: {\n pattern: /!?\\[[^\\]]+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)| ?\\[[^\\]\\n]*\\])/,\n inside: {\n variable: {\n pattern: /(!?\\[)[^\\]]+(?=\\]$)/,\n lookbehind: !0\n },\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/\n }\n }\n }\n}), Prism.languages.markdown.bold.inside.url = Prism.languages.markdown.url, Prism.languages.markdown.italic.inside.url = Prism.languages.markdown.url, Prism.languages.markdown.strike.inside.url = Prism.languages.markdown.url, Prism.languages.markdown.bold.inside.italic = Prism.languages.markdown.italic, Prism.languages.markdown.bold.inside.strike = Prism.languages.markdown.strike, Prism.languages.markdown.italic.inside.bold = Prism.languages.markdown.bold, Prism.languages.markdown.italic.inside.strike = Prism.languages.markdown.strike, Prism.languages.markdown.strike.inside.bold = Prism.languages.markdown.bold, Prism.languages.markdown.strike.inside.italic = Prism.languages.markdown.italic, Prism.hooks.add(\"after-tokenize\", function (a) {\n function n(a) {\n if (a && \"string\" != typeof a) for (var e = 0, i = a.length; i > e; e++) {\n var r = a[e];\n\n if (\"code\" === r.type) {\n var t = r.content[1],\n s = r.content[3];\n\n if (t && s && \"code-language\" === t.type && \"code-block\" === s.type && \"string\" == typeof t.content) {\n var o = \"language-\" + t.content.trim().split(/\\s+/)[0].toLowerCase();\n s.alias ? \"string\" == typeof s.alias ? s.alias = [s.alias, o] : s.alias.push(o) : s.alias = [o];\n }\n } else n(r.content);\n }\n }\n\n \"markdown\" === a.language && n(a.tokens);\n}), Prism.hooks.add(\"wrap\", function (a) {\n if (\"code-block\" === a.type) {\n for (var n = \"\", e = 0, i = a.classes.length; i > e; e++) {\n var r = a.classes[e],\n t = /language-(\\w+)/.exec(r);\n\n if (t) {\n n = t[1];\n break;\n }\n }\n\n var s = Prism.languages[n];\n\n if (s) {\n var o = a.content.replace(/</g, \"<\").replace(/&/g, \"&\");\n a.content = Prism.highlight(o, s, n);\n }\n }\n}), Prism.languages.md = Prism.languages.markdown;\nPrism.languages.makefile = {\n comment: {\n pattern: /(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,\n lookbehind: !0\n },\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n builtin: /\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,\n symbol: {\n pattern: /^[^:=\\r\\n]+(?=\\s*:(?!=))/m,\n inside: {\n variable: /\\$+(?:[^(){}:#=\\s]+|(?=[({]))/\n }\n },\n variable: /\\$+(?:[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,\n keyword: [/-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/, {\n pattern: /(\\()(?:addsuffix|abspath|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(?:s|list)?)(?=[ \\t])/,\n lookbehind: !0\n }],\n operator: /(?:::|[?:+!])?=|[|@]/,\n punctuation: /[:;(){}]/\n};\nPrism.languages.objectivec = Prism.languages.extend(\"c\", {\n keyword: /\\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n string: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|@\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n operator: /-[->]?|\\+\\+?|!=?|<>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\nPrism.languages.ocaml = {\n comment: /\\(\\*[\\s\\S]*?\\*\\)/,\n string: [{\n pattern: /\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n greedy: !0\n }, {\n pattern: /(['`])(?:\\\\(?:\\d+|x[\\da-f]+|.)|(?!\\1)[^\\\\\\r\\n])\\1/i,\n greedy: !0\n }],\n number: /\\b(?:0x[\\da-f][\\da-f_]+|(?:0[bo])?\\d[\\d_]*\\.?[\\d_]*(?:e[+-]?[\\d_]+)?)/i,\n type: {\n pattern: /\\B['`]\\w*/,\n alias: \"variable\"\n },\n directive: {\n pattern: /\\B#\\w+/,\n alias: \"function\"\n },\n 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|object|of|open|prefix|private|rec|then|sig|struct|to|try|type|val|value|virtual|where|while|with)\\b/,\n \"boolean\": /\\b(?:false|true)\\b/,\n operator: /:=|[=<>@^|&+\\-*\\/$%!?~][!$%&*+\\-.\\/:<=>?@^|~]*|\\b(?:and|asr|land|lor|lxor|lsl|lsr|mod|nor|or)\\b/,\n punctuation: /[(){}\\[\\]|_.,:;]/\n};\nPrism.languages.perl = {\n comment: [{\n pattern: /(^\\s*)=\\w+[\\s\\S]*?=cut.*/m,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: !0\n }],\n string: [{\n pattern: /\\b(?:q|qq|qx|qw)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,\n greedy: !0\n }, {\n pattern: /(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: !0\n }],\n regex: [{\n pattern: /\\b(?:m|qr)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s+([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\\b))/,\n greedy: !0\n }],\n variable: [/[&*$@%]\\{\\^[A-Z]+\\}/, /[&*$@%]\\^[A-Z_]/, /[&*$@%]#?(?=\\{)/, /[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+)+(?:::)*/i, /[&*$@%]\\d+/, /(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/],\n filehandle: {\n pattern: /<(?![<=])\\S*>|\\b_\\b/,\n alias: \"symbol\"\n },\n vstring: {\n pattern: /v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,\n alias: \"string\"\n },\n \"function\": {\n pattern: /sub [a-z0-9_]+/i,\n inside: {\n keyword: /sub/\n }\n },\n keyword: /\\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,\n number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\\d(?:_?\\d)*)?\\.?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,\n operator: /-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\\b/,\n punctuation: /[{}[\\];(),:]/\n};\n!function (e) {\n e.languages.php = e.languages.extend(\"clike\", {\n keyword: /\\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|null|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\\b/i,\n constant: /\\b[A-Z_][A-Z0-9_]*\\b/,\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n }\n }), e.languages.insertBefore(\"php\", \"string\", {\n \"shell-comment\": {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: !0,\n alias: \"comment\"\n }\n }), e.languages.insertBefore(\"php\", \"keyword\", {\n delimiter: {\n pattern: /\\?>|<\\?(?:php|=)?/i,\n alias: \"important\"\n },\n variable: /\\$+(?:\\w+\\b|(?={))/i,\n \"package\": {\n pattern: /(\\\\|namespace\\s+|use\\s+)[\\w\\\\]+/,\n lookbehind: !0,\n inside: {\n punctuation: /\\\\/\n }\n }\n }), e.languages.insertBefore(\"php\", \"operator\", {\n property: {\n pattern: /(->)[\\w]+/,\n lookbehind: !0\n }\n });\n var n = {\n pattern: /{\\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[.+?]|->\\w+)*)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.php\n }\n };\n e.languages.insertBefore(\"php\", \"string\", {\n \"nowdoc-string\": {\n pattern: /<<<'([^']+)'(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\1;/,\n greedy: !0,\n alias: \"string\",\n inside: {\n delimiter: {\n pattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n alias: \"symbol\",\n inside: {\n punctuation: /^<<<'?|[';]$/\n }\n }\n }\n },\n \"heredoc-string\": {\n pattern: /<<<(?:\"([^\"]+)\"(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\1;|([a-z_]\\w*)(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\2;)/i,\n greedy: !0,\n alias: \"string\",\n inside: {\n delimiter: {\n pattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n alias: \"symbol\",\n inside: {\n punctuation: /^<<<\"?|[\";]$/\n }\n },\n interpolation: n\n }\n },\n \"single-quoted-string\": {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n greedy: !0,\n alias: \"string\"\n },\n \"double-quoted-string\": {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: !0,\n alias: \"string\",\n inside: {\n interpolation: n\n }\n }\n }), delete e.languages.php.string, e.hooks.add(\"before-tokenize\", function (n) {\n if (/(?:<\\?php|<\\?)/gi.test(n.code)) {\n var t = /(?:<\\?php|<\\?)[\\s\\S]*?(?:\\?>|$)/gi;\n e.languages[\"markup-templating\"].buildPlaceholders(n, \"php\", t);\n }\n }), e.hooks.add(\"after-tokenize\", function (n) {\n e.languages[\"markup-templating\"].tokenizePlaceholders(n, \"php\");\n });\n}(Prism);\nPrism.languages.insertBefore(\"php\", \"variable\", {\n \"this\": /\\$this\\b/,\n global: /\\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\\b/,\n scope: {\n pattern: /\\b[\\w\\\\]+::/,\n inside: {\n keyword: /static|self|parent/,\n punctuation: /::|\\\\/\n }\n }\n});\nPrism.languages.sql = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: !0\n },\n variable: [{\n pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n greedy: !0\n }, /@[\\w.$]+/],\n string: {\n pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n greedy: !0,\n lookbehind: !0\n },\n \"function\": /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,\n 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(?:_INSERT|COL)?|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|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n \"boolean\": /\\b(?:TRUE|FALSE|NULL)\\b/i,\n number: /\\b0x[\\da-f]+\\b|\\b\\d+\\.?\\d*|\\B\\.\\d+\\b/i,\n operator: /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n punctuation: /[;[\\]()`,.]/\n};\nPrism.languages.processing = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\\b/,\n operator: /<[<=]?|>[>=]?|&&?|\\|\\|?|[%?]|[!=+\\-*\\/]=?/\n}), Prism.languages.insertBefore(\"processing\", \"number\", {\n constant: /\\b(?!XML\\b)[A-Z][A-Z\\d_]+\\b/,\n type: {\n pattern: /\\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\\w*)\\b/,\n alias: \"variable\"\n }\n}), Prism.languages.processing[\"function\"].pattern = /\\w+(?=\\s*\\()/, Prism.languages.processing[\"class-name\"].alias = \"variable\";\nPrism.languages.scss = Prism.languages.extend(\"css\", {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n },\n atrule: {\n pattern: /@[\\w-]+(?:\\([^()]+\\)|[^(])*?(?=\\s+[{;])/,\n inside: {\n rule: /@[\\w-]+/\n }\n },\n url: /(?:[-a-z]+-)*url(?=\\()/i,\n selector: {\n pattern: /(?=\\S)[^@;{}()]?(?:[^@;{}()]|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}]+[:{][^}]+))/m,\n inside: {\n parent: {\n pattern: /&/,\n alias: \"important\"\n },\n placeholder: /%[-\\w]+/,\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n },\n property: {\n pattern: /(?:[\\w-]|\\$[-\\w]+|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,\n inside: {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n }\n}), Prism.languages.insertBefore(\"scss\", \"atrule\", {\n keyword: [/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i, {\n pattern: /( +)(?:from|through)(?= )/,\n lookbehind: !0\n }]\n}), Prism.languages.insertBefore(\"scss\", \"important\", {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n}), Prism.languages.insertBefore(\"scss\", \"function\", {\n placeholder: {\n pattern: /%[-\\w]+/,\n alias: \"selector\"\n },\n statement: {\n pattern: /\\B!(?:default|optional)\\b/i,\n alias: \"keyword\"\n },\n \"boolean\": /\\b(?:true|false)\\b/,\n \"null\": /\\bnull\\b/,\n operator: {\n pattern: /(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|or|not)(?=\\s)/,\n lookbehind: !0\n }\n}), Prism.languages.scss.atrule.inside.rest = Prism.languages.scss;\nPrism.languages.python = {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: !0\n },\n \"string-interpolation\": {\n pattern: /(?:f|rf|fr)(?:(\"\"\"|''')[\\s\\S]+?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,\n lookbehind: !0,\n inside: {\n \"format-spec\": {\n pattern: /(:)[^:(){}]+(?=}$)/,\n lookbehind: !0\n },\n \"conversion-option\": {\n pattern: /![sra](?=[:}]$)/,\n alias: \"punctuation\"\n },\n rest: null\n }\n },\n string: /[\\s\\S]+/\n }\n },\n \"triple-quoted-string\": {\n pattern: /(?:[rub]|rb|br)?(\"\"\"|''')[\\s\\S]+?\\1/i,\n greedy: !0,\n alias: \"string\"\n },\n string: {\n pattern: /(?:[rub]|rb|br)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n greedy: !0\n },\n \"function\": {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n lookbehind: !0\n },\n \"class-name\": {\n pattern: /(\\bclass\\s+)\\w+/i,\n lookbehind: !0\n },\n decorator: {\n pattern: /(^\\s*)@\\w+(?:\\.\\w+)*/i,\n lookbehind: !0,\n alias: [\"annotation\", \"punctuation\"],\n inside: {\n punctuation: /\\./\n }\n },\n keyword: /\\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n builtin: /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n \"boolean\": /\\b(?:True|False|None)\\b/,\n number: /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?j?\\b/i,\n operator: /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n punctuation: /[{}[\\];(),.:]/\n}, Prism.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest = Prism.languages.python, Prism.languages.py = Prism.languages.python;\nPrism.languages.r = {\n comment: /#.*/,\n string: {\n pattern: /(['\"])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n \"percent-operator\": {\n pattern: /%[^%\\s]*%/,\n alias: \"operator\"\n },\n \"boolean\": /\\b(?:TRUE|FALSE)\\b/,\n ellipsis: /\\.\\.(?:\\.|\\d+)/,\n number: [/\\b(?:NaN|Inf)\\b/, /(?:\\b0x[\\dA-Fa-f]+(?:\\.\\d*)?|\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[EePp][+-]?\\d+)?[iL]?/],\n keyword: /\\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\\b/,\n operator: /->?>?|<(?:=|=!]=?|::?|&&?|\\|\\|?|[+*\\/^$@~]/,\n punctuation: /[(){}\\[\\],;]/\n};\n!function (t) {\n var n = t.util.clone(t.languages.javascript);\n t.languages.jsx = t.languages.extend(\"markup\", n), t.languages.jsx.tag.pattern = /<\\/?(?:[\\w.:-]+\\s*(?:\\s+(?:[\\w.:-]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s{'\">=]+|\\{(?:\\{(?:\\{[^}]*\\}|[^{}])*\\}|[^{}])+\\}))?|\\{\\.{3}[a-z_$][\\w$]*(?:\\.[a-z_$][\\w$]*)*\\}))*\\s*\\/?)?>/i, t.languages.jsx.tag.inside.tag.pattern = /^<\\/?[^\\s>\\/]*/i, t.languages.jsx.tag.inside[\"attr-value\"].pattern = /=(?!\\{)(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">]+)/i, t.languages.jsx.tag.inside.tag.inside[\"class-name\"] = /^[A-Z]\\w*$/, t.languages.insertBefore(\"inside\", \"attr-name\", {\n spread: {\n pattern: /\\{\\.{3}[a-z_$][\\w$]*(?:\\.[a-z_$][\\w$]*)*\\}/,\n inside: {\n punctuation: /\\.{3}|[{}.]/,\n \"attr-value\": /\\w+/\n }\n }\n }, t.languages.jsx.tag), t.languages.insertBefore(\"inside\", \"attr-value\", {\n script: {\n pattern: /=(\\{(?:\\{(?:\\{[^}]*\\}|[^}])*\\}|[^}])+\\})/i,\n inside: {\n \"script-punctuation\": {\n pattern: /^=(?={)/,\n alias: \"punctuation\"\n },\n rest: t.languages.jsx\n },\n alias: \"language-javascript\"\n }\n }, t.languages.jsx.tag);\n\n var e = function e(t) {\n return t ? \"string\" == typeof t ? t : \"string\" == typeof t.content ? t.content : t.content.map(e).join(\"\") : \"\";\n },\n a = function a(n) {\n for (var s = [], g = 0; g < n.length; g++) {\n var i = n[g],\n o = !1;\n\n if (\"string\" != typeof i && (\"tag\" === i.type && i.content[0] && \"tag\" === i.content[0].type ? \" 0 && s[s.length - 1].tagName === e(i.content[0].content[1]) && s.pop() : \"/>\" === i.content[i.content.length - 1].content || s.push({\n tagName: e(i.content[0].content[1]),\n openedBraces: 0\n }) : s.length > 0 && \"punctuation\" === i.type && \"{\" === i.content ? s[s.length - 1].openedBraces++ : s.length > 0 && s[s.length - 1].openedBraces > 0 && \"punctuation\" === i.type && \"}\" === i.content ? s[s.length - 1].openedBraces-- : o = !0), (o || \"string\" == typeof i) && s.length > 0 && 0 === s[s.length - 1].openedBraces) {\n var p = e(i);\n g < n.length - 1 && (\"string\" == typeof n[g + 1] || \"plain-text\" === n[g + 1].type) && (p += e(n[g + 1]), n.splice(g + 1, 1)), g > 0 && (\"string\" == typeof n[g - 1] || \"plain-text\" === n[g - 1].type) && (p = e(n[g - 1]) + p, n.splice(g - 1, 1), g--), n[g] = new t.Token(\"plain-text\", p, null, p);\n }\n\n i.content && \"string\" != typeof i.content && a(i.content);\n }\n };\n\n t.hooks.add(\"after-tokenize\", function (t) {\n (\"jsx\" === t.language || \"tsx\" === t.language) && a(t.tokens);\n });\n}(Prism);\nPrism.languages.typescript = Prism.languages.extend(\"javascript\", {\n keyword: /\\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\\b/,\n builtin: /\\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\\b/\n}), Prism.languages.ts = Prism.languages.typescript;\nPrism.languages.reason = Prism.languages.extend(\"clike\", {\n comment: {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: !0\n },\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n greedy: !0\n },\n \"class-name\": /\\b[A-Z]\\w*/,\n keyword: /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/,\n operator: /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:mod|land|lor|lxor|lsl|lsr|asr)\\b/\n}), Prism.languages.insertBefore(\"reason\", \"class-name\", {\n character: {\n pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/,\n alias: \"string\"\n },\n constructor: {\n pattern: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/,\n alias: \"variable\"\n },\n label: {\n pattern: /\\b[a-z]\\w*(?=::)/,\n alias: \"symbol\"\n }\n}), delete Prism.languages.reason.function;\n!function (e) {\n var i = \"(?:\\\\([^|)]+\\\\)|\\\\[[^\\\\]]+\\\\]|\\\\{[^}]+\\\\})+\",\n n = {\n css: {\n pattern: /\\{[^}]+\\}/,\n inside: {\n rest: e.languages.css\n }\n },\n \"class-id\": {\n pattern: /(\\()[^)]+(?=\\))/,\n lookbehind: !0,\n alias: \"attr-value\"\n },\n lang: {\n pattern: /(\\[)[^\\]]+(?=\\])/,\n lookbehind: !0,\n alias: \"attr-value\"\n },\n punctuation: /[\\\\\\/]\\d+|\\S/\n };\n e.languages.textile = e.languages.extend(\"markup\", {\n phrase: {\n pattern: /(^|\\r|\\n)\\S[\\s\\S]*?(?=$|\\r?\\n\\r?\\n|\\r\\r)/,\n lookbehind: !0,\n inside: {\n \"block-tag\": {\n pattern: RegExp(\"^[a-z]\\\\w*(?:\" + i + \"|[<>=()])*\\\\.\"),\n inside: {\n modifier: {\n pattern: RegExp(\"(^[a-z]\\\\w*)(?:\" + i + \"|[<>=()])+(?=\\\\.)\"),\n lookbehind: !0,\n inside: n\n },\n tag: /^[a-z]\\w*/,\n punctuation: /\\.$/\n }\n },\n list: {\n pattern: RegExp(\"^[*#]+(?:\" + i + \")?\\\\s+.+\", \"m\"),\n inside: {\n modifier: {\n pattern: RegExp(\"(^[*#]+)\" + i),\n lookbehind: !0,\n inside: n\n },\n punctuation: /^[*#]+/\n }\n },\n table: {\n pattern: RegExp(\"^(?:(?:\" + i + \"|[<>=()^~])+\\\\.\\\\s*)?(?:\\\\|(?:(?:\" + i + \"|[<>=()^~_]|[\\\\\\\\/]\\\\d+)+\\\\.)?[^|]*)+\\\\|\", \"m\"),\n inside: {\n modifier: {\n pattern: RegExp(\"(^|\\\\|(?:\\\\r?\\\\n|\\\\r)?)(?:\" + i + \"|[<>=()^~_]|[\\\\\\\\/]\\\\d+)+(?=\\\\.)\"),\n lookbehind: !0,\n inside: n\n },\n punctuation: /\\||^\\./\n }\n },\n inline: {\n pattern: RegExp(\"(\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])(?:\" + i + \")?.+?\\\\1\"),\n inside: {\n bold: {\n pattern: RegExp(\"(^(\\\\*\\\\*?)(?:\" + i + \")?).+?(?=\\\\2)\"),\n lookbehind: !0\n },\n italic: {\n pattern: RegExp(\"(^(__?)(?:\" + i + \")?).+?(?=\\\\2)\"),\n lookbehind: !0\n },\n cite: {\n pattern: RegExp(\"(^\\\\?\\\\?(?:\" + i + \")?).+?(?=\\\\?\\\\?)\"),\n lookbehind: !0,\n alias: \"string\"\n },\n code: {\n pattern: RegExp(\"(^@(?:\" + i + \")?).+?(?=@)\"),\n lookbehind: !0,\n alias: \"keyword\"\n },\n inserted: {\n pattern: RegExp(\"(^\\\\+(?:\" + i + \")?).+?(?=\\\\+)\"),\n lookbehind: !0\n },\n deleted: {\n pattern: RegExp(\"(^-(?:\" + i + \")?).+?(?=-)\"),\n lookbehind: !0\n },\n span: {\n pattern: RegExp(\"(^%(?:\" + i + \")?).+?(?=%)\"),\n lookbehind: !0\n },\n modifier: {\n pattern: RegExp(\"(^\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])\" + i),\n lookbehind: !0,\n inside: n\n },\n punctuation: /[*_%?@+\\-^~]+/\n }\n },\n \"link-ref\": {\n pattern: /^\\[[^\\]]+\\]\\S+$/m,\n inside: {\n string: {\n pattern: /(\\[)[^\\]]+(?=\\])/,\n lookbehind: !0\n },\n url: {\n pattern: /(\\])\\S+$/,\n lookbehind: !0\n },\n punctuation: /[\\[\\]]/\n }\n },\n link: {\n pattern: RegExp('\"(?:' + i + ')?[^\"]+\":.+?(?=[^\\\\w/]?(?:\\\\s|$))'),\n inside: {\n text: {\n pattern: RegExp('(^\"(?:' + i + ')?)[^\"]+(?=\")'),\n lookbehind: !0\n },\n modifier: {\n pattern: RegExp('(^\")' + i),\n lookbehind: !0,\n inside: n\n },\n url: {\n pattern: /(:).+/,\n lookbehind: !0\n },\n punctuation: /[\":]/\n }\n },\n image: {\n pattern: RegExp(\"!(?:\" + i + \"|[<>=()])*[^!\\\\s()]+(?:\\\\([^)]+\\\\))?!(?::.+?(?=[^\\\\w/]?(?:\\\\s|$)))?\"),\n inside: {\n source: {\n pattern: RegExp(\"(^!(?:\" + i + \"|[<>=()])*)[^!\\\\s()]+(?:\\\\([^)]+\\\\))?(?=!)\"),\n lookbehind: !0,\n alias: \"url\"\n },\n modifier: {\n pattern: RegExp(\"(^!)(?:\" + i + \"|[<>=()])+\"),\n lookbehind: !0,\n inside: n\n },\n url: {\n pattern: /(:).+/,\n lookbehind: !0\n },\n punctuation: /[!:]/\n }\n },\n footnote: {\n pattern: /\\b\\[\\d+\\]/,\n alias: \"comment\",\n inside: {\n punctuation: /\\[|\\]/\n }\n },\n acronym: {\n pattern: /\\b[A-Z\\d]+\\([^)]+\\)/,\n inside: {\n comment: {\n pattern: /(\\()[^)]+(?=\\))/,\n lookbehind: !0\n },\n punctuation: /[()]/\n }\n },\n mark: {\n pattern: /\\b\\((?:TM|R|C)\\)/,\n alias: \"comment\",\n inside: {\n punctuation: /[()]/\n }\n }\n }\n }\n });\n var t = {\n inline: e.languages.textile.phrase.inside.inline,\n link: e.languages.textile.phrase.inside.link,\n image: e.languages.textile.phrase.inside.image,\n footnote: e.languages.textile.phrase.inside.footnote,\n acronym: e.languages.textile.phrase.inside.acronym,\n mark: e.languages.textile.phrase.inside.mark\n };\n e.languages.textile.tag.pattern = /<\\/?(?!\\d)[a-z0-9]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i, e.languages.textile.phrase.inside.inline.inside.bold.inside = t, e.languages.textile.phrase.inside.inline.inside.italic.inside = t, e.languages.textile.phrase.inside.inline.inside.inserted.inside = t, e.languages.textile.phrase.inside.inline.inside.deleted.inside = t, e.languages.textile.phrase.inside.inline.inside.span.inside = t, e.languages.textile.phrase.inside.table.inside.inline = t.inline, e.languages.textile.phrase.inside.table.inside.link = t.link, e.languages.textile.phrase.inside.table.inside.image = t.image, e.languages.textile.phrase.inside.table.inside.footnote = t.footnote, e.languages.textile.phrase.inside.table.inside.acronym = t.acronym, e.languages.textile.phrase.inside.table.inside.mark = t.mark;\n}(Prism);\nPrism.languages.rust = {\n comment: [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0\n }],\n string: [{\n pattern: /b?r(#*)\"(?:\\\\.|(?!\"\\1)[^\\\\\\r\\n])*\"\\1/,\n greedy: !0\n }, {\n pattern: /b?\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n greedy: !0\n }],\n \"char\": {\n pattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u{(?:[\\da-fA-F]_*){1,6}|.)|[^\\\\\\r\\n\\t'])'/,\n alias: \"string\"\n },\n \"lifetime-annotation\": {\n pattern: /'[^\\s>']+/,\n alias: \"symbol\"\n },\n keyword: /\\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|dyn|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|Self|struct|super|true|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n attribute: {\n pattern: /#!?\\[.+?\\]/,\n greedy: !0,\n alias: \"attr-name\"\n },\n \"function\": [/\\w+(?=\\s*\\()/, /\\w+!(?=\\s*\\(|\\[)/],\n \"macro-rules\": {\n pattern: /\\w+!/,\n alias: \"function\"\n },\n number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\\d(?:_?\\d)*)?\\.?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\\b/,\n \"closure-params\": {\n pattern: /\\|[^|]*\\|(?=\\s*[{-])/,\n inside: {\n punctuation: /[|:,]/,\n operator: /[&*]/\n }\n },\n punctuation: /[{}[\\];(),:]|\\.+|->/,\n operator: /[-+*\\/%!^]=?|=[=>]?|@|&[&=]?|\\|[|=]?|<>?=?/\n};\n!function (e) {\n e.languages.sass = e.languages.extend(\"css\", {\n comment: {\n pattern: /^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t]+.+)*/m,\n lookbehind: !0\n }\n }), e.languages.insertBefore(\"sass\", \"atrule\", {\n \"atrule-line\": {\n pattern: /^(?:[ \\t]*)[@+=].+/m,\n inside: {\n atrule: /(?:@[\\w-]+|[+=])/m\n }\n }\n }), delete e.languages.sass.atrule;\n var t = /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/,\n a = [/[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|or|not)\\b/, {\n pattern: /(\\s+)-(?=\\s)/,\n lookbehind: !0\n }];\n e.languages.insertBefore(\"sass\", \"property\", {\n \"variable-line\": {\n pattern: /^[ \\t]*\\$.+/m,\n inside: {\n punctuation: /:/,\n variable: t,\n operator: a\n }\n },\n \"property-line\": {\n pattern: /^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s]+.*)/m,\n inside: {\n property: [/[^:\\s]+(?=\\s*:)/, {\n pattern: /(:)[^:\\s]+/,\n lookbehind: !0\n }],\n punctuation: /:/,\n variable: t,\n operator: a,\n important: e.languages.sass.important\n }\n }\n }), delete e.languages.sass.property, delete e.languages.sass.important, e.languages.insertBefore(\"sass\", \"punctuation\", {\n selector: {\n pattern: /([ \\t]*)\\S(?:,?[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,?[^,\\r\\n]+)*)*/,\n lookbehind: !0\n }\n });\n}(Prism);\n!function (n) {\n var t = {\n url: /url\\(([\"']?).*?\\1\\)/i,\n string: {\n pattern: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n greedy: !0\n },\n interpolation: null,\n func: null,\n important: /\\B!(?:important|optional)\\b/i,\n keyword: {\n pattern: /(^|\\s+)(?:(?:if|else|for|return|unless)(?=\\s+|$)|@[\\w-]+)/,\n lookbehind: !0\n },\n hexcode: /#[\\da-f]{3,6}/i,\n number: /\\b\\d+(?:\\.\\d+)?%?/,\n \"boolean\": /\\b(?:true|false)\\b/,\n operator: [/~|[+!\\/%<>?=]=?|[-:]=|\\*[*=]?|\\.+|&&|\\|\\||\\B-\\B|\\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\\b/],\n punctuation: /[{}()\\[\\];:,]/\n };\n t.interpolation = {\n pattern: /\\{[^\\r\\n}:]+\\}/,\n alias: \"variable\",\n inside: {\n delimiter: {\n pattern: /^{|}$/,\n alias: \"punctuation\"\n },\n rest: t\n }\n }, t.func = {\n pattern: /[\\w-]+\\([^)]*\\).*/,\n inside: {\n \"function\": /^[^(]+/,\n rest: t\n }\n }, n.languages.stylus = {\n comment: {\n pattern: /(^|[^\\\\])(\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n },\n \"atrule-declaration\": {\n pattern: /(^\\s*)@.+/m,\n lookbehind: !0,\n inside: {\n atrule: /^@[\\w-]+/,\n rest: t\n }\n },\n \"variable-declaration\": {\n pattern: /(^[ \\t]*)[\\w$-]+\\s*.?=[ \\t]*(?:(?:\\{[^}]*\\}|.+)|$)/m,\n lookbehind: !0,\n inside: {\n variable: /^\\S+/,\n rest: t\n }\n },\n statement: {\n pattern: /(^[ \\t]*)(?:if|else|for|return|unless)[ \\t]+.+/m,\n lookbehind: !0,\n inside: {\n keyword: /^\\S+/,\n rest: t\n }\n },\n \"property-declaration\": {\n pattern: /((?:^|\\{)([ \\t]*))(?:[\\w-]|\\{[^}\\r\\n]+\\})+(?:\\s*:\\s*|[ \\t]+)[^{\\r\\n]*(?:;|[^{\\r\\n,](?=$)(?!(\\r?\\n|\\r)(?:\\{|\\2[ \\t]+)))/m,\n lookbehind: !0,\n inside: {\n property: {\n pattern: /^[^\\s:]+/,\n inside: {\n interpolation: t.interpolation\n }\n },\n rest: t\n }\n },\n selector: {\n pattern: /(^[ \\t]*)(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\))?|\\{[^}\\r\\n]+\\})+)(?:(?:\\r?\\n|\\r)(?:\\1(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\))?|\\{[^}\\r\\n]+\\})+)))*(?:,$|\\{|(?=(?:\\r?\\n|\\r)(?:\\{|\\1[ \\t]+)))/m,\n lookbehind: !0,\n inside: {\n interpolation: t.interpolation,\n punctuation: /[{},]/\n }\n },\n func: t.func,\n string: t.string,\n interpolation: t.interpolation,\n punctuation: /[{}()\\[\\];:.]/\n };\n}(Prism);\nPrism.languages.scheme = {\n comment: /;.*/,\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'[^()#'\\s]+/,\n greedy: !0\n },\n character: {\n pattern: /#\\\\(?:u[a-fA-F\\d]{4}|[a-zA-Z]+|\\S)/,\n alias: \"string\"\n },\n keyword: {\n pattern: /(\\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)(?=[()\\s])/,\n lookbehind: !0\n },\n builtin: {\n pattern: /(\\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\\/cc|append|abs|apply|eval)\\b|null\\?|pair\\?|boolean\\?|eof-object\\?|char\\?|procedure\\?|number\\?|port\\?|string\\?|vector\\?|symbol\\?|bytevector\\?)(?=[()\\s])/,\n lookbehind: !0\n },\n number: {\n pattern: /(\\s|[()])[-+]?\\d*\\.?\\d+(?:\\s*[-+]\\s*\\d*\\.?\\d+i)?\\b/,\n lookbehind: !0\n },\n \"boolean\": /#[tf]/,\n operator: {\n pattern: /(\\()(?:[-+*%\\/]|[<>]=?|=>?)/,\n lookbehind: !0\n },\n \"function\": {\n pattern: /(\\()[^()#'\\s]+(?=[()\\s)])/,\n lookbehind: !0\n },\n punctuation: /[()']/\n};\n!function (e) {\n e.languages.pug = {\n comment: {\n pattern: /(^([\\t ]*))\\/\\/.*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)*/m,\n lookbehind: !0\n },\n \"multiline-script\": {\n pattern: /(^([\\t ]*)script\\b.*\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n filter: {\n pattern: /(^([\\t ]*)):.+(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n }\n }\n },\n \"multiline-plain-text\": {\n pattern: /(^([\\t ]*)[\\w\\-#.]+\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0\n },\n markup: {\n pattern: /(^[\\t ]*)<.+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.markup\n }\n },\n doctype: {\n pattern: /((?:^|\\n)[\\t ]*)doctype(?: .+)?/,\n lookbehind: !0\n },\n \"flow-control\": {\n pattern: /(^[\\t ]*)(?:if|unless|else|case|when|default|each|while)\\b(?: .+)?/m,\n lookbehind: !0,\n inside: {\n each: {\n pattern: /^each .+? in\\b/,\n inside: {\n keyword: /\\b(?:each|in)\\b/,\n punctuation: /,/\n }\n },\n branch: {\n pattern: /^(?:if|unless|else|case|when|default|while)\\b/,\n alias: \"keyword\"\n },\n rest: e.languages.javascript\n }\n },\n keyword: {\n pattern: /(^[\\t ]*)(?:block|extends|include|append|prepend)\\b.+/m,\n lookbehind: !0\n },\n mixin: [{\n pattern: /(^[\\t ]*)mixin .+/m,\n lookbehind: !0,\n inside: {\n keyword: /^mixin/,\n \"function\": /\\w+(?=\\s*\\(|\\s*$)/,\n punctuation: /[(),.]/\n }\n }, {\n pattern: /(^[\\t ]*)\\+.+/m,\n lookbehind: !0,\n inside: {\n name: {\n pattern: /^\\+\\w+/,\n alias: \"function\"\n },\n rest: e.languages.javascript\n }\n }],\n script: {\n pattern: /(^[\\t ]*script(?:(?:&[^(]+)?\\([^)]+\\))*[\\t ]+).+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n \"plain-text\": {\n pattern: /(^[\\t ]*(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?[\\t ]+).+/m,\n lookbehind: !0\n },\n tag: {\n pattern: /(^[\\t ]*)(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?:?/m,\n lookbehind: !0,\n inside: {\n attributes: [{\n pattern: /&[^(]+\\([^)]+\\)/,\n inside: {\n rest: e.languages.javascript\n }\n }, {\n pattern: /\\([^)]+\\)/,\n inside: {\n \"attr-value\": {\n pattern: /(=\\s*)(?:\\{[^}]*\\}|[^,)\\r\\n]+)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n \"attr-name\": /[\\w-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[!=(),]+/\n }\n }],\n punctuation: /:/\n }\n },\n code: [{\n pattern: /(^[\\t ]*(?:-|!?=)).+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n }],\n punctuation: /[.\\-!=|]+/\n };\n\n for (var t = \"(^([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r(?!\\\\n))(?:\\\\2[\\\\t ]+.+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+\", n = [{\n filter: \"atpl\",\n language: \"twig\"\n }, {\n filter: \"coffee\",\n language: \"coffeescript\"\n }, \"ejs\", \"handlebars\", \"hogan\", \"less\", \"livescript\", \"markdown\", \"mustache\", \"plates\", {\n filter: \"sass\",\n language: \"scss\"\n }, \"stylus\", \"swig\"], a = {}, i = 0, r = n.length; r > i; i++) {\n var s = n[i];\n s = \"string\" == typeof s ? {\n filter: s,\n language: s\n } : s, e.languages[s.language] && (a[\"filter-\" + s.filter] = {\n pattern: RegExp(t.replace(\"{{filter_name}}\", s.filter), \"m\"),\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n },\n rest: e.languages[s.language]\n }\n });\n }\n\n e.languages.insertBefore(\"pug\", \"filter\", a);\n}(Prism);\nPrism.languages.swift = Prism.languages.extend(\"clike\", {\n string: {\n pattern: /(\"|')(\\\\(?:\\((?:[^()]|\\([^)]+\\))+\\)|\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /\\\\\\((?:[^()]|\\([^)]+\\))+\\)/,\n inside: {\n delimiter: {\n pattern: /^\\\\\\(|\\)$/,\n alias: \"variable\"\n }\n }\n }\n }\n },\n keyword: /\\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\\b/,\n number: /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n constant: /\\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n atrule: /@\\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\\b/,\n builtin: /\\b(?:[A-Z]\\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\\b/\n}), Prism.languages.swift.string.inside.interpolation.inside.rest = Prism.languages.swift;\nPrism.languages.yaml = {\n scalar: {\n pattern: /([\\-:]\\s*(?:![^\\s]+)?[ \\t]*[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)[^\\r\\n]+(?:\\2[^\\r\\n]+)*)/,\n lookbehind: !0,\n alias: \"string\"\n },\n comment: /#.*/,\n key: {\n pattern: /(\\s*(?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:![^\\s]+)?[ \\t]*)[^\\r\\n{[\\]},#\\s]+?(?=\\s*:\\s)/,\n lookbehind: !0,\n alias: \"atrule\"\n },\n directive: {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: !0,\n alias: \"important\"\n },\n datetime: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:\\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*)?)?)(?=[ \\t]*(?:$|,|]|}))/m,\n lookbehind: !0,\n alias: \"number\"\n },\n \"boolean\": {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:true|false)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0,\n alias: \"important\"\n },\n \"null\": {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:null|~)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0,\n alias: \"important\"\n },\n string: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(\"|')(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2(?=[ \\t]*(?:$|,|]|}|\\s*#))/m,\n lookbehind: !0,\n greedy: !0\n },\n number: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+\\.?\\d*|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0\n },\n tag: /![^\\s]+/,\n important: /[&*][\\w]+/,\n punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n}, Prism.languages.yml = Prism.languages.yaml;\n!function (e) {\n e.languages.haml = {\n \"multiline-comment\": {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*))(?:\\/|-#).*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)*/,\n lookbehind: !0,\n alias: \"comment\"\n },\n \"multiline-code\": [{\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*,[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.*,[\\t ]*)*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }, {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*\\|[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.*\\|[\\t ]*)*/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }],\n filter: {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)):[\\w-]+(?:(?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/,\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n }\n }\n },\n markup: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)<.+/,\n lookbehind: !0,\n inside: {\n rest: e.languages.markup\n }\n },\n doctype: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)!!!(?: .+)?/,\n lookbehind: !0\n },\n tag: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[%.#][\\w\\-#.]*[\\w\\-](?:\\([^)]+\\)|\\{(?:\\{[^}]+\\}|[^}])+\\}|\\[[^\\]]+\\])*[\\/<>]*/,\n lookbehind: !0,\n inside: {\n attributes: [{\n pattern: /(^|[^#])\\{(?:\\{[^}]+\\}|[^}])+\\}/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }, {\n pattern: /\\([^)]+\\)/,\n inside: {\n \"attr-value\": {\n pattern: /(=\\s*)(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|[^)\\s]+)/,\n lookbehind: !0\n },\n \"attr-name\": /[\\w:-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[=(),]/\n }\n }, {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n rest: e.languages.ruby\n }\n }],\n punctuation: /[<>]/\n }\n },\n code: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*(?:[~-]|[&!]?=)).+/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n },\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: \"punctuation\"\n },\n rest: e.languages.ruby\n }\n },\n punctuation: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[~=\\-&!]+/,\n lookbehind: !0\n }\n };\n\n for (var t = \"((?:^|\\\\r?\\\\n|\\\\r)([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r)(?:\\\\2[\\\\t ]+.+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+\", r = [\"css\", {\n filter: \"coffee\",\n language: \"coffeescript\"\n }, \"erb\", \"javascript\", \"less\", \"markdown\", \"ruby\", \"scss\", \"textile\"], n = {}, a = 0, i = r.length; i > a; a++) {\n var l = r[a];\n l = \"string\" == typeof l ? {\n filter: l,\n language: l\n } : l, e.languages[l.language] && (n[\"filter-\" + l.filter] = {\n pattern: RegExp(t.replace(\"{{filter_name}}\", l.filter)),\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n },\n rest: e.languages[l.language]\n }\n });\n }\n\n e.languages.insertBefore(\"haml\", \"filter\", n);\n}(Prism);\n!function (e) {\n var d = \"(?:[\\\\w-]+|'[^'\\n\\r]*'|\\\"(?:\\\\.|[^\\\\\\\\\\\"\\r\\n])*\\\")\";\n e.languages.toml = {\n comment: {\n pattern: /#.*/,\n greedy: !0\n },\n table: {\n pattern: RegExp(\"(\\\\[\\\\s*)\" + d + \"(?:\\\\s*\\\\.\\\\s*\" + d + \")*(?=\\\\s*\\\\])\"),\n lookbehind: !0,\n greedy: !0,\n alias: \"class-name\"\n },\n key: {\n pattern: RegExp(\"(^\\\\s*|[{,]\\\\s*)\" + d + \"(?:\\\\s*\\\\.\\\\s*\" + d + \")*(?=\\\\s*=)\", \"m\"),\n lookbehind: !0,\n greedy: !0,\n alias: \"property\"\n },\n string: {\n pattern: /\"\"\"(?:\\\\[\\s\\S]|[^\\\\])*?\"\"\"|'''[\\s\\S]*?'''|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: !0\n },\n date: [{\n pattern: /\\d{4}-\\d{2}-\\d{2}(?:[T\\s]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?/i,\n alias: \"number\"\n }, {\n pattern: /\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?/i,\n alias: \"number\"\n }],\n number: /(?:\\b0(?:x[\\da-zA-Z]+(?:_[\\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\\b|[-+]?\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?\\b|[-+]?(?:inf|nan)\\b/,\n \"boolean\": /\\b(?:true|false)\\b/,\n punctuation: /[.,=[\\]{}]/\n };\n}(Prism);\nPrism.languages.twig = {\n comment: /\\{#[\\s\\S]*?#\\}/,\n tag: {\n pattern: /\\{\\{[\\s\\S]*?\\}\\}|\\{%[\\s\\S]*?%\\}/,\n inside: {\n ld: {\n pattern: /^(?:\\{\\{-?|\\{%-?\\s*\\w+)/,\n inside: {\n punctuation: /^(?:\\{\\{|\\{%)-?/,\n keyword: /\\w+/\n }\n },\n rd: {\n pattern: /-?(?:%\\}|\\}\\})$/,\n inside: {\n punctuation: /.*/\n }\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n inside: {\n punctuation: /^['\"]|['\"]$/\n }\n },\n keyword: /\\b(?:even|if|odd)\\b/,\n \"boolean\": /\\b(?:true|false|null)\\b/,\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n operator: [{\n pattern: /(\\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n lookbehind: !0\n }, /[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/],\n property: /\\b[a-zA-Z_]\\w*\\b/,\n punctuation: /[()\\[\\]{}:.,]/\n }\n },\n other: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n inside: Prism.languages.markup\n }\n};\nvar typescript = Prism.util.clone(Prism.languages.typescript);\nPrism.languages.tsx = Prism.languages.extend(\"jsx\", typescript);\nPrism.languages.vim = {\n string: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\r\\n]|'')*'/,\n comment: /\".*/,\n \"function\": /\\w+(?=\\()/,\n keyword: /\\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|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|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\\b/,\n builtin: /\\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|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|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|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|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|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|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|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|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_WP|t_WS|t_xs|t_ZH|t_ZR)\\b/,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n operator: /\\|\\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\\/%?]|\\b(?:is(?:not)?)\\b/,\n punctuation: /[{}[\\](),;:]/\n};\nPrism.languages[\"visual-basic\"] = {\n comment: {\n pattern: /(?:['‘’]|REM\\b).*/i,\n inside: {\n keyword: /^REM/i\n }\n },\n directive: {\n pattern: /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\\S\\r\\n]_[^\\S\\r\\n]*(?:\\r\\n?|\\n)|.)+/i,\n alias: \"comment\",\n greedy: !0\n },\n string: {\n pattern: /[\"“”](?:[\"“”]{2}|[^\"“”])*[\"“”]C?/i,\n greedy: !0\n },\n date: {\n pattern: /#[^\\S\\r\\n]*(?:\\d+([\\/-])\\d+\\1\\d+(?:[^\\S\\r\\n]+(?:\\d+[^\\S\\r\\n]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[^\\S\\r\\n]*(?:AM|PM))?))?|(?:\\d+[^\\S\\r\\n]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[^\\S\\r\\n]*(?:AM|PM))?))[^\\S\\r\\n]*#/i,\n alias: \"builtin\"\n },\n number: /(?:(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)(?:E[+-]?\\d+)?|&[HO][\\dA-F]+)(?:U?[ILS]|[FRD])?/i,\n \"boolean\": /\\b(?:True|False|Nothing)\\b/i,\n 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|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|TypeOf|U(?:Integer|Long|Short)|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\\b/i,\n operator: [/[+\\-*\\/\\\\^<=>&#@$%!]/, {\n pattern: /([^\\S\\r\\n])_(?=[^\\S\\r\\n]*[\\r\\n])/,\n lookbehind: !0\n }],\n punctuation: /[{}().,:?]/\n}, Prism.languages.vb = Prism.languages[\"visual-basic\"];\nPrism.languages.wasm = {\n comment: [/\\(;[\\s\\S]*?;\\)/, {\n pattern: /;;.*/,\n greedy: !0\n }],\n string: {\n pattern: /\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n greedy: !0\n },\n keyword: [{\n pattern: /\\b(?:align|offset)=/,\n inside: {\n operator: /=/\n }\n }, {\n 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|nearest|neg?|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))?|memory\\.(?:grow|size))\\b/,\n inside: {\n punctuation: /\\./\n }\n }, /\\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\\b/],\n variable: /\\$[\\w!#$%&'*+\\-.\\/:<=>?@\\\\^_`|~]+/i,\n number: /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/,\n punctuation: /[()]/\n};\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n var e = \"line-numbers\",\n t = /\\n(?!$)/g,\n n = function n(e) {\n var n = r(e),\n s = n[\"white-space\"];\n\n if (\"pre-wrap\" === s || \"pre-line\" === s) {\n var l = e.querySelector(\"code\"),\n i = e.querySelector(\".line-numbers-rows\"),\n a = e.querySelector(\".line-numbers-sizer\"),\n o = l.textContent.split(t);\n a || (a = document.createElement(\"span\"), a.className = \"line-numbers-sizer\", l.appendChild(a)), a.style.display = \"block\", o.forEach(function (e, t) {\n a.textContent = e || \"\\n\";\n var n = a.getBoundingClientRect().height;\n i.children[t].style.height = n + \"px\";\n }), a.textContent = \"\", a.style.display = \"none\";\n }\n },\n r = function r(e) {\n return e ? window.getComputedStyle ? getComputedStyle(e) : e.currentStyle || null : null;\n };\n\n window.addEventListener(\"resize\", function () {\n Array.prototype.forEach.call(document.querySelectorAll(\"pre.\" + e), n);\n }), Prism.hooks.add(\"complete\", function (e) {\n if (e.code) {\n var r = e.element.parentNode,\n s = /\\s*\\bline-numbers\\b\\s*/;\n\n if (r && /pre/i.test(r.nodeName) && (s.test(r.className) || s.test(e.element.className)) && !e.element.querySelector(\".line-numbers-rows\")) {\n s.test(e.element.className) && (e.element.className = e.element.className.replace(s, \" \")), s.test(r.className) || (r.className += \" line-numbers\");\n var l,\n i = e.code.match(t),\n a = i ? i.length + 1 : 1,\n o = new Array(a + 1);\n o = o.join(\"\"), l = document.createElement(\"span\"), l.setAttribute(\"aria-hidden\", \"true\"), l.className = \"line-numbers-rows\", l.innerHTML = o, r.hasAttribute(\"data-start\") && (r.style.counterReset = \"linenumber \" + (parseInt(r.getAttribute(\"data-start\"), 10) - 1)), e.element.appendChild(l), n(r), Prism.hooks.run(\"line-numbers\", e);\n }\n }\n }), Prism.hooks.add(\"line-numbers\", function (e) {\n e.plugins = e.plugins || {}, e.plugins.lineNumbers = !0;\n }), Prism.plugins.lineNumbers = {\n getLine: function getLine(t, n) {\n if (\"PRE\" === t.tagName && t.classList.contains(e)) {\n var r = t.querySelector(\".line-numbers-rows\"),\n s = parseInt(t.getAttribute(\"data-start\"), 10) || 1,\n l = s + (r.children.length - 1);\n s > n && (n = s), n > l && (n = l);\n var i = n - s;\n return r.children[i];\n }\n }\n };\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n var t = [],\n e = {},\n n = function n() {};\n\n Prism.plugins.toolbar = {};\n\n var a = Prism.plugins.toolbar.registerButton = function (n, a) {\n var o;\n o = \"function\" == typeof a ? a : function (t) {\n var e;\n return \"function\" == typeof a.onClick ? (e = document.createElement(\"button\"), e.type = \"button\", e.addEventListener(\"click\", function () {\n a.onClick.call(this, t);\n })) : \"string\" == typeof a.url ? (e = document.createElement(\"a\"), e.href = a.url) : e = document.createElement(\"span\"), e.textContent = a.text, e;\n }, t.push(e[n] = o);\n },\n o = Prism.plugins.toolbar.hook = function (a) {\n var o = a.element.parentNode;\n\n if (o && /pre/i.test(o.nodeName) && !o.parentNode.classList.contains(\"code-toolbar\")) {\n var r = document.createElement(\"div\");\n r.classList.add(\"code-toolbar\"), o.parentNode.insertBefore(r, o), r.appendChild(o);\n var i = document.createElement(\"div\");\n i.classList.add(\"toolbar\"), document.body.hasAttribute(\"data-toolbar-order\") && (t = document.body.getAttribute(\"data-toolbar-order\").split(\",\").map(function (t) {\n return e[t] || n;\n })), t.forEach(function (t) {\n var e = t(a);\n\n if (e) {\n var n = document.createElement(\"div\");\n n.classList.add(\"toolbar-item\"), n.appendChild(e), i.appendChild(n);\n }\n }), r.appendChild(i);\n }\n };\n\n a(\"label\", function (t) {\n var e = t.element.parentNode;\n\n if (e && /pre/i.test(e.nodeName) && e.hasAttribute(\"data-label\")) {\n var n,\n a,\n o = e.getAttribute(\"data-label\");\n\n try {\n a = document.querySelector(\"template#\" + o);\n } catch (r) {}\n\n return a ? n = a.content : (e.hasAttribute(\"data-url\") ? (n = document.createElement(\"a\"), n.href = e.getAttribute(\"data-url\")) : n = document.createElement(\"span\"), n.textContent = o), n;\n }\n }), Prism.hooks.add(\"complete\", o);\n }\n}();\n!function () {\n function t(t) {\n \"function\" != typeof t || e(t) || r.push(t);\n }\n\n function e(t) {\n return \"function\" == typeof t ? r.filter(function (e) {\n return e.valueOf() === t.valueOf();\n })[0] : \"string\" == typeof t && t.length > 0 ? r.filter(function (e) {\n return e.name === t;\n })[0] : null;\n }\n\n function n(t) {\n if (\"string\" == typeof t && (t = e(t)), \"function\" == typeof t) {\n var n = r.indexOf(t);\n n >= 0 && r.splice(n, 1);\n }\n }\n\n function a() {\n Array.prototype.slice.call(document.querySelectorAll(\"pre[data-jsonp]\")).forEach(function (t) {\n t.textContent = \"\";\n var e = document.createElement(\"code\");\n e.textContent = i, t.appendChild(e);\n var n = t.getAttribute(\"data-adapter\"),\n a = null;\n\n if (n) {\n if (\"function\" != typeof window[n]) return e.textContent = \"JSONP adapter function '\" + n + \"' doesn't exist\", void 0;\n a = window[n];\n }\n\n var u = \"prismjsonp\" + o++,\n f = document.createElement(\"a\"),\n l = f.href = t.getAttribute(\"data-jsonp\");\n f.href += (f.search ? \"&\" : \"?\") + (t.getAttribute(\"data-callback\") || \"callback\") + \"=\" + u;\n var s = setTimeout(function () {\n e.textContent === i && (e.textContent = \"Timeout loading '\" + l + \"'\");\n }, 5e3),\n d = document.createElement(\"script\");\n d.src = f.href, window[u] = function (n) {\n document.head.removeChild(d), clearTimeout(s), delete window[u];\n var o = \"\";\n if (a) o = a(n, t);else for (var i in r) {\n if (o = r[i](n, t), null !== o) break;\n }\n null === o ? e.textContent = \"Cannot parse response (perhaps you need an adapter function?)\" : (e.textContent = o, Prism.highlightElement(e));\n }, document.head.appendChild(d);\n });\n }\n\n if (self.Prism && self.document && document.querySelectorAll && [].filter) {\n var r = [];\n Prism.plugins.jsonphighlight = {\n registerAdapter: t,\n removeAdapter: n,\n highlight: a\n }, t(function (t) {\n if (t && t.meta && t.data) {\n if (t.meta.status && t.meta.status >= 400) return \"Error: \" + (t.data.message || t.meta.status);\n if (\"string\" == typeof t.data.content) return \"function\" == typeof atob ? atob(t.data.content.replace(/\\s/g, \"\")) : \"Your browser cannot decode base64\";\n }\n\n return null;\n }), t(function (t, e) {\n if (t && t.meta && t.data && t.data.files) {\n if (t.meta.status && t.meta.status >= 400) return \"Error: \" + (t.data.message || t.meta.status);\n var n = e.getAttribute(\"data-filename\");\n if (null == n) for (var a in t.data.files) {\n if (t.data.files.hasOwnProperty(a)) {\n n = a;\n break;\n }\n }\n return void 0 !== t.data.files[n] ? t.data.files[n].content : \"Error: unknown or missing gist file \" + n;\n }\n\n return null;\n }), t(function (t) {\n return t && t.node && \"string\" == typeof t.data ? t.data : null;\n });\n var o = 0,\n i = \"Loading…\";\n a();\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n var e = /(?:^|\\s)command-line(?:\\s|$)/;\n Prism.hooks.add(\"before-highlight\", function (t) {\n var a = t.vars = t.vars || {},\n n = a[\"command-line\"] = a[\"command-line\"] || {};\n if (n.complete || !t.code) return n.complete = !0, void 0;\n var r = t.element.parentNode;\n if (!r || !/pre/i.test(r.nodeName) || !e.test(r.className) && !e.test(t.element.className)) return n.complete = !0, void 0;\n if (t.element.querySelector(\".command-line-prompt\")) return n.complete = !0, void 0;\n var o = t.code.split(\"\\n\");\n n.numberOfLines = o.length;\n var s = n.outputLines = [],\n i = r.getAttribute(\"data-output\"),\n l = r.getAttribute(\"data-filter-output\");\n\n if (i || \"\" === i) {\n i = i.split(\",\");\n\n for (var m = 0; m < i.length; m++) {\n var d = i[m].split(\"-\"),\n p = parseInt(d[0], 10),\n c = 2 === d.length ? parseInt(d[1], 10) : p;\n\n if (!isNaN(p) && !isNaN(c)) {\n 1 > p && (p = 1), c > o.length && (c = o.length), p--, c--;\n\n for (var u = p; c >= u; u++) {\n s[u] = o[u], o[u] = \"\";\n }\n }\n }\n } else if (l) for (var m = 0; m < o.length; m++) {\n 0 === o[m].indexOf(l) && (s[m] = o[m].slice(l.length), o[m] = \"\");\n }\n\n t.code = o.join(\"\\n\");\n }), Prism.hooks.add(\"before-insert\", function (e) {\n var t = e.vars = e.vars || {},\n a = t[\"command-line\"] = t[\"command-line\"] || {};\n\n if (!a.complete) {\n for (var n = e.highlightedCode.split(\"\\n\"), r = 0; r < a.outputLines.length; r++) {\n a.outputLines.hasOwnProperty(r) && (n[r] = a.outputLines[r]);\n }\n\n e.highlightedCode = n.join(\"\\n\");\n }\n }), Prism.hooks.add(\"complete\", function (t) {\n var a = t.vars = t.vars || {},\n n = a[\"command-line\"] = a[\"command-line\"] || {};\n\n if (!n.complete) {\n var r = t.element.parentNode;\n e.test(t.element.className) && (t.element.className = t.element.className.replace(e, \" \")), e.test(r.className) || (r.className += \" command-line\");\n\n var o = function o(e, t) {\n return (r.getAttribute(e) || t).replace(/\"/g, \""\");\n },\n s = new Array(n.numberOfLines + 1),\n i = o(\"data-prompt\", \"\");\n\n if (\"\" !== i) s = s.join('');else {\n var l = o(\"data-user\", \"user\"),\n m = o(\"data-host\", \"localhost\");\n s = s.join('');\n }\n var d = document.createElement(\"span\");\n d.className = \"command-line-prompt\", d.innerHTML = s;\n\n for (var p = 0; p < n.outputLines.length; p++) {\n if (n.outputLines.hasOwnProperty(p)) {\n var c = d.children[p];\n c.removeAttribute(\"data-user\"), c.removeAttribute(\"data-host\"), c.removeAttribute(\"data-prompt\");\n }\n }\n\n t.element.insertBefore(d, t.element.firstChild), n.complete = !0;\n }\n });\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n if (!Prism.plugins.toolbar) return console.warn(\"Copy to Clipboard plugin loaded before Toolbar plugin.\"), void 0;\n var o = window.ClipboardJS || void 0;\n o || \"function\" != \"function\" || (o = __webpack_require__(/*! clipboard */ \"./node_modules/clipboard/dist/clipboard.js\"));\n var e = [];\n\n if (!o) {\n var t = document.createElement(\"script\"),\n n = document.querySelector(\"head\");\n t.onload = function () {\n if (o = window.ClipboardJS) for (; e.length;) {\n e.pop()();\n }\n }, t.src = \"https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js\", n.appendChild(t);\n }\n\n Prism.plugins.toolbar.registerButton(\"copy-to-clipboard\", function (t) {\n function n() {\n var e = new o(i, {\n text: function text() {\n return t.code;\n }\n });\n e.on(\"success\", function () {\n i.textContent = \"Copied!\", r();\n }), e.on(\"error\", function () {\n i.textContent = \"Press Ctrl+C to copy\", r();\n });\n }\n\n function r() {\n setTimeout(function () {\n i.textContent = \"Copy\";\n }, 5e3);\n }\n\n var i = document.createElement(\"a\");\n return i.textContent = \"Copy\", o ? n() : e.push(n), i;\n });\n }\n}();\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./assets/js/prism.js?"); + +/***/ }), + +/***/ "./node_modules/clipboard/dist/clipboard.js": +/*!**************************************************!*\ + !*** ./node_modules/clipboard/dist/clipboard.js ***! + \**************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/*!\n * clipboard.js v2.0.6\n * https://clipboardjs.com/\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 6);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(3);\nvar delegate = __webpack_require__(4);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(5);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(0);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n\n// CONCATENATED MODULE: ./src/clipboard-action.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n/**\n * Inner class which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n */\n\nvar clipboard_action_ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n\n /**\n * Decides which selection strategy is going to be applied based\n * on the existence of `text` and `target` properties.\n */\n\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n */\n\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = select_default()(this.fakeElem);\n this.copyText();\n }\n\n /**\n * Only removes the fake element after another click event, that way\n * a user can hit `Ctrl+C` to copy because selection still exists.\n */\n\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n\n /**\n * Selects the content from element passed on `target` property.\n */\n\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = select_default()(this.target);\n this.copyText();\n }\n\n /**\n * Executes the copy operation based on the current selection.\n */\n\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n\n /**\n * Fires an event based on the copy operation result.\n * @param {Boolean} succeeded\n */\n\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n\n /**\n * Moves focus away from `target` and back to the trigger, removes current selection.\n */\n\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n document.activeElement.blur();\n window.getSelection().removeAllRanges();\n }\n\n /**\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\n * @param {String} action\n */\n\n }, {\n key: 'destroy',\n\n\n /**\n * Destroy lifecycle.\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n\n /**\n * Gets the `action` property.\n * @return {String}\n */\n ,\n get: function get() {\n return this._action;\n }\n\n /**\n * Sets the `target` property using an element\n * that will be have its content copied.\n * @param {Element} target\n */\n\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n\n /**\n * Gets the `target` property.\n * @return {String|HTMLElement}\n */\n ,\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n}();\n\n/* harmony default export */ var clipboard_action = (clipboard_action_ClipboardAction);\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(1);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(2);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n\n// CONCATENATED MODULE: ./src/clipboard.js\nvar clipboard_typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar clipboard_createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction clipboard_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\nvar clipboard_Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n clipboard_classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n clipboard_createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new clipboard_action({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: 'defaultText',\n\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n}(tiny_emitter_default.a);\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\n\nfunction getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n\n/* harmony default export */ var clipboard = __webpack_exports__[\"default\"] = (clipboard_Clipboard);\n\n/***/ })\n/******/ ])[\"default\"];\n});\n\n//# sourceURL=webpack:///./node_modules/clipboard/dist/clipboard.js?"); + +/***/ }), + +/***/ "./node_modules/webpack/buildin/global.js": +/*!***********************************!*\ + !*** (webpack)/buildin/global.js ***! + \***********************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack:///(webpack)/buildin/global.js?"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/static/assets/style.css b/static/assets/style.css index a3d020b..e681169 100644 --- a/static/assets/style.css +++ b/static/assets/style.css @@ -1 +1 @@ -@font-face{font-family:Inter;font-style:normal;font-weight:400;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(2505c0d4b34ffca98f8f8852e24928eb.woff2) format("woff2"),url(fc49d131f795b4d48f261495d4caef09.woff) format("woff");font-display:swap}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(1b084c69c69a1b3a2618caed68164471.woff2) format("woff2"),url(fa701b4b599a803effc38485e2957ca3.woff) format("woff");font-display:swap}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(5b53c519b3184a74a98ca6125f513c9d.woff2) format("woff2"),url(cc6a88688869161eb83642d9393a0c2d.woff) format("woff");font-display:swap}@font-face{font-family:Inter;font-style:italic;font-weight:600;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(f25066e37f191178ef56ae1f2f901f92.woff2) format("woff2"),url(642b4659478701575989a8926822356b.woff) format("woff");font-display:swap}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(3c747ac4004be3a30e9807662caebaa0.woff2) format("woff2"),url(c7c0091f1b2b06064572ec0016f1e142.woff) format("woff");font-display:swap}@font-face{font-family:Inter;font-style:italic;font-weight:800;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(86b501b4ef9d20d70996b196b69dc1e7.woff2) format("woff2"),url(aa42f3d22ea9fae2b945f33b94d180ea.woff) format("woff");font-display:swap}:root{--background:#fff;--background-secondary:#eaeaea;--header:#fafafa;--color:#222;--color-secondary:#999;--border-color:#dcdcdc;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px)}body.dark-theme{--background:#292a2d;--background-secondary:#3b3d42;--header:#252627;--color:#a9a9b3;--color-secondary:#73747b;--border-color:#4a4b50}.button-container{display:table;margin-left:auto;margin-right:auto}.button,a.button,button{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 18px;margin-bottom:5px;background:#eaeaea;background:var(--background-secondary);text-decoration:none;text-align:center;font-weight:500;border-radius:8px;border:1px solid transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.button.outline,a.button.outline,button.outline{background:transparent;border-color:#eaeaea;border-color:var(--background-secondary);box-shadow:none;padding:8px 18px}.button.outline :hover,a.button.outline :hover,button.outline :hover{transform:none;box-shadow:none}.button.primary,a.button.primary,button.primary{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.button.primary:hover,a.button.primary:hover,button.primary:hover{box-shadow:0 2px 6px rgba(50,50,93,.21),0 1px 3px rgba(0,0,0,.08)}.button.link,a.button.link,button.link{background:none;font-size:1rem}.button.small,a.button.small,button.small{font-size:.8rem}.button.wide,a.button.wide,button.wide{min-width:200px;padding:14px 24px}a.read-more,a.read-more:active,a.read-more:hover{display:inline-flex;background:none;box-shadow:none;padding:0;margin:20px 0;font-weight:700}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{display:inline-flex;padding:3px 8px;margin-bottom:5px;background:#eaeaea;background:var(--background-secondary);text-decoration:none;text-align:center;font-size:13px;font-weight:500;border-radius:8px;border:1px solid transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.code-toolbar .toolbar-item a,.header{position:relative;align-items:center;justify-content:center}.header{background:#fafafa;background:var(--header);display:flex;padding:20px}.header__right{display:flex;flex-direction:row;align-items:center}@media (max-width:683px){.header__right{flex-direction:row-reverse}}.header__inner{justify-content:space-between;margin:0 auto;width:760px;max-width:100%}.header__inner,.theme-toggle{display:flex;align-items:center}.theme-toggle{justify-content:center;line-height:1;cursor:pointer}.theme-toggler{fill:currentColor}.logo{display:flex;align-items:center;flex:0 0 auto;text-decoration:none;font-weight:700}.logo img{height:44px}.logo__mark{display:inline-flex;align-items:center;margin-right:5px}.logo__mark .greater-icon{width:.95rem;height:100%}.logo__mark .greater-icon path{stroke:currentColor;stroke-width:8px}.logo__text{font-size:1.125rem}.logo__cursor{display:inline-block;width:10px;height:1rem;background:#fe5186;margin-left:5px;border-radius:1px;-webkit-animation:cursor 1s infinite;animation:cursor 1s infinite}@-webkit-keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}.menu{--color:rgba(0,0,0,0.12);--shadow:0 8px 20px var(--color);border-right:1px solid;margin-right:18px;padding-right:24px;font-weight:500}@media (max-width:683px){.menu{position:absolute;background:#fafafa;background:var(--header);box-shadow:var(--shadow);margin:0;padding:5px;list-style:none;border-radius:5px;z-index:99;border:none;top:50px;right:10px}}.menu a{text-decoration:none}.menu__inner{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;list-style:none;margin:0;padding:0}@media (max-width:683px){.menu__inner--desktop{display:none}}.menu__inner--mobile{display:none}@media (max-width:683px){.menu__inner--mobile{display:block}}.menu__inner li{text-align:left;flex:0 0 auto}.menu__inner li:not(:first-of-type){margin-left:20px}@media (max-width:683px){.menu__inner{flex-direction:column;align-items:flex-start;padding:0}.menu__inner li{margin-left:0!important;padding:10px}}.menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.menu__sub-inner:not(:only-child){margin-left:20px}.menu__sub-inner-more{position:absolute;background:#fafafa;background:var(--header);box-shadow:var(--shadow);margin:0;padding:5px;list-style:none;border-radius:5px;z-index:99;top:35px;left:0}.menu__sub-inner-more-trigger{display:inline-flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.menu__sub-inner-more-trigger-icon{display:inline-flex;align-items:center;margin-left:3px;transform:rotate(90deg);line-height:1}.menu__sub-inner-more-trigger-icon .greater-icon{width:.95rem;height:100%}.menu__sub-inner-more-trigger-icon .greater-icon path{stroke:currentColor;stroke-width:5px}.menu__inner .menu__sub-inner-more li{margin-left:0;white-space:nowrap}.menu__inner .menu__sub-inner-more li:hover{background:rgba(0,0,0,.05);border-radius:3px;cursor:pointer}.menu__sub-inner-more li a{width:100%;display:inline-block;padding:10px}.menu-trigger{width:24px;height:24px;fill:currentColor;margin-left:10px;cursor:pointer}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Roboto,Segoe UI,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:500;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";line-height:1.54;background-color:#fff;background-color:var(--background);color:#222;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:683px){body{font-size:1rem}}h1,h2,h3,h4,h5,h6{line-height:1.3}h1{font-size:2.625rem}h2{font-size:1.625rem}h3{font-size:1.375rem}h4{font-size:1.125rem}@media (max-width:683px){h1{font-size:2rem}h2{font-size:1.4rem}h3{font-size:1.15rem}h4{font-size:1.125rem}}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:.9rem;margin-top:5px;opacity:.8}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;background:#eaeaea;background:var(--background-secondary);padding:1px 6px;margin:0 2px;border-radius:5px;font-size:.9rem;font-weight:400}code code,code kbd,kbd code,kbd kbd{background:transparent;padding:0;margin:0}pre{background:#212020;padding:20px;border-radius:8px;font-size:.9rem;overflow:auto}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;color:#ccc;margin:0;padding:0;font-size:inherit}blockquote{border-left:2px solid;margin:40px;padding:10px 20px}@media (max-width:683px){blockquote{margin:10px;padding:10px}}blockquote:before{content:"”";font-family:Georgia,serif;font-size:3.875rem;position:absolute;left:-40px;top:-20px}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0;border-radius:5px}table,td,th{border:1px solid;padding:10px}th{background:#eaeaea;background:var(--background-secondary)}ol,ul{margin-left:40px;padding:0}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{flex-direction:column;text-align:center}.container,.content{display:flex;justify-content:center}.content{flex-direction:column;flex:1 auto;align-items:center;margin:50px 0}@media (max-width:683px){.content{margin-top:0}}hr{width:100%;border:none;background:#dcdcdc;background:var(--border-color);height:1px}.hidden{display:none}.framed{padding:20px;border-radius:10px;border:1px solid #dcdcdc;border:1px solid var(--border-color);max-width:800px}blockquote.twitter-tweet{background:rgba(44,124,186,.1);border:none;padding:30px;color:inherit;font-size:inherit;line-height:inherit;border-radius:8px}.post{width:100%;max-width:800px;text-align:left;padding:20px;margin:20px auto}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px}@media (max-width:683px){.post-meta{font-size:.85rem}}.post-title{font-size:2.625rem;margin:0 0 20px}@media (max-width:683px){.post-title{font-size:2rem}}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{margin:40px -50px;width:860px;max-width:860px}.post-cover img{border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.15)}@media (max-width:899px){.post-cover{margin:20px 0;width:100%}}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:#fff;background:var(--background);color:#999;color:var(--color-secondary);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none;font-weight:700}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;background:#eaeaea;background:var(--background-secondary);font-size:1rem;font-weight:500;border-radius:8px;max-width:40%;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.footer{padding:40px 20px;flex-grow:0;color:#999;color:var(--color-secondary)}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0 auto;width:760px;max-width:100%}@media (max-width:899px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{display:flex;flex-direction:row;align-items:center;font-size:1rem}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>:first-child:not(:only-child){border-right:1px solid;padding-right:10px;margin-right:10px}@media (max-width:899px){.footer .copyright>:first-child:not(:only-child){border:none;padding:0;margin:0}}@media (max-width:899px){.footer .copyright{flex-direction:column;margin-top:10px}}.terms{width:100%;max-width:800px;text-align:left;padding:20px;margin:0 auto}.terms__list{padding:0 0 0 20px;margin:0}.terms__list a{text-decoration:none}.terms__term{margin-bottom:15px}.terms__term-count{background:#eaeaea;background:var(--background-secondary);font-size:12px;margin-left:5px;padding:2px 10px;border-radius:5px;text-decoration:none}.archive{width:100%;max-width:800px;text-align:left;padding:20px;margin:0 auto}.archive__group-month{display:flex;align-items:flex-start;padding:10px 0}@media (max-width:683px){.archive__group-month{flex-direction:column}}.archive__group-month:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__group-year{margin-top:40px}@media (max-width:683px){.archive__group-year{margin-top:20px}}.archive__group-year:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__group-year-header{margin:10px 0}.archive__group-month-header{margin:25px 0;width:200px;opacity:.5}@media (max-width:683px){.archive__group-month-header{margin:10px 0 0}}.archive__group-posts{width:100%}.archive__post{padding:20px 0}.archive__post:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__post-title{margin:5px 0}.archive__post-title a{display:block;text-decoration:none}code[class*=language-],pre[class*=language-]{background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-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:#212020!important;color:inherit!important;border-radius:8px}: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:hsla(0,0%,100%,.4)}.token.punctuation{color:#a9a9b3}.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}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar>.toolbar .toolbar-item{display:inline-block}div.code-toolbar>.toolbar a{cursor:pointer}div.code-toolbar>.toolbar button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:hsla(0,0%,87.8%,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.2);border-radius:.5em}div.code-toolbar>.toolbar a:focus,div.code-toolbar>.toolbar a:hover,div.code-toolbar>.toolbar button:focus,div.code-toolbar>.toolbar button:hover,div.code-toolbar>.toolbar span:focus,div.code-toolbar>.toolbar span:hover{color:inherit;text-decoration:none}.command-line-prompt{border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.command-line-prompt>span:before{color:#999;content:" ";display:block;padding-right:.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user=root]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)}.collapsable-code{position:relative;width:100%;margin:40px 0}.collapsable-code input[type=checkbox]{position:absolute;visibility:hidden}.collapsable-code input[type=checkbox]:checked~.code-toolbar pre,.collapsable-code input[type=checkbox]:checked~pre{height:0;padding:0;border-top:none}.collapsable-code input[type=checkbox]:checked~.code-toolbar{padding:0;border-top:none}.collapsable-code input[type=checkbox]:checked~.code-toolbar .toolbar{display:none}.collapsable-code input[type=checkbox]:checked~label{border-radius:10px}.collapsable-code input[type=checkbox]:checked~label .collapsable-code__toggle:after{content:attr(data-label-expand)}.collapsable-code label{position:relative;display:flex;justify-content:space-between;background:#eaeaea;background:var(--background-secondary);padding:10px;border-top-left-radius:10px;border-top-right-radius:10px;min-width:30px;min-height:30px;margin:0;cursor:pointer}.collapsable-code__title{flex:1;color:#222;color:var(--color);padding:3px 10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapsable-code__language{background:#fff;background:var(--background);color:#222;color:var(--color);border-radius:10px;padding:3px 10px}.collapsable-code__toggle{color:#222;color:var(--color);font-size:16px;padding:3px 10px}.collapsable-code__toggle:after{content:attr(data-label-collapse)}.collapsable-code pre{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.collapsable-code code:first-line,.collapsable-code pre:first-line{line-height:0}.collapsable-code .code-toolbar{margin:0} +@font-face{font-family:Inter;font-style:normal;font-weight:400;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(Inter-Regular.woff2) format("woff2"),url(Inter-Regular.woff) format("woff");font-display:swap}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(Inter-Italic.woff2) format("woff2"),url(Inter-Italic.woff) format("woff");font-display:swap}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(Inter-Medium.woff2) format("woff2"),url(Inter-Medium.woff) format("woff");font-display:swap}@font-face{font-family:Inter;font-style:italic;font-weight:600;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(Inter-MediumItalic.woff2) format("woff2"),url(Inter-MediumItalic.woff) format("woff");font-display:swap}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(Inter-Bold.woff2) format("woff2"),url(Inter-Bold.woff) format("woff");font-display:swap}@font-face{font-family:Inter;font-style:italic;font-weight:800;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";src:url(Inter-BoldItalic.woff2) format("woff2"),url(Inter-BoldItalic.woff) format("woff");font-display:swap}:root{--background:#fff;--background-secondary:#eaeaea;--header:#fafafa;--color:#222;--color-secondary:#999;--border-color:#dcdcdc;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px)}body.dark-theme{--background:#292a2d;--background-secondary:#3b3d42;--header:#252627;--color:#a9a9b3;--color-secondary:#73747b;--border-color:#4a4b50}.button-container{display:table;margin-left:auto;margin-right:auto}.button,a.button,button{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 18px;margin-bottom:5px;background:#eaeaea;background:var(--background-secondary);text-decoration:none;text-align:center;font-weight:500;border-radius:8px;border:1px solid transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.button.outline,a.button.outline,button.outline{background:transparent;border-color:#eaeaea;border-color:var(--background-secondary);box-shadow:none;padding:8px 18px}.button.outline :hover,a.button.outline :hover,button.outline :hover{transform:none;box-shadow:none}.button.primary,a.button.primary,button.primary{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.button.primary:hover,a.button.primary:hover,button.primary:hover{box-shadow:0 2px 6px rgba(50,50,93,.21),0 1px 3px rgba(0,0,0,.08)}.button.link,a.button.link,button.link{background:none;font-size:1rem}.button.small,a.button.small,button.small{font-size:.8rem}.button.wide,a.button.wide,button.wide{min-width:200px;padding:14px 24px}a.read-more,a.read-more:active,a.read-more:hover{display:inline-flex;background:none;box-shadow:none;padding:0;margin:20px 0;font-weight:700}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{display:inline-flex;padding:3px 8px;margin-bottom:5px;background:#eaeaea;background:var(--background-secondary);text-decoration:none;text-align:center;font-size:13px;font-weight:500;border-radius:8px;border:1px solid transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.code-toolbar .toolbar-item a,.header{position:relative;align-items:center;justify-content:center}.header{background:#fafafa;background:var(--header);display:flex;padding:20px}.header__right{display:flex;flex-direction:row;align-items:center}@media (max-width:683px){.header__right{flex-direction:row-reverse}}.header__inner{justify-content:space-between;margin:0 auto;width:760px;max-width:100%}.header__inner,.theme-toggle{display:flex;align-items:center}.theme-toggle{justify-content:center;line-height:1;cursor:pointer}.theme-toggler{fill:currentColor}.logo{display:flex;align-items:center;flex:0 0 auto;text-decoration:none;font-weight:700}.logo img{height:44px}.logo__mark{display:inline-flex;align-items:center;margin-right:5px}.logo__mark .greater-icon{width:.95rem;height:100%}.logo__mark .greater-icon path{stroke:currentColor;stroke-width:8px}.logo__text{font-size:1.125rem}.logo__cursor{display:inline-block;width:10px;height:1rem;background:#fe5186;margin-left:5px;border-radius:1px;-webkit-animation:cursor 1s infinite;animation:cursor 1s infinite}@-webkit-keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}.menu{--color:rgba(0,0,0,0.12);--shadow:0 8px 20px var(--color);border-right:1px solid;margin-right:18px;padding-right:24px;font-weight:500}@media (max-width:683px){.menu{position:absolute;background:#fafafa;background:var(--header);box-shadow:var(--shadow);margin:0;padding:5px;list-style:none;border-radius:5px;z-index:99;border:none;top:50px;right:10px}}.menu a{text-decoration:none}.menu__inner{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;list-style:none;margin:0;padding:0}@media (max-width:683px){.menu__inner--desktop{display:none}}.menu__inner--mobile{display:none}@media (max-width:683px){.menu__inner--mobile{display:block}}.menu__inner li{text-align:left;flex:0 0 auto}.menu__inner li:not(:first-of-type){margin-left:20px}@media (max-width:683px){.menu__inner{flex-direction:column;align-items:flex-start;padding:0}.menu__inner li{margin-left:0!important;padding:10px}}.menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.menu__sub-inner:not(:only-child){margin-left:20px}.menu__sub-inner-more{position:absolute;background:#fafafa;background:var(--header);box-shadow:var(--shadow);margin:0;padding:5px;list-style:none;border-radius:5px;z-index:99;top:35px;left:0}.menu__sub-inner-more-trigger{display:inline-flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.menu__sub-inner-more-trigger-icon{display:inline-flex;align-items:center;margin-left:3px;transform:rotate(90deg);line-height:1}.menu__sub-inner-more-trigger-icon .greater-icon{width:.95rem;height:100%}.menu__sub-inner-more-trigger-icon .greater-icon path{stroke:currentColor;stroke-width:5px}.menu__inner .menu__sub-inner-more li{margin-left:0;white-space:nowrap}.menu__inner .menu__sub-inner-more li:hover{background:rgba(0,0,0,.05);border-radius:3px;cursor:pointer}.menu__sub-inner-more li a{width:100%;display:inline-block;padding:10px}.menu-trigger{width:24px;height:24px;fill:currentColor;margin-left:10px;cursor:pointer}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Roboto,Segoe UI,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:500;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";line-height:1.54;background-color:#fff;background-color:var(--background);color:#222;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:683px){body{font-size:1rem}}h1,h2,h3,h4,h5,h6{line-height:1.3}h1{font-size:2.625rem}h2{font-size:1.625rem}h3{font-size:1.375rem}h4{font-size:1.125rem}@media (max-width:683px){h1{font-size:2rem}h2{font-size:1.4rem}h3{font-size:1.15rem}h4{font-size:1.125rem}}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:.9rem;margin-top:5px;opacity:.8}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;background:#eaeaea;background:var(--background-secondary);padding:1px 6px;margin:0 2px;border-radius:5px;font-size:.9rem;font-weight:400}code code,code kbd,kbd code,kbd kbd{background:transparent;padding:0;margin:0}pre{background:#212020;padding:20px;border-radius:8px;font-size:.9rem;overflow:auto}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;color:#ccc;margin:0;padding:0;font-size:inherit}blockquote{border-left:2px solid;margin:40px;padding:10px 20px}@media (max-width:683px){blockquote{margin:10px;padding:10px}}blockquote:before{content:"”";font-family:Georgia,serif;font-size:3.875rem;position:absolute;left:-40px;top:-20px}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0;border-radius:5px}table,td,th{border:1px solid;padding:10px}th{background:#eaeaea;background:var(--background-secondary)}ol,ul{margin-left:40px;padding:0}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{flex-direction:column;text-align:center}.container,.content{display:flex;justify-content:center}.content{flex-direction:column;flex:1 auto;align-items:center;margin:50px 0}@media (max-width:683px){.content{margin-top:0}}hr{width:100%;border:none;background:#dcdcdc;background:var(--border-color);height:1px}.hidden{display:none}.framed{padding:20px;border-radius:10px;border:1px solid #dcdcdc;border:1px solid var(--border-color);max-width:800px}blockquote.twitter-tweet{background:rgba(44,124,186,.1);border:none;padding:30px;color:inherit;font-size:inherit;line-height:inherit;border-radius:8px}.post{width:100%;max-width:800px;text-align:left;padding:20px;margin:20px auto}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px}@media (max-width:683px){.post-meta{font-size:.85rem}}.post-title{font-size:2.625rem;margin:0 0 20px}@media (max-width:683px){.post-title{font-size:2rem}}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{margin:40px -50px;width:860px;max-width:860px}.post-cover img{border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.15)}@media (max-width:899px){.post-cover{margin:20px 0;width:100%}}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:#fff;background:var(--background);color:#999;color:var(--color-secondary);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none;font-weight:700}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;background:#eaeaea;background:var(--background-secondary);font-size:1rem;font-weight:500;border-radius:8px;max-width:40%;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.footer{padding:40px 20px;flex-grow:0;color:#999;color:var(--color-secondary)}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0 auto;width:760px;max-width:100%}@media (max-width:899px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{display:flex;flex-direction:row;align-items:center;font-size:1rem}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>:first-child:not(:only-child){border-right:1px solid;padding-right:10px;margin-right:10px}@media (max-width:899px){.footer .copyright>:first-child:not(:only-child){border:none;padding:0;margin:0}}@media (max-width:899px){.footer .copyright{flex-direction:column;margin-top:10px}}.terms{width:100%;max-width:800px;text-align:left;padding:20px;margin:0 auto}.terms__list{padding:0 0 0 20px;margin:0}.terms__list a{text-decoration:none}.terms__term{margin-bottom:15px}.terms__term-count{background:#eaeaea;background:var(--background-secondary);font-size:12px;margin-left:5px;padding:2px 10px;border-radius:5px;text-decoration:none}.archive{width:100%;max-width:800px;text-align:left;padding:20px;margin:0 auto}.archive__group-month{display:flex;align-items:flex-start;padding:10px 0}@media (max-width:683px){.archive__group-month{flex-direction:column}}.archive__group-month:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__group-year{margin-top:40px}@media (max-width:683px){.archive__group-year{margin-top:20px}}.archive__group-year:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__group-year-header{margin:10px 0}.archive__group-month-header{margin:25px 0;width:200px;opacity:.5}@media (max-width:683px){.archive__group-month-header{margin:10px 0 0}}.archive__group-posts{width:100%}.archive__post{padding:20px 0}.archive__post:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__post-title{margin:5px 0}.archive__post-title a{display:block;text-decoration:none}code[class*=language-],pre[class*=language-]{background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-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:#212020!important;color:inherit!important;border-radius:8px}: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:hsla(0,0%,100%,.4)}.token.punctuation{color:#a9a9b3}.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}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar>.toolbar .toolbar-item{display:inline-block}div.code-toolbar>.toolbar a{cursor:pointer}div.code-toolbar>.toolbar button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:hsla(0,0%,87.8%,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.2);border-radius:.5em}div.code-toolbar>.toolbar a:focus,div.code-toolbar>.toolbar a:hover,div.code-toolbar>.toolbar button:focus,div.code-toolbar>.toolbar button:hover,div.code-toolbar>.toolbar span:focus,div.code-toolbar>.toolbar span:hover{color:inherit;text-decoration:none}.command-line-prompt{border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.command-line-prompt>span:before{color:#999;content:" ";display:block;padding-right:.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user=root]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)}.collapsable-code{position:relative;width:100%;margin:40px 0}.collapsable-code input[type=checkbox]{position:absolute;visibility:hidden}.collapsable-code input[type=checkbox]:checked~.code-toolbar pre,.collapsable-code input[type=checkbox]:checked~pre{height:0;padding:0;border-top:none}.collapsable-code input[type=checkbox]:checked~.code-toolbar{padding:0;border-top:none}.collapsable-code input[type=checkbox]:checked~.code-toolbar .toolbar{display:none}.collapsable-code input[type=checkbox]:checked~label{border-radius:10px}.collapsable-code input[type=checkbox]:checked~label .collapsable-code__toggle:after{content:attr(data-label-expand)}.collapsable-code label{position:relative;display:flex;justify-content:space-between;background:#eaeaea;background:var(--background-secondary);padding:10px;border-top-left-radius:10px;border-top-right-radius:10px;min-width:30px;min-height:30px;margin:0;cursor:pointer}.collapsable-code__title{flex:1;color:#222;color:var(--color);padding:3px 10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapsable-code__language{background:#fff;background:var(--background);color:#222;color:var(--color);border-radius:10px;padding:3px 10px}.collapsable-code__toggle{color:#222;color:var(--color);font-size:16px;padding:3px 10px}.collapsable-code__toggle:after{content:attr(data-label-collapse)}.collapsable-code pre{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.collapsable-code code:first-line,.collapsable-code pre:first-line{line-height:0}.collapsable-code .code-toolbar{margin:0} diff --git a/webpack.config.js b/webpack.config.js index b9da8e9..813059a 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -45,6 +45,7 @@ module.exports = (env, { mode }) => ({ loader: "url-loader", options: { limit: 8192, + name: '[name].[ext]' }, }, ], diff --git a/yarn.lock b/yarn.lock index 6b78b63..671b5ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5683,11 +5683,21 @@ prettier-eslint@^9.0.0: typescript "^3.2.1" vue-eslint-parser "^2.0.2" +prettier-plugin-go-template@^0.0.9: + version "0.0.9" + resolved "https://registry.yarnpkg.com/prettier-plugin-go-template/-/prettier-plugin-go-template-0.0.9.tgz#6d500e821a42d22de03a5d5e29c497c8f514f039" + integrity sha512-wjYU5Ofu7lrIOyXoidQCnZD8fj2yBv2GBHK3HWWhii5POkbPdpN+J3kByMx39SVbBQuPSC78WRNkma4jdencEw== + prettier@^1.7.0: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== +prettier@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.1.tgz#d9485dd5e499daa6cb547023b87a6cf51bee37d6" + integrity sha512-9bY+5ZWCfqj3ghYBLxApy2zf6m+NJo5GzmLTpr9FsApsfjriNnS2dahWReHMi7qNPhhHl9SYHJs2cHZLgexNIw== + pretty-error@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"